locus_gateway/
app_state.rs1use std::sync::Arc;
2
3use locus_core_rs::application::services::{
4 CalibrationService, ContextQueryService, MonthlyRollupService, MoodCatalogService,
5 RekeyScopeService, StoreContextService,
6};
7use locus_core_rs::domain::contracts::{EmbeddingProvider, NodeStore};
8
9use crate::providers::AvecScorer;
10
11#[derive(Clone)]
12pub(crate) struct AppState {
13 pub(crate) node_store: Arc<dyn NodeStore>,
14 pub(crate) embedding_provider: Option<Arc<dyn EmbeddingProvider>>,
15 pub(crate) avec_scorer: Option<Arc<dyn AvecScorer>>,
16 pub(crate) calibration: Arc<CalibrationService>,
17 pub(crate) context_query: Arc<ContextQueryService>,
18 pub(crate) mood_catalog: Arc<MoodCatalogService>,
19 pub(crate) store_context: Arc<StoreContextService>,
20 pub(crate) monthly_rollup: Arc<MonthlyRollupService>,
21 pub(crate) rekey_scope: Arc<RekeyScopeService>,
22}