streamweave-attractor 0.3.0

Attractor pipeline as a StreamWeave graph
Documentation
//! # streamweave-attractor
//!
//! Attractor pipeline implementation as a graph of StreamWeave nodes.
//! Implements [StrongDM's Attractor spec](https://github.com/strongdm/attractor).
//!
//! ## Architecture
//!
//! All pipeline logic is implemented as StreamWeave nodes:
//!
//! Pipeline logic is implemented as StreamWeave nodes (see `nodes` module).
//! Supporting nodes: ApplyContextUpdatesNode, CheckGoalGatesNode,
//! FindStartNode, etc.

/// Default directory for staging when not overridden.
pub const DEFAULT_STAGE_DIR: &str = ".attractor";
pub(crate) mod agent_run;
pub mod execution_log_io;

pub mod compiler;
#[cfg(test)]
mod compiler_test;
pub mod dot_parser;
#[cfg(test)]
mod dot_parser_test;
pub mod graphs;
pub mod nodes;
pub mod runner;
#[cfg(test)]
mod runner_test;
pub mod types;

pub use compiler::{compile_attractor_graph, validate_attractor_graph};
pub use runner::{RunOptions, run_compiled_graph, run_streamweave_graph};
pub use types::AttractorResult;
pub use types::{
  AttractorGraph, AttractorNode, ExecutionState, NodeOutcome, RunSummaryOutput,
  run_summary_output_from_log,
};