UNPKG

mcp-openai-complete

Version:
74 lines 2.23 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isValidCompletionArgs = exports.sleep = exports.logger = void 0; const constants_js_1 = require("./constants.js"); /** * Helper function to log messages with timestamp and context */ const logMessage = (level, context, message, ...args) => { const timestamp = new Date().toISOString(); const formattedMessage = `[${timestamp}] [${level}] [${context}] ${message}`; switch (level) { case 'ERROR': console.error(formattedMessage, ...args); break; case 'WARN': console.warn(formattedMessage, ...args); break; default: console.log(formattedMessage, ...args); } }; /** * Logger utility for consistent logging */ exports.logger = { info: (context, message, ...args) => { logMessage('INFO', context, message, ...args); }, error: (context, message, ...args) => { logMessage('ERROR', context, message, ...args); }, debug: (context, message, ...args) => { if (constants_js_1.DEBUG) { logMessage('DEBUG', context, message, ...args); } }, warn: (context, message, ...args) => { logMessage('WARN', context, message, ...args); }, }; /** * Sleep for a specified number of milliseconds */ const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); exports.sleep = sleep; /** * Validate completion arguments */ const isValidCompletionArgs = (args) => { if (typeof args !== 'object' || args === null) { return false; } const candidate = args; // Prompt is required if (typeof candidate.prompt !== 'string') { return false; } // Check optional numeric parameters const optionalNumericParams = [ 'max_tokens', 'temperature', 'top_p', 'frequency_penalty', 'presence_penalty', ]; for (const param of optionalNumericParams) { if (candidate[param] !== undefined && typeof candidate[param] !== 'number') { return false; } } return true; }; exports.isValidCompletionArgs = isValidCompletionArgs; //# sourceMappingURL=utils.js.map