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
47
//! Neuronic - Real-time graphical visualization of Caryatid message bus flow.
//!
//! This library provides components for visualizing message flow in distributed
//! systems that use the Caryatid framework. It can be used to:
//!
//! - Subscribe to RabbitMQ monitoring snapshots
//! - Build and update a graph model from snapshots
//! - Render interactive visualizations with egui
//!
//! # Modules
//!
//! - [`config`] - Configuration loading from TOML and environment variables
//! - [`graph`] - Graph data model for message flow visualization
//! - [`subscriber`] - RabbitMQ subscription for receiving monitor snapshots
//! - [`ui`] - GUI components for rendering the visualization
//!
//! # Example
//!
//! ```no_run
//! use neuronic::{NeuronicConfig, MessageFlowGraph, HealthConfig};
//! use std::path::Path;
//!
//! // Load configuration
//! let config = NeuronicConfig::load(Path::new("neuronic.toml")).unwrap();
//!
//! // Create a graph with custom health thresholds
//! let health_config = HealthConfig {
//! backlog_warning: config.graph.backlog_warning,
//! backlog_critical: config.graph.backlog_critical,
//! pending_warning_us: config.graph.pending_warning_ms * 1000,
//! pending_critical_us: config.graph.pending_critical_ms * 1000,
//! };
//! let graph = MessageFlowGraph::new_with_config(
//! health_config,
//! config.filter.ignored_topics,
//! );
//! ```
// Re-export main types for convenience
pub use ;
pub use ;
pub use NeuronicApp;