UNPKG

sfcc-dev-mcp

Version:

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

73 lines 3.67 kB
import { LogToolValidators, LogMessageFormatter } from './log-tool-utils.js'; import { ValidationHelpers, CommonValidations } from '../core/handlers/validation-helpers.js'; import { getLimit } from './log-tool-constants.js'; /** * Configuration for standard log tools * Maps each tool to its validation, execution, and messaging logic */ export const LOG_TOOL_CONFIG = { get_latest_error: { defaults: (args) => ({ limit: getLimit(args.limit, 'latest'), }), validate: (args) => LogToolValidators.validateLimit(args.limit, 'get_latest_error'), exec: async (args, client) => client.getLatestLogs('error', args.limit, args.date), logMessage: (args) => LogMessageFormatter.formatLatestLogs('error', args.limit, args.date), }, get_latest_warn: { defaults: (args) => ({ limit: getLimit(args.limit, 'latest'), }), validate: (args) => LogToolValidators.validateLimit(args.limit, 'get_latest_warn'), exec: async (args, client) => client.getLatestLogs('warn', args.limit, args.date), logMessage: (args) => LogMessageFormatter.formatLatestLogs('warn', args.limit, args.date), }, get_latest_info: { defaults: (args) => ({ limit: getLimit(args.limit, 'latest'), }), validate: (args) => LogToolValidators.validateLimit(args.limit, 'get_latest_info'), exec: async (args, client) => client.getLatestLogs('info', args.limit, args.date), logMessage: (args) => LogMessageFormatter.formatLatestLogs('info', args.limit, args.date), }, get_latest_debug: { defaults: (args) => ({ limit: getLimit(args.limit, 'latest'), }), validate: (args) => LogToolValidators.validateLimit(args.limit, 'get_latest_debug'), exec: async (args, client) => client.getLatestLogs('debug', args.limit, args.date), logMessage: (args) => LogMessageFormatter.formatLatestLogs('debug', args.limit, args.date), }, summarize_logs: { exec: async (args, client) => client.summarizeLogs(args.date), logMessage: (args) => LogMessageFormatter.formatSummarizeLogs(args.date), }, search_logs: { defaults: (args) => ({ limit: getLimit(args.limit, 'search'), }), validate: (args, toolName) => { ValidationHelpers.validateArguments(args, CommonValidations.requiredString('pattern'), toolName); LogToolValidators.validateLimit(args.limit, toolName); if (args.logLevel) { LogToolValidators.validateLogLevel(args.logLevel, toolName); } }, exec: async (args, client) => client.searchLogs(args.pattern, args.logLevel, args.limit, args.date), logMessage: (args) => LogMessageFormatter.formatSearchLogs(args.pattern, args.logLevel, args.limit, args.date), }, list_log_files: { exec: async (args, client) => client.listLogFiles(), logMessage: () => LogMessageFormatter.formatListLogFiles(), }, get_log_file_contents: { validate: (args, toolName) => { ValidationHelpers.validateArguments(args, CommonValidations.requiredString('filename'), toolName); LogToolValidators.validateFilename(args.filename, toolName); LogToolValidators.validateMaxBytes(args.maxBytes, toolName); }, exec: async (args, client) => client.getLogFileContents(args.filename, args.maxBytes, args.tailOnly), logMessage: (args) => LogMessageFormatter.formatGetLogFileContents(args.filename, args.maxBytes, args.tailOnly), }, }; //# sourceMappingURL=log-tool-config.js.map