@aksolab/recall
Version:
A memory management package for AI SDK memory functionality
37 lines • 1.93 kB
TypeScript
import { RedisClientType } from 'redis';
import { ArchiveProvider } from '../base';
import { ArchiveEntry, SearchResult, SearchOptions, SearchByTextOptions, SearchBySimilarityOptions, HybridSearchOptions, ProviderConfig } from '../types';
export interface RedisArchiveProviderConfig extends ProviderConfig {
dimensions?: number;
collectionName?: string;
indexName?: string;
client: RedisClientType;
}
/**
* Utility function to set up Redis schema for archive storage.
* This should be called once during application initialization.
*/
export declare function setupRedisSchema(client: RedisClientType, indexName?: string, collectionName?: string, dimensions?: number): Promise<void>;
export declare class RedisArchiveProvider extends ArchiveProvider {
private readonly client;
private readonly indexName;
private readonly collectionName;
constructor(config: RedisArchiveProviderConfig);
initialize(): Promise<void>;
cleanup(): Promise<void>;
private getKey;
protected generateEmbeddings(text: string): Promise<number[]>;
addEntry(entry: Omit<ArchiveEntry, 'id' | 'embeddings' | 'timestamp'>): Promise<ArchiveEntry>;
addEntries(entries: ArchiveEntry[]): Promise<ArchiveEntry[]>;
updateEntry(id: string, entry: Partial<ArchiveEntry>): Promise<ArchiveEntry>;
deleteEntry(id: string): Promise<void>;
deleteEntriesByName(name: string): Promise<number>;
searchByText(query: string, options?: SearchByTextOptions): Promise<SearchResult[]>;
searchBySimilarity(query: string, options?: SearchBySimilarityOptions): Promise<SearchResult[]>;
hybridSearch(query: string, options?: HybridSearchOptions): Promise<SearchResult[]>;
listEntries(options?: SearchOptions): Promise<ArchiveEntry[]>;
getEntry(id: string): Promise<ArchiveEntry | null>;
clear(): Promise<void>;
count(): Promise<number>;
}
//# sourceMappingURL=RedisArchiveProvider.d.ts.map