| // Import directly from file to avoid pulling in server-side dependencies via index.js | |
| export { | |
| PROVIDER_MODELS, | |
| getProviderModels, | |
| getDefaultModel, | |
| isValidModel as isValidModelCore, | |
| findModelName, | |
| getModelTargetFormat, | |
| getModelStrip, | |
| PROVIDER_ID_TO_ALIAS, | |
| getModelsByProviderId, | |
| getModelUpstreamId, | |
| getModelQuotaFamily | |
| } from "open-sse/config/providerModels.js"; | |
| import { AI_PROVIDERS, isOpenAICompatibleProvider } from "./providers.js"; | |
| import { PROVIDER_MODELS as MODELS } from "open-sse/config/providerModels.js"; | |
| // Providers that accept any model (passthrough) | |
| const PASSTHROUGH_PROVIDERS = new Set( | |
| Object.entries(AI_PROVIDERS) | |
| .filter(([, p]) => p.passthroughModels) | |
| .map(([key]) => key) | |
| ); | |
| // Wrap isValidModel with passthrough providers | |
| export function isValidModel(aliasOrId, modelId) { | |
| if (isOpenAICompatibleProvider(aliasOrId)) return true; | |
| if (PASSTHROUGH_PROVIDERS.has(aliasOrId)) return true; | |
| const models = MODELS[aliasOrId]; | |
| if (!models) return false; | |
| return models.some(m => m.id === modelId); | |
| } | |
| // Legacy AI_MODELS for backward compatibility | |
| export const AI_MODELS = Object.entries(MODELS).flatMap(([alias, models]) => | |
| models.map(m => ({ provider: alias, model: m.id, name: m.name })) | |
| ); | |