openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
49 lines (48 loc) • 2.54 kB
JavaScript
import { o as normalizeLowercaseStringOrEmpty } from "./string-coerce-CIXf7egm.js";
import { r as getLoadedChannelPluginForRead } from "./registry-loaded-Bh7xuMJh.js";
import { f as stringifyRouteThreadId } from "./channel-route--2in3Ckg.js";
import { n as resolveCommandConversationResolution } from "./conversation-resolution-BCtsaj9X.js";
import { d as normalizeConversationText } from "./session-binding-service-DTXs8JDw.js";
//#region src/auto-reply/reply/conversation-binding-input.ts
function resolveConversationBindingChannelFromMessage(ctx, commandChannel) {
const raw = ctx.OriginatingChannel ?? commandChannel ?? ctx.Surface ?? ctx.Provider;
return normalizeLowercaseStringOrEmpty(normalizeConversationText(raw));
}
function resolveConversationBindingAccountIdFromMessage(params) {
const channel = resolveConversationBindingChannelFromMessage(params.ctx, params.commandChannel);
const plugin = getLoadedChannelPluginForRead(channel);
return normalizeConversationText(params.ctx.AccountId) || normalizeConversationText(plugin?.config.defaultAccountId?.(params.cfg)) || "default";
}
function resolveConversationBindingThreadIdFromMessage(ctx) {
return stringifyRouteThreadId(ctx.MessageThreadId);
}
function resolveConversationBindingContextFromMessage(params) {
return resolveCommandConversationResolution({
cfg: params.cfg,
channel: resolveConversationBindingChannelFromMessage(params.ctx),
accountId: params.ctx.AccountId,
chatType: params.ctx.ChatType,
threadId: params.ctx.MessageThreadId,
threadParentId: params.ctx.ThreadParentId,
senderId: params.senderId ?? params.ctx.SenderId,
sessionKey: params.sessionKey ?? params.ctx.SessionKey,
parentSessionKey: params.parentSessionKey ?? params.ctx.ParentSessionKey,
from: params.ctx.From,
originatingTo: params.ctx.OriginatingTo,
commandTo: params.commandTo,
fallbackTo: params.ctx.To,
nativeChannelId: params.ctx.NativeChannelId
});
}
function resolveConversationBindingContextFromAcpCommand(params) {
return resolveConversationBindingContextFromMessage({
cfg: params.cfg,
ctx: params.ctx,
senderId: params.command.senderId,
sessionKey: params.sessionKey,
parentSessionKey: params.ctx.ParentSessionKey,
commandTo: params.command.to
});
}
//#endregion
export { resolveConversationBindingThreadIdFromMessage as a, resolveConversationBindingContextFromMessage as i, resolveConversationBindingChannelFromMessage as n, resolveConversationBindingContextFromAcpCommand as r, resolveConversationBindingAccountIdFromMessage as t };