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
JavaScript
/**
* ╔══════════════════════════════════════════════════════════════════════╗
* ║ 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