/** * @license * Copyright 2025 Vybestack LLC * SPDX-License-Identifier: Apache-2.0 */ /** * Model Hydration Utilities * * Enriches base IModel data with extended information from models.dev registry. * Provides a unified path for all model-fetching flows. */ import type { IModel } from '../providers/IModel.js'; import type { LlxprtModelCapabilities, LlxprtModelPricing, LlxprtModelLimits, LlxprtModelMetadata } from './schema.js'; /** * Extended model data from models.dev hydration. * All fields optional since hydration may fail or model may not exist in registry. */ export interface ModelHydrationData { capabilities?: LlxprtModelCapabilities; pricing?: LlxprtModelPricing; limits?: LlxprtModelLimits; metadata?: LlxprtModelMetadata; providerId?: string; modelId?: string; family?: string; hydrated: boolean; } /** * Model with optional hydration data from models.dev */ export type HydratedModel = IModel & Partial; export { getModelsDevProviderIds } from './provider-integration.js'; /** * Hydrate a list of IModel with data from models.dev registry. * * @param models - Base models from provider.getModels() * @param modelsDevProviderIds - The models.dev provider IDs to lookup (e.g., ["openrouter", "chutes"]) * @returns Models with hydration data where available */ export declare function hydrateModelsWithRegistry(models: IModel[], modelsDevProviderIds: string[]): Promise;