From d888ce242b2a8672469e8d087ec79d606edb5ba9 Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Fri, 3 Apr 2026 20:54:01 +0900 Subject: [PATCH] test(bluebubbles): split monitor processing seam --- .../bluebubbles/src/monitor-processing-api.ts | 20 ++++++++++ .../bluebubbles/src/monitor-processing.ts | 38 +++++++++---------- 2 files changed, 39 insertions(+), 19 deletions(-) create mode 100644 extensions/bluebubbles/src/monitor-processing-api.ts diff --git a/extensions/bluebubbles/src/monitor-processing-api.ts b/extensions/bluebubbles/src/monitor-processing-api.ts new file mode 100644 index 00000000000..e28e85c79b8 --- /dev/null +++ b/extensions/bluebubbles/src/monitor-processing-api.ts @@ -0,0 +1,20 @@ +export { resolveAckReaction } from "openclaw/plugin-sdk/bluebubbles"; +export { logAckFailure, logTypingFailure } from "openclaw/plugin-sdk/channel-feedback"; +export { logInboundDrop } from "openclaw/plugin-sdk/channel-inbound"; +export { mapAllowFromEntries } from "openclaw/plugin-sdk/channel-config-helpers"; +export { createChannelPairingController } from "openclaw/plugin-sdk/channel-pairing"; +export { createChannelReplyPipeline } from "openclaw/plugin-sdk/channel-reply-pipeline"; +export { + DM_GROUP_ACCESS_REASON, + readStoreAllowFromForDmPolicy, + resolveDmGroupAccessWithLists, +} from "openclaw/plugin-sdk/channel-policy"; +export { resolveControlCommandGate } from "openclaw/plugin-sdk/command-auth"; +export { resolveChannelContextVisibilityMode } from "openclaw/plugin-sdk/config-runtime"; +export { + evictOldHistoryKeys, + recordPendingHistoryEntryIfEnabled, + type HistoryEntry, +} from "openclaw/plugin-sdk/reply-history"; +export { evaluateSupplementalContextVisibility } from "openclaw/plugin-sdk/security-runtime"; +export { stripMarkdown } from "openclaw/plugin-sdk/text-runtime"; diff --git a/extensions/bluebubbles/src/monitor-processing.ts b/extensions/bluebubbles/src/monitor-processing.ts index cdf55ea82d0..0b9a463ea45 100644 --- a/extensions/bluebubbles/src/monitor-processing.ts +++ b/extensions/bluebubbles/src/monitor-processing.ts @@ -20,6 +20,25 @@ import { type NormalizedWebhookMessage, type NormalizedWebhookReaction, } from "./monitor-normalize.js"; +import { + DM_GROUP_ACCESS_REASON, + createChannelPairingController, + createChannelReplyPipeline, + evictOldHistoryKeys, + evaluateSupplementalContextVisibility, + logAckFailure, + logInboundDrop, + logTypingFailure, + mapAllowFromEntries, + readStoreAllowFromForDmPolicy, + recordPendingHistoryEntryIfEnabled, + resolveAckReaction, + resolveChannelContextVisibilityMode, + resolveDmGroupAccessWithLists, + resolveControlCommandGate, + stripMarkdown, + type HistoryEntry, +} from "./monitor-processing-api.js"; import { getShortIdForUuid, rememberBlueBubblesReplyCache, @@ -39,25 +58,6 @@ import { enrichBlueBubblesParticipantsWithContactNames } from "./participant-con import { isBlueBubblesPrivateApiEnabled } from "./probe.js"; import { normalizeBlueBubblesReactionInput, sendBlueBubblesReaction } from "./reactions.js"; import type { OpenClawConfig } from "./runtime-api.js"; -import { - DM_GROUP_ACCESS_REASON, - createChannelPairingController, - createChannelReplyPipeline, - evictOldHistoryKeys, - evaluateSupplementalContextVisibility, - logAckFailure, - logInboundDrop, - logTypingFailure, - mapAllowFromEntries, - readStoreAllowFromForDmPolicy, - recordPendingHistoryEntryIfEnabled, - resolveAckReaction, - resolveChannelContextVisibilityMode, - resolveDmGroupAccessWithLists, - resolveControlCommandGate, - stripMarkdown, - type HistoryEntry, -} from "./runtime-api.js"; import { normalizeSecretInputString } from "./secret-input.js"; import { resolveChatGuidForTarget, sendMessageBlueBubbles } from "./send.js"; import {