UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

36 lines (35 loc) 1.71 kB
import { c as normalizeOptionalLowercaseString, o as normalizeLowercaseStringOrEmpty } from "./string-coerce-CIXf7egm.js"; import { n as normalizeMessageChannel } from "./message-channel-core-AaEWic-A.js"; import "./message-channel-BQrhwUEA.js"; import { t as resolveLoadedSessionThreadInfo } from "./session-thread-info-loaded-C2n7FmMv.js"; //#region src/config/sessions/reset.ts const GROUP_SESSION_MARKERS = [":group:", ":channel:"]; /** Returns true when a session key is known to represent a thread. */ function isThreadSessionKey(sessionKey) { return Boolean(resolveLoadedSessionThreadInfo(sessionKey).threadId); } function resolveSessionResetType(params) { if (params.isThread || isThreadSessionKey(params.sessionKey)) return "thread"; if (params.isGroup) return "group"; const normalized = normalizeLowercaseStringOrEmpty(params.sessionKey); if (GROUP_SESSION_MARKERS.some((marker) => normalized.includes(marker))) return "group"; return "direct"; } function resolveThreadFlag(params) { if (params.messageThreadId != null) return true; if (params.threadLabel?.trim()) return true; if (params.threadStarterBody?.trim()) return true; if (params.parentSessionKey?.trim()) return true; return isThreadSessionKey(params.sessionKey); } function resolveChannelResetConfig(params) { const resetByChannel = params.sessionCfg?.resetByChannel; if (!resetByChannel) return; const normalized = normalizeMessageChannel(params.channel); const fallback = normalizeOptionalLowercaseString(params.channel); const key = normalized ?? fallback; if (!key) return; return resetByChannel[key]; } //#endregion export { resolveSessionResetType as n, resolveThreadFlag as r, resolveChannelResetConfig as t };