UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

41 lines (40 loc) • 1.66 kB
import { i as MINIMAX_TEXT_MODEL_ORDER } from "./provider-models--BcqrZ4M.mjs"; import { l as buildMinimaxApiModelDefinition, n as MINIMAX_API_BASE_URL } from "./model-definitions-B9mq2EW1.mjs"; //#region extensions/minimax/provider-catalog.ts function buildMinimaxModelDiscovery({ baseUrl, api }, authMode = "api_key") { const usesOpenAI = api === "openai-completions"; const basePath = new URL(baseUrl).pathname.replace(/\/+$/, ""); return { endpointPath: usesOpenAI || basePath.endsWith("/v1") ? "models" : "v1/models", buildRequestHeaders: ({ apiKey, discoveryApiKey }) => { const requestApiKey = discoveryApiKey ?? apiKey; if (!requestApiKey) return {}; return usesOpenAI || authMode === "oauth" ? { Authorization: `Bearer ${requestApiKey}` } : { "X-Api-Key": requestApiKey }; } }; } function resolveMinimaxCatalogBaseUrl(env = process.env) { const rawHost = env.MINIMAX_API_HOST?.trim(); if (!rawHost) return MINIMAX_API_BASE_URL; try { const url = new URL(rawHost); const basePath = url.pathname.replace(/\/+$/, ""); if (basePath.endsWith("/anthropic")) return `${url.origin}${basePath}`; return `${url.origin}/anthropic`; } catch { return MINIMAX_API_BASE_URL; } } function buildMinimaxProvider(env) { return { baseUrl: resolveMinimaxCatalogBaseUrl(env), api: "anthropic-messages", authHeader: true, models: MINIMAX_TEXT_MODEL_ORDER.map(buildMinimaxApiModelDefinition) }; } function buildMinimaxPortalProvider(env) { return buildMinimaxProvider(env); } //#endregion export { resolveMinimaxCatalogBaseUrl as i, buildMinimaxPortalProvider as n, buildMinimaxProvider as r, buildMinimaxModelDiscovery as t };