UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

33 lines (32 loc) 1.42 kB
import { c as normalizeOptionalString, s as normalizeOptionalLowercaseString } from "./string-coerce-mnp54Vah.js"; import "./string-coerce-runtime-CEGJWkQ_.js"; import { t as parseDiscordTarget } from "./target-parsing-CxulEx_f.js"; //#region extensions/discord/src/conversation-identity.ts function normalizeDiscordTarget(raw, defaultKind) { const trimmed = normalizeOptionalString(raw); if (!trimmed) return; return parseDiscordTarget(trimmed, { defaultKind })?.normalized; } function buildDiscordConversationIdentity(kind, rawId) { const trimmed = normalizeOptionalString(rawId); return trimmed ? `${kind}:${trimmed}` : void 0; } function resolveDiscordConversationIdentity(params) { return params.isDirectMessage ? buildDiscordConversationIdentity("user", params.userId) : buildDiscordConversationIdentity("channel", params.channelId); } function resolveDiscordCurrentConversationIdentity(params) { if (normalizeOptionalLowercaseString(params.chatType) === "direct") { const senderTarget = normalizeDiscordTarget(params.from, "user"); if (senderTarget?.startsWith("user:")) return senderTarget; } for (const candidate of [ params.originatingTo, params.commandTo, params.fallbackTo ]) { const target = normalizeDiscordTarget(candidate, "channel"); if (target) return target; } } //#endregion export { resolveDiscordCurrentConversationIdentity as n, resolveDiscordConversationIdentity as t };