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
55 lines • 2.55 kB
TypeScript
/**
* ═══════════════════════════════════════════════════════════════════════════
* Audit Trail — Moteur de rétention (art. 35.2-35.3)
* ═══════════════════════════════════════════════════════════════════════════
*
* Calcule les dates d'expiration de rétention et gère le workflow :
* hot (table active) → anonymisation → cold archive (5 ans) → purge définitive
*/
import type { LegalBasis } from './types.js';
/**
* Calcule le timestamp d'expiration de rétention active (hot).
*
* @param createdAt Timestamp de création (ms)
* @param retentionDaysOverride Override du nombre de jours (défaut: .env)
* @returns Timestamp d'expiration
*/
export declare function calculateRetentionExpiry(createdAt: number, retentionDaysOverride?: number): number;
/**
* Calcule le timestamp d'expiration de l'archivage cold storage.
*
* @param archivedAt Timestamp d'archivage (ms)
* @param archiveYearsOverride Override du nombre d'années (défaut: .env)
* @returns Timestamp d'expiration de l'archive
*/
export declare function calculateArchiveExpiry(archivedAt: number, archiveYearsOverride?: number): number;
/**
* Vérifie si un enregistrement est expiré.
*/
export declare function isExpired(expiresAt: number, now?: number): boolean;
export interface RetentionPolicyConfig {
category: string;
retentionDays: number;
archiveYears: number;
legalBasis: LegalBasis;
anonymizeAfterDays: number;
}
/**
* Politiques de rétention par défaut au moment de la migration.
* Définition validée : 30 jours actif + 5 ans archive pour tout.
*/
export declare function getDefaultPolicies(): RetentionPolicyConfig[];
/**
* Politiques par défaut — format JSON pour la migration SQL.
*/
export declare function getDefaultPoliciesJson(): string;
/**
* Détermine si un enregistrement doit être anonymisé (mi-rétention)
* vs supprimé (fin de rétention active).
*
* @param createdAt Timestamp de création
* @param policy Politique de rétention
* @returns 'active' | 'anonymize' | 'archive' | 'purge'
*/
export declare function getRetentionStage(createdAt: number, policy: RetentionPolicyConfig, now?: number): 'active' | 'anonymize' | 'archive' | 'purge';
//# sourceMappingURL=retention.d.ts.map