Skip to main content

Crate distri_workflow

Crate distri_workflow 

Source
Expand description

distri-workflow — workflow types + sidecar stores for Distri.

After the spec rewrite that unified workflow orchestration with the task system, this crate is the data layer:

  • Definition — the workflow as a DAG of steps. Static template; no runtime state. (WorkflowDefinition, WorkflowStep).
  • Run-level sidecar — what a bare Task row can’t carry: definition snapshot, entry point, input, shared context. (WorkflowExecutionState).
  • Step-level sidecar — per-step status, result, error, timestamps, and the optional wait_task_id for wait-style steps that need to be A2A-addressable. (WorkflowStepState).
  • Store trait — single CRUD surface over both sidecars (WorkflowStore). In-memory and Redis impls.
  • Trigger registry — routing index from declared workflow triggers (webhook path / cron / event topic / tool name) back to (agent_id, entry_point_id). (WorkflowTriggerRegistry).
  • In-memory runtime aggregateWorkflowRun + WorkflowStepRun are the transient in-process view used by the workflow agent’s step driver. The driver lives in distri-core (see agent/workflow_driver.rs) — there is no WorkflowRunner / WorkflowStateStore / InMemoryStore / EventSink / WorkflowEvent parallel substrate anymore; everything flows through the canonical TaskStore + AgentEventBroadcaster + WorkflowStore triple.

Re-exports§

pub use resolve::build_execution_context;
pub use resolve::evaluate_skip_condition;
pub use resolve::resolve_step_input;
pub use resolve::resolve_template;
pub use resolve::resolve_value;
pub use trigger_registry::InMemoryWorkflowTriggerRegistry;
pub use trigger_registry::TriggerBinding;
pub use trigger_registry::WorkflowTriggerRegistry;
pub use workflow_store::InMemoryWorkflowStore;
pub use workflow_store::WorkflowExecutionState;
pub use workflow_store::WorkflowStepState;
pub use workflow_store::WorkflowStore;
pub use types::*;

Modules§

resolve
Namespace resolution for workflow data flow.
trigger_registry
Routing index from declared workflow triggers back to the (agent_id, entry_point_id) that should be invoked.
types
Core types for the workflow engine.
workflow_store
The single store for workflow execution data.