UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

48 lines (47 loc) 1.99 kB
import { c as normalizeOptionalLowercaseString, l as normalizeOptionalString } from "./string-coerce-CIXf7egm.js"; import { i as normalizeModelCompat } from "./provider-model-compat-BNXu5bti.js"; import "./string-coerce-runtime-GQa0ehRA.js"; import "./provider-model-shared-fX-Ywqb3.js"; import { a as resolveXaiOAuthAutoModelId, i as normalizeXaiModelId } from "./model-id-BJsQwvwb.js"; import { u as resolveXaiCatalogEntry } from "./model-definitions-T5B2ehi7.js"; import { t as applyXaiRuntimeModelCompat } from "./runtime-model-compat-D8IWvBX1.js"; //#region extensions/xai/provider-models.ts const XAI_MODERN_MODEL_PREFIXES = [ "grok-4.6", "grok-4.5", "grok-build-0.1", "grok-4.3", "grok-4.20" ]; function isModernXaiModel(modelId) { const normalized = normalizeXaiModelId(modelId.trim()); const lower = normalizeOptionalLowercaseString(normalized) ?? ""; if (!lower || lower.includes("multi-agent")) return false; return XAI_MODERN_MODEL_PREFIXES.some((prefix) => lower.startsWith(prefix)); } function resolveXaiForwardCompatModel(params) { const definition = resolveXaiCatalogEntry(params.ctx.modelId); if (!definition) return; return applyXaiRuntimeModelCompat(normalizeModelCompat({ id: definition.id, name: definition.name, api: params.ctx.providerConfig?.api ?? "openai-responses", provider: params.providerId, baseUrl: normalizeOptionalString(params.ctx.providerConfig?.baseUrl) ?? "https://api.x.ai/v1", reasoning: definition.reasoning, input: definition.input, cost: definition.cost, contextWindow: definition.contextWindow, maxTokens: definition.maxTokens })); } function normalizeXaiResolvedModel(model) { const resolvedModelId = resolveXaiOAuthAutoModelId(model.id, model.params); const resolved = resolvedModelId === model.id ? model : { ...model, id: resolvedModelId }; return applyXaiRuntimeModelCompat(resolved); } //#endregion export { normalizeXaiResolvedModel as n, resolveXaiForwardCompatModel as r, isModernXaiModel as t };