Expand description
§erio-workflow
erio-workflow provides a DAG-based workflow engine for orchestrating async
steps with dependencies, checkpointing support, and typed execution context.
It is useful for plan-then-execute style agents where each step may depend on prior outputs.
§Quickstart
use erio_workflow::{Workflow, WorkflowEngine};
async fn run() -> Result<(), Box<dyn std::error::Error>> {
let workflow = Workflow::builder().build()?;
let engine = WorkflowEngine::new();
let _ctx = engine.run(workflow).await?;
Ok(())
}§API tour
- Workflow construction/execution:
Workflow,Dag,WorkflowEngine - Step contracts:
Step,StepOutput,WorkflowContext - Control/state:
Checkpoint - Error type:
WorkflowError - Modules:
builder,dag,engine,step,context,checkpoint,conditional,error
§Related crates
- Commonly executes steps that call
erio-toolsanderio-llm-client. - Shares runtime conventions with the rest of the Erio workspace.
- Docs: https://docs.rs/erio-workflow
- Source: https://github.com/NomanworkGroup/erio/tree/main/crates/workflow
§Compatibility
- MSRV: Rust 1.93
- License: Apache-2.0 Erio Workflow - DAG workflow engine for orchestrating steps.
Re-exports§
pub use builder::Workflow;pub use checkpoint::Checkpoint;pub use context::WorkflowContext;pub use dag::Dag;pub use engine::WorkflowEngine;pub use error::WorkflowError;pub use step::Step;pub use step::StepOutput;
Modules§
- builder
- Fluent builder for constructing workflows.
- checkpoint
- Workflow checkpointing and recovery.
- conditional
- Conditional step that executes based on a runtime predicate.
- context
- Workflow context for passing data between steps.
- dag
- Directed acyclic graph for step dependency resolution.
- engine
- Workflow execution engine with parallel step execution.
- error
- Error types for the workflow engine.
- step
- Step trait for workflow execution units.