UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

70 lines (69 loc) 3.4 kB
import { o as normalizeLowercaseStringOrEmpty } from "./string-coerce-CIXf7egm.js"; function modelConfigKey(provider, model) { const providerId = provider?.trim() ?? ""; const modelId = model?.trim() ?? ""; if (!providerId) return modelId; if (!modelId) return providerId; return normalizeLowercaseStringOrEmpty(modelId).startsWith(`${normalizeLowercaseStringOrEmpty(providerId)}/`) ? modelId : `${providerId}/${modelId}`; } function resolveFastModeModelParams(params) { const models = params.cfg?.agents?.defaults?.models; if (!models) return; return models[modelConfigKey(params.provider, params.model)]?.params; } function normalizeFastModeAutoOnSeconds(value) { return typeof value === "number" && Number.isInteger(value) && value > 0 ? value : void 0; } function resolveFastModeModelAutoOnSeconds(params) { const modelParams = resolveFastModeModelParams(params); return normalizeFastModeAutoOnSeconds(modelParams?.fastAutoOnSeconds) ?? normalizeFastModeAutoOnSeconds(modelParams?.fast_auto_on_seconds) ?? normalizeFastModeAutoOnSeconds(modelParams?.fastSeconds) ?? normalizeFastModeAutoOnSeconds(modelParams?.fast_seconds) ?? 60; } function resolveFastModeForElapsed(params) { const nowMs = params.nowMs ?? Date.now(); const elapsedMs = Math.max(0, nowMs - params.startedAtMs); const fastAutoOnSeconds = normalizeFastModeAutoOnSeconds(params.fastAutoOnSeconds) ?? 60; const thresholdMs = fastAutoOnSeconds * 1e3; const enabled = params.mode === "auto" ? elapsedMs <= thresholdMs : params.mode === true; const elapsedSeconds = Math.floor(elapsedMs / 1e3); return { mode: params.mode, enabled, elapsedSeconds, fastAutoOnSeconds }; } function formatFastModeAutoProgressText(params) { if (params.enabled) return "💨Fast: auto-on"; const fastAutoOnSeconds = normalizeFastModeAutoOnSeconds(params.fastAutoOnSeconds) ?? 60; return `💨Fast: auto-off(${params.elapsedSeconds}s>=${fastAutoOnSeconds}s)`; } function formatFastModeValue(mode) { return mode === "auto" ? "auto" : mode === true ? "on" : "off"; } function formatFastModeAutoLabel(params) { return `auto (${normalizeFastModeAutoOnSeconds(params?.fastAutoOnSeconds) ?? 60} sec)`; } function formatFastModeStatusValue(params) { if (params.mode === "auto") return formatFastModeAutoLabel({ fastAutoOnSeconds: params.fastAutoOnSeconds }); return formatFastModeValue(params.mode); } function formatFastModeCommandOptions(params) { return `on, off, ${formatFastModeAutoLabel({ fastAutoOnSeconds: params?.fastAutoOnSeconds })}, default, status`; } function formatFastModeSourceSuffix(source) { switch (source) { case "session": return " (session)"; case "agent": return " (default: agent)"; case "config": return " (default: model)"; case "default": return " (default)"; default: return ""; } } function formatFastModeCurrentStatus(params) { return `${params.label ?? "Current fast mode"}: ${formatFastModeStatusValue({ mode: params.mode, fastAutoOnSeconds: params.fastAutoOnSeconds })}${formatFastModeSourceSuffix(params.source)}.`; } //#endregion export { formatFastModeSourceSuffix as a, resolveFastModeForElapsed as c, formatFastModeCurrentStatus as i, resolveFastModeModelAutoOnSeconds as l, formatFastModeAutoProgressText as n, formatFastModeStatusValue as o, formatFastModeCommandOptions as r, formatFastModeValue as s, formatFastModeAutoLabel as t, resolveFastModeModelParams as u };