/** * Semantic Compression Module for UAM * * Implements SimpleMem-style semantic structured compression: * 1. Entropy-aware filtering to distill raw content into atomic facts * 2. Coreference normalization (entity resolution) * 3. Multi-view indexing for efficient retrieval * * Based on SimpleMem research (2026): 30x token reduction while maintaining F1 scores */ export interface AtomicFact { content: string; entities: string[]; actionability: number; temporality: 'past' | 'present' | 'future' | 'timeless'; type: 'fact' | 'decision' | 'lesson' | 'pattern' | 'gotcha'; } export interface SemanticUnit { id: string; atomicFacts: AtomicFact[]; entities: string[]; temporalMarkers: string[]; sourceTokens: number; compressedTokens: number; compressionRatio: number; } export interface SemanticCompressionConfig { maxFactsPerUnit: number; minActionability: number; minEntropy: number; deduplicationThreshold: number; preserveHighImportance: boolean; } /** * Calculate Shannon entropy of text (normalized 0-1) * Higher entropy = more information content, less repetition * Based on SimpleMem's entropy-aware filtering */ export declare function calculateEntropy(text: string): number; /** * Calculate information density (entropy per token) * Helps identify high-value content worth preserving */ export declare function calculateInformationDensity(text: string): number; /** * Extract atomic facts from raw content * Distills verbose content into minimal, self-contained units */ export declare function extractAtomicFacts(content: string, minEntropy?: number): AtomicFact[]; /** * Create a semantic unit from multiple memories */ export declare function createSemanticUnit(memories: Array<{ content: string; importance?: number; }>, config?: Partial): SemanticUnit; /** * Serialize semantic unit for storage/display */ export declare function serializeSemanticUnit(unit: SemanticUnit): string; /** * Compress batch of memories into semantic units * Main entry point for semantic compression */ export declare function compressToSemanticUnits(memories: Array<{ content: string; type: string; importance?: number; timestamp?: string; }>, config?: Partial): { units: SemanticUnit[]; totalSourceTokens: number; totalCompressedTokens: number; overallRatio: number; serialized: string; }; //# sourceMappingURL=semantic-compression.d.ts.map