1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
//! 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 aggregate** — `WorkflowRun` + `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.
pub use ;
pub use ;
pub use *;
pub use ;