|
|
| export {
|
| PROVIDER_MODELS,
|
| getProviderModels,
|
| getDefaultModel,
|
| isValidModel as isValidModelCore,
|
| findModelName,
|
| getModelTargetFormat,
|
| PROVIDER_ID_TO_ALIAS,
|
| getModelsByProviderId,
|
| } from "@omniroute/open-sse/config/providerModels.ts";
|
|
|
| import {
|
| AI_PROVIDERS,
|
| isAnthropicCompatibleProvider,
|
| isOpenAICompatibleProvider,
|
| } from "./providers";
|
| import { PROVIDER_MODELS as MODELS } from "@omniroute/open-sse/config/providerModels.ts";
|
|
|
|
|
| const PASSTHROUGH_PROVIDERS = new Set(
|
| Object.entries(AI_PROVIDERS)
|
| .filter(([, p]) => (p as any).passthroughModels)
|
| .map(([key]) => key)
|
| );
|
|
|
|
|
| export function isValidModel(aliasOrId, modelId) {
|
| if (isOpenAICompatibleProvider(aliasOrId)) return true;
|
| if (isAnthropicCompatibleProvider(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);
|
| }
|
|
|
|
|
| export const AI_MODELS = Object.entries(MODELS).flatMap(([alias, models]) =>
|
| models.map((m) => ({ provider: alias, model: m.id, name: m.name }))
|
| );
|
|
|