use std::sync::Arc;
use slave_framework::database::Database;
use super::config::Config;
/// State shared by every MCP tool and the health check.
///
/// Services are built from it per call through `FromRef`, so this type
/// never needs to know about individual domain modules.
#[derive(Debug, Clone)]
pub struct AppState {
pub config: Arc<Config>,
pub database: Database,
}
impl AppState {
pub fn new(config: Config, database: Database) -> Self {
Self {
config: Arc::new(config),
database,
}
}
}