@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../src/commands/sandbox/delete.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,8 @@ type SandboxModel = OdsComponents['schemas']['SandboxModel'];
4
4
  /**
5
5
  * Command to get details of a specific sandbox.
6
6
  */
7
- export default class OdsGet extends OdsCommand<typeof OdsGet> {
7
+ export default class SandboxGet extends OdsCommand<typeof SandboxGet> {
8
+ static aliases: string[];
8
9
  static args: {
9
10
  sandboxId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
10
11
  };
@@ -10,14 +10,15 @@ import { t, withDocs } from '../../i18n/index.js';
10
10
  /**
11
11
  * Command to get details of a specific sandbox.
12
12
  */
13
- export default class OdsGet extends OdsCommand {
13
+ export default class SandboxGet extends OdsCommand {
14
+ static aliases = ['ods:get'];
14
15
  static args = {
15
16
  sandboxId: Args.string({
16
17
  description: 'Sandbox ID (UUID or realm-instance, e.g., abcd-123)',
17
18
  required: true,
18
19
  }),
19
20
  };
20
- static description = withDocs(t('commands.ods.get.description', 'Get details of a specific sandbox'), '/cli/ods.html#b2c-ods-get');
21
+ static description = withDocs(t('commands.sandbox.get.description', 'Get details of a specific sandbox'), '/cli/sandbox.html#b2c-sandbox-get');
21
22
  static enableJsonFlag = true;
22
23
  static examples = [
23
24
  '<%= config.bin %> <%= command.id %> abc12345-1234-1234-1234-abc123456789',
@@ -26,14 +27,14 @@ export default class OdsGet extends OdsCommand {
26
27
  ];
27
28
  async run() {
28
29
  const sandboxId = await this.resolveSandboxId(this.args.sandboxId);
29
- this.log(t('commands.ods.get.fetching', 'Fetching sandbox {{sandboxId}}...', { sandboxId }));
30
+ this.log(t('commands.sandbox.get.fetching', 'Fetching sandbox {{sandboxId}}...', { sandboxId }));
30
31
  const result = await this.odsClient.GET('/sandboxes/{sandboxId}', {
31
32
  params: {
32
33
  path: { sandboxId },
33
34
  },
34
35
  });
35
36
  if (!result.data?.data) {
36
- this.error(t('commands.ods.get.error', 'Failed to fetch sandbox: {{message}}', {
37
+ this.error(t('commands.sandbox.get.error', 'Failed to fetch sandbox: {{message}}', {
37
38
  message: result.response?.statusText || 'Sandbox not found',
38
39
  }));
39
40
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/commands/sandbox/get.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,8 @@ interface OdsInfoResponse {
13
13
  * Command to display ODS user and system information.
14
14
  * Combines data from getUserInfo and getSystemInfo API endpoints.
15
15
  */
16
- export default class OdsInfo extends OdsCommand<typeof OdsInfo> {
16
+ export default class SandboxInfo extends OdsCommand<typeof SandboxInfo> {
17
+ static aliases: string[];
17
18
  static description: string;
18
19
  static enableJsonFlag: boolean;
19
20
  static examples: string[];
@@ -11,8 +11,9 @@ import { t, withDocs } from '../../i18n/index.js';
11
11
  * Command to display ODS user and system information.
12
12
  * Combines data from getUserInfo and getSystemInfo API endpoints.
13
13
  */
14
- export default class OdsInfo extends OdsCommand {
15
- static description = withDocs(t('commands.ods.info.description', 'Display ODS user and system information'), '/cli/ods.html#b2c-ods-info');
14
+ export default class SandboxInfo extends OdsCommand {
15
+ static aliases = ['ods:info'];
16
+ static description = withDocs(t('commands.sandbox.info.description', 'Display sandbox user and system information'), '/cli/sandbox.html#b2c-sandbox-info');
16
17
  static enableJsonFlag = true;
17
18
  static examples = [
18
19
  '<%= config.bin %> <%= command.id %>',
@@ -21,19 +22,19 @@ export default class OdsInfo extends OdsCommand {
21
22
  ];
22
23
  async run() {
23
24
  const host = this.odsHost;
24
- this.log(t('commands.ods.info.fetching', 'Fetching ODS information from {{host}}...', { host }));
25
+ this.log(t('commands.sandbox.info.fetching', 'Fetching ODS information from {{host}}...', { host }));
25
26
  // Fetch user info and system info in parallel
26
27
  const [userResult, systemResult] = await Promise.all([
27
28
  this.odsClient.GET('/me', {}),
28
29
  this.odsClient.GET('/system', {}),
29
30
  ]);
30
31
  if (!userResult.data) {
31
- this.error(t('commands.ods.info.userError', 'Failed to fetch user info: {{message}}', {
32
+ this.error(t('commands.sandbox.info.userError', 'Failed to fetch user info: {{message}}', {
32
33
  message: userResult.response?.statusText || 'Unknown error',
33
34
  }));
34
35
  }
35
36
  if (!systemResult.data) {
36
- this.error(t('commands.ods.info.systemError', 'Failed to fetch system info: {{message}}', {
37
+ this.error(t('commands.sandbox.info.systemError', 'Failed to fetch system info: {{message}}', {
37
38
  message: systemResult.response?.statusText || 'Unknown error',
38
39
  }));
39
40
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../../src/commands/sandbox/info.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,8 @@ interface OdsListResponse {
11
11
  /**
12
12
  * Command to list all on-demand sandboxes.
13
13
  */
14
- export default class OdsList extends OdsCommand<typeof OdsList> {
14
+ export default class SandboxList extends OdsCommand<typeof SandboxList> {
15
+ static aliases: string[];
15
16
  static description: string;
16
17
  static enableJsonFlag: boolean;
17
18
  static examples: string[];
@@ -58,8 +58,9 @@ const tableRenderer = new TableRenderer(COLUMNS);
58
58
  /**
59
59
  * Command to list all on-demand sandboxes.
60
60
  */
61
- export default class OdsList extends OdsCommand {
62
- static description = withDocs(t('commands.ods.list.description', 'List all on-demand sandboxes'), '/cli/ods.html#b2c-ods-list');
61
+ export default class SandboxList extends OdsCommand {
62
+ static aliases = ['ods:list'];
63
+ static description = withDocs(t('commands.sandbox.list.description', 'List all on-demand sandboxes'), '/cli/sandbox.html#b2c-sandbox-list');
63
64
  static enableJsonFlag = true;
64
65
  static examples = [
65
66
  '<%= config.bin %> <%= command.id %>',
@@ -109,7 +110,7 @@ export default class OdsList extends OdsCommand {
109
110
  }
110
111
  filterParams = parts.join('&');
111
112
  }
112
- this.log(t('commands.ods.list.fetching', 'Fetching sandboxes from {{host}}...', { host }));
113
+ this.log(t('commands.sandbox.list.fetching', 'Fetching sandboxes from {{host}}...', { host }));
113
114
  const result = await this.odsClient.GET('/sandboxes', {
114
115
  params: {
115
116
  query: {
@@ -119,7 +120,7 @@ export default class OdsList extends OdsCommand {
119
120
  },
120
121
  });
121
122
  if (result.error) {
122
- this.error(t('commands.ods.list.error', 'Failed to fetch sandboxes: {{message}}', {
123
+ this.error(t('commands.sandbox.list.error', 'Failed to fetch sandboxes: {{message}}', {
123
124
  message: getApiErrorMessage(result.error, result.response),
124
125
  }));
125
126
  }
@@ -132,7 +133,7 @@ export default class OdsList extends OdsCommand {
132
133
  return response;
133
134
  }
134
135
  if (sandboxes.length === 0) {
135
- this.log(t('commands.ods.list.noSandboxes', 'No sandboxes found.'));
136
+ this.log(t('commands.sandbox.list.noSandboxes', 'No sandboxes found.'));
136
137
  return response;
137
138
  }
138
139
  tableRenderer.render(sandboxes, this.getSelectedColumns());
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/sandbox/list.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAC;AAClC,OAAO,EAAC,UAAU,EAAE,aAAa,EAAiB,MAAM,iCAAiC,CAAC;AAC1F,OAAO,EAAC,kBAAkB,EAAqB,MAAM,6BAA6B,CAAC;AACnF,OAAO,EAAC,CAAC,EAAE,QAAQ,EAAC,MAAM,qBAAqB,CAAC;AAYhD,MAAM,OAAO,GAA4C;IACvD,KAAK,EAAE;QACL,MAAM,EAAE,OAAO;QACf,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG;KAC3B;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,KAAK;QACb,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,GAAG;KAC9B;IACD,KAAK,EAAE;QACL,MAAM,EAAE,OAAO;QACf,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG;KAC3B;IACD,OAAO,EAAE;QACP,MAAM,EAAE,SAAS;QACjB,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,IAAI,GAAG;KACrC;IACD,OAAO,EAAE;QACP,MAAM,EAAE,SAAS;QACjB,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;KACnF;IACD,GAAG,EAAE;QACH,MAAM,EAAE,KAAK;QACb,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;KACvE;IACD,EAAE,EAAE;QACF,MAAM,EAAE,IAAI;QACZ,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,GAAG;KACxB;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,UAAU;QAClB,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,GAAG;QAC7B,QAAQ,EAAE,IAAI;KACf;IACD,SAAS,EAAE;QACT,MAAM,EAAE,YAAY;QACpB,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG;QAC9B,QAAQ,EAAE,IAAI;KACf;IACD,aAAa,EAAE;QACb,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5C,QAAQ,EAAE,IAAI;KACf;CACF,CAAC;AAEF,+CAA+C;AAC/C,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAE1F,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;AAEjD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,UAA8B;IACrE,MAAM,CAAC,OAAO,GAAG,CAAC,UAAU,CAAC,CAAC;IAE9B,MAAM,CAAC,WAAW,GAAG,QAAQ,CAC3B,CAAC,CAAC,mCAAmC,EAAE,8BAA8B,CAAC,EACtE,oCAAoC,CACrC,CAAC;IAEF,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;IAE7B,MAAM,CAAC,QAAQ,GAAG;QAChB,qCAAqC;QACrC,kDAAkD;QAClD,gFAAgF;QAChF,oDAAoD;QACpD,gDAAgD;QAChD,6EAA6E;QAC7E,4CAA4C;KAC7C,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG;QACb,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC;YAClB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,qCAAqC;SACnD,CAAC;QACF,eAAe,EAAE,KAAK,CAAC,MAAM,CAAC;YAC5B,WAAW,EAAE,iFAAiF;SAC/F,CAAC;QACF,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC;YAC5B,WAAW,EAAE,uCAAuC;YACpD,OAAO,EAAE,KAAK;SACf,CAAC;QACF,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC;YACpB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,oDAAoD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;SACnG,CAAC;QACF,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC;YACtB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,4CAA4C;YACzD,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC;QAC1B,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC/B,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAEpD,6BAA6B;QAC7B,IAAI,YAAgC,CAAC;QACrC,IAAI,KAAK,IAAI,eAAe,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,IAAI,KAAK,EAAE,CAAC;gBACV,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC;YAC/B,CAAC;YACD,IAAI,eAAe,EAAE,CAAC;gBACpB,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC9B,CAAC;YACD,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,gCAAgC,EAAE,qCAAqC,EAAE,EAAC,IAAI,EAAC,CAAC,CAAC,CAAC;QAE7F,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,YAAY,EAAE;YACpD,MAAM,EAAE;gBACN,KAAK,EAAE;oBACL,eAAe,EAAE,cAAc;oBAE/B,aAAa,EAAE,YAAY;iBAC5B;aACF;SACF,CAAC,CAAC;QAEH,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,CACR,CAAC,CAAC,6BAA6B,EAAE,wCAAwC,EAAE;gBACzE,OAAO,EAAE,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC;aAC3D,CAAC,CACH,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAoB;YAChC,KAAK,EAAE,SAAS,CAAC,MAAM;YACvB,IAAI,EAAE,SAAS;SAChB,CAAC;QAEF,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACvB,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,mCAAmC,EAAE,qBAAqB,CAAC,CAAC,CAAC;YACxE,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,aAAa,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAC,CAAC;QAE3D,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACK,kBAAkB;QACxB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QAErC,IAAI,WAAW,EAAE,CAAC;YAChB,kCAAkC;YAClC,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC9D,MAAM,KAAK,GAAG,aAAa,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;YAC1D,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,0CAA0C,aAAa,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAChG,OAAO,eAAe,CAAC;YACzB,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,mBAAmB;YACnB,OAAO,aAAa,CAAC,aAAa,EAAE,CAAC;QACvC,CAAC;QAED,iCAAiC;QACjC,OAAO,eAAe,CAAC;IACzB,CAAC"}
@@ -4,13 +4,19 @@ type SandboxOperationModel = OdsComponents['schemas']['SandboxOperationModel'];
4
4
  /**
5
5
  * Command to restart an on-demand sandbox.
6
6
  */
7
- export default class OdsRestart extends OdsCommand<typeof OdsRestart> {
7
+ export default class SandboxRestart extends OdsCommand<typeof SandboxRestart> {
8
+ static aliases: string[];
8
9
  static args: {
9
10
  sandboxId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
10
11
  };
11
12
  static description: string;
12
13
  static enableJsonFlag: boolean;
13
14
  static examples: string[];
15
+ static flags: {
16
+ wait: import("@oclif/core/interfaces").BooleanFlag<boolean>;
17
+ 'poll-interval': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
18
+ timeout: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
19
+ };
14
20
  run(): Promise<SandboxOperationModel>;
15
21
  }
16
22
  export {};
@@ -0,0 +1,107 @@
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 } from '@oclif/core';
7
+ import { OdsCommand } from '@salesforce/b2c-tooling-sdk/cli';
8
+ import { getApiErrorMessage, SandboxPollingError, SandboxPollingTimeoutError, SandboxTerminalStateError, waitForSandbox, } from '@salesforce/b2c-tooling-sdk';
9
+ import { t, withDocs } from '../../i18n/index.js';
10
+ /**
11
+ * Command to restart an on-demand sandbox.
12
+ */
13
+ export default class SandboxRestart extends OdsCommand {
14
+ static aliases = ['ods:restart'];
15
+ static args = {
16
+ sandboxId: Args.string({
17
+ description: 'Sandbox ID (UUID or realm-instance, e.g., abcd-123)',
18
+ required: true,
19
+ }),
20
+ };
21
+ static description = withDocs(t('commands.sandbox.restart.description', 'Restart an on-demand sandbox'), '/cli/sandbox.html#b2c-sandbox-restart');
22
+ static enableJsonFlag = true;
23
+ static examples = [
24
+ '<%= config.bin %> <%= command.id %> abc12345-1234-1234-1234-abc123456789',
25
+ '<%= config.bin %> <%= command.id %> zzzv-123',
26
+ '<%= config.bin %> <%= command.id %> zzzv-123 --wait',
27
+ '<%= config.bin %> <%= command.id %> zzzv-123 --wait --poll-interval 15',
28
+ '<%= config.bin %> <%= command.id %> zzzv_123 --json',
29
+ ];
30
+ static flags = {
31
+ wait: Flags.boolean({
32
+ char: 'w',
33
+ description: 'Wait for the sandbox to reach started or failed state before returning',
34
+ default: false,
35
+ }),
36
+ 'poll-interval': Flags.integer({
37
+ description: 'Polling interval in seconds when using --wait',
38
+ default: 10,
39
+ dependsOn: ['wait'],
40
+ }),
41
+ timeout: Flags.integer({
42
+ description: 'Maximum time to wait in seconds when using --wait (0 for no timeout)',
43
+ default: 600,
44
+ dependsOn: ['wait'],
45
+ }),
46
+ };
47
+ async run() {
48
+ const sandboxId = await this.resolveSandboxId(this.args.sandboxId);
49
+ const wait = this.flags.wait;
50
+ const pollInterval = this.flags['poll-interval'];
51
+ const timeout = this.flags.timeout;
52
+ this.log(t('commands.sandbox.restart.restarting', 'Restarting sandbox {{sandboxId}}...', { sandboxId }));
53
+ const result = await this.odsClient.POST('/sandboxes/{sandboxId}/operations', {
54
+ params: {
55
+ path: { sandboxId },
56
+ },
57
+ body: {
58
+ operation: 'restart',
59
+ },
60
+ });
61
+ if (!result.data?.data) {
62
+ this.error(t('commands.sandbox.restart.error', 'Failed to restart sandbox: {{message}}', {
63
+ message: getApiErrorMessage(result.error, result.response),
64
+ }));
65
+ }
66
+ const operation = result.data.data;
67
+ this.log(t('commands.sandbox.restart.success', 'Restart operation {{operationState}}. Sandbox state: {{sandboxState}}', {
68
+ operationState: operation.operationState,
69
+ sandboxState: operation.sandboxState || 'unknown',
70
+ }));
71
+ if (wait) {
72
+ try {
73
+ await waitForSandbox(this.odsClient, {
74
+ sandboxId,
75
+ targetState: 'started',
76
+ pollIntervalSeconds: pollInterval,
77
+ timeoutSeconds: timeout,
78
+ onPoll: ({ elapsedSeconds, state }) => {
79
+ this.logger.info({ sandboxId, elapsed: elapsedSeconds, state }, `[${elapsedSeconds}s] State: ${state}`);
80
+ },
81
+ });
82
+ }
83
+ catch (error) {
84
+ if (error instanceof SandboxPollingTimeoutError) {
85
+ this.error(t('commands.sandbox.restart.timeout', 'Timeout waiting for sandbox after {{seconds}} seconds', {
86
+ seconds: String(error.timeoutSeconds),
87
+ }));
88
+ }
89
+ if (error instanceof SandboxTerminalStateError) {
90
+ this.error(t('commands.sandbox.restart.failed', 'Sandbox did not reach the expected state. Current state: {{state}}', {
91
+ state: error.state || 'unknown',
92
+ }));
93
+ }
94
+ if (error instanceof SandboxPollingError) {
95
+ this.error(t('commands.sandbox.restart.pollError', 'Failed to fetch sandbox status: {{message}}', {
96
+ message: error.message,
97
+ }));
98
+ }
99
+ throw error;
100
+ }
101
+ this.log('');
102
+ this.logger.info({ sandboxId }, t('commands.sandbox.restart.ready', 'Sandbox is now ready'));
103
+ }
104
+ return operation;
105
+ }
106
+ }
107
+ //# sourceMappingURL=restart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"restart.js","sourceRoot":"","sources":["../../../src/commands/sandbox/restart.ts"],"names":[],"mappings":"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"}
@@ -4,13 +4,19 @@ type SandboxOperationModel = OdsComponents['schemas']['SandboxOperationModel'];
4
4
  /**
5
5
  * Command to start an on-demand sandbox.
6
6
  */
7
- export default class OdsStart extends OdsCommand<typeof OdsStart> {
7
+ export default class SandboxStart extends OdsCommand<typeof SandboxStart> {
8
+ static aliases: string[];
8
9
  static args: {
9
10
  sandboxId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
10
11
  };
11
12
  static description: string;
12
13
  static enableJsonFlag: boolean;
13
14
  static examples: string[];
15
+ static flags: {
16
+ wait: import("@oclif/core/interfaces").BooleanFlag<boolean>;
17
+ 'poll-interval': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
18
+ timeout: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
19
+ };
14
20
  run(): Promise<SandboxOperationModel>;
15
21
  }
16
22
  export {};
@@ -0,0 +1,108 @@
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 } from '@oclif/core';
7
+ import { OdsCommand } from '@salesforce/b2c-tooling-sdk/cli';
8
+ import { getApiErrorMessage, SandboxPollingError, SandboxPollingTimeoutError, SandboxTerminalStateError, waitForSandbox, } from '@salesforce/b2c-tooling-sdk';
9
+ import { t, withDocs } from '../../i18n/index.js';
10
+ /**
11
+ * Command to start an on-demand sandbox.
12
+ */
13
+ export default class SandboxStart extends OdsCommand {
14
+ static aliases = ['ods:start'];
15
+ static args = {
16
+ sandboxId: Args.string({
17
+ description: 'Sandbox ID (UUID or realm-instance, e.g., abcd-123)',
18
+ required: true,
19
+ }),
20
+ };
21
+ static description = withDocs(t('commands.sandbox.start.description', 'Start an on-demand sandbox'), '/cli/sandbox.html#b2c-sandbox-start');
22
+ static enableJsonFlag = true;
23
+ static examples = [
24
+ '<%= config.bin %> <%= command.id %> abc12345-1234-1234-1234-abc123456789',
25
+ '<%= config.bin %> <%= command.id %> zzzv-123',
26
+ '<%= config.bin %> <%= command.id %> zzzv-123 --wait',
27
+ '<%= config.bin %> <%= command.id %> zzzv-123 --wait --poll-interval 15',
28
+ '<%= config.bin %> <%= command.id %> zzzv_123 --json',
29
+ ];
30
+ static flags = {
31
+ wait: Flags.boolean({
32
+ char: 'w',
33
+ description: 'Wait for the sandbox to reach started or failed state before returning',
34
+ default: false,
35
+ }),
36
+ 'poll-interval': Flags.integer({
37
+ description: 'Polling interval in seconds when using --wait',
38
+ default: 10,
39
+ dependsOn: ['wait'],
40
+ }),
41
+ timeout: Flags.integer({
42
+ description: 'Maximum time to wait in seconds when using --wait (0 for no timeout)',
43
+ default: 600,
44
+ dependsOn: ['wait'],
45
+ }),
46
+ };
47
+ async run() {
48
+ const sandboxId = await this.resolveSandboxId(this.args.sandboxId);
49
+ const wait = this.flags.wait;
50
+ const pollInterval = this.flags['poll-interval'];
51
+ const timeout = this.flags.timeout;
52
+ this.log(t('commands.sandbox.start.starting', 'Starting sandbox {{sandboxId}}...', { sandboxId }));
53
+ const result = await this.odsClient.POST('/sandboxes/{sandboxId}/operations', {
54
+ params: {
55
+ path: { sandboxId },
56
+ },
57
+ body: {
58
+ operation: 'start',
59
+ },
60
+ });
61
+ if (!result.data?.data) {
62
+ this.error(t('commands.sandbox.start.error', 'Failed to start sandbox: {{message}}', {
63
+ message: getApiErrorMessage(result.error, result.response),
64
+ }));
65
+ }
66
+ const operation = result.data.data;
67
+ this.log(t('commands.sandbox.start.success', 'Start operation {{operationState}}. Sandbox state: {{sandboxState}}', {
68
+ operationState: operation.operationState,
69
+ sandboxState: operation.sandboxState || 'unknown',
70
+ }));
71
+ if (wait) {
72
+ this.log(t('commands.sandbox.start.waiting', 'Waiting for sandbox to reach state {{state}}...', { state: 'started' }));
73
+ try {
74
+ await waitForSandbox(this.odsClient, {
75
+ sandboxId,
76
+ targetState: 'started',
77
+ pollIntervalSeconds: pollInterval,
78
+ timeoutSeconds: timeout,
79
+ onPoll: ({ elapsedSeconds, state }) => {
80
+ this.logger.info({ sandboxId, elapsed: elapsedSeconds, state }, `[${elapsedSeconds}s] State: ${state}`);
81
+ },
82
+ });
83
+ }
84
+ catch (error) {
85
+ if (error instanceof SandboxPollingTimeoutError) {
86
+ this.error(t('commands.sandbox.start.timeout', 'Timeout waiting for sandbox after {{seconds}} seconds', {
87
+ seconds: String(error.timeoutSeconds),
88
+ }));
89
+ }
90
+ if (error instanceof SandboxTerminalStateError) {
91
+ this.error(t('commands.sandbox.start.failed', 'Sandbox did not reach the expected state. Current state: {{state}}', {
92
+ state: error.state || 'unknown',
93
+ }));
94
+ }
95
+ if (error instanceof SandboxPollingError) {
96
+ this.error(t('commands.sandbox.start.pollError', 'Failed to fetch sandbox status: {{message}}', {
97
+ message: error.message,
98
+ }));
99
+ }
100
+ throw error;
101
+ }
102
+ this.log('');
103
+ this.logger.info({ sandboxId }, t('commands.sandbox.start.ready', 'Sandbox is now ready'));
104
+ }
105
+ return operation;
106
+ }
107
+ }
108
+ //# sourceMappingURL=start.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/commands/sandbox/start.ts"],"names":[],"mappings":"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"}
@@ -4,13 +4,19 @@ type SandboxOperationModel = OdsComponents['schemas']['SandboxOperationModel'];
4
4
  /**
5
5
  * Command to stop an on-demand sandbox.
6
6
  */
7
- export default class OdsStop extends OdsCommand<typeof OdsStop> {
7
+ export default class SandboxStop extends OdsCommand<typeof SandboxStop> {
8
+ static aliases: string[];
8
9
  static args: {
9
10
  sandboxId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
10
11
  };
11
12
  static description: string;
12
13
  static enableJsonFlag: boolean;
13
14
  static examples: string[];
15
+ static flags: {
16
+ wait: import("@oclif/core/interfaces").BooleanFlag<boolean>;
17
+ 'poll-interval': import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
18
+ timeout: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
19
+ };
14
20
  run(): Promise<SandboxOperationModel>;
15
21
  }
16
22
  export {};
@@ -0,0 +1,107 @@
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 } from '@oclif/core';
7
+ import { OdsCommand } from '@salesforce/b2c-tooling-sdk/cli';
8
+ import { getApiErrorMessage, SandboxPollingError, SandboxPollingTimeoutError, SandboxTerminalStateError, waitForSandbox, } from '@salesforce/b2c-tooling-sdk';
9
+ import { t, withDocs } from '../../i18n/index.js';
10
+ /**
11
+ * Command to stop an on-demand sandbox.
12
+ */
13
+ export default class SandboxStop extends OdsCommand {
14
+ static aliases = ['ods:stop'];
15
+ static args = {
16
+ sandboxId: Args.string({
17
+ description: 'Sandbox ID (UUID or realm-instance, e.g., abcd-123)',
18
+ required: true,
19
+ }),
20
+ };
21
+ static description = withDocs(t('commands.sandbox.stop.description', 'Stop an on-demand sandbox'), '/cli/sandbox.html#b2c-sandbox-stop');
22
+ static enableJsonFlag = true;
23
+ static examples = [
24
+ '<%= config.bin %> <%= command.id %> abc12345-1234-1234-1234-abc123456789',
25
+ '<%= config.bin %> <%= command.id %> zzzv-123',
26
+ '<%= config.bin %> <%= command.id %> zzzv-123 --wait',
27
+ '<%= config.bin %> <%= command.id %> zzzv-123 --wait --poll-interval 15',
28
+ '<%= config.bin %> <%= command.id %> zzzv_123 --json',
29
+ ];
30
+ static flags = {
31
+ wait: Flags.boolean({
32
+ char: 'w',
33
+ description: 'Wait for the sandbox to reach stopped or failed state before returning',
34
+ default: false,
35
+ }),
36
+ 'poll-interval': Flags.integer({
37
+ description: 'Polling interval in seconds when using --wait',
38
+ default: 10,
39
+ dependsOn: ['wait'],
40
+ }),
41
+ timeout: Flags.integer({
42
+ description: 'Maximum time to wait in seconds when using --wait (0 for no timeout)',
43
+ default: 600,
44
+ dependsOn: ['wait'],
45
+ }),
46
+ };
47
+ async run() {
48
+ const sandboxId = await this.resolveSandboxId(this.args.sandboxId);
49
+ const wait = this.flags.wait;
50
+ const pollInterval = this.flags['poll-interval'];
51
+ const timeout = this.flags.timeout;
52
+ this.log(t('commands.sandbox.stop.stopping', 'Stopping sandbox {{sandboxId}}...', { sandboxId }));
53
+ const result = await this.odsClient.POST('/sandboxes/{sandboxId}/operations', {
54
+ params: {
55
+ path: { sandboxId },
56
+ },
57
+ body: {
58
+ operation: 'stop',
59
+ },
60
+ });
61
+ if (!result.data?.data) {
62
+ this.error(t('commands.sandbox.stop.error', 'Failed to stop sandbox: {{message}}', {
63
+ message: getApiErrorMessage(result.error, result.response),
64
+ }));
65
+ }
66
+ const operation = result.data.data;
67
+ this.log(t('commands.sandbox.stop.success', 'Stop operation {{operationState}}. Sandbox state: {{sandboxState}}', {
68
+ operationState: operation.operationState,
69
+ sandboxState: operation.sandboxState || 'unknown',
70
+ }));
71
+ if (wait) {
72
+ try {
73
+ await waitForSandbox(this.odsClient, {
74
+ sandboxId,
75
+ targetState: 'stopped',
76
+ pollIntervalSeconds: pollInterval,
77
+ timeoutSeconds: timeout,
78
+ onPoll: ({ elapsedSeconds, state }) => {
79
+ this.logger.info({ sandboxId, elapsed: elapsedSeconds, state }, `[${elapsedSeconds}s] State: ${state}`);
80
+ },
81
+ });
82
+ }
83
+ catch (error) {
84
+ if (error instanceof SandboxPollingTimeoutError) {
85
+ this.error(t('commands.sandbox.stop.timeout', 'Timeout waiting for sandbox after {{seconds}} seconds', {
86
+ seconds: String(error.timeoutSeconds),
87
+ }));
88
+ }
89
+ if (error instanceof SandboxTerminalStateError) {
90
+ this.error(t('commands.sandbox.stop.failed', 'Sandbox did not reach the expected state. Current state: {{state}}', {
91
+ state: error.state || 'unknown',
92
+ }));
93
+ }
94
+ if (error instanceof SandboxPollingError) {
95
+ this.error(t('commands.sandbox.stop.pollError', 'Failed to fetch sandbox status: {{message}}', {
96
+ message: error.message,
97
+ }));
98
+ }
99
+ throw error;
100
+ }
101
+ this.log('');
102
+ this.logger.info({ sandboxId }, t('commands.sandbox.stop.ready', 'Sandbox is now stopped'));
103
+ }
104
+ return operation;
105
+ }
106
+ }
107
+ //# sourceMappingURL=stop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stop.js","sourceRoot":"","sources":["../../../src/commands/sandbox/stop.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAC,IAAI,EAAE,KAAK,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,EAAC,UAAU,EAAC,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,0BAA0B,EAC1B,yBAAyB,EACzB,cAAc,GAEf,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAC,CAAC,EAAE,QAAQ,EAAC,MAAM,qBAAqB,CAAC;AAIhD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,UAA8B;IACrE,MAAM,CAAC,OAAO,GAAG,CAAC,UAAU,CAAC,CAAC;IAE9B,MAAM,CAAC,IAAI,GAAG;QACZ,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC;YACrB,WAAW,EAAE,qDAAqD;YAClE,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;IAEF,MAAM,CAAC,WAAW,GAAG,QAAQ,CAC3B,CAAC,CAAC,mCAAmC,EAAE,2BAA2B,CAAC,EACnE,oCAAoC,CACrC,CAAC;IAEF,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;IAE7B,MAAM,CAAC,QAAQ,GAAG;QAChB,0EAA0E;QAC1E,8CAA8C;QAC9C,qDAAqD;QACrD,wEAAwE;QACxE,qDAAqD;KACtD,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG;QACb,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;YAClB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,wEAAwE;YACrF,OAAO,EAAE,KAAK;SACf,CAAC;QACF,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC;YAC7B,WAAW,EAAE,+CAA+C;YAC5D,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,CAAC,MAAM,CAAC;SACpB,CAAC;QACF,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;YACrB,WAAW,EAAE,sEAAsE;YACnF,OAAO,EAAE,GAAG;YACZ,SAAS,EAAE,CAAC,MAAM,CAAC;SACpB,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QAC7B,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAEnC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,gCAAgC,EAAE,mCAAmC,EAAE,EAAC,SAAS,EAAC,CAAC,CAAC,CAAC;QAEhG,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mCAAmC,EAAE;YAC5E,MAAM,EAAE;gBACN,IAAI,EAAE,EAAC,SAAS,EAAC;aAClB;YACD,IAAI,EAAE;gBACJ,SAAS,EAAE,MAAM;aAClB;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,CACR,CAAC,CAAC,6BAA6B,EAAE,qCAAqC,EAAE;gBACtE,OAAO,EAAE,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC;aAC3D,CAAC,CACH,CAAC;QACJ,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;QAEnC,IAAI,CAAC,GAAG,CACN,CAAC,CAAC,+BAA+B,EAAE,oEAAoE,EAAE;YACvG,cAAc,EAAE,SAAS,CAAC,cAAc;YACxC,YAAY,EAAE,SAAS,CAAC,YAAY,IAAI,SAAS;SAClD,CAAC,CACH,CAAC;QACF,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,CAAC;gBACH,MAAM,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE;oBACnC,SAAS;oBACT,WAAW,EAAE,SAAS;oBACtB,mBAAmB,EAAE,YAAY;oBACjC,cAAc,EAAE,OAAO;oBACvB,MAAM,EAAE,CAAC,EAAC,cAAc,EAAE,KAAK,EAAC,EAAE,EAAE;wBAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAC,SAAS,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAC,EAAE,IAAI,cAAc,aAAa,KAAK,EAAE,CAAC,CAAC;oBACxG,CAAC;iBACF,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,0BAA0B,EAAE,CAAC;oBAChD,IAAI,CAAC,KAAK,CACR,CAAC,CAAC,+BAA+B,EAAE,uDAAuD,EAAE;wBAC1F,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC;qBACtC,CAAC,CACH,CAAC;gBACJ,CAAC;gBAED,IAAI,KAAK,YAAY,yBAAyB,EAAE,CAAC;oBAC/C,IAAI,CAAC,KAAK,CACR,CAAC,CAAC,8BAA8B,EAAE,oEAAoE,EAAE;wBACtG,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,SAAS;qBAChC,CAAC,CACH,CAAC;gBACJ,CAAC;gBAED,IAAI,KAAK,YAAY,mBAAmB,EAAE,CAAC;oBACzC,IAAI,CAAC,KAAK,CACR,CAAC,CAAC,iCAAiC,EAAE,6CAA6C,EAAE;wBAClF,OAAO,EAAE,KAAK,CAAC,OAAO;qBACvB,CAAC,CACH,CAAC;gBACJ,CAAC;gBAED,MAAM,KAAK,CAAC;YACd,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAC,SAAS,EAAC,EAAE,CAAC,CAAC,6BAA6B,EAAE,wBAAwB,CAAC,CAAC,CAAC;QAC5F,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { BaseCommand } from '@salesforce/b2c-tooling-sdk/cli';
2
+ import { type GenerateResponse } from '../../lib/scaffold/generate-helper.js';
3
+ export type { GenerateResponse } from '../../lib/scaffold/generate-helper.js';
4
+ /**
5
+ * Command to generate a project from a scaffold.
6
+ */
7
+ export default class ScaffoldGenerate extends BaseCommand<typeof ScaffoldGenerate> {
8
+ static args: {
9
+ scaffoldId: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
10
+ };
11
+ static description: string;
12
+ static enableJsonFlag: boolean;
13
+ static examples: string[];
14
+ static flags: {
15
+ name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
+ output: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
+ option: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
+ 'dry-run': import("@oclif/core/interfaces").BooleanFlag<boolean>;
19
+ force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
20
+ };
21
+ run(): Promise<GenerateResponse | void>;
22
+ }