Skip to main content

streamweave_attractor/
lib.rs

1//! # streamweave-attractor
2//!
3//! Attractor pipeline implementation as a graph of StreamWeave nodes.
4//! Implements [StrongDM's Attractor spec](https://github.com/strongdm/attractor).
5//!
6//! ## Architecture
7//!
8//! All pipeline logic is implemented as StreamWeave nodes:
9//!
10//! Pipeline logic is implemented as StreamWeave nodes (see `nodes` module).
11//! Supporting nodes: ApplyContextUpdatesNode, CheckGoalGatesNode,
12//! CreateCheckpointNode, FindStartNode, etc.
13
14pub(crate) mod agent_run;
15pub mod checkpoint_io;
16#[cfg(test)]
17mod checkpoint_io_test;
18pub mod compiler;
19#[cfg(test)]
20mod compiler_test;
21pub mod dot_parser;
22#[cfg(test)]
23mod dot_parser_test;
24pub mod graphs;
25pub mod nodes;
26pub mod runner;
27#[cfg(test)]
28mod runner_test;
29pub mod types;
30
31pub use compiler::compile_attractor_graph;
32pub use nodes::AttractorResult;
33pub use runner::{RunOptions, run_compiled_graph, run_streamweave_graph};
34pub use types::{AttractorGraph, AttractorNode, ExecutionState, NodeOutcome};