#[cfg(feature = "runtime")]
mod server;
pub mod kernel {
pub use rain_engine_core::*;
}
#[cfg(feature = "memory")]
pub mod memory {
pub use rain_engine_memory::*;
}
#[cfg(feature = "blob")]
pub mod blob {
pub use rain_engine_blob::*;
}
#[cfg(feature = "cognition")]
pub mod cognition {
pub use rain_engine_cognition::*;
}
#[cfg(feature = "wasm")]
pub mod wasm {
pub use rain_engine_wasm::*;
}
#[cfg(feature = "runtime")]
pub mod runtime {
pub use crate::server::ServerBuilder;
pub use rain_engine_runtime::*;
}
#[cfg(feature = "client")]
pub mod client {
pub use rain_engine_client::*;
}
pub mod providers {
#[cfg(feature = "provider-openai")]
pub use rain_engine_openai::*;
#[cfg(feature = "provider-gemini")]
pub use rain_engine_provider_gemini::*;
}
pub mod stores {
#[cfg(feature = "store-pg")]
pub use rain_engine_store_pg::*;
#[cfg(feature = "store-sqlite")]
pub use rain_engine_store_sqlite::*;
#[cfg(feature = "store-valkey")]
pub use rain_engine_store_valkey::*;
}
#[cfg(feature = "channels")]
pub mod channels {
pub use rain_engine_channels::*;
}
pub use rain_engine_core::{
AdvanceRequest, AdvanceResult, AgentAction, AgentEngine, AgentTrigger, ApprovalDecision,
AttachmentRef, CorrelationId, EngineOutcome, MultimodalPayload, ProcessRequest, WakeId,
};
#[cfg(feature = "client")]
pub use rain_engine_client::RainEngineClient as Client;
#[cfg(feature = "runtime")]
pub use server::ServerBuilder;