//! SharingBus, StreamRegistry, and replay. See docs/plans/2026-04-21-archivist-phase4-design.md.

pub mod bus;
pub mod config;
pub mod factory;
pub mod health;
#[cfg(feature = "server")]
pub mod matrix;
#[cfg(any(test, feature = "test-utils"))]
pub mod mock;
pub mod registry;
pub mod replay;

pub use bus::{BusReceiver, SharingBus};
pub use config::{StreamConfig, StreamsConfig};
pub use factory::{StreamBuildError, StreamFactory, StreamFactoryRegistry};
pub use health::HealthStatus;
#[cfg(feature = "server")]
pub use matrix::MatrixFactory;
pub use registry::{StreamId, StreamInfo, StreamRegistration, StreamRegistry};
pub use replay::{ReplayError, ReplayOptions, ReplayReport, ReplaySpeed};
#[cfg(any(test, feature = "test-utils"))]
pub use mock::MockStream;
