UNPKG

mcp-adr-analysis-server

Version:

MCP server for analyzing Architectural Decision Records and project architecture

134 lines 4.4 kB
/** * Memory Entity Manager * * Core manager for the memory-centric architecture that handles storage, retrieval, * relationship management, and intelligence operations for memory entities. */ import * as fs from 'fs/promises'; import { MemoryEntity, MemoryRelationship, MemoryQuery, MemoryQueryResult, MemorySnapshot, MemoryIntelligence, MemoryPersistenceConfig } from '../types/memory-entities.js'; export declare class MemoryEntityManager { private fsOverride?; private memoryDir; private entitiesFile; private relationshipsFile; private intelligenceFile; private evolutionLogFile; private config; private logger; private isTestMode; private entitiesCache; private relationshipsCache; private intelligence; private lastSnapshotTime; constructor(config?: Partial<MemoryPersistenceConfig>, testMode?: boolean, fsOverride?: typeof fs | undefined); /** * Initialize the memory system */ initialize(): Promise<void>; /** * Create or update a memory entity */ upsertEntity(entity: Partial<MemoryEntity> & Pick<MemoryEntity, 'type' | 'title' | 'description'>): Promise<MemoryEntity>; /** * Get an entity by ID */ getEntity(id: string): Promise<MemoryEntity | null>; /** * Delete an entity */ deleteEntity(id: string): Promise<boolean>; /** * Create or update a relationship between entities */ upsertRelationship(relationship: Partial<MemoryRelationship> & Pick<MemoryRelationship, 'sourceId' | 'targetId' | 'type'>): Promise<MemoryRelationship>; /** * Query entities with advanced filtering */ queryEntities(query: MemoryQuery): Promise<MemoryQueryResult>; /** * Find related entities through relationships */ findRelatedEntities(entityId: string, maxDepth?: number, relationshipTypes?: MemoryRelationship['type'][]): Promise<{ entities: MemoryEntity[]; relationshipPaths: Array<{ path: string[]; relationships: MemoryRelationship[]; depth: number; }>; }>; /** * Get memory intelligence data */ getIntelligence(): Promise<MemoryIntelligence>; /** * Create a memory snapshot */ createSnapshot(): Promise<MemorySnapshot>; private ensureMemoryDirectory; private loadFromPersistence; private maybePersist; private persistToStorage; private initializeIntelligence; private updateIntelligence; private updateRecommendations; private updateEntityRelationships; private calculateChanges; private logEvolutionEvent; /** * Clear all cached data (useful for testing) */ clearCache(): void; /** * Force persistence (useful for testing) */ forcePersist(): Promise<void>; /** * Create cross-tool relationships using the MemoryRelationshipMapper */ createCrossToolRelationships(): Promise<{ suggestedRelationships: Array<{ sourceId: string; targetId: string; type: MemoryRelationship['type']; confidence: number; reasoning: string; evidence: string[]; }>; conflicts: Array<{ description: string; entityIds: string[]; severity: 'low' | 'medium' | 'high'; recommendation: string; }>; autoCreatedCount: number; }>; /** * Infer and suggest new relationships based on existing entity patterns */ inferRelationships(entityTypes?: MemoryEntity['type'][], minConfidence?: number): Promise<{ suggestedRelationships: Array<{ sourceId: string; targetId: string; type: MemoryRelationship['type']; confidence: number; reasoning: string; }>; }>; /** * Validate existing relationships and detect conflicts */ validateRelationships(): Promise<{ validRelationships: string[]; invalidRelationships: Array<{ relationshipId: string; reason: string; severity: 'low' | 'medium' | 'high'; }>; suggestedActions: Array<{ action: 'remove' | 'update' | 'investigate'; relationshipId: string; reason: string; }>; }>; } //# sourceMappingURL=memory-entity-manager.d.ts.map