UNPKG

overmind-mcp

Version:

Orchestrateur universel agents IA multi-modeles via MCP. Inclut le protocole 'Custom-Nickname' pour identifier vos agents avec des surnoms originaux (The Chaos Prophet, Shadow Sniper, etc.), l'isolation mémoire (Private Memory Context) et le support pour

34 lines • 1.72 kB
/** * ╔══════════════════════════════════════════════════════════════════════╗ * ║ OVERMIND BRIDGE — RequestContext (Correlation IDs) ║ * ║ ║ * ║ Génère des IDs courts pour corréler tous les logs d'un même ║ * ║ appel (request → MCP → response). Pattern bt-sms : `reqId` 8-char. ║ * ╚══════════════════════════════════════════════════════════════════════╝ */ import { randomBytes } from 'node:crypto'; /** * Génère un requestId court (8 chars hex). * Utilisé pour corréler les logs d'une même requête HTTP → MCP call. */ export function newRequestId() { return randomBytes(4).toString('hex'); } /** * Récupère le requestId depuis les headers HTTP, ou en génère un nouveau. * Supporte les headers `X-Request-Id` et `X-Correlation-Id`. */ export function getOrCreateRequestId(headers) { const fromHeader = headers['x-request-id'] ?? headers['X-Request-Id'] ?? headers['x-correlation-id']; if (typeof fromHeader === 'string' && fromHeader) { return sanitizeRequestId(fromHeader); } return newRequestId(); } /** * Nettoie un requestId provenant d'un header (sécurité : max 64 chars, alphanum + -_). */ function sanitizeRequestId(raw) { return raw.replace(/[^a-zA-Z0-9_-]/g, '').slice(0, 64) || newRequestId(); } //# sourceMappingURL=RequestContext.js.map