@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,576 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://salesforcecommercecloud.github.io/b2c-developer-tooling/schemas/dw.schema.json",
4
+ "title": "B2C Commerce dw.json",
5
+ "description": "Connection and project configuration for B2C Commerce tooling. See https://salesforcecommercecloud.github.io/b2c-developer-tooling/guide/configuration.html",
6
+ "definitions": {
7
+ "instance": {
8
+ "type": "object",
9
+ "properties": {
10
+ "name": {
11
+ "type": "string",
12
+ "description": "Connection name for instance selection (`--instance` / `SFCC_INSTANCE`)."
13
+ },
14
+ "active": {
15
+ "type": "boolean",
16
+ "description": "Use this entry as the default instance."
17
+ },
18
+ "hostname": {
19
+ "type": "string",
20
+ "description": "Instance hostname, without a URL path (e.g. `abcd-001.dx.commercecloud.salesforce.com`). Env: `SFCC_SERVER`."
21
+ },
22
+ "server": {
23
+ "type": "string",
24
+ "description": "Alternate spelling of `hostname`. Instance hostname, without a URL path (e.g. `abcd-001.dx.commercecloud.salesforce.com`). Env: `SFCC_SERVER`."
25
+ },
26
+ "webdav-hostname": {
27
+ "type": "string",
28
+ "description": "Separate WebDAV hostname. Env: `SFCC_WEBDAV_SERVER`."
29
+ },
30
+ "webdavHostname": {
31
+ "type": "string",
32
+ "description": "Alternate spelling of `webdav-hostname`. Separate WebDAV hostname. Env: `SFCC_WEBDAV_SERVER`."
33
+ },
34
+ "webdav-server": {
35
+ "type": "string",
36
+ "description": "Alternate spelling of `webdav-hostname`. Separate WebDAV hostname. Env: `SFCC_WEBDAV_SERVER`."
37
+ },
38
+ "secure-server": {
39
+ "type": "string",
40
+ "description": "Alternate spelling of `webdav-hostname`. Separate WebDAV hostname. Env: `SFCC_WEBDAV_SERVER`."
41
+ },
42
+ "secureHostname": {
43
+ "type": "string",
44
+ "description": "Alternate spelling of `webdav-hostname`. Separate WebDAV hostname. Env: `SFCC_WEBDAV_SERVER`."
45
+ },
46
+ "code-version": {
47
+ "type": "string",
48
+ "description": "Default code version for operations that accept one. Env: `SFCC_CODE_VERSION`."
49
+ },
50
+ "codeVersion": {
51
+ "type": "string",
52
+ "description": "Alternate spelling of `code-version`. Default code version for operations that accept one. Env: `SFCC_CODE_VERSION`."
53
+ },
54
+ "short-code": {
55
+ "type": "string",
56
+ "description": "SCAPI short code. Env: `SFCC_SHORTCODE`."
57
+ },
58
+ "shortCode": {
59
+ "type": "string",
60
+ "description": "Alternate spelling of `short-code`. SCAPI short code. Env: `SFCC_SHORTCODE`."
61
+ },
62
+ "scapi-shortcode": {
63
+ "type": "string",
64
+ "description": "Alternate spelling of `short-code`. SCAPI short code. Env: `SFCC_SHORTCODE`."
65
+ },
66
+ "tenant-id": {
67
+ "type": "string",
68
+ "description": "Tenant or organization ID, such as `abcd_001` or `f_ecom_abcd_001`. Env: `SFCC_TENANT_ID`."
69
+ },
70
+ "tenantId": {
71
+ "type": "string",
72
+ "description": "Alternate spelling of `tenant-id`. Tenant or organization ID, such as `abcd_001` or `f_ecom_abcd_001`. Env: `SFCC_TENANT_ID`."
73
+ },
74
+ "site-id": {
75
+ "type": "string",
76
+ "description": "Default site/channel ID for supported site and shopper operations. Env: `SFCC_SITE_ID`."
77
+ },
78
+ "siteId": {
79
+ "type": "string",
80
+ "description": "Alternate spelling of `site-id`. Default site/channel ID for supported site and shopper operations. Env: `SFCC_SITE_ID`."
81
+ },
82
+ "api-backend": {
83
+ "type": "string",
84
+ "enum": [
85
+ "auto",
86
+ "scapi",
87
+ "ocapi"
88
+ ],
89
+ "description": "API backend for operations supporting both SCAPI and OCAPI. `auto` (default) prefers SCAPI with OCAPI fallback. Env: `SFCC_API_BACKEND`."
90
+ },
91
+ "apiBackend": {
92
+ "type": "string",
93
+ "enum": [
94
+ "auto",
95
+ "scapi",
96
+ "ocapi"
97
+ ],
98
+ "description": "Alternate spelling of `api-backend`. API backend for operations supporting both SCAPI and OCAPI. `auto` (default) prefers SCAPI with OCAPI fallback. Env: `SFCC_API_BACKEND`."
99
+ },
100
+ "client-id": {
101
+ "type": "string",
102
+ "description": "Account Manager API client ID. Env: `SFCC_CLIENT_ID`."
103
+ },
104
+ "clientId": {
105
+ "type": "string",
106
+ "description": "Alternate spelling of `client-id`. Account Manager API client ID. Env: `SFCC_CLIENT_ID`."
107
+ },
108
+ "client-secret": {
109
+ "type": "string",
110
+ "description": "Account Manager client secret. Env: `SFCC_CLIENT_SECRET`."
111
+ },
112
+ "clientSecret": {
113
+ "type": "string",
114
+ "description": "Alternate spelling of `client-secret`. Account Manager client secret. Env: `SFCC_CLIENT_SECRET`."
115
+ },
116
+ "oauth-scopes": {
117
+ "type": "array",
118
+ "items": {
119
+ "type": "string"
120
+ },
121
+ "description": "Requested OAuth scopes. Scope grants must be configured on the API client. Env: `SFCC_OAUTH_SCOPES` (comma-separated)."
122
+ },
123
+ "oauthScopes": {
124
+ "type": "array",
125
+ "items": {
126
+ "type": "string"
127
+ },
128
+ "description": "Alternate spelling of `oauth-scopes`. Requested OAuth scopes. Scope grants must be configured on the API client. Env: `SFCC_OAUTH_SCOPES` (comma-separated)."
129
+ },
130
+ "jwt-cert-path": {
131
+ "type": "string",
132
+ "description": "PEM certificate path for JWT authentication. Env: `SFCC_JWT_CERT`; flag: `--jwt-cert`."
133
+ },
134
+ "jwtCertPath": {
135
+ "type": "string",
136
+ "description": "Alternate spelling of `jwt-cert-path`. PEM certificate path for JWT authentication. Env: `SFCC_JWT_CERT`; flag: `--jwt-cert`."
137
+ },
138
+ "jwt-key-path": {
139
+ "type": "string",
140
+ "description": "PEM private key path for JWT authentication. Env: `SFCC_JWT_KEY`."
141
+ },
142
+ "jwtKeyPath": {
143
+ "type": "string",
144
+ "description": "Alternate spelling of `jwt-key-path`. PEM private key path for JWT authentication. Env: `SFCC_JWT_KEY`."
145
+ },
146
+ "jwt-passphrase": {
147
+ "type": "string",
148
+ "description": "Passphrase for an encrypted JWT private key. Env: `SFCC_JWT_PASSPHRASE`."
149
+ },
150
+ "jwtPassphrase": {
151
+ "type": "string",
152
+ "description": "Alternate spelling of `jwt-passphrase`. Passphrase for an encrypted JWT private key. Env: `SFCC_JWT_PASSPHRASE`."
153
+ },
154
+ "auth-methods": {
155
+ "type": "array",
156
+ "items": {
157
+ "type": "string",
158
+ "enum": [
159
+ "client-credentials",
160
+ "jwt",
161
+ "user",
162
+ "implicit",
163
+ "basic",
164
+ "api-key"
165
+ ]
166
+ },
167
+ "uniqueItems": true,
168
+ "description": "Ordered list of allowed authentication methods. Do not combine with `user-auth`. Env: `SFCC_AUTH_METHODS` (comma-separated)."
169
+ },
170
+ "authMethods": {
171
+ "type": "array",
172
+ "items": {
173
+ "type": "string",
174
+ "enum": [
175
+ "client-credentials",
176
+ "jwt",
177
+ "user",
178
+ "implicit",
179
+ "basic",
180
+ "api-key"
181
+ ]
182
+ },
183
+ "uniqueItems": true,
184
+ "description": "Alternate spelling of `auth-methods`. Ordered list of allowed authentication methods. Do not combine with `user-auth`. Env: `SFCC_AUTH_METHODS` (comma-separated)."
185
+ },
186
+ "user-auth": {
187
+ "type": "boolean",
188
+ "description": "Shorthand for `\"auth-methods\": [\"user\"]` (browser login). Do not combine with `auth-methods`."
189
+ },
190
+ "userAuth": {
191
+ "type": "boolean",
192
+ "description": "Alternate spelling of `user-auth`. Shorthand for `\"auth-methods\": [\"user\"]` (browser login). Do not combine with `auth-methods`."
193
+ },
194
+ "account-manager-host": {
195
+ "type": "string",
196
+ "description": "Account Manager hostname override. Env: `SFCC_ACCOUNT_MANAGER_HOST`."
197
+ },
198
+ "accountManagerHost": {
199
+ "type": "string",
200
+ "description": "Alternate spelling of `account-manager-host`. Account Manager hostname override. Env: `SFCC_ACCOUNT_MANAGER_HOST`."
201
+ },
202
+ "client-auth-method": {
203
+ "type": "string",
204
+ "enum": [
205
+ "basic",
206
+ "basic-unencoded",
207
+ "body"
208
+ ],
209
+ "description": "How client credentials are sent to Account Manager (default `basic`). Env: `SFCC_CLIENT_AUTH_METHOD`; flag: `--client-auth-method`."
210
+ },
211
+ "clientAuthMethod": {
212
+ "type": "string",
213
+ "enum": [
214
+ "basic",
215
+ "basic-unencoded",
216
+ "body"
217
+ ],
218
+ "description": "Alternate spelling of `client-auth-method`. How client credentials are sent to Account Manager (default `basic`). Env: `SFCC_CLIENT_AUTH_METHOD`; flag: `--client-auth-method`."
219
+ },
220
+ "slas-client-id": {
221
+ "type": "string",
222
+ "description": "Shopper Login and API Access Service (SLAS) client ID. Env: `SFCC_SLAS_CLIENT_ID`."
223
+ },
224
+ "slasClientId": {
225
+ "type": "string",
226
+ "description": "Alternate spelling of `slas-client-id`. Shopper Login and API Access Service (SLAS) client ID. Env: `SFCC_SLAS_CLIENT_ID`."
227
+ },
228
+ "slas-client-secret": {
229
+ "type": "string",
230
+ "description": "Secret for a private SLAS client; omit for public clients. Env: `SFCC_SLAS_CLIENT_SECRET`."
231
+ },
232
+ "slasClientSecret": {
233
+ "type": "string",
234
+ "description": "Alternate spelling of `slas-client-secret`. Secret for a private SLAS client; omit for public clients. Env: `SFCC_SLAS_CLIENT_SECRET`."
235
+ },
236
+ "username": {
237
+ "type": "string",
238
+ "description": "Business Manager username (typically an email address) for WebDAV. Env: `SFCC_USERNAME`."
239
+ },
240
+ "password": {
241
+ "type": "string",
242
+ "description": "WebDAV access key for `username`. Env: `SFCC_PASSWORD`."
243
+ },
244
+ "certificate": {
245
+ "type": "string",
246
+ "description": "Path to a PKCS12 (`.p12` / `.pfx`) client certificate for mTLS. Env: `SFCC_CERTIFICATE`."
247
+ },
248
+ "certificate-passphrase": {
249
+ "type": "string",
250
+ "description": "Client certificate passphrase. Env: `SFCC_CERTIFICATE_PASSPHRASE`."
251
+ },
252
+ "certificatePassphrase": {
253
+ "type": "string",
254
+ "description": "Alternate spelling of `certificate-passphrase`. Client certificate passphrase. Env: `SFCC_CERTIFICATE_PASSPHRASE`."
255
+ },
256
+ "passphrase": {
257
+ "type": "string",
258
+ "description": "Alternate spelling of `certificate-passphrase`. Client certificate passphrase. Env: `SFCC_CERTIFICATE_PASSPHRASE`."
259
+ },
260
+ "self-signed": {
261
+ "type": "boolean",
262
+ "description": "Disable server certificate verification (default `false`). Not required just because you use mTLS. Env: `SFCC_SELFSIGNED`."
263
+ },
264
+ "selfSigned": {
265
+ "type": "boolean",
266
+ "description": "Alternate spelling of `self-signed`. Disable server certificate verification (default `false`). Not required just because you use mTLS. Env: `SFCC_SELFSIGNED`."
267
+ },
268
+ "selfsigned": {
269
+ "type": "boolean",
270
+ "description": "Alternate spelling of `self-signed`. Disable server certificate verification (default `false`). Not required just because you use mTLS. Env: `SFCC_SELFSIGNED`."
271
+ },
272
+ "cartridges": {
273
+ "oneOf": [
274
+ {
275
+ "type": "array",
276
+ "items": {
277
+ "type": "string"
278
+ }
279
+ },
280
+ {
281
+ "type": "string"
282
+ }
283
+ ],
284
+ "description": "Cartridge names for deploy/watch filtering and IDE discovery. Array, or a colon/comma-separated string. Env: `SFCC_CARTRIDGES`."
285
+ },
286
+ "cartridgesPath": {
287
+ "oneOf": [
288
+ {
289
+ "type": "array",
290
+ "items": {
291
+ "type": "string"
292
+ }
293
+ },
294
+ {
295
+ "type": "string"
296
+ }
297
+ ],
298
+ "description": "Alternate spelling of `cartridges`. Cartridge names for deploy/watch filtering and IDE discovery. Array, or a colon/comma-separated string. Env: `SFCC_CARTRIDGES`."
299
+ },
300
+ "auto-upload": {
301
+ "type": "boolean",
302
+ "description": "Automatically upload code changes from the VS Code extension."
303
+ },
304
+ "autoUpload": {
305
+ "type": "boolean",
306
+ "description": "Alternate spelling of `auto-upload`. Automatically upload code changes from the VS Code extension."
307
+ },
308
+ "content-library": {
309
+ "type": "string",
310
+ "description": "Default library for content list/export."
311
+ },
312
+ "contentLibrary": {
313
+ "type": "string",
314
+ "description": "Alternate spelling of `content-library`. Default library for content list/export."
315
+ },
316
+ "catalogs": {
317
+ "type": "array",
318
+ "items": {
319
+ "type": "string"
320
+ },
321
+ "description": "Catalog IDs for WebDAV browsing. Env: `SFCC_CATALOGS`."
322
+ },
323
+ "libraries": {
324
+ "type": "array",
325
+ "items": {
326
+ "oneOf": [
327
+ {
328
+ "type": "string"
329
+ },
330
+ {
331
+ "type": "object",
332
+ "required": [
333
+ "id"
334
+ ],
335
+ "properties": {
336
+ "id": {
337
+ "type": "string",
338
+ "description": "Library ID."
339
+ },
340
+ "siteLibrary": {
341
+ "type": "boolean",
342
+ "description": "Whether this is a site-private library."
343
+ }
344
+ }
345
+ }
346
+ ]
347
+ },
348
+ "description": "Content library IDs, as strings or `{\"id\": \"RefArch\", \"siteLibrary\": true}` entries. Env: `SFCC_LIBRARIES`."
349
+ },
350
+ "asset-query": {
351
+ "type": "array",
352
+ "items": {
353
+ "type": "string"
354
+ },
355
+ "description": "JSON dot-paths for finding static asset URLs in content (default `[\"image.path\"]`). Env: `SFCC_ASSET_QUERY`."
356
+ },
357
+ "assetQuery": {
358
+ "type": "array",
359
+ "items": {
360
+ "type": "string"
361
+ },
362
+ "description": "Alternate spelling of `asset-query`. JSON dot-paths for finding static asset URLs in content (default `[\"image.path\"]`). Env: `SFCC_ASSET_QUERY`."
363
+ },
364
+ "import-set-exclude": {
365
+ "type": "array",
366
+ "items": {
367
+ "type": "string"
368
+ },
369
+ "description": "Project-relative directories to exclude recursively from import-set discovery. Env: `SFCC_IMPORT_SET_EXCLUDE`."
370
+ },
371
+ "importSetExclude": {
372
+ "type": "array",
373
+ "items": {
374
+ "type": "string"
375
+ },
376
+ "description": "Alternate spelling of `import-set-exclude`. Project-relative directories to exclude recursively from import-set discovery. Env: `SFCC_IMPORT_SET_EXCLUDE`."
377
+ },
378
+ "docs-categories": {
379
+ "type": "array",
380
+ "items": {
381
+ "type": "string"
382
+ },
383
+ "description": "Documentation category allowlist for supported searches. Env: `SFCC_DOCS_CATEGORIES`."
384
+ },
385
+ "docsCategories": {
386
+ "type": "array",
387
+ "items": {
388
+ "type": "string"
389
+ },
390
+ "description": "Alternate spelling of `docs-categories`. Documentation category allowlist for supported searches. Env: `SFCC_DOCS_CATEGORIES`."
391
+ },
392
+ "realm": {
393
+ "type": "string",
394
+ "description": "Default realm for sandbox operations."
395
+ },
396
+ "sandbox-api-host": {
397
+ "type": "string",
398
+ "description": "On-Demand Sandbox API hostname override. Env: `SFCC_SANDBOX_API_HOST`."
399
+ },
400
+ "sandboxApiHost": {
401
+ "type": "string",
402
+ "description": "Alternate spelling of `sandbox-api-host`. On-Demand Sandbox API hostname override. Env: `SFCC_SANDBOX_API_HOST`."
403
+ },
404
+ "cip-host": {
405
+ "type": "string",
406
+ "description": "CIP analytics host override. Env: `SFCC_CIP_HOST`."
407
+ },
408
+ "cipHost": {
409
+ "type": "string",
410
+ "description": "Alternate spelling of `cip-host`. CIP analytics host override. Env: `SFCC_CIP_HOST`."
411
+ },
412
+ "safety": {
413
+ "type": "object",
414
+ "description": "Per-instance safety restrictions and confirmation rules. See the Safety Mode guide.",
415
+ "additionalProperties": false,
416
+ "properties": {
417
+ "level": {
418
+ "type": "string",
419
+ "enum": [
420
+ "NONE",
421
+ "NO_DELETE",
422
+ "NO_UPDATE",
423
+ "READ_ONLY"
424
+ ],
425
+ "description": "Baseline restriction level. Env: `SFCC_SAFETY_LEVEL`."
426
+ },
427
+ "confirm": {
428
+ "type": "boolean",
429
+ "description": "Require interactive confirmation for blocked operations instead of refusing them."
430
+ },
431
+ "rules": {
432
+ "type": "array",
433
+ "description": "Ordered rules; the first match wins.",
434
+ "items": {
435
+ "type": "object",
436
+ "required": [
437
+ "action"
438
+ ],
439
+ "additionalProperties": false,
440
+ "properties": {
441
+ "method": {
442
+ "type": "string",
443
+ "description": "HTTP method pattern (e.g. `POST`, `DELETE`)."
444
+ },
445
+ "path": {
446
+ "type": "string",
447
+ "description": "URL path glob (e.g. `/jobs/*/executions`)."
448
+ },
449
+ "job": {
450
+ "type": "string",
451
+ "description": "Job ID glob."
452
+ },
453
+ "command": {
454
+ "type": "string",
455
+ "description": "CLI command ID glob (e.g. `sandbox:*`, `ecdn:cache:purge`)."
456
+ },
457
+ "action": {
458
+ "type": "string",
459
+ "enum": [
460
+ "allow",
461
+ "block",
462
+ "confirm"
463
+ ],
464
+ "description": "Action when the rule matches."
465
+ }
466
+ }
467
+ }
468
+ }
469
+ }
470
+ },
471
+ "mrt-api-key": {
472
+ "type": "string",
473
+ "description": "Managed Runtime API key. Env: `MRT_API_KEY`."
474
+ },
475
+ "mrtApiKey": {
476
+ "type": "string",
477
+ "description": "Alternate spelling of `mrt-api-key`. Managed Runtime API key. Env: `MRT_API_KEY`."
478
+ },
479
+ "mrt-project": {
480
+ "type": "string",
481
+ "description": "Managed Runtime project slug (storefront ID for SCAPI MRT operations). Env: `MRT_PROJECT`."
482
+ },
483
+ "mrtProject": {
484
+ "type": "string",
485
+ "description": "Alternate spelling of `mrt-project`. Managed Runtime project slug (storefront ID for SCAPI MRT operations). Env: `MRT_PROJECT`."
486
+ },
487
+ "mrt-environment": {
488
+ "type": "string",
489
+ "description": "Managed Runtime target environment. Env: `MRT_ENVIRONMENT`."
490
+ },
491
+ "mrtEnvironment": {
492
+ "type": "string",
493
+ "description": "Alternate spelling of `mrt-environment`. Managed Runtime target environment. Env: `MRT_ENVIRONMENT`."
494
+ },
495
+ "mrt-origin": {
496
+ "type": "string",
497
+ "description": "Managed Runtime API origin override. Env: `MRT_CLOUD_ORIGIN`."
498
+ },
499
+ "mrtOrigin": {
500
+ "type": "string",
501
+ "description": "Alternate spelling of `mrt-origin`. Managed Runtime API origin override. Env: `MRT_CLOUD_ORIGIN`."
502
+ },
503
+ "cloudOrigin": {
504
+ "type": "string",
505
+ "description": "Alternate spelling of `mrt-origin`. Managed Runtime API origin override. Env: `MRT_CLOUD_ORIGIN`."
506
+ },
507
+ "mrt-backend": {
508
+ "type": "string",
509
+ "enum": [
510
+ "auto",
511
+ "legacy",
512
+ "scapi"
513
+ ],
514
+ "description": "Managed Runtime backend for supported operations (default `auto`). Env: `MRT_BACKEND`."
515
+ },
516
+ "mrtBackend": {
517
+ "type": "string",
518
+ "enum": [
519
+ "auto",
520
+ "legacy",
521
+ "scapi"
522
+ ],
523
+ "description": "Alternate spelling of `mrt-backend`. Managed Runtime backend for supported operations (default `auto`). Env: `MRT_BACKEND`."
524
+ }
525
+ },
526
+ "additionalProperties": true,
527
+ "not": {
528
+ "anyOf": [
529
+ {
530
+ "required": [
531
+ "user-auth",
532
+ "auth-methods"
533
+ ]
534
+ },
535
+ {
536
+ "required": [
537
+ "userAuth",
538
+ "authMethods"
539
+ ]
540
+ },
541
+ {
542
+ "required": [
543
+ "user-auth",
544
+ "authMethods"
545
+ ]
546
+ },
547
+ {
548
+ "required": [
549
+ "userAuth",
550
+ "auth-methods"
551
+ ]
552
+ }
553
+ ]
554
+ }
555
+ }
556
+ },
557
+ "allOf": [
558
+ {
559
+ "$ref": "#/definitions/instance"
560
+ }
561
+ ],
562
+ "type": "object",
563
+ "properties": {
564
+ "$schema": {
565
+ "type": "string",
566
+ "description": "JSON Schema reference for editor support."
567
+ },
568
+ "configs": {
569
+ "type": "array",
570
+ "description": "Named instance entries. Select one with `--instance` / `SFCC_INSTANCE`, or mark one `active`.",
571
+ "items": {
572
+ "$ref": "#/definitions/instance"
573
+ }
574
+ }
575
+ }
576
+ }