import type { Config } from "../config/env"; import type { Logger } from "../core/logger"; import type { EventManager } from "../modules/system/event-manager"; import type { LaunchState } from "../modules/engines/process/launch-state"; import type { ControllerMetrics, MetricsRegistry } from "../modules/system/metrics"; import type { ProcessManager } from "../modules/engines/process/process-manager"; import type { EngineCoordinator } from "../modules/engines/engine-coordinator"; import type { DownloadManager } from "../modules/engines/downloads/download-manager"; import type { DownloadStore } from "../modules/engines/downloads/download-store"; import type { LifetimeMetricsStore, PeakMetricsStore } from "../modules/system/metrics-store"; import type { RecipeStore } from "../modules/models/recipes/recipe-store"; import type { InferenceRequestStore } from "../stores/inference-request-store"; /** * Application-wide dependency container. */ export interface AppContext { config: Config; logger: Logger; eventManager: EventManager; launchState: LaunchState; metrics: ControllerMetrics; metricsRegistry: MetricsRegistry; processManager: ProcessManager; downloadManager: DownloadManager; engineService: EngineCoordinator; stores: { recipeStore: RecipeStore; downloadStore: DownloadStore; peakMetricsStore: PeakMetricsStore; lifetimeMetricsStore: LifetimeMetricsStore; inferenceRequestStore: InferenceRequestStore; }; }