UNPKG

@codai/memorai-core

Version:

Simplified advanced memory engine - no tiers, just powerful semantic search with persistence

119 lines 3.89 kB
/** * @fileoverview Storage adapter for persistent memory storage */ import type { MemoryMetadata } from '../types/index.js'; /** * Storage adapter interface for different storage backends */ export interface StorageAdapter { /** * Store a memory entry */ store(memory: MemoryMetadata): Promise<void>; /** * Retrieve a memory by ID */ retrieve(id: string): Promise<MemoryMetadata | null>; /** * Update a memory entry */ update(id: string, updates: Partial<MemoryMetadata>): Promise<void>; /** * Delete a memory entry */ delete(id: string): Promise<void>; /** * List memories with optional filtering */ list(filters?: MemoryFilters): Promise<MemoryMetadata[]>; /** * Clear all memories (with optional tenant filter) */ clear(tenantId?: string): Promise<void>; } /** * Memory filtering options */ export interface MemoryFilters { tenantId?: string; agentId?: string; type?: string; importance?: number; minImportance?: number; maxImportance?: number; tags?: string[]; since?: Date; until?: Date; startDate?: Date; endDate?: Date; sortBy?: 'created' | 'updated' | 'accessed' | 'importance'; offset?: number; limit?: number; } /** * In-memory storage adapter for development and testing */ export declare class InMemoryStorageAdapter implements StorageAdapter { private memories; store(memory: MemoryMetadata): Promise<void>; retrieve(id: string): Promise<MemoryMetadata | null>; update(id: string, updates: Partial<MemoryMetadata>): Promise<void>; delete(id: string): Promise<void>; list(filters?: MemoryFilters): Promise<MemoryMetadata[]>; clear(tenantId?: string): Promise<void>; } /** * PostgreSQL storage adapter (production implementation available) * @deprecated Use ProductionPostgreSQLAdapter for production deployments */ /** * PostgreSQL storage adapter - Enhanced implementation * @deprecated Use ProductionPostgreSQLAdapter for new implementations */ export declare class PostgreSQLStorageAdapter implements StorageAdapter { private adapter; constructor(connectionString: string); private parseConnectionString; store(memory: MemoryMetadata): Promise<void>; retrieve(id: string): Promise<MemoryMetadata | null>; update(id: string, updates: Partial<MemoryMetadata>): Promise<void>; delete(id: string): Promise<void>; list(filters?: MemoryFilters): Promise<MemoryMetadata[]>; clear(tenantId?: string): Promise<void>; } /** * Redis storage adapter - Production implementation */ export declare class RedisStorageAdapter implements StorageAdapter { private redisUrl; private redis; constructor(redisUrl: string); private initializeRedis; private ensureConnected; store(memory: MemoryMetadata): Promise<void>; retrieve(id: string): Promise<MemoryMetadata | null>; update(id: string, updates: Partial<MemoryMetadata>): Promise<void>; delete(id: string): Promise<void>; list(filters?: MemoryFilters): Promise<MemoryMetadata[]>; clear(tenantId?: string): Promise<void>; } /** * File-based storage adapter for shared persistent storage */ export declare class FileStorageAdapter implements StorageAdapter { private filePath; private lockPath; constructor(dataDirectory?: string); private ensureDirectory; private acquireLock; private releaseLock; private readMemories; private writeMemories; store(memory: MemoryMetadata): Promise<void>; retrieve(id: string): Promise<MemoryMetadata | null>; update(id: string, updates: Partial<MemoryMetadata>): Promise<void>; delete(id: string): Promise<void>; list(filters?: MemoryFilters): Promise<MemoryMetadata[]>; clear(tenantId?: string): Promise<void>; } //# sourceMappingURL=StorageAdapter.d.ts.map