Skip to main content

runifold_workflow/
lib.rs

1//! Durable, capability-safe workflow and Agent orchestration for Runifold.
2
3mod checkpoint;
4mod error;
5mod execution;
6mod governance;
7mod outcome;
8mod parallel;
9mod race;
10mod remediation;
11mod step;
12mod store;
13mod task_retention;
14mod tombstone;
15mod wait;
16mod worker;
17mod workflow;
18
19pub use checkpoint::{
20    ParallelBranchCheckpoint, WorkflowCheckpoint, WorkflowCheckpointHistoryLimit,
21    WorkflowCheckpointPhase, WorkflowCheckpointRevision, WorkflowCheckpointState,
22    WorkflowForkCommand, WorkflowForkOutcome, WorkflowForkPolicy, WorkflowLineage,
23    WorkflowResumePolicy,
24};
25pub use error::{WorkflowBuildError, WorkflowError, WorkflowStepError};
26pub use execution::WorkflowFuture;
27pub use governance::{
28    StaticWorkflowTaskGovernanceAuthorizer, WorkflowTaskGovernanceAuthorizationError,
29    WorkflowTaskGovernanceAuthorizationFuture, WorkflowTaskGovernanceAuthorizer,
30    WorkflowTaskGovernanceControlPlane, WorkflowTaskGovernanceError,
31    WorkflowTaskGovernanceObserver, WorkflowTaskGovernanceOutcome,
32    WorkflowTaskGovernancePermission, WorkflowTaskTombstoneArchive,
33    WorkflowTaskTombstoneArchiveBatch, WorkflowTaskTombstoneArchiveBatchId,
34    WorkflowTaskTombstoneArchiveError, WorkflowTaskTombstoneArchiveErrorKind,
35    WorkflowTaskTombstoneArchiveFuture, WorkflowTaskTombstoneArchiveReport,
36};
37pub use outcome::WorkflowOutcome;
38pub use remediation::{
39    WorkflowRemediationCheckpoint, WorkflowRemediationPolicy, WorkflowRepairInput,
40    WorkflowReviewError, WorkflowReviewFuture, WorkflowReviewRequest, WorkflowReviewVerdict,
41    WorkflowReviewer,
42};
43pub use step::{
44    AgentStep, AgentStepOutput, PredicateCondition, StepId, WorkflowCondition, WorkflowStep,
45    WorkflowStepFuture,
46};
47pub use store::{
48    ClaimedWorkflow, InMemoryWorkflowStore, LeaseDuration, SystemWorkflowClock, WorkerId,
49    WorkflowBudgetAuditCursor, WorkflowBudgetAuditEvent, WorkflowBudgetAuditKind,
50    WorkflowBudgetAuditLimit, WorkflowBudgetAuditProjectionId, WorkflowBudgetAuditProjectionLease,
51    WorkflowBudgetForfeitReason, WorkflowBudgetReservationOutcome, WorkflowCancelOutcome,
52    WorkflowClock, WorkflowDisposition, WorkflowLease, WorkflowStore, WorkflowStoreError,
53    WorkflowStoreErrorKind, WorkflowStoreFuture, WorkflowTask, WorkflowTaskCleanupLease,
54    WorkflowTaskCleanupLimit, WorkflowTaskRetention, WorkflowTaskRetentionStore,
55    WorkflowTaskSnapshot, WorkflowTaskStatus, WorkflowTaskTombstone, WorkflowTaskTombstoneCursor,
56    WorkflowTaskTombstoneLimit, WorkflowTenantBudgetPolicy, WorkflowTenantBudgetSnapshot,
57    WorkflowTenantId, WorkflowTenantListLimit, WorkflowTenantPolicy,
58};
59pub use task_retention::{
60    WorkflowTaskCleanupObserver, WorkflowTaskCleanupShard, WorkflowTaskCleanupSupervisor,
61    WorkflowTaskCleanupSupervisorConfig, WorkflowTaskCleanupSupervisorMetricSnapshot,
62    WorkflowTaskCleanupSupervisorMetrics, WorkflowTaskCleanupSupervisorReport,
63};
64pub use tombstone::{
65    WorkflowTaskLegalHold, WorkflowTaskLegalHoldReason, WorkflowTaskTombstoneApprovalInboxItem,
66    WorkflowTaskTombstoneApprovalInboxLimit, WorkflowTaskTombstoneApprovalLease,
67    WorkflowTaskTombstoneApprovalState, WorkflowTaskTombstoneApprovalWindow,
68    WorkflowTaskTombstoneExport, WorkflowTaskTombstoneExportReceipt,
69    WorkflowTaskTombstoneGovernanceStore, WorkflowTaskTombstonePurgeEvidence,
70    WorkflowTaskTombstonePurgeId, WorkflowTaskTombstonePurgeIntent,
71    WorkflowTaskTombstonePurgeLimit, WorkflowTaskTombstoneRejectionReason,
72    WorkflowTaskTombstoneRetention,
73};
74pub use wait::{
75    WorkflowInterruptCommand, WorkflowInterruptDecision, WorkflowInterruptDecisionOutcome,
76    WorkflowInterruptId, WorkflowInterruptOutcome, WorkflowInterruptRequest, WorkflowSignal,
77    WorkflowSignalId, WorkflowSignalName, WorkflowSignalOutcome, WorkflowSignalRetention,
78    WorkflowSignalSnapshot, WorkflowSignalState, WorkflowWait, WorkflowWaitError,
79    WorkflowWaitOutcome, WorkflowWake,
80};
81pub use worker::{
82    SystemWorkflowWorkerSleeper, WorkflowDefinition, WorkflowFailurePolicy, WorkflowRegistry,
83    WorkflowSupervisor, WorkflowSupervisorConfig, WorkflowSupervisorMetricSnapshot,
84    WorkflowSupervisorMetrics, WorkflowSupervisorReport, WorkflowWorker, WorkflowWorkerError,
85    WorkflowWorkerOutcome, WorkflowWorkerSleepFuture, WorkflowWorkerSleeper,
86};
87pub use workflow::{ParallelBranch, Workflow, WorkflowBuilder};
88
89#[cfg(test)]
90mod tests;