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

52 lines • 2.25 kB
/** * ═══════════════════════════════════════════════════════════════════════════ * Audit Trail — Types partagés * ═══════════════════════════════════════════════════════════════════════════ * * Conformité Audit Trail (Loi 25 QC / AI Act / AI PIA) pour Overmind-MCP. * Voir docs/PLAN_AUDIT_INTEGRATION.md pour le plan complet. */ /** * Vérifie si la l'audit trail est activé (master feature flag). * Si false, tous les guards sont passifs (comportement v3.8). */ export function isAuditEnabled() { return process.env.OVERMIND_AUDIT_ENABLED === 'true'; } /** Lit la rétention par défaut depuis .env (défaut: 30 jours) */ export function getDefaultRetentionDays() { return parseInt(process.env.OVERMIND_AUDIT_RETENTION_DAYS || '30', 10); } /** Lit la durée d'archivage cold storage depuis .env (défaut: 5 ans) */ export function getDefaultArchiveYears() { return parseInt(process.env.OVERMIND_AUDIT_ARCHIVE_YEARS || '5', 10); } /** Lit la base légale par défaut depuis .env */ export function getDefaultLegalBasis() { const val = process.env.OVERMIND_AUDIT_DEFAULT_BASIS || 'legitimate_interest'; if (val === 'consent' || val === 'contract' || val === 'legitimate_interest' || val === 'legal_obligation') { return val; } return 'legitimate_interest'; } /** * Allowlist des sujets internes (intérêt légitime suffisant, pas de consentement requis). * Format .env : OVERMIND_AUDIT_INTERNAL_SUBJECTS=hash1,hash2,hash3 */ export function getInternalSubjects() { const raw = process.env.OVERMIND_AUDIT_INTERNAL_SUBJECTS || ''; return new Set(raw .split(',') .map((s) => s.trim()) .filter(Boolean)); } /** * Détermine si un sujet est interne (intérêt légitime) ou tiers (consentement requis). */ export function isInternalSubject(dataSubjectId) { return getInternalSubjects().has(dataSubjectId); } //# sourceMappingURL=types.js.map