UNPKG

mcp-adr-analysis-server

Version:

MCP server for analyzing Architectural Decision Records and project architecture

86 lines 2.83 kB
/** * Conversation Memory Manager * * Phase 3 of context decay mitigation: Structured external memory. * Handles conversation persistence, expandable content storage, and resumption. */ import { ConversationSession, ConversationTurn, ConversationMemoryConfig, ConversationContextSnapshot, MemoryExpansionRequest, MemoryExpansionResponse, SessionQuery, ConversationMemoryStats } from '../types/conversation-memory.js'; import type { ExpandableContent } from '../types/tiered-response.js'; import { KnowledgeGraphManager } from './knowledge-graph-manager.js'; export declare class ConversationMemoryManager { private memoryDir; private sessionsDir; private expandableContentDir; private archiveDir; private config; private kgManager; private logger; private activeSession; private expandableContentCache; constructor(kgManager: KnowledgeGraphManager, config?: Partial<ConversationMemoryConfig>); /** * Initialize the conversation memory system */ initialize(): Promise<void>; /** * Start a new conversation session */ startNewSession(projectPath: string): Promise<string>; /** * Record a conversation turn */ recordTurn(request: ConversationTurn['request'], response: ConversationTurn['response'], metadata?: Partial<ConversationTurn['metadata']>): Promise<string>; /** * Store expandable content from tiered response */ storeExpandableContent(expandableId: string, content: ExpandableContent): Promise<void>; /** * Retrieve and expand stored content */ expandContent(request: MemoryExpansionRequest): Promise<MemoryExpansionResponse>; /** * Get conversation context snapshot for resumption */ getContextSnapshot(recentTurnCount?: number): Promise<ConversationContextSnapshot | null>; /** * Query conversation sessions */ querySessions(query: SessionQuery): Promise<ConversationSession[]>; /** * Get conversation memory statistics */ getStats(): Promise<ConversationMemoryStats>; /** * Persist current session to disk */ private persistSession; /** * Load most recent session */ private loadMostRecentSession; /** * Schedule periodic cleanup of old sessions */ private scheduleCleanup; /** * Archive old sessions and cleanup expired archives */ private cleanupOldSessions; /** * Generate unique session ID */ private generateSessionId; /** * Generate unique turn ID */ private generateTurnId; /** * Get current session ID */ getCurrentSessionId(): string | null; /** * Get current session */ getCurrentSession(): ConversationSession | null; } //# sourceMappingURL=conversation-memory-manager.d.ts.map