UNPKG

@codai/memorai-core

Version:

Core memory engine with vector operations for AI agents

85 lines 2.71 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; since?: Date; until?: Date; limit?: number; offset?: 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 (stub for future implementation) */ export declare class PostgreSQLStorageAdapter implements StorageAdapter { private connectionString; constructor(connectionString: string); 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 (stub for future implementation) */ export declare class RedisStorageAdapter implements StorageAdapter { private redisUrl; constructor(redisUrl: string); 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