/** * Temporal Decay System * * Implements memory decay similar to human forgetting curves. * Memories fade over time but can be reinforced through access. */ import { Memory, MemoryConfig } from './types.js'; /** * Calculate the current decayed score for a memory * Uses exponential decay: score = base_score * (decay_rate ^ effective_hours) * * Memory types have different decay rates: * - Short-term: hourly decay (fastest) * - Episodic: 6-hour decay (medium) * - Long-term: daily decay (slowest) * * Access count slows decay (multiplicative bonus, not additive) */ export declare function calculateDecayedScore(memory: Memory, config?: MemoryConfig): number; /** * Calculate reinforcement boost when memory is accessed */ export declare function calculateReinforcementBoost(memory: Memory, config?: MemoryConfig): number; /** * Determine if a memory should be promoted from short-term to long-term * Based on access patterns and salience */ export declare function shouldPromoteToLongTerm(memory: Memory, config?: MemoryConfig): boolean; /** * Determine if an episodic memory should be promoted to long-term * Episodic memories (session markers) promote if they're accessed frequently, * indicating an important session that's being referenced */ export declare function shouldPromoteEpisodic(memory: Memory): boolean; /** * Determine if a memory should be deleted due to decay * Uses category-specific thresholds - architecture/errors are harder to delete */ export declare function shouldDelete(memory: Memory, config?: MemoryConfig): boolean; /** * Get memories sorted by priority (salience + recency + access count) */ export declare function calculatePriority(memory: Memory): number; /** * Batch process memories for decay and cleanup * Returns IDs of memories to delete and promote */ export declare function processDecay(memories: Memory[], config?: MemoryConfig): { toDelete: number[]; toPromote: number[]; updated: Map; }; /** * Calculate optimal time for next consolidation * Based on current memory state */ export declare function calculateNextConsolidationTime(memories: Memory[], config?: MemoryConfig): Date; /** * Human-readable time since last access */ export declare function formatTimeSinceAccess(memory: Memory): string; //# sourceMappingURL=decay.d.ts.map