/** * Model Manager Service * * Centralized service for managing all ML models: * - Loads models.config.yaml * - Downloads models on startup (runtime) * - Verifies SHA256 hashes * - Checks version compatibility * - Caches ONNX sessions and Transformers models * - Provides unified interface for model access */ import { OnApplicationBootstrap } from "@nestjs/common"; import { AppModeConfig } from "../../common/decorators/conditional-service.decorator"; import * as ort from "onnxruntime-node"; import type { ModelLoadStatus } from "./model-manager.config"; export declare class ModelManagerService implements OnApplicationBootstrap { private readonly appModeConfig?; private readonly logger; private readonly config; private readonly cacheDir; private readonly baseUrl; private readonly verifyHash; private readonly strictHash; private readonly autoUpdate; private onnxSessions; private transformersModels; private loadStatus; private readyPromise; private readyResolver; constructor(appModeConfig?: AppModeConfig); /** * Check if running in worker mode. * Defaults to worker mode if no app mode config (tests, standalone scripts). */ private isWorkerMode; /** * Determine if a model should be loaded based on current app mode. * - Worker mode: load all models * - API mode: only load models marked with loadInApi: true */ private shouldLoadModel; onApplicationBootstrap(): Promise; private loadModel; private loadOnnxModel; private loadTransformersModel; private needsDownload; private downloadFile; private verifyFileHash; private computeHash; private ensureCacheDir; getOnnxSession(name: string): ort.InferenceSession | null; getTransformersModel(name: string, component?: string): any | null; isModelLoaded(name: string, framework: "onnx" | "transformers"): boolean; getLoadedModels(): { onnx: string[]; transformers: string[]; }; getLoadStatus(): ModelLoadStatus[]; /** * Wait for all models to be loaded. * Services that depend on models should call this before accessing them. */ waitForReady(): Promise; } //# sourceMappingURL=model-manager.service.d.ts.map