@capgo/cli 8.33.1 → 8.33.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.
package/dist/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@capgo/cli",
3
3
  "type": "module",
4
- "version": "8.33.1",
4
+ "version": "8.33.2",
5
5
  "description": "A CLI to upload to capgo servers",
6
6
  "author": "Martin martin@capgo.app",
7
7
  "license": "Apache 2.0",
@@ -26,6 +26,12 @@ export type { CredentialFile, SavedCredentials } from '../schemas/build';
26
26
  export declare function parseOutputRetentionSeconds(raw: string): number;
27
27
  export declare function parseOptionalBoolean(value: boolean | string | undefined): boolean;
28
28
  export declare function parseInAppUpdatePriority(value: number | string): number;
29
+ export declare const ANDROID_PLAY_STORE_TRACKS: readonly ["internal", "alpha", "beta", "production"];
30
+ export type AndroidPlayStoreTrack = typeof ANDROID_PLAY_STORE_TRACKS[number];
31
+ export declare const ANDROID_PLAY_STORE_RELEASE_STATUSES: readonly ["draft", "completed", "inProgress", "halted"];
32
+ export type AndroidPlayStoreReleaseStatus = typeof ANDROID_PLAY_STORE_RELEASE_STATUSES[number];
33
+ export declare function parseAndroidPlayStoreTrack(value: string): AndroidPlayStoreTrack;
34
+ export declare function parseAndroidPlayStoreReleaseStatus(value: string): AndroidPlayStoreReleaseStatus;
29
35
  /**
30
36
  * Load saved credentials for a specific app
31
37
  * Checks local file first, then global file
@@ -1,5 +1,5 @@
1
1
  import type { TailProgress } from '../tail-types.js';
2
- export type AndroidOnboardingStep = 'welcome' | 'resume-prompt' | 'credentials-exist' | 'backing-up' | 'no-platform' | 'keystore-method-select' | 'keystore-explainer' | 'keystore-existing-path' | 'keystore-existing-picker' | 'keystore-existing-store-password' | 'keystore-existing-detecting-alias' | 'keystore-existing-alias-select' | 'keystore-existing-alias' | 'keystore-existing-key-password' | 'keystore-new-alias' | 'keystore-new-password-method' | 'keystore-new-store-password' | 'keystore-new-key-password' | 'keystore-new-cn' | 'keystore-generating' | 'service-account-method-select' | 'sa-json-existing-path' | 'sa-json-existing-picker' | 'sa-json-validating' | 'sa-json-validation-failed' | 'google-sign-in' | 'google-sign-in-running' | 'play-developer-id-input' | 'gcp-projects-loading' | 'gcp-projects-select' | 'gcp-project-create-name' | 'android-package-select' | 'android-app-verify' | 'gcp-setup-running' | 'saving-credentials' | 'detecting-ci-secrets' | 'ci-secrets-setup' | 'ci-secrets-target-select' | 'ask-ci-secrets' | 'checking-ci-secrets' | 'confirm-ci-secret-overwrite' | 'uploading-ci-secrets' | 'ci-secrets-failed' | 'ask-github-actions-setup' | 'confirm-secrets-push' | 'ask-export-env' | 'exporting-env' | 'confirm-env-export-overwrite' | 'overwrite-and-export-env' | 'pick-package-manager' | 'pick-build-script' | 'pick-build-script-custom' | 'preview-workflow-file' | 'view-workflow-diff' | 'writing-workflow-file' | 'ask-build' | 'requesting-build' | 'ai-analysis-prompt' | 'ai-analysis-running' | 'ai-analysis-result' | 'ai-analysis-result-scroll' | 'build-complete' | 'error' | 'support-confirm' | 'support-log-view' | 'support-uploading';
2
+ export type AndroidOnboardingStep = 'welcome' | 'resume-prompt' | 'credentials-exist' | 'backing-up' | 'no-platform' | 'keystore-method-select' | 'keystore-explainer' | 'keystore-existing-path' | 'keystore-existing-picker' | 'keystore-existing-store-password' | 'keystore-existing-detecting-alias' | 'keystore-existing-alias-select' | 'keystore-existing-alias' | 'keystore-existing-key-password' | 'keystore-new-alias' | 'keystore-new-password-method' | 'keystore-new-store-password' | 'keystore-new-key-password' | 'keystore-new-cn' | 'keystore-generating' | 'service-account-method-select' | 'sa-json-existing-path' | 'sa-json-existing-picker' | 'sa-json-validating' | 'sa-json-validation-failed' | 'google-sign-in' | 'google-sign-in-running' | 'play-developer-id-input' | 'gcp-projects-loading' | 'gcp-projects-select' | 'gcp-project-create-name' | 'android-package-select' | 'android-app-verify' | 'gcp-setup-running' | 'saving-credentials' | 'detecting-ci-secrets' | 'ci-secrets-setup' | 'ci-secrets-target-select' | 'ask-ci-secrets' | 'checking-ci-secrets' | 'confirm-ci-secret-overwrite' | 'uploading-ci-secrets' | 'ci-secrets-failed' | 'ask-github-actions-setup' | 'confirm-secrets-push' | 'ask-export-env' | 'exporting-env' | 'confirm-env-export-overwrite' | 'overwrite-and-export-env' | 'pick-package-manager' | 'pick-build-script' | 'pick-build-script-custom' | 'preview-workflow-file' | 'view-workflow-diff' | 'writing-workflow-file' | 'ask-build' | 'requesting-build' | 'build-log-view' | 'ai-analysis-prompt' | 'ai-analysis-running' | 'ai-analysis-result' | 'ai-analysis-result-scroll' | 'build-complete' | 'error' | 'support-confirm' | 'support-log-view' | 'support-uploading';
3
3
  export type AndroidOnboardingErrorCategory = 'keystore_invalid' | 'google_oauth_failed' | 'play_account_id_invalid' | 'sa_json_shape_invalid' | 'sa_json_token_rejected' | 'sa_json_no_app_access' | 'sa_json_network_error' | 'unknown';
4
4
  export type KeystoreMethod = 'existing' | 'generate';
5
5
  export type ServiceAccountMethod = 'existing' | 'generate';
@@ -17,7 +17,7 @@ export interface OnboardingResult {
17
17
  /** Present only when outcome === 'completed'. */
18
18
  summary?: OnboardingCompletionSummary;
19
19
  }
20
- export type OnboardingStep = 'welcome' | 'resume-prompt' | 'platform-select' | 'adding-platform' | 'credentials-exist' | 'backing-up' | 'setup-method-select' | 'import-scanning' | 'import-distribution-mode' | 'import-pick-identity' | 'import-pick-profile' | 'import-validating-all-certs' | 'import-checking-apple-cert' | 'import-no-match-recovery' | 'import-portal-explanation' | 'import-provide-profile-path' | 'import-create-profile-only' | 'import-export-warning' | 'import-exporting' | 'p8-source-select' | 'asc-key-generating' | 'asc-key-created' | 'api-key-instructions' | 'p8-method-select' | 'input-p8-path' | 'input-key-id' | 'input-issuer-id' | 'verifying-key' | 'verify-app' | 'creating-certificate' | 'cert-limit-prompt' | 'revoking-certificate' | 'creating-profile' | 'duplicate-profile-prompt' | 'deleting-duplicate-profiles' | 'saving-credentials' | 'detecting-ci-secrets' | 'ci-secrets-setup' | 'ci-secrets-target-select' | 'ask-ci-secrets' | 'checking-ci-secrets' | 'confirm-ci-secret-overwrite' | 'uploading-ci-secrets' | 'ci-secrets-failed' | 'ask-github-actions-setup' | 'confirm-secrets-push' | 'ask-export-env' | 'exporting-env' | 'confirm-env-export-overwrite' | 'overwrite-and-export-env' | 'pick-package-manager' | 'pick-build-script' | 'pick-build-script-custom' | 'preview-workflow-file' | 'view-workflow-diff' | 'writing-workflow-file' | 'ask-build' | 'requesting-build' | 'ai-analysis-prompt' | 'ai-analysis-running' | 'ai-analysis-result' | 'ai-analysis-result-scroll' | 'build-complete' | 'no-platform' | 'error' | 'support-confirm' | 'support-log-view' | 'support-uploading';
20
+ export type OnboardingStep = 'welcome' | 'resume-prompt' | 'platform-select' | 'adding-platform' | 'credentials-exist' | 'backing-up' | 'setup-method-select' | 'import-scanning' | 'import-distribution-mode' | 'import-pick-identity' | 'import-pick-profile' | 'import-validating-all-certs' | 'import-checking-apple-cert' | 'import-no-match-recovery' | 'import-portal-explanation' | 'import-provide-profile-path' | 'import-create-profile-only' | 'import-export-warning' | 'import-exporting' | 'p8-source-select' | 'asc-key-generating' | 'asc-key-created' | 'api-key-instructions' | 'p8-method-select' | 'input-p8-path' | 'input-key-id' | 'input-issuer-id' | 'verifying-key' | 'verify-app' | 'creating-certificate' | 'cert-limit-prompt' | 'revoking-certificate' | 'creating-profile' | 'duplicate-profile-prompt' | 'deleting-duplicate-profiles' | 'saving-credentials' | 'detecting-ci-secrets' | 'ci-secrets-setup' | 'ci-secrets-target-select' | 'ask-ci-secrets' | 'checking-ci-secrets' | 'confirm-ci-secret-overwrite' | 'uploading-ci-secrets' | 'ci-secrets-failed' | 'ask-github-actions-setup' | 'confirm-secrets-push' | 'ask-export-env' | 'exporting-env' | 'confirm-env-export-overwrite' | 'overwrite-and-export-env' | 'pick-package-manager' | 'pick-build-script' | 'pick-build-script-custom' | 'preview-workflow-file' | 'view-workflow-diff' | 'writing-workflow-file' | 'ask-build' | 'requesting-build' | 'build-log-view' | 'ai-analysis-prompt' | 'ai-analysis-running' | 'ai-analysis-result' | 'ai-analysis-result-scroll' | 'build-complete' | 'no-platform' | 'error' | 'support-confirm' | 'support-log-view' | 'support-uploading';
21
21
  export type OnboardingErrorCategory = 'apple_api_unauthorized' | 'apple_api_forbidden' | 'apple_agreements_missing' | 'apple_api_rate_limited' | 'cert_limit_reached' | 'profile_creation_failed' | 'p8_invalid' | 'keychain_no_identities' | 'keychain_export_failed' | 'profile_no_match' | 'profile_read_failed' | 'unknown';
22
22
  export interface ApiKeyData {
23
23
  keyId: string;
@@ -144,6 +144,7 @@ export declare const FullscreenBuildOutput: FC<{
144
144
  title: string;
145
145
  lines: string[];
146
146
  terminalRows: number;
147
+ onExit?: () => void;
147
148
  }>;
148
149
  /**
149
150
  * Minimal bordered table component for the confirm-secrets-push step.
@@ -36,7 +36,7 @@ export interface ErrorStepProps {
36
36
  }
37
37
  export declare const ErrorStep: FC<ErrorStepProps>;
38
38
  export interface AiAnalysisPromptStepProps {
39
- onChoose: (choice: 'debug' | 'skip' | 'support') => void;
39
+ onChoose: (choice: 'debug' | 'logs' | 'skip' | 'support') => void;
40
40
  dense?: boolean;
41
41
  }
42
42
  export declare const AiAnalysisPromptStep: FC<AiAnalysisPromptStepProps>;
@@ -22,6 +22,8 @@ export declare const buildCredentialsSchema: z.ZodObject<{
22
22
  KEYSTORE_KEY_PASSWORD: z.ZodOptional<z.ZodString>;
23
23
  KEYSTORE_STORE_PASSWORD: z.ZodOptional<z.ZodString>;
24
24
  PLAY_CONFIG_JSON: z.ZodOptional<z.ZodString>;
25
+ PLAY_STORE_TRACK: z.ZodOptional<z.ZodString>;
26
+ PLAY_STORE_RELEASE_STATUS: z.ZodOptional<z.ZodString>;
25
27
  PLAY_STORE_IN_APP_UPDATE_PRIORITY: z.ZodOptional<z.ZodString>;
26
28
  }, z.core.$catchall<z.ZodOptional<z.ZodString>>>;
27
29
  export type BuildCredentials = z.infer<typeof buildCredentialsSchema>;
@@ -63,6 +65,18 @@ export declare const buildRequestOptionsSchema: z.ZodObject<{
63
65
  keystoreStorePassword: z.ZodOptional<z.ZodString>;
64
66
  playConfigJson: z.ZodOptional<z.ZodString>;
65
67
  androidFlavor: z.ZodOptional<z.ZodString>;
68
+ androidTrack: z.ZodOptional<z.ZodEnum<{
69
+ internal: "internal";
70
+ alpha: "alpha";
71
+ beta: "beta";
72
+ production: "production";
73
+ }>>;
74
+ androidReleaseStatus: z.ZodOptional<z.ZodEnum<{
75
+ draft: "draft";
76
+ completed: "completed";
77
+ inProgress: "inProgress";
78
+ halted: "halted";
79
+ }>>;
66
80
  inAppUpdatePriority: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodPipe<z.ZodString, z.ZodTransform<number, string>>]>>;
67
81
  storeReleaseNotesLocale: z.ZodOptional<z.ZodArray<z.ZodString>>;
68
82
  iosAutomaticRelease: z.ZodOptional<z.ZodBoolean>;
@@ -184,6 +198,8 @@ export declare const savedCredentialsSchema: z.ZodObject<{
184
198
  KEYSTORE_KEY_PASSWORD: z.ZodOptional<z.ZodOptional<z.ZodString>>;
185
199
  KEYSTORE_STORE_PASSWORD: z.ZodOptional<z.ZodOptional<z.ZodString>>;
186
200
  PLAY_CONFIG_JSON: z.ZodOptional<z.ZodOptional<z.ZodString>>;
201
+ PLAY_STORE_TRACK: z.ZodOptional<z.ZodOptional<z.ZodString>>;
202
+ PLAY_STORE_RELEASE_STATUS: z.ZodOptional<z.ZodOptional<z.ZodString>>;
187
203
  PLAY_STORE_IN_APP_UPDATE_PRIORITY: z.ZodOptional<z.ZodOptional<z.ZodString>>;
188
204
  }, z.core.$catchall<z.ZodOptional<z.ZodString>>>>;
189
205
  android: z.ZodOptional<z.ZodObject<{
@@ -209,6 +225,8 @@ export declare const savedCredentialsSchema: z.ZodObject<{
209
225
  KEYSTORE_KEY_PASSWORD: z.ZodOptional<z.ZodOptional<z.ZodString>>;
210
226
  KEYSTORE_STORE_PASSWORD: z.ZodOptional<z.ZodOptional<z.ZodString>>;
211
227
  PLAY_CONFIG_JSON: z.ZodOptional<z.ZodOptional<z.ZodString>>;
228
+ PLAY_STORE_TRACK: z.ZodOptional<z.ZodOptional<z.ZodString>>;
229
+ PLAY_STORE_RELEASE_STATUS: z.ZodOptional<z.ZodOptional<z.ZodString>>;
212
230
  PLAY_STORE_IN_APP_UPDATE_PRIORITY: z.ZodOptional<z.ZodOptional<z.ZodString>>;
213
231
  }, z.core.$catchall<z.ZodOptional<z.ZodString>>>>;
214
232
  }, z.core.$strip>;
@@ -237,6 +255,8 @@ export declare const allCredentialsSchema: z.ZodRecord<z.ZodString, z.ZodObject<
237
255
  KEYSTORE_KEY_PASSWORD: z.ZodOptional<z.ZodOptional<z.ZodString>>;
238
256
  KEYSTORE_STORE_PASSWORD: z.ZodOptional<z.ZodOptional<z.ZodString>>;
239
257
  PLAY_CONFIG_JSON: z.ZodOptional<z.ZodOptional<z.ZodString>>;
258
+ PLAY_STORE_TRACK: z.ZodOptional<z.ZodOptional<z.ZodString>>;
259
+ PLAY_STORE_RELEASE_STATUS: z.ZodOptional<z.ZodOptional<z.ZodString>>;
240
260
  PLAY_STORE_IN_APP_UPDATE_PRIORITY: z.ZodOptional<z.ZodOptional<z.ZodString>>;
241
261
  }, z.core.$catchall<z.ZodOptional<z.ZodString>>>>;
242
262
  android: z.ZodOptional<z.ZodObject<{
@@ -262,6 +282,8 @@ export declare const allCredentialsSchema: z.ZodRecord<z.ZodString, z.ZodObject<
262
282
  KEYSTORE_KEY_PASSWORD: z.ZodOptional<z.ZodOptional<z.ZodString>>;
263
283
  KEYSTORE_STORE_PASSWORD: z.ZodOptional<z.ZodOptional<z.ZodString>>;
264
284
  PLAY_CONFIG_JSON: z.ZodOptional<z.ZodOptional<z.ZodString>>;
285
+ PLAY_STORE_TRACK: z.ZodOptional<z.ZodOptional<z.ZodString>>;
286
+ PLAY_STORE_RELEASE_STATUS: z.ZodOptional<z.ZodOptional<z.ZodString>>;
265
287
  PLAY_STORE_IN_APP_UPDATE_PRIORITY: z.ZodOptional<z.ZodOptional<z.ZodString>>;
266
288
  }, z.core.$catchall<z.ZodOptional<z.ZodString>>>>;
267
289
  }, z.core.$strip>>;
@@ -359,8 +359,22 @@ export declare const requestBuildOptionsSchema: z.ZodObject<{
359
359
  KEYSTORE_KEY_PASSWORD: z.ZodOptional<z.ZodString>;
360
360
  KEYSTORE_STORE_PASSWORD: z.ZodOptional<z.ZodString>;
361
361
  PLAY_CONFIG_JSON: z.ZodOptional<z.ZodString>;
362
+ PLAY_STORE_TRACK: z.ZodOptional<z.ZodString>;
363
+ PLAY_STORE_RELEASE_STATUS: z.ZodOptional<z.ZodString>;
362
364
  PLAY_STORE_IN_APP_UPDATE_PRIORITY: z.ZodOptional<z.ZodString>;
363
365
  }, z.core.$catchall<z.ZodOptional<z.ZodString>>>>;
366
+ androidTrack: z.ZodOptional<z.ZodEnum<{
367
+ internal: "internal";
368
+ alpha: "alpha";
369
+ beta: "beta";
370
+ production: "production";
371
+ }>>;
372
+ androidReleaseStatus: z.ZodOptional<z.ZodEnum<{
373
+ draft: "draft";
374
+ completed: "completed";
375
+ inProgress: "inProgress";
376
+ halted: "halted";
377
+ }>>;
364
378
  submitToStoreReview: z.ZodOptional<z.ZodBoolean>;
365
379
  storeReleaseName: z.ZodOptional<z.ZodString>;
366
380
  storeReleaseNotes: z.ZodOptional<z.ZodString>;