UNPKG

crewai-ts

Version:

TypeScript port of crewAI for agent-based workflows

80 lines 2.07 kB
/** * InMemoryStorageAdapter * * An in-memory implementation of the StorageAdapter interface * Optimized for performance in development environments */ import { BaseStorageAdapter, StorageAdapterOptions } from './StorageAdapter.js'; /** * InMemoryStorageAdapter Options */ export interface InMemoryStorageOptions extends StorageAdapterOptions { /** * Maximum number of items to store in memory * When exceeded, least recently used items are evicted */ maxItems?: number; /** * Whether to persist items between process restarts (if localStorage is available) */ persistent?: boolean; } /** * InMemoryStorageAdapter implements the StorageAdapter interface * using an in-memory Map with optional LRU eviction */ export declare class InMemoryStorageAdapter extends BaseStorageAdapter { private storage; private accessOrder; private maxItems; private persistent; constructor(options?: InMemoryStorageOptions); /** * Save a value with optimized memory usage */ save(key: string, value: any): Promise<void>; /** * Load a value with optimized retrieval */ load(key: string): Promise<any | null>; /** * Delete a value with cleanup */ delete(key: string): Promise<boolean>; /** * Clear all values */ clear(): Promise<void>; /** * Get all keys with namespace removed */ keys(): Promise<string[]>; /** * Get memory usage statistics */ getStats(): { size: number; memoryUsage: number; }; /** * Helper: Update access order for LRU tracking */ private updateAccessOrder; /** * Helper: Evict least recently used item */ private evictLRU; /** * Helper: Persist to disk (if possible) */ private persistToDisk; /** * Helper: Load from persistence */ private loadFromPersistence; /** * Helper: Clear persistence data */ private clearPersistence; } //# sourceMappingURL=InMemoryStorageAdapter.d.ts.map