/** * Workflow Manager * * Features: * - Schedule workflows for later execution * - Execute workflows immediately * - Cancel, pause, resume, retry runs * - Replay from specific nodes * - Query run status and history * - Cleanup old runs */ import type { Workflow, WorkflowState, WorkflowResult, WorkflowRun, WorkflowRunFilters, WorkflowRunStats, WorkflowManager as IWorkflowManager, ScheduleOptions, WorkflowExecuteOptionsV2, RunStore, CheckpointStore } from '@cogitator-ai/types'; import type { Cogitator } from '@cogitator-ai/core'; /** * Workflow manager configuration */ export interface WorkflowManagerConfig { cogitator: Cogitator; runStore?: RunStore; checkpointStore?: CheckpointStore; maxConcurrency?: number; defaultTimeout?: number; onRunStateChange?: (run: WorkflowRun) => void; } /** * Workflow manager implementation */ export declare class DefaultWorkflowManager implements IWorkflowManager { private cogitator; private runStore; private checkpointStore?; private scheduler; private executor; private workflows; private activeRuns; private stateChangeCallbacks; private runLocks; constructor(config: WorkflowManagerConfig); /** * Start the manager (begins processing scheduled runs) */ start(): void; /** * Stop the manager */ stop(): void; /** * Register a workflow for scheduling */ registerWorkflow(workflow: Workflow): void; /** * Schedule a workflow for later execution */ schedule(workflow: Workflow, options?: ScheduleOptions): Promise; /** * Execute a workflow immediately */ execute(workflow: Workflow, input?: Partial, options?: WorkflowExecuteOptionsV2): Promise>; /** * Cancel a run */ cancel(runId: string, reason?: string): Promise; /** * Get run status */ getStatus(runId: string): Promise; /** * List runs with filters */ listRuns(filters?: WorkflowRunFilters): Promise; /** * Get run statistics */ getStats(workflowName?: string): Promise; /** * Pause a running workflow (aborts execution; resume requires a checkpoint) */ pause(runId: string): Promise; /** * Resume a paused workflow */ resume(runId: string): Promise; /** * Retry a failed run */ retry(runId: string): Promise; /** * Replay a workflow from a specific node */ replay(workflow: Workflow, runId: string, fromNode: string): Promise>; /** * Get count of active runs */ getActiveCount(): Promise; /** * Subscribe to run state changes */ onRunStateChange(callback: (run: WorkflowRun) => void): () => void; /** * Cleanup old runs */ cleanup(olderThan: number): Promise; /** * Dispose the manager */ dispose(): void; private handleRunReady; private updateRunNodes; private notifyStateChange; } /** * Create a workflow manager */ export declare function createWorkflowManager(config: WorkflowManagerConfig): DefaultWorkflowManager; //# sourceMappingURL=workflow-manager.d.ts.map