UNPKG

memoer

Version:

Memory management system for LLMs

33 lines 1.07 kB
import { MemoryManager } from "../base"; import { SlidingWindowStrategy } from "./strategies/sliding-window"; import { ConversationStrategy } from "./types"; export class ConversationManager extends MemoryManager { constructor(config) { const strategyType = config.strategy; let strategy; switch (strategyType) { case ConversationStrategy.SLIDING_WINDOW: { const windowSize = config.slidingWindowSize ?? 10; strategy = new SlidingWindowStrategy({ windowSize }); break; } } super(strategy); this.conversationHistory = []; } async getContext() { if (this.memoryStrategy) { return this.memoryStrategy.optimize(this.conversationHistory); } return this.conversationHistory; } async getFullContext() { return this.conversationHistory; } async add(message) { this.conversationHistory.push(message); } } //# sourceMappingURL=manager.js.map