UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

54 lines (53 loc) 2.48 kB
import { l as normalizeOptionalString } from "./string-coerce-CIXf7egm.js"; //#region src/agents/model-selection-display.ts /** * Formats selected model references for UI/session display. */ /** Resolves the most specific provider/model ref for display. */ function resolveModelDisplayRef(params) { const runtimeModel = normalizeOptionalString(params.runtimeModel); const runtimeProvider = normalizeOptionalString(params.runtimeProvider); if (runtimeModel) { if (runtimeModel.includes("/")) return runtimeModel; if (runtimeProvider) return `${runtimeProvider}/${runtimeModel}`; return runtimeModel; } if (runtimeProvider) return runtimeProvider; const overrideModel = normalizeOptionalString(params.overrideModel); const overrideProvider = normalizeOptionalString(params.overrideProvider); if (overrideModel) { if (overrideModel.includes("/")) return overrideModel; if (overrideProvider) return `${overrideProvider}/${overrideModel}`; return overrideModel; } if (overrideProvider) return overrideProvider; return normalizeOptionalString(params.fallbackModel) || void 0; } /** Resolves the model name shown in compact status output. */ function resolveModelDisplayName(params) { const modelRef = resolveModelDisplayRef(params); if (!modelRef) return "model n/a"; const slash = modelRef.lastIndexOf("/"); if (slash >= 0 && slash < modelRef.length - 1) return modelRef.slice(slash + 1); return modelRef; } /** Resolves session-info model selection from entry, override, and fallback data. */ function resolveSessionInfoModelSelection(params) { const fallbackProvider = normalizeOptionalString(params.currentProvider) ?? normalizeOptionalString(params.defaultProvider) ?? void 0; const fallbackModel = normalizeOptionalString(params.currentModel) ?? normalizeOptionalString(params.defaultModel) ?? void 0; if (params.entryProvider !== void 0 || params.entryModel !== void 0) return { modelProvider: normalizeOptionalString(params.entryProvider) ?? fallbackProvider, model: normalizeOptionalString(params.entryModel) ?? fallbackModel }; const overrideModel = normalizeOptionalString(params.overrideModel); if (overrideModel) return { modelProvider: normalizeOptionalString(params.overrideProvider) || fallbackProvider, model: overrideModel }; return { modelProvider: fallbackProvider, model: fallbackModel }; } //#endregion export { resolveModelDisplayRef as n, resolveSessionInfoModelSelection as r, resolveModelDisplayName as t };