@codai/memorai-core
Version:
Core memory engine with vector operations for AI agents
85 lines • 2.71 kB
TypeScript
/**
* @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