omega_runtime/
lib.rs

1//! # Omega Runtime
2//!
3//! Integrated runtime environment for the ExoGenesis Omega system.
4//! Coordinates all subsystems including AgentDB, Memory, Loops, and Meta-SONA.
5//!
6//! ## Overview
7//!
8//! The Omega Runtime provides a unified orchestration layer for all Omega subsystems:
9//!
10//! - **AgentDB**: Agent lifecycle and persistence management
11//! - **Memory System**: Multi-tier memory with working, short-term, and long-term storage
12//! - **Loop Engine**: Cognitive loops (conscious, subconscious, meta, unconscious)
13//! - **Meta-SONA**: Self-organizing neural architectures and evolution
14//!
15//! ## Features
16//!
17//! - **Event System**: Comprehensive event bus for system-wide notifications
18//! - **State Management**: Robust state machine with lifecycle management
19//! - **Configuration**: Flexible, validated configuration system
20//! - **API**: High-level API for all subsystem operations
21//! - **Health Monitoring**: Built-in health checks for all components
22//!
23//! ## Example
24//!
25//! ```rust,no_run
26//! use omega_runtime::{OmegaRuntime, OmegaConfig, OmegaAPI};
27//! use std::sync::Arc;
28//!
29//! #[tokio::main]
30//! async fn main() -> Result<(), Box<dyn std::error::Error>> {
31//!     // Create runtime with default configuration
32//!     let config = OmegaConfig::default();
33//!     let runtime = Arc::new(OmegaRuntime::new(config).await?);
34//!
35//!     // Start all subsystems
36//!     runtime.start().await?;
37//!
38//!     // Create API for high-level operations
39//!     let api = OmegaAPI::new(runtime.clone());
40//!
41//!     // Use the API...
42//!
43//!     // Shutdown gracefully
44//!     runtime.stop().await?;
45//!     Ok(())
46//! }
47//! ```
48
49pub mod api;
50pub mod circuit_breaker;
51pub mod config;
52pub mod degradation;
53pub mod error;
54pub mod events;
55pub mod health;
56pub mod retry;
57pub mod runtime;
58
59#[cfg(test)]
60mod tests;
61
62// Re-export main types
63pub use api::{
64    Architecture, CycleInput, CycleOutput, Intelligence, IntelligenceSpec,
65    LoopInfo, LoopStatus, Memory, OmegaAPI, RuntimeMetrics,
66};
67pub use circuit_breaker::{CircuitBreaker, CircuitBreakerConfig, CircuitBreakerError, CircuitState};
68pub use config::{
69    AgentDBConfig, LoopsConfig, MemoryConfig, MetaSONAConfig, OmegaConfig,
70};
71pub use degradation::{DegradationError, DegradationManager, FeatureInfo};
72pub use error::{APIError, APIResult, ConfigError, ConfigResult, RuntimeError, RuntimeResult};
73pub use events::{
74    ArchitectureId, EventBus, EventHandler, IntelligenceId, LoopType,
75    MemoryTier, OmegaEvent,
76};
77pub use health::{HealthError, HealthMonitor, HealthMonitorConfig, HealthStatus, SubsystemHealth};
78pub use retry::{RetryConfig, RetryConfigBuilder, RetryError, RetryPolicy};
79pub use runtime::{OmegaRuntime, RuntimeHealth, RuntimeState};