UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

44 lines (43 loc) 2.26 kB
import { d as normalizeMainKey, u as normalizeAgentId } from "./session-key-B_NoIfpX.js"; //#region src/config/sessions/main-session.ts const FALLBACK_DEFAULT_AGENT_ID = "main"; /** Builds the canonical main session key for an agent. */ function buildMainSessionKey(agentId, mainKey) { return `agent:${normalizeAgentId(agentId)}:${normalizeMainKey(mainKey)}`; } /** Resolves the configured main session key, honoring global session scope. */ function resolveMainSessionKey(cfg) { if (cfg?.session?.scope === "global") return "global"; const agents = Array.isArray(cfg?.agents?.list) ? cfg.agents.list : []; return buildMainSessionKey(agents.find((agent) => agent?.default)?.id ?? agents[0]?.id ?? FALLBACK_DEFAULT_AGENT_ID, cfg?.session?.mainKey); } /** Resolves the main session key for one explicit agent. */ function resolveAgentMainSessionKey(params) { return buildMainSessionKey(params.agentId, params.cfg?.session?.mainKey); } /** Resolves an explicit agent id to its canonical main session key. */ function resolveExplicitAgentSessionKey(params) { const agentId = params.agentId?.trim(); if (!agentId) return; return resolveAgentMainSessionKey({ cfg: params.cfg, agentId }); } /** Canonicalizes main-session aliases to the current scoped session key. */ function canonicalizeMainSessionAlias(params) { const raw = params.sessionKey.trim(); if (!raw) return raw; const agentId = normalizeAgentId(params.agentId); const mainKey = normalizeMainKey(params.cfg?.session?.mainKey); const agentMainSessionKey = buildMainSessionKey(agentId, mainKey); const agentMainAliasKey = buildMainSessionKey(agentId, "main"); const legacyMainKey = buildMainSessionKey(FALLBACK_DEFAULT_AGENT_ID, mainKey); const legacyMainAliasKey = buildMainSessionKey(FALLBACK_DEFAULT_AGENT_ID, "main"); const isMainAlias = raw === "main" || raw === mainKey || raw === agentMainSessionKey || raw === agentMainAliasKey || raw === legacyMainKey || raw === legacyMainAliasKey; if (params.cfg?.session?.scope === "global" && isMainAlias) return "global"; if (isMainAlias) return agentMainSessionKey; return raw; } //#endregion export { resolveMainSessionKey as i, resolveAgentMainSessionKey as n, resolveExplicitAgentSessionKey as r, canonicalizeMainSessionAlias as t };