sfcc-dev-mcp
Version:
MCP server for Salesforce B2C Commerce Cloud development assistance including logs, debugging, and development tools
76 lines • 3.42 kB
JavaScript
import { LogToolValidators } from '../../utils/log-tool-utils.js';
import { ValidationHelpers, CommonValidations } from './validation-helpers.js';
import { getLimit } from '../../utils/log-tool-constants.js';
import { JobLogValidators, JobLogFormatters } from '../../utils/job-log-utils.js';
/**
* Configuration for job log tools
* Maps each tool to its validation, execution, and messaging logic
*/
export const JOB_LOG_TOOL_CONFIG = {
get_latest_job_log_files: {
defaults: (args) => ({
limit: getLimit(args.limit, 'jobFiles'),
}),
validate: (args, toolName) => LogToolValidators.validateLimit(args.limit, toolName),
exec: async (args, client) => client.getLatestJobLogFiles(args.limit),
logMessage: (args) => JobLogFormatters.formatJobLogMessage('Fetching latest job log files', {
limit: args.limit,
}),
},
search_job_logs_by_name: {
defaults: (args) => ({
limit: getLimit(args.limit, 'jobFiles'),
}),
validate: (args, toolName) => {
ValidationHelpers.validateArguments(args, CommonValidations.requiredString('jobName'), toolName);
LogToolValidators.validateLimit(args.limit, toolName);
},
exec: async (args, client) => client.searchJobLogsByName(args.jobName, args.limit),
logMessage: (args) => JobLogFormatters.formatJobLogMessage('Searching job logs by name', {
jobName: args.jobName,
limit: args.limit,
}),
},
get_job_log_entries: {
defaults: (args) => ({
level: args.level ?? 'all',
limit: getLimit(args.limit, 'jobEntries'),
}),
validate: (args, toolName) => {
JobLogValidators.validateJobLogLevel(args.level, toolName);
LogToolValidators.validateLimit(args.limit, toolName);
},
exec: async (args, client) => client.getJobLogEntries(args.level, args.limit, args.jobName),
logMessage: (args) => JobLogFormatters.formatJobLogMessage('Fetching job log entries', {
level: args.level,
limit: args.limit,
jobName: args.jobName,
}),
},
search_job_logs: {
defaults: (args) => ({
level: args.level ?? 'all',
limit: getLimit(args.limit, 'jobSearch'),
}),
validate: (args, toolName) => {
ValidationHelpers.validateArguments(args, CommonValidations.requiredString('pattern'), toolName);
JobLogValidators.validateJobLogLevel(args.level, toolName);
LogToolValidators.validateLimit(args.limit, toolName);
},
exec: async (args, client) => client.searchJobLogs(args.pattern, args.level, args.limit, args.jobName),
logMessage: (args) => JobLogFormatters.formatJobLogMessage('Searching job logs', {
pattern: args.pattern,
level: args.level,
limit: args.limit,
jobName: args.jobName,
}),
},
get_job_execution_summary: {
validate: (args, toolName) => {
ValidationHelpers.validateArguments(args, CommonValidations.requiredString('jobName'), toolName);
},
exec: async (args, client) => client.getJobExecutionSummary(args.jobName),
logMessage: (args) => `Getting job execution summary for: ${args.jobName}`,
},
};
//# sourceMappingURL=job-log-tool-config.js.map