@salesforce/b2c-cli 0.3.0 → 0.4.1

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 (260) hide show
  1. package/README.md +70 -1
  2. package/bin/dev.cmd +3 -0
  3. package/bin/dev.js +14 -1
  4. package/dist/commands/am/clients/create.d.ts +28 -0
  5. package/dist/commands/am/clients/create.js +158 -0
  6. package/dist/commands/am/clients/create.js.map +1 -0
  7. package/dist/commands/am/clients/delete.d.ts +13 -0
  8. package/dist/commands/am/clients/delete.js +29 -0
  9. package/dist/commands/am/clients/delete.js.map +1 -0
  10. package/dist/commands/am/clients/get.d.ts +26 -0
  11. package/dist/commands/am/clients/get.js +186 -0
  12. package/dist/commands/am/clients/get.js.map +1 -0
  13. package/dist/commands/am/clients/list.d.ts +18 -0
  14. package/dist/commands/am/clients/list.js +139 -0
  15. package/dist/commands/am/clients/list.js.map +1 -0
  16. package/dist/commands/am/clients/password.d.ts +16 -0
  17. package/dist/commands/am/clients/password.js +51 -0
  18. package/dist/commands/am/clients/password.js.map +1 -0
  19. package/dist/commands/am/clients/update.d.ts +34 -0
  20. package/dist/commands/am/clients/update.js +146 -0
  21. package/dist/commands/am/clients/update.js.map +1 -0
  22. package/dist/commands/am/orgs/get.d.ts +23 -0
  23. package/dist/commands/am/orgs/get.js +175 -0
  24. package/dist/commands/am/orgs/get.js.map +1 -0
  25. package/dist/commands/am/orgs/list.d.ts +18 -0
  26. package/dist/commands/am/orgs/list.js +149 -0
  27. package/dist/commands/am/orgs/list.js.map +1 -0
  28. package/dist/commands/am/roles/get.d.ts +15 -0
  29. package/dist/commands/am/roles/get.js +63 -0
  30. package/dist/commands/am/roles/get.js.map +1 -0
  31. package/dist/commands/am/roles/grant.d.ts +18 -0
  32. package/dist/commands/am/roles/grant.js +72 -0
  33. package/dist/commands/am/roles/grant.js.map +1 -0
  34. package/dist/commands/am/roles/list.d.ts +22 -0
  35. package/dist/commands/am/roles/list.js +142 -0
  36. package/dist/commands/am/roles/list.js.map +1 -0
  37. package/dist/commands/am/roles/revoke.d.ts +18 -0
  38. package/dist/commands/am/roles/revoke.js +72 -0
  39. package/dist/commands/am/roles/revoke.js.map +1 -0
  40. package/dist/commands/am/users/create.d.ts +17 -0
  41. package/dist/commands/am/users/create.js +67 -0
  42. package/dist/commands/am/users/create.js.map +1 -0
  43. package/dist/commands/am/users/delete.d.ts +16 -0
  44. package/dist/commands/am/users/delete.js +63 -0
  45. package/dist/commands/am/users/delete.js.map +1 -0
  46. package/dist/commands/am/users/get.d.ts +18 -0
  47. package/dist/commands/am/users/get.js +96 -0
  48. package/dist/commands/am/users/get.js.map +1 -0
  49. package/dist/commands/am/users/list.d.ts +21 -0
  50. package/dist/commands/am/users/list.js +162 -0
  51. package/dist/commands/am/users/list.js.map +1 -0
  52. package/dist/commands/am/users/reset.d.ts +13 -0
  53. package/dist/commands/am/users/reset.js +43 -0
  54. package/dist/commands/am/users/reset.js.map +1 -0
  55. package/dist/commands/am/users/update.d.ts +18 -0
  56. package/dist/commands/am/users/update.js +63 -0
  57. package/dist/commands/am/users/update.js.map +1 -0
  58. package/dist/commands/auth/token.js +1 -1
  59. package/dist/commands/auth/token.js.map +1 -1
  60. package/dist/commands/code/activate.d.ts +2 -1
  61. package/dist/commands/code/delete.d.ts +2 -1
  62. package/dist/commands/code/deploy.d.ts +2 -1
  63. package/dist/commands/code/watch.d.ts +2 -1
  64. package/dist/commands/content/export.d.ts +57 -0
  65. package/dist/commands/content/export.js +217 -0
  66. package/dist/commands/content/export.js.map +1 -0
  67. package/dist/commands/content/list.d.ts +56 -0
  68. package/dist/commands/content/list.js +133 -0
  69. package/dist/commands/content/list.js.map +1 -0
  70. package/dist/commands/docs/download.d.ts +2 -1
  71. package/dist/commands/ecdn/cache/purge.d.ts +2 -1
  72. package/dist/commands/ecdn/certificates/add.d.ts +2 -1
  73. package/dist/commands/ecdn/certificates/delete.d.ts +2 -1
  74. package/dist/commands/ecdn/certificates/list.d.ts +2 -1
  75. package/dist/commands/ecdn/certificates/update.d.ts +2 -1
  76. package/dist/commands/ecdn/certificates/validate.d.ts +2 -1
  77. package/dist/commands/ecdn/cipher-suites/get.d.ts +2 -1
  78. package/dist/commands/ecdn/cipher-suites/update.d.ts +2 -1
  79. package/dist/commands/ecdn/logpush/jobs/create.d.ts +2 -1
  80. package/dist/commands/ecdn/logpush/jobs/delete.d.ts +2 -1
  81. package/dist/commands/ecdn/logpush/jobs/get.d.ts +2 -1
  82. package/dist/commands/ecdn/logpush/jobs/list.d.ts +2 -1
  83. package/dist/commands/ecdn/logpush/jobs/update.d.ts +2 -1
  84. package/dist/commands/ecdn/logpush/ownership.d.ts +2 -1
  85. package/dist/commands/ecdn/mrt-rules/create.d.ts +2 -1
  86. package/dist/commands/ecdn/mrt-rules/delete.d.ts +2 -1
  87. package/dist/commands/ecdn/mrt-rules/get.d.ts +2 -1
  88. package/dist/commands/ecdn/mrt-rules/rules/delete.d.ts +2 -1
  89. package/dist/commands/ecdn/mrt-rules/rules/update.d.ts +2 -1
  90. package/dist/commands/ecdn/mrt-rules/update.d.ts +2 -1
  91. package/dist/commands/ecdn/mtls/create.d.ts +2 -1
  92. package/dist/commands/ecdn/mtls/delete.d.ts +2 -1
  93. package/dist/commands/ecdn/mtls/get.d.ts +2 -1
  94. package/dist/commands/ecdn/mtls/list.d.ts +2 -1
  95. package/dist/commands/ecdn/origin-headers/delete.d.ts +2 -1
  96. package/dist/commands/ecdn/origin-headers/get.d.ts +2 -1
  97. package/dist/commands/ecdn/origin-headers/set.d.ts +2 -1
  98. package/dist/commands/ecdn/page-shield/notifications/create.d.ts +2 -1
  99. package/dist/commands/ecdn/page-shield/notifications/delete.d.ts +2 -1
  100. package/dist/commands/ecdn/page-shield/notifications/list.d.ts +2 -1
  101. package/dist/commands/ecdn/page-shield/policies/create.d.ts +2 -1
  102. package/dist/commands/ecdn/page-shield/policies/delete.d.ts +2 -1
  103. package/dist/commands/ecdn/page-shield/policies/get.d.ts +2 -1
  104. package/dist/commands/ecdn/page-shield/policies/list.d.ts +2 -1
  105. package/dist/commands/ecdn/page-shield/policies/update.d.ts +2 -1
  106. package/dist/commands/ecdn/page-shield/scripts/get.d.ts +2 -1
  107. package/dist/commands/ecdn/page-shield/scripts/list.d.ts +2 -1
  108. package/dist/commands/ecdn/security/get.d.ts +2 -1
  109. package/dist/commands/ecdn/security/update.d.ts +2 -1
  110. package/dist/commands/ecdn/speed/get.d.ts +2 -1
  111. package/dist/commands/ecdn/speed/update.d.ts +2 -1
  112. package/dist/commands/ecdn/waf/groups/list.d.ts +2 -1
  113. package/dist/commands/ecdn/waf/groups/update.d.ts +2 -1
  114. package/dist/commands/ecdn/waf/managed-rules/list.d.ts +2 -1
  115. package/dist/commands/ecdn/waf/managed-rules/update.d.ts +2 -1
  116. package/dist/commands/ecdn/waf/migrate.d.ts +2 -1
  117. package/dist/commands/ecdn/waf/owasp/get.d.ts +2 -1
  118. package/dist/commands/ecdn/waf/owasp/update.d.ts +2 -1
  119. package/dist/commands/ecdn/waf/rules/get.d.ts +2 -1
  120. package/dist/commands/ecdn/waf/rules/list.d.ts +2 -1
  121. package/dist/commands/ecdn/waf/rules/update.d.ts +2 -1
  122. package/dist/commands/ecdn/waf/rulesets/list.d.ts +2 -1
  123. package/dist/commands/ecdn/waf/rulesets/update.d.ts +2 -1
  124. package/dist/commands/ecdn/zones/create.d.ts +2 -1
  125. package/dist/commands/ecdn/zones/list.d.ts +2 -1
  126. package/dist/commands/job/export.d.ts +2 -1
  127. package/dist/commands/job/import.d.ts +2 -1
  128. package/dist/commands/job/run.d.ts +2 -1
  129. package/dist/commands/job/search.d.ts +2 -1
  130. package/dist/commands/job/wait.d.ts +2 -1
  131. package/dist/commands/logs/get.d.ts +2 -1
  132. package/dist/commands/logs/list.d.ts +2 -1
  133. package/dist/commands/logs/tail.d.ts +2 -1
  134. package/dist/commands/mrt/bundle/deploy.js +24 -4
  135. package/dist/commands/mrt/bundle/deploy.js.map +1 -1
  136. package/dist/commands/mrt/tail-logs.d.ts +27 -0
  137. package/dist/commands/mrt/tail-logs.js +137 -0
  138. package/dist/commands/mrt/tail-logs.js.map +1 -0
  139. package/dist/commands/{ods → sandbox}/create.d.ts +8 -14
  140. package/dist/commands/{ods → sandbox}/create.js +112 -102
  141. package/dist/commands/sandbox/create.js.map +1 -0
  142. package/dist/commands/sandbox/delete.d.ts +19 -0
  143. package/dist/commands/sandbox/delete.js +141 -0
  144. package/dist/commands/sandbox/delete.js.map +1 -0
  145. package/dist/commands/{ods → sandbox}/get.d.ts +2 -1
  146. package/dist/commands/{ods → sandbox}/get.js +5 -4
  147. package/dist/commands/sandbox/get.js.map +1 -0
  148. package/dist/commands/{ods → sandbox}/info.d.ts +2 -1
  149. package/dist/commands/{ods → sandbox}/info.js +6 -5
  150. package/dist/commands/sandbox/info.js.map +1 -0
  151. package/dist/commands/{ods → sandbox}/list.d.ts +2 -1
  152. package/dist/commands/{ods → sandbox}/list.js +6 -5
  153. package/dist/commands/sandbox/list.js.map +1 -0
  154. package/dist/commands/{ods → sandbox}/restart.d.ts +7 -1
  155. package/dist/commands/sandbox/restart.js +107 -0
  156. package/dist/commands/sandbox/restart.js.map +1 -0
  157. package/dist/commands/{ods → sandbox}/start.d.ts +7 -1
  158. package/dist/commands/sandbox/start.js +108 -0
  159. package/dist/commands/sandbox/start.js.map +1 -0
  160. package/dist/commands/{ods → sandbox}/stop.d.ts +7 -1
  161. package/dist/commands/sandbox/stop.js +107 -0
  162. package/dist/commands/sandbox/stop.js.map +1 -0
  163. package/dist/commands/scaffold/generate.d.ts +22 -0
  164. package/dist/commands/scaffold/generate.js +74 -0
  165. package/dist/commands/scaffold/generate.js.map +1 -0
  166. package/dist/commands/scaffold/index.d.ts +24 -0
  167. package/dist/commands/scaffold/index.js +80 -0
  168. package/dist/commands/scaffold/index.js.map +1 -0
  169. package/dist/commands/scaffold/info.d.ts +24 -0
  170. package/dist/commands/scaffold/info.js +89 -0
  171. package/dist/commands/scaffold/info.js.map +1 -0
  172. package/dist/commands/scaffold/init.d.ts +29 -0
  173. package/dist/commands/scaffold/init.js +221 -0
  174. package/dist/commands/scaffold/init.js.map +1 -0
  175. package/dist/commands/scaffold/list.d.ts +38 -0
  176. package/dist/commands/scaffold/list.js +131 -0
  177. package/dist/commands/scaffold/list.js.map +1 -0
  178. package/dist/commands/scaffold/search.d.ts +32 -0
  179. package/dist/commands/scaffold/search.js +97 -0
  180. package/dist/commands/scaffold/search.js.map +1 -0
  181. package/dist/commands/scaffold/validate.d.ts +24 -0
  182. package/dist/commands/scaffold/validate.js +74 -0
  183. package/dist/commands/scaffold/validate.js.map +1 -0
  184. package/dist/commands/scapi/custom/status.d.ts +2 -1
  185. package/dist/commands/scapi/schemas/get.d.ts +2 -1
  186. package/dist/commands/scapi/schemas/list.d.ts +2 -1
  187. package/dist/commands/setup/index.d.ts +12 -0
  188. package/dist/commands/setup/index.js +34 -0
  189. package/dist/commands/setup/index.js.map +1 -0
  190. package/dist/commands/setup/{config.d.ts → inspect.d.ts} +5 -4
  191. package/dist/commands/setup/{config.js → inspect.js} +5 -3
  192. package/dist/commands/setup/inspect.js.map +1 -0
  193. package/dist/commands/setup/instance/create.d.ts +43 -0
  194. package/dist/commands/setup/instance/create.js +269 -0
  195. package/dist/commands/setup/instance/create.js.map +1 -0
  196. package/dist/commands/setup/instance/index.d.ts +9 -0
  197. package/dist/commands/setup/instance/index.js +22 -0
  198. package/dist/commands/setup/instance/index.js.map +1 -0
  199. package/dist/commands/setup/instance/list.d.ts +31 -0
  200. package/dist/commands/setup/instance/list.js +68 -0
  201. package/dist/commands/setup/instance/list.js.map +1 -0
  202. package/dist/commands/setup/instance/remove.d.ts +34 -0
  203. package/dist/commands/setup/instance/remove.js +75 -0
  204. package/dist/commands/setup/instance/remove.js.map +1 -0
  205. package/dist/commands/setup/instance/set-active.d.ts +33 -0
  206. package/dist/commands/setup/instance/set-active.js +78 -0
  207. package/dist/commands/setup/instance/set-active.js.map +1 -0
  208. package/dist/commands/slas/client/create.d.ts +2 -1
  209. package/dist/commands/slas/client/create.js +1 -0
  210. package/dist/commands/slas/client/create.js.map +1 -1
  211. package/dist/commands/slas/client/delete.d.ts +2 -1
  212. package/dist/commands/slas/client/get.d.ts +2 -1
  213. package/dist/commands/slas/client/list.d.ts +2 -1
  214. package/dist/commands/slas/client/list.js +8 -3
  215. package/dist/commands/slas/client/list.js.map +1 -1
  216. package/dist/commands/slas/client/update.d.ts +2 -1
  217. package/dist/commands/webdav/get.d.ts +2 -1
  218. package/dist/commands/webdav/rm.d.ts +2 -1
  219. package/dist/i18n/locales/en.d.ts +42 -0
  220. package/dist/i18n/locales/en.js +42 -0
  221. package/dist/i18n/locales/en.js.map +1 -1
  222. package/dist/i18n/locales/index.d.ts +42 -0
  223. package/dist/lib/scaffold/generate-helper.d.ts +47 -0
  224. package/dist/lib/scaffold/generate-helper.js +271 -0
  225. package/dist/lib/scaffold/generate-helper.js.map +1 -0
  226. package/dist/lib/scaffold/source-resolver.d.ts +25 -0
  227. package/dist/lib/scaffold/source-resolver.js +37 -0
  228. package/dist/lib/scaffold/source-resolver.js.map +1 -0
  229. package/dist/utils/am/resolve-org.d.ts +11 -0
  230. package/dist/utils/am/resolve-org.js +15 -0
  231. package/dist/utils/am/resolve-org.js.map +1 -0
  232. package/dist/utils/am/user-display.d.ts +5 -0
  233. package/dist/utils/am/user-display.js +100 -0
  234. package/dist/utils/am/user-display.js.map +1 -0
  235. package/dist/utils/ecdn/zone-command.d.ts +2 -1
  236. package/dist/utils/mrt-logs/format.d.ts +28 -0
  237. package/dist/utils/mrt-logs/format.js +90 -0
  238. package/dist/utils/mrt-logs/format.js.map +1 -0
  239. package/dist/utils/mrt-logs/index.d.ts +1 -0
  240. package/dist/utils/mrt-logs/index.js +7 -0
  241. package/dist/utils/mrt-logs/index.js.map +1 -0
  242. package/dist/utils/slas/client.d.ts +7 -0
  243. package/dist/utils/slas/client.js +26 -13
  244. package/dist/utils/slas/client.js.map +1 -1
  245. package/oclif.manifest.json +14039 -5107
  246. package/package.json +61 -19
  247. package/dist/commands/ods/create.js.map +0 -1
  248. package/dist/commands/ods/delete.d.ts +0 -15
  249. package/dist/commands/ods/delete.js +0 -86
  250. package/dist/commands/ods/delete.js.map +0 -1
  251. package/dist/commands/ods/get.js.map +0 -1
  252. package/dist/commands/ods/info.js.map +0 -1
  253. package/dist/commands/ods/list.js.map +0 -1
  254. package/dist/commands/ods/restart.js +0 -51
  255. package/dist/commands/ods/restart.js.map +0 -1
  256. package/dist/commands/ods/start.js +0 -51
  257. package/dist/commands/ods/start.js.map +0 -1
  258. package/dist/commands/ods/stop.js +0 -51
  259. package/dist/commands/ods/stop.js.map +0 -1
  260. package/dist/commands/setup/config.js.map +0 -1
package/README.md CHANGED
@@ -18,7 +18,7 @@ npm install -g @salesforce/b2c-cli
18
18
  ### Homebrew (macOS/Linux)
19
19
 
20
20
  ```sh
21
- brew tap SalesforceCommerceCloud/tooling
21
+ brew tap SalesforceCommerceCloud/tools
22
22
  brew install b2c-cli
23
23
  ```
24
24
 
@@ -186,6 +186,75 @@ List and inspect storefront sites.
186
186
  b2c sites list
187
187
  ```
188
188
 
189
+ ### User Management (Account Manager)
190
+
191
+ Manage users in Account Manager.
192
+
193
+ ```sh
194
+ # List users with pagination
195
+ b2c am users list --page 0 --size 20
196
+
197
+ # Get user details by email
198
+ b2c am users get user@example.com
199
+
200
+ # Create a new user
201
+ b2c am users create --org org-id --mail user@example.com --first-name John --last-name Doe
202
+
203
+ # Update a user
204
+ b2c am users update user@example.com --first-name Jane
205
+
206
+ # Reset a user to INITIAL state
207
+ b2c am users reset user@example.com
208
+
209
+ # Delete (disable) a user
210
+ b2c am users delete user@example.com
211
+ ```
212
+
213
+ ### Role Management (Account Manager)
214
+
215
+ Manage roles and role assignments in Account Manager.
216
+
217
+ ```sh
218
+ # List roles with pagination
219
+ b2c am roles list --page 0 --size 20 --target-type User
220
+
221
+ # Get role details
222
+ b2c am roles get bm-admin
223
+
224
+ # Grant a role to a user
225
+ b2c am roles grant user@example.com --role bm-admin
226
+
227
+ # Grant a role with tenant scope
228
+ b2c am roles grant user@example.com --role bm-admin --scope "tenant1,tenant2"
229
+
230
+ # Revoke a role from a user
231
+ b2c am roles revoke user@example.com --role bm-admin
232
+ ```
233
+
234
+ ### Organization Management (Account Manager)
235
+
236
+ Manage organizations in Account Manager.
237
+
238
+ ```sh
239
+ # List organizations with pagination
240
+ b2c am orgs list --page 0 --size 25
241
+
242
+ # List all organizations
243
+ b2c am orgs list --all
244
+
245
+ # Get organization details by ID
246
+ b2c am orgs get org-123
247
+
248
+ # Get organization details by name
249
+ b2c am orgs get "My Organization"
250
+
251
+ # Get audit logs for an organization
252
+ b2c am orgs audit org-123
253
+
254
+ # Get audit logs with extended columns
255
+ b2c am orgs audit org-123 --extended
256
+ ```
257
+
189
258
  ### Authentication
190
259
 
191
260
  Get OAuth tokens for scripting.
package/bin/dev.cmd CHANGED
@@ -1,3 +1,6 @@
1
1
  @echo off
2
2
 
3
+ @REM Disable telemetry in development mode to avoid polluting production data
4
+ if not defined SFCC_DISABLE_TELEMETRY set SFCC_DISABLE_TELEMETRY=true
5
+
3
6
  node --import tsx "%~dp0\dev" %*
package/bin/dev.js CHANGED
@@ -5,13 +5,26 @@
5
5
  * For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
6
6
  */
7
7
 
8
- // Load .env file if present (Node.js native support)
8
+ // Load .env file if present (Node.js native support; same as main run.js)
9
+ // For development, place .env in the package directory and run from there.
9
10
  try {
10
11
  process.loadEnvFile();
11
12
  } catch {
12
13
  // .env file not found or not readable, continue without it
13
14
  }
14
15
 
16
+ // Disable telemetry by default in development when both vars are unset.
17
+ // Set SFCC_DISABLE_TELEMETRY=false (or SF_DISABLE_TELEMETRY=false) in .env to enable COMMAND_START/COMMAND_SUCCESS.
18
+ const userWantsTelemetryEnabled =
19
+ process.env.SF_DISABLE_TELEMETRY === 'false' || process.env.SFCC_DISABLE_TELEMETRY === 'false';
20
+ if (userWantsTelemetryEnabled) {
21
+ process.env.SF_DISABLE_TELEMETRY = 'false';
22
+ process.env.SFCC_DISABLE_TELEMETRY = 'false';
23
+ } else {
24
+ process.env.SF_DISABLE_TELEMETRY = 'true';
25
+ process.env.SFCC_DISABLE_TELEMETRY = 'true';
26
+ }
27
+
15
28
  import {execute} from '@oclif/core';
16
29
 
17
30
  await execute({development: true, dir: import.meta.url});
@@ -0,0 +1,28 @@
1
+ import { AmCommand } from '@salesforce/b2c-tooling-sdk/cli';
2
+ import { type AccountManagerApiClient } from '@salesforce/b2c-tooling-sdk';
3
+ /**
4
+ * Command to create an Account Manager API client.
5
+ */
6
+ export default class ClientCreate extends AmCommand<typeof ClientCreate> {
7
+ static description: string;
8
+ static enableJsonFlag: boolean;
9
+ static examples: string[];
10
+ static flags: {
11
+ name: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
12
+ description: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ orgs: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
14
+ password: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
15
+ roles: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
+ 'role-tenant-filter': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
+ active: import("@oclif/core/interfaces").BooleanFlag<boolean>;
18
+ 'redirect-urls': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
19
+ scopes: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
20
+ 'default-scopes': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
21
+ 'version-control': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
22
+ 'token-endpoint-auth-method': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
23
+ 'jwt-public-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
24
+ };
25
+ run(): Promise<AccountManagerApiClient>;
26
+ private buildCreateBody;
27
+ private validateCreateInput;
28
+ }
@@ -0,0 +1,158 @@
1
+ /*
2
+ * Copyright (c) 2025, Salesforce, Inc.
3
+ * SPDX-License-Identifier: Apache-2
4
+ * For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ import { Flags } from '@oclif/core';
7
+ import { AmCommand } from '@salesforce/b2c-tooling-sdk/cli';
8
+ import { isValidRoleTenantFilter } from '@salesforce/b2c-tooling-sdk';
9
+ import { t } from '../../../i18n/index.js';
10
+ import { resolveOrgId } from '../../../utils/am/resolve-org.js';
11
+ function splitCommaSeparated(s) {
12
+ return s
13
+ .split(',')
14
+ .map((x) => x.trim())
15
+ .filter(Boolean);
16
+ }
17
+ /**
18
+ * Command to create an Account Manager API client.
19
+ */
20
+ export default class ClientCreate extends AmCommand {
21
+ static description = t('commands.client.create.description', 'Create an Account Manager API client');
22
+ static enableJsonFlag = true;
23
+ static examples = [
24
+ '<%= config.bin %> <%= command.id %> --name my-client --orgs org-id-1 --password "SecureP@ss123"',
25
+ '<%= config.bin %> <%= command.id %> --name my-client --orgs "My Organization" --password "SecureP@ss123" --roles SALESFORCE_COMMERCE_API',
26
+ ];
27
+ static flags = {
28
+ name: Flags.string({
29
+ char: 'n',
30
+ description: 'API client name',
31
+ required: true,
32
+ }),
33
+ description: Flags.string({
34
+ char: 'd',
35
+ description: 'Description of the API client',
36
+ }),
37
+ orgs: Flags.string({
38
+ char: 'o',
39
+ description: 'Comma-separated organization IDs or names',
40
+ required: true,
41
+ }),
42
+ password: Flags.string({
43
+ char: 'p',
44
+ description: 'Password for the API client (12–128 characters)',
45
+ required: true,
46
+ }),
47
+ roles: Flags.string({
48
+ char: 'r',
49
+ description: 'Comma-separated role IDs (e.g. SALESFORCE_COMMERCE_API)',
50
+ }),
51
+ 'role-tenant-filter': Flags.string({
52
+ description: 'Role tenant filter (format: ROLE:realm_instance,realm_instance;ROLE2:... e.g. SALESFORCE_COMMERCE_API:abcd_prd)',
53
+ }),
54
+ active: Flags.boolean({
55
+ description: 'Create as active (default: false)',
56
+ default: false,
57
+ }),
58
+ 'redirect-urls': Flags.string({
59
+ description: 'Comma-separated list of allowed redirect URLs for OAuth flows',
60
+ }),
61
+ scopes: Flags.string({
62
+ description: 'Comma-separated OAuth scopes available to this API client',
63
+ }),
64
+ 'default-scopes': Flags.string({
65
+ description: 'Comma-separated default OAuth scopes granted to this API client',
66
+ }),
67
+ 'version-control': Flags.string({
68
+ description: 'Comma-separated version control system identifiers',
69
+ }),
70
+ 'token-endpoint-auth-method': Flags.string({
71
+ description: 'Token endpoint auth method: private_key_jwt, client_secret_post, client_secret_basic, or none',
72
+ options: ['private_key_jwt', 'client_secret_post', 'client_secret_basic', 'none'],
73
+ }),
74
+ 'jwt-public-key': Flags.string({
75
+ description: 'Public key for JWT authentication (PEM or inline)',
76
+ }),
77
+ };
78
+ async run() {
79
+ const flags = this.flags;
80
+ const nameTrimmed = flags.name.trim();
81
+ const orgInputs = splitCommaSeparated(flags.orgs);
82
+ this.validateCreateInput(flags, nameTrimmed, orgInputs);
83
+ const orgIds = await Promise.all(orgInputs.map((o) => resolveOrgId(this.accountManagerClient, o)));
84
+ const body = this.buildCreateBody(flags, nameTrimmed, orgIds);
85
+ this.log(t('commands.client.create.creating', 'Creating API client {{name}}...', { name: flags.name }));
86
+ const client = await this.accountManagerClient.createApiClient(body);
87
+ this.log(t('commands.client.create.success', 'API client {{name}} created successfully.', {
88
+ name: client.name ?? flags.name,
89
+ }));
90
+ return client;
91
+ }
92
+ buildCreateBody(flags, nameTrimmed, orgIds) {
93
+ const body = {
94
+ name: nameTrimmed,
95
+ organizations: orgIds,
96
+ password: flags.password,
97
+ active: flags.active,
98
+ };
99
+ if (flags.description !== undefined && flags.description.trim().length > 0) {
100
+ body.description = flags.description.trim();
101
+ }
102
+ if (flags.roles) {
103
+ body.roles = splitCommaSeparated(flags.roles);
104
+ }
105
+ const rtf = flags['role-tenant-filter'];
106
+ if (rtf !== undefined && rtf.trim().length > 0) {
107
+ body.roleTenantFilter = rtf.trim();
108
+ }
109
+ if (flags['redirect-urls']) {
110
+ body.redirectUrls = splitCommaSeparated(flags['redirect-urls']);
111
+ }
112
+ if (flags.scopes) {
113
+ body.scopes = splitCommaSeparated(flags.scopes);
114
+ }
115
+ if (flags['default-scopes']) {
116
+ body.defaultScopes = splitCommaSeparated(flags['default-scopes']);
117
+ }
118
+ if (flags['version-control']) {
119
+ body.versionControl = splitCommaSeparated(flags['version-control']);
120
+ }
121
+ if (flags['token-endpoint-auth-method']) {
122
+ body.tokenEndpointAuthMethod = flags['token-endpoint-auth-method'];
123
+ }
124
+ if (flags['jwt-public-key'] !== undefined) {
125
+ body.jwtPublicKey = flags['jwt-public-key'].trim().length > 0 ? flags['jwt-public-key'].trim() : null;
126
+ }
127
+ return body;
128
+ }
129
+ validateCreateInput(flags, nameTrimmed, orgIds) {
130
+ if (nameTrimmed.length === 0) {
131
+ this.error(t('commands.client.create.nameRequired', 'API client name cannot be empty'));
132
+ }
133
+ if (nameTrimmed.length > 200) {
134
+ this.error(t('commands.client.create.nameMaxLength', 'Name must be at most 200 characters (received {{length}})', {
135
+ length: nameTrimmed.length,
136
+ }));
137
+ }
138
+ if (flags.description !== undefined && flags.description.length > 256) {
139
+ this.error(t('commands.client.create.descriptionMaxLength', 'Description must be at most 256 characters (received {{length}})', { length: flags.description.length }));
140
+ }
141
+ if (flags.password.length < 12) {
142
+ this.error(t('commands.client.create.passwordMinLength', 'Password must be at least 12 characters (API requirement)'));
143
+ }
144
+ if (flags.password.length > 128) {
145
+ this.error(t('commands.client.create.passwordMaxLength', 'Password must be at most 128 characters (received {{length}})', {
146
+ length: flags.password.length,
147
+ }));
148
+ }
149
+ const rtf = flags['role-tenant-filter'];
150
+ if (rtf !== undefined && rtf.length > 0 && !isValidRoleTenantFilter(rtf)) {
151
+ this.error(t('commands.client.create.invalidRoleTenantFilter', 'Role tenant filter must match pattern: ROLE:realm_instance(,realm_instance)*(;ROLE:...)* (e.g. SALESFORCE_COMMERCE_API:abcd_prd)'));
152
+ }
153
+ if (orgIds.length === 0) {
154
+ this.error(t('commands.client.create.noOrgs', 'At least one organization is required'));
155
+ }
156
+ }
157
+ }
158
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/commands/am/clients/create.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { AmCommand } from '@salesforce/b2c-tooling-sdk/cli';
2
+ /**
3
+ * Command to delete an Account Manager API client.
4
+ * The API client must have been disabled for at least 7 days before it can be deleted.
5
+ */
6
+ export default class ClientDelete extends AmCommand<typeof ClientDelete> {
7
+ static args: {
8
+ 'api-client-id': import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
9
+ };
10
+ static description: string;
11
+ static examples: string[];
12
+ run(): Promise<void>;
13
+ }
@@ -0,0 +1,29 @@
1
+ /*
2
+ * Copyright (c) 2025, Salesforce, Inc.
3
+ * SPDX-License-Identifier: Apache-2
4
+ * For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ import { Args } from '@oclif/core';
7
+ import { AmCommand } from '@salesforce/b2c-tooling-sdk/cli';
8
+ import { t } from '../../../i18n/index.js';
9
+ /**
10
+ * Command to delete an Account Manager API client.
11
+ * The API client must have been disabled for at least 7 days before it can be deleted.
12
+ */
13
+ export default class ClientDelete extends AmCommand {
14
+ static args = {
15
+ 'api-client-id': Args.string({
16
+ description: 'API client ID (UUID)',
17
+ required: true,
18
+ }),
19
+ };
20
+ static description = t('commands.client.delete.description', 'Delete an Account Manager API client (must be disabled 7+ days)');
21
+ static examples = ['<%= config.bin %> <%= command.id %> <api-client-id>'];
22
+ async run() {
23
+ const apiClientId = this.args['api-client-id'];
24
+ this.log(t('commands.client.delete.deleting', 'Deleting API client {{id}}...', { id: apiClientId }));
25
+ await this.accountManagerClient.deleteApiClient(apiClientId);
26
+ this.log(t('commands.client.delete.success', 'API client {{id}} deleted successfully.', { id: apiClientId }));
27
+ }
28
+ }
29
+ //# sourceMappingURL=delete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../src/commands/am/clients/delete.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,SAAS,EAAC,MAAM,iCAAiC,CAAC;AAC1D,OAAO,EAAC,CAAC,EAAC,MAAM,wBAAwB,CAAC;AAEzC;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,SAA8B;IACtE,MAAM,CAAC,IAAI,GAAG;QACZ,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC;YAC3B,WAAW,EAAE,sBAAsB;YACnC,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;IAEF,MAAM,CAAC,WAAW,GAAG,CAAC,CACpB,oCAAoC,EACpC,iEAAiE,CAClE,CAAC;IAEF,MAAM,CAAC,QAAQ,GAAG,CAAC,qDAAqD,CAAC,CAAC;IAE1E,KAAK,CAAC,GAAG;QACP,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAE/C,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,iCAAiC,EAAE,+BAA+B,EAAE,EAAC,EAAE,EAAE,WAAW,EAAC,CAAC,CAAC,CAAC;QAEnG,MAAM,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAE7D,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,gCAAgC,EAAE,yCAAyC,EAAE,EAAC,EAAE,EAAE,WAAW,EAAC,CAAC,CAAC,CAAC;IAC9G,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { AmCommand } from '@salesforce/b2c-tooling-sdk/cli';
2
+ import type { AccountManagerApiClient } from '@salesforce/b2c-tooling-sdk';
3
+ /**
4
+ * Command to get details of a single Account Manager API client.
5
+ */
6
+ export default class ClientGet extends AmCommand<typeof ClientGet> {
7
+ static args: {
8
+ 'api-client-id': import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
9
+ };
10
+ static description: string;
11
+ static enableJsonFlag: boolean;
12
+ static examples: string[];
13
+ static flags: {
14
+ expand: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
+ };
16
+ run(): Promise<AccountManagerApiClient>;
17
+ private printBasicFields;
18
+ private printClientDetails;
19
+ private printDefaultScopes;
20
+ private printOrganizations;
21
+ private printRedirectUrls;
22
+ private printRoles;
23
+ private printRoleTenantFilters;
24
+ private printScopes;
25
+ private printVersionControl;
26
+ }
@@ -0,0 +1,186 @@
1
+ /*
2
+ * Copyright (c) 2025, Salesforce, Inc.
3
+ * SPDX-License-Identifier: Apache-2
4
+ * For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ import { Args, Flags, ux } from '@oclif/core';
7
+ import cliui from 'cliui';
8
+ import { AmCommand } from '@salesforce/b2c-tooling-sdk/cli';
9
+ import { t } from '../../../i18n/index.js';
10
+ const VALID_EXPAND_VALUES = ['organizations', 'roles'];
11
+ /**
12
+ * Command to get details of a single Account Manager API client.
13
+ */
14
+ export default class ClientGet extends AmCommand {
15
+ static args = {
16
+ 'api-client-id': Args.string({
17
+ description: 'API client ID (UUID)',
18
+ required: true,
19
+ }),
20
+ };
21
+ static description = t('commands.client.get.description', 'Get details of an Account Manager API client');
22
+ static enableJsonFlag = true;
23
+ static examples = [
24
+ '<%= config.bin %> <%= command.id %> <api-client-id>',
25
+ '<%= config.bin %> <%= command.id %> <api-client-id> --json',
26
+ '<%= config.bin %> <%= command.id %> <api-client-id> --expand organizations,roles',
27
+ ];
28
+ static flags = {
29
+ expand: Flags.string({
30
+ description: t('flags.expand.client.description', 'Comma-separated list of fields to expand. Valid values: organizations, roles'),
31
+ }),
32
+ };
33
+ async run() {
34
+ const apiClientId = this.args['api-client-id'];
35
+ const expandRaw = this.flags.expand;
36
+ let expand;
37
+ if (expandRaw) {
38
+ const values = expandRaw
39
+ .split(',')
40
+ .map((v) => v.trim())
41
+ .filter(Boolean);
42
+ const invalid = [];
43
+ const valid = [];
44
+ for (const value of values) {
45
+ if (VALID_EXPAND_VALUES.includes(value)) {
46
+ valid.push(value);
47
+ }
48
+ else {
49
+ invalid.push(value);
50
+ }
51
+ }
52
+ if (invalid.length > 0) {
53
+ this.error(t('commands.client.get.invalidExpand', 'Invalid expand value(s): {{invalid}}. Valid values are: {{valid}}', {
54
+ invalid: invalid.join(', '),
55
+ valid: VALID_EXPAND_VALUES.join(', '),
56
+ }));
57
+ }
58
+ if (valid.length > 0) {
59
+ expand = valid;
60
+ }
61
+ }
62
+ this.log(t('commands.client.get.fetching', 'Fetching API client {{id}}...', { id: apiClientId }));
63
+ let client;
64
+ try {
65
+ client = await this.accountManagerClient.getApiClient(apiClientId, expand);
66
+ }
67
+ catch (error) {
68
+ if (error instanceof Error && error.message.includes('not found')) {
69
+ this.error(t('commands.client.get.notFound', 'API client {{id}} not found', { id: apiClientId }));
70
+ }
71
+ throw error;
72
+ }
73
+ if (this.jsonEnabled()) {
74
+ return client;
75
+ }
76
+ this.printClientDetails(client);
77
+ return client;
78
+ }
79
+ printBasicFields(ui, c) {
80
+ const passwordModified = c.passwordModificationTimestamp !== null && c.passwordModificationTimestamp !== undefined
81
+ ? new Date(c.passwordModificationTimestamp).toLocaleString()
82
+ : undefined;
83
+ const fields = [
84
+ ['ID', c.id],
85
+ ['Name', c.name],
86
+ ['Description', c.description ?? undefined],
87
+ ['Active', c.active ? 'Yes' : 'No'],
88
+ ['Auth Method', c.tokenEndpointAuthMethod ?? undefined],
89
+ ['Created', c.createdAt ? new Date(c.createdAt).toLocaleString() : undefined],
90
+ ['Password Modified', passwordModified],
91
+ ['Last Authenticated', c.lastAuthenticatedDate ?? undefined],
92
+ ['Disabled', c.disabledTimestamp ? new Date(c.disabledTimestamp).toLocaleString() : undefined],
93
+ ];
94
+ for (const [label, value] of fields) {
95
+ if (value !== undefined) {
96
+ ui.div({ text: `${label}:`, width: 25, padding: [0, 2, 0, 0] }, { text: value, padding: [0, 0, 0, 0] });
97
+ }
98
+ }
99
+ }
100
+ printClientDetails(c) {
101
+ const ui = cliui({ width: process.stdout.columns || 80 });
102
+ ui.div({ text: 'API Client Details', padding: [1, 0, 0, 0] });
103
+ ui.div({ text: '─'.repeat(50), padding: [0, 0, 0, 0] });
104
+ this.printBasicFields(ui, c);
105
+ this.printRedirectUrls(ui, c);
106
+ this.printScopes(ui, c);
107
+ this.printDefaultScopes(ui, c);
108
+ this.printOrganizations(ui, c);
109
+ this.printRoles(ui, c);
110
+ this.printRoleTenantFilters(ui, c);
111
+ this.printVersionControl(ui, c);
112
+ ux.stdout(ui.toString());
113
+ }
114
+ printDefaultScopes(ui, c) {
115
+ if (c.defaultScopes === undefined || c.defaultScopes.length === 0) {
116
+ return;
117
+ }
118
+ ui.div({ text: 'Default Scopes', padding: [2, 0, 0, 0] });
119
+ ui.div({ text: '─'.repeat(50), padding: [0, 0, 0, 0] });
120
+ ui.div({ text: 'Default Scopes:', width: 25, padding: [0, 2, 0, 0] }, { text: c.defaultScopes.join(', '), padding: [0, 0, 0, 0] });
121
+ }
122
+ printOrganizations(ui, c) {
123
+ if (c.organizations === undefined || c.organizations.length === 0) {
124
+ return;
125
+ }
126
+ ui.div({ text: 'Organizations', padding: [2, 0, 0, 0] });
127
+ ui.div({ text: '─'.repeat(50), padding: [0, 0, 0, 0] });
128
+ const orgIds = c.organizations.map((o) => (typeof o === 'string' ? o : o.id || 'Unknown'));
129
+ ui.div({ text: 'Organization IDs:', width: 25, padding: [0, 2, 0, 0] }, { text: orgIds.join(', '), padding: [0, 0, 0, 0] });
130
+ }
131
+ printRedirectUrls(ui, c) {
132
+ if (c.redirectUrls === undefined || c.redirectUrls.length === 0) {
133
+ return;
134
+ }
135
+ ui.div({ text: 'Redirect URLs', padding: [2, 0, 0, 0] });
136
+ ui.div({ text: '─'.repeat(50), padding: [0, 0, 0, 0] });
137
+ ui.div({ text: 'URLs:', width: 25, padding: [0, 2, 0, 0] }, { text: c.redirectUrls.join(', '), padding: [0, 0, 0, 0] });
138
+ }
139
+ printRoles(ui, c) {
140
+ if (c.roles === undefined || c.roles.length === 0) {
141
+ return;
142
+ }
143
+ ui.div({ text: 'Roles', padding: [2, 0, 0, 0] });
144
+ ui.div({ text: '─'.repeat(50), padding: [0, 0, 0, 0] });
145
+ const roleNames = c.roles.map((r) => typeof r === 'string'
146
+ ? r
147
+ : r.roleEnumName || r.id || 'Unknown');
148
+ ui.div({ text: 'Role IDs:', width: 25, padding: [0, 2, 0, 0] }, { text: roleNames.join(', '), padding: [0, 0, 0, 0] });
149
+ }
150
+ printRoleTenantFilters(ui, c) {
151
+ const map = c.roleTenantFilterMap;
152
+ const hasMap = map !== undefined && typeof map === 'object' && Object.keys(map).length > 0;
153
+ const filterStr = typeof c.roleTenantFilter === 'string' && c.roleTenantFilter.length > 0 ? c.roleTenantFilter : undefined;
154
+ if (!hasMap && !filterStr) {
155
+ return;
156
+ }
157
+ ui.div({ text: 'Role Tenant Filters', padding: [2, 0, 0, 0] });
158
+ ui.div({ text: '─'.repeat(50), padding: [0, 0, 0, 0] });
159
+ if (hasMap) {
160
+ for (const [roleId, filter] of Object.entries(map)) {
161
+ const filterValue = typeof filter === 'string' ? filter : JSON.stringify(filter);
162
+ ui.div({ text: `${roleId}:`, width: 30, padding: [0, 2, 0, 0] }, { text: filterValue, padding: [0, 0, 0, 0] });
163
+ }
164
+ }
165
+ else if (filterStr) {
166
+ ui.div({ text: 'Filter:', width: 25, padding: [0, 2, 0, 0] }, { text: filterStr, padding: [0, 0, 0, 0] });
167
+ }
168
+ }
169
+ printScopes(ui, c) {
170
+ if (c.scopes === undefined || c.scopes.length === 0) {
171
+ return;
172
+ }
173
+ ui.div({ text: 'Scopes', padding: [2, 0, 0, 0] });
174
+ ui.div({ text: '─'.repeat(50), padding: [0, 0, 0, 0] });
175
+ ui.div({ text: 'Scopes:', width: 25, padding: [0, 2, 0, 0] }, { text: c.scopes.join(', '), padding: [0, 0, 0, 0] });
176
+ }
177
+ printVersionControl(ui, c) {
178
+ if (c.versionControl === undefined || c.versionControl.length === 0) {
179
+ return;
180
+ }
181
+ ui.div({ text: 'Version Control', padding: [2, 0, 0, 0] });
182
+ ui.div({ text: '─'.repeat(50), padding: [0, 0, 0, 0] });
183
+ ui.div({ text: 'Identifiers:', width: 25, padding: [0, 2, 0, 0] }, { text: c.versionControl.join(', '), padding: [0, 0, 0, 0] });
184
+ }
185
+ }
186
+ //# sourceMappingURL=get.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../src/commands/am/clients/get.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { AmCommand } from '@salesforce/b2c-tooling-sdk/cli';
2
+ import type { APIClientCollection } from '@salesforce/b2c-tooling-sdk';
3
+ /**
4
+ * Command to list Account Manager API clients.
5
+ */
6
+ export default class ClientList extends AmCommand<typeof ClientList> {
7
+ static description: string;
8
+ static enableJsonFlag: boolean;
9
+ static examples: string[];
10
+ static flags: {
11
+ size: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ page: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ columns: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ extended: import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
+ };
16
+ run(): Promise<APIClientCollection>;
17
+ private getSelectedColumns;
18
+ }