crewai-ts
Version:
TypeScript port of crewAI for agent-based workflows
61 lines • 1.57 kB
TypeScript
/**
* BaseMemory interface
* Defines the foundation for all memory implementations
*/
export interface MemoryItem {
id: string;
content: string;
metadata?: Record<string, any>;
createdAt: number;
lastAccessedAt?: number;
relevanceScore?: number;
}
export interface MemorySearchParams {
query?: string;
metadata?: Record<string, any>;
limit?: number;
offset?: number;
minRelevance?: number;
}
export interface MemorySearchResult {
items: MemoryItem[];
total: number;
}
/**
* BaseMemory interface that all memory implementations must implement
* Optimized for:
* - Efficient storage and retrieval
* - Memory management
* - Context-sensitive searching
*/
export interface BaseMemory {
/**
* Add an item to memory
*/
add(content: string, metadata?: Record<string, any>): Promise<MemoryItem>;
/**
* Retrieve items from memory based on search parameters
*/
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 the memory (clear and initialize)
*/
reset(): Promise<void>;
}
//# sourceMappingURL=BaseMemory.d.ts.map