pub mod core;
pub mod memory;
pub mod pricing;
pub use core::stream_types::{AgentEvent, LlmEvent, SessionEvent, StreamEvent};
pub use core::config;
pub use core::session;
pub use core::auth;
pub use core::logging;
pub use core::protocol;
pub use core::error;
pub use core::watcher_types;
pub use core::models;
pub use core::chain;
#[inline]
pub fn epoch_millis() -> u64 {
std::time::SystemTime::now()
.duration_since(std::time::UNIX_EPOCH)
.expect("system clock before Unix epoch")
.as_millis() as u64
}
pub use error::{Result, RuntimeError};
#[inline]
pub fn truncate_str(s: &str, max: usize) -> &str {
if s.len() <= max {
return s;
}
let mut end = max;
while end > 0 && !s.is_char_boundary(end) {
end -= 1;
}
&s[..end]
}