@capgo/cli 8.0.0-alpha.1 โ†’ 8.0.0-alpha.3

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 (149) hide show
  1. package/README.md +1 -0
  2. package/dist/index.js +238 -411
  3. package/dist/package.json +89 -93
  4. package/dist/src/api/channels.d.ts +592 -16
  5. package/dist/src/api/channels.d.ts.map +1 -1
  6. package/dist/src/api/update.d.ts.map +1 -1
  7. package/dist/src/app/add.d.ts +2 -8
  8. package/dist/src/app/add.d.ts.map +1 -1
  9. package/dist/src/app/debug.d.ts +1 -1
  10. package/dist/src/app/debug.d.ts.map +1 -1
  11. package/dist/src/app/delete.d.ts +2 -1
  12. package/dist/src/app/delete.d.ts.map +1 -1
  13. package/dist/src/app/info.d.ts +9 -1
  14. package/dist/src/app/info.d.ts.map +1 -1
  15. package/dist/src/app/list.d.ts +19 -1
  16. package/dist/src/app/list.d.ts.map +1 -1
  17. package/dist/src/app/set.d.ts +2 -1
  18. package/dist/src/app/set.d.ts.map +1 -1
  19. package/dist/src/app/setting.d.ts +2 -1
  20. package/dist/src/app/setting.d.ts.map +1 -1
  21. package/dist/src/bundle/cleanup.d.ts +5 -1
  22. package/dist/src/bundle/cleanup.d.ts.map +1 -1
  23. package/dist/src/bundle/compatibility.d.ts +4 -4
  24. package/dist/src/bundle/compatibility.d.ts.map +1 -1
  25. package/dist/src/bundle/delete.d.ts +2 -1
  26. package/dist/src/bundle/delete.d.ts.map +1 -1
  27. package/dist/src/bundle/partial.d.ts +2 -2
  28. package/dist/src/bundle/partial.d.ts.map +1 -1
  29. package/dist/src/bundle/upload.d.ts +3 -3
  30. package/dist/src/bundle/upload.d.ts.map +1 -1
  31. package/dist/src/bundle/upload_interface.d.ts +1 -0
  32. package/dist/src/bundle/upload_interface.d.ts.map +1 -1
  33. package/dist/src/bundle/zip.d.ts.map +1 -1
  34. package/dist/src/channel/add.d.ts +2 -2
  35. package/dist/src/channel/add.d.ts.map +1 -1
  36. package/dist/src/channel/currentBundle.d.ts +2 -1
  37. package/dist/src/channel/currentBundle.d.ts.map +1 -1
  38. package/dist/src/channel/delete.d.ts +2 -1
  39. package/dist/src/channel/delete.d.ts.map +1 -1
  40. package/dist/src/channel/list.d.ts +2 -1
  41. package/dist/src/channel/list.d.ts.map +1 -1
  42. package/dist/src/channel/set.d.ts +2 -1
  43. package/dist/src/channel/set.d.ts.map +1 -1
  44. package/dist/src/checksum.d.ts +9 -0
  45. package/dist/src/checksum.d.ts.map +1 -0
  46. package/dist/src/init.d.ts.map +1 -1
  47. package/dist/src/keyV2.d.ts +2 -3
  48. package/dist/src/keyV2.d.ts.map +1 -1
  49. package/dist/src/login.d.ts +2 -2
  50. package/dist/src/login.d.ts.map +1 -1
  51. package/dist/src/organisation/list.d.ts +3 -0
  52. package/dist/src/organisation/list.d.ts.map +1 -1
  53. package/dist/src/sdk.d.ts +107 -4
  54. package/dist/src/sdk.d.ts.map +1 -1
  55. package/dist/src/sdk.js +247 -310
  56. package/dist/src/types/supabase.types.d.ts +313 -9
  57. package/dist/src/types/supabase.types.d.ts.map +1 -1
  58. package/dist/src/utils/latest-version.d.ts +7 -0
  59. package/dist/src/utils/latest-version.d.ts.map +1 -0
  60. package/dist/src/utils.d.ts +302 -21
  61. package/dist/src/utils.d.ts.map +1 -1
  62. package/package.json +11 -15
  63. package/dist/src/api/app.js +0 -45
  64. package/dist/src/api/app.js.map +0 -1
  65. package/dist/src/api/channels.js +0 -167
  66. package/dist/src/api/channels.js.map +0 -1
  67. package/dist/src/api/cryptoV2.js +0 -102
  68. package/dist/src/api/cryptoV2.js.map +0 -1
  69. package/dist/src/api/update.js +0 -14
  70. package/dist/src/api/update.js.map +0 -1
  71. package/dist/src/api/versions.js +0 -92
  72. package/dist/src/api/versions.js.map +0 -1
  73. package/dist/src/app/add.js +0 -150
  74. package/dist/src/app/add.js.map +0 -1
  75. package/dist/src/app/debug.js +0 -222
  76. package/dist/src/app/debug.js.map +0 -1
  77. package/dist/src/app/delete.js +0 -89
  78. package/dist/src/app/delete.js.map +0 -1
  79. package/dist/src/app/info.js +0 -84
  80. package/dist/src/app/info.js.map +0 -1
  81. package/dist/src/app/list.js +0 -48
  82. package/dist/src/app/list.js.map +0 -1
  83. package/dist/src/app/set.js +0 -96
  84. package/dist/src/app/set.js.map +0 -1
  85. package/dist/src/app/setting.js +0 -50
  86. package/dist/src/app/setting.js.map +0 -1
  87. package/dist/src/bundle/check.js +0 -30
  88. package/dist/src/bundle/check.js.map +0 -1
  89. package/dist/src/bundle/cleanup.js +0 -105
  90. package/dist/src/bundle/cleanup.js.map +0 -1
  91. package/dist/src/bundle/compatibility.js +0 -62
  92. package/dist/src/bundle/compatibility.js.map +0 -1
  93. package/dist/src/bundle/decryptV2.js +0 -76
  94. package/dist/src/bundle/decryptV2.js.map +0 -1
  95. package/dist/src/bundle/delete.js +0 -40
  96. package/dist/src/bundle/delete.js.map +0 -1
  97. package/dist/src/bundle/encryptV2.js +0 -108
  98. package/dist/src/bundle/encryptV2.js.map +0 -1
  99. package/dist/src/bundle/list.js +0 -36
  100. package/dist/src/bundle/list.js.map +0 -1
  101. package/dist/src/bundle/partial.js +0 -332
  102. package/dist/src/bundle/partial.js.map +0 -1
  103. package/dist/src/bundle/unlink.js +0 -70
  104. package/dist/src/bundle/unlink.js.map +0 -1
  105. package/dist/src/bundle/upload.js +0 -700
  106. package/dist/src/bundle/upload.js.map +0 -1
  107. package/dist/src/bundle/upload_interface.js +0 -2
  108. package/dist/src/bundle/upload_interface.js.map +0 -1
  109. package/dist/src/bundle/zip.js +0 -148
  110. package/dist/src/bundle/zip.js.map +0 -1
  111. package/dist/src/channel/add.js +0 -68
  112. package/dist/src/channel/add.js.map +0 -1
  113. package/dist/src/channel/currentBundle.js +0 -54
  114. package/dist/src/channel/currentBundle.js.map +0 -1
  115. package/dist/src/channel/delete.js +0 -77
  116. package/dist/src/channel/delete.js.map +0 -1
  117. package/dist/src/channel/list.js +0 -45
  118. package/dist/src/channel/list.js.map +0 -1
  119. package/dist/src/channel/set.js +0 -220
  120. package/dist/src/channel/set.js.map +0 -1
  121. package/dist/src/config/index.js +0 -31
  122. package/dist/src/config/index.js.map +0 -1
  123. package/dist/src/docs.js +0 -280
  124. package/dist/src/docs.js.map +0 -1
  125. package/dist/src/index.js +0 -504
  126. package/dist/src/index.js.map +0 -1
  127. package/dist/src/init.js +0 -797
  128. package/dist/src/init.js.map +0 -1
  129. package/dist/src/keyV2.js +0 -163
  130. package/dist/src/keyV2.js.map +0 -1
  131. package/dist/src/login.js +0 -51
  132. package/dist/src/login.js.map +0 -1
  133. package/dist/src/organisation/add.js +0 -82
  134. package/dist/src/organisation/add.js.map +0 -1
  135. package/dist/src/organisation/delete.js +0 -91
  136. package/dist/src/organisation/delete.js.map +0 -1
  137. package/dist/src/organisation/index.js +0 -5
  138. package/dist/src/organisation/index.js.map +0 -1
  139. package/dist/src/organisation/list.js +0 -60
  140. package/dist/src/organisation/list.js.map +0 -1
  141. package/dist/src/organisation/set.js +0 -95
  142. package/dist/src/organisation/set.js.map +0 -1
  143. package/dist/src/sdk.js.map +0 -1
  144. package/dist/src/types/supabase.types.js +0 -88
  145. package/dist/src/types/supabase.types.js.map +0 -1
  146. package/dist/src/user/account.js +0 -31
  147. package/dist/src/user/account.js.map +0 -1
  148. package/dist/src/utils.js +0 -1184
  149. package/dist/src/utils.js.map +0 -1
package/dist/src/index.js DELETED
@@ -1,504 +0,0 @@
1
- import { exit } from 'node:process';
2
- import { program } from 'commander';
3
- import pack from '../package.json';
4
- import { addCommand } from './app/add';
5
- import { debugApp } from './app/debug';
6
- import { deleteApp } from './app/delete';
7
- import { getInfo } from './app/info';
8
- import { listApp } from './app/list';
9
- import { setApp } from './app/set';
10
- import { setSetting } from './app/setting';
11
- import { cleanupBundle } from './bundle/cleanup';
12
- import { checkCompatibilityCommand } from './bundle/compatibility';
13
- import { decryptZipV2 } from './bundle/decryptV2';
14
- import { deleteBundle } from './bundle/delete';
15
- import { encryptZipV2 } from './bundle/encryptV2';
16
- import { listBundle } from './bundle/list';
17
- import { uploadCommand } from './bundle/upload';
18
- import { zipBundle } from './bundle/zip';
19
- import { addChannelCommand } from './channel/add';
20
- import { currentBundle } from './channel/currentBundle';
21
- import { deleteChannel } from './channel/delete';
22
- import { listChannels } from './channel/list';
23
- import { setChannel } from './channel/set';
24
- import { generateDocs } from './docs';
25
- import { initApp } from './init';
26
- import { createKeyCommandV2, deleteOldKeyCommandV2, saveKeyCommandV2 } from './keyV2';
27
- import { loginCommand } from './login';
28
- import { addOrganization, deleteOrganization, listOrganizations, setOrganization } from './organisation';
29
- import { getUserId } from './user/account';
30
- // Common option descriptions used across multiple commands
31
- const optionDescriptions = {
32
- apikey: `API key to link to your account`,
33
- supaHost: `Custom Supabase host URL (for self-hosting or Capgo development)`,
34
- supaAnon: `Custom Supabase anon key (for self-hosting)`,
35
- packageJson: `Paths to package.json files for monorepos (comma-separated)`,
36
- nodeModules: `Paths to node_modules directories for monorepos (comma-separated)`,
37
- };
38
- program
39
- .name(pack.name)
40
- .description(`๐Ÿ“ฆ Manage packages and bundle versions in Capgo Cloud`)
41
- .version(pack.version, '-v, --version', `output the current version`);
42
- program
43
- .command('init [apikey] [appId]')
44
- .alias('i')
45
- .description(`๐Ÿš€ Initialize a new app in Capgo Cloud with step-by-step guidance.
46
-
47
- This includes adding code for updates, building, uploading your app, and verifying update functionality.
48
-
49
- Example: npx @capgo/cli@latest init YOUR_API_KEY com.example.app`)
50
- .action(initApp)
51
- .option('-n, --name <name>', `App name for display in Capgo Cloud`)
52
- .option('-i, --icon <icon>', `App icon path for display in Capgo Cloud`)
53
- .option('--supa-host <supaHost>', optionDescriptions.supaHost)
54
- .option('--supa-anon <supaAnon>', optionDescriptions.supaAnon);
55
- program
56
- .command('doctor')
57
- .description(`๐Ÿ‘จโ€โš•๏ธ Check if your Capgo app installation is up-to-date and gather information useful for bug reports.
58
-
59
- This command helps diagnose issues with your setup.
60
-
61
- Example: npx @capgo/cli@latest doctor`)
62
- .option('--package-json <packageJson>', optionDescriptions.packageJson)
63
- .action(async (...args) => {
64
- const options = args.at(-1);
65
- await getInfo(options);
66
- });
67
- program
68
- .command('login [apikey]')
69
- .alias('l')
70
- .description(`๐Ÿ”‘ Save your Capgo API key to your machine or local folder for easier access to Capgo Cloud services.
71
-
72
- Use --apikey=******** in any command to override it.
73
-
74
- Example: npx @capgo/cli@latest login YOUR_API_KEY`)
75
- .action(loginCommand)
76
- .option('--local', `Only save in local folder, git ignored for security.`)
77
- .option('--supa-host <supaHost>', optionDescriptions.supaHost)
78
- .option('--supa-anon <supaAnon>', optionDescriptions.supaAnon);
79
- const bundle = program
80
- .command('bundle')
81
- .description(`๐Ÿ“ฆ Manage app bundles for deployment in Capgo Cloud, including upload, compatibility checks, and encryption.`);
82
- bundle
83
- .command('upload [appId]')
84
- .alias('u')
85
- .description(`โฌ†๏ธ Upload a new app bundle to Capgo Cloud for distribution.
86
-
87
- Version must be > 0.0.0 and unique. Deleted versions cannot be reused for security.
88
-
89
- External option: Store only a URL link (useful for apps >200MB or privacy requirements).
90
- Capgo never inspects external content. Add encryption for trustless security.
91
-
92
- Example: npx @capgo/cli@latest bundle upload com.example.app --path ./dist --channel production`)
93
- .action(uploadCommand)
94
- .option('-a, --apikey <apikey>', optionDescriptions.apikey)
95
- .option('-p, --path <path>', `Path of the folder to upload, if not provided it will use the webDir set in capacitor.config`)
96
- .option('-c, --channel <channel>', `Channel to link to`)
97
- .option('-e, --external <url>', `Link to external URL instead of upload to Capgo Cloud`)
98
- .option('--iv-session-key <key>', `Set the IV and session key for bundle URL external`)
99
- .option('--s3-region <region>', `Region for your S3 bucket`)
100
- .option('--s3-apikey <apikey>', `API key for your S3 endpoint`)
101
- .option('--s3-apisecret <apisecret>', `API secret for your S3 endpoint`)
102
- .option('--s3-endpoint <s3Endpoint>', `URL of S3 endpoint`)
103
- .option('--s3-bucket-name <bucketName>', `Name for your AWS S3 bucket`)
104
- .option('--s3-port <port>', `Port for your S3 endpoint`)
105
- .option('--no-s3-ssl', `Disable SSL for S3 upload`)
106
- .option('--key-v2 <key>', `Custom path for private signing key (v2 system)`)
107
- .option('--key-data-v2 <keyDataV2>', `Private signing key (v2 system)`)
108
- .option('--bundle-url', `Prints bundle URL into stdout`)
109
- .option('--no-key', `Ignore signing key and send clear update`)
110
- .option('--no-code-check', `Ignore checking if notifyAppReady() is called in source code and index present in root folder`)
111
- .option('--display-iv-session', `Show in the console the IV and session key used to encrypt the update`)
112
- .option('-b, --bundle <bundle>', `Bundle version number of the bundle to upload`)
113
- .option('--link <link>', `Link to external resource (e.g. GitHub release)`)
114
- .option('--comment <comment>', `Comment about this version, could be a release note, a commit hash, a commit message, etc.`)
115
- .option('--min-update-version <minUpdateVersion>', `Minimal version required to update to this version. Used only if the disable auto update is set to metadata in channel`)
116
- .option('--auto-min-update-version', `Set the min update version based on native packages`)
117
- .option('--ignore-metadata-check', `Ignores the metadata (node_modules) check when uploading`)
118
- .option('--ignore-checksum-check', `Ignores the checksum check when uploading`)
119
- .option('--timeout <timeout>', `Timeout for the upload process in seconds`)
120
- .option('--multipart', `[DEPRECATED] Use --tus instead. Uses multipart protocol for S3 uploads`)
121
- .option('--zip', `Upload the bundle using zip to Capgo cloud (legacy)`)
122
- .option('--tus', `Upload the bundle using TUS to Capgo cloud`)
123
- .option('--tus-chunk-size <tusChunkSize>', `Chunk size in bytes for TUS resumable uploads (default: auto)`)
124
- .option('--partial', `[DEPRECATED] Use --delta instead. Upload incremental updates`)
125
- .option('--partial-only', `[DEPRECATED] Use --delta-only instead. Upload only incremental updates, skip full bundle`)
126
- .option('--delta', `Upload incremental/differential updates to reduce bandwidth`)
127
- .option('--delta-only', `Upload only delta updates without full bundle (useful for large apps)`)
128
- .option('--encrypted-checksum <encryptedChecksum>', `An encrypted checksum (signature). Used only when uploading an external bundle.`)
129
- .option('--auto-set-bundle', `Set the bundle in capacitor.config.json`)
130
- .option('--dry-upload', `Dry upload the bundle process, mean it will not upload the files but add the row in database (Used by Capgo for internal testing)`)
131
- .option('--package-json <packageJson>', optionDescriptions.packageJson)
132
- .option('--node-modules <nodeModules>', optionDescriptions.nodeModules)
133
- .option('--encrypt-partial', `Encrypt delta update files (auto-enabled for updater > 6.14.4)`)
134
- .option('--delete-linked-bundle-on-upload', `Locates the currently linked bundle in the channel you are trying to upload to, and deletes it`)
135
- .option('--no-brotli-patterns <patterns>', `Files to exclude from Brotli compression (comma-separated globs, e.g., "*.jpg,*.png")`)
136
- .option('--disable-brotli', `Completely disable brotli compression even if updater version supports it`)
137
- .option('--version-exists-ok', `Exit successfully if bundle version already exists, useful for CI/CD workflows with monorepos`)
138
- .option('--self-assign', `Allow devices to auto-join this channel (updates channel setting)`)
139
- .option('--supa-host <supaHost>', optionDescriptions.supaHost)
140
- .option('--supa-anon <supaAnon>', optionDescriptions.supaAnon);
141
- bundle
142
- .command('compatibility [appId]')
143
- .description(`๐Ÿงช Check compatibility of a bundle with a specific channel in Capgo Cloud to ensure updates are safe.
144
-
145
- Example: npx @capgo/cli@latest bundle compatibility com.example.app --channel production`)
146
- .action(checkCompatibilityCommand)
147
- .option('-a, --apikey <apikey>', optionDescriptions.apikey)
148
- .option('-c, --channel <channel>', `Channel to check the compatibility with`)
149
- .option('--text', `Output text instead of emojis`)
150
- .option('--package-json <packageJson>', optionDescriptions.packageJson)
151
- .option('--node-modules <nodeModules>', optionDescriptions.nodeModules)
152
- .option('--supa-host <supaHost>', optionDescriptions.supaHost)
153
- .option('--supa-anon <supaAnon>', optionDescriptions.supaAnon);
154
- bundle
155
- .command('delete [bundleId] [appId]')
156
- .alias('d')
157
- .description(`๐Ÿ—‘๏ธ Delete a specific bundle from Capgo Cloud, optionally targeting a single version.
158
-
159
- Example: npx @capgo/cli@latest bundle delete BUNDLE_ID com.example.app`)
160
- .action(async (bundleId, appId, options) => {
161
- await deleteBundle(bundleId, appId, options);
162
- })
163
- .option('-a, --apikey <apikey>', optionDescriptions.apikey)
164
- .option('--supa-host <supaHost>', optionDescriptions.supaHost)
165
- .option('--supa-anon <supaAnon>', optionDescriptions.supaAnon);
166
- bundle
167
- .command('list [appId]')
168
- .alias('l')
169
- .description(`๐Ÿ“‹ List all bundles uploaded for an app in Capgo Cloud.
170
-
171
- Example: npx @capgo/cli@latest bundle list com.example.app`)
172
- .action(async (appId, options) => {
173
- await listBundle(appId, options);
174
- })
175
- .option('-a, --apikey <apikey>', optionDescriptions.apikey)
176
- .option('--supa-host <supaHost>', optionDescriptions.supaHost)
177
- .option('--supa-anon <supaAnon>', optionDescriptions.supaAnon);
178
- bundle
179
- .command('cleanup [appId]')
180
- .alias('c')
181
- .description(`๐Ÿงน Delete old bundles in Capgo Cloud, keeping specified number of recent versions.
182
-
183
- Bundles linked to channels are preserved unless --ignore-channel is used.
184
-
185
- Example: npx @capgo/cli@latest bundle cleanup com.example.app --bundle=1.0 --keep=3`)
186
- .action(async (appId, options) => {
187
- await cleanupBundle(appId, options);
188
- })
189
- .option('-b, --bundle <bundle>', `Bundle version number of the app to delete`)
190
- .option('-a, --apikey <apikey>', optionDescriptions.apikey)
191
- .option('-k, --keep <keep>', `Number of versions to keep`)
192
- .option('-f, --force', `Force removal`)
193
- .option('--ignore-channel', `Delete bundles even if linked to channels (WARNING: deletes channels too)`)
194
- .option('--supa-host <supaHost>', optionDescriptions.supaHost)
195
- .option('--supa-anon <supaAnon>', optionDescriptions.supaAnon);
196
- bundle
197
- .command('encrypt [zipPath] [checksum]')
198
- .description(`๐Ÿ”’ Encrypt a zip bundle for secure external storage.
199
-
200
- Returns ivSessionKey for upload/decryption. Get checksum using 'bundle zip --json'.
201
-
202
- Example: npx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM`)
203
- .action(encryptZipV2)
204
- .option('--key <key>', `Custom path for private signing key`)
205
- .option('--key-data <keyData>', `Private signing key`)
206
- .option('-j, --json', `Output in JSON`);
207
- bundle
208
- .command('decrypt [zipPath] [checksum]')
209
- .description(`๐Ÿ”“ Decrypt an encrypted bundle (mainly for testing).
210
-
211
- Prints base64 session key for verification.
212
-
213
- Example: npx @capgo/cli@latest bundle decrypt ./myapp_encrypted.zip CHECKSUM`)
214
- .action(decryptZipV2)
215
- .option('--key <key>', `Custom path for private signing key`)
216
- .option('--key-data <keyData>', `Private signing key`)
217
- .option('--checksum <checksum>', `Checksum of the bundle, to verify the integrity of the bundle`);
218
- bundle
219
- .command('zip [appId]')
220
- .description(`๐Ÿ—œ๏ธ Create a zip file of your app bundle.
221
-
222
- Returns checksum for use with encryption. Use --json for machine-readable output.
223
-
224
- Example: npx @capgo/cli@latest bundle zip com.example.app --path ./dist`)
225
- .action(zipBundle)
226
- .option('-p, --path <path>', `Path of the folder to upload, if not provided it will use the webDir set in capacitor.config`)
227
- .option('-b, --bundle <bundle>', `Bundle version number to name the zip file`)
228
- .option('-n, --name <name>', `Name of the zip file`)
229
- .option('-j, --json', `Output in JSON`)
230
- .option('--no-code-check', `Ignore checking if notifyAppReady() is called in source code and index present in root folder`)
231
- .option('--key-v2', `Use encryption v2`)
232
- .option('--package-json <packageJson>', optionDescriptions.packageJson);
233
- const app = program
234
- .command('app')
235
- .description(`๐Ÿ“ฑ Manage your Capgo app settings and configurations in Capgo Cloud.`);
236
- app
237
- .command('add [appId]')
238
- .alias('a')
239
- .description(`โž• Add a new app to Capgo Cloud with a unique app ID in the format com.test.app.
240
-
241
- All options can be guessed from config if not provided.
242
-
243
- Example: npx @capgo/cli@latest app add com.example.app --name "My App" --icon ./icon.png`)
244
- .action(addCommand)
245
- .option('-n, --name <name>', `App name for display in Capgo Cloud`)
246
- .option('-i, --icon <icon>', `App icon path for display in Capgo Cloud`)
247
- .option('-a, --apikey <apikey>', optionDescriptions.apikey)
248
- .option('--supa-host <supaHost>', optionDescriptions.supaHost)
249
- .option('--supa-anon <supaAnon>', optionDescriptions.supaAnon);
250
- app
251
- .command('delete [appId]')
252
- .description(`๐Ÿ—‘๏ธ Delete an app from Capgo Cloud, optionally specifying a version to delete only that bundle.
253
-
254
- Example: npx @capgo/cli@latest app delete com.example.app`)
255
- .action(async (appId, options) => {
256
- await deleteApp(appId, options);
257
- })
258
- .option('-a, --apikey <apikey>', optionDescriptions.apikey)
259
- .option('--supa-host <supaHost>', optionDescriptions.supaHost)
260
- .option('--supa-anon <supaAnon>', optionDescriptions.supaAnon);
261
- app
262
- .command('list')
263
- .alias('l')
264
- .description(`๐Ÿ“‹ List all apps registered under your account in Capgo Cloud.
265
-
266
- Example: npx @capgo/cli@latest app list`)
267
- .action(async (options) => {
268
- await listApp(options);
269
- })
270
- .option('-a, --apikey <apikey>', optionDescriptions.apikey)
271
- .option('--supa-host <supaHost>', optionDescriptions.supaHost)
272
- .option('--supa-anon <supaAnon>', optionDescriptions.supaAnon);
273
- app
274
- .command('debug [appId]')
275
- .action(debugApp)
276
- .description(`๐Ÿž Listen for live update events in Capgo Cloud to debug your app.
277
-
278
- Optionally target a specific device for detailed diagnostics.
279
-
280
- Example: npx @capgo/cli@latest app debug com.example.app --device DEVICE_ID`)
281
- .option('-a, --apikey <apikey>', optionDescriptions.apikey)
282
- .option('-d, --device <device>', `The specific device ID to debug`)
283
- .option('--supa-host <supaHost>', optionDescriptions.supaHost)
284
- .option('--supa-anon <supaAnon>', optionDescriptions.supaAnon);
285
- app
286
- .command('setting [path]')
287
- .description(`โš™๏ธ Modify Capacitor configuration programmatically.
288
-
289
- Specify setting path (e.g., plugins.CapacitorUpdater.defaultChannel) with --string or --bool.
290
-
291
- Example: npx @capgo/cli@latest app setting plugins.CapacitorUpdater.defaultChannel --string "Production"`)
292
- .option('--bool <bool>', `A value for the setting to modify as a boolean, ex: --bool true`)
293
- .option('--string <string>', `A value for the setting to modify as a string, ex: --string "Production"`)
294
- .action(setSetting);
295
- app
296
- .command('set [appId]')
297
- .alias('s')
298
- .description(`โš™๏ธ Update settings for an existing app in Capgo Cloud, such as name, icon, or retention period for bundles.
299
-
300
- Retention of 0 means infinite storage.
301
-
302
- Example: npx @capgo/cli@latest app set com.example.app --name "Updated App" --retention 30`)
303
- .action(async (appId, options) => {
304
- await setApp(appId, options);
305
- })
306
- .option('-n, --name <name>', `App name for display in Capgo Cloud`)
307
- .option('-i, --icon <icon>', `App icon path for display in Capgo Cloud`)
308
- .option('-a, --apikey <apikey>', optionDescriptions.apikey)
309
- .option('-r, --retention <retention>', `Days to keep old bundles (0 = infinite, default: 0)`)
310
- .option('--supa-host <supaHost>', optionDescriptions.supaHost)
311
- .option('--supa-anon <supaAnon>', optionDescriptions.supaAnon);
312
- const channel = program
313
- .command('channel')
314
- .description(`๐Ÿ“ข Manage distribution channels for app updates in Capgo Cloud, controlling how updates are delivered to devices.`);
315
- channel
316
- .command('add [channelId] [appId]')
317
- .alias('a')
318
- .description(`โž• Create a new channel for app distribution in Capgo Cloud to manage update delivery.
319
-
320
- Example: npx @capgo/cli@latest channel add production com.example.app --default`)
321
- .action(addChannelCommand)
322
- .option('-d, --default', `Set the channel as default`)
323
- .option('--self-assign', `Allow device to self-assign to this channel`)
324
- .option('-a, --apikey <apikey>', optionDescriptions.apikey)
325
- .option('--supa-host <supaHost>', optionDescriptions.supaHost)
326
- .option('--supa-anon <supaAnon>', optionDescriptions.supaAnon);
327
- channel
328
- .command('delete [channelId] [appId]')
329
- .alias('d')
330
- .description(`๐Ÿ—‘๏ธ Delete a channel from Capgo Cloud, optionally removing associated bundles to free up resources.
331
-
332
- Example: npx @capgo/cli@latest channel delete production com.example.app`)
333
- .action(async (channelId, appId, options) => {
334
- await deleteChannel(channelId, appId, options);
335
- })
336
- .option('-a, --apikey <apikey>', optionDescriptions.apikey)
337
- .option('--delete-bundle', `Delete the bundle associated with the channel`)
338
- .option('--success-if-not-found', `Success if the channel is not found`)
339
- .option('--supa-host <supaHost>', optionDescriptions.supaHost)
340
- .option('--supa-anon <supaAnon>', optionDescriptions.supaAnon);
341
- channel
342
- .command('list [appId]')
343
- .alias('l')
344
- .description(`๐Ÿ“‹ List all channels configured for an app in Capgo Cloud to review distribution settings.
345
-
346
- Example: npx @capgo/cli@latest channel list com.example.app`)
347
- .action(async (appId, options) => {
348
- await listChannels(appId, options);
349
- })
350
- .option('-a, --apikey <apikey>', optionDescriptions.apikey)
351
- .option('--supa-host <supaHost>', optionDescriptions.supaHost)
352
- .option('--supa-anon <supaAnon>', optionDescriptions.supaAnon);
353
- channel
354
- .command('currentBundle [channel] [appId]')
355
- .description(`๐Ÿ“ฆ Get the current bundle linked to a specific channel in Capgo Cloud for update tracking.
356
-
357
- Example: npx @capgo/cli@latest channel currentBundle production com.example.app`)
358
- .action(async (channelId, appId, options) => {
359
- await currentBundle(channelId, appId, options);
360
- })
361
- .option('-c, --channel <channel>', `Channel to get the current bundle from`)
362
- .option('-a, --apikey <apikey>', optionDescriptions.apikey)
363
- .option('--quiet', `Only print the bundle version`)
364
- .option('--supa-host <supaHost>', optionDescriptions.supaHost)
365
- .option('--supa-anon <supaAnon>', optionDescriptions.supaAnon);
366
- channel
367
- .command('set [channelId] [appId]')
368
- .alias('s')
369
- .description(`โš™๏ธ Configure settings for a channel, such as linking a bundle, setting update strategies (major, minor, metadata, patch, none), or device targeting (iOS, Android, dev, emulator).
370
-
371
- One channel must be default.
372
-
373
- Example: npx @capgo/cli@latest channel set production com.example.app --bundle 1.0.0 --state default`)
374
- .action(async (channelId, appId, options) => {
375
- await setChannel(channelId, appId, options);
376
- })
377
- .option('-a, --apikey <apikey>', optionDescriptions.apikey)
378
- .option('-b, --bundle <bundle>', `Bundle version number of the file to set`)
379
- .option('-s, --state <state>', `Set the state of the channel, default or normal`)
380
- .option('--latest-remote', `Get the latest bundle uploaded in capgo cloud and set it to the channel`)
381
- .option('--latest', `Get the latest version key in the package.json to set it to the channel`)
382
- .option('--downgrade', `Allow to downgrade to version under native one`)
383
- .option('--no-downgrade', `Disable downgrade to version under native one`)
384
- .option('--ios', `Allow sending update to iOS devices`)
385
- .option('--no-ios', `Disable sending update to iOS devices`)
386
- .option('--android', `Allow sending update to Android devices`)
387
- .option('--no-android', `Disable sending update to Android devices`)
388
- .option('--self-assign', `Allow device to self-assign to this channel`)
389
- .option('--no-self-assign', `Disable devices to self-assign to this channel`)
390
- .option('--disable-auto-update <disableAutoUpdate>', `Block updates by type: major, minor, metadata, patch, or none (allows all)`)
391
- .option('--dev', `Allow sending update to development devices`)
392
- .option('--no-dev', `Disable sending update to development devices`)
393
- .option('--emulator', `Allow sending update to emulator devices`)
394
- .option('--no-emulator', `Disable sending update to emulator devices`)
395
- .option('--package-json <packageJson>', optionDescriptions.packageJson)
396
- .option('--ignore-metadata-check', `Ignore checking node_modules compatibility if present in the bundle`)
397
- .option('--supa-host <supaHost>', optionDescriptions.supaHost)
398
- .option('--supa-anon <supaAnon>', optionDescriptions.supaAnon);
399
- const keyV2 = program
400
- .command('key')
401
- .description(`๐Ÿ” Manage encryption keys for secure bundle distribution in Capgo Cloud, supporting end-to-end encryption with RSA and AES combination.`);
402
- keyV2
403
- .command('save')
404
- .description(`๐Ÿ’พ Save the public key in the Capacitor config, useful for CI environments.
405
-
406
- Recommended not to commit the key for security.
407
-
408
- Example: npx @capgo/cli@latest key save --key ./path/to/key.pub`)
409
- .action(saveKeyCommandV2)
410
- .option('-f, --force', `Force generate a new one`)
411
- .option('--key <key>', `Key path to save in Capacitor config`)
412
- .option('--key-data <keyData>', `Key data to save in Capacitor config`);
413
- keyV2
414
- .command('create')
415
- .description(`๐Ÿ”จ Create RSA key pair for end-to-end encryption.
416
-
417
- Creates .capgo_key_v2 (private) and .capgo_key_v2.pub (public) in project root.
418
- Public key is saved to capacitor.config for mobile app decryption.
419
- NEVER commit the private key - store it securely!
420
-
421
- Example: npx @capgo/cli@latest key create`)
422
- .action(createKeyCommandV2)
423
- .option('-f, --force', `Force generate a new one`);
424
- keyV2
425
- .command('delete_old')
426
- .description(`๐Ÿงน Delete the old encryption key from the Capacitor config to ensure only the current key is used.
427
-
428
- Example: npx @capgo/cli@latest key delete_old`)
429
- .action(deleteOldKeyCommandV2);
430
- const account = program
431
- .command('account')
432
- .description(`๐Ÿ‘ค Manage your Capgo account details and retrieve information for support or collaboration.`);
433
- account.command('id')
434
- .description(`๐Ÿชช Retrieve your account ID, safe to share for collaboration or support purposes in Discord or other platforms.
435
-
436
- Example: npx @capgo/cli@latest account id`)
437
- .action(getUserId)
438
- .option('-a, --apikey <apikey>', optionDescriptions.apikey);
439
- const organisation = program
440
- .command('organisation')
441
- .description(`๐Ÿข Manage your organizations in Capgo Cloud for team collaboration and app management.`);
442
- organisation
443
- .command('list')
444
- .alias('l')
445
- .description(`๐Ÿ“‹ List all organizations you have access to in Capgo Cloud.
446
-
447
- Example: npx @capgo/cli@latest organisation list`)
448
- .action(listOrganizations)
449
- .option('-a, --apikey <apikey>', optionDescriptions.apikey)
450
- .option('--supa-host <supaHost>', optionDescriptions.supaHost)
451
- .option('--supa-anon <supaAnon>', optionDescriptions.supaAnon);
452
- organisation
453
- .command('add')
454
- .alias('a')
455
- .description(`โž• Create a new organization in Capgo Cloud for team collaboration.
456
-
457
- Example: npx @capgo/cli@latest organisation add --name "My Company" --email admin@mycompany.com`)
458
- .action(addOrganization)
459
- .option('-n, --name <name>', `Organization name`)
460
- .option('-e, --email <email>', `Management email for the organization`)
461
- .option('-a, --apikey <apikey>', optionDescriptions.apikey)
462
- .option('--supa-host <supaHost>', optionDescriptions.supaHost)
463
- .option('--supa-anon <supaAnon>', optionDescriptions.supaAnon);
464
- organisation
465
- .command('set [orgId]')
466
- .alias('s')
467
- .description(`โš™๏ธ Update organization settings such as name and management email.
468
-
469
- Example: npx @capgo/cli@latest organisation set ORG_ID --name "Updated Company Name"`)
470
- .action(setOrganization)
471
- .option('-n, --name <name>', `Organization name`)
472
- .option('-e, --email <email>', `Management email for the organization`)
473
- .option('-a, --apikey <apikey>', optionDescriptions.apikey)
474
- .option('--supa-host <supaHost>', optionDescriptions.supaHost)
475
- .option('--supa-anon <supaAnon>', optionDescriptions.supaAnon);
476
- organisation
477
- .command('delete [orgId]')
478
- .alias('d')
479
- .description(`๐Ÿ—‘๏ธ Delete an organization from Capgo Cloud. This action cannot be undone.
480
-
481
- Only organization owners can delete organizations.
482
-
483
- Example: npx @capgo/cli@latest organisation delete ORG_ID`)
484
- .action(deleteOrganization)
485
- .option('-a, --apikey <apikey>', optionDescriptions.apikey)
486
- .option('--supa-host <supaHost>', optionDescriptions.supaHost)
487
- .option('--supa-anon <supaAnon>', optionDescriptions.supaAnon);
488
- program
489
- .command('generate-docs [filePath]')
490
- .description('Generate Markdown documentation for CLI commands - either for README or individual files')
491
- .option('--folder <folderPath>', 'Generate individual markdown files for each command in the specified folder (instead of updating README)')
492
- .action((filePath, options) => {
493
- generateDocs(filePath, options.folder);
494
- });
495
- program.exitOverride();
496
- program.parseAsync().catch((error) => {
497
- if (typeof error === 'object' && error !== null && 'exitCode' in error) {
498
- const exitCode = error.exitCode;
499
- if (typeof exitCode === 'number')
500
- exit(exitCode);
501
- }
502
- exit(1);
503
- });
504
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,IAAI,MAAM,iBAAiB,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAA;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAChC,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AACrF,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACxG,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,2DAA2D;AAC3D,MAAM,kBAAkB,GAAG;IACzB,MAAM,EAAE,iCAAiC;IACzC,QAAQ,EAAE,kEAAkE;IAC5E,QAAQ,EAAE,6CAA6C;IACvD,WAAW,EAAE,6DAA6D;IAC1E,WAAW,EAAE,mEAAmE;CACjF,CAAA;AAED,OAAO;KACJ,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;KACf,WAAW,CAAC,uDAAuD,CAAC;KACpE,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,4BAA4B,CAAC,CAAA;AAEvE,OAAO;KACJ,OAAO,CAAC,uBAAuB,CAAC;KAChC,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC;;;;iEAIkD,CAAC;KAC/D,MAAM,CAAC,OAAO,CAAC;KACf,MAAM,CAAC,mBAAmB,EAAE,qCAAqC,CAAC;KAClE,MAAM,CAAC,mBAAmB,EAAE,0CAA0C,CAAC;KACvE,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC;KAC7D,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAA;AAEhE,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC;;;;sCAIuB,CAAC;KACpC,MAAM,CAAC,8BAA8B,EAAE,kBAAkB,CAAC,WAAW,CAAC;KACtE,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;IACxB,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3B,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;AACxB,CAAC,CAAC,CAAA;AAEJ,OAAO;KACJ,OAAO,CAAC,gBAAgB,CAAC;KACzB,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC;;;;kDAImC,CAAC;KAChD,MAAM,CAAC,YAAY,CAAC;KACpB,MAAM,CAAC,SAAS,EAAE,sDAAsD,CAAC;KACzE,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC;KAC7D,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAA;AAEhE,MAAM,MAAM,GAAG,OAAO;KACnB,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,8GAA8G,CAAC,CAAA;AAE9H,MAAM;KACH,OAAO,CAAC,gBAAgB,CAAC;KACzB,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC;;;;;;;gGAOiF,CAAC;KAC9F,MAAM,CAAC,aAAa,CAAC;KACrB,MAAM,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,MAAM,CAAC;KAC1D,MAAM,CAAC,mBAAmB,EAAE,8FAA8F,CAAC;KAC3H,MAAM,CAAC,yBAAyB,EAAE,oBAAoB,CAAC;KACvD,MAAM,CAAC,sBAAsB,EAAE,uDAAuD,CAAC;KACvF,MAAM,CAAC,wBAAwB,EAAE,oDAAoD,CAAC;KACtF,MAAM,CAAC,sBAAsB,EAAE,2BAA2B,CAAC;KAC3D,MAAM,CAAC,sBAAsB,EAAE,8BAA8B,CAAC;KAC9D,MAAM,CAAC,4BAA4B,EAAE,iCAAiC,CAAC;KACvE,MAAM,CAAC,4BAA4B,EAAE,oBAAoB,CAAC;KAC1D,MAAM,CAAC,+BAA+B,EAAE,6BAA6B,CAAC;KACtE,MAAM,CAAC,kBAAkB,EAAE,2BAA2B,CAAC;KACvD,MAAM,CAAC,aAAa,EAAE,2BAA2B,CAAC;KAClD,MAAM,CAAC,gBAAgB,EAAE,iDAAiD,CAAC;KAC3E,MAAM,CAAC,4BAA4B,EAAE,iCAAiC,CAAC;KACvE,MAAM,CAAC,cAAc,EAAE,+BAA+B,CAAC;KACvD,MAAM,CAAC,UAAU,EAAE,0CAA0C,CAAC;KAC9D,MAAM,CAAC,iBAAiB,EAAE,+FAA+F,CAAC;KAC1H,MAAM,CAAC,sBAAsB,EAAE,uEAAuE,CAAC;KACvG,MAAM,CAAC,uBAAuB,EAAE,+CAA+C,CAAC;KAChF,MAAM,CAAC,eAAe,EAAE,iDAAiD,CAAC;KAC1E,MAAM,CAAC,qBAAqB,EAAE,4FAA4F,CAAC;KAC3H,MAAM,CACL,yCAAyC,EACzC,wHAAwH,CACzH;KACA,MAAM,CAAC,2BAA2B,EAAE,qDAAqD,CAAC;KAC1F,MAAM,CAAC,yBAAyB,EAAE,0DAA0D,CAAC;KAC7F,MAAM,CAAC,yBAAyB,EAAE,2CAA2C,CAAC;KAC9E,MAAM,CAAC,qBAAqB,EAAE,2CAA2C,CAAC;KAC1E,MAAM,CAAC,aAAa,EAAE,wEAAwE,CAAC;KAC/F,MAAM,CAAC,OAAO,EAAE,qDAAqD,CAAC;KACtE,MAAM,CAAC,OAAO,EAAE,4CAA4C,CAAC;KAC7D,MAAM,CAAC,iCAAiC,EAAE,+DAA+D,CAAC;KAC1G,MAAM,CAAC,WAAW,EAAE,8DAA8D,CAAC;KACnF,MAAM,CAAC,gBAAgB,EAAE,0FAA0F,CAAC;KACpH,MAAM,CAAC,SAAS,EAAE,6DAA6D,CAAC;KAChF,MAAM,CAAC,cAAc,EAAE,uEAAuE,CAAC;KAC/F,MAAM,CAAC,0CAA0C,EAAE,iFAAiF,CAAC;KACrI,MAAM,CAAC,mBAAmB,EAAE,yCAAyC,CAAC;KACtE,MAAM,CAAC,cAAc,EAAE,mIAAmI,CAAC;KAC3J,MAAM,CAAC,8BAA8B,EAAE,kBAAkB,CAAC,WAAW,CAAC;KACtE,MAAM,CAAC,8BAA8B,EAAE,kBAAkB,CAAC,WAAW,CAAC;KACtE,MAAM,CAAC,mBAAmB,EAAE,gEAAgE,CAAC;KAC7F,MAAM,CAAC,kCAAkC,EAAE,gGAAgG,CAAC;KAC5I,MAAM,CAAC,iCAAiC,EAAE,uFAAuF,CAAC;KAClI,MAAM,CAAC,kBAAkB,EAAE,2EAA2E,CAAC;KACvG,MAAM,CAAC,qBAAqB,EAAE,+FAA+F,CAAC;KAC9H,MAAM,CAAC,eAAe,EAAE,mEAAmE,CAAC;KAC5F,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC;KAC7D,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAA;AAEhE,MAAM;KACH,OAAO,CAAC,uBAAuB,CAAC;KAChC,WAAW,CAAC;;yFAE0E,CAAC;KACvF,MAAM,CAAC,yBAAyB,CAAC;KACjC,MAAM,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,MAAM,CAAC;KAC1D,MAAM,CAAC,yBAAyB,EAAE,yCAAyC,CAAC;KAC5E,MAAM,CAAC,QAAQ,EAAE,+BAA+B,CAAC;KACjD,MAAM,CAAC,8BAA8B,EAAE,kBAAkB,CAAC,WAAW,CAAC;KACtE,MAAM,CAAC,8BAA8B,EAAE,kBAAkB,CAAC,WAAW,CAAC;KACtE,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC;KAC7D,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAA;AAEhE,MAAM;KACH,OAAO,CAAC,2BAA2B,CAAC;KACpC,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC;;uEAEwD,CAAC;KACrE,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,KAAa,EAAE,OAAY,EAAE,EAAE;IAC9D,MAAM,YAAY,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;AAC9C,CAAC,CAAC;KACD,MAAM,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,MAAM,CAAC;KAC1D,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC;KAC7D,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAA;AAEhE,MAAM;KACH,OAAO,CAAC,cAAc,CAAC;KACvB,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC;;2DAE4C,CAAC;KACzD,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,OAAY,EAAE,EAAE;IAC5C,MAAM,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;AAClC,CAAC,CAAC;KACD,MAAM,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,MAAM,CAAC;KAC1D,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC;KAC7D,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAA;AAEhE,MAAM;KACH,OAAO,CAAC,iBAAiB,CAAC;KAC1B,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC;;;;oFAIqE,CAAC;KAClF,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,OAAY,EAAE,EAAE;IAC5C,MAAM,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;AACrC,CAAC,CAAC;KACD,MAAM,CAAC,uBAAuB,EAAE,4CAA4C,CAAC;KAC7E,MAAM,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,MAAM,CAAC;KAC1D,MAAM,CAAC,mBAAmB,EAAE,4BAA4B,CAAC;KACzD,MAAM,CAAC,aAAa,EAAE,eAAe,CAAC;KACtC,MAAM,CAAC,kBAAkB,EAAE,2EAA2E,CAAC;KACvG,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC;KAC7D,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAA;AAEhE,MAAM;KACH,OAAO,CAAC,8BAA8B,CAAC;KACvC,WAAW,CAAC;;;;mEAIoD,CAAC;KACjE,MAAM,CAAC,YAAY,CAAC;KACpB,MAAM,CAAC,aAAa,EAAE,qCAAqC,CAAC;KAC5D,MAAM,CAAC,sBAAsB,EAAE,qBAAqB,CAAC;KACrD,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAA;AAEzC,MAAM;KACH,OAAO,CAAC,8BAA8B,CAAC;KACvC,WAAW,CAAC;;;;6EAI8D,CAAC;KAC3E,MAAM,CAAC,YAAY,CAAC;KACpB,MAAM,CAAC,aAAa,EAAE,qCAAqC,CAAC;KAC5D,MAAM,CAAC,sBAAsB,EAAE,qBAAqB,CAAC;KACrD,MAAM,CAAC,uBAAuB,EAAE,+DAA+D,CAAC,CAAA;AAEnG,MAAM;KACH,OAAO,CAAC,aAAa,CAAC;KACtB,WAAW,CAAC;;;;wEAIyD,CAAC;KACtE,MAAM,CAAC,SAAS,CAAC;KACjB,MAAM,CAAC,mBAAmB,EAAE,8FAA8F,CAAC;KAC3H,MAAM,CAAC,uBAAuB,EAAE,4CAA4C,CAAC;KAC7E,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC;KACnD,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC;KACtC,MAAM,CAAC,iBAAiB,EAAE,+FAA+F,CAAC;KAC1H,MAAM,CAAC,UAAU,EAAE,mBAAmB,CAAC;KACvC,MAAM,CAAC,8BAA8B,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAA;AAEzE,MAAM,GAAG,GAAG,OAAO;KAChB,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,sEAAsE,CAAC,CAAA;AAEtF,GAAG;KACA,OAAO,CAAC,aAAa,CAAC;KACtB,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC;;;;yFAI0E,CAAC;KACvF,MAAM,CAAC,UAAU,CAAC;KAClB,MAAM,CAAC,mBAAmB,EAAE,qCAAqC,CAAC;KAClE,MAAM,CAAC,mBAAmB,EAAE,0CAA0C,CAAC;KACvE,MAAM,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,MAAM,CAAC;KAC1D,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC;KAC7D,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAA;AAEhE,GAAG;KACA,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC;;0DAE2C,CAAC;KACxD,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,OAAY,EAAE,EAAE;IAC5C,MAAM,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;AACjC,CAAC,CAAC;KACD,MAAM,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,MAAM,CAAC;KAC1D,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC;KAC7D,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAA;AAEhE,GAAG;KACA,OAAO,CAAC,MAAM,CAAC;KACf,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC;;wCAEyB,CAAC;KACtC,MAAM,CAAC,KAAK,EAAE,OAAY,EAAE,EAAE;IAC7B,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;AACxB,CAAC,CAAC;KACD,MAAM,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,MAAM,CAAC;KAC1D,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC;KAC7D,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAA;AAEhE,GAAG;KACA,OAAO,CAAC,gBAAgB,CAAC;KACzB,MAAM,CAAC,QAAQ,CAAC;KAChB,WAAW,CAAC;;;;4EAI6D,CAAC;KAC1E,MAAM,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,MAAM,CAAC;KAC1D,MAAM,CAAC,uBAAuB,EAAE,iCAAiC,CAAC;KAClE,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC;KAC7D,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAA;AAEhE,GAAG;KACA,OAAO,CAAC,gBAAgB,CAAC;KACzB,WAAW,CAAC;;;;yGAI0F,CAAC;KACvG,MAAM,CAAC,eAAe,EAAE,iEAAiE,CAAC;KAC1F,MAAM,CAAC,mBAAmB,EAAE,0EAA0E,CAAC;KACvG,MAAM,CAAC,UAAU,CAAC,CAAA;AAErB,GAAG;KACA,OAAO,CAAC,aAAa,CAAC;KACtB,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC;;;;2FAI4E,CAAC;KACzF,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,OAAY,EAAE,EAAE;IAC5C,MAAM,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;AAC9B,CAAC,CAAC;KACD,MAAM,CAAC,mBAAmB,EAAE,qCAAqC,CAAC;KAClE,MAAM,CAAC,mBAAmB,EAAE,0CAA0C,CAAC;KACvE,MAAM,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,MAAM,CAAC;KAC1D,MAAM,CAAC,6BAA6B,EAAE,qDAAqD,CAAC;KAC5F,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC;KAC7D,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAA;AAEhE,MAAM,OAAO,GAAG,OAAO;KACpB,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,mHAAmH,CAAC,CAAA;AAEnI,OAAO;KACJ,OAAO,CAAC,yBAAyB,CAAC;KAClC,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC;;gFAEiE,CAAC;KAC9E,MAAM,CAAC,iBAAiB,CAAC;KACzB,MAAM,CAAC,eAAe,EAAE,4BAA4B,CAAC;KACrD,MAAM,CAAC,eAAe,EAAE,6CAA6C,CAAC;KACtE,MAAM,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,MAAM,CAAC;KAC1D,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC;KAC7D,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAA;AAEhE,OAAO;KACJ,OAAO,CAAC,4BAA4B,CAAC;KACrC,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC;;yEAE0D,CAAC;KACvE,MAAM,CAAC,KAAK,EAAE,SAAiB,EAAE,KAAa,EAAE,OAAY,EAAE,EAAE;IAC/D,MAAM,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;AAChD,CAAC,CAAC;KACD,MAAM,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,MAAM,CAAC;KAC1D,MAAM,CAAC,iBAAiB,EAAE,+CAA+C,CAAC;KAC1E,MAAM,CAAC,wBAAwB,EAAE,qCAAqC,CAAC;KACvE,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC;KAC7D,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAA;AAEhE,OAAO;KACJ,OAAO,CAAC,cAAc,CAAC;KACvB,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC;;4DAE6C,CAAC;KAC1D,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,OAAY,EAAE,EAAE;IAC5C,MAAM,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;AACpC,CAAC,CAAC;KACD,MAAM,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,MAAM,CAAC;KAC1D,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC;KAC7D,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAA;AAEhE,OAAO;KACJ,OAAO,CAAC,iCAAiC,CAAC;KAC1C,WAAW,CAAC;;gFAEiE,CAAC;KAC9E,MAAM,CAAC,KAAK,EAAE,SAAiB,EAAE,KAAa,EAAE,OAAY,EAAE,EAAE;IAC/D,MAAM,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;AAChD,CAAC,CAAC;KACD,MAAM,CAAC,yBAAyB,EAAE,wCAAwC,CAAC;KAC3E,MAAM,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,MAAM,CAAC;KAC1D,MAAM,CAAC,SAAS,EAAE,+BAA+B,CAAC;KAClD,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC;KAC7D,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAA;AAEhE,OAAO;KACJ,OAAO,CAAC,yBAAyB,CAAC;KAClC,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC;;;;qGAIsF,CAAC;KACnG,MAAM,CAAC,KAAK,EAAE,SAAiB,EAAE,KAAa,EAAE,OAAY,EAAE,EAAE;IAC/D,MAAM,UAAU,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;AAC7C,CAAC,CAAC;KACD,MAAM,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,MAAM,CAAC;KAC1D,MAAM,CAAC,uBAAuB,EAAE,0CAA0C,CAAC;KAC3E,MAAM,CAAC,qBAAqB,EAAE,iDAAiD,CAAC;KAChF,MAAM,CAAC,iBAAiB,EAAE,yEAAyE,CAAC;KACpG,MAAM,CAAC,UAAU,EAAE,yEAAyE,CAAC;KAC7F,MAAM,CAAC,aAAa,EAAE,gDAAgD,CAAC;KACvE,MAAM,CAAC,gBAAgB,EAAE,+CAA+C,CAAC;KACzE,MAAM,CAAC,OAAO,EAAE,qCAAqC,CAAC;KACtD,MAAM,CAAC,UAAU,EAAE,uCAAuC,CAAC;KAC3D,MAAM,CAAC,WAAW,EAAE,yCAAyC,CAAC;KAC9D,MAAM,CAAC,cAAc,EAAE,2CAA2C,CAAC;KACnE,MAAM,CAAC,eAAe,EAAE,6CAA6C,CAAC;KACtE,MAAM,CAAC,kBAAkB,EAAE,gDAAgD,CAAC;KAC5E,MAAM,CAAC,2CAA2C,EAAE,4EAA4E,CAAC;KACjI,MAAM,CAAC,OAAO,EAAE,6CAA6C,CAAC;KAC9D,MAAM,CAAC,UAAU,EAAE,+CAA+C,CAAC;KACnE,MAAM,CAAC,YAAY,EAAE,0CAA0C,CAAC;KAChE,MAAM,CAAC,eAAe,EAAE,4CAA4C,CAAC;KACrE,MAAM,CAAC,8BAA8B,EAAE,kBAAkB,CAAC,WAAW,CAAC;KACtE,MAAM,CAAC,yBAAyB,EAAE,qEAAqE,CAAC;KACxG,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC;KAC7D,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAA;AAEhE,MAAM,KAAK,GAAG,OAAO;KAClB,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,yIAAyI,CAAC,CAAA;AAEzJ,KAAK;KACF,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC;;;;gEAIiD,CAAC;KAC9D,MAAM,CAAC,gBAAgB,CAAC;KACxB,MAAM,CAAC,aAAa,EAAE,0BAA0B,CAAC;KACjD,MAAM,CAAC,aAAa,EAAE,sCAAsC,CAAC;KAC7D,MAAM,CAAC,sBAAsB,EAAE,sCAAsC,CAAC,CAAA;AAEzE,KAAK;KACF,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC;;;;;;0CAM2B,CAAC;KACxC,MAAM,CAAC,kBAAkB,CAAC;KAC1B,MAAM,CAAC,aAAa,EAAE,0BAA0B,CAAC,CAAA;AAEpD,KAAK;KACF,OAAO,CAAC,YAAY,CAAC;KACrB,WAAW,CAAC;;8CAE+B,CAAC;KAC5C,MAAM,CAAC,qBAAqB,CAAC,CAAA;AAEhC,MAAM,OAAO,GAAG,OAAO;KACpB,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,6FAA6F,CAAC,CAAA;AAE7G,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;KAClB,WAAW,CAAC;;0CAE2B,CAAC;KACxC,MAAM,CAAC,SAAS,CAAC;KACjB,MAAM,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAA;AAE7D,MAAM,YAAY,GAAG,OAAO;KACzB,OAAO,CAAC,cAAc,CAAC;KACvB,WAAW,CAAC,wFAAwF,CAAC,CAAA;AAExG,YAAY;KACT,OAAO,CAAC,MAAM,CAAC;KACf,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC;;iDAEkC,CAAC;KAC/C,MAAM,CAAC,iBAAiB,CAAC;KACzB,MAAM,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,MAAM,CAAC;KAC1D,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC;KAC7D,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAA;AAEhE,YAAY;KACT,OAAO,CAAC,KAAK,CAAC;KACd,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC;;gGAEiF,CAAC;KAC9F,MAAM,CAAC,eAAe,CAAC;KACvB,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;KAChD,MAAM,CAAC,qBAAqB,EAAE,uCAAuC,CAAC;KACtE,MAAM,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,MAAM,CAAC;KAC1D,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC;KAC7D,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAA;AAEhE,YAAY;KACT,OAAO,CAAC,aAAa,CAAC;KACtB,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC;;qFAEsE,CAAC;KACnF,MAAM,CAAC,eAAe,CAAC;KACvB,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;KAChD,MAAM,CAAC,qBAAqB,EAAE,uCAAuC,CAAC;KACtE,MAAM,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,MAAM,CAAC;KAC1D,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC;KAC7D,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAA;AAEhE,YAAY;KACT,OAAO,CAAC,gBAAgB,CAAC;KACzB,KAAK,CAAC,GAAG,CAAC;KACV,WAAW,CAAC;;;;0DAI2C,CAAC;KACxD,MAAM,CAAC,kBAAkB,CAAC;KAC1B,MAAM,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,MAAM,CAAC;KAC1D,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC;KAC7D,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAA;AAEhE,OAAO;KACJ,OAAO,CAAC,0BAA0B,CAAC;KACnC,WAAW,CAAC,0FAA0F,CAAC;KACvG,MAAM,CAAC,uBAAuB,EAAE,0GAA0G,CAAC;KAC3I,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE;IAC5B,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;AACxC,CAAC,CAAC,CAAA;AAEJ,OAAO,CAAC,YAAY,EAAE,CAAA;AAEtB,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;QACvE,MAAM,QAAQ,GAAI,KAA+B,CAAC,QAAQ,CAAA;QAC1D,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAC9B,IAAI,CAAC,QAAQ,CAAC,CAAA;IAClB,CAAC;IACD,IAAI,CAAC,CAAC,CAAC,CAAA;AACT,CAAC,CAAC,CAAA"}