1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
//! Core traits that define the WFE plugin architecture.
//!
//! Implement these traits to provide persistence, locking, queuing, lifecycle
//! events, search, logging, and service provisioning.
//!
//! | Trait | Purpose | Example Implementations |
//! |-------|---------|------------------------|
//! | [`StepBody`](crate::traits::step::StepBody) | Define a workflow step | Your own types |
//! | [`WorkflowData`](crate::traits::step::WorkflowData) | Data flowing between steps | Any serializable type |
//! | [`HostContext`](crate::traits::step::HostContext) | Start child workflows from a step | `WorkflowHost` |
//! | [`PersistenceProvider`](crate::traits::persistence::PersistenceProvider) | Store workflow state | `wfe-sqlite`, `wfe-postgres` |
//! | [`DistributedLockProvider`](crate::traits::lock::DistributedLockProvider) | Prevent concurrent execution | `wfe-sqlite`, `wfe-valkey` |
//! | [`QueueProvider`](crate::traits::queue::QueueProvider) | Enqueue/dequeue work | `wfe-sqlite`, `wfe-valkey` |
//! | [`LifecyclePublisher`](crate::traits::lifecycle::LifecyclePublisher) | Broadcast status changes | `wfe-valkey` |
//! | [`SearchIndex`](crate::traits::search::SearchIndex) | Full-text search | `wfe-opensearch` |
//! | [`LogSink`](crate::traits::log_sink::LogSink) | Stream step output | Custom webhook sink |
//! | [`ServiceProvider`](crate::traits::service::ServiceProvider) | Provision infra | `wfe-kubernetes` |
//! | [`WorkflowRegistry`](crate::traits::registry::WorkflowRegistry) | Store definitions | `InMemoryWorkflowRegistry` |
//! | [`ArtifactStore`](crate::traits::artifact_store::ArtifactStore) | Content-addressed artifact storage | `LocalArtifactStore` |
/// Content-addressed storage for OCI-compatible artifact blobs.
/// Broadcast workflow lifecycle events (started, completed, failed, etc.).
/// Distributed locking for workflow instances.
/// Real-time step output streaming.
/// Step and workflow middleware hooks.
/// Persistence for workflow state, events, and subscriptions.
/// Work queue for workflow and event consumers.
/// Workflow definition registry.
/// Full-text search over workflow instances.
/// Infrastructure service provisioning.
/// The core step trait and execution context.
pub use LifecyclePublisher;
pub use DistributedLockProvider;
pub use ;
pub use ;
pub use ;
pub use QueueProvider;
pub use WorkflowRegistry;
pub use ;
pub use ServiceProvider;
pub use ;
pub use ArtifactStore;