/** * @license * Copyright 2025 Vybestack LLC * SPDX-License-Identifier: Apache-2.0 */ /** * Provider Integration Layer for ModelsRegistry * * Provides utilities for IProvider implementations to fetch model data * from the ModelsRegistry with graceful fallback to hardcoded lists. */ import type { IModel } from '../providers/IModel.js'; import type { LlxprtModel } from './schema.js'; /** * Maps llxprt provider names to models.dev provider IDs * models.dev uses different naming in some cases */ export declare const PROVIDER_ID_MAP: Record; /** * Converts an LlxprtModel to the IModel interface * LlxprtModel already has all IModel fields, but this ensures type safety */ export declare function llxprtModelToIModel(model: LlxprtModel): IModel; /** * Get the models.dev provider IDs for a given llxprt provider name. * Falls back to using the provider name itself if no mapping exists. * * @param providerName - The llxprt provider name (e.g., 'gemini', 'openai') * @returns Array of models.dev provider IDs */ export declare function getModelsDevProviderIds(providerName: string): string[]; /** * Check if a specific model ID exists in the registry for a provider */ export declare function hasModelInRegistry(providerName: string, modelId: string): boolean; /** * Get extended model info from registry (pricing, capabilities, etc.) * Returns undefined if model not found or registry unavailable */ export declare function getExtendedModelInfo(providerName: string, modelId: string): LlxprtModel | undefined; /** * Get recommended model for a provider based on capabilities * Useful for selecting default models */ export declare function getRecommendedModel(providerName: string, options?: { requireToolCalling?: boolean; requireReasoning?: boolean; preferCheaper?: boolean; }): LlxprtModel | undefined;