UNPKG

durabull

Version:

A durable workflow engine built on top of BullMQ and Redis

37 lines (36 loc) 1.01 kB
import { Workflow } from '../Workflow'; import { WorkflowRecord, HistoryEvent } from './history'; export interface ReplayResult { workflow: Workflow<unknown[], unknown>; result?: unknown; error?: unknown; status: 'completed' | 'failed' | 'running' | 'waiting' | 'continued'; newWorkflowId?: string; signalCursor?: Record<string, number>; } export interface ReplayOptions { workflowId: string; workflow: Workflow<unknown[], unknown>; record: WorkflowRecord; history: { events: HistoryEvent[]; cursor: number; }; signals: Array<{ ts: number; name: string; payload: unknown; }>; isResume: boolean; getHistory?: () => Promise<{ events: HistoryEvent[]; cursor: number; }>; onStep?: (cursor: number, history: { events: HistoryEvent[]; cursor: number; }) => Promise<void>; } export declare class ReplayEngine { static run(options: ReplayOptions): Promise<ReplayResult>; }