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
Taskrow 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_idfor 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 aggregate —
WorkflowRun+WorkflowStepRunare the transient in-process view used by the workflow agent’s step driver. The driver lives indistri-core(seeagent/workflow_driver.rs) — there is noWorkflowRunner/WorkflowStateStore/InMemoryStore/EventSink/WorkflowEventparallel substrate anymore; everything flows through the canonicalTaskStore+AgentEventBroadcaster+WorkflowStoretriple.
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.