@capgo/cli 8.0.0-alpha.5 → 8.0.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.
Files changed (222) hide show
  1. package/README.md +733 -84
  2. package/dist/index.js +1132 -317
  3. package/dist/keychain-export.swift +351 -0
  4. package/dist/package.json +120 -30
  5. package/dist/src/ai/analyze.d.ts +48 -0
  6. package/dist/src/ai/log-capture.d.ts +14 -0
  7. package/dist/src/ai/prompt.d.ts +1 -0
  8. package/dist/src/ai/render-markdown.d.ts +12 -0
  9. package/dist/src/ai/sse.d.ts +5 -0
  10. package/dist/src/ai/stream-markdown.d.ts +22 -0
  11. package/dist/src/ai/telemetry.d.ts +39 -0
  12. package/dist/src/analytics/error-category.d.ts +11 -0
  13. package/dist/src/analytics/org-resolver.d.ts +11 -0
  14. package/dist/src/analytics/supabase-perf.d.ts +48 -0
  15. package/dist/src/analytics/track.d.ts +70 -0
  16. package/dist/src/api/app.d.ts +17 -8
  17. package/dist/src/api/channels.d.ts +2442 -2729
  18. package/dist/src/api/crypto.d.ts +26 -0
  19. package/dist/src/api/update.d.ts +7 -1
  20. package/dist/src/api/versions.d.ts +9 -2
  21. package/dist/src/app/add.d.ts +6 -4
  22. package/dist/src/app/debug.d.ts +3 -7
  23. package/dist/src/app/delete.d.ts +1 -2
  24. package/dist/src/app/info.d.ts +5 -1
  25. package/dist/src/app/list.d.ts +23 -2
  26. package/dist/src/app/set.d.ts +0 -1
  27. package/dist/src/app/setting.d.ts +3 -9
  28. package/dist/src/app/updateProbe.d.ts +43 -0
  29. package/dist/src/build/credentials-command.d.ts +89 -0
  30. package/dist/src/build/credentials-manage.d.ts +7 -0
  31. package/dist/src/build/credentials.d.ts +78 -0
  32. package/dist/src/build/env-render.d.ts +8 -0
  33. package/dist/src/build/last-output-command.d.ts +6 -0
  34. package/dist/src/build/mobileprovision-parser.d.ts +35 -0
  35. package/dist/src/build/needed.d.ts +28 -0
  36. package/dist/src/build/onboarding/ai-fit.d.ts +110 -0
  37. package/dist/src/build/onboarding/analytics.d.ts +23 -0
  38. package/dist/src/build/onboarding/android/gcp-api.d.ts +128 -0
  39. package/dist/src/build/onboarding/android/gradle-parser.d.ts +19 -0
  40. package/dist/src/build/onboarding/android/keystore.d.ts +77 -0
  41. package/dist/src/build/onboarding/android/oauth-config.d.ts +24 -0
  42. package/dist/src/build/onboarding/android/oauth-google.d.ts +134 -0
  43. package/dist/src/build/onboarding/android/play-api.d.ts +91 -0
  44. package/dist/src/build/onboarding/android/progress.d.ts +22 -0
  45. package/dist/src/build/onboarding/android/service-account-validation.d.ts +58 -0
  46. package/dist/src/build/onboarding/android/types.d.ts +72 -0
  47. package/dist/src/build/onboarding/android/ui/app.d.ts +17 -0
  48. package/dist/src/build/onboarding/app-verification.d.ts +86 -0
  49. package/dist/src/build/onboarding/apple-api.d.ts +234 -0
  50. package/dist/src/build/onboarding/build-log.d.ts +10 -0
  51. package/dist/src/build/onboarding/bundle-id-detector.d.ts +117 -0
  52. package/dist/src/build/onboarding/ci-secrets.d.ts +87 -0
  53. package/dist/src/build/onboarding/command.d.ts +6 -0
  54. package/dist/src/build/onboarding/csr.d.ts +33 -0
  55. package/dist/src/build/onboarding/diff-utils.d.ts +24 -0
  56. package/dist/src/build/onboarding/env-export.d.ts +46 -0
  57. package/dist/src/build/onboarding/error-categories.d.ts +13 -0
  58. package/dist/src/build/onboarding/file-picker.d.ts +47 -0
  59. package/dist/src/build/onboarding/macos-signing.d.ts +190 -0
  60. package/dist/src/build/onboarding/min-terminal-size.d.ts +16 -0
  61. package/dist/src/build/onboarding/progress.d.ts +51 -0
  62. package/dist/src/build/onboarding/recovery.d.ts +7 -0
  63. package/dist/src/build/onboarding/telemetry.d.ts +28 -0
  64. package/dist/src/build/onboarding/types.d.ts +140 -0
  65. package/dist/src/build/onboarding/ui/app.d.ts +36 -0
  66. package/dist/src/build/onboarding/ui/completed-steps-log.d.ts +9 -0
  67. package/dist/src/build/onboarding/ui/components.d.ts +178 -0
  68. package/dist/src/build/onboarding/ui/frame-fit.d.ts +10 -0
  69. package/dist/src/build/onboarding/ui/min-size-gate.d.ts +20 -0
  70. package/dist/src/build/onboarding/ui/platform-picker.d.ts +19 -0
  71. package/dist/src/build/onboarding/ui/shell.d.ts +33 -0
  72. package/dist/src/build/onboarding/ui/steps/android-ci.d.ts +45 -0
  73. package/dist/src/build/onboarding/ui/steps/android-keystore.d.ts +75 -0
  74. package/dist/src/build/onboarding/ui/steps/android-sa-gcp.d.ts +85 -0
  75. package/dist/src/build/onboarding/ui/steps/android-shared.d.ts +67 -0
  76. package/dist/src/build/onboarding/ui/steps/ios-ci.d.ts +44 -0
  77. package/dist/src/build/onboarding/ui/steps/ios-credentials.d.ts +66 -0
  78. package/dist/src/build/onboarding/ui/steps/ios-import.d.ts +79 -0
  79. package/dist/src/build/onboarding/ui/steps/ios-shared.d.ts +93 -0
  80. package/dist/src/build/onboarding/workflow-generator.d.ts +48 -0
  81. package/dist/src/build/onboarding/workflow-ui-helpers.d.ts +18 -0
  82. package/dist/src/build/onboarding/workflow-writer.d.ts +36 -0
  83. package/dist/src/build/output-record.d.ts +30 -0
  84. package/dist/src/build/pbxproj-parser.d.ts +48 -0
  85. package/dist/src/build/platform-paths.d.ts +20 -0
  86. package/dist/src/build/qr.d.ts +5 -0
  87. package/dist/src/build/request.d.ts +102 -43
  88. package/dist/src/build/telemetry.d.ts +17 -0
  89. package/dist/src/bundle/builder-cta.d.ts +67 -0
  90. package/dist/src/bundle/check.d.ts +0 -1
  91. package/dist/src/bundle/cleanup.d.ts +3 -12
  92. package/dist/src/bundle/compatibility.d.ts +23 -12
  93. package/dist/src/bundle/decrypt.d.ts +4 -0
  94. package/dist/src/bundle/delete.d.ts +3 -8
  95. package/dist/src/bundle/encrypt.d.ts +4 -0
  96. package/dist/src/bundle/list.d.ts +5 -2
  97. package/dist/src/bundle/partial.d.ts +5 -3
  98. package/dist/src/bundle/releaseType.d.ts +15 -0
  99. package/dist/src/bundle/unlink.d.ts +6 -5
  100. package/dist/src/bundle/upload-command.d.ts +8 -0
  101. package/dist/src/bundle/upload.d.ts +21 -14
  102. package/dist/src/bundle/upload_interface.d.ts +2 -50
  103. package/dist/src/bundle/zip.d.ts +4 -19
  104. package/dist/src/capacitor-cli.d.ts +13 -0
  105. package/dist/src/channel/add.d.ts +8 -10
  106. package/dist/src/channel/currentBundle.d.ts +3 -9
  107. package/dist/src/channel/delete.d.ts +3 -9
  108. package/dist/src/channel/list.d.ts +31 -4
  109. package/dist/src/channel/set.d.ts +2 -17
  110. package/dist/src/checksum.d.ts +1 -2
  111. package/dist/src/config/index.d.ts +2 -13
  112. package/dist/src/docs.d.ts +0 -1
  113. package/dist/src/github-command.d.ts +9 -0
  114. package/dist/src/github.d.ts +40 -0
  115. package/dist/src/index.d.ts +0 -1
  116. package/dist/src/init/app-conflict.d.ts +2 -0
  117. package/dist/src/init/command.d.ts +57 -0
  118. package/dist/src/init/index.d.ts +1 -0
  119. package/dist/src/init/prompts.d.ts +41 -0
  120. package/dist/src/init/runtime.d.ts +111 -0
  121. package/dist/src/init/ui/app.d.ts +9 -0
  122. package/dist/src/init/ui/components.d.ts +31 -0
  123. package/dist/src/init/ui.d.ts +12 -0
  124. package/dist/src/init/updater.d.ts +13 -0
  125. package/dist/src/key.d.ts +16 -0
  126. package/dist/src/login.d.ts +0 -1
  127. package/dist/src/mcp/server.d.ts +5 -0
  128. package/dist/src/onboarding-support.d.ts +18 -0
  129. package/dist/src/organization/add.d.ts +26 -0
  130. package/dist/src/organization/delete.d.ts +3 -0
  131. package/dist/src/{organisation → organization}/index.d.ts +1 -1
  132. package/dist/src/{organisation → organization}/list.d.ts +14 -2
  133. package/dist/src/organization/members.d.ts +12 -0
  134. package/dist/src/organization/set.d.ts +21 -0
  135. package/dist/src/posthog.d.ts +13 -0
  136. package/dist/src/probe.d.ts +20 -0
  137. package/dist/src/promptPreferences.d.ts +13 -0
  138. package/dist/src/replicationProgress.d.ts +8 -0
  139. package/dist/src/run/device.d.ts +5 -0
  140. package/dist/src/runner-command.d.ts +5 -0
  141. package/dist/src/schemas/app.d.ts +26 -0
  142. package/dist/src/schemas/base.d.ts +7 -0
  143. package/dist/src/schemas/build.d.ts +196 -0
  144. package/dist/src/schemas/bundle.d.ts +157 -0
  145. package/dist/src/schemas/channel.d.ts +62 -0
  146. package/dist/src/schemas/common.d.ts +46 -0
  147. package/dist/src/schemas/config.d.ts +20 -0
  148. package/dist/src/schemas/index.d.ts +19 -0
  149. package/dist/src/schemas/organization.d.ts +41 -0
  150. package/dist/src/schemas/sdk.d.ts +335 -0
  151. package/dist/src/schemas/validate.d.ts +12 -0
  152. package/dist/src/sdk.d.ts +69 -337
  153. package/dist/src/sdk.js +542 -301
  154. package/dist/src/terminal-table.d.ts +7 -0
  155. package/dist/src/types/supabase.types.d.ts +2770 -296
  156. package/dist/src/updaterConfig.d.ts +8 -0
  157. package/dist/src/user/account.d.ts +0 -1
  158. package/dist/src/utils/latest-version.d.ts +0 -1
  159. package/dist/src/utils/safeWrites.d.ts +21 -0
  160. package/dist/src/utils/security_policy_errors.d.ts +47 -0
  161. package/dist/src/utils.d.ts +2869 -341
  162. package/dist/src/versionHelpers.d.ts +19 -0
  163. package/package.json +120 -30
  164. package/skills/native-builds/SKILL.md +255 -0
  165. package/skills/organization-management/SKILL.md +93 -0
  166. package/skills/release-management/SKILL.md +225 -0
  167. package/skills/usage/SKILL.md +92 -0
  168. package/dist/src/api/app.d.ts.map +0 -1
  169. package/dist/src/api/channels.d.ts.map +0 -1
  170. package/dist/src/api/cryptoV2.d.ts +0 -16
  171. package/dist/src/api/cryptoV2.d.ts.map +0 -1
  172. package/dist/src/api/update.d.ts.map +0 -1
  173. package/dist/src/api/versions.d.ts.map +0 -1
  174. package/dist/src/app/add.d.ts.map +0 -1
  175. package/dist/src/app/debug.d.ts.map +0 -1
  176. package/dist/src/app/delete.d.ts.map +0 -1
  177. package/dist/src/app/info.d.ts.map +0 -1
  178. package/dist/src/app/list.d.ts.map +0 -1
  179. package/dist/src/app/set.d.ts.map +0 -1
  180. package/dist/src/app/setting.d.ts.map +0 -1
  181. package/dist/src/build/request.d.ts.map +0 -1
  182. package/dist/src/bundle/check.d.ts.map +0 -1
  183. package/dist/src/bundle/cleanup.d.ts.map +0 -1
  184. package/dist/src/bundle/compatibility.d.ts.map +0 -1
  185. package/dist/src/bundle/decryptV2.d.ts +0 -13
  186. package/dist/src/bundle/decryptV2.d.ts.map +0 -1
  187. package/dist/src/bundle/delete.d.ts.map +0 -1
  188. package/dist/src/bundle/encryptV2.d.ts +0 -14
  189. package/dist/src/bundle/encryptV2.d.ts.map +0 -1
  190. package/dist/src/bundle/list.d.ts.map +0 -1
  191. package/dist/src/bundle/partial.d.ts.map +0 -1
  192. package/dist/src/bundle/unlink.d.ts.map +0 -1
  193. package/dist/src/bundle/upload.d.ts.map +0 -1
  194. package/dist/src/bundle/upload_interface.d.ts.map +0 -1
  195. package/dist/src/bundle/zip.d.ts.map +0 -1
  196. package/dist/src/channel/add.d.ts.map +0 -1
  197. package/dist/src/channel/currentBundle.d.ts.map +0 -1
  198. package/dist/src/channel/delete.d.ts.map +0 -1
  199. package/dist/src/channel/list.d.ts.map +0 -1
  200. package/dist/src/channel/set.d.ts.map +0 -1
  201. package/dist/src/checksum.d.ts.map +0 -1
  202. package/dist/src/config/index.d.ts.map +0 -1
  203. package/dist/src/docs.d.ts.map +0 -1
  204. package/dist/src/index.d.ts.map +0 -1
  205. package/dist/src/init.d.ts +0 -7
  206. package/dist/src/init.d.ts.map +0 -1
  207. package/dist/src/keyV2.d.ts +0 -19
  208. package/dist/src/keyV2.d.ts.map +0 -1
  209. package/dist/src/login.d.ts.map +0 -1
  210. package/dist/src/organisation/add.d.ts +0 -19
  211. package/dist/src/organisation/add.d.ts.map +0 -1
  212. package/dist/src/organisation/delete.d.ts +0 -8
  213. package/dist/src/organisation/delete.d.ts.map +0 -1
  214. package/dist/src/organisation/index.d.ts.map +0 -1
  215. package/dist/src/organisation/list.d.ts.map +0 -1
  216. package/dist/src/organisation/set.d.ts +0 -13
  217. package/dist/src/organisation/set.d.ts.map +0 -1
  218. package/dist/src/sdk.d.ts.map +0 -1
  219. package/dist/src/types/supabase.types.d.ts.map +0 -1
  220. package/dist/src/user/account.d.ts.map +0 -1
  221. package/dist/src/utils/latest-version.d.ts.map +0 -1
  222. package/dist/src/utils.d.ts.map +0 -1
@@ -1,15 +1,26 @@
1
- import type { OptionsBase } from '../utils';
2
- import { checkCompatibilityCloud } from '../utils';
3
- interface Options extends OptionsBase {
4
- channel?: string;
5
- text?: boolean;
6
- packageJson?: string;
7
- nodeModules?: string;
8
- }
1
+ import type { BundleCompatibilityOptions } from '../schemas/bundle';
2
+ import type { Compatibility } from '../utils';
9
3
  interface CompatibilityResult {
10
- finalCompatibility: Awaited<ReturnType<typeof checkCompatibilityCloud>>['finalCompatibility'];
4
+ finalCompatibility: Compatibility[];
5
+ hasIncompatible: boolean;
6
+ resolvedAppId: string;
7
+ channel: string;
8
+ }
9
+ export declare function checkCompatibilityInternal(appId: string, options: BundleCompatibilityOptions, silent?: boolean): Promise<CompatibilityResult>;
10
+ export declare function checkCompatibility(appId: string, options: BundleCompatibilityOptions): Promise<void>;
11
+ export type UploadCompatibilityResult = 'compatible' | 'incompatible' | 'skipped';
12
+ export interface UploadCompatibilitySummary {
13
+ result: UploadCompatibilityResult;
14
+ incompatibleCount: number;
15
+ reasons: string[];
11
16
  }
12
- export declare function checkCompatibilityInternal(appId: string, options: Options, silent?: boolean): Promise<CompatibilityResult>;
13
- export declare function checkCompatibility(appId: string, options: Options): Promise<void>;
17
+ /**
18
+ * Summarize an upload's compatibility outcome for analytics.
19
+ *
20
+ * `finalCompatibility` is `undefined` when the comparison did not run (new
21
+ * channel / no remote native metadata / `--ignore-metadata-check`), which is
22
+ * reported as `skipped` so the funnel never silently counts a skip as
23
+ * `compatible`.
24
+ */
25
+ export declare function summarizeUploadCompatibility(finalCompatibility: Compatibility[] | undefined): UploadCompatibilitySummary;
14
26
  export {};
15
- //# sourceMappingURL=compatibility.d.ts.map
@@ -0,0 +1,4 @@
1
+ import type { BundleDecryptOptions, DecryptResult } from '../schemas/bundle';
2
+ export type { DecryptResult } from '../schemas/bundle';
3
+ export declare function decryptZipInternal(zipPath: string, ivsessionKey: string, options: BundleDecryptOptions, silent?: boolean): Promise<DecryptResult>;
4
+ export declare function decryptZip(zipPath: string, ivsessionKey: string, options: BundleDecryptOptions): Promise<void>;
@@ -1,8 +1,3 @@
1
- import type { OptionsBase } from '../utils';
2
- interface Options extends OptionsBase {
3
- bundle: string;
4
- }
5
- export declare function deleteBundleInternal(bundleId: string, appId: string, options: Options, silent?: boolean): Promise<boolean>;
6
- export declare function deleteBundle(bundleId: string, appId: string, options: Options): Promise<boolean>;
7
- export {};
8
- //# sourceMappingURL=delete.d.ts.map
1
+ import type { BundleDeleteOptions } from '../schemas/bundle';
2
+ export declare function deleteBundleInternal(bundleId: string, appId: string, options: BundleDeleteOptions, silent?: boolean): Promise<boolean>;
3
+ export declare function deleteBundle(bundleId: string, appId: string, options: BundleDeleteOptions): Promise<boolean>;
@@ -0,0 +1,4 @@
1
+ import type { BundleEncryptOptions, EncryptResult } from '../schemas/bundle';
2
+ export type { EncryptResult } from '../schemas/bundle';
3
+ export declare function encryptZipInternal(zipPath: string, checksum: string, options: BundleEncryptOptions, silent?: boolean): Promise<EncryptResult>;
4
+ export declare function encryptZip(zipPath: string, checksum: string, options: BundleEncryptOptions): Promise<void>;
@@ -1,14 +1,18 @@
1
- import type { OptionsBase } from '../utils';
1
+ import type { OptionsBase } from '../schemas/base';
2
2
  export declare function listBundle(appId: string, options: OptionsBase, silent?: boolean): Promise<{
3
3
  app_id: string;
4
4
  checksum: string | null;
5
+ cli_version: string | null;
5
6
  comment: string | null;
6
7
  created_at: string | null;
7
8
  deleted: boolean;
9
+ deleted_at: string | null;
8
10
  external_url: string | null;
9
11
  id: number;
12
+ key_id: string | null;
10
13
  link: string | null;
11
14
  manifest: import("../sdk").Database["public"]["CompositeTypes"]["manifest_entry"][] | null;
15
+ manifest_count: number;
12
16
  min_update_version: string | null;
13
17
  name: string;
14
18
  native_packages: import("../types/supabase.types").Json[] | null;
@@ -19,4 +23,3 @@ export declare function listBundle(appId: string, options: OptionsBase, silent?:
19
23
  updated_at: string | null;
20
24
  user_id: string | null;
21
25
  }[]>;
22
- //# sourceMappingURL=list.d.ts.map
@@ -1,14 +1,16 @@
1
- import type { Buffer } from 'node:buffer';
2
1
  import type { manifestType } from '../utils';
3
2
  import type { OptionsUpload } from './upload_interface';
4
- export declare function prepareBundlePartialFiles(path: string, apikey: string, orgId: string, appid: string, encryptionMethod: 'none' | 'v2' | 'v1', finalKeyData: string): Promise<{
3
+ import { Buffer } from 'node:buffer';
4
+ export declare function prepareBundlePartialFiles(path: string, apikey: string, orgId: string, appid: string, encryptionMethod: 'none' | 'v2' | 'v1', finalKeyData: string, supportsHexChecksum?: boolean): Promise<{
5
5
  file: string;
6
6
  hash: string;
7
7
  }[]>;
8
+ export declare function buildPartialUploadPath(orgId: string, appId: string, fileHash: string, filePathUnix: string, encryptionOptions?: {
9
+ ivSessionKey: string;
10
+ }): string;
8
11
  interface PartialEncryptionOptions {
9
12
  sessionKey: Buffer;
10
13
  ivSessionKey: string;
11
14
  }
12
15
  export declare function uploadPartial(apikey: string, manifest: manifestType, path: string, appId: string, orgId: string, encryptionOptions: PartialEncryptionOptions | undefined, options: OptionsUpload): Promise<any[] | null>;
13
16
  export {};
14
- //# sourceMappingURL=partial.d.ts.map
@@ -0,0 +1,15 @@
1
+ import type { BundleReleaseTypeOptions } from '../schemas/bundle';
2
+ interface ReleaseTypeResult {
3
+ releaseType: 'native' | 'OTA';
4
+ resolvedAppId: string;
5
+ channel: string;
6
+ }
7
+ /**
8
+ * Determine whether a native build or OTA update is recommended.
9
+ */
10
+ export declare function getReleaseType(appId: string, options: BundleReleaseTypeOptions): Promise<ReleaseTypeResult>;
11
+ /**
12
+ * Print the recommended release type and the relevant CLI commands.
13
+ */
14
+ export declare function printReleaseType(appId: string, options: BundleReleaseTypeOptions): Promise<void>;
15
+ export {};
@@ -1,9 +1,10 @@
1
- import type { OptionsBase } from '../utils';
2
- interface Options extends OptionsBase {
1
+ interface BundleUnlinkOptions {
3
2
  bundle?: string;
4
3
  packageJson?: string;
4
+ apikey?: string;
5
+ supaHost?: string;
6
+ supaAnon?: string;
5
7
  }
6
- export declare function unlinkDeviceInternal(channel: string, appId: string, options: Options, silent?: boolean): Promise<boolean>;
7
- export declare function unlinkDevice(channel: string, appId: string, options: Options): Promise<void>;
8
+ export declare function unlinkDeviceInternal(channel: string, appId: string, options: BundleUnlinkOptions, silent?: boolean): Promise<boolean>;
9
+ export declare function unlinkDevice(channel: string, appId: string, options: BundleUnlinkOptions): Promise<void>;
8
10
  export {};
9
- //# sourceMappingURL=unlink.d.ts.map
@@ -0,0 +1,8 @@
1
+ import type { OptionsUpload } from './upload_interface';
2
+ /**
3
+ * `bundle upload` command handler. Uploads the bundle, then — when the bundle is
4
+ * incompatible and the user opted into Capgo Builder — launches the Ink-based
5
+ * build flow. Kept out of `upload.ts` so the programmatic SDK bundle (which
6
+ * imports `uploadBundleInternal`) never statically pulls in `ink`.
7
+ */
8
+ export declare function handleBundleUploadCommand(appId: string, options: OptionsUpload): Promise<void>;
@@ -1,19 +1,26 @@
1
+ import type { UploadBundleResult } from '../schemas/bundle';
1
2
  import type { OptionsUpload } from './upload_interface';
2
3
  import { createSupabaseClient } from '../utils';
3
4
  type SupabaseType = Awaited<ReturnType<typeof createSupabaseClient>>;
4
- export interface UploadBundleResult {
5
+ export type { UploadBundleResult };
6
+ export declare function getDefaultUploadChannel(appId: string, supabase: SupabaseType, hostWeb: string): Promise<string>;
7
+ export declare function uploadBundleInternal(preAppid: string, options: OptionsUpload, silent?: boolean): Promise<UploadBundleResult>;
8
+ /**
9
+ * Validate mutually-exclusive and dependent upload options, failing fast (via
10
+ * `uploadFail`) before any network call. Exported so the option-conflict guards
11
+ * (e.g. `--fail-on-incompatible` + `--ignore-metadata-check`) can be unit-tested
12
+ * directly.
13
+ */
14
+ export declare function checkValidOptions(options: OptionsUpload): void;
15
+ export declare function uploadBundle(appid: string, options: OptionsUpload): Promise<{
5
16
  success: boolean;
6
17
  bundle: string;
7
- checksum?: string | null;
8
- encryptionMethod: 'none' | 'v1' | 'v2';
9
- sessionKey?: string;
10
- ivSessionKey?: string | null;
11
- storageProvider?: string;
12
- skipped?: boolean;
13
- reason?: string;
14
- }
15
- export declare function getDefaultUploadChannel(appId: string, supabase: SupabaseType, hostWeb: string): Promise<string | null>;
16
- export declare function uploadBundleInternal(preAppid: string, options: OptionsUpload, silent?: boolean): Promise<UploadBundleResult>;
17
- export declare function uploadBundle(appid: string, options: OptionsUpload): Promise<void>;
18
- export {};
19
- //# sourceMappingURL=upload.d.ts.map
18
+ encryptionMethod: "none" | "v1" | "v2";
19
+ checksum?: string | null | undefined;
20
+ sessionKey?: string | undefined;
21
+ ivSessionKey?: string | null | undefined;
22
+ storageProvider?: string | undefined;
23
+ skipped?: boolean | undefined;
24
+ reason?: string | undefined;
25
+ builderAction?: "launch-onboarding" | "launch-build" | undefined;
26
+ }>;
@@ -1,50 +1,2 @@
1
- import type { OptionsBase } from '../utils';
2
- export interface OptionsUpload extends OptionsBase {
3
- bundle?: string;
4
- path?: string;
5
- channel?: string;
6
- displayIvSession?: boolean;
7
- external?: string;
8
- key?: boolean;
9
- keyV2?: string;
10
- keyDataV2?: string;
11
- ivSessionKey?: string;
12
- s3Region?: string;
13
- s3Apikey?: string;
14
- s3Apisecret?: string;
15
- s3BucketName?: string;
16
- s3Port?: number;
17
- s3SSL?: boolean;
18
- s3Endpoint?: string;
19
- bundleUrl?: boolean;
20
- codeCheck?: boolean;
21
- oldEncryption?: boolean;
22
- minUpdateVersion?: string;
23
- autoMinUpdateVersion?: boolean;
24
- autoSetBundle?: boolean;
25
- ignoreMetadataCheck?: boolean;
26
- ignoreChecksumCheck?: boolean;
27
- timeout?: number;
28
- multipart?: boolean;
29
- partial?: boolean;
30
- partialOnly?: boolean;
31
- delta?: boolean;
32
- deltaOnly?: boolean;
33
- tus?: boolean;
34
- encryptedChecksum?: string;
35
- packageJson?: string;
36
- dryUpload?: boolean;
37
- nodeModules?: string;
38
- encryptPartial?: boolean;
39
- deleteLinkedBundleOnUpload?: boolean;
40
- tusChunkSize?: number;
41
- zip?: boolean;
42
- link?: string;
43
- comment?: string;
44
- noBrotliPatterns?: string;
45
- disableBrotli?: boolean;
46
- versionExistsOk?: boolean;
47
- selfAssign?: boolean;
48
- verbose?: boolean;
49
- }
50
- //# sourceMappingURL=upload_interface.d.ts.map
1
+ export { optionsUploadSchema } from '../schemas/bundle';
2
+ export type { OptionsUpload } from '../schemas/bundle';
@@ -1,19 +1,4 @@
1
- import type { OptionsBase } from '../utils';
2
- interface Options extends OptionsBase {
3
- bundle?: string;
4
- path?: string;
5
- codeCheck?: boolean;
6
- name?: string;
7
- json?: boolean;
8
- keyV2?: boolean;
9
- packageJson?: string;
10
- }
11
- export interface ZipResult {
12
- bundle: string;
13
- filename: string;
14
- checksum: string;
15
- }
16
- export declare function zipBundleInternal(appId: string, options: Options, silent?: boolean): Promise<ZipResult>;
17
- export declare function zipBundle(appId: string, options: Options): Promise<void>;
18
- export {};
19
- //# sourceMappingURL=zip.d.ts.map
1
+ import type { BundleZipOptions, ZipResult } from '../schemas/bundle';
2
+ export type { ZipResult } from '../schemas/bundle';
3
+ export declare function zipBundleInternal(appId: string, options: BundleZipOptions, silent?: boolean): Promise<ZipResult>;
4
+ export declare function zipBundle(appId: string, options: BundleZipOptions): Promise<void>;
@@ -0,0 +1,13 @@
1
+ import type { CapacitorConfig } from './schemas/config';
2
+ export interface CapacitorCliConfig {
3
+ app: {
4
+ extConfig: CapacitorConfig;
5
+ extConfigFilePath: string;
6
+ };
7
+ }
8
+ export declare const loadConfig: () => Promise<CapacitorCliConfig>;
9
+ export declare const writeConfig: (extConfig: CapacitorConfig, extConfigFilePath: string) => Promise<void>;
10
+ export declare const findMonorepoRoot: (currentPath: string) => string;
11
+ export declare const findNXMonorepoRoot: (currentPath: string) => string;
12
+ export declare const isMonorepo: (currentPath: string) => boolean;
13
+ export declare const isNXMonorepo: (currentPath: string) => boolean;
@@ -1,26 +1,24 @@
1
- import type { OptionsBase } from '../utils';
2
- interface Options extends OptionsBase {
3
- default?: boolean;
4
- selfAssign?: boolean;
5
- }
6
- export declare function addChannelInternal(channelId: string, appId: string, options: Options, silent?: boolean): Promise<{
1
+ import type { ChannelAddOptions } from '../schemas/channel';
2
+ export declare function addChannelInternal(channelId: string, appId: string, options: ChannelAddOptions, silent?: boolean): Promise<{
7
3
  allow_dev: boolean;
4
+ allow_device: boolean;
8
5
  allow_device_self_set: boolean;
9
6
  allow_emulator: boolean;
7
+ allow_prod: boolean;
10
8
  android: boolean;
11
9
  app_id: string;
12
10
  created_at: string;
13
11
  created_by: string;
14
12
  disable_auto_update: import("../sdk").Database["public"]["Enums"]["disable_update"];
15
13
  disable_auto_update_under_native: boolean;
14
+ electron: boolean;
16
15
  id: number;
17
16
  ios: boolean;
18
17
  name: string;
19
18
  owner_org: string;
20
19
  public: boolean;
20
+ rbac_id: string;
21
21
  updated_at: string;
22
- version: number;
22
+ version: number | null;
23
23
  }>;
24
- export declare function addChannel(channelId: string, appId: string, options: Options): Promise<void>;
25
- export {};
26
- //# sourceMappingURL=add.d.ts.map
24
+ export declare function addChannel(channelId: string, appId: string, options: ChannelAddOptions): Promise<void>;
@@ -1,9 +1,3 @@
1
- import type { OptionsBase } from '../utils';
2
- interface Options extends OptionsBase {
3
- channel?: string;
4
- quiet?: boolean;
5
- }
6
- export declare function currentBundleInternal(channel: string, appId: string, options: Options, silent?: boolean): Promise<string>;
7
- export declare function currentBundle(channel: string, appId: string, options: Options): Promise<string>;
8
- export {};
9
- //# sourceMappingURL=currentBundle.d.ts.map
1
+ import type { ChannelCurrentBundleOptions } from '../schemas/channel';
2
+ export declare function currentBundleInternal(channel: string, appId: string, options: ChannelCurrentBundleOptions, silent?: boolean): Promise<string>;
3
+ export declare function currentBundle(channel: string, appId: string, options: ChannelCurrentBundleOptions): Promise<string>;
@@ -1,9 +1,3 @@
1
- import type { OptionsBase } from '../utils';
2
- interface DeleteChannelOptions extends OptionsBase {
3
- deleteBundle: boolean;
4
- successIfNotFound: boolean;
5
- }
6
- export declare function deleteChannelInternal(channelId: string, appId: string, options: DeleteChannelOptions, silent?: boolean): Promise<boolean>;
7
- export declare function deleteChannel(channelId: string, appId: string, options: DeleteChannelOptions): Promise<boolean>;
8
- export {};
9
- //# sourceMappingURL=delete.d.ts.map
1
+ import type { ChannelDeleteOptions } from '../schemas/channel';
2
+ export declare function deleteChannelInternal(channelId: string, appId: string, options: ChannelDeleteOptions, silent?: boolean): Promise<boolean>;
3
+ export declare function deleteChannel(channelId: string, appId: string, options: ChannelDeleteOptions): Promise<boolean>;
@@ -1,4 +1,31 @@
1
- import type { OptionsBase } from '../utils';
2
- export declare function listChannelsInternal(appId: string, options: OptionsBase, silent?: boolean): Promise<import("../api/channels").Channel[]>;
3
- export declare function listChannels(appId: string, options: OptionsBase): Promise<import("../api/channels").Channel[]>;
4
- //# sourceMappingURL=list.d.ts.map
1
+ import type { OptionsBase } from '../schemas/base';
2
+ export declare function listChannelsInternal(appId: string, options: OptionsBase, silent?: boolean): Promise<{
3
+ id: number;
4
+ name: string;
5
+ public: boolean;
6
+ ios: boolean;
7
+ android: boolean;
8
+ disable_auto_update: string;
9
+ disable_auto_update_under_native: boolean;
10
+ allow_device_self_set: boolean;
11
+ allow_emulator: boolean;
12
+ allow_device: boolean;
13
+ allow_dev: boolean;
14
+ allow_prod: boolean;
15
+ version?: any;
16
+ }[]>;
17
+ export declare function listChannels(appId: string, options: OptionsBase): Promise<{
18
+ id: number;
19
+ name: string;
20
+ public: boolean;
21
+ ios: boolean;
22
+ android: boolean;
23
+ disable_auto_update: string;
24
+ disable_auto_update_under_native: boolean;
25
+ allow_device_self_set: boolean;
26
+ allow_emulator: boolean;
27
+ allow_device: boolean;
28
+ allow_dev: boolean;
29
+ allow_prod: boolean;
30
+ version?: any;
31
+ }[]>;
@@ -1,19 +1,4 @@
1
- import type { OptionsBase } from '../utils';
2
- export interface OptionsSetChannel extends OptionsBase {
3
- bundle?: string;
4
- state?: string;
5
- downgrade?: boolean;
6
- latest?: boolean;
7
- latestRemote?: boolean;
8
- ios?: boolean;
9
- android?: boolean;
10
- selfAssign?: boolean;
11
- disableAutoUpdate?: string;
12
- dev?: boolean;
13
- emulator?: boolean;
14
- packageJson?: string;
15
- ignoreMetadataCheck?: boolean;
16
- }
1
+ import type { OptionsSetChannel } from '../schemas/channel';
2
+ export type { OptionsSetChannel } from '../schemas/channel';
17
3
  export declare function setChannelInternal(channel: string, appId: string, options: OptionsSetChannel, silent?: boolean): Promise<boolean>;
18
4
  export declare function setChannel(channel: string, appId: string, options: OptionsSetChannel): Promise<boolean>;
19
- //# sourceMappingURL=set.d.ts.map
@@ -5,5 +5,4 @@ import { Buffer } from 'node:buffer';
5
5
  * @param algorithm - Hash algorithm to use ('sha256' or 'crc32')
6
6
  * @returns Hexadecimal checksum string
7
7
  */
8
- export declare function checksum(data: Buffer | string, algorithm?: 'sha256' | 'crc32'): Promise<string>;
9
- //# sourceMappingURL=checksum.d.ts.map
8
+ export declare function getChecksum(data: Buffer | string, algorithm?: 'sha256' | 'crc32'): Promise<string>;
@@ -1,16 +1,5 @@
1
- export interface CapacitorConfig {
2
- appId: string;
3
- appName: string;
4
- webDir: string;
5
- plugins?: Record<string, any>;
6
- android?: Record<string, any>;
7
- [key: string]: any;
8
- }
9
- export interface ExtConfigPairs {
10
- config: CapacitorConfig;
11
- path: string;
12
- }
1
+ import type { ExtConfigPairs } from '../schemas/config';
2
+ export type { CapacitorConfig, ExtConfigPairs } from '../schemas/config';
13
3
  export declare function loadConfig(): Promise<ExtConfigPairs | undefined>;
14
4
  export declare function writeConfig(key: string, config: ExtConfigPairs, raw?: boolean): Promise<void>;
15
5
  export declare function writeConfigUpdater(config: ExtConfigPairs, raw?: boolean): Promise<void>;
16
- //# sourceMappingURL=index.d.ts.map
@@ -1,2 +1 @@
1
1
  export declare function generateDocs(filePath?: string, folderPath?: string): void;
2
- //# sourceMappingURL=docs.d.ts.map
@@ -0,0 +1,9 @@
1
+ import { defaultStarRepo } from './github';
2
+ export declare function starRepositoryCommand(repository?: string): void;
3
+ interface StarAllCommandOptions {
4
+ minDelayMs?: string;
5
+ maxDelayMs?: string;
6
+ maxConcurrency?: string;
7
+ }
8
+ export declare function starAllRepositoriesCommand(repositories: string[], options: StarAllCommandOptions): Promise<void>;
9
+ export { defaultStarRepo };
@@ -0,0 +1,40 @@
1
+ export declare const defaultStarRepo = "capacitor-updater";
2
+ export type StarAllRepositoryStatus = 'starred' | 'already_starred' | 'skipped' | 'failed';
3
+ export interface StarAllRepositoryResult {
4
+ repository: string;
5
+ alreadyStarred: boolean;
6
+ skipped: boolean;
7
+ error?: string;
8
+ status: StarAllRepositoryStatus;
9
+ }
10
+ export interface StarAllRepositoriesOptions {
11
+ repositories?: string[];
12
+ minDelayMs?: number;
13
+ maxDelayMs?: number;
14
+ maxConcurrency?: number;
15
+ onProgress?: (result: StarAllRepositoryResult) => void;
16
+ onDiscovery?: (message: string) => void;
17
+ signal?: AbortSignal;
18
+ }
19
+ export declare class StarAllRepositoriesAbortedError extends Error {
20
+ results: StarAllRepositoryResult[];
21
+ constructor(results?: StarAllRepositoryResult[]);
22
+ }
23
+ export declare function markRepoStarredInSession(repository: string): void;
24
+ export declare function isRepoStarredInSession(repositoryInput?: string): boolean;
25
+ export interface RepoStarStatus {
26
+ repository: string;
27
+ ghInstalled: boolean;
28
+ ghLoggedIn: boolean;
29
+ repositoryExists: boolean;
30
+ starred: boolean;
31
+ }
32
+ export declare function normalizeGithubRepo(repository?: string): string;
33
+ export declare function isGhInstalled(): boolean;
34
+ export declare function isGhLoggedIn(): boolean;
35
+ export declare function getRepoStarStatus(repositoryInput?: string): RepoStarStatus;
36
+ export declare function starAllRepositories(options?: StarAllRepositoriesOptions): Promise<StarAllRepositoryResult[]>;
37
+ export declare function starRepository(repositoryInput?: string): {
38
+ repository: string;
39
+ alreadyStarred: boolean;
40
+ };
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,2 @@
1
+ export declare function isAppAlreadyExistsError(error: unknown): boolean;
2
+ export declare function buildAppIdConflictSuggestions(baseAppId: string, random?: () => number, now?: () => number): string[];
@@ -0,0 +1,57 @@
1
+ import type { Options } from '../api/app';
2
+ import { spawnSync } from 'node:child_process';
3
+ import { getPMAndCommand } from '../utils';
4
+ interface SuperOptions extends Options {
5
+ local: boolean;
6
+ }
7
+ export type RunDeviceCancelHandler = () => Promise<never>;
8
+ type InitAutoTestChangeKind = 'html-banner' | 'vue-banner' | 'css-background';
9
+ interface GitRepoStatus {
10
+ inRepo: boolean;
11
+ clean: boolean;
12
+ repoRoot?: string;
13
+ entries: string[];
14
+ error?: string;
15
+ }
16
+ interface InitAutoTestChange {
17
+ filePath: string;
18
+ displayPath: string;
19
+ kind: InitAutoTestChangeKind;
20
+ }
21
+ export declare function getGitRepoStatus(startDir?: string): GitRepoStatus;
22
+ export declare function getInitUpdaterPluginConfig(appId: string, directInstall: boolean): {
23
+ autoSplashscreen?: boolean | undefined;
24
+ version: string;
25
+ appId: string;
26
+ autoUpdate: string;
27
+ };
28
+ export declare function getInitOtaVersionBase(pkgVersion: string): string;
29
+ export declare function getInitSuggestedOtaVersion(pkgVersion: string): string;
30
+ export declare function applyInitAutoTestChange(filePath: string, content: string): {
31
+ kind: InitAutoTestChangeKind;
32
+ content: string;
33
+ } | undefined;
34
+ export declare function revertInitAutoTestChangeContent(kind: InitAutoTestChangeKind, content: string): string | undefined;
35
+ export declare function isOnlyAllowedInitAutoTestChange(status: GitRepoStatus, allowedChange?: InitAutoTestChange): boolean;
36
+ type PackageManagerInfo = ReturnType<typeof getPMAndCommand>;
37
+ export type PlatformChoice = 'ios' | 'android';
38
+ export type RunDeviceStepOutcome = {
39
+ args: string[];
40
+ command: string;
41
+ } | {
42
+ args: undefined;
43
+ command: string;
44
+ };
45
+ export interface CapacitorRunTarget {
46
+ name: string;
47
+ api: string | undefined;
48
+ id: string;
49
+ }
50
+ export declare function runPackageRunnerSync(runner: string, args: string[], options: Parameters<typeof spawnSync>[2]): import("node:child_process").SpawnSyncReturns<string | NonSharedBuffer>;
51
+ export declare function parseCapacitorRunTargetList(output: string): CapacitorRunTarget[];
52
+ export declare function getPhysicalIosRunTargets(targets: CapacitorRunTarget[]): CapacitorRunTarget[];
53
+ export declare function getSimulatorIosRunTargets(targets: CapacitorRunTarget[]): CapacitorRunTarget[];
54
+ export declare function resolveRunDeviceCommand(cancelHandler: RunDeviceCancelHandler, pm: PackageManagerInfo, platformName: PlatformChoice): Promise<RunDeviceStepOutcome>;
55
+ export declare function normalizeRunDevicePlatform(platformName: string): PlatformChoice;
56
+ export declare function initApp(apikeyCommand: string, appId: string, options: SuperOptions): Promise<void>;
57
+ export {};
@@ -0,0 +1 @@
1
+ export { initApp } from './command';
@@ -0,0 +1,41 @@
1
+ export declare const CANCEL: symbol;
2
+ type SpinnerTone = 'success' | 'neutral' | 'error';
3
+ type PromptResult<T> = Promise<T | symbol>;
4
+ interface ConfirmOptions {
5
+ message: string;
6
+ initialValue?: boolean;
7
+ }
8
+ interface TextOptions {
9
+ message: string;
10
+ placeholder?: string;
11
+ validate?: (value: string | undefined) => string | undefined;
12
+ }
13
+ interface SelectOption<T extends string = string> {
14
+ value: T;
15
+ label: string;
16
+ hint?: string;
17
+ }
18
+ interface SelectOptions<T extends string = string> {
19
+ message: string;
20
+ options: SelectOption<T>[];
21
+ }
22
+ interface SpinnerController {
23
+ start: (message: string) => void;
24
+ stop: (message?: string, tone?: SpinnerTone) => void;
25
+ message: (message: string) => void;
26
+ }
27
+ export declare function intro(_message: string): void;
28
+ export declare function outro(message: string): void;
29
+ export declare function cancel(message: string): void;
30
+ export declare function isCancel(value: unknown): value is symbol;
31
+ export declare const log: {
32
+ info(message: string): void;
33
+ warn(message: string): void;
34
+ error(message: string): void;
35
+ success(message: string): void;
36
+ };
37
+ export declare function confirm(options: ConfirmOptions): PromptResult<boolean>;
38
+ export declare function text(options: TextOptions): PromptResult<string>;
39
+ export declare function select<T extends string = string>(options: SelectOptions<T>): PromptResult<T>;
40
+ export declare function spinner(): SpinnerController;
41
+ export {};