@capgo/cli 7.81.2 → 7.83.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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@capgo/cli",
3
3
  "type": "module",
4
- "version": "7.81.2",
4
+ "version": "7.83.0",
5
5
  "description": "A CLI to upload to capgo servers",
6
6
  "author": "Martin martin@capgo.app",
7
7
  "license": "Apache 2.0",
@@ -70,7 +70,8 @@
70
70
  "test:version-detection": "node test/test-get-installed-version.mjs",
71
71
  "test:version-detection:setup": "./test/fixtures/setup-test-projects.sh",
72
72
  "test:platform-paths": "bun test/test-platform-paths.mjs",
73
- "test": "bun run test:bundle && bun run test:functional && bun run test:semver && bun run test:version-edge-cases && bun run test:regex && bun run test:upload && bun run test:credentials && bun run test:credentials-validation && bun run test:build-zip-filter && bun run test:checksum && bun run test:esm-sdk && bun run test:mcp && bun run test:version-detection && bun run test:platform-paths"
73
+ "test:payload-split": "bun test/test-payload-split.mjs",
74
+ "test": "bun run test:bundle && bun run test:functional && bun run test:semver && bun run test:version-edge-cases && bun run test:regex && bun run test:upload && bun run test:credentials && bun run test:credentials-validation && bun run test:build-zip-filter && bun run test:checksum && bun run test:esm-sdk && bun run test:mcp && bun run test:version-detection && bun run test:platform-paths && bun run test:payload-split"
74
75
  },
75
76
  "devDependencies": {
76
77
  "@antfu/eslint-config": "^7.0.0",
@@ -14,6 +14,7 @@ interface SaveCredentialsOptions {
14
14
  appleIssuerId?: string;
15
15
  appleProfileName?: string;
16
16
  appleTeamId?: string;
17
+ iosDistribution?: 'app_store' | 'ad_hoc';
17
18
  keystore?: string;
18
19
  keystoreAlias?: string;
19
20
  keystoreKeyPassword?: string;
@@ -25,7 +25,7 @@
25
25
  * - Credentials stored in ~/.capgo/credentials.json (local machine only)
26
26
  * - Use `build credentials clear` to remove saved credentials
27
27
  */
28
- import type { BuildRequestOptions, BuildRequestResult } from '../schemas/build';
28
+ import type { BuildOptionsPayload, BuildRequestOptions, BuildRequestResult } from '../schemas/build';
29
29
  export type { BuildCredentials, BuildRequestOptions, BuildRequestResponse, BuildRequestResult } from '../schemas/build';
30
30
  /**
31
31
  * Extract native node_modules roots that contain platform folders.
@@ -63,5 +63,16 @@ export declare function zipDirectory(projectDir: string, outputPath: string, pla
63
63
  * - NEVER stored permanently on Capgo servers
64
64
  * - Build outputs may optionally be uploaded for time-limited download links
65
65
  */
66
+ /** Keys that are non-secret build options and should NOT be sent in the credentials blob. */
67
+ export declare const NON_CREDENTIAL_KEYS: Set<string>;
68
+ /**
69
+ * Split merged credentials into a build options payload and a credentials-only payload.
70
+ * Non-secret configuration keys (schemes, directories, output control) go into buildOptions.
71
+ * Only actual secrets (certificates, passwords, API keys) remain in buildCredentials.
72
+ */
73
+ export declare function splitPayload(mergedCredentials: Record<string, string | undefined>, platform: 'ios' | 'android', buildMode: string, cliVersion: string): {
74
+ buildOptions: BuildOptionsPayload;
75
+ buildCredentials: Record<string, string>;
76
+ };
66
77
  export declare function requestBuildInternal(appId: string, options: BuildRequestOptions, silent?: boolean): Promise<BuildRequestResult>;
67
78
  export declare function requestBuildCommand(appId: string, options: BuildRequestOptions): Promise<void>;
@@ -9,16 +9,11 @@ export declare const buildCredentialsSchema: z.ZodObject<{
9
9
  APPLE_KEY_CONTENT: z.ZodOptional<z.ZodString>;
10
10
  APPLE_PROFILE_NAME: z.ZodOptional<z.ZodString>;
11
11
  APP_STORE_CONNECT_TEAM_ID: z.ZodOptional<z.ZodString>;
12
- CAPGO_IOS_SCHEME: z.ZodOptional<z.ZodString>;
13
- CAPGO_IOS_TARGET: z.ZodOptional<z.ZodString>;
14
12
  ANDROID_KEYSTORE_FILE: z.ZodOptional<z.ZodString>;
15
13
  KEYSTORE_KEY_ALIAS: z.ZodOptional<z.ZodString>;
16
14
  KEYSTORE_KEY_PASSWORD: z.ZodOptional<z.ZodString>;
17
15
  KEYSTORE_STORE_PASSWORD: z.ZodOptional<z.ZodString>;
18
16
  PLAY_CONFIG_JSON: z.ZodOptional<z.ZodString>;
19
- BUILD_OUTPUT_UPLOAD_ENABLED: z.ZodOptional<z.ZodString>;
20
- BUILD_OUTPUT_RETENTION_SECONDS: z.ZodOptional<z.ZodString>;
21
- SKIP_BUILD_NUMBER_BUMP: z.ZodOptional<z.ZodString>;
22
17
  }, z.core.$catchall<z.ZodOptional<z.ZodString>>>;
23
18
  export type BuildCredentials = z.infer<typeof buildCredentialsSchema>;
24
19
  export declare const buildRequestOptionsSchema: z.ZodObject<{
@@ -46,6 +41,10 @@ export declare const buildRequestOptionsSchema: z.ZodObject<{
46
41
  appStoreConnectTeamId: z.ZodOptional<z.ZodString>;
47
42
  iosScheme: z.ZodOptional<z.ZodString>;
48
43
  iosTarget: z.ZodOptional<z.ZodString>;
44
+ iosDistribution: z.ZodOptional<z.ZodEnum<{
45
+ app_store: "app_store";
46
+ ad_hoc: "ad_hoc";
47
+ }>>;
49
48
  androidKeystoreFile: z.ZodOptional<z.ZodString>;
50
49
  keystoreKeyAlias: z.ZodOptional<z.ZodString>;
51
50
  keystoreKeyPassword: z.ZodOptional<z.ZodString>;
@@ -80,6 +79,33 @@ export declare const buildRequestResultSchema: z.ZodObject<{
80
79
  error: z.ZodOptional<z.ZodString>;
81
80
  }, z.core.$strip>;
82
81
  export type BuildRequestResult = z.infer<typeof buildRequestResultSchema>;
82
+ export declare const buildOptionsPayloadSchema: z.ZodObject<{
83
+ platform: z.ZodEnum<{
84
+ ios: "ios";
85
+ android: "android";
86
+ }>;
87
+ buildMode: z.ZodEnum<{
88
+ debug: "debug";
89
+ release: "release";
90
+ }>;
91
+ cliVersion: z.ZodString;
92
+ iosScheme: z.ZodOptional<z.ZodString>;
93
+ iosTarget: z.ZodOptional<z.ZodString>;
94
+ iosDistribution: z.ZodOptional<z.ZodEnum<{
95
+ app_store: "app_store";
96
+ ad_hoc: "ad_hoc";
97
+ }>>;
98
+ iosSourceDir: z.ZodOptional<z.ZodString>;
99
+ iosAppDir: z.ZodOptional<z.ZodString>;
100
+ iosProjectDir: z.ZodOptional<z.ZodString>;
101
+ androidSourceDir: z.ZodOptional<z.ZodString>;
102
+ androidAppDir: z.ZodOptional<z.ZodString>;
103
+ androidProjectDir: z.ZodOptional<z.ZodString>;
104
+ outputUploadEnabled: z.ZodBoolean;
105
+ outputRetentionSeconds: z.ZodNumber;
106
+ skipBuildNumberBump: z.ZodBoolean;
107
+ }, z.core.$strip>;
108
+ export type BuildOptionsPayload = z.infer<typeof buildOptionsPayloadSchema>;
83
109
  export declare const credentialFileSchema: z.ZodObject<{
84
110
  BUILD_CERTIFICATE_FILE: z.ZodOptional<z.ZodString>;
85
111
  BUILD_PROVISION_PROFILE_FILE: z.ZodOptional<z.ZodString>;
@@ -100,16 +126,11 @@ export declare const savedCredentialsSchema: z.ZodObject<{
100
126
  APPLE_KEY_CONTENT: z.ZodOptional<z.ZodOptional<z.ZodString>>;
101
127
  APPLE_PROFILE_NAME: z.ZodOptional<z.ZodOptional<z.ZodString>>;
102
128
  APP_STORE_CONNECT_TEAM_ID: z.ZodOptional<z.ZodOptional<z.ZodString>>;
103
- CAPGO_IOS_SCHEME: z.ZodOptional<z.ZodOptional<z.ZodString>>;
104
- CAPGO_IOS_TARGET: z.ZodOptional<z.ZodOptional<z.ZodString>>;
105
129
  ANDROID_KEYSTORE_FILE: z.ZodOptional<z.ZodOptional<z.ZodString>>;
106
130
  KEYSTORE_KEY_ALIAS: z.ZodOptional<z.ZodOptional<z.ZodString>>;
107
131
  KEYSTORE_KEY_PASSWORD: z.ZodOptional<z.ZodOptional<z.ZodString>>;
108
132
  KEYSTORE_STORE_PASSWORD: z.ZodOptional<z.ZodOptional<z.ZodString>>;
109
133
  PLAY_CONFIG_JSON: z.ZodOptional<z.ZodOptional<z.ZodString>>;
110
- BUILD_OUTPUT_UPLOAD_ENABLED: z.ZodOptional<z.ZodOptional<z.ZodString>>;
111
- BUILD_OUTPUT_RETENTION_SECONDS: z.ZodOptional<z.ZodOptional<z.ZodString>>;
112
- SKIP_BUILD_NUMBER_BUMP: z.ZodOptional<z.ZodOptional<z.ZodString>>;
113
134
  }, z.core.$catchall<z.ZodOptional<z.ZodString>>>>;
114
135
  android: z.ZodOptional<z.ZodObject<{
115
136
  BUILD_CERTIFICATE_BASE64: z.ZodOptional<z.ZodOptional<z.ZodString>>;
@@ -121,16 +142,11 @@ export declare const savedCredentialsSchema: z.ZodObject<{
121
142
  APPLE_KEY_CONTENT: z.ZodOptional<z.ZodOptional<z.ZodString>>;
122
143
  APPLE_PROFILE_NAME: z.ZodOptional<z.ZodOptional<z.ZodString>>;
123
144
  APP_STORE_CONNECT_TEAM_ID: z.ZodOptional<z.ZodOptional<z.ZodString>>;
124
- CAPGO_IOS_SCHEME: z.ZodOptional<z.ZodOptional<z.ZodString>>;
125
- CAPGO_IOS_TARGET: z.ZodOptional<z.ZodOptional<z.ZodString>>;
126
145
  ANDROID_KEYSTORE_FILE: z.ZodOptional<z.ZodOptional<z.ZodString>>;
127
146
  KEYSTORE_KEY_ALIAS: z.ZodOptional<z.ZodOptional<z.ZodString>>;
128
147
  KEYSTORE_KEY_PASSWORD: z.ZodOptional<z.ZodOptional<z.ZodString>>;
129
148
  KEYSTORE_STORE_PASSWORD: z.ZodOptional<z.ZodOptional<z.ZodString>>;
130
149
  PLAY_CONFIG_JSON: z.ZodOptional<z.ZodOptional<z.ZodString>>;
131
- BUILD_OUTPUT_UPLOAD_ENABLED: z.ZodOptional<z.ZodOptional<z.ZodString>>;
132
- BUILD_OUTPUT_RETENTION_SECONDS: z.ZodOptional<z.ZodOptional<z.ZodString>>;
133
- SKIP_BUILD_NUMBER_BUMP: z.ZodOptional<z.ZodOptional<z.ZodString>>;
134
150
  }, z.core.$catchall<z.ZodOptional<z.ZodString>>>>;
135
151
  }, z.core.$strip>;
136
152
  export type SavedCredentials = z.infer<typeof savedCredentialsSchema>;
@@ -145,16 +161,11 @@ export declare const allCredentialsSchema: z.ZodRecord<z.ZodString, z.ZodObject<
145
161
  APPLE_KEY_CONTENT: z.ZodOptional<z.ZodOptional<z.ZodString>>;
146
162
  APPLE_PROFILE_NAME: z.ZodOptional<z.ZodOptional<z.ZodString>>;
147
163
  APP_STORE_CONNECT_TEAM_ID: z.ZodOptional<z.ZodOptional<z.ZodString>>;
148
- CAPGO_IOS_SCHEME: z.ZodOptional<z.ZodOptional<z.ZodString>>;
149
- CAPGO_IOS_TARGET: z.ZodOptional<z.ZodOptional<z.ZodString>>;
150
164
  ANDROID_KEYSTORE_FILE: z.ZodOptional<z.ZodOptional<z.ZodString>>;
151
165
  KEYSTORE_KEY_ALIAS: z.ZodOptional<z.ZodOptional<z.ZodString>>;
152
166
  KEYSTORE_KEY_PASSWORD: z.ZodOptional<z.ZodOptional<z.ZodString>>;
153
167
  KEYSTORE_STORE_PASSWORD: z.ZodOptional<z.ZodOptional<z.ZodString>>;
154
168
  PLAY_CONFIG_JSON: z.ZodOptional<z.ZodOptional<z.ZodString>>;
155
- BUILD_OUTPUT_UPLOAD_ENABLED: z.ZodOptional<z.ZodOptional<z.ZodString>>;
156
- BUILD_OUTPUT_RETENTION_SECONDS: z.ZodOptional<z.ZodOptional<z.ZodString>>;
157
- SKIP_BUILD_NUMBER_BUMP: z.ZodOptional<z.ZodOptional<z.ZodString>>;
158
169
  }, z.core.$catchall<z.ZodOptional<z.ZodString>>>>;
159
170
  android: z.ZodOptional<z.ZodObject<{
160
171
  BUILD_CERTIFICATE_BASE64: z.ZodOptional<z.ZodOptional<z.ZodString>>;
@@ -166,16 +177,11 @@ export declare const allCredentialsSchema: z.ZodRecord<z.ZodString, z.ZodObject<
166
177
  APPLE_KEY_CONTENT: z.ZodOptional<z.ZodOptional<z.ZodString>>;
167
178
  APPLE_PROFILE_NAME: z.ZodOptional<z.ZodOptional<z.ZodString>>;
168
179
  APP_STORE_CONNECT_TEAM_ID: z.ZodOptional<z.ZodOptional<z.ZodString>>;
169
- CAPGO_IOS_SCHEME: z.ZodOptional<z.ZodOptional<z.ZodString>>;
170
- CAPGO_IOS_TARGET: z.ZodOptional<z.ZodOptional<z.ZodString>>;
171
180
  ANDROID_KEYSTORE_FILE: z.ZodOptional<z.ZodOptional<z.ZodString>>;
172
181
  KEYSTORE_KEY_ALIAS: z.ZodOptional<z.ZodOptional<z.ZodString>>;
173
182
  KEYSTORE_KEY_PASSWORD: z.ZodOptional<z.ZodOptional<z.ZodString>>;
174
183
  KEYSTORE_STORE_PASSWORD: z.ZodOptional<z.ZodOptional<z.ZodString>>;
175
184
  PLAY_CONFIG_JSON: z.ZodOptional<z.ZodOptional<z.ZodString>>;
176
- BUILD_OUTPUT_UPLOAD_ENABLED: z.ZodOptional<z.ZodOptional<z.ZodString>>;
177
- BUILD_OUTPUT_RETENTION_SECONDS: z.ZodOptional<z.ZodOptional<z.ZodString>>;
178
- SKIP_BUILD_NUMBER_BUMP: z.ZodOptional<z.ZodOptional<z.ZodString>>;
179
185
  }, z.core.$catchall<z.ZodOptional<z.ZodString>>>>;
180
186
  }, z.core.$strip>>;
181
187
  export type AllCredentials = z.infer<typeof allCredentialsSchema>;
@@ -261,16 +261,11 @@ export declare const requestBuildOptionsSchema: z.ZodObject<{
261
261
  APPLE_KEY_CONTENT: z.ZodOptional<z.ZodString>;
262
262
  APPLE_PROFILE_NAME: z.ZodOptional<z.ZodString>;
263
263
  APP_STORE_CONNECT_TEAM_ID: z.ZodOptional<z.ZodString>;
264
- CAPGO_IOS_SCHEME: z.ZodOptional<z.ZodString>;
265
- CAPGO_IOS_TARGET: z.ZodOptional<z.ZodString>;
266
264
  ANDROID_KEYSTORE_FILE: z.ZodOptional<z.ZodString>;
267
265
  KEYSTORE_KEY_ALIAS: z.ZodOptional<z.ZodString>;
268
266
  KEYSTORE_KEY_PASSWORD: z.ZodOptional<z.ZodString>;
269
267
  KEYSTORE_STORE_PASSWORD: z.ZodOptional<z.ZodString>;
270
268
  PLAY_CONFIG_JSON: z.ZodOptional<z.ZodString>;
271
- BUILD_OUTPUT_UPLOAD_ENABLED: z.ZodOptional<z.ZodString>;
272
- BUILD_OUTPUT_RETENTION_SECONDS: z.ZodOptional<z.ZodString>;
273
- SKIP_BUILD_NUMBER_BUMP: z.ZodOptional<z.ZodString>;
274
269
  }, z.core.$catchall<z.ZodOptional<z.ZodString>>>>;
275
270
  userId: z.ZodOptional<z.ZodString>;
276
271
  apikey: z.ZodOptional<z.ZodString>;