UNPKG

@codai/memorai-mcp

Version:

MemorAI CBD-based MCP Server - High-Performance Vector Memory System

186 lines 6.11 kB
/** * Phase 3: AI-Powered Memory Intelligence - Predictive Memory Engine * * Revolutionary predictive capabilities that set new industry standards: * - Predicts what memories users will need before they search * - Optimizes memory creation timing * - Forecasts relationship formation and importance evolution * - Provides proactive memory management suggestions */ import OpenAI from 'openai'; import { AdvancedMemory } from './server.js'; export interface PredictedMemory { memoryId: string; title: string; content: string; predictedRelevance: number; reasoning: string; suggestedActions: string[]; confidence: number; timeToNeed: number; } export interface OptimalTiming { recommendedTime: string; reasoning: string; confidence: number; factors: TimingFactor[]; } export interface TimingFactor { factor: string; impact: number; description: string; } export interface PredictedRelationship { sourceMemoryId: string; targetMemoryId: string; relationshipType: 'related' | 'references' | 'follows' | 'contradicts' | 'updates' | 'similar' | 'contains' | 'explains'; strength: number; formationProbability: number; timeToFormation: number; reasoning: string; } export interface ImportanceForecast { memoryId: string; currentImportance: number; predictedImportance: number[]; timePoints: string[]; trendDirection: 'increasing' | 'decreasing' | 'stable' | 'volatile'; confidenceInterval: { min: number; max: number; }[]; factors: ImportanceDriver[]; } export interface ImportanceDriver { factor: string; impact: number; description: string; confidence: number; } export interface PredictionContext { currentTask?: string; timeOfDay: string; recentActivity: Activity[]; upcomingEvents: Event[]; workingMemory: string[]; userBehaviorPattern?: UserPattern; environmentalFactors?: EnvironmentalContext; } export interface Activity { type: 'search' | 'create' | 'update' | 'link' | 'view'; timestamp: string; memoryIds: string[]; query?: string; success: boolean; duration: number; } export interface Event { id: string; title: string; startTime: string; endTime: string; participants?: string[]; relatedMemories?: string[]; priority: 'low' | 'medium' | 'high' | 'critical'; } export interface UserPattern { peakHours: string[]; preferredMemoryTypes: string[]; searchPatterns: string[]; collaborationStyle: 'individual' | 'team' | 'mixed'; learningStyle: 'visual' | 'textual' | 'structured' | 'exploratory'; } export interface EnvironmentalContext { currentProject: string; teamSize: number; deadline?: string; workload: 'light' | 'moderate' | 'heavy' | 'critical'; interruptionLevel: 'low' | 'medium' | 'high'; } export interface PredictionHistory { predictionId: string; timestamp: string; type: 'memory_need' | 'timing' | 'relationship' | 'importance'; prediction: any; actualOutcome?: any; accuracy?: number; feedback?: string; } export declare class PredictiveMemoryEngine { private openaiClient?; private memories; private predictionHistory; private userPatterns; private predictionCache; private cacheTimeout; constructor(openaiClient?: OpenAI, memories?: Map<string, AdvancedMemory>); /** * Predict what memories user will need before they search * Revolutionary proactive memory suggestions */ predictNeededMemories(agentId: string, context: PredictionContext): Promise<PredictedMemory[]>; /** * Predict optimal memory creation timing * Smart timing recommendations based on context and patterns */ predictMemoryCreationTiming(agentId: string, contentType: string, context?: PredictionContext): Promise<OptimalTiming>; /** * Predict memory relationship formation * Forecast future connections between memories */ predictFutureRelationships(memoryId: string, timeHorizon?: number): Promise<PredictedRelationship[]>; /** * Predict memory importance evolution * Forecast how memory importance will change over time */ predictImportanceChanges(memoryId: string, timeHorizon?: number): Promise<ImportanceForecast>; private getCachedPrediction; private cachePrediction; private analyzeUserPattern; private extractUserPatternFromMemories; private updatePatternWithContext; private scoreMemoriesByPredictedNeed; private calculateNeedScore; private calculateTimeBasedScore; private calculateContextScore; private calculatePatternScore; private estimateTimeToNeed; private generateAIPredictions; private buildPredictionPrompt; private parseAIPredictions; private combineAndRankPredictions; private analyzeWorkloadTiming; private analyzeTimeOfDayOptimal; private analyzeMemoryTypeTiming; private calculateOptimalTiming; private generateTimingReasoning; private hasExistingRelationship; private predictRelationshipFormation; private calculateContentSimilarity; private calculateTemporalProximity; private calculateContextAlignment; private predictRelationshipType; private calculateFormationProbability; private estimateFormationTime; private generateRelationshipReasoning; private analyzeImportanceDrivers; private getEntityTypeImportance; private generateTimePoints; private forecastImportanceTrajectory; private determineTrendDirection; private calculateConfidenceIntervals; private extractTitle; /** * Record prediction accuracy for continuous learning */ recordPredictionOutcome(predictionId: string, actualOutcome: any, accuracy: number, feedback?: string): Promise<void>; /** * Get prediction accuracy statistics */ getPredictionStats(): { totalPredictions: number; averageAccuracy: number; accuracyByType: Record<string, number>; }; } //# sourceMappingURL=predictive-engine.d.ts.map