use std::path::PathBuf; use std::sync::Arc; use crate::acp::manager::ConnectionManager; use crate::db::AppDatabase; use crate::terminal::manager::TerminalManager; use crate::web::event_bridge::{EventEmitter, WebEventBroadcaster}; use crate::web::WebServerState; pub struct AppState { pub db: AppDatabase, pub connection_manager: ConnectionManager, pub terminal_manager: TerminalManager, pub event_broadcaster: Arc, pub emitter: EventEmitter, pub data_dir: PathBuf, pub web_server_state: WebServerState, } pub fn default_connection_manager() -> ConnectionManager { ConnectionManager::new() } pub fn default_terminal_manager() -> TerminalManager { TerminalManager::new() }