UNPKG

smart-thinking-mcp

Version:

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

150 lines 6.25 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || (function () { var ownKeys = function(o) { ownKeys = Object.getOwnPropertyNames || function (o) { var ar = []; for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; return ar; }; return ownKeys(o); }; return function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); __setModuleDefault(result, mod); return result; }; })(); Object.defineProperty(exports, "__esModule", { value: true }); exports.PlatformConfig = exports.SystemConfig = exports.EmbeddingConfig = exports.VerificationConfig = void 0; /** * config.ts * * Fichier de configuration centralisé pour Smart-Thinking * Contient les seuils, paramètres et constantes utilisés dans tout le système */ const os_1 = require("os"); const path = __importStar(require("path")); /** * Configuration pour les seuils de vérification et similarité */ exports.VerificationConfig = { // Seuils de confiance pour la vérification CONFIDENCE: { MINIMUM_THRESHOLD: 0.7, // Seuil minimum de confiance pour considérer une information fiable VERIFICATION_REQUIRED: 0.5, // Seuil en dessous duquel une vérification est toujours requise HIGH_CONFIDENCE: 0.85, // Seuil considéré comme haute confiance LOW_CONFIDENCE: 0.4 // Seuil considéré comme basse confiance }, // Seuils de similarité pour la comparaison vectorielle SIMILARITY: { EXACT_MATCH: 0.95, // Seuil pour considérer deux informations comme identiques HIGH_SIMILARITY: 0.80, // Seuil pour considérer deux informations comme très similaires (réduit de 0.85 à 0.80) MEDIUM_SIMILARITY: 0.65, // Seuil pour considérer deux informations comme significativement similaires (réduit de 0.75 à 0.65) LOW_SIMILARITY: 0.55, // Seuil pour considérer deux informations comme faiblement similaires (réduit de 0.6 à 0.55) TEXT_MATCH: 0.65 // Seuil pour la correspondance textuelle (sans embeddings) (réduit de 0.7 à 0.65) }, // Paramètres pour la mémoire de vérification MEMORY: { MAX_CACHE_SIZE: 1000, // Nombre maximum d'entrées dans le cache CACHE_EXPIRATION: 3600000, // Durée de validité du cache en millisecondes (1h par défaut) DEFAULT_SESSION_TTL: 86400000 // Durée de vie d'une session par défaut (24h) } }; /** * Configuration pour le service d'embeddings */ exports.EmbeddingConfig = { MODEL: 'embed-multilingual-v3.0', // Modèle d'embedding à utiliser INPUT_TYPE: 'search_document', // Type d'entrée pour l'API d'embeddings BATCH_SIZE: 20, // Taille maximale des lots pour les requêtes d'embedding RETRY_ATTEMPTS: 3, // Nombre de tentatives en cas d'échec RETRY_DELAY: 1000 // Délai entre les tentatives en milliseconds }; /** * Constantes générales du système */ exports.SystemConfig = { DEFAULT_SESSION_ID: 'default', MAX_THOUGHT_LENGTH: 10000, // Longueur maximale d'une pensée en caractères MAX_CONNECTIONS: 50 // Nombre maximum de connexions par pensée }; /** * Configuration spécifique à la plateforme * Détecte automatiquement l'environnement d'exécution et ajuste les paramètres */ exports.PlatformConfig = { IS_WINDOWS: (0, os_1.platform)() === 'win32', IS_MAC: (0, os_1.platform)() === 'darwin', IS_LINUX: (0, os_1.platform)() === 'linux', /** * Obtient le répertoire de configuration selon la plateforme */ getConfigPath: () => { if ((0, os_1.platform)() === 'win32') { return process.env.APPDATA ? path.join(process.env.APPDATA, 'Smart-Thinking') : path.join(process.env.USERPROFILE || '', 'AppData', 'Roaming', 'Smart-Thinking'); } else if ((0, os_1.platform)() === 'darwin') { return path.join(process.env.HOME || '', 'Library', 'Application Support', 'Smart-Thinking'); } else { return path.join(process.env.HOME || '', '.smart-thinking'); } }, /** * Obtient le répertoire temporaire selon la plateforme */ getTempPath: () => { return path.join((0, os_1.platform)() === 'win32' ? (process.env.TEMP || 'C:/Temp') : '/tmp', 'smart-thinking'); }, /** * Vérifie si Node.js est installé via NVM * Utile pour ajuster les chemins sur Windows avec NVM */ isNvmEnvironment: () => { const nodePath = process.execPath.toLowerCase(); return nodePath.includes('nvm') || ((0, os_1.platform)() === 'win32' && nodePath.includes('appdata\\roaming\\nvm')); }, /** * Obtient le chemin de base de NVM si applicable * Important pour les configurations sur Windows avec NVM */ getNvmBasePath: () => { if (!exports.PlatformConfig.isNvmEnvironment()) { return null; } if ((0, os_1.platform)() === 'win32') { const nvmPath = process.execPath.split('\\node.exe')[0]; return nvmPath; } else { // Pour Unix, essayer de détecter le chemin NVM const nvmDir = process.env.NVM_DIR; if (nvmDir) { return nvmDir; } } return null; } }; //# sourceMappingURL=config.js.map