@salesforce/b2c-tooling-sdk / config / NormalizedConfig
Interface: NormalizedConfig
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:49
Normalized B2C configuration with camelCase fields.
This is the canonical intermediate format that all configuration sources map to. It provides a consistent interface regardless of the source format (dw.json uses kebab-case, env vars use SCREAMING_SNAKE_CASE, etc.).
Properties
accountManagerHost?
optionalaccountManagerHost:string
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:74
Account Manager hostname for OAuth (default: account.demandware.com)
apiBackend?
optionalapiBackend:"ocapi"|"scapi"|"auto"
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:201
API backend preference for operations that support both OCAPI and SCAPI
assetQuery?
optionalassetQuery:string[]
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:150
JSON dot-paths for asset extraction from component data during content library parsing. Used by content export and the VS Code content library browser. Defaults to ['image.path'] when unset.
authMethods?
optionalauthMethods:AuthMethod[]
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:72
Allowed authentication methods in priority order
autoUpload?
optionalautoUpload:boolean
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:118
Whether to auto-start code upload/sync in IDE extensions
cartridges?
optionalcartridges:string[]
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:122
Cartridge names to include in deploy/watch operations
catalogs?
optionalcatalogs:string[]
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:131
Catalog IDs for WebDAV browsing
certificate?
optionalcertificate:string
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:193
Path to PKCS12 certificate file for client mTLS (two-factor auth)
certificatePassphrase?
optionalcertificatePassphrase:string
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:195
Passphrase for the certificate
cipHost?
optionalcipHost:string
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:154
Optional CIP analytics host override
clientAuthMethod?
optionalclientAuthMethod:ClientAuthMethod
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:76
How client credentials are sent to Account Manager (default: basic)
clientId?
optionalclientId:string
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:66
OAuth client ID
clientSecret?
optionalclientSecret:string
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:68
OAuth client secret
codeVersion?
optionalcodeVersion:string
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:56
Code version for deployments
contentLibrary?
optionalcontentLibrary:string
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:128
Default content library ID for content export/list commands
docsCategories?
optionaldocsCategories:string[]
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:170
Allowlist of documentation categories to expose from the docs search/read surface (CLI b2c docs, MCP docs tools). When set, bounds the entire available corpus to these categories; unset means no restriction (full corpus). Category names are validated by resolveEnabledCategories in the docs module (unknown names are dropped with a warning).
Sourced from docs-categories (dw.json), SFCC_DOCS_CATEGORIES (env), or docsCategories (package.json). A CLI --topics / MCP --docs-topics flag, when provided, overrides this config value.
Example
["script-api", "job-step", "help-admin", "tooling"]hostname?
optionalhostname:string
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:52
B2C instance hostname
importSetExclude?
optionalimportSetExclude:string[]
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:124
Project-relative directory paths to exclude recursively from import-set source discovery
instanceName?
optionalinstanceName:string
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:185
Instance name (from multi-config supporting sources)
jwtCertPath?
optionaljwtCertPath:string
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:80
Path to JWT certificate file (cert.pem) for JWT authentication
jwtKeyPath?
optionaljwtKeyPath:string
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:82
Path to JWT private key file (key.pem) for JWT authentication
jwtPassphrase?
optionaljwtPassphrase:string
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:84
Optional passphrase for encrypted JWT private key
libraries?
optionallibraries: (string|LibraryEntry)[]
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:143
Library IDs for WebDAV browsing and the Content Libraries tree.
Accepts either a string array (all treated as shared libraries) or an array of LibraryEntry objects that can mark individual libraries as site-private. Both forms can be mixed in the same array.
Example
["RefArch", { id: "homepage", siteLibrary: true }]mrtApiKey?
optionalmrtApiKey:string
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:112
MRT API key
mrtBackend?
optionalmrtBackend:"scapi"|"auto"|"legacy"
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:211
MRT backend preference for MRT operations that support both the legacy MRT Cloud API and the SCAPI MRT backend. Independent of apiBackend (MRT is a distinct subsystem). legacy = the per-user API-key MRT Cloud API; scapi = the OAuth SCAPI MRT backend; auto prefers SCAPI when prerequisites are present and falls back to legacy.
mrtEnvironment?
optionalmrtEnvironment:string
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:110
MRT environment name (e.g., staging, production)
mrtOrigin?
optionalmrtOrigin:string
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:114
MRT API origin URL override
mrtProject?
optionalmrtProject:string
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:108
MRT project slug
password?
optionalpassword:string
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:62
Password/access-key for Basic auth (WebDAV)
projectDirectory?
optionalprojectDirectory:string
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:187
Starting directory for config file search and project-relative operations
realm?
optionalrealm:string
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:104
Default ODS realm for sandbox operations
safety?
optionalsafety:object
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:215
Safety configuration for this instance
confirm?
optionalconfirm:boolean
When true, level-blocked operations require confirmation instead of hard-blocking
level?
optionallevel:SafetyLevel
Safety level
rules?
optionalrules:SafetyRule[]
Ordered safety rules. First matching rule wins.
sandboxApiHost?
optionalsandboxApiHost:string
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:102
ODS API hostname
scapiSchemas?
optionalscapiSchemas:string[]
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:181
Local SCAPI OpenAPI 3 JSON contracts (files, directories or http(s) URLs) for MCP code mode. Each replaces the bundled or live contract for the same API, or adds one. Relative paths resolve from the project directory.
Sourced from scapi-schemas (dw.json) or SFCC_SCAPI_SCHEMAS (env, comma-separated). The MCP --scapi-schemas flag, when provided, overrides this config value.
scopes?
optionalscopes:string[]
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:70
OAuth scopes
selfSigned?
optionalselfSigned:boolean
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:197
Whether to skip SSL/TLS certificate verification (self-signed certs)
shortCode?
optionalshortCode:string
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:96
SCAPI short code
siteId?
optionalsiteId:string
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:92
B2C Commerce site/channel ID
slasClientId?
optionalslasClientId:string
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:88
SLAS client ID for shopper authentication
slasClientSecret?
optionalslasClientSecret:string
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:90
SLAS client secret for private shopper clients
tenantId?
optionaltenantId:string
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:98
Tenant/Organization ID for SCAPI
username?
optionalusername:string
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:60
Username for Basic auth (WebDAV)
webdavHostname?
optionalwebdavHostname:string
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:54
Separate hostname for WebDAV operations (if different from main hostname)
workingDirectory?
optionalworkingDirectory:string
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:189
Deprecated
Use projectDirectory instead