Skip to main content

Crate erio_workflow

Crate erio_workflow 

Source
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

§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.