UNPKG

@vqp/audit-memory

Version:

In-memory audit adapter for VQP

64 lines 1.99 kB
/** * Memory Audit Adapter - Implements AuditPort using in-memory storage * This adapter stores audit events in memory for testing and lightweight deployments */ import { AuditPort, VQPQuery, VQPResponse, VQPError, AuditEntry } from '@vqp/core'; export interface MemoryAuditConfig { maxEntries?: number; includeFullQuery?: boolean; includeFullResponse?: boolean; autoCleanup?: boolean; logLevel?: 'debug' | 'info' | 'warn' | 'error'; } export declare class MemoryAuditAdapter implements AuditPort { private entries; private readonly maxEntries; private readonly includeFullQuery; private readonly includeFullResponse; private readonly autoCleanup; private readonly logLevel; constructor(config?: MemoryAuditConfig); logQuery(query: VQPQuery, response: VQPResponse): Promise<void>; logError(error: VQPError, context: any): Promise<void>; getAuditTrail(filters?: { startTime?: string; endTime?: string; querier?: string; event?: string; }): Promise<AuditEntry[]>; purgeOldEntries(olderThan: string): Promise<number>; /** * Get current number of stored entries */ getEntryCount(): number; /** * Clear all entries (useful for testing) */ clearAll(): void; /** * Get memory usage statistics */ getMemoryStats(): { entryCount: number; maxEntries: number; memoryUsageBytes: number; oldestEntry?: string; newestEntry?: string; }; private addEntry; private sanitizeContext; private estimateMemoryUsage; /** * Get entries by event type */ getEntriesByEvent(eventType: AuditEntry['event']): AuditEntry[]; /** * Get recent entries (last N entries) */ getRecentEntries(count?: number): AuditEntry[]; /** * Search entries by metadata */ searchEntries(searchTerm: string): AuditEntry[]; } //# sourceMappingURL=memory-adapter.d.ts.map