thoughtmcp
Version:
AI that thinks more like humans do - MCP server with human-like cognitive architecture for enhanced reasoning, memory, and self-monitoring
70 lines • 2.13 kB
TypeScript
/**
* Episodic Memory System
*
* Implements temporal storage and context tagging for episodic memories.
* Handles storage, retrieval, decay, and consolidation of episodic experiences.
*/
import { ComponentStatus, IEpisodicMemory } from "../interfaces/cognitive.js";
import { Episode } from "../types/core.js";
export interface EpisodicMemoryConfig {
capacity: number;
decay_rate: number;
retrieval_threshold: number;
consolidation_threshold: number;
importance_boost: number;
}
export declare class EpisodicMemory implements IEpisodicMemory {
private episodes;
private contextIndex;
private temporalIndex;
private config;
private initialized;
private lastActivity;
constructor(config?: Partial<EpisodicMemoryConfig>);
initialize(config?: Partial<EpisodicMemoryConfig>): Promise<void>;
process(input: unknown): Promise<unknown>;
reset(): void;
getStatus(): ComponentStatus;
/**
* Store an episode in episodic memory with context tagging
*/
store(episode: Episode): string;
/**
* Retrieve episodes based on cue and threshold
*/
retrieve(cue: string, threshold?: number): Episode[];
/**
* Apply decay to all episodes
*/
decay(): void;
/**
* Get episodes ready for consolidation
*/
consolidate(): Episode[];
/**
* Get current size of episodic memory
*/
getSize(): number;
/**
* Get episodes within a time range
*/
getEpisodesByTimeRange(startTime: number, endTime: number): Episode[];
/**
* Get episodes by context
*/
getEpisodesByContext(contextKey: string, contextValue: string): Episode[];
private generateEpisodeId;
private hashContent;
private updateContextIndex;
private updateTemporalIndex;
private addToIndex;
private computeRetrievalScore;
private boostEpisodeActivation;
private pruneOldestEpisodes;
private removeEpisode;
/**
* Simulate memory decay for testing purposes
*/
simulateDecay(milliseconds: number): Promise<void>;
}
//# sourceMappingURL=EpisodicMemory.d.ts.map