UNPKG

smart-thinking-mcp

Version:

Un serveur MCP avancé pour le raisonnement multi-dimensionnel, adaptatif et collaboratif

55 lines 2.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.EnhancedStdioServerTransport = void 0; /** * Transport StdioServer amélioré pour une meilleure compatibilité cross-plateforme * Compatible avec Windows, Mac et Linux */ const os_1 = require("os"); const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js"); /** * Transport StdioServer amélioré pour la compatibilité cross-plateforme * Gère spécifiquement les problèmes connus sur Windows */ class EnhancedStdioServerTransport extends stdio_js_1.StdioServerTransport { constructor() { super(); const currentPlatform = (0, os_1.platform)(); console.error(`Smart-Thinking: Initialisation du transport stdio pour ${currentPlatform}`); // Configuration spécifique pour Windows if (currentPlatform === 'win32') { this.configureWindowsStdio(); } } /** * Configure les flux stdin/stdout pour Windows * Résout plusieurs problèmes connus avec les flux sur Windows */ configureWindowsStdio() { try { // Définir l'encodage UTF-8 pour stdin/stdout process.stdin.setEncoding('utf8'); process.stdout.setDefaultEncoding('utf8'); // Éviter les problèmes de buffering sur Windows const stdoutExt = process.stdout; if (stdoutExt._handle && stdoutExt._handle.setBlocking) { stdoutExt._handle.setBlocking(true); } const stderrExt = process.stderr; if (stderrExt._handle && stderrExt._handle.setBlocking) { stderrExt._handle.setBlocking(true); } // Désactiver le buffering du stdout en définissant une taille de buffer de 0 // Aide à résoudre les problèmes de communication sur Windows if (stdoutExt._handle && stdoutExt._handle.setBlocking) { stdoutExt._handle.setBlocking(true); } console.error('Smart-Thinking: Configuration Windows appliquée pour les flux stdio'); } catch (error) { console.error(`Smart-Thinking: Erreur lors de la configuration des flux stdio: ${error instanceof Error ? error.message : String(error)}`); } } } exports.EnhancedStdioServerTransport = EnhancedStdioServerTransport; //# sourceMappingURL=platform-stdio.js.map