crewai-ts
Version:
TypeScript port of crewAI for agent-based workflows
66 lines • 1.87 kB
TypeScript
export interface TaskOutput {
taskId: string;
expectedOutput: string;
actualOutput?: string;
metadata?: Record<string, any>;
timestamp?: number;
agentId?: string;
}
/**
* Storage for crew kickoff task outputs
* Uses optimized file I/O and memory-efficient data structures
*/
export declare class KickoffTaskOutputsStorage {
private dbPath;
private cache;
private cacheSize;
/**
* Initialize storage with optional custom path
* @param dbPath Optional custom database path
*/
constructor(dbPath?: string);
/**
* Ensure storage directory exists
* Uses efficient async I/O patterns
*/
private ensureStorageExists;
/**
* Save a task output
* @param task Task output to save
* @returns Saved task with ID
*/
save(task: Omit<TaskOutput, 'taskId'> & {
taskId?: string;
}): Promise<TaskOutput>;
/**
* Load all task outputs
* Uses memory-efficient streaming for large datasets
* @returns Array of task outputs
*/
loadAll(): Promise<TaskOutput[]>;
/**
* Get a task by ID
* Uses memory-efficient caching for frequently accessed tasks
* @param taskId Task ID
* @returns Task output or null if not found
*/
getTaskById(taskId: string): Promise<TaskOutput | null>;
/**
* Clear all task outputs
* Uses optimized file I/O
*/
clear(): Promise<void>;
/**
* Delete a task by ID
* @param taskId Task ID to delete
* @returns True if deleted, false if not found
*/
deleteTask(taskId: string): Promise<boolean>;
/**
* Update cache with LRU eviction policy
* Ensures memory efficiency for long-running processes
* @param task Task to update in cache
*/
private updateCache;
}
//# sourceMappingURL=KickoffTaskOutputsStorage.d.ts.map