Namespace Millrace.Workflows
Classes
- ActivityContext<TData>
What an activity is given when it runs.
- SagaState
What a saga has done so far, and therefore what it would have to undo.
- WorkflowCursor
The engine's position in a graph, persisted alongside the data document.
- WorkflowDefinition
A compiled workflow definition: the exported shape plus the runtime bindings that shape omits.
- WorkflowDefinition<TData>
A compiled definition over a known data type.
- WorkflowGraph
The serializable shape of a workflow definition — what the dashboard draws and a future designer edits.
- WorkflowJoin
One open fan-out: how many branches are still running, and where to go after.
- WorkflowNode
One node of the exported graph shape.
- WorkflowRegistry
The registered definitions, keyed by
(Id, Version).
- WorkflowWait
Where a suspended instance continues when its signal arrives, or its wait times out.
Interfaces
- IActivity<TData>
One unit of work in a workflow. Ordinary code with constructor DI — no determinism constraints apply, because progress is checkpointed rather than replayed (ARCHITECTURE.md §6.2).
- IJobFailureObserver
Lets a layer above react when the substrate dead-letters a job, by contributing work that commits with that job's own terminal transition.
- ISagaBuilder<TData>
The steps of a Saga(Action<ISagaBuilder<TData>>), each optionally undoable.
- IWorkflowBuilder<TData>
The code-first fluent surface a definition builds itself with (ARCHITECTURE.md §6.1).
- IWorkflowClient
Starts and inspects workflow instances (ARCHITECTURE.md §6).
- IWorkflowDispatcher
The job target every workflow activity, resume and timeout runs through.
- IWorkflow<TData>
A workflow definition: registered code, keyed by Id and Version.
Enums
- CompensationRecovery
What an operator does about a compensation that failed (§11.30).
- NestedSagaPolicy
What becomes of a nested saga that has already committed, when the saga around it unwinds (§11.35).
- StepFailurePolicy
What a saga step does when its retries are exhausted (§6.4).
- WorkflowNodeKind
The node vocabulary of a workflow graph (ARCHITECTURE.md §6.1).