/** * @license * Copyright 2025 Vybestack LLC * SPDX-License-Identifier: Apache-2.0 */ /** * Models Registry - models.dev integration for llxprt * * Provides automatic model discovery, pricing, and capabilities * from the models.dev API with caching and fallback support. * * @example * ```typescript * import { initializeModelRegistry, getModelRegistry } from '@vybestack/llxprt-code-core/models'; * * // Initialize on startup * await initializeModelRegistry(); * * // Get registry instance * const registry = getModelRegistry(); * * // Query models * const allModels = registry.getAll(); * const claudeModels = registry.getByProvider('anthropic'); * const reasoningModels = registry.search({ reasoning: true }); * ``` */ export { ModelRegistry, getModelRegistry, initializeModelRegistry, type ModelSearchQuery, type ModelRegistryEvent, } from './registry.js'; export { ModelsDevModelSchema, ModelsDevProviderSchema, ModelsDevApiResponseSchema, type ModelsDevModel, type ModelsDevProvider, type ModelsDevApiResponse, LlxprtModelSchema, LlxprtProviderSchema, LlxprtModelCapabilitiesSchema, LlxprtModelPricingSchema, LlxprtModelLimitsSchema, LlxprtModelMetadataSchema, LlxprtDefaultProfileSchema, type LlxprtModel, type LlxprtProvider, type LlxprtModelCapabilities, type LlxprtModelPricing, type LlxprtModelLimits, type LlxprtModelMetadata, type LlxprtDefaultProfile, ModelCacheMetadataSchema, type ModelCacheMetadata, } from './schema.js'; export { transformModel, transformProvider, transformApiResponse, } from './transformer.js'; export { generateDefaultProfile, getRecommendedThinkingBudget, mergeProfileWithDefaults, } from './profiles.js'; export { llxprtModelToIModel, hasModelInRegistry, getExtendedModelInfo, getRecommendedModel, } from './provider-integration.js'; export { hydrateModelsWithRegistry, getModelsDevProviderIds, type HydratedModel, type ModelHydrationData, } from './hydration.js';