@codai/memorai-core
Version:
Simplified advanced memory engine - no tiers, just powerful semantic search with persistence
68 lines • 2.42 kB
TypeScript
/**
* @fileoverview Temporal memory management for time-based operations
*/
import type { MemoryMetadata, MemoryType } from '../types/index.js';
/**
* Time-based memory decay factors
*/
export interface DecayParameters {
/** Importance multiplier (0-1) */
importance: number;
/** Access frequency multiplier (0-1) */
frequency: number;
/** Emotional weight multiplier (0-1) */
emotional: number;
/** Base decay rate per day */
baseDecayRate: number;
}
/**
* Default decay parameters for different memory types
*/
export declare const DEFAULT_DECAY_PARAMETERS: Record<MemoryType, DecayParameters>;
/**
* Temporal memory engine for managing time-based memory operations
*/
export declare class TemporalEngine {
private decayParameters;
constructor(customDecayParameters?: Partial<Record<MemoryType, Partial<DecayParameters>>>);
/**
* Calculate time-adjusted confidence for a memory
*/
calculateTimeDecay(memory: MemoryMetadata, currentTime?: Date): number;
/**
* Determine if a memory should be archived based on its decay
*/
shouldArchive(memory: MemoryMetadata, archiveThreshold?: number, currentTime?: Date): boolean;
/**
* Determine if a memory should be forgotten based on TTL and decay
*/
shouldForget(memory: MemoryMetadata, forgetThreshold?: number, currentTime?: Date): boolean;
/**
* Calculate relevance score considering temporal factors
*/
calculateTemporalRelevance(memory: MemoryMetadata, baseRelevance: number, currentTime?: Date): number;
/**
* Update memory access statistics
*/
updateAccess(memory: MemoryMetadata, currentTime?: Date): MemoryMetadata;
/**
* Get memories that need maintenance (archiving/forgetting)
*/
getMemoriesForMaintenance(memories: MemoryMetadata[], archiveThreshold?: number, forgetThreshold?: number, currentTime?: Date): {
toArchive: MemoryMetadata[];
toForget: MemoryMetadata[];
};
/**
* Set custom decay parameters for a memory type
*/
setDecayParameters(type: MemoryType, parameters: Partial<DecayParameters>): void;
/**
* Get current decay parameters for a memory type
*/
getDecayParameters(type: MemoryType): DecayParameters;
/**
* Reset decay parameters to defaults
*/
resetDecayParameters(): void;
}
//# sourceMappingURL=TemporalEngine.d.ts.map