Skip to main content

obzenflow_topology/
lib.rs

1// SPDX-License-Identifier: MIT OR Apache-2.0
2// SPDX-FileCopyrightText: 2025-2026 ObzenFlow Contributors
3// https://obzenflow.dev
4
5//! Flow topology graph structures for ObzenFlow
6//!
7//! This crate provides graph topology data structures and algorithms for building
8//! and validating flow-based pipelines. It's designed to be used both in backend
9//! services and frontend applications (including WASM targets).
10
11#![allow(clippy::module_inception)]
12#![allow(clippy::result_large_err)]
13
14pub mod builder;
15pub mod stages;
16pub mod topology;
17pub mod types;
18pub mod validation;
19
20// Test utilities - internal only, not exposed in public API
21#[cfg_attr(not(test), allow(dead_code))] // silence warnings in non-test builds
22pub(crate) mod test_ids;
23
24// Re-export for unit tests only
25#[cfg(test)]
26pub use test_ids::next_stage_id;
27
28// Re-export core types for convenience
29pub use builder::TopologyBuilder;
30pub use stages::StageInfo;
31#[allow(deprecated)]
32pub use stages::StageMetadata;
33pub use topology::{DirectedEdge, EdgeKind, Topology, TopologyMetrics, ValidationLevel};
34pub use types::{SccId, StageId, StageRole, StageType};
35pub use validation::{TopologyError, ValidationResult};