sfcc-dev-mcp
Version:
MCP server for Salesforce B2C Commerce Cloud development assistance including logs, debugging, and development tools
73 lines • 3.67 kB
JavaScript
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