@salesforce/b2c-tooling-sdk 1.21.3 → 1.23.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.
- package/data/guides/enrichment.json +294 -0
- package/data/guides/index.json +434 -27
- package/data/help/index.json +6 -1
- package/data/job-steps/index.json +1 -1
- package/data/job-steps/job-steps.json +1 -1
- package/data/script-api/index.json +49 -5
- package/data/tooling/index.json +432 -9
- package/data/xsd/commercefeaturestate.xsd +1 -0
- package/data/xsd/index.json +2 -1
- package/data/xsd/redirecturl.xsd +2 -0
- package/dist/esm/auth/index.d.ts +6 -3
- package/dist/esm/auth/index.js +4 -2
- package/dist/esm/auth/index.js.map +1 -1
- package/dist/esm/auth/oauth-implicit.d.ts +19 -0
- package/dist/esm/auth/oauth-implicit.js +103 -10
- package/dist/esm/auth/oauth-implicit.js.map +1 -1
- package/dist/esm/auth/oauth-pkce-fallback.d.ts +68 -0
- package/dist/esm/auth/oauth-pkce-fallback.js +128 -0
- package/dist/esm/auth/oauth-pkce-fallback.js.map +1 -0
- package/dist/esm/auth/oauth-pkce.d.ts +94 -0
- package/dist/esm/auth/oauth-pkce.js +579 -0
- package/dist/esm/auth/oauth-pkce.js.map +1 -0
- package/dist/esm/auth/resolve.d.ts +4 -3
- package/dist/esm/auth/resolve.js +17 -2
- package/dist/esm/auth/resolve.js.map +1 -1
- package/dist/esm/auth/session-store.d.ts +99 -0
- package/dist/esm/auth/session-store.js +242 -0
- package/dist/esm/auth/session-store.js.map +1 -0
- package/dist/esm/auth/stateful-oauth-strategy.d.ts +20 -24
- package/dist/esm/auth/stateful-oauth-strategy.js +16 -114
- package/dist/esm/auth/stateful-oauth-strategy.js.map +1 -1
- package/dist/esm/auth/types.d.ts +20 -4
- package/dist/esm/auth/types.js +1 -1
- package/dist/esm/auth/types.js.map +1 -1
- package/dist/esm/cli/am-command.d.ts +2 -2
- package/dist/esm/cli/am-command.js +13 -4
- package/dist/esm/cli/am-command.js.map +1 -1
- package/dist/esm/cli/base-command.js +3 -3
- package/dist/esm/cli/base-command.js.map +1 -1
- package/dist/esm/cli/config.js +3 -1
- package/dist/esm/cli/config.js.map +1 -1
- package/dist/esm/cli/lifecycle.d.ts +1 -1
- package/dist/esm/cli/lifecycle.js.map +1 -1
- package/dist/esm/cli/oauth-command.d.ts +12 -11
- package/dist/esm/cli/oauth-command.js +73 -41
- package/dist/esm/cli/oauth-command.js.map +1 -1
- package/dist/esm/cli/ods-command.d.ts +1 -1
- package/dist/esm/cli/ods-command.js +5 -3
- package/dist/esm/cli/ods-command.js.map +1 -1
- package/dist/esm/clients/ods.generated.d.ts +16 -0
- package/dist/esm/config/dw-json.d.ts +10 -0
- package/dist/esm/config/dw-json.js.map +1 -1
- package/dist/esm/config/index.d.ts +1 -0
- package/dist/esm/config/index.js +2 -0
- package/dist/esm/config/index.js.map +1 -1
- package/dist/esm/config/mapping.d.ts +13 -0
- package/dist/esm/config/mapping.js +66 -3
- package/dist/esm/config/mapping.js.map +1 -1
- package/dist/esm/config/redaction.d.ts +39 -0
- package/dist/esm/config/redaction.js +51 -0
- package/dist/esm/config/redaction.js.map +1 -0
- package/dist/esm/config/resolver.js +1 -0
- package/dist/esm/config/resolver.js.map +1 -1
- package/dist/esm/config/sources/env-source.d.ts +1 -1
- package/dist/esm/config/sources/env-source.js +14 -7
- package/dist/esm/config/sources/env-source.js.map +1 -1
- package/dist/esm/config/sources/package-json-source.js +3 -1
- package/dist/esm/config/sources/package-json-source.js.map +1 -1
- package/dist/esm/config/types.d.ts +14 -4
- package/dist/esm/defaults.d.ts +23 -4
- package/dist/esm/defaults.js +36 -4
- package/dist/esm/defaults.js.map +1 -1
- package/dist/esm/docs/content-cache.d.ts +1 -1
- package/dist/esm/docs/content-cache.js +1 -1
- package/dist/esm/docs/index.d.ts +1 -1
- package/dist/esm/docs/index.js.map +1 -1
- package/dist/esm/docs/types.d.ts +29 -0
- package/dist/esm/index.d.ts +6 -4
- package/dist/esm/index.js +3 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/instance/index.js +3 -3
- package/dist/esm/instance/index.js.map +1 -1
- package/dist/esm/operations/cap/index.d.ts +2 -2
- package/dist/esm/operations/cap/index.js +1 -1
- package/dist/esm/operations/cap/index.js.map +1 -1
- package/dist/esm/operations/cap/install.d.ts +17 -0
- package/dist/esm/operations/cap/install.js +29 -0
- package/dist/esm/operations/cap/install.js.map +1 -1
- package/dist/esm/operations/cap/package.js +36 -0
- package/dist/esm/operations/cap/package.js.map +1 -1
- package/dist/esm/operations/cap/validate.d.ts +9 -0
- package/dist/esm/operations/cap/validate.js +29 -0
- package/dist/esm/operations/cap/validate.js.map +1 -1
- package/dist/esm/operations/content/export.js +7 -3
- package/dist/esm/operations/content/export.js.map +1 -1
- package/dist/esm/operations/content/library.d.ts +26 -0
- package/dist/esm/operations/content/library.js +83 -2
- package/dist/esm/operations/content/library.js.map +1 -1
- package/dist/esm/operations/content/types.d.ts +10 -1
- package/dist/esm/operations/jobs/import-set.d.ts +170 -0
- package/dist/esm/operations/jobs/import-set.js +538 -0
- package/dist/esm/operations/jobs/import-set.js.map +1 -0
- package/dist/esm/operations/jobs/index.d.ts +3 -0
- package/dist/esm/operations/jobs/index.js +3 -0
- package/dist/esm/operations/jobs/index.js.map +1 -1
- package/dist/esm/operations/jobs/run.js +0 -11
- package/dist/esm/operations/jobs/run.js.map +1 -1
- package/dist/esm/operations/jobs/site-archive.js +13 -75
- package/dist/esm/operations/jobs/site-archive.js.map +1 -1
- package/dist/esm/operations/ods/index.d.ts +4 -0
- package/dist/esm/operations/ods/index.js +2 -0
- package/dist/esm/operations/ods/index.js.map +1 -1
- package/dist/esm/operations/ods/sandbox-settings.d.ts +51 -0
- package/dist/esm/operations/ods/sandbox-settings.js +63 -0
- package/dist/esm/operations/ods/sandbox-settings.js.map +1 -0
- package/dist/esm/operations/ods/wait-for-clones.d.ts +97 -0
- package/dist/esm/operations/ods/wait-for-clones.js +145 -0
- package/dist/esm/operations/ods/wait-for-clones.js.map +1 -0
- package/package.json +2 -1
- package/specs/ods-api-v1.json +43 -0
- package/dist/esm/auth/stateful-store.d.ts +0 -49
- package/dist/esm/auth/stateful-store.js +0 -166
- package/dist/esm/auth/stateful-store.js.map +0 -1
|
@@ -8,9 +8,10 @@ import { BaseCommand, ERROR_CODE } from './base-command.js';
|
|
|
8
8
|
import { loadConfig, extractOAuthFlags, ALL_AUTH_METHODS } from './config.js';
|
|
9
9
|
import { OAuthStrategy } from '../auth/oauth.js';
|
|
10
10
|
import { ImplicitOAuthStrategy } from '../auth/oauth-implicit.js';
|
|
11
|
+
import { createUserAuthStrategy } from '../auth/oauth-pkce-fallback.js';
|
|
11
12
|
import { StatefulOAuthStrategy } from '../auth/stateful-oauth-strategy.js';
|
|
12
13
|
import { JwtOAuthStrategy } from '../auth/oauth-jwt.js';
|
|
13
|
-
import {
|
|
14
|
+
import { findAuthSession, isAuthSessionTokenValid, listAuthSessions } from '../auth/session-store.js';
|
|
14
15
|
import { t } from '../i18n/index.js';
|
|
15
16
|
import { DEFAULT_ACCOUNT_MANAGER_HOST } from '../defaults.js';
|
|
16
17
|
import { normalizeTenantId, toOrganizationId } from '../clients/custom-apis.js';
|
|
@@ -21,9 +22,12 @@ import { normalizeTenantId, toOrganizationId } from '../clients/custom-apis.js';
|
|
|
21
22
|
* Priority order:
|
|
22
23
|
* 1. client-credentials (requires clientId + clientSecret)
|
|
23
24
|
* 2. jwt (requires clientId + jwtCertPath + jwtKeyPath)
|
|
24
|
-
* 3.
|
|
25
|
+
* 3. user (requires clientId, browser-based — Authorization Code + PKCE)
|
|
26
|
+
*
|
|
27
|
+
* The legacy 'implicit' flow is no longer in the default chain. Users can
|
|
28
|
+
* still opt into it via `--auth-methods implicit`.
|
|
25
29
|
*/
|
|
26
|
-
const DEFAULT_OAUTH_AUTH_METHODS = ['client-credentials', 'jwt', '
|
|
30
|
+
const DEFAULT_OAUTH_AUTH_METHODS = ['client-credentials', 'jwt', 'user'];
|
|
27
31
|
/**
|
|
28
32
|
* Base command for operations requiring OAuth authentication.
|
|
29
33
|
* Use this for platform-level operations like ODS, APIs.
|
|
@@ -85,7 +89,7 @@ export class OAuthCommand extends BaseCommand {
|
|
|
85
89
|
exclusive: ['user-auth'],
|
|
86
90
|
}),
|
|
87
91
|
'user-auth': Flags.boolean({
|
|
88
|
-
description: 'Use browser-based user authentication (
|
|
92
|
+
description: 'Use browser-based user authentication (Authorization Code + PKCE flow)',
|
|
89
93
|
default: false,
|
|
90
94
|
exclusive: ['auth-methods'],
|
|
91
95
|
helpGroup: 'AUTH',
|
|
@@ -126,7 +130,7 @@ export class OAuthCommand extends BaseCommand {
|
|
|
126
130
|
* This method is used by getOAuthStrategy() when no auth methods are specified in config.
|
|
127
131
|
* Subclasses can override this to change the default priority — for example,
|
|
128
132
|
* commands that talk to endpoints requiring a real user identity should
|
|
129
|
-
* return `['
|
|
133
|
+
* return `['user']` so that user-auth is preferred when the user has
|
|
130
134
|
* not explicitly chosen an auth method.
|
|
131
135
|
*
|
|
132
136
|
* Explicit user input via `--auth-methods`, `--client-secret`, `--jwt-cert`,
|
|
@@ -139,11 +143,11 @@ export class OAuthCommand extends BaseCommand {
|
|
|
139
143
|
return DEFAULT_OAUTH_AUTH_METHODS;
|
|
140
144
|
}
|
|
141
145
|
/**
|
|
142
|
-
* Returns a default client ID for
|
|
146
|
+
* Returns a default client ID for browser OAuth flows when no client ID is configured.
|
|
143
147
|
* Returns undefined by default. Subclasses (AmCommand, OdsCommand, etc.) override this
|
|
144
|
-
* to return
|
|
148
|
+
* to return the appropriate PKCE or legacy implicit public client for platform-level commands.
|
|
145
149
|
*/
|
|
146
|
-
getDefaultClientId() {
|
|
150
|
+
getDefaultClientId(_method = 'user') {
|
|
147
151
|
return undefined;
|
|
148
152
|
}
|
|
149
153
|
/**
|
|
@@ -152,8 +156,8 @@ export class OAuthCommand extends BaseCommand {
|
|
|
152
156
|
* Iterates through allowed methods (in priority order) and returns the first
|
|
153
157
|
* strategy for which the required credentials are available.
|
|
154
158
|
*
|
|
155
|
-
*
|
|
156
|
-
* is explicitly configured.
|
|
159
|
+
* Browser flows fall back to their method-specific getDefaultClientId()
|
|
160
|
+
* value when no client ID is explicitly configured.
|
|
157
161
|
*
|
|
158
162
|
* @returns An OAuth strategy instance ({@link OAuthStrategy}, {@link JwtOAuthStrategy}, {@link ImplicitOAuthStrategy}, or {@link StatefulOAuthStrategy}) based on configured credentials and allowed authentication methods.
|
|
159
163
|
* @throws Error if no allowed method has the required credentials configured
|
|
@@ -162,41 +166,43 @@ export class OAuthCommand extends BaseCommand {
|
|
|
162
166
|
const config = this.resolvedConfig.values;
|
|
163
167
|
const accountManagerHost = this.accountManagerHost;
|
|
164
168
|
const requiredScopes = config.scopes ?? [];
|
|
165
|
-
const statefulSession = getStoredSession();
|
|
166
169
|
const explicitAuthFlags = this.detectExplicitAuthFlags();
|
|
167
170
|
// Only a client ID resolved from user configuration constrains stateful auth.
|
|
168
|
-
// getDefaultClientId() is a stateless
|
|
169
|
-
//
|
|
170
|
-
const
|
|
171
|
-
const
|
|
172
|
-
|
|
173
|
-
//
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
if (
|
|
171
|
+
// getDefaultClientId() is a stateless fallback and must not prevent an
|
|
172
|
+
// otherwise valid stored session from being reused.
|
|
173
|
+
const configuredClientId = config.clientId;
|
|
174
|
+
const unconfiguredSessions = configuredClientId ? [] : listAuthSessions();
|
|
175
|
+
// The new multi-session store is safe to reuse without a configured client
|
|
176
|
+
// only when the choice is unambiguous. The pre-PKCE auth-session.json file
|
|
177
|
+
// is never loaded, so an upgrade still requires the requested re-login.
|
|
178
|
+
const unambiguousStoredSession = explicitAuthFlags.length === 0 && unconfiguredSessions.length === 1 ? unconfiguredSessions[0] : null;
|
|
179
|
+
// Stored `client-credentials` sessions (from `auth client`) are reusable
|
|
180
|
+
// until expiry. PKCE / implicit sessions are handled inside their flow
|
|
181
|
+
// strategies (which hydrate from the store and refresh themselves), so we
|
|
182
|
+
// only need a special gate for client-credentials here.
|
|
183
|
+
const storedSession = configuredClientId ? findAuthSession(configuredClientId) : unambiguousStoredSession;
|
|
184
|
+
if (storedSession?.flow === 'client-credentials') {
|
|
185
|
+
const isValid = isAuthSessionTokenValid(storedSession, requiredScopes, undefined, configuredClientId);
|
|
186
|
+
if (isValid && explicitAuthFlags.length === 0) {
|
|
187
|
+
this.logger.debug('[Auth] Using stored client-credentials session');
|
|
188
|
+
return new StatefulOAuthStrategy(storedSession, {
|
|
189
|
+
accountManagerHost,
|
|
190
|
+
scopes: requiredScopes,
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
if (isValid && explicitAuthFlags.length > 0) {
|
|
184
194
|
this.warn(t('warning.statefulTokenOverridden', '[StatefulAuth] Valid token found in stored session. ' +
|
|
185
195
|
`However, switching to stateless auth due to presence of ${explicitAuthFlags.join(', ')}. ` +
|
|
186
196
|
'Remove these flags to use the stored session.'));
|
|
187
197
|
}
|
|
188
|
-
else if (!
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
(renewable
|
|
192
|
-
? 'Run `b2c auth client renew` to refresh it. '
|
|
193
|
-
: 'Run `b2c auth client` or `b2c auth login` to re-authenticate. ') +
|
|
198
|
+
else if (!isValid) {
|
|
199
|
+
this.warn(t('warning.statefulTokenExpiredNoRenew', '[StatefulAuth] Stored client-credentials access token is expired. ' +
|
|
200
|
+
'Run `b2c auth client --client-id <id> --client-secret <secret>` to re-authenticate. ' +
|
|
194
201
|
'Falling back to stateless auth.'));
|
|
195
202
|
}
|
|
196
203
|
}
|
|
197
204
|
// Fall back to stateless auth
|
|
198
205
|
const allowedMethods = config.authMethods || this.getDefaultAuthMethods();
|
|
199
|
-
const defaultClientId = this.getDefaultClientId();
|
|
200
206
|
for (const method of allowedMethods) {
|
|
201
207
|
switch (method) {
|
|
202
208
|
case 'client-credentials':
|
|
@@ -231,12 +237,35 @@ export class OAuthCommand extends BaseCommand {
|
|
|
231
237
|
}
|
|
232
238
|
}
|
|
233
239
|
break;
|
|
240
|
+
case 'user': {
|
|
241
|
+
const defaultClientId = this.getDefaultClientId('user');
|
|
242
|
+
const storedPkceClientId = storedSession?.flow === 'pkce' ? storedSession.clientId : undefined;
|
|
243
|
+
const effectiveClientId = config.clientId ?? storedPkceClientId ?? defaultClientId;
|
|
244
|
+
if (effectiveClientId) {
|
|
245
|
+
if (!config.clientId && !storedPkceClientId && defaultClientId) {
|
|
246
|
+
this.logger.debug('Using default B2C CLI public client for user authentication');
|
|
247
|
+
}
|
|
248
|
+
// PKCE with an automatic, WARN-logged fallback to the implicit flow
|
|
249
|
+
// for clients not yet registered for PKCE (see oauth-pkce-fallback).
|
|
250
|
+
return createUserAuthStrategy({
|
|
251
|
+
clientId: effectiveClientId,
|
|
252
|
+
scopes: config.scopes,
|
|
253
|
+
accountManagerHost,
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
break;
|
|
257
|
+
}
|
|
234
258
|
case 'implicit': {
|
|
235
|
-
const
|
|
259
|
+
const defaultClientId = this.getDefaultClientId('implicit');
|
|
260
|
+
const storedImplicitClientId = storedSession?.flow === 'implicit' ? storedSession.clientId : undefined;
|
|
261
|
+
const effectiveClientId = config.clientId ?? storedImplicitClientId ?? defaultClientId;
|
|
236
262
|
if (effectiveClientId) {
|
|
237
|
-
if (!config.clientId && defaultClientId) {
|
|
263
|
+
if (!config.clientId && !storedImplicitClientId && defaultClientId) {
|
|
238
264
|
this.logger.debug('Using default B2C CLI public client for authentication');
|
|
239
265
|
}
|
|
266
|
+
this.warn(t('warning.implicitFlowDeprecated', 'The OAuth implicit flow is deprecated. Create a new public OAuth client in Account Manager ' +
|
|
267
|
+
'and use Authorization Code + PKCE (`--user-auth`) instead. ' +
|
|
268
|
+
'See https://salesforcecommercecloud.github.io/b2c-developer-tooling/guide/authentication.html#implicit-flow-deprecation'));
|
|
240
269
|
return new ImplicitOAuthStrategy({
|
|
241
270
|
clientId: effectiveClientId,
|
|
242
271
|
scopes: config.scopes,
|
|
@@ -259,12 +288,12 @@ export class OAuthCommand extends BaseCommand {
|
|
|
259
288
|
* Only flags that mandate a specific auth flow are considered:
|
|
260
289
|
* - --client-secret: indicates client-credentials flow
|
|
261
290
|
* - --jwt-cert / --jwt-key: indicates JWT Bearer flow
|
|
262
|
-
* - --user-auth: indicates browser-based
|
|
291
|
+
* - --user-auth: indicates browser-based PKCE flow
|
|
263
292
|
* - --auth-methods: explicit auth method selection
|
|
264
293
|
*
|
|
265
294
|
* Contextual flags (--client-id, --auth-scope, --short-code, --tenant-id,
|
|
266
295
|
* --account-manager-host) are NOT included because they are handled by
|
|
267
|
-
*
|
|
296
|
+
* isAuthSessionTokenValid (clientId/scope matching) or don't affect auth flow.
|
|
268
297
|
*/
|
|
269
298
|
detectExplicitAuthFlags() {
|
|
270
299
|
const rawArgs = this._rawArgv;
|
|
@@ -274,10 +303,13 @@ export class OAuthCommand extends BaseCommand {
|
|
|
274
303
|
/**
|
|
275
304
|
* Check if OAuth credentials are available.
|
|
276
305
|
* Returns true if clientId is configured (with or without clientSecret),
|
|
277
|
-
* or if a default client ID is available for
|
|
306
|
+
* or if a default client ID is available for browser flows.
|
|
278
307
|
*/
|
|
279
308
|
hasOAuthCredentials() {
|
|
280
|
-
|
|
309
|
+
if (this.resolvedConfig.hasOAuthConfig() || this.getDefaultClientId() !== undefined)
|
|
310
|
+
return true;
|
|
311
|
+
const clientId = this.resolvedConfig.values.clientId;
|
|
312
|
+
return clientId ? findAuthSession(clientId) !== null : listAuthSessions().length > 0;
|
|
281
313
|
}
|
|
282
314
|
/**
|
|
283
315
|
* Check if full OAuth credentials (client credentials flow) are available.
|
|
@@ -289,7 +321,7 @@ export class OAuthCommand extends BaseCommand {
|
|
|
289
321
|
}
|
|
290
322
|
/**
|
|
291
323
|
* Validates that OAuth credentials are configured, errors if not.
|
|
292
|
-
* Only clientId is required (
|
|
324
|
+
* Only clientId is required (browser flows can be used without clientSecret).
|
|
293
325
|
*/
|
|
294
326
|
requireOAuthCredentials() {
|
|
295
327
|
if (!this.hasOAuthCredentials()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-command.js","sourceRoot":"","sources":["../../../src/cli/oauth-command.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAC,OAAO,EAAE,KAAK,EAAC,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAC,WAAW,EAAE,UAAU,EAAC,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAC,UAAU,EAAE,iBAAiB,EAAE,gBAAgB,EAAC,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"oauth-command.js","sourceRoot":"","sources":["../../../src/cli/oauth-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,7 @@ import { type OdsClient } from '../clients/ods.js';
|
|
|
24
24
|
* }
|
|
25
25
|
*/
|
|
26
26
|
export declare abstract class OdsCommand<T extends typeof Command> extends OAuthCommand<T> {
|
|
27
|
-
protected getDefaultClientId(): string;
|
|
27
|
+
protected getDefaultClientId(method?: 'user' | 'implicit'): string;
|
|
28
28
|
static baseFlags: {
|
|
29
29
|
'sandbox-api-host': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
30
30
|
'client-id': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
@@ -7,7 +7,7 @@ import { Command, Flags } from '@oclif/core';
|
|
|
7
7
|
import { OAuthCommand } from './oauth-command.js';
|
|
8
8
|
import { loadConfig, extractOdsFlags } from './config.js';
|
|
9
9
|
import { createOdsClient } from '../clients/ods.js';
|
|
10
|
-
import { DEFAULT_ODS_HOST, getDefaultPublicClientId } from '../defaults.js';
|
|
10
|
+
import { DEFAULT_ODS_HOST, getDefaultPublicClientId, getLegacyImplicitPublicClientId } from '../defaults.js';
|
|
11
11
|
import { isUuid, parseFriendlySandboxId, SandboxNotFoundError } from '../operations/ods/sandbox-lookup.js';
|
|
12
12
|
/**
|
|
13
13
|
* Base command for ODS (On-Demand Sandbox) operations.
|
|
@@ -31,8 +31,10 @@ import { isUuid, parseFriendlySandboxId, SandboxNotFoundError } from '../operati
|
|
|
31
31
|
* }
|
|
32
32
|
*/
|
|
33
33
|
export class OdsCommand extends OAuthCommand {
|
|
34
|
-
getDefaultClientId() {
|
|
35
|
-
return
|
|
34
|
+
getDefaultClientId(method = 'user') {
|
|
35
|
+
return method === 'implicit'
|
|
36
|
+
? getLegacyImplicitPublicClientId(this.accountManagerHost)
|
|
37
|
+
: getDefaultPublicClientId(this.accountManagerHost);
|
|
36
38
|
}
|
|
37
39
|
static baseFlags = {
|
|
38
40
|
...OAuthCommand.baseFlags,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ods-command.js","sourceRoot":"","sources":["../../../src/cli/ods-command.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAC,OAAO,EAAE,KAAK,EAAC,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAC,UAAU,EAAE,eAAe,EAAC,MAAM,aAAa,CAAC;AAExD,OAAO,EAAC,eAAe,EAAiB,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAC,gBAAgB,EAAE,wBAAwB,EAAC,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"ods-command.js","sourceRoot":"","sources":["../../../src/cli/ods-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -824,13 +824,27 @@ export interface components {
|
|
|
824
824
|
filesystemUsageSize?: number;
|
|
825
825
|
/** Format: int64 */
|
|
826
826
|
databaseTransferSize?: number;
|
|
827
|
+
/** @description Shared batch identifier for clones created together via 1 to many cloning. Absent for single (1:1) clones. */
|
|
828
|
+
batchId?: string | null;
|
|
829
|
+
/** @description cloneIds of all clones in the same 1 to many batch, in target-index order (element i = cloneId of target index i). Includes this clone. Absent for single (1:1) clones. */
|
|
830
|
+
siblingCloneIds?: string[] | null;
|
|
827
831
|
};
|
|
828
832
|
SandboxCloneCreateModel: {
|
|
829
833
|
/** @example zyom-002-017-180620251331 */
|
|
830
834
|
cloneId?: string;
|
|
835
|
+
/** @description Shared batch identifier when this create fanned out to multiple clones (1 to many). Absent for single (1:1) clones. */
|
|
836
|
+
batchId?: string | null;
|
|
837
|
+
/** @description cloneIds of all clones created by this 1 to many request. Absent for single (1:1) clones. */
|
|
838
|
+
siblingCloneIds?: string[] | null;
|
|
831
839
|
};
|
|
832
840
|
SandboxCloneProvisioningRequestModel: {
|
|
833
841
|
targetProfile?: components["schemas"]["SandboxResourceProfile"];
|
|
842
|
+
/**
|
|
843
|
+
* Format: int32
|
|
844
|
+
* @description Number of sandbox clones to create from this source (1 to many cloning). Valid values are 1 to 5. Defaults to 1 (a single 1:1 clone). When greater than 1, the clones fan out as a batch sharing a batchId.
|
|
845
|
+
* @default 1
|
|
846
|
+
*/
|
|
847
|
+
targetCount: number;
|
|
834
848
|
/**
|
|
835
849
|
* @example [
|
|
836
850
|
* "email1@example.com",
|
|
@@ -2307,6 +2321,8 @@ export interface operations {
|
|
|
2307
2321
|
toDate?: string;
|
|
2308
2322
|
/** @description Filter clones by status (Pending, InProgress, Failed, or Completed). If not provided, returns all clones regardless of status. */
|
|
2309
2323
|
status?: "Pending" | "InProgress" | "Failed" | "Completed";
|
|
2324
|
+
/** @description Filter clones by their 1 to many batch identifier. When provided, returns only clones belonging to that batch. Optional. */
|
|
2325
|
+
batchId?: string;
|
|
2310
2326
|
};
|
|
2311
2327
|
header?: never;
|
|
2312
2328
|
path: {
|
|
@@ -42,6 +42,14 @@ export interface DwJsonConfig {
|
|
|
42
42
|
webdavHostname?: string;
|
|
43
43
|
/** Allowed authentication methods in priority order */
|
|
44
44
|
authMethods?: AuthMethod[];
|
|
45
|
+
/**
|
|
46
|
+
* Shorthand for `"auth-methods": ["user"]`. When `true`, browser-based
|
|
47
|
+
* Authorization Code + PKCE is the only OAuth method tried.
|
|
48
|
+
*
|
|
49
|
+
* Mutually exclusive with `authMethods` — setting both in the same dw.json
|
|
50
|
+
* is rejected during config mapping.
|
|
51
|
+
*/
|
|
52
|
+
userAuth?: boolean;
|
|
45
53
|
/** Account Manager hostname for OAuth */
|
|
46
54
|
accountManagerHost?: string;
|
|
47
55
|
/** MRT project slug */
|
|
@@ -62,6 +70,8 @@ export interface DwJsonConfig {
|
|
|
62
70
|
autoUpload?: boolean;
|
|
63
71
|
/** Cartridge names to include in deploy/watch (string with colon/comma separators, or array) */
|
|
64
72
|
cartridges?: string | string[];
|
|
73
|
+
/** Directory paths to exclude recursively from import-set source discovery */
|
|
74
|
+
importSetExclude?: string[];
|
|
65
75
|
/** Default content library ID for content export/list commands */
|
|
66
76
|
contentLibrary?: string;
|
|
67
77
|
/** Catalog IDs for WebDAV browsing */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dw-json.js","sourceRoot":"","sources":["../../../src/config/dw-json.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;;GAOG;AACH,OAAO,KAAK,GAAG,MAAM,kBAAkB,CAAC;AACxC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"dw-json.js","sourceRoot":"","sources":["../../../src/config/dw-json.ts"],"names":[],"mappings":"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"}
|
|
@@ -95,6 +95,7 @@ export { createInstanceFromConfig, normalizeConfigKeys, resolveLibraryEntries }
|
|
|
95
95
|
export { loadDwJson, loadFullDwJson, findDwJson, saveDwJson, addInstance, removeInstance, setActiveInstance, } from './dw-json.js';
|
|
96
96
|
export type { DwJsonConfig, DwJsonMultiConfig, LoadDwJsonOptions, LoadDwJsonResult, AddInstanceOptions, RemoveInstanceOptions, SetActiveInstanceOptions, } from './dw-json.js';
|
|
97
97
|
export { InstanceManager, createInstanceManager } from './instance-manager.js';
|
|
98
|
+
export { SENSITIVE_CONFIG_FIELDS, isSensitiveConfigField, maskConfigValue, redactConfigValues } from './redaction.js';
|
|
98
99
|
export { ConfigSourceRegistry, globalConfigSourceRegistry } from './config-source-registry.js';
|
|
99
100
|
export { DwJsonSource } from './sources/dw-json-source.js';
|
|
100
101
|
export { EnvSource } from './sources/env-source.js';
|
package/dist/esm/config/index.js
CHANGED
|
@@ -102,6 +102,8 @@ export { createInstanceFromConfig, normalizeConfigKeys, resolveLibraryEntries }
|
|
|
102
102
|
export { loadDwJson, loadFullDwJson, findDwJson, saveDwJson, addInstance, removeInstance, setActiveInstance, } from './dw-json.js';
|
|
103
103
|
// Instance management
|
|
104
104
|
export { InstanceManager, createInstanceManager } from './instance-manager.js';
|
|
105
|
+
// Redaction helpers for displaying resolved config (CLI inspect, MCP config_inspect)
|
|
106
|
+
export { SENSITIVE_CONFIG_FIELDS, isSensitiveConfigField, maskConfigValue, redactConfigValues } from './redaction.js';
|
|
105
107
|
// Config source registry (global, auto-included in resolveConfig)
|
|
106
108
|
export { ConfigSourceRegistry, globalConfigSourceRegistry } from './config-source-registry.js';
|
|
107
109
|
// Config sources (for direct use)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0FG;AAEH,6BAA6B;AAC7B,OAAO,EAAC,aAAa,EAAE,cAAc,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAoBlF,0DAA0D;AAC1D,OAAO,EAAC,wBAAwB,EAAE,mBAAmB,EAAE,qBAAqB,EAAC,MAAM,cAAc,CAAC;AAElG,2DAA2D;AAC3D,OAAO,EACL,UAAU,EACV,cAAc,EACd,UAAU,EACV,UAAU,EACV,WAAW,EACX,cAAc,EACd,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAWtB,sBAAsB;AACtB,OAAO,EAAC,eAAe,EAAE,qBAAqB,EAAC,MAAM,uBAAuB,CAAC;AAE7E,kEAAkE;AAClE,OAAO,EAAC,oBAAoB,EAAE,0BAA0B,EAAC,MAAM,6BAA6B,CAAC;AAE7F,kCAAkC;AAClC,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0FG;AAEH,6BAA6B;AAC7B,OAAO,EAAC,aAAa,EAAE,cAAc,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAoBlF,0DAA0D;AAC1D,OAAO,EAAC,wBAAwB,EAAE,mBAAmB,EAAE,qBAAqB,EAAC,MAAM,cAAc,CAAC;AAElG,2DAA2D;AAC3D,OAAO,EACL,UAAU,EACV,cAAc,EACd,UAAU,EACV,UAAU,EACV,WAAW,EACX,cAAc,EACd,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAWtB,sBAAsB;AACtB,OAAO,EAAC,eAAe,EAAE,qBAAqB,EAAC,MAAM,uBAAuB,CAAC;AAE7E,qFAAqF;AACrF,OAAO,EAAC,uBAAuB,EAAE,sBAAsB,EAAE,eAAe,EAAE,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAEpH,kEAAkE;AAClE,OAAO,EAAC,oBAAoB,EAAE,0BAA0B,EAAC,MAAM,6BAA6B,CAAC;AAE7F,kCAAkC;AAClC,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC"}
|
|
@@ -115,6 +115,15 @@ export interface MergeConfigOptions {
|
|
|
115
115
|
* @default true
|
|
116
116
|
*/
|
|
117
117
|
hostnameProtection?: boolean;
|
|
118
|
+
/**
|
|
119
|
+
* Whether to apply OAuth client mismatch protection.
|
|
120
|
+
* When true, if overrides.clientId differs from base.clientId, the base
|
|
121
|
+
* `clientSecret` is dropped (a secret bound to a different client would
|
|
122
|
+
* never be valid). Same for slasClientId/slasClientSecret. The rest of
|
|
123
|
+
* the base config still merges through.
|
|
124
|
+
* @default true
|
|
125
|
+
*/
|
|
126
|
+
clientIdProtection?: boolean;
|
|
118
127
|
}
|
|
119
128
|
/**
|
|
120
129
|
* Result of merging configurations.
|
|
@@ -126,6 +135,10 @@ export interface MergeConfigResult {
|
|
|
126
135
|
warnings: ConfigWarning[];
|
|
127
136
|
/** Whether a hostname mismatch was detected and base was ignored */
|
|
128
137
|
hostnameMismatch: boolean;
|
|
138
|
+
/** Whether an OAuth clientId mismatch was detected and base.clientSecret was dropped */
|
|
139
|
+
clientIdMismatch: boolean;
|
|
140
|
+
/** Whether a slasClientId mismatch was detected and base.slasClientSecret was dropped */
|
|
141
|
+
slasClientIdMismatch: boolean;
|
|
129
142
|
}
|
|
130
143
|
/**
|
|
131
144
|
* Merges configurations with hostname mismatch protection.
|
|
@@ -131,6 +131,14 @@ function parseCartridges(value) {
|
|
|
131
131
|
* ```
|
|
132
132
|
*/
|
|
133
133
|
export function mapDwJsonToNormalizedConfig(json) {
|
|
134
|
+
// `user-auth: true` is shorthand for `"auth-methods": ["user"]`. Setting
|
|
135
|
+
// both in the same dw.json is ambiguous; reject it the same way the CLI
|
|
136
|
+
// rejects passing `--user-auth` together with `--auth-methods`.
|
|
137
|
+
if (json.userAuth !== undefined && json.authMethods !== undefined) {
|
|
138
|
+
throw new Error('dw.json: `user-auth` and `auth-methods` are mutually exclusive. ' +
|
|
139
|
+
'`user-auth: true` is shorthand for `"auth-methods": ["user"]` — set one or the other.');
|
|
140
|
+
}
|
|
141
|
+
const authMethods = json.userAuth === true ? ['user'] : json.authMethods;
|
|
134
142
|
return {
|
|
135
143
|
hostname: json.hostname,
|
|
136
144
|
webdavHostname: json.webdavHostname,
|
|
@@ -149,6 +157,7 @@ export function mapDwJsonToNormalizedConfig(json) {
|
|
|
149
157
|
realm: json.realm,
|
|
150
158
|
autoUpload: json.autoUpload,
|
|
151
159
|
cartridges: parseCartridges(json.cartridges),
|
|
160
|
+
importSetExclude: json.importSetExclude,
|
|
152
161
|
contentLibrary: json.contentLibrary,
|
|
153
162
|
catalogs: json.catalogs,
|
|
154
163
|
libraries: json.libraries,
|
|
@@ -156,7 +165,7 @@ export function mapDwJsonToNormalizedConfig(json) {
|
|
|
156
165
|
cipHost: json.cipHost,
|
|
157
166
|
docsCategories: json.docsCategories,
|
|
158
167
|
instanceName: json.name,
|
|
159
|
-
authMethods
|
|
168
|
+
authMethods,
|
|
160
169
|
accountManagerHost: json.accountManagerHost,
|
|
161
170
|
mrtProject: json.mrtProject,
|
|
162
171
|
mrtEnvironment: json.mrtEnvironment,
|
|
@@ -273,6 +282,9 @@ export function mapNormalizedConfigToDwJson(config, name) {
|
|
|
273
282
|
if (config.cartridges !== undefined) {
|
|
274
283
|
result.cartridges = config.cartridges;
|
|
275
284
|
}
|
|
285
|
+
if (config.importSetExclude !== undefined) {
|
|
286
|
+
result.importSetExclude = config.importSetExclude;
|
|
287
|
+
}
|
|
276
288
|
if (config.catalogs !== undefined) {
|
|
277
289
|
result.catalogs = config.catalogs;
|
|
278
290
|
}
|
|
@@ -359,6 +371,7 @@ export function mapNormalizedConfigToDwJson(config, name) {
|
|
|
359
371
|
export function mergeConfigsWithProtection(overrides, base, options = {}) {
|
|
360
372
|
const warnings = [];
|
|
361
373
|
const hostnameProtection = options.hostnameProtection !== false;
|
|
374
|
+
const clientIdProtection = options.clientIdProtection !== false;
|
|
362
375
|
// Check for hostname mismatch
|
|
363
376
|
const hostnameExplicitlyProvided = Boolean(overrides.hostname);
|
|
364
377
|
const hostnameMismatch = hostnameExplicitlyProvided && Boolean(base.hostname) && overrides.hostname !== base.hostname;
|
|
@@ -376,8 +389,55 @@ export function mergeConfigsWithProtection(overrides, base, options = {}) {
|
|
|
376
389
|
config: { ...overrides },
|
|
377
390
|
warnings,
|
|
378
391
|
hostnameMismatch: true,
|
|
392
|
+
clientIdMismatch: false,
|
|
393
|
+
slasClientIdMismatch: false,
|
|
379
394
|
};
|
|
380
395
|
}
|
|
396
|
+
// Check for OAuth clientId mismatch — if the user supplied a different
|
|
397
|
+
// clientId than the one stored in dw.json, the stored clientSecret is for
|
|
398
|
+
// the WRONG client and would silently steer auth into client-credentials
|
|
399
|
+
// with credentials that can never validate. Drop the base secret.
|
|
400
|
+
let baseClientSecret = base.clientSecret;
|
|
401
|
+
let clientIdMismatch = false;
|
|
402
|
+
if (clientIdProtection &&
|
|
403
|
+
overrides.clientId !== undefined &&
|
|
404
|
+
base.clientId !== undefined &&
|
|
405
|
+
overrides.clientId !== base.clientId) {
|
|
406
|
+
clientIdMismatch = true;
|
|
407
|
+
if (base.clientSecret !== undefined) {
|
|
408
|
+
warnings.push({
|
|
409
|
+
code: 'CLIENT_ID_MISMATCH',
|
|
410
|
+
message: `Client ID override "${overrides.clientId}" differs from config file "${base.clientId}". ` +
|
|
411
|
+
`Ignoring stored clientSecret for the configured client.`,
|
|
412
|
+
details: {
|
|
413
|
+
providedClientId: overrides.clientId,
|
|
414
|
+
configClientId: base.clientId,
|
|
415
|
+
},
|
|
416
|
+
});
|
|
417
|
+
}
|
|
418
|
+
baseClientSecret = undefined;
|
|
419
|
+
}
|
|
420
|
+
// Same protection for the SLAS client/secret pair.
|
|
421
|
+
let baseSlasClientSecret = base.slasClientSecret;
|
|
422
|
+
let slasClientIdMismatch = false;
|
|
423
|
+
if (clientIdProtection &&
|
|
424
|
+
overrides.slasClientId !== undefined &&
|
|
425
|
+
base.slasClientId !== undefined &&
|
|
426
|
+
overrides.slasClientId !== base.slasClientId) {
|
|
427
|
+
slasClientIdMismatch = true;
|
|
428
|
+
if (base.slasClientSecret !== undefined) {
|
|
429
|
+
warnings.push({
|
|
430
|
+
code: 'SLAS_CLIENT_ID_MISMATCH',
|
|
431
|
+
message: `SLAS client ID override "${overrides.slasClientId}" differs from config file "${base.slasClientId}". ` +
|
|
432
|
+
`Ignoring stored slasClientSecret for the configured client.`,
|
|
433
|
+
details: {
|
|
434
|
+
providedSlasClientId: overrides.slasClientId,
|
|
435
|
+
configSlasClientId: base.slasClientId,
|
|
436
|
+
},
|
|
437
|
+
});
|
|
438
|
+
}
|
|
439
|
+
baseSlasClientSecret = undefined;
|
|
440
|
+
}
|
|
381
441
|
// Normal merge - overrides win, use ?? for proper undefined handling
|
|
382
442
|
return {
|
|
383
443
|
config: {
|
|
@@ -387,10 +447,10 @@ export function mergeConfigsWithProtection(overrides, base, options = {}) {
|
|
|
387
447
|
username: overrides.username ?? base.username,
|
|
388
448
|
password: overrides.password ?? base.password,
|
|
389
449
|
clientId: overrides.clientId ?? base.clientId,
|
|
390
|
-
clientSecret: overrides.clientSecret ??
|
|
450
|
+
clientSecret: overrides.clientSecret ?? baseClientSecret,
|
|
391
451
|
scopes: overrides.scopes ?? base.scopes,
|
|
392
452
|
slasClientId: overrides.slasClientId ?? base.slasClientId,
|
|
393
|
-
slasClientSecret: overrides.slasClientSecret ??
|
|
453
|
+
slasClientSecret: overrides.slasClientSecret ?? baseSlasClientSecret,
|
|
394
454
|
siteId: overrides.siteId ?? base.siteId,
|
|
395
455
|
authMethods: overrides.authMethods ?? base.authMethods,
|
|
396
456
|
accountManagerHost: overrides.accountManagerHost ?? base.accountManagerHost,
|
|
@@ -398,6 +458,7 @@ export function mergeConfigsWithProtection(overrides, base, options = {}) {
|
|
|
398
458
|
tenantId: overrides.tenantId ?? base.tenantId,
|
|
399
459
|
autoUpload: overrides.autoUpload ?? base.autoUpload,
|
|
400
460
|
cartridges: overrides.cartridges ?? base.cartridges,
|
|
461
|
+
importSetExclude: overrides.importSetExclude ?? base.importSetExclude,
|
|
401
462
|
contentLibrary: overrides.contentLibrary ?? base.contentLibrary,
|
|
402
463
|
catalogs: overrides.catalogs ?? base.catalogs,
|
|
403
464
|
libraries: overrides.libraries ?? base.libraries,
|
|
@@ -425,6 +486,8 @@ export function mergeConfigsWithProtection(overrides, base, options = {}) {
|
|
|
425
486
|
},
|
|
426
487
|
warnings,
|
|
427
488
|
hostnameMismatch: false,
|
|
489
|
+
clientIdMismatch,
|
|
490
|
+
slasClientIdMismatch,
|
|
428
491
|
};
|
|
429
492
|
}
|
|
430
493
|
/**
|