/** * Memory Compression and Optimization for A2A Distributed Memory * * Implements advanced compression techniques: * - Multi-algorithm compression (LZ4, Brotli, Neural) * - Adaptive algorithm selection * - Data deduplication and fingerprinting * - Incremental compression with delta encoding * - Memory-mapped compression for large datasets * - Background optimization and garbage collection */ /// /// /// import { EventEmitter } from "events"; export type CompressionAlgorithm = "lz4" | "brotli" | "gzip" | "neural" | "delta" | "dictionary"; export interface CompressionOptions { algorithm?: CompressionAlgorithm; level?: number; enableDeduplication?: boolean; enableDeltaEncoding?: boolean; blockSize?: number; dictionarySize?: number; adaptiveSelection?: boolean; } export interface CompressionResult { compressedData: Buffer; originalSize: number; compressedSize: number; ratio: number; algorithm: CompressionAlgorithm; checksum: string; metadata: { compressionTime: number; memoryUsed: number; quality: number; deduplicationSavings?: number; deltaEncodingSavings?: number; }; } export interface DecompressionResult { data: any; originalSize: number; decompressionTime: number; verified: boolean; } export interface DataFingerprint { hash: string; algorithm: string; size: number; type: string; entropy: number; repetitionRate: number; textRatio: number; binaryRatio: number; } export interface CompressionStats { totalCompressions: number; totalDecompressions: number; totalBytesProcessed: number; totalBytesSaved: number; averageRatio: number; averageCompressionTime: number; averageDecompressionTime: number; algorithmUsage: Map; deduplicationHits: number; memoryUsage: number; } export interface OptimizationRule { id: string; condition: (fingerprint: DataFingerprint) => boolean; algorithm: CompressionAlgorithm; options: CompressionOptions; priority: number; } /** * Main Memory Compressor */ export declare class MemoryCompressor extends EventEmitter { private logger; private enabled; private deduplicationCache; private deltaCache; private compressionHistory; private neuralCompressor; private dictionaryCompressor; private optimizationRules; private stats; constructor(enabled?: boolean); /** * Compress data with automatic algorithm selection */ compress(data: any, options?: CompressionOptions): Promise; /** * Decompress data */ decompress(compressedData: Buffer, algorithm: CompressionAlgorithm, originalSize: number, checksum?: string): Promise; /** * Compress with specific algorithm and options */ compressWithAlgorithm(data: any, algorithm: CompressionAlgorithm, level?: number): Promise; /** * Analyze data characteristics for optimal compression */ generateFingerprint(data: Buffer): DataFingerprint; /** * Add optimization rule */ addOptimizationRule(rule: OptimizationRule): void; /** * Get compression statistics */ getStats(): CompressionStats; /** * Perform garbage collection on caches */ garbageCollect(maxAge?: number): number; /** * Private methods */ private initializeOptimizationRules; private selectOptimalAlgorithm; private compressLZ4; private compressBrotli; private compressGzip; private compressDelta; private decompressLZ4; private decompressBrotli; private decompressGzip; private decompressDelta; private checkDeduplication; private createDeduplicationResult; private createUncompressedResult; private serializeData; private deserializeData; private calculateChecksum; private calculateHash; private calculateEntropy; private calculateRepetitionRate; private calculateTextRatio; private calculateQuality; private getMemoryUsage; private updateCompressionStats; private updateDecompressionStats; private updateMemoryUsage; private startBackgroundOptimization; private performBackgroundOptimization; private optimizeCompressionRules; } //# sourceMappingURL=memory-compressor.d.ts.map