UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

50 lines (49 loc) • 3.02 kB
import { c as normalizeOptionalLowercaseString, l as normalizeOptionalString } from "./string-coerce-1VuiLaaR.mjs"; import "./src-CdRlGRnW.mjs"; import { t as expectDefined } from "./expect-lbe3Hgrh.mjs"; import { n as sanitizeTerminalText } from "./safe-text-SY_CvCi3.mjs"; import { a as normalizeOptionalAgentRuntimeId, r as isDefaultAgentRuntimeId } from "./agent-runtime-id-BZLMe-UU.mjs"; import "./model-selection-CC48fyGE.mjs"; import { t as isCliProvider } from "./model-selection-cli-DjravRCg.mjs"; import { h as resolveSessionPinnedHarnessId } from "./agent-harness-session-key-D8EQIzja.mjs"; //#region src/status/agent-runtime-label.ts const AGENT_RUNTIME_LABELS = { openclaw: "OpenClaw Default", codex: "OpenAI Codex", "codex-cli": "OpenAI Codex", "claude-cli": "Claude CLI", "google-gemini-cli": "Gemini CLI" }; /** Operator-facing name for a runtime id; a plugin-declared label wins over the raw id. */ function formatAgentRuntimeName(runtime, pluginLabel) { const id = runtime.trim().toLowerCase(); const label = normalizeOptionalString(pluginLabel); return AGENT_RUNTIME_LABELS[id] ?? sanitizeTerminalText(label ?? runtime.trim()); } function resolveAgentRuntimeLabel(args) { const acpAgentRaw = normalizeOptionalString(args.sessionEntry?.acp?.agent); const acpAgent = acpAgentRaw ? sanitizeTerminalText(acpAgentRaw) : void 0; if (acpAgent) { const backendRaw = normalizeOptionalString(args.sessionEntry?.acp?.backend); const backend = backendRaw ? sanitizeTerminalText(backendRaw) : void 0; return backend ? `${acpAgent} (acp/${backend})` : `${acpAgent} (acp)`; } const runtimeRaw = normalizeOptionalString(args.resolvedHarness); const runtime = normalizeOptionalLowercaseString(runtimeRaw); let label; if (runtime && runtime !== "auto" && runtime !== "default") label = formatAgentRuntimeName(runtimeRaw ?? runtime); else { const providerRaw = normalizeOptionalString(args.sessionEntry?.modelProvider) ?? normalizeOptionalString(args.sessionEntry?.providerOverride) ?? normalizeOptionalString(args.fallbackProvider); const provider = providerRaw ? sanitizeTerminalText(providerRaw) : void 0; const providerRuntime = normalizeOptionalLowercaseString(providerRaw); if (provider && (args.classifyCliProvider?.(provider) ?? isCliProvider(provider, args.config))) label = AGENT_RUNTIME_LABELS[providerRuntime ?? ""] ?? `${provider} (cli)`; else label = expectDefined(AGENT_RUNTIME_LABELS.openclaw, "OpenClaw runtime label"); } const recordedRuntime = normalizeOptionalAgentRuntimeId(args.sessionEntry?.agentHarnessId); const recordedLabel = recordedRuntime ? formatAgentRuntimeName(recordedRuntime) : void 0; if (!recordedRuntime || isDefaultAgentRuntimeId(recordedRuntime) || recordedLabel === label) return label; const relationship = resolveSessionPinnedHarnessId(args.sessionEntry) ? "session pin" : "previous runtime"; return `${label} (${relationship}: ${recordedLabel})`; } //#endregion export { resolveAgentRuntimeLabel as n, formatAgentRuntimeName as t };