| |
| 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"; |
|
|
| |
| const PASSTHROUGH_PROVIDERS = new Set( |
| Object.entries(AI_PROVIDERS) |
| .filter(([, p]) => p.passthroughModels) |
| .map(([key]) => key) |
| ); |
|
|
| |
| 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); |
| } |
|
|
| |
| export const AI_MODELS = Object.entries(MODELS).flatMap(([alias, models]) => |
| models.map(m => ({ provider: alias, model: m.id, name: m.name })) |
| ); |
|
|
| export const getModelKind = (m, fallback = null) => m?.kind || m?.type || fallback; |
|
|
| |
| export const CAPACITY_META = { |
| vision: { icon: "visibility", label: "Vision", desc: "Supports image input", color: "text-blue-500" }, |
| |
| reasoning: { icon: "neurology", label: "Reasoning", desc: "Supports reasoning / thinking", color: "text-amber-500" }, |
| }; |
|
|