@salesforce/b2c-cli 0.0.0-nightly.20260119053920

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 (169) hide show
  1. package/README.md +222 -0
  2. package/bin/dev.cmd +3 -0
  3. package/bin/dev.js +17 -0
  4. package/bin/run.cmd +3 -0
  5. package/bin/run.js +17 -0
  6. package/dist/commands/_test/index.d.ts +6 -0
  7. package/dist/commands/_test/index.js +39 -0
  8. package/dist/commands/_test/index.js.map +1 -0
  9. package/dist/commands/auth/token.d.ts +16 -0
  10. package/dist/commands/auth/token.js +35 -0
  11. package/dist/commands/auth/token.js.map +1 -0
  12. package/dist/commands/code/activate.d.ts +33 -0
  13. package/dist/commands/code/activate.js +83 -0
  14. package/dist/commands/code/activate.js.map +1 -0
  15. package/dist/commands/code/delete.d.ts +33 -0
  16. package/dist/commands/code/delete.js +67 -0
  17. package/dist/commands/code/delete.js.map +1 -0
  18. package/dist/commands/code/deploy.d.ts +38 -0
  19. package/dist/commands/code/deploy.js +141 -0
  20. package/dist/commands/code/deploy.js.map +1 -0
  21. package/dist/commands/code/list.d.ts +8 -0
  22. package/dist/commands/code/list.js +64 -0
  23. package/dist/commands/code/list.js.map +1 -0
  24. package/dist/commands/code/watch.d.ts +34 -0
  25. package/dist/commands/code/watch.js +70 -0
  26. package/dist/commands/code/watch.js.map +1 -0
  27. package/dist/commands/docs/download.d.ts +35 -0
  28. package/dist/commands/docs/download.js +58 -0
  29. package/dist/commands/docs/download.js.map +1 -0
  30. package/dist/commands/docs/read.d.ts +29 -0
  31. package/dist/commands/docs/read.js +70 -0
  32. package/dist/commands/docs/read.js.map +1 -0
  33. package/dist/commands/docs/schema.d.ts +32 -0
  34. package/dist/commands/docs/schema.js +68 -0
  35. package/dist/commands/docs/schema.js.map +1 -0
  36. package/dist/commands/docs/search.d.ts +33 -0
  37. package/dist/commands/docs/search.js +102 -0
  38. package/dist/commands/docs/search.js.map +1 -0
  39. package/dist/commands/job/export.d.ts +50 -0
  40. package/dist/commands/job/export.js +270 -0
  41. package/dist/commands/job/export.js.map +1 -0
  42. package/dist/commands/job/import.d.ts +38 -0
  43. package/dist/commands/job/import.js +143 -0
  44. package/dist/commands/job/import.js.map +1 -0
  45. package/dist/commands/job/run.d.ts +45 -0
  46. package/dist/commands/job/run.js +205 -0
  47. package/dist/commands/job/run.js.map +1 -0
  48. package/dist/commands/job/search.d.ts +37 -0
  49. package/dist/commands/job/search.js +102 -0
  50. package/dist/commands/job/search.js.map +1 -0
  51. package/dist/commands/job/wait.d.ts +38 -0
  52. package/dist/commands/job/wait.js +85 -0
  53. package/dist/commands/job/wait.js.map +1 -0
  54. package/dist/commands/mrt/env/create.d.ts +41 -0
  55. package/dist/commands/mrt/env/create.js +226 -0
  56. package/dist/commands/mrt/env/create.js.map +1 -0
  57. package/dist/commands/mrt/env/delete.d.ts +34 -0
  58. package/dist/commands/mrt/env/delete.js +94 -0
  59. package/dist/commands/mrt/env/delete.js.map +1 -0
  60. package/dist/commands/mrt/env/var/delete.d.ts +34 -0
  61. package/dist/commands/mrt/env/var/delete.js +53 -0
  62. package/dist/commands/mrt/env/var/delete.js.map +1 -0
  63. package/dist/commands/mrt/env/var/list.d.ts +28 -0
  64. package/dist/commands/mrt/env/var/list.js +71 -0
  65. package/dist/commands/mrt/env/var/list.js.map +1 -0
  66. package/dist/commands/mrt/env/var/set.d.ts +35 -0
  67. package/dist/commands/mrt/env/var/set.js +84 -0
  68. package/dist/commands/mrt/env/var/set.js.map +1 -0
  69. package/dist/commands/mrt/push.d.ts +37 -0
  70. package/dist/commands/mrt/push.js +122 -0
  71. package/dist/commands/mrt/push.js.map +1 -0
  72. package/dist/commands/ods/create.d.ts +42 -0
  73. package/dist/commands/ods/create.js +255 -0
  74. package/dist/commands/ods/create.js.map +1 -0
  75. package/dist/commands/ods/delete.d.ts +15 -0
  76. package/dist/commands/ods/delete.js +86 -0
  77. package/dist/commands/ods/delete.js.map +1 -0
  78. package/dist/commands/ods/get.d.ts +17 -0
  79. package/dist/commands/ods/get.js +99 -0
  80. package/dist/commands/ods/get.js.map +1 -0
  81. package/dist/commands/ods/info.d.ts +27 -0
  82. package/dist/commands/ods/info.js +109 -0
  83. package/dist/commands/ods/info.js.map +1 -0
  84. package/dist/commands/ods/list.d.ts +31 -0
  85. package/dist/commands/ods/list.js +166 -0
  86. package/dist/commands/ods/list.js.map +1 -0
  87. package/dist/commands/ods/restart.d.ts +16 -0
  88. package/dist/commands/ods/restart.js +51 -0
  89. package/dist/commands/ods/restart.js.map +1 -0
  90. package/dist/commands/ods/start.d.ts +16 -0
  91. package/dist/commands/ods/start.js +51 -0
  92. package/dist/commands/ods/start.js.map +1 -0
  93. package/dist/commands/ods/stop.d.ts +16 -0
  94. package/dist/commands/ods/stop.js +51 -0
  95. package/dist/commands/ods/stop.js.map +1 -0
  96. package/dist/commands/scapi/custom/status.d.ts +81 -0
  97. package/dist/commands/scapi/custom/status.js +321 -0
  98. package/dist/commands/scapi/custom/status.js.map +1 -0
  99. package/dist/commands/scapi/schemas/get.d.ts +86 -0
  100. package/dist/commands/scapi/schemas/get.js +317 -0
  101. package/dist/commands/scapi/schemas/get.js.map +1 -0
  102. package/dist/commands/scapi/schemas/list.d.ts +48 -0
  103. package/dist/commands/scapi/schemas/list.js +148 -0
  104. package/dist/commands/scapi/schemas/list.js.map +1 -0
  105. package/dist/commands/sites/list.d.ts +10 -0
  106. package/dist/commands/sites/list.js +56 -0
  107. package/dist/commands/sites/list.js.map +1 -0
  108. package/dist/commands/slas/client/create.d.ts +38 -0
  109. package/dist/commands/slas/client/create.js +168 -0
  110. package/dist/commands/slas/client/create.js.map +1 -0
  111. package/dist/commands/slas/client/delete.d.ts +34 -0
  112. package/dist/commands/slas/client/delete.js +54 -0
  113. package/dist/commands/slas/client/delete.js.map +1 -0
  114. package/dist/commands/slas/client/get.d.ts +29 -0
  115. package/dist/commands/slas/client/get.js +51 -0
  116. package/dist/commands/slas/client/get.js.map +1 -0
  117. package/dist/commands/slas/client/list.d.ts +30 -0
  118. package/dist/commands/slas/client/list.js +64 -0
  119. package/dist/commands/slas/client/list.js.map +1 -0
  120. package/dist/commands/slas/client/open.d.ts +25 -0
  121. package/dist/commands/slas/client/open.js +56 -0
  122. package/dist/commands/slas/client/open.js.map +1 -0
  123. package/dist/commands/slas/client/update.d.ts +60 -0
  124. package/dist/commands/slas/client/update.js +183 -0
  125. package/dist/commands/slas/client/update.js.map +1 -0
  126. package/dist/commands/webdav/get.d.ts +41 -0
  127. package/dist/commands/webdav/get.js +61 -0
  128. package/dist/commands/webdav/get.js.map +1 -0
  129. package/dist/commands/webdav/ls.d.ts +17 -0
  130. package/dist/commands/webdav/ls.js +101 -0
  131. package/dist/commands/webdav/ls.js.map +1 -0
  132. package/dist/commands/webdav/mkdir.d.ts +19 -0
  133. package/dist/commands/webdav/mkdir.js +48 -0
  134. package/dist/commands/webdav/mkdir.js.map +1 -0
  135. package/dist/commands/webdav/put.d.ts +23 -0
  136. package/dist/commands/webdav/put.js +107 -0
  137. package/dist/commands/webdav/put.js.map +1 -0
  138. package/dist/commands/webdav/rm.d.ts +40 -0
  139. package/dist/commands/webdav/rm.js +67 -0
  140. package/dist/commands/webdav/rm.js.map +1 -0
  141. package/dist/commands/webdav/unzip.d.ts +15 -0
  142. package/dist/commands/webdav/unzip.js +48 -0
  143. package/dist/commands/webdav/unzip.js.map +1 -0
  144. package/dist/commands/webdav/zip.d.ts +15 -0
  145. package/dist/commands/webdav/zip.js +47 -0
  146. package/dist/commands/webdav/zip.js.map +1 -0
  147. package/dist/i18n/index.d.ts +29 -0
  148. package/dist/i18n/index.js +43 -0
  149. package/dist/i18n/index.js.map +1 -0
  150. package/dist/i18n/locales/de.d.ts +51 -0
  151. package/dist/i18n/locales/de.js +57 -0
  152. package/dist/i18n/locales/de.js.map +1 -0
  153. package/dist/i18n/locales/en.d.ts +118 -0
  154. package/dist/i18n/locales/en.js +124 -0
  155. package/dist/i18n/locales/en.js.map +1 -0
  156. package/dist/i18n/locales/index.d.ts +177 -0
  157. package/dist/i18n/locales/index.js +26 -0
  158. package/dist/i18n/locales/index.js.map +1 -0
  159. package/dist/index.d.ts +3 -0
  160. package/dist/index.js +13 -0
  161. package/dist/index.js.map +1 -0
  162. package/dist/utils/scapi/schemas.d.ts +40 -0
  163. package/dist/utils/scapi/schemas.js +49 -0
  164. package/dist/utils/scapi/schemas.js.map +1 -0
  165. package/dist/utils/slas/client.d.ts +65 -0
  166. package/dist/utils/slas/client.js +146 -0
  167. package/dist/utils/slas/client.js.map +1 -0
  168. package/oclif.manifest.json +10942 -0
  169. package/package.json +154 -0
@@ -0,0 +1,85 @@
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 { JobCommand } from '@salesforce/b2c-tooling-sdk/cli';
8
+ import { waitForJob, JobExecutionError } from '@salesforce/b2c-tooling-sdk/operations/jobs';
9
+ import { t } from '../../i18n/index.js';
10
+ export default class JobWait extends JobCommand {
11
+ static args = {
12
+ jobId: Args.string({
13
+ description: 'Job ID',
14
+ required: true,
15
+ }),
16
+ executionId: Args.string({
17
+ description: 'Execution ID to wait for',
18
+ required: true,
19
+ }),
20
+ };
21
+ static description = t('commands.job.wait.description', 'Wait for a job execution to complete');
22
+ static enableJsonFlag = true;
23
+ static examples = [
24
+ '<%= config.bin %> <%= command.id %> my-job abc123-def456',
25
+ '<%= config.bin %> <%= command.id %> my-job abc123-def456 --timeout 600',
26
+ '<%= config.bin %> <%= command.id %> my-job abc123-def456 --poll-interval 5',
27
+ ];
28
+ static flags = {
29
+ ...JobCommand.baseFlags,
30
+ timeout: Flags.integer({
31
+ char: 't',
32
+ description: 'Timeout in seconds (default: no timeout)',
33
+ }),
34
+ 'poll-interval': Flags.integer({
35
+ description: 'Polling interval in seconds',
36
+ default: 3,
37
+ }),
38
+ 'show-log': Flags.boolean({
39
+ description: 'Show job log on failure',
40
+ default: true,
41
+ }),
42
+ };
43
+ async run() {
44
+ this.requireOAuthCredentials();
45
+ const { jobId, executionId } = this.args;
46
+ const { timeout, 'poll-interval': pollInterval, 'show-log': showLog } = this.flags;
47
+ this.log(t('commands.job.wait.waiting', 'Waiting for job {{jobId}} execution {{executionId}}...', {
48
+ jobId,
49
+ executionId,
50
+ }));
51
+ try {
52
+ const execution = await waitForJob(this.instance, jobId, executionId, {
53
+ timeout: timeout ? timeout * 1000 : undefined,
54
+ pollInterval: pollInterval * 1000,
55
+ onProgress: (exec, elapsed) => {
56
+ if (!this.jsonEnabled()) {
57
+ const elapsedSec = Math.floor(elapsed / 1000);
58
+ this.log(t('commands.job.wait.progress', ' Status: {{status}} ({{elapsed}}s elapsed)', {
59
+ status: exec.execution_status,
60
+ elapsed: elapsedSec.toString(),
61
+ }));
62
+ }
63
+ },
64
+ });
65
+ const durationSec = execution.duration ? (execution.duration / 1000).toFixed(1) : 'N/A';
66
+ this.log(t('commands.job.wait.completed', 'Job completed: {{status}} (duration: {{duration}}s)', {
67
+ status: execution.exit_status?.code || execution.execution_status,
68
+ duration: durationSec,
69
+ }));
70
+ return execution;
71
+ }
72
+ catch (error) {
73
+ if (error instanceof JobExecutionError) {
74
+ if (showLog) {
75
+ await this.showJobLog(error.execution);
76
+ }
77
+ this.error(t('commands.job.wait.jobFailed', 'Job failed: {{status}}', {
78
+ status: error.execution.exit_status?.code || 'ERROR',
79
+ }));
80
+ }
81
+ throw error;
82
+ }
83
+ }
84
+ }
85
+ //# sourceMappingURL=wait.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait.js","sourceRoot":"","sources":["../../../src/commands/job/wait.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { MrtCommand } from '@salesforce/b2c-tooling-sdk/cli';
2
+ import { type MrtEnvironment } from '@salesforce/b2c-tooling-sdk/operations/mrt';
3
+ /**
4
+ * Create a new environment (target) in a Managed Runtime project.
5
+ */
6
+ export default class MrtEnvCreate extends MrtCommand<typeof MrtEnvCreate> {
7
+ static args: {
8
+ slug: 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
+ name: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
+ region: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
+ production: import("@oclif/core/interfaces").BooleanFlag<boolean>;
17
+ hostname: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
+ 'external-hostname': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
19
+ 'external-domain': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
20
+ 'allow-cookies': import("@oclif/core/interfaces").BooleanFlag<boolean>;
21
+ 'enable-source-maps': import("@oclif/core/interfaces").BooleanFlag<boolean>;
22
+ proxy: import("@oclif/core/interfaces").OptionFlag<string[] | undefined, import("@oclif/core/interfaces").CustomOptions>;
23
+ wait: import("@oclif/core/interfaces").BooleanFlag<boolean>;
24
+ 'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
25
+ project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
26
+ environment: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
27
+ 'cloud-origin': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
28
+ 'credentials-file': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
29
+ 'log-level': import("@oclif/core/interfaces").OptionFlag<"trace" | "debug" | "info" | "warn" | "error" | "silent" | undefined, import("@oclif/core/interfaces").CustomOptions>;
30
+ debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
31
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
32
+ lang: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
33
+ config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
34
+ instance: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
35
+ 'working-directory': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
36
+ 'extra-query': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
37
+ 'extra-body': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
38
+ 'extra-headers': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
39
+ };
40
+ run(): Promise<MrtEnvironment>;
41
+ }
@@ -0,0 +1,226 @@
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 { MrtCommand } from '@salesforce/b2c-tooling-sdk/cli';
9
+ import { createEnv, waitForEnv } from '@salesforce/b2c-tooling-sdk/operations/mrt';
10
+ import { t } from '../../../i18n/index.js';
11
+ /**
12
+ * Print environment details in a formatted table.
13
+ */
14
+ function printEnvDetails(env, project) {
15
+ const ui = cliui({ width: process.stdout.columns || 80 });
16
+ const labelWidth = 18;
17
+ ui.div('');
18
+ ui.div({ text: 'Slug:', width: labelWidth }, { text: env.slug ?? '' });
19
+ ui.div({ text: 'Name:', width: labelWidth }, { text: env.name });
20
+ ui.div({ text: 'Project:', width: labelWidth }, { text: project });
21
+ ui.div({ text: 'State:', width: labelWidth }, { text: env.state ?? 'unknown' });
22
+ ui.div({ text: 'Production:', width: labelWidth }, { text: env.is_production ? 'Yes' : 'No' });
23
+ if (env.ssr_region) {
24
+ ui.div({ text: 'Region:', width: labelWidth }, { text: env.ssr_region });
25
+ }
26
+ if (env.hostname) {
27
+ ui.div({ text: 'Hostname:', width: labelWidth }, { text: env.hostname });
28
+ }
29
+ if (env.ssr_external_hostname) {
30
+ ui.div({ text: 'External Host:', width: labelWidth }, { text: env.ssr_external_hostname });
31
+ }
32
+ if (env.ssr_external_domain) {
33
+ ui.div({ text: 'External Domain:', width: labelWidth }, { text: env.ssr_external_domain });
34
+ }
35
+ if (env.allow_cookies) {
36
+ ui.div({ text: 'Allow Cookies:', width: labelWidth }, { text: 'Yes' });
37
+ }
38
+ if (env.enable_source_maps) {
39
+ ui.div({ text: 'Source Maps:', width: labelWidth }, { text: 'Yes' });
40
+ }
41
+ if (env.log_level) {
42
+ ui.div({ text: 'Log Level:', width: labelWidth }, { text: env.log_level });
43
+ }
44
+ if (env.ssr_proxy_configs && env.ssr_proxy_configs.length > 0) {
45
+ ui.div({ text: 'Proxies:', width: labelWidth }, { text: '' });
46
+ for (const proxy of env.ssr_proxy_configs) {
47
+ const proxyPath = proxy.path ?? '';
48
+ ui.div({ text: '', width: labelWidth }, { text: ` ${proxyPath} → ${proxy.host}` });
49
+ }
50
+ }
51
+ ux.stdout(ui.toString());
52
+ }
53
+ /**
54
+ * Parse a proxy string in format "path=host" into a proxy config object.
55
+ */
56
+ function parseProxyString(proxyStr) {
57
+ const eqIndex = proxyStr.indexOf('=');
58
+ if (eqIndex === -1) {
59
+ throw new Error(`Invalid proxy format: "${proxyStr}". Expected format: path=host.example.com`);
60
+ }
61
+ const path = proxyStr.slice(0, eqIndex);
62
+ const host = proxyStr.slice(eqIndex + 1);
63
+ if (!path) {
64
+ throw new Error(`Invalid proxy format: "${proxyStr}". Path cannot be empty.`);
65
+ }
66
+ if (!host) {
67
+ throw new Error(`Invalid proxy format: "${proxyStr}". Host cannot be empty.`);
68
+ }
69
+ return { path, host };
70
+ }
71
+ /**
72
+ * Valid AWS regions for MRT environments.
73
+ */
74
+ const SSR_REGIONS = [
75
+ 'us-east-1',
76
+ 'us-east-2',
77
+ 'us-west-1',
78
+ 'us-west-2',
79
+ 'ap-south-1',
80
+ 'ap-south-2',
81
+ 'ap-northeast-2',
82
+ 'ap-southeast-1',
83
+ 'ap-southeast-2',
84
+ 'ap-southeast-3',
85
+ 'ap-northeast-1',
86
+ 'ap-northeast-3',
87
+ 'ca-central-1',
88
+ 'eu-central-1',
89
+ 'eu-central-2',
90
+ 'eu-west-1',
91
+ 'eu-west-2',
92
+ 'eu-west-3',
93
+ 'eu-north-1',
94
+ 'eu-south-1',
95
+ 'il-central-1',
96
+ 'me-central-1',
97
+ 'sa-east-1',
98
+ ];
99
+ /**
100
+ * Create a new environment (target) in a Managed Runtime project.
101
+ */
102
+ export default class MrtEnvCreate extends MrtCommand {
103
+ static args = {
104
+ slug: Args.string({
105
+ description: 'Environment slug/identifier (e.g., staging, production)',
106
+ required: true,
107
+ }),
108
+ };
109
+ static description = t('commands.mrt.env.create.description', 'Create a new Managed Runtime environment');
110
+ static enableJsonFlag = true;
111
+ static examples = [
112
+ '<%= config.bin %> <%= command.id %> staging --project my-storefront',
113
+ '<%= config.bin %> <%= command.id %> staging --project my-storefront --name "Staging Environment"',
114
+ '<%= config.bin %> <%= command.id %> production --project my-storefront --production',
115
+ '<%= config.bin %> <%= command.id %> feature-test -p my-storefront --region eu-west-1',
116
+ '<%= config.bin %> <%= command.id %> staging -p my-storefront --proxy api=api.example.com --proxy ocapi=ocapi.example.com',
117
+ '<%= config.bin %> <%= command.id %> staging -p my-storefront --wait',
118
+ ];
119
+ static flags = {
120
+ ...MrtCommand.baseFlags,
121
+ name: Flags.string({
122
+ char: 'n',
123
+ description: 'Display name for the environment (defaults to slug)',
124
+ }),
125
+ region: Flags.string({
126
+ char: 'r',
127
+ description: 'AWS region for SSR deployment',
128
+ options: SSR_REGIONS,
129
+ }),
130
+ production: Flags.boolean({
131
+ description: 'Mark as a production environment',
132
+ default: false,
133
+ }),
134
+ hostname: Flags.string({
135
+ description: 'Hostname pattern for V8 Tag loading',
136
+ }),
137
+ 'external-hostname': Flags.string({
138
+ description: 'Full external hostname (e.g., www.example.com)',
139
+ }),
140
+ 'external-domain': Flags.string({
141
+ description: 'External domain for Universal PWA SSR (e.g., example.com)',
142
+ }),
143
+ 'allow-cookies': Flags.boolean({
144
+ description: 'Forward HTTP cookies to origin',
145
+ default: false,
146
+ allowNo: true,
147
+ }),
148
+ 'enable-source-maps': Flags.boolean({
149
+ description: 'Enable source map support in the environment',
150
+ default: false,
151
+ allowNo: true,
152
+ }),
153
+ proxy: Flags.string({
154
+ description: 'Proxy configuration in format path=host (can be specified multiple times)',
155
+ multiple: true,
156
+ }),
157
+ wait: Flags.boolean({
158
+ char: 'w',
159
+ description: 'Wait for the environment to be ready before returning',
160
+ default: false,
161
+ }),
162
+ };
163
+ async run() {
164
+ this.requireMrtCredentials();
165
+ const { slug } = this.args;
166
+ const { mrtProject: project } = this.resolvedConfig.values;
167
+ if (!project) {
168
+ this.error('MRT project is required. Provide --project flag, set SFCC_MRT_PROJECT, or set mrtProject in dw.json.');
169
+ }
170
+ const { name: nameFlag, region, production: isProduction, hostname, 'external-hostname': externalHostname, 'external-domain': externalDomain, 'allow-cookies': allowCookies, 'enable-source-maps': enableSourceMaps, proxy: proxyStrings, wait, } = this.flags;
171
+ // Default name to slug if not provided
172
+ const name = nameFlag ?? slug;
173
+ // Parse proxy configurations
174
+ const proxyConfigs = proxyStrings?.map((p) => parseProxyString(p));
175
+ this.log(t('commands.mrt.env.create.creating', 'Creating environment "{{slug}}" in {{project}}...', { slug, project }));
176
+ try {
177
+ let result = await createEnv({
178
+ projectSlug: project,
179
+ slug,
180
+ name,
181
+ region: region,
182
+ isProduction,
183
+ hostname,
184
+ externalHostname,
185
+ externalDomain,
186
+ allowCookies: allowCookies || undefined,
187
+ enableSourceMaps: enableSourceMaps || undefined,
188
+ proxyConfigs,
189
+ origin: this.resolvedConfig.values.mrtOrigin,
190
+ }, this.getMrtAuth());
191
+ // Wait for environment to be ready if requested
192
+ if (wait) {
193
+ this.log(t('commands.mrt.env.create.waiting', 'Waiting for environment "{{slug}}" to be ready...', { slug }));
194
+ const waitStartTime = Date.now();
195
+ result = await waitForEnv({
196
+ projectSlug: project,
197
+ slug,
198
+ origin: this.resolvedConfig.values.mrtOrigin,
199
+ onPoll: (env) => {
200
+ if (!this.jsonEnabled()) {
201
+ const elapsed = Math.round((Date.now() - waitStartTime) / 1000);
202
+ this.log(t('commands.mrt.env.create.state', '[{{elapsed}}s] State: {{state}}', {
203
+ elapsed: String(elapsed),
204
+ state: env.state ?? 'unknown',
205
+ }));
206
+ }
207
+ },
208
+ }, this.getMrtAuth());
209
+ }
210
+ if (this.jsonEnabled()) {
211
+ return result;
212
+ }
213
+ // Human-readable output
214
+ this.log(t('commands.mrt.env.create.success', 'Environment created successfully.'));
215
+ printEnvDetails(result, project);
216
+ return result;
217
+ }
218
+ catch (error) {
219
+ if (error instanceof Error) {
220
+ this.error(t('commands.mrt.env.create.failed', 'Failed to create environment: {{message}}', { message: error.message }));
221
+ }
222
+ throw error;
223
+ }
224
+ }
225
+ }
226
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/commands/mrt/env/create.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { MrtCommand } from '@salesforce/b2c-tooling-sdk/cli';
2
+ /**
3
+ * Delete an environment (target) from a Managed Runtime project.
4
+ */
5
+ export default class MrtEnvDelete extends MrtCommand<typeof MrtEnvDelete> {
6
+ static args: {
7
+ slug: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
8
+ };
9
+ static description: string;
10
+ static enableJsonFlag: boolean;
11
+ static examples: string[];
12
+ static flags: {
13
+ force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
+ 'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
+ project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
+ environment: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
+ 'cloud-origin': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
+ 'credentials-file': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
19
+ 'log-level': import("@oclif/core/interfaces").OptionFlag<"trace" | "debug" | "info" | "warn" | "error" | "silent" | undefined, import("@oclif/core/interfaces").CustomOptions>;
20
+ debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
21
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
22
+ lang: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
23
+ config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
24
+ instance: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
25
+ 'working-directory': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
26
+ 'extra-query': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
27
+ 'extra-body': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
28
+ 'extra-headers': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
29
+ };
30
+ run(): Promise<{
31
+ slug: string;
32
+ project: string;
33
+ }>;
34
+ }
@@ -0,0 +1,94 @@
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 * as readline from 'node:readline';
7
+ import { Args, Flags } from '@oclif/core';
8
+ import { MrtCommand } from '@salesforce/b2c-tooling-sdk/cli';
9
+ import { deleteEnv } from '@salesforce/b2c-tooling-sdk/operations/mrt';
10
+ import { t } from '../../../i18n/index.js';
11
+ /**
12
+ * Simple confirmation prompt.
13
+ */
14
+ async function confirm(message) {
15
+ const rl = readline.createInterface({
16
+ input: process.stdin,
17
+ output: process.stderr,
18
+ });
19
+ return new Promise((resolve) => {
20
+ rl.question(`${message} `, (answer) => {
21
+ rl.close();
22
+ resolve(answer.toLowerCase() === 'y' || answer.toLowerCase() === 'yes');
23
+ });
24
+ });
25
+ }
26
+ /**
27
+ * Delete an environment (target) from a Managed Runtime project.
28
+ */
29
+ export default class MrtEnvDelete extends MrtCommand {
30
+ static args = {
31
+ slug: Args.string({
32
+ description: 'Environment slug/identifier to delete',
33
+ required: true,
34
+ }),
35
+ };
36
+ static description = t('commands.mrt.env.delete.description', 'Delete a Managed Runtime environment');
37
+ static enableJsonFlag = true;
38
+ static examples = [
39
+ '<%= config.bin %> <%= command.id %> feature-test --project my-storefront',
40
+ '<%= config.bin %> <%= command.id %> old-staging -p my-storefront --force',
41
+ ];
42
+ static flags = {
43
+ ...MrtCommand.baseFlags,
44
+ force: Flags.boolean({
45
+ char: 'f',
46
+ description: 'Skip confirmation prompt',
47
+ default: false,
48
+ }),
49
+ };
50
+ async run() {
51
+ this.requireMrtCredentials();
52
+ const { slug } = this.args;
53
+ const { mrtProject: project } = this.resolvedConfig.values;
54
+ if (!project) {
55
+ this.error('MRT project is required. Provide --project flag, set SFCC_MRT_PROJECT, or set mrtProject in dw.json.');
56
+ }
57
+ const { force } = this.flags;
58
+ // Confirm deletion unless --force is used
59
+ if (!force && !this.jsonEnabled()) {
60
+ const confirmed = await confirm(t('commands.mrt.env.delete.confirm', 'Are you sure you want to delete environment "{{slug}}" from {{project}}? (y/n)', {
61
+ slug,
62
+ project,
63
+ }));
64
+ if (!confirmed) {
65
+ this.log(t('commands.mrt.env.delete.cancelled', 'Deletion cancelled.'));
66
+ return { slug, project };
67
+ }
68
+ }
69
+ if (!this.jsonEnabled()) {
70
+ this.log(t('commands.mrt.env.delete.deleting', 'Deleting environment "{{slug}}" from {{project}}...', { slug, project }));
71
+ }
72
+ try {
73
+ await deleteEnv({
74
+ projectSlug: project,
75
+ slug,
76
+ origin: this.resolvedConfig.values.mrtOrigin,
77
+ }, this.getMrtAuth());
78
+ if (!this.jsonEnabled()) {
79
+ this.log(t('commands.mrt.env.delete.success', 'Environment "{{slug}}" deleted from {{project}}.', {
80
+ slug,
81
+ project,
82
+ }));
83
+ }
84
+ return { slug, project };
85
+ }
86
+ catch (error) {
87
+ if (error instanceof Error) {
88
+ this.error(t('commands.mrt.env.delete.failed', 'Failed to delete environment: {{message}}', { message: error.message }));
89
+ }
90
+ throw error;
91
+ }
92
+ }
93
+ }
94
+ //# sourceMappingURL=delete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../src/commands/mrt/env/delete.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { MrtCommand } from '@salesforce/b2c-tooling-sdk/cli';
2
+ /**
3
+ * Delete an environment variable from an MRT project environment.
4
+ */
5
+ export default class MrtEnvVarDelete extends MrtCommand<typeof MrtEnvVarDelete> {
6
+ static args: {
7
+ key: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
8
+ };
9
+ static description: string;
10
+ static enableJsonFlag: boolean;
11
+ static examples: string[];
12
+ static flags: {
13
+ 'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
+ environment: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
+ 'cloud-origin': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
+ 'credentials-file': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
+ 'log-level': import("@oclif/core/interfaces").OptionFlag<"trace" | "debug" | "info" | "warn" | "error" | "silent" | undefined, import("@oclif/core/interfaces").CustomOptions>;
19
+ debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
20
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
21
+ lang: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
22
+ config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
23
+ instance: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
24
+ 'working-directory': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
25
+ 'extra-query': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
26
+ 'extra-body': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
27
+ 'extra-headers': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
28
+ };
29
+ run(): Promise<{
30
+ key: string;
31
+ project: string;
32
+ environment: string;
33
+ }>;
34
+ }
@@ -0,0 +1,53 @@
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 { MrtCommand } from '@salesforce/b2c-tooling-sdk/cli';
8
+ import { deleteEnvVar } from '@salesforce/b2c-tooling-sdk/operations/mrt';
9
+ import { t } from '../../../../i18n/index.js';
10
+ /**
11
+ * Delete an environment variable from an MRT project environment.
12
+ */
13
+ export default class MrtEnvVarDelete extends MrtCommand {
14
+ static args = {
15
+ key: Args.string({
16
+ description: 'Environment variable name',
17
+ required: true,
18
+ }),
19
+ };
20
+ static description = t('commands.mrt.env.var.delete.description', 'Delete an environment variable from a Managed Runtime environment');
21
+ static enableJsonFlag = true;
22
+ static examples = [
23
+ '<%= config.bin %> <%= command.id %> MY_VAR --project acme-storefront --environment production',
24
+ '<%= config.bin %> <%= command.id %> OLD_API_KEY -p my-project -e staging',
25
+ ];
26
+ static flags = {
27
+ ...MrtCommand.baseFlags,
28
+ };
29
+ async run() {
30
+ this.requireMrtCredentials();
31
+ const { key } = this.args;
32
+ const { mrtProject: project, mrtEnvironment: environment } = this.resolvedConfig.values;
33
+ if (!project) {
34
+ this.error('MRT project is required. Provide --project flag, set SFCC_MRT_PROJECT, or set mrtProject in dw.json.');
35
+ }
36
+ if (!environment) {
37
+ this.error('MRT environment is required. Provide --environment flag, set SFCC_MRT_ENVIRONMENT, or set mrtEnvironment in dw.json.');
38
+ }
39
+ await deleteEnvVar({
40
+ projectSlug: project,
41
+ environment,
42
+ key,
43
+ origin: this.resolvedConfig.values.mrtOrigin,
44
+ }, this.getMrtAuth());
45
+ this.log(t('commands.mrt.env.var.delete.success', 'Deleted {{key}} from {{project}}/{{environment}}', {
46
+ key,
47
+ project,
48
+ environment,
49
+ }));
50
+ return { key, project, environment };
51
+ }
52
+ }
53
+ //# sourceMappingURL=delete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../../src/commands/mrt/env/var/delete.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,UAAU,EAAC,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAC,YAAY,EAAC,MAAM,4CAA4C,CAAC;AACxE,OAAO,EAAC,CAAC,EAAC,MAAM,2BAA2B,CAAC;AAE5C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,UAAkC;IAC7E,MAAM,CAAC,IAAI,GAAG;QACZ,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC;YACf,WAAW,EAAE,2BAA2B;YACxC,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;IAEF,MAAM,CAAC,WAAW,GAAG,CAAC,CACpB,yCAAyC,EACzC,mEAAmE,CACpE,CAAC;IAEF,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;IAE7B,MAAM,CAAC,QAAQ,GAAG;QAChB,+FAA+F;QAC/F,0EAA0E;KAC3E,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,UAAU,CAAC,SAAS;KACxB,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,MAAM,EAAC,GAAG,EAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACxB,MAAM,EAAC,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;QAEtF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,KAAK,CACR,sGAAsG,CACvG,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,IAAI,CAAC,KAAK,CACR,sHAAsH,CACvH,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,CAChB;YACE,WAAW,EAAE,OAAO;YACpB,WAAW;YACX,GAAG;YACH,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS;SAC7C,EACD,IAAI,CAAC,UAAU,EAAE,CAClB,CAAC;QAEF,IAAI,CAAC,GAAG,CACN,CAAC,CAAC,qCAAqC,EAAE,kDAAkD,EAAE;YAC3F,GAAG;YACH,OAAO;YACP,WAAW;SACZ,CAAC,CACH,CAAC;QAEF,OAAO,EAAC,GAAG,EAAE,OAAO,EAAE,WAAW,EAAC,CAAC;IACrC,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { MrtCommand } from '@salesforce/b2c-tooling-sdk/cli';
2
+ import { type ListEnvVarsResult } from '@salesforce/b2c-tooling-sdk/operations/mrt';
3
+ /**
4
+ * List environment variables on an MRT project environment.
5
+ */
6
+ export default class MrtEnvVarList extends MrtCommand<typeof MrtEnvVarList> {
7
+ static description: string;
8
+ static enableJsonFlag: boolean;
9
+ static examples: string[];
10
+ static flags: {
11
+ 'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ environment: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ 'cloud-origin': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
+ 'credentials-file': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
+ 'log-level': import("@oclif/core/interfaces").OptionFlag<"trace" | "debug" | "info" | "warn" | "error" | "silent" | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
+ debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
18
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
19
+ lang: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
20
+ config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
21
+ instance: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
22
+ 'working-directory': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
23
+ 'extra-query': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
24
+ 'extra-body': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
25
+ 'extra-headers': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
26
+ };
27
+ run(): Promise<ListEnvVarsResult>;
28
+ }