@capgo/cli 8.64.0 → 8.65.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +963 -903
- package/dist/notify-app-ready-worker.js +214 -217
- package/dist/onboarding-worker.js +317 -320
- package/dist/package.json +6 -4
- package/dist/src/api/versions.d.ts +3 -0
- package/dist/src/build/onboarding/android/ui/google-play-action.d.ts +18 -0
- package/dist/src/build/onboarding/telemetry.d.ts +1 -1
- package/dist/src/mcp/tool-schemas.d.ts +1 -1
- package/dist/src/schemas/build.d.ts +2 -2
- package/dist/src/schemas/sdk.d.ts +1 -1
- package/dist/src/sdk.js +444 -447
- package/dist/updater-installed-worker.js +193 -196
- package/package.json +6 -4
package/dist/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@capgo/cli",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "8.
|
|
4
|
+
"version": "8.65.0",
|
|
5
5
|
"description": "A CLI to upload to capgo servers",
|
|
6
6
|
"author": "Martin martin@capgo.app",
|
|
7
7
|
"license": "Apache 2.0",
|
|
@@ -89,8 +89,9 @@
|
|
|
89
89
|
"test:build-cancellation": "bun test/test-build-cancellation.mjs",
|
|
90
90
|
"test:ci-prompts": "bun test/test-ci-prompts.mjs",
|
|
91
91
|
"test:ci-secrets": "bun test/test-ci-secrets.mjs",
|
|
92
|
-
"test:android-onboarding-progress": "bun test/test-android-onboarding-progress.mjs",
|
|
92
|
+
"test:android-onboarding-progress": "bun test/test-android-onboarding-progress.mjs && bun test/test-android-select-guard.mjs",
|
|
93
93
|
"test:android-keystore-action": "bun test/test-android-keystore-action.mjs",
|
|
94
|
+
"test:android-google-play-action": "bun test/test-android-google-play-action.mjs",
|
|
94
95
|
"test:onboarding-telemetry": "bun test/test-onboarding-telemetry.mjs",
|
|
95
96
|
"test:v2-event-migration": "bun test/test-v2-event-migration.mjs",
|
|
96
97
|
"test:analytics": "bun test/test-analytics.mjs",
|
|
@@ -101,6 +102,7 @@
|
|
|
101
102
|
"test:analytics-org-resolver": "bun test/test-analytics-org-resolver.mjs",
|
|
102
103
|
"test:supabase-perf": "bun test/test-supabase-perf.mjs",
|
|
103
104
|
"test:preview-qr": "bun test/test-preview-qr.mjs",
|
|
105
|
+
"test:bundle-pages": "bun test test/test-bundle-pages.test.ts",
|
|
104
106
|
"test:mcp-analytics": "bun test/test-mcp-analytics.mjs",
|
|
105
107
|
"test:mcp-instructions": "bun test/test-mcp-instructions.mjs",
|
|
106
108
|
"test:mcp-stdout-guard": "bun test/test-mcp-stdout-guard.mjs",
|
|
@@ -189,7 +191,7 @@
|
|
|
189
191
|
"test:android-version": "bun test/test-android-version.mjs",
|
|
190
192
|
"test:platform-flow-contract": "bun test/test-platform-flow-contract.mjs",
|
|
191
193
|
"test:tail-engine-shared": "bun test/test-tail-engine-shared.mjs",
|
|
192
|
-
"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:cordova-upload-mode && 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:android-keystore-action && 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-add-getting-started && bun run test:app-list-output-text && bun run test:app-todo && 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:builder-app-selection && bun run test:builder-login-gate && 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-certificate-action && bun run test:ios-credential-action && 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",
|
|
194
|
+
"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:cordova-upload-mode && 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:android-keystore-action && bun run test:android-google-play-action && 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:bundle-pages && 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-add-getting-started && bun run test:app-list-output-text && bun run test:app-todo && 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:builder-app-selection && bun run test:builder-login-gate && 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-certificate-action && bun run test:ios-credential-action && 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",
|
|
193
195
|
"test:build-platform-selection": "bun test/test-build-platform-selection.mjs",
|
|
194
196
|
"test:builder-project-discovery": "bun test/test-builder-project-discovery.mjs",
|
|
195
197
|
"test:builder-app-selection": "bun test/test-builder-app-selection.mjs",
|
|
@@ -264,7 +266,7 @@
|
|
|
264
266
|
"rrweb-snapshot": "^2.1.1",
|
|
265
267
|
"string-width": "^8.2.2",
|
|
266
268
|
"typescript": "6.0.3",
|
|
267
|
-
"zod": "^4.4
|
|
269
|
+
"zod": "^4.5.4"
|
|
268
270
|
},
|
|
269
271
|
"optionalDependencies": {
|
|
270
272
|
"@capgo/cli-helper-darwin-arm64": "^1.1.1",
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import type { SupabaseClient } from '@supabase/supabase-js';
|
|
2
2
|
import type { Database } from '../types/supabase.types';
|
|
3
|
+
import { invokeCapgoCliApi } from '../utils';
|
|
3
4
|
interface VersionOptions {
|
|
4
5
|
silent?: boolean;
|
|
5
6
|
apikey?: string;
|
|
6
7
|
supaHost?: string;
|
|
7
8
|
supaAnon?: string;
|
|
9
|
+
/** Injectable for unit tests; defaults to invokeCapgoCliApi. */
|
|
10
|
+
invoke?: typeof invokeCapgoCliApi;
|
|
8
11
|
}
|
|
9
12
|
interface DeleteSpecificVersionOptions extends VersionOptions {
|
|
10
13
|
autoUnlink?: boolean;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ValidationResult } from '../service-account-validation.js';
|
|
2
|
+
import type { AndroidOnboardingProgress, AndroidOnboardingStep } from '../types.js';
|
|
3
|
+
import type { PreparationTrackAction } from '../../ui/preparation-action.js';
|
|
4
|
+
import type { Buffer } from 'node:buffer';
|
|
5
|
+
export type GooglePlayConnectionSource = 'imported_service_account' | 'generated_service_account';
|
|
6
|
+
export type GooglePlayConnectionFailureReason = 'shape_error' | 'file_read_error' | 'token_error' | 'no_app_access' | 'network_error' | 'missing_scopes' | 'oauth_failed' | 'provisioning_failed';
|
|
7
|
+
type FailedValidationKind = Extract<ValidationResult, {
|
|
8
|
+
ok: false;
|
|
9
|
+
}>['kind'];
|
|
10
|
+
type ImportedGooglePlayFailureKind = FailedValidationKind | 'file-read-error';
|
|
11
|
+
type TrackAction = PreparationTrackAction<AndroidOnboardingStep>;
|
|
12
|
+
export declare function trackConnectedGooglePlay(progress: AndroidOnboardingProgress, source: GooglePlayConnectionSource, journeyId: string, trackAction: TrackAction, reportedSuccesses: Set<string>): boolean;
|
|
13
|
+
export declare function trackImportedGooglePlayValidationFailure(kind: ImportedGooglePlayFailureKind, journeyId: string, trackAction: TrackAction): void;
|
|
14
|
+
export declare function readImportedGooglePlayCredentialFile(path: string, readCredentialFile: (path: string) => Promise<Buffer>, journeyId: string, trackAction: TrackAction, shouldReportFailure?: () => boolean): Promise<Buffer>;
|
|
15
|
+
export declare function trackGooglePlayConnectionFailure(source: GooglePlayConnectionSource, reason: GooglePlayConnectionFailureReason, step: AndroidOnboardingStep, journeyId: string, trackAction: TrackAction): void;
|
|
16
|
+
export declare function trackUnverifiedGooglePlayConnection(journeyId: string, trackAction: TrackAction): void;
|
|
17
|
+
export declare function trackGeneratedGooglePlayProvisioningFailure(savedProgress: AndroidOnboardingProgress | null, journeyId: string, trackAction: TrackAction, reportedSuccesses: Set<string>): boolean;
|
|
18
|
+
export {};
|
|
@@ -33,7 +33,7 @@ export interface TrackBuilderOnboardingStepInput {
|
|
|
33
33
|
errorCategory?: OnboardingErrorCategory | AndroidOnboardingErrorCategory;
|
|
34
34
|
replaySessionId?: string;
|
|
35
35
|
}
|
|
36
|
-
export type BuilderOnboardingAction = 'resume_prompt_decision' | 'question_shown' | 'question_answered' | 'question_skipped' | 'android_sa_method_selected' | 'android_sa_validation_recovery_selected' | 'android_sa_validation_result' | 'credential_verified' | 'credential_verification_failed' | 'certificate_prepared' | 'certificate_preparation_failed' | 'keystore_prepared' | 'keystore_preparation_failed';
|
|
36
|
+
export type BuilderOnboardingAction = 'resume_prompt_decision' | 'question_shown' | 'question_answered' | 'question_skipped' | 'android_sa_method_selected' | 'android_sa_validation_recovery_selected' | 'android_sa_validation_result' | 'credential_verified' | 'credential_verification_failed' | 'certificate_prepared' | 'certificate_preparation_failed' | 'keystore_prepared' | 'keystore_preparation_failed' | 'google_play_connected' | 'google_play_connection_failed' | 'google_play_connection_unverified';
|
|
37
37
|
export interface TrackBuilderOnboardingActionInput {
|
|
38
38
|
apikey: string;
|
|
39
39
|
appId: string;
|
|
@@ -160,7 +160,7 @@ export declare const mcpRequestBuildInputSchema: z.ZodObject<{
|
|
|
160
160
|
path: z.ZodOptional<z.ZodString>;
|
|
161
161
|
nodeModules: z.ZodOptional<z.ZodString>;
|
|
162
162
|
cache: z.ZodOptional<z.ZodBoolean>;
|
|
163
|
-
cacheKey: z.ZodPreprocess<z.ZodOptional<z.ZodString
|
|
163
|
+
cacheKey: z.ZodPreprocess<z.ZodOptional<z.ZodString>, unknown>;
|
|
164
164
|
}, z.core.$strip>;
|
|
165
165
|
export declare const mcpGenerateEncryptionKeysInputSchema: z.ZodObject<{
|
|
166
166
|
force: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -28,7 +28,7 @@ export declare const buildCredentialsSchema: z.ZodObject<{
|
|
|
28
28
|
}, z.core.$catchall<z.ZodOptional<z.ZodString>>>;
|
|
29
29
|
export type BuildCredentials = z.infer<typeof buildCredentialsSchema>;
|
|
30
30
|
export declare const buildCacheOptionSchema: z.ZodOptional<z.ZodBoolean>;
|
|
31
|
-
export declare const buildCacheKeyOptionSchema: z.ZodPreprocess<z.ZodOptional<z.ZodString
|
|
31
|
+
export declare const buildCacheKeyOptionSchema: z.ZodPreprocess<z.ZodOptional<z.ZodString>, unknown>;
|
|
32
32
|
export declare const buildRequestOptionsSchema: z.ZodObject<{
|
|
33
33
|
apikey: z.ZodString;
|
|
34
34
|
supaHost: z.ZodOptional<z.ZodString>;
|
|
@@ -111,7 +111,7 @@ export declare const buildRequestOptionsSchema: z.ZodObject<{
|
|
|
111
111
|
failOnWarnings: z.ZodOptional<z.ZodBoolean>;
|
|
112
112
|
builderJourneyId: z.ZodOptional<z.ZodString>;
|
|
113
113
|
cache: z.ZodOptional<z.ZodBoolean>;
|
|
114
|
-
cacheKey: z.ZodPreprocess<z.ZodOptional<z.ZodString
|
|
114
|
+
cacheKey: z.ZodPreprocess<z.ZodOptional<z.ZodString>, unknown>;
|
|
115
115
|
}, z.core.$strip>;
|
|
116
116
|
export type BuildRequestOptions = z.infer<typeof buildRequestOptionsSchema>;
|
|
117
117
|
export declare const buildNeededOptionsSchema: z.ZodObject<{
|
|
@@ -411,7 +411,7 @@ export declare const requestBuildOptionsSchema: z.ZodObject<{
|
|
|
411
411
|
prescanSkip: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
412
412
|
prescanWarn: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
413
413
|
cache: z.ZodOptional<z.ZodBoolean>;
|
|
414
|
-
cacheKey: z.ZodPreprocess<z.ZodOptional<z.ZodString
|
|
414
|
+
cacheKey: z.ZodPreprocess<z.ZodOptional<z.ZodString>, unknown>;
|
|
415
415
|
}, z.core.$strip>;
|
|
416
416
|
export type RequestBuildOptions = z.infer<typeof requestBuildOptionsSchema>;
|
|
417
417
|
export declare const currentBundleOptionsSchema: z.ZodObject<{
|