UNPKG

rednote-mcp

Version:

A friendly tool to help you access and interact with Xiaohongshu (RedNote) content through Model Context Protocol.

46 lines (45 loc) 1.75 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.createStdioLogger = createStdioLogger; const logger_1 = __importDefault(require("./logger")); /** * Logger for stdio input and output * @param logFilePath - Path to the log file (unused, kept for backward compatibility) * @returns A function to stop logging */ function createStdioLogger(logFilePath) { // Store original stdio const originalStdoutWrite = process.stdout.write.bind(process.stdout); const originalStderrWrite = process.stderr.write.bind(process.stderr); // Create new write functions const newStdoutWrite = function (str, encoding, cb) { logger_1.default.info(`[STDOUT] ${str}`); if (typeof encoding === 'function') { return originalStdoutWrite(str, encoding); } return originalStdoutWrite(str, encoding, cb); }; const newStderrWrite = function (str, encoding, cb) { logger_1.default.error(`[STDERR] ${str}`); if (typeof encoding === 'function') { return originalStderrWrite(str, encoding); } return originalStderrWrite(str, encoding, cb); }; // Override stdio process.stdout.write = newStdoutWrite; process.stderr.write = newStderrWrite; // Add stdin listener process.stdin.on('data', (data) => { logger_1.default.info(`[STDIN] ${data}`); }); // Return cleanup function return () => { process.stdout.write = originalStdoutWrite; process.stderr.write = originalStderrWrite; process.stdin.removeAllListeners('data'); }; }