@salesforce/b2c-tooling-sdk 2.2.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/data/guides/enrichment.json +1081 -0
  2. package/data/guides/index.json +1571 -36
  3. package/data/schemas/dw.schema.json +576 -0
  4. package/data/tooling/index.json +27 -9
  5. package/dist/esm/auth/client-credentials.d.ts +43 -0
  6. package/dist/esm/auth/client-credentials.js +55 -0
  7. package/dist/esm/auth/client-credentials.js.map +1 -1
  8. package/dist/esm/auth/index.d.ts +2 -1
  9. package/dist/esm/auth/index.js +1 -1
  10. package/dist/esm/auth/index.js.map +1 -1
  11. package/dist/esm/auth/oauth.d.ts +3 -0
  12. package/dist/esm/auth/oauth.js +3 -3
  13. package/dist/esm/auth/oauth.js.map +1 -1
  14. package/dist/esm/auth/resolve.d.ts +2 -0
  15. package/dist/esm/auth/resolve.js +3 -2
  16. package/dist/esm/auth/resolve.js.map +1 -1
  17. package/dist/esm/auth/types.d.ts +5 -0
  18. package/dist/esm/auth/types.js +0 -5
  19. package/dist/esm/auth/types.js.map +1 -1
  20. package/dist/esm/cli/base-command.d.ts +20 -1
  21. package/dist/esm/cli/base-command.js +57 -8
  22. package/dist/esm/cli/base-command.js.map +1 -1
  23. package/dist/esm/cli/command-search.d.ts +85 -0
  24. package/dist/esm/cli/command-search.js +147 -0
  25. package/dist/esm/cli/command-search.js.map +1 -0
  26. package/dist/esm/cli/config.d.ts +10 -1
  27. package/dist/esm/cli/config.js +17 -9
  28. package/dist/esm/cli/config.js.map +1 -1
  29. package/dist/esm/cli/index.d.ts +2 -0
  30. package/dist/esm/cli/index.js +2 -0
  31. package/dist/esm/cli/index.js.map +1 -1
  32. package/dist/esm/cli/instance-command.d.ts +2 -0
  33. package/dist/esm/cli/mrt-command.d.ts +4 -2
  34. package/dist/esm/cli/mrt-command.js +4 -4
  35. package/dist/esm/cli/mrt-command.js.map +1 -1
  36. package/dist/esm/cli/oauth-command.d.ts +2 -0
  37. package/dist/esm/cli/oauth-command.js +8 -0
  38. package/dist/esm/cli/oauth-command.js.map +1 -1
  39. package/dist/esm/cli/ods-command.d.ts +2 -0
  40. package/dist/esm/cli/webdav-command.d.ts +2 -0
  41. package/dist/esm/clients/custom-apis.d.ts +36 -2
  42. package/dist/esm/clients/custom-apis.js +57 -4
  43. package/dist/esm/clients/custom-apis.js.map +1 -1
  44. package/dist/esm/clients/index.d.ts +1 -1
  45. package/dist/esm/clients/index.js +1 -1
  46. package/dist/esm/clients/index.js.map +1 -1
  47. package/dist/esm/clients/slas-shopper.generated.d.ts +2 -1
  48. package/dist/esm/config/dw-json-schema.d.ts +14 -0
  49. package/dist/esm/config/dw-json-schema.js +265 -0
  50. package/dist/esm/config/dw-json-schema.js.map +1 -0
  51. package/dist/esm/config/dw-json.d.ts +3 -0
  52. package/dist/esm/config/dw-json.js.map +1 -1
  53. package/dist/esm/config/index.d.ts +6 -2
  54. package/dist/esm/config/index.js +4 -2
  55. package/dist/esm/config/index.js.map +1 -1
  56. package/dist/esm/config/mapping.d.ts +5 -0
  57. package/dist/esm/config/mapping.js +21 -1
  58. package/dist/esm/config/mapping.js.map +1 -1
  59. package/dist/esm/config/project-environment.d.ts +62 -0
  60. package/dist/esm/config/project-environment.js +113 -0
  61. package/dist/esm/config/project-environment.js.map +1 -1
  62. package/dist/esm/config/resolved-config.js +1 -0
  63. package/dist/esm/config/resolved-config.js.map +1 -1
  64. package/dist/esm/config/resolver.js +52 -8
  65. package/dist/esm/config/resolver.js.map +1 -1
  66. package/dist/esm/config/sources/dw-json-source.js +25 -3
  67. package/dist/esm/config/sources/dw-json-source.js.map +1 -1
  68. package/dist/esm/config/sources/env-source.d.ts +42 -8
  69. package/dist/esm/config/sources/env-source.js +86 -50
  70. package/dist/esm/config/sources/env-source.js.map +1 -1
  71. package/dist/esm/config/sources/index.d.ts +1 -1
  72. package/dist/esm/config/sources/index.js +1 -1
  73. package/dist/esm/config/sources/index.js.map +1 -1
  74. package/dist/esm/config/types.d.ts +10 -3
  75. package/dist/esm/docs/search.js +4 -1
  76. package/dist/esm/docs/search.js.map +1 -1
  77. package/dist/esm/docs/types.d.ts +5 -1
  78. package/dist/esm/guidance/bundle.d.ts +33 -0
  79. package/dist/esm/guidance/bundle.js +268 -0
  80. package/dist/esm/guidance/bundle.js.map +1 -0
  81. package/dist/esm/guidance/catalog.d.ts +8 -1
  82. package/dist/esm/guidance/catalog.js +48 -6
  83. package/dist/esm/guidance/catalog.js.map +1 -1
  84. package/dist/esm/guidance/index.d.ts +1 -0
  85. package/dist/esm/guidance/index.js +1 -0
  86. package/dist/esm/guidance/index.js.map +1 -1
  87. package/dist/esm/guidance/types.d.ts +17 -1
  88. package/dist/esm/guidance/types.js.map +1 -1
  89. package/dist/esm/index.d.ts +1 -1
  90. package/dist/esm/index.js +1 -1
  91. package/dist/esm/index.js.map +1 -1
  92. package/dist/esm/instance/index.js +1 -0
  93. package/dist/esm/instance/index.js.map +1 -1
  94. package/dist/esm/openshell/apply.d.ts +90 -0
  95. package/dist/esm/openshell/apply.js +225 -0
  96. package/dist/esm/openshell/apply.js.map +1 -0
  97. package/dist/esm/openshell/index.d.ts +30 -0
  98. package/dist/esm/openshell/index.js +34 -0
  99. package/dist/esm/openshell/index.js.map +1 -0
  100. package/dist/esm/openshell/setup.d.ts +94 -0
  101. package/dist/esm/openshell/setup.js +307 -0
  102. package/dist/esm/openshell/setup.js.map +1 -0
  103. package/dist/esm/scapi/auth-primitives.js +1 -0
  104. package/dist/esm/scapi/auth-primitives.js.map +1 -1
  105. package/dist/esm/scapi/authentication.d.ts +19 -0
  106. package/dist/esm/scapi/authentication.js +65 -6
  107. package/dist/esm/scapi/authentication.js.map +1 -1
  108. package/dist/esm/scapi/catalog.d.ts +5 -0
  109. package/dist/esm/scapi/catalog.js.map +1 -1
  110. package/dist/esm/scapi/index.d.ts +8 -3
  111. package/dist/esm/scapi/index.js +5 -2
  112. package/dist/esm/scapi/index.js.map +1 -1
  113. package/dist/esm/scapi/live.d.ts +52 -0
  114. package/dist/esm/scapi/live.js +142 -0
  115. package/dist/esm/scapi/live.js.map +1 -0
  116. package/dist/esm/scapi/local.d.ts +9 -0
  117. package/dist/esm/scapi/local.js +91 -0
  118. package/dist/esm/scapi/local.js.map +1 -0
  119. package/dist/esm/scapi/request.d.ts +6 -0
  120. package/dist/esm/scapi/request.js +84 -61
  121. package/dist/esm/scapi/request.js.map +1 -1
  122. package/dist/esm/scapi/shopper.d.ts +31 -0
  123. package/dist/esm/scapi/shopper.js +79 -0
  124. package/dist/esm/scapi/shopper.js.map +1 -0
  125. package/dist/esm/scapi/worker-source.js +2 -2
  126. package/dist/esm/slas/index.d.ts +1 -1
  127. package/dist/esm/slas/index.js +1 -1
  128. package/dist/esm/slas/index.js.map +1 -1
  129. package/dist/esm/slas/token.d.ts +10 -0
  130. package/dist/esm/slas/token.js +27 -0
  131. package/dist/esm/slas/token.js.map +1 -1
  132. package/dist/esm/telemetry/telemetry.d.ts +1 -0
  133. package/dist/esm/telemetry/telemetry.js +18 -1
  134. package/dist/esm/telemetry/telemetry.js.map +1 -1
  135. package/dist/esm/telemetry/types.d.ts +9 -0
  136. package/dist/esm/test-utils/config-isolation.js +12 -13
  137. package/dist/esm/test-utils/config-isolation.js.map +1 -1
  138. package/dist/esm/ux/agent-context.d.ts +69 -0
  139. package/dist/esm/ux/agent-context.js +133 -0
  140. package/dist/esm/ux/agent-context.js.map +1 -0
  141. package/dist/esm/ux/confirm.d.ts +27 -0
  142. package/dist/esm/ux/confirm.js +32 -0
  143. package/dist/esm/ux/confirm.js.map +1 -1
  144. package/dist/esm/ux/index.d.ts +2 -1
  145. package/dist/esm/ux/index.js +2 -1
  146. package/dist/esm/ux/index.js.map +1 -1
  147. package/package.json +8 -1
  148. package/specs/slas-shopper-v1.yaml +2 -1
@@ -0,0 +1,307 @@
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
+ /**
7
+ * Builds the OpenShell provider profiles, providers, network policy, and
8
+ * sandbox environment for running the B2C tooling inside an OpenShell sandbox.
9
+ *
10
+ * @module openshell/setup
11
+ */
12
+ import yaml from 'js-yaml';
13
+ import { Minimatch } from 'minimatch';
14
+ import { DEFAULT_ACCOUNT_MANAGER_HOST, DEFAULT_ODS_HOST } from '../defaults.js';
15
+ import { DEFAULT_CIP_HOST, DEFAULT_CIP_STAGING_HOST } from '../clients/cip.js';
16
+ import { DEFAULT_MRT_ORIGIN } from '../clients/mrt.js';
17
+ import { getLogsWebSocketUrl } from '../operations/mrt/tail-logs.js';
18
+ /** All supported sandbox access levels. */
19
+ export const OPENSHELL_ACCESS_LEVELS = [
20
+ 'NONE',
21
+ 'NO_DELETE',
22
+ 'NO_UPDATE',
23
+ 'READ_ONLY',
24
+ ];
25
+ /** Path of the forwarded Safety Mode configuration inside the sandbox. */
26
+ export const OPENSHELL_SAFETY_CONFIG_PATH = '/sandbox/.b2c/safety.json';
27
+ const TOKEN_PATH = '/dwsso/oauth2/access_token';
28
+ const AM_API_PATH = '/dw/rest/**';
29
+ const MRT_LOG_TOKEN_PATH = '/api/projects/*/target/*/jwt/';
30
+ /** Documentation hosts read by `b2c docs read` and the MCP `docs_read` tool. */
31
+ const DOCS_HOSTS = ['developer.salesforce.com', 'salesforcecommercecloud.github.io'];
32
+ const WEBDAV_PATH = '/on/demandware.servlet/webdav/**';
33
+ const NODE_BINARY = '/usr/local/bin/node';
34
+ const READ_METHODS = ['GET', 'HEAD', 'OPTIONS'];
35
+ const WRITE_METHODS = ['POST', 'PUT', 'PATCH'];
36
+ const WEBDAV_READ_METHODS = ['PROPFIND'];
37
+ const WEBDAV_WRITE_METHODS = ['MKCOL', 'MOVE', 'COPY'];
38
+ const ALL_METHODS = [...READ_METHODS, ...WRITE_METHODS, 'DELETE', ...WEBDAV_READ_METHODS, ...WEBDAV_WRITE_METHODS];
39
+ /**
40
+ * Profiles declare no endpoints: each provider is bound to hosts in the
41
+ * sandbox policy instead. OpenShell releases every credential of a provider to
42
+ * every host it is bound to, so each secret gets its own profile and provider.
43
+ */
44
+ const PROFILES = {
45
+ clientSecret: {
46
+ id: 'b2c-client-secret',
47
+ displayName: 'B2C Commerce API client secret',
48
+ description: 'Account Manager API client secret for client credentials authentication',
49
+ credential: 'client_secret',
50
+ envVar: 'SFCC_CLIENT_SECRET',
51
+ },
52
+ password: {
53
+ id: 'b2c-webdav-access-key',
54
+ displayName: 'B2C Commerce WebDAV access key',
55
+ description: 'Business Manager user access key for WebDAV',
56
+ credential: 'access_key',
57
+ envVar: 'SFCC_PASSWORD',
58
+ authStyle: 'basic',
59
+ },
60
+ mrtApiKey: {
61
+ id: 'b2c-mrt-api-key',
62
+ displayName: 'Managed Runtime API key',
63
+ description: 'Managed Runtime API key',
64
+ credential: 'api_key',
65
+ envVar: 'MRT_API_KEY',
66
+ authStyle: 'bearer',
67
+ },
68
+ };
69
+ function renderProfile(def) {
70
+ return yaml.dump({
71
+ id: def.id,
72
+ display_name: def.displayName,
73
+ description: def.description,
74
+ category: 'other',
75
+ credentials: [
76
+ {
77
+ name: def.credential,
78
+ description: def.description,
79
+ env_vars: [def.envVar],
80
+ required: true,
81
+ ...(def.authStyle ? { auth_style: def.authStyle } : {}),
82
+ ...(def.authStyle === 'bearer' ? { header_name: 'Authorization' } : {}),
83
+ },
84
+ ],
85
+ discovery: { credentials: [def.credential] },
86
+ }, { lineWidth: -1 });
87
+ }
88
+ /**
89
+ * Returns true when a secret sent in an unencoded Basic header would reach
90
+ * Account Manager altered (it form-decodes `+` and `%xx`).
91
+ */
92
+ export function secretNeedsBodyAuth(secret) {
93
+ return /[+%]/.test(secret);
94
+ }
95
+ function toSandboxName(value) {
96
+ const slug = value
97
+ .toLowerCase()
98
+ .replaceAll(/[^a-z0-9-]+/g, '-')
99
+ .replaceAll(/^-+|-+$/g, '');
100
+ return slug.startsWith('b2c') ? slug : `b2c-${slug}`;
101
+ }
102
+ function hostOf(value) {
103
+ return value.includes('://') ? new URL(value).hostname : value;
104
+ }
105
+ // NO_UPDATE is enforced like NO_DELETE on the network. Safety Mode in the
106
+ // sandbox blocks its reset, stop, and restart operations.
107
+ function methodRules(level, webdav, path = '/**') {
108
+ const methods = [...READ_METHODS];
109
+ if (level !== 'READ_ONLY')
110
+ methods.push(...WRITE_METHODS);
111
+ if (level === 'NONE')
112
+ methods.push('DELETE');
113
+ const rules = methods.map((method) => ({ allow: { method, path } }));
114
+ if (webdav) {
115
+ const webdavMethods = [...WEBDAV_READ_METHODS];
116
+ if (level !== 'READ_ONLY')
117
+ webdavMethods.push(...WEBDAV_WRITE_METHODS);
118
+ rules.push(...webdavMethods.map((method) => ({ allow: { method, path: WEBDAV_PATH } })));
119
+ }
120
+ return rules;
121
+ }
122
+ /**
123
+ * Converts Safety Mode rules that permit HTTP requests or jobs into network
124
+ * rules, so exceptions to the level also work in the sandbox. Command rules
125
+ * can't be expressed as network rules.
126
+ */
127
+ function safetyNetworkRules(rules) {
128
+ const result = [];
129
+ for (const rule of rules) {
130
+ if (rule.action === 'block' || rule.command !== undefined)
131
+ continue;
132
+ if (rule.job !== undefined) {
133
+ result.push({ allow: { method: 'POST', path: `/**/jobs/${rule.job}/executions` } });
134
+ }
135
+ else if (rule.path !== undefined || rule.method !== undefined) {
136
+ const matcher = rule.method ? new Minimatch(rule.method, { nocase: true }) : undefined;
137
+ for (const method of ALL_METHODS.filter((m) => !matcher || matcher.match(m))) {
138
+ result.push({ allow: { method, path: rule.path ?? '/**' } });
139
+ }
140
+ }
141
+ }
142
+ return result;
143
+ }
144
+ function endpoint(host, rules, extra = {}) {
145
+ return { host, port: 443, protocol: 'rest', enforcement: 'enforce', ...extra, rules };
146
+ }
147
+ /**
148
+ * Builds the OpenShell setup for a resolved B2C configuration.
149
+ *
150
+ * Only secrets present in the configuration get a provider. The API client
151
+ * secret is released only to the Account Manager token endpoint, the WebDAV
152
+ * access key only to the instance host, and the MRT API key only to the MRT
153
+ * host. B2C hosts are limited to the HTTP methods of the access level.
154
+ *
155
+ * @param config - The resolved configuration (secrets are read but never included in the result)
156
+ * @param options - Sandbox name, access level, and extra hosts
157
+ */
158
+ export function buildOpenShellSetup(config, options = {}) {
159
+ const accessLevel = options.accessLevel ?? 'NONE';
160
+ const safetyRules = options.safety?.rules ?? [];
161
+ const forwardSafety = safetyRules.length > 0 || options.safety?.confirm === true;
162
+ const extraRules = accessLevel === 'NONE' ? [] : safetyNetworkRules(safetyRules);
163
+ const sandboxName = toSandboxName(options.sandboxName ?? config.instanceName ?? config.hostname?.split('.')[0] ?? 'sandbox');
164
+ const providers = [];
165
+ const addProvider = (source, suffix) => {
166
+ const name = `${sandboxName}-${suffix}`;
167
+ providers.push({ name, type: PROFILES[source].id, envVar: PROFILES[source].envVar, source });
168
+ return name;
169
+ };
170
+ const env = {};
171
+ const setEnv = (key, value) => {
172
+ if (value)
173
+ env[key] = value;
174
+ };
175
+ const policies = {};
176
+ const hosts = [];
177
+ const addPolicy = (key, name, endpoints) => {
178
+ policies[key] = { name, endpoints, binaries: [{ path: NODE_BINARY }] };
179
+ hosts.push(...endpoints.map((e) => e.host));
180
+ };
181
+ // Account Manager: the client secret may only be sent to the token endpoint.
182
+ // The Account Manager API (`b2c am`) uses the OAuth token.
183
+ const accountManagerHost = config.accountManagerHost ?? DEFAULT_ACCOUNT_MANAGER_HOST;
184
+ if (config.clientId && config.clientSecret) {
185
+ const provider = addProvider('clientSecret', 'client-secret');
186
+ // Inside the sandbox the secret is a placeholder, which defaults to an
187
+ // unencoded Basic header. Secrets that Account Manager would misread
188
+ // there go in the body instead, which the proxy re-encodes.
189
+ const clientAuthMethod = config.clientAuthMethod === 'body' || secretNeedsBodyAuth(config.clientSecret) ? 'body' : undefined;
190
+ const bodyRewrite = clientAuthMethod === 'body' ? { request_body_credential_rewrite: true } : {};
191
+ addPolicy('b2c_account_manager', 'b2c-account-manager', [
192
+ endpoint(accountManagerHost, [{ allow: { method: 'POST', path: TOKEN_PATH } }, ...methodRules(accessLevel, false, AM_API_PATH)], { ...bodyRewrite, credential_binding: { provider } }),
193
+ ]);
194
+ setEnv('SFCC_CLIENT_ID', config.clientId);
195
+ setEnv('SFCC_ACCOUNT_MANAGER_HOST', config.accountManagerHost);
196
+ setEnv('SFCC_CLIENT_AUTH_METHOD', clientAuthMethod);
197
+ }
198
+ // Instance: OCAPI and WebDAV. The WebDAV access key is bound here only.
199
+ if (config.hostname) {
200
+ const provider = config.username && config.password ? addProvider('password', 'webdav') : undefined;
201
+ const binding = provider ? { credential_binding: { provider } } : {};
202
+ const instanceHosts = [...new Set([config.hostname, config.webdavHostname].filter(Boolean))];
203
+ addPolicy('b2c_instance', 'b2c-instance', instanceHosts.map((host) => endpoint(host, [...methodRules(accessLevel, true), ...extraRules], binding)));
204
+ setEnv('SFCC_SERVER', config.hostname);
205
+ setEnv('SFCC_WEBDAV_SERVER', config.webdavHostname);
206
+ setEnv('SFCC_USERNAME', provider ? config.username : undefined);
207
+ setEnv('SFCC_CODE_VERSION', config.codeVersion);
208
+ }
209
+ // SCAPI Admin APIs use the OAuth access token; no stored secret.
210
+ if (config.shortCode) {
211
+ addPolicy('b2c_scapi', 'b2c-scapi', [
212
+ endpoint(`${config.shortCode}.api.commercecloud.salesforce.com`, [
213
+ ...methodRules(accessLevel, false),
214
+ ...extraRules,
215
+ ]),
216
+ ]);
217
+ setEnv('SFCC_SHORTCODE', config.shortCode);
218
+ }
219
+ setEnv('SFCC_TENANT_ID', config.tenantId);
220
+ setEnv('SFCC_SITE_ID', config.siteId);
221
+ if (config.clientId && config.clientSecret) {
222
+ // On-demand sandboxes (`b2c sandbox`) use the OAuth token.
223
+ addPolicy('b2c_sandbox_api', 'b2c-sandbox-api', [
224
+ endpoint(config.sandboxApiHost ?? DEFAULT_ODS_HOST, methodRules(accessLevel, false)),
225
+ ]);
226
+ setEnv('SFCC_SANDBOX_API_HOST', config.sandboxApiHost);
227
+ // CIP analytics queries are read-only SQL, but the protocol sends every
228
+ // request as a POST, so POST is allowed at every access level.
229
+ const cipHosts = config.cipHost ? [config.cipHost] : [DEFAULT_CIP_HOST, DEFAULT_CIP_STAGING_HOST];
230
+ addPolicy('b2c_cip', 'b2c-cip', cipHosts.map((host) => endpoint(host, [{ allow: { method: 'POST', path: '/**' } }])));
231
+ setEnv('SFCC_CIP_HOST', config.cipHost);
232
+ }
233
+ // Managed Runtime: the API key is bound to the MRT host only.
234
+ if (config.mrtApiKey) {
235
+ const provider = addProvider('mrtApiKey', 'mrt');
236
+ const mrtOrigin = config.mrtOrigin ?? DEFAULT_MRT_ORIGIN;
237
+ // Tailing logs requests a short-lived log token (a POST), then opens a
238
+ // WebSocket to the log host with that token.
239
+ const logTokenRule = accessLevel === 'READ_ONLY' ? [{ allow: { method: 'POST', path: MRT_LOG_TOKEN_PATH } }] : [];
240
+ addPolicy('b2c_mrt', 'b2c-mrt', [
241
+ endpoint(hostOf(mrtOrigin), [...methodRules(accessLevel, false), ...logTokenRule], {
242
+ credential_binding: { provider },
243
+ }),
244
+ { host: hostOf(getLogsWebSocketUrl(mrtOrigin)), port: 443 },
245
+ ]);
246
+ setEnv('MRT_PROJECT', config.mrtProject);
247
+ setEnv('MRT_ENVIRONMENT', config.mrtEnvironment);
248
+ setEnv('MRT_CLOUD_ORIGIN', config.mrtOrigin);
249
+ }
250
+ if (options.allowHosts && options.allowHosts.length > 0) {
251
+ addPolicy('b2c_additional', 'b2c-additional-hosts', options.allowHosts.map((host) => endpoint(hostOf(host), methodRules(accessLevel, false))));
252
+ }
253
+ // Documentation pages for `b2c docs read`: read only.
254
+ addPolicy('b2c_docs', 'b2c-docs', DOCS_HOSTS.map((host) => endpoint(host, methodRules('READ_ONLY', false))));
255
+ // Match Safety Mode to the network policy so blocked operations fail early
256
+ // with a clear message. Telemetry and update checks would only be denied.
257
+ env.SFCC_SAFETY_LEVEL = accessLevel;
258
+ if (forwardSafety)
259
+ env.SFCC_SAFETY_CONFIG = OPENSHELL_SAFETY_CONFIG_PATH;
260
+ env.SFCC_DISABLE_TELEMETRY = 'true';
261
+ env.B2C_SKIP_NEW_VERSION_CHECK = 'true';
262
+ const policy = yaml.dump({
263
+ version: 1,
264
+ filesystem_policy: {
265
+ include_workdir: true,
266
+ read_only: ['/bin', '/usr', '/opt', '/lib', '/proc', '/dev/urandom', '/etc'],
267
+ read_write: ['/sandbox', '/tmp', '/dev/null', '/home/sandbox'],
268
+ },
269
+ landlock: { compatibility: 'best_effort' },
270
+ network_policies: policies,
271
+ }, { lineWidth: -1, flowLevel: 6, noRefs: true });
272
+ const profileSources = [...new Set(providers.map((p) => p.source))];
273
+ return {
274
+ sandboxName,
275
+ profiles: profileSources.map((source) => ({ id: PROFILES[source].id, content: renderProfile(PROFILES[source]) })),
276
+ providers,
277
+ policy,
278
+ env,
279
+ hosts,
280
+ safetyConfig: forwardSafety
281
+ ? `${JSON.stringify({ level: accessLevel, confirm: options.safety?.confirm, rules: safetyRules }, null, 2)}\n`
282
+ : undefined,
283
+ unmappedSafetyRules: accessLevel === 'NONE' ? [] : safetyRules.filter((r) => r.action !== 'block' && r.command !== undefined),
284
+ };
285
+ }
286
+ /**
287
+ * Returns the Dockerfile for a sandbox image with the B2C CLI (and optionally
288
+ * the MCP server) installed.
289
+ *
290
+ * @param options - Package versions to install; defaults to `latest`
291
+ */
292
+ export function buildOpenShellDockerfile(options = {}) {
293
+ const packages = [`@salesforce/b2c-cli@${options.cliVersion ?? 'latest'}`];
294
+ if (options.mcp)
295
+ packages.push(`@salesforce/b2c-dx-mcp@${options.mcpVersion ?? 'latest'}`);
296
+ return `FROM node:22-bookworm-slim
297
+ RUN apt-get update \\
298
+ && apt-get install -y --no-install-recommends ca-certificates iproute2 \\
299
+ && rm -rf /var/lib/apt/lists/*
300
+ RUN npm install -g ${packages.join(' ')} && npm cache clean --force
301
+ RUN useradd --create-home --shell /bin/bash sandbox \\
302
+ && install -d -o sandbox -g sandbox /sandbox
303
+ USER sandbox
304
+ WORKDIR /sandbox
305
+ `;
306
+ }
307
+ //# sourceMappingURL=setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/openshell/setup.ts"],"names":[],"mappings":"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"}
@@ -50,6 +50,7 @@ export function createScapiAuth(config, cwd = process.cwd()) {
50
50
  clientId: config.clientId,
51
51
  clientSecret: config.clientSecret,
52
52
  accountManagerHost: config.accountManagerHost,
53
+ clientAuthMethod: config.clientAuthMethod,
53
54
  scopes,
54
55
  }).getTokenResponse(signal);
55
56
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auth-primitives.js","sourceRoot":"","sources":["../../../src/scapi/auth-primitives.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth-primitives.js","sourceRoot":"","sources":["../../../src/scapi/auth-primitives.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,16 @@ export interface ScapiAuthInfo {
8
8
  export declare function isScapiTextMediaType(mediaType: string): boolean;
9
9
  /** Shared discovery/execution limit: code mode transports JSON requests and text responses. */
10
10
  export declare function unsupportedScapiTransfer(document: ScapiSchemaDocument, operation: ApiDocument): string | undefined;
11
+ export type ScapiRequestAuth = {
12
+ type: 'admin' | 'shopper';
13
+ scopes: string[];
14
+ };
15
+ /**
16
+ * Choose the executor's authentication from the operation's declared security,
17
+ * in declaration order: Account Manager (AmOAuth2) or a guest shopper token.
18
+ * Undefined when no declared requirement is supported.
19
+ */
20
+ export declare function selectScapiAuth(document: ScapiSchemaDocument, operation: ApiDocument): ScapiRequestAuth | undefined;
11
21
  /** Identify supported authentication per operation, including mixed Admin/Shopper contracts. */
12
22
  export declare function getScapiAuthInfo(document: ScapiSchemaDocument, operation: ApiDocument): ScapiAuthInfo;
13
23
  /** Add discovery metadata and filter operations without modifying the bundled source documents. */
@@ -21,7 +31,16 @@ interface AuthContext {
21
31
  api: string;
22
32
  tenantScope: string;
23
33
  candidates: string[][];
34
+ /** Set for guest Shopper requests. */
35
+ shopper?: {
36
+ siteId: string;
37
+ tokenScopes?: string[];
38
+ };
24
39
  }
40
+ /** Scopes granted to a SLAS access token (JWT `scp` claim), when readable. */
41
+ export declare function shopperTokenScopes(token: string): string[] | undefined;
42
+ /** Explain SLAS token failures; token requests carry no per-call scopes. */
43
+ export declare function scapiShopperAuthError(error: unknown, context: AuthContext): Error;
25
44
  /** Enrich known OAuth failures; leave network and unrelated errors intact. */
26
45
  export declare function scapiAuthError(error: unknown, context: AuthContext): unknown;
27
46
  /** HTTP status alone cannot prove that a grant is missing. Keep the original status and body. */
@@ -5,6 +5,8 @@
5
5
  */
6
6
  import { ScapiUserAuthUnsupportedError } from '../clients/scapi-backend-utils.js';
7
7
  import { resolveScapiReference, SCAPI_METHODS } from './catalog.js';
8
+ /** SLAS aggregate scope; tokens carry it verbatim, so it only satisfies operations that list it. */
9
+ const SHOPPER_STANDARD_SCOPE = 'sfcc.shopper-standard';
8
10
  export function isScapiTextMediaType(mediaType) {
9
11
  const type = mediaType.split(';')[0].trim().toLowerCase();
10
12
  return type.startsWith('text/') || type === 'application/json' || type.endsWith('+json');
@@ -20,6 +22,26 @@ export function unsupportedScapiTransfer(document, operation) {
20
22
  if (mediaTypes.length && !mediaTypes.some(isScapiTextMediaType))
21
23
  return 'This operation returns a binary file. File downloads are not supported.';
22
24
  }
25
+ /**
26
+ * Choose the executor's authentication from the operation's declared security,
27
+ * in declaration order: Account Manager (AmOAuth2) or a guest shopper token.
28
+ * Undefined when no declared requirement is supported.
29
+ */
30
+ export function selectScapiAuth(document, operation) {
31
+ // SLAS itself exchanges credentials and tokens; auth.slas() exports shopper tokens instead.
32
+ if (['shopper/auth/v1', 'shopper/auth-admin/v1'].includes(document.entry.id))
33
+ return undefined;
34
+ const security = operation.security ?? document.schema.security ?? [];
35
+ for (const requirement of security) {
36
+ const [scheme, ...rest] = Object.keys(requirement);
37
+ if (rest.length || !Array.isArray(requirement[scheme]))
38
+ continue;
39
+ if (scheme === 'AmOAuth2')
40
+ return { type: 'admin', scopes: requirement[scheme] };
41
+ if (scheme === 'ShopperToken' || scheme === 'ShopperClientContextToken')
42
+ return { type: 'shopper', scopes: requirement[scheme] };
43
+ }
44
+ }
23
45
  /** Identify supported authentication per operation, including mixed Admin/Shopper contracts. */
24
46
  export function getScapiAuthInfo(document, operation) {
25
47
  const security = operation.security ?? document.schema.security ?? [];
@@ -36,11 +58,10 @@ export function getScapiAuthInfo(document, operation) {
36
58
  // OAuth endpoints can declare credentials in grant parameters instead of security schemes.
37
59
  if (!types.size)
38
60
  types.add(document.entry.id === 'shopper/auth/v1' ? 'shopper' : 'unknown');
39
- const admin = security.some((requirement) => Array.isArray(requirement.AmOAuth2) && Object.keys(requirement).length === 1);
40
61
  return {
41
62
  types: [...types].sort(),
42
63
  schemes,
43
- executable: admin && !unsupportedScapiTransfer(document, operation),
64
+ executable: Boolean(selectScapiAuth(document, operation)) && !unsupportedScapiTransfer(document, operation),
44
65
  };
45
66
  }
46
67
  /** Add discovery metadata and filter operations without modifying the bundled source documents. */
@@ -78,7 +99,41 @@ export function describeScapiSchemas(documents, authType) {
78
99
  : [];
79
100
  });
80
101
  }
102
+ /** Scopes granted to a SLAS access token (JWT `scp` claim), when readable. */
103
+ export function shopperTokenScopes(token) {
104
+ try {
105
+ const claims = JSON.parse(Buffer.from(token.split('.')[1] ?? '', 'base64url').toString('utf8'));
106
+ return typeof claims?.scp === 'string' ? claims.scp.split(/\s+/).filter(Boolean) : undefined;
107
+ }
108
+ catch {
109
+ return undefined;
110
+ }
111
+ }
112
+ /** Explain SLAS token failures; token requests carry no per-call scopes. */
113
+ export function scapiShopperAuthError(error, context) {
114
+ const message = error instanceof Error ? error.message : String(error);
115
+ if (/^SCAPI_/.test(message))
116
+ return error;
117
+ return new Error(`SCAPI_SHOPPER_AUTH_FAILED: SLAS guest login failed for ${context.operationId} (${context.api}), site ${context.shopper?.siteId}: ${message}. ` +
118
+ "Check slasClientId, slasClientSecret (private clients), the client's allowed channels, and, for public clients, that its redirect URIs allow http://localhost:3000/callback. Inspect configuration with config_inspect.", { cause: error });
119
+ }
81
120
  function scopeAdvice(context) {
121
+ if (context.shopper) {
122
+ const accepted = context.candidates[0] ?? [];
123
+ const granted = context.shopper.tokenScopes;
124
+ const channel = `Check that site ${context.shopper.siteId} is an allowed channel for the client.`;
125
+ const advice = `SLAS scopes are configured on the client (slasClientId), not requested per call; the operation accepts any of: ${accepted.join(', ')}.`;
126
+ if (!granted)
127
+ return `${advice} ${channel}`;
128
+ const matched = granted.filter((scope) => accepted.includes(scope));
129
+ if (matched.length)
130
+ return `${advice} The shopper token grants ${matched.join(', ')}, so scopes are likely not the cause. ${channel}`;
131
+ // The gateway matches the token's scopes literally; the standard scope covers only operations that accept it.
132
+ const standard = granted.includes(SHOPPER_STANDARD_SCOPE)
133
+ ? `${SHOPPER_STANDARD_SCOPE} does not cover this operation; add one of the accepted scopes to the client alongside it.`
134
+ : `The shopper token grants: ${granted.join(' ')}; add one of the accepted scopes to the client.`;
135
+ return `${advice} ${standard} ${channel}`;
136
+ }
82
137
  const choices = context.candidates.map((candidate) => candidate.join(' + ')).join(' OR ');
83
138
  return (`Account Manager client grants: ${choices}; tenant scope: ${context.tenantScope}. ` +
84
139
  'Operation scopes are requested automatically; also check any extra configured scopes and instance access.');
@@ -115,7 +170,7 @@ export function scapiAuthResponse(status, context) {
115
170
  if (status === 401)
116
171
  return {
117
172
  code: 'SCAPI_UNAUTHORIZED',
118
- message: `${context.operationId}: API rejected the Admin token. Check token validity and the resolved tenant. ${scopeAdvice(context)}`,
173
+ message: `${context.operationId}: API rejected the ${context.shopper ? 'Shopper' : 'Admin'} token. Check token validity and the resolved tenant. ${scopeAdvice(context)}`,
119
174
  };
120
175
  if (status === 403)
121
176
  return {
@@ -128,9 +183,13 @@ export function unsupportedScapiAuth(document, operation) {
128
183
  const target = `${operation.operationId} (${document.entry.id})`;
129
184
  const schemes = auth.schemes.join(' OR ') || 'OAuth grant parameters';
130
185
  if (document.entry.id === 'shopper/auth-admin/v1')
131
- return new Error(`SCAPI_AUTH_UNSUPPORTED: ${target} requires SLAS administration authentication and its declared admin roles. This executor supports AmOAuth2 only; use the SLAS administration CLI/SDK. A SLAS Shopper client is not an admin credential.`);
186
+ return new Error(`SCAPI_AUTH_UNSUPPORTED: ${target} requires SLAS administration authentication and its declared admin roles. Use the SLAS administration CLI/SDK. A SLAS Shopper client is not an admin credential.`);
187
+ if (document.entry.id === 'shopper/auth/v1')
188
+ return new Error(`SCAPI_AUTH_UNSUPPORTED: ${target} is a SLAS login/token endpoint. Shopper APIs authenticate automatically as a guest; use auth.slas() to export a shopper token for an external client.`);
189
+ if (auth.schemes.includes('RegisteredShopperToken'))
190
+ return new Error(`SCAPI_REGISTERED_SHOPPER_UNSUPPORTED: ${target} requires a registered shopper (${schemes}). This executor authenticates Shopper APIs as a guest only; use auth.slas({flow: 'registered', ...}) with an external client.`);
132
191
  if (auth.types.includes('shopper'))
133
- return new Error(`SCAPI_SHOPPER_AUTH_UNSUPPORTED: ${target} requires ${schemes}. Shopper execution is not supported by this executor yet. Use a Shopper client/SDK with SLAS authentication (slasClientId, siteId, and the required token flow; slasClientSecret for private clients). Follow the operation's security scopes. Adding SLAS settings will not enable this executor; do not substitute Account Manager credentials.`);
134
- return new Error(`SCAPI_AUTH_UNSUPPORTED: ${target} declares ${schemes}; this executor supports AmOAuth2 only. Inspect the operation's security requirements before choosing a client.`);
192
+ return new Error(`SCAPI_SHOPPER_AUTH_UNSUPPORTED: ${target} requires ${schemes}. Trusted-system and trusted-agent on-behalf tokens are not supported by this executor; use a Shopper client/SDK with that flow.`);
193
+ return new Error(`SCAPI_AUTH_UNSUPPORTED: ${target} declares ${schemes}; this executor supports AmOAuth2 and guest Shopper tokens. Inspect the operation's security requirements before choosing a client.`);
135
194
  }
136
195
  //# sourceMappingURL=authentication.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"authentication.js","sourceRoot":"","sources":["../../../src/scapi/authentication.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authentication.js","sourceRoot":"","sources":["../../../src/scapi/authentication.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,11 @@ export interface ScapiSchemaEntry {
9
9
  status: string;
10
10
  file: string;
11
11
  source: string;
12
+ /**
13
+ * `live` for contracts fetched from the tenant's Schemas API; `local` for developer-supplied
14
+ * files (see `loadLocalScapiSchemas`); absent for the bundled corpus.
15
+ */
16
+ origin?: 'live' | 'local';
12
17
  }
13
18
  export interface ScapiSchemaDocument {
14
19
  entry: ScapiSchemaEntry;
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/scapi/catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../../src/scapi/catalog.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,11 @@
1
- /** Bundled SCAPI contracts and local JavaScript execution with SDK-authenticated requests. @module scapi */
1
+ /** Bundled, live, and local SCAPI contracts and local JavaScript execution with SDK-authenticated requests. @module scapi */
2
2
  export { loadScapiSchemas, findScapiOperation, resolveScapiReference } from './catalog.js';
3
3
  export type { ApiDocument, ScapiSchemaEntry, ScapiSchemaDocument } from './catalog.js';
4
+ export { ScapiLiveSchemaCache, createLiveScapiDocument, mergeScapiSchemas, scapiTenantKey } from './live.js';
5
+ export { loadLocalScapiSchemas } from './local.js';
6
+ export type { ScapiLiveSchemaCacheOptions, ScapiLiveSchemaLoadOptions, ScapiLiveSchemaLoadResult } from './live.js';
7
+ export { ScapiShopperSessions } from './shopper.js';
8
+ export type { ScapiShopperAuth, ScapiShopperConfig } from './shopper.js';
4
9
  export { runScapiCode } from './runtime.js';
5
10
  export { createScapiAuth } from './auth-primitives.js';
6
11
  export type { ScapiCodeOptions, ScapiRuntimeControl } from './runtime.js';
@@ -8,5 +13,5 @@ export { loadBuiltinScapiSnippets, loadScapiSnippets, saveScapiSnippet, getScapi
8
13
  export type { ScapiSnippet } from './snippets.js';
9
14
  export { createScapiRequest } from './request.js';
10
15
  export type { ScapiRequestOptions, ScapiConfirmation } from './request.js';
11
- export { getScapiAuthInfo } from './authentication.js';
12
- export type { ScapiAuthType, ScapiAuthInfo, ScapiAuthDiagnostic } from './authentication.js';
16
+ export { getScapiAuthInfo, selectScapiAuth } from './authentication.js';
17
+ export type { ScapiAuthType, ScapiAuthInfo, ScapiAuthDiagnostic, ScapiRequestAuth } from './authentication.js';
@@ -3,11 +3,14 @@
3
3
  * SPDX-License-Identifier: Apache-2
4
4
  * For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
5
5
  */
6
- /** Bundled SCAPI contracts and local JavaScript execution with SDK-authenticated requests. @module scapi */
6
+ /** Bundled, live, and local SCAPI contracts and local JavaScript execution with SDK-authenticated requests. @module scapi */
7
7
  export { loadScapiSchemas, findScapiOperation, resolveScapiReference } from './catalog.js';
8
+ export { ScapiLiveSchemaCache, createLiveScapiDocument, mergeScapiSchemas, scapiTenantKey } from './live.js';
9
+ export { loadLocalScapiSchemas } from './local.js';
10
+ export { ScapiShopperSessions } from './shopper.js';
8
11
  export { runScapiCode } from './runtime.js';
9
12
  export { createScapiAuth } from './auth-primitives.js';
10
13
  export { loadBuiltinScapiSnippets, loadScapiSnippets, saveScapiSnippet, getScapiSnippetDirectory, initializeScapiSnippetStore, } from './snippets.js';
11
14
  export { createScapiRequest } from './request.js';
12
- export { getScapiAuthInfo } from './authentication.js';
15
+ export { getScapiAuthInfo, selectScapiAuth } from './authentication.js';
13
16
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/scapi/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,4GAA4G;AAC5G,OAAO,EAAC,gBAAgB,EAAE,kBAAkB,EAAE,qBAAqB,EAAC,MAAM,cAAc,CAAC;AAEzF,OAAO,EAAC,YAAY,EAAC,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAErD,OAAO,EACL,wBAAwB,EACxB,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAC,kBAAkB,EAAC,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAC,gBAAgB,EAAC,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/scapi/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,6HAA6H;AAC7H,OAAO,EAAC,gBAAgB,EAAE,kBAAkB,EAAE,qBAAqB,EAAC,MAAM,cAAc,CAAC;AAEzF,OAAO,EAAC,oBAAoB,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,cAAc,EAAC,MAAM,WAAW,CAAC;AAC3G,OAAO,EAAC,qBAAqB,EAAC,MAAM,YAAY,CAAC;AAEjD,OAAO,EAAC,oBAAoB,EAAC,MAAM,cAAc,CAAC;AAElD,OAAO,EAAC,YAAY,EAAC,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AAErD,OAAO,EACL,wBAAwB,EACxB,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAC,kBAAkB,EAAC,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAC,gBAAgB,EAAE,eAAe,EAAC,MAAM,qBAAqB,CAAC"}