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