UNPKG

sfcc-dev-mcp

Version:

MCP server for Salesforce B2C Commerce Cloud development assistance including logs, debugging, and development tools

76 lines 2.72 kB
/** * Configuration factory for SFCC MCP Server * * Centralized configuration management with validation and defaults. * This factory creates SFCCConfig objects from various sources while * leveraging secure file loading from the config module. */ import { SFCCConfig, DwJsonConfig } from '../types/types.js'; export declare class ConfigurationFactory { /** * Create configuration from various sources with proper validation */ static create(options: { dwJsonPath?: string; hostname?: string; username?: string; password?: string; clientId?: string; clientSecret?: string; siteId?: string; }): SFCCConfig; /** * Load configuration from dw.json file using secure file loading * * @param dwJsonPath - Path to the dw.json file * @returns Parsed dw.json configuration * @throws Error if file cannot be loaded or is invalid */ private static loadFromDwJson; /** * Map dw.json structure to SFCCConfig * * Transforms the dw.json format (with kebab-case properties) to the * internal SFCCConfig format (with camelCase properties). * * @param dwConfig - The parsed dw.json configuration * @returns Mapped SFCCConfig object */ static mapDwJsonToConfig(dwConfig: DwJsonConfig): SFCCConfig; /** * Validate configuration for different operating modes * * This validation supports both documentation-only mode (no credentials required) * and full mode (credentials required for API access). * * @param config - The configuration to validate * @throws Error if configuration is invalid for any supported mode */ private static validate; /** * Check if configuration supports specific features * * This method analyzes the provided configuration to determine what * capabilities are available based on the credentials and hostname provided. * * @param config - The configuration to analyze * @returns Object describing available capabilities */ static getCapabilities(config: SFCCConfig): { canAccessLogs: boolean; canAccessOCAPI: boolean; canAccessWebDAV: boolean; canGenerateCartridges: boolean; isLocalMode: boolean; }; /** * Create a configuration for local development mode * * This creates a minimal configuration that only provides access to * documentation and best practices without requiring any SFCC credentials. * * @returns Configuration for local/documentation-only mode */ static createLocalMode(): SFCCConfig; } //# sourceMappingURL=configuration-factory.d.ts.map