Memory Types
Copy
interface MemoryConfig {
type?: 'conversation' | 'entity' | 'summary' | 'hybrid';
maxTurns?: number; // Max conversation turns to keep
maxTokens?: number; // Max tokens to keep
summarizeAfter?: number; // Trigger summary after N turns
summarizePrompt?: string; // Custom prompt for summarization
summarizeModel?: ModelProvider; // Custom model for summarization
memoryKey?: string; // Custom memory key
}
interface MemoryData {
sessionId: string;
messages: MemoryMessage[];
entities: Record<string, any>;
summary?: string;
metadata: {
createdAt: Date;
updatedAt: Date;
totalTurns: number;
totalTokens: number;
};
}
interface MemoryMessage {
role: 'user' | 'assistant' | 'system';
content: string;
timestamp: Date;
metadata?: {
toolsUsed?: string[];
ragUsed?: boolean;
model?: string;
tokens?: number;
};
}