ironflow-engine 2.0.1

Workflow orchestration engine for ironflow with FSM-based run lifecycle
Documentation

ironflow-engine

Workflow orchestration engine for ironflow. Supports two workflow styles:

Both can run inline or be enqueued for a background worker.

Dynamic workflow example

use ironflow_engine::prelude::*;
use std::future::Future;
use std::pin::Pin;

struct DeployWorkflow;

impl WorkflowHandler for DeployWorkflow {
    fn name(&self) -> &str { "deploy" }
    fn execute<'a>(&'a self, ctx: &'a mut WorkflowContext) -> HandlerFuture<'a> {
        Box::pin(async move {
            let build = ctx.shell("build", ShellConfig::new("cargo build")).await?;
            ctx.agent("review", AgentStepConfig::new(
                &format!("Review: {}", build.output["stdout"])
            )).await?;
            Ok(())
        })
    }
}