mod logging;
mod mcp;
mod queue_delegate;
mod reverse_channel;
mod run;
mod session;
mod session_manager;
mod upstream;
use std::sync::Arc;
use objectiveai_sdk::mcp::Client;
use crate::session_manager::SessionManager;
#[derive(Clone)]
pub struct AppState {
pub sessions: Arc<SessionManager>,
pub client: Arc<Client>,
pub queue_delegate: Option<Arc<dyn QueueDelegate>>,
pub reverse_channel: Option<ReverseChannel>,
}
pub use queue_delegate::{QueueDelegate, QueueRead};
pub use reverse_channel::ReverseChannel;
pub use run::*;
pub use session_manager::parse_key_env;