@xynehq/jaf
Version:
Juspay Agent Framework - A purely functional agent framework with immutable state and composable tools
58 lines • 1.84 kB
TypeScript
/**
* A2A Task Cleanup Service for JAF
* Pure functional cleanup and expiration policies for A2A tasks
*/
import { A2ATaskProvider, A2AResult } from './types.js';
/**
* Configuration for task cleanup policies
*/
export interface A2ATaskCleanupConfig {
readonly enabled: boolean;
readonly interval: number;
readonly maxAge: number;
readonly maxCompletedTasks: number;
readonly maxFailedTasks: number;
readonly retainStates: readonly string[];
readonly batchSize: number;
readonly dryRun: boolean;
}
/**
* Default cleanup configuration
*/
export declare const defaultCleanupConfig: A2ATaskCleanupConfig;
/**
* Result type for cleanup operations
*/
export interface CleanupResult {
readonly expiredCleaned: number;
readonly excessCompletedCleaned: number;
readonly excessFailedCleaned: number;
readonly totalCleaned: number;
readonly errors: readonly string[];
}
/**
* Pure function to perform task cleanup
*/
export declare const performTaskCleanup: (taskProvider: A2ATaskProvider, config?: A2ATaskCleanupConfig) => Promise<A2AResult<CleanupResult>>;
/**
* Pure function to create a cleanup scheduler
*/
export declare const createTaskCleanupScheduler: (taskProvider: A2ATaskProvider, config?: A2ATaskCleanupConfig) => {
start: () => void;
stop: () => void;
runOnce: () => Promise<A2AResult<CleanupResult>>;
isRunning: () => boolean;
config: A2ATaskCleanupConfig;
};
/**
* Pure function to validate cleanup configuration
*/
export declare const validateCleanupConfig: (config: Partial<A2ATaskCleanupConfig>) => {
valid: boolean;
errors: string[];
};
/**
* Helper function to create cleanup config from environment variables
*/
export declare const createCleanupConfigFromEnv: () => A2ATaskCleanupConfig;
//# sourceMappingURL=cleanup.d.ts.map