UNPKG

sfcc-dev-mcp

Version:

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

75 lines 2.87 kB
import { ValidationHelpers, CommonValidations } from '../core/handlers/validation-helpers.js'; export const SFRA_TOOL_NAMES = [ 'get_available_sfra_documents', 'get_sfra_document', 'search_sfra_documentation', 'get_sfra_documents_by_category', 'get_sfra_categories', ]; export const SFRA_TOOL_NAMES_SET = new Set(SFRA_TOOL_NAMES); /** * Configuration for SFRA documentation tools * Maps each tool to its validation, execution, and messaging logic */ export const SFRA_TOOL_CONFIG = { get_available_sfra_documents: { defaults: (args) => args, validate: (_args, _toolName) => { // No validation needed for list operation }, exec: async (_args, context) => { const client = context.sfraClient; return client.getAvailableDocuments(); }, logMessage: (_args) => 'List SFRA docs', }, get_sfra_document: { defaults: (args) => args, validate: (args, toolName) => { ValidationHelpers.validateArguments(args, CommonValidations.requiredString('documentName'), toolName); }, exec: async (args, context) => { const client = context.sfraClient; const result = await client.getSFRADocument(args.documentName); if (!result) { throw new Error(`SFRA document "${args.documentName}" not found`); } return result; }, logMessage: (args) => `SFRA doc ${args.documentName}`, }, search_sfra_documentation: { defaults: (args) => args, validate: (args, toolName) => { ValidationHelpers.validateArguments(args, CommonValidations.requiredString('query'), toolName); }, exec: async (args, context) => { const client = context.sfraClient; return client.searchSFRADocumentation(args.query); }, logMessage: (args) => `Search SFRA ${args.query}`, }, get_sfra_documents_by_category: { defaults: (args) => args, validate: (args, toolName) => { ValidationHelpers.validateArguments(args, CommonValidations.requiredString('category'), toolName); }, exec: async (args, context) => { const client = context.sfraClient; return client.getDocumentsByCategory(args.category); }, logMessage: (args) => `SFRA docs by category ${args.category}`, }, get_sfra_categories: { defaults: (args) => args, validate: (_args, _toolName) => { // No validation needed for list operation }, exec: async (_args, context) => { const client = context.sfraClient; return client.getAvailableCategories(); }, logMessage: (_args) => 'SFRA categories', }, }; //# sourceMappingURL=sfra-tool-config.js.map