@aksolab/recall
Version:
A memory management package for AI SDK memory functionality
59 lines • 2.34 kB
TypeScript
import { CoreMessage } from "ai";
import { ArchivalMemoryPayload, CoreBlock, CoreMemoryEntry, MemoryState } from "./types";
import { StorageProvider } from "./storageProviders/storage-provider";
import { ArchiveProvider } from "./archiveProviders/base";
import { ArchiveEntry } from "./archiveProviders/types";
export declare class MemoryManager {
private provider;
private archiveProvider;
private openaiApiKey;
private memoryKey;
private threadId;
private chatHistory;
private coreMemory;
private encoder;
private chatTokenLimit;
private _maxContextSize;
private coreBlockTokenLimit;
constructor(provider: StorageProvider, archiveProvider: ArchiveProvider, openaiApiKey: string, memoryKey: string, threadId: string, maxContextSize?: number, coreBlockTokenLimit?: number);
initialize(previousState?: MemoryState): Promise<void>;
private saveChatHistory;
private saveCoreMemory;
private coreMemoryToString;
getChatHistory(): Promise<CoreMessage[]>;
addUserMessage(message: CoreMessage): Promise<void>;
getCoreMemory(): Promise<Record<CoreBlock, CoreMemoryEntry> | null>;
updateCoreMemory(block: CoreBlock, content: string, description?: string): Promise<void>;
searchArchiveMemory(query: string): Promise<ArchiveEntry[]>;
addToArchiveMemory(payload: ArchivalMemoryPayload): Promise<ArchiveEntry>;
updateArchiveMemory(id: string, payload: ArchivalMemoryPayload): Promise<ArchiveEntry | null>;
removeArchivalMemory(id: string): Promise<ArchiveEntry | null>;
addAIMessage(message: CoreMessage): Promise<void>;
addAIMessages(messages: CoreMessage[]): Promise<void>;
/**
* Get the current context size in tokens
*/
get contextSize(): number;
/**
* Get the maximum allowed context size in tokens
*/
get maxContextSize(): number;
/**
* Set the maximum allowed context size in tokens
*/
set maxContextSize(size: number);
private getEncoder;
private countTokens;
private totalTokenCount;
private checkChatHistorySize;
dispose(): void;
/**
* Get the core block token limit
*/
get coreMemoryBlockLimit(): number;
/**
* Set the core block token limit
*/
set coreMemoryBlockLimit(limit: number);
}
//# sourceMappingURL=memoryManager.d.ts.map