UNPKG

@dollhousemcp/mcp-server

Version:

DollhouseMCP - A Model Context Protocol (MCP) server that enables dynamic AI persona management from markdown files, allowing Claude and other compatible AI assistants to activate and switch between different behavioral personas.

44 lines 1.46 kB
/** * Time-windowed event deduplication utility. * Suppresses repeated identical events within a configurable window. * Used by SecurityMonitor and SecurityTelemetry to prevent log flooding. * * @example * ```ts * const dedup = new EventDeduplicator(60_000, 500); * * if (!dedup.shouldSuppress('injection\0/api/query\0SQL detected')) { * logger.warn('New security event'); * } * // Same key within 60s → suppressed * dedup.shouldSuppress('injection\0/api/query\0SQL detected'); // true * * // Check how much noise was filtered * const stats = dedup.getStats(); * // { suppressedCount: 1, processedCount: 1, cacheSize: 1 } * ``` */ export declare class EventDeduplicator { private readonly windowMs; private readonly maxSize; private readonly recentKeys; private _suppressedCount; private _processedCount; constructor(windowMs?: number, maxSize?: number); /** * Returns true if this key should be suppressed (duplicate within window). * Returns false if this is a new event that should be processed. */ shouldSuppress(key: string): boolean; /** Clear all tracked keys and counters */ clear(): void; get size(): number; /** Returns deduplication statistics for metrics and observability */ getStats(): { suppressedCount: number; processedCount: number; cacheSize: number; }; private cleanup; } //# sourceMappingURL=EventDeduplicator.d.ts.map