@capgo/cli 7.82.0 → 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.82.0",
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",
@@ -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,20 +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
- CAPGO_IOS_DISTRIBUTION: z.ZodOptional<z.ZodEnum<{
15
- app_store: "app_store";
16
- ad_hoc: "ad_hoc";
17
- }>>;
18
12
  ANDROID_KEYSTORE_FILE: z.ZodOptional<z.ZodString>;
19
13
  KEYSTORE_KEY_ALIAS: z.ZodOptional<z.ZodString>;
20
14
  KEYSTORE_KEY_PASSWORD: z.ZodOptional<z.ZodString>;
21
15
  KEYSTORE_STORE_PASSWORD: z.ZodOptional<z.ZodString>;
22
16
  PLAY_CONFIG_JSON: z.ZodOptional<z.ZodString>;
23
- BUILD_OUTPUT_UPLOAD_ENABLED: z.ZodOptional<z.ZodString>;
24
- BUILD_OUTPUT_RETENTION_SECONDS: z.ZodOptional<z.ZodString>;
25
- SKIP_BUILD_NUMBER_BUMP: z.ZodOptional<z.ZodString>;
26
17
  }, z.core.$catchall<z.ZodOptional<z.ZodString>>>;
27
18
  export type BuildCredentials = z.infer<typeof buildCredentialsSchema>;
28
19
  export declare const buildRequestOptionsSchema: z.ZodObject<{
@@ -88,6 +79,33 @@ export declare const buildRequestResultSchema: z.ZodObject<{
88
79
  error: z.ZodOptional<z.ZodString>;
89
80
  }, z.core.$strip>;
90
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>;
91
109
  export declare const credentialFileSchema: z.ZodObject<{
92
110
  BUILD_CERTIFICATE_FILE: z.ZodOptional<z.ZodString>;
93
111
  BUILD_PROVISION_PROFILE_FILE: z.ZodOptional<z.ZodString>;
@@ -108,20 +126,11 @@ export declare const savedCredentialsSchema: z.ZodObject<{
108
126
  APPLE_KEY_CONTENT: z.ZodOptional<z.ZodOptional<z.ZodString>>;
109
127
  APPLE_PROFILE_NAME: z.ZodOptional<z.ZodOptional<z.ZodString>>;
110
128
  APP_STORE_CONNECT_TEAM_ID: z.ZodOptional<z.ZodOptional<z.ZodString>>;
111
- CAPGO_IOS_SCHEME: z.ZodOptional<z.ZodOptional<z.ZodString>>;
112
- CAPGO_IOS_TARGET: z.ZodOptional<z.ZodOptional<z.ZodString>>;
113
- CAPGO_IOS_DISTRIBUTION: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
114
- app_store: "app_store";
115
- ad_hoc: "ad_hoc";
116
- }>>>;
117
129
  ANDROID_KEYSTORE_FILE: z.ZodOptional<z.ZodOptional<z.ZodString>>;
118
130
  KEYSTORE_KEY_ALIAS: z.ZodOptional<z.ZodOptional<z.ZodString>>;
119
131
  KEYSTORE_KEY_PASSWORD: z.ZodOptional<z.ZodOptional<z.ZodString>>;
120
132
  KEYSTORE_STORE_PASSWORD: z.ZodOptional<z.ZodOptional<z.ZodString>>;
121
133
  PLAY_CONFIG_JSON: z.ZodOptional<z.ZodOptional<z.ZodString>>;
122
- BUILD_OUTPUT_UPLOAD_ENABLED: z.ZodOptional<z.ZodOptional<z.ZodString>>;
123
- BUILD_OUTPUT_RETENTION_SECONDS: z.ZodOptional<z.ZodOptional<z.ZodString>>;
124
- SKIP_BUILD_NUMBER_BUMP: z.ZodOptional<z.ZodOptional<z.ZodString>>;
125
134
  }, z.core.$catchall<z.ZodOptional<z.ZodString>>>>;
126
135
  android: z.ZodOptional<z.ZodObject<{
127
136
  BUILD_CERTIFICATE_BASE64: z.ZodOptional<z.ZodOptional<z.ZodString>>;
@@ -133,20 +142,11 @@ export declare const savedCredentialsSchema: z.ZodObject<{
133
142
  APPLE_KEY_CONTENT: z.ZodOptional<z.ZodOptional<z.ZodString>>;
134
143
  APPLE_PROFILE_NAME: z.ZodOptional<z.ZodOptional<z.ZodString>>;
135
144
  APP_STORE_CONNECT_TEAM_ID: z.ZodOptional<z.ZodOptional<z.ZodString>>;
136
- CAPGO_IOS_SCHEME: z.ZodOptional<z.ZodOptional<z.ZodString>>;
137
- CAPGO_IOS_TARGET: z.ZodOptional<z.ZodOptional<z.ZodString>>;
138
- CAPGO_IOS_DISTRIBUTION: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
139
- app_store: "app_store";
140
- ad_hoc: "ad_hoc";
141
- }>>>;
142
145
  ANDROID_KEYSTORE_FILE: z.ZodOptional<z.ZodOptional<z.ZodString>>;
143
146
  KEYSTORE_KEY_ALIAS: z.ZodOptional<z.ZodOptional<z.ZodString>>;
144
147
  KEYSTORE_KEY_PASSWORD: z.ZodOptional<z.ZodOptional<z.ZodString>>;
145
148
  KEYSTORE_STORE_PASSWORD: z.ZodOptional<z.ZodOptional<z.ZodString>>;
146
149
  PLAY_CONFIG_JSON: z.ZodOptional<z.ZodOptional<z.ZodString>>;
147
- BUILD_OUTPUT_UPLOAD_ENABLED: z.ZodOptional<z.ZodOptional<z.ZodString>>;
148
- BUILD_OUTPUT_RETENTION_SECONDS: z.ZodOptional<z.ZodOptional<z.ZodString>>;
149
- SKIP_BUILD_NUMBER_BUMP: z.ZodOptional<z.ZodOptional<z.ZodString>>;
150
150
  }, z.core.$catchall<z.ZodOptional<z.ZodString>>>>;
151
151
  }, z.core.$strip>;
152
152
  export type SavedCredentials = z.infer<typeof savedCredentialsSchema>;
@@ -161,20 +161,11 @@ export declare const allCredentialsSchema: z.ZodRecord<z.ZodString, z.ZodObject<
161
161
  APPLE_KEY_CONTENT: z.ZodOptional<z.ZodOptional<z.ZodString>>;
162
162
  APPLE_PROFILE_NAME: z.ZodOptional<z.ZodOptional<z.ZodString>>;
163
163
  APP_STORE_CONNECT_TEAM_ID: z.ZodOptional<z.ZodOptional<z.ZodString>>;
164
- CAPGO_IOS_SCHEME: z.ZodOptional<z.ZodOptional<z.ZodString>>;
165
- CAPGO_IOS_TARGET: z.ZodOptional<z.ZodOptional<z.ZodString>>;
166
- CAPGO_IOS_DISTRIBUTION: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
167
- app_store: "app_store";
168
- ad_hoc: "ad_hoc";
169
- }>>>;
170
164
  ANDROID_KEYSTORE_FILE: z.ZodOptional<z.ZodOptional<z.ZodString>>;
171
165
  KEYSTORE_KEY_ALIAS: z.ZodOptional<z.ZodOptional<z.ZodString>>;
172
166
  KEYSTORE_KEY_PASSWORD: z.ZodOptional<z.ZodOptional<z.ZodString>>;
173
167
  KEYSTORE_STORE_PASSWORD: z.ZodOptional<z.ZodOptional<z.ZodString>>;
174
168
  PLAY_CONFIG_JSON: z.ZodOptional<z.ZodOptional<z.ZodString>>;
175
- BUILD_OUTPUT_UPLOAD_ENABLED: z.ZodOptional<z.ZodOptional<z.ZodString>>;
176
- BUILD_OUTPUT_RETENTION_SECONDS: z.ZodOptional<z.ZodOptional<z.ZodString>>;
177
- SKIP_BUILD_NUMBER_BUMP: z.ZodOptional<z.ZodOptional<z.ZodString>>;
178
169
  }, z.core.$catchall<z.ZodOptional<z.ZodString>>>>;
179
170
  android: z.ZodOptional<z.ZodObject<{
180
171
  BUILD_CERTIFICATE_BASE64: z.ZodOptional<z.ZodOptional<z.ZodString>>;
@@ -186,20 +177,11 @@ export declare const allCredentialsSchema: z.ZodRecord<z.ZodString, z.ZodObject<
186
177
  APPLE_KEY_CONTENT: z.ZodOptional<z.ZodOptional<z.ZodString>>;
187
178
  APPLE_PROFILE_NAME: z.ZodOptional<z.ZodOptional<z.ZodString>>;
188
179
  APP_STORE_CONNECT_TEAM_ID: z.ZodOptional<z.ZodOptional<z.ZodString>>;
189
- CAPGO_IOS_SCHEME: z.ZodOptional<z.ZodOptional<z.ZodString>>;
190
- CAPGO_IOS_TARGET: z.ZodOptional<z.ZodOptional<z.ZodString>>;
191
- CAPGO_IOS_DISTRIBUTION: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
192
- app_store: "app_store";
193
- ad_hoc: "ad_hoc";
194
- }>>>;
195
180
  ANDROID_KEYSTORE_FILE: z.ZodOptional<z.ZodOptional<z.ZodString>>;
196
181
  KEYSTORE_KEY_ALIAS: z.ZodOptional<z.ZodOptional<z.ZodString>>;
197
182
  KEYSTORE_KEY_PASSWORD: z.ZodOptional<z.ZodOptional<z.ZodString>>;
198
183
  KEYSTORE_STORE_PASSWORD: z.ZodOptional<z.ZodOptional<z.ZodString>>;
199
184
  PLAY_CONFIG_JSON: z.ZodOptional<z.ZodOptional<z.ZodString>>;
200
- BUILD_OUTPUT_UPLOAD_ENABLED: z.ZodOptional<z.ZodOptional<z.ZodString>>;
201
- BUILD_OUTPUT_RETENTION_SECONDS: z.ZodOptional<z.ZodOptional<z.ZodString>>;
202
- SKIP_BUILD_NUMBER_BUMP: z.ZodOptional<z.ZodOptional<z.ZodString>>;
203
185
  }, z.core.$catchall<z.ZodOptional<z.ZodString>>>>;
204
186
  }, z.core.$strip>>;
205
187
  export type AllCredentials = z.infer<typeof allCredentialsSchema>;
@@ -261,20 +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
- CAPGO_IOS_DISTRIBUTION: z.ZodOptional<z.ZodEnum<{
267
- app_store: "app_store";
268
- ad_hoc: "ad_hoc";
269
- }>>;
270
264
  ANDROID_KEYSTORE_FILE: z.ZodOptional<z.ZodString>;
271
265
  KEYSTORE_KEY_ALIAS: z.ZodOptional<z.ZodString>;
272
266
  KEYSTORE_KEY_PASSWORD: z.ZodOptional<z.ZodString>;
273
267
  KEYSTORE_STORE_PASSWORD: z.ZodOptional<z.ZodString>;
274
268
  PLAY_CONFIG_JSON: z.ZodOptional<z.ZodString>;
275
- BUILD_OUTPUT_UPLOAD_ENABLED: z.ZodOptional<z.ZodString>;
276
- BUILD_OUTPUT_RETENTION_SECONDS: z.ZodOptional<z.ZodString>;
277
- SKIP_BUILD_NUMBER_BUMP: z.ZodOptional<z.ZodString>;
278
269
  }, z.core.$catchall<z.ZodOptional<z.ZodString>>>>;
279
270
  userId: z.ZodOptional<z.ZodString>;
280
271
  apikey: z.ZodOptional<z.ZodString>;