UNPKG

crewai-ts

Version:

TypeScript port of crewAI for agent-based workflows

90 lines 2.64 kB
/** * CompressedMemoryStorage implementation * Provides memory compression to reduce memory footprint for long-term storage */ import { BaseMemory, MemoryItem, MemorySearchParams, MemorySearchResult } from '../BaseMemory.js'; /** * Options for configuring CompressedMemoryStorage */ export interface CompressedMemoryStorageOptions { /** * Compression level (1-9, where 9 is maximum compression) * @default 6 */ compressionLevel?: number; /** * Size threshold in bytes for when to compress items * Items smaller than this will not be compressed * @default 1024 (1KB) */ compressionThreshold?: number; /** * Whether to track statistics about compression * @default true */ trackStats?: boolean; /** * Backing memory storage to use for storing compressed items * If not provided, items will be stored in memory */ backingStorage?: BaseMemory; } /** * CompressedMemoryStorage class * Provides transparent compression/decompression for memory items */ export declare class CompressedMemoryStorage implements BaseMemory { private items; private metadata; private itemMetadata; private compressionLevel; private compressionThreshold; private trackStats; private backingStorage?; private stats; constructor(options?: CompressedMemoryStorageOptions); /** * Add a new item to memory with compression */ add(content: string, metadata?: Record<string, any>): Promise<MemoryItem>; /** * Search for items in memory * Note: This performs a basic search in memory - for more advanced searching, * use a specialized backing storage with vector search capabilities */ search(params: MemorySearchParams): Promise<MemorySearchResult>; /** * Get an item by its ID */ get(id: string): Promise<MemoryItem | null>; /** * Update an existing memory item */ update(id: string, updates: Partial<Omit<MemoryItem, 'id' | 'createdAt'>>): Promise<MemoryItem | null>; /** * Remove an item from memory */ remove(id: string): Promise<boolean>; /** * Clear all items from memory */ clear(): Promise<void>; /** * Reset memory (same as clear for this implementation) */ reset(): Promise<void>; /** * Get memory statistics */ getStats(): Record<string, any>; /** * Get the current number of items in memory */ get size(): number; /** * Decompress content * @private */ private decompress; } //# sourceMappingURL=CompressedMemoryStorage.d.ts.map