From 679271f75763f9033e017205c52cd3ff8937a3ec Mon Sep 17 00:00:00 2001 From: Tak Hoffman <781889+Takhoffman@users.noreply.github.com> Date: Wed, 18 Mar 2026 14:10:32 -0500 Subject: [PATCH] refactor: expose explicit extension seams for plugin bridges --- extensions/discord/api.ts | 1 + extensions/signal/api.ts | 6 ++++++ extensions/slack/api.ts | 1 + extensions/telegram/api.ts | 1 + extensions/whatsapp/api.ts | 1 + src/channels/discord/plugin-sdk-bridge.ts | 2 +- src/channels/feishu/plugin-sdk-bridge.ts | 2 +- src/channels/signal/plugin-sdk-bridge.ts | 18 ++++++++---------- src/channels/slack/plugin-sdk-bridge.ts | 4 ++-- src/channels/telegram/plugin-sdk-bridge.ts | 2 +- src/channels/whatsapp/plugin-sdk-bridge.ts | 2 +- 11 files changed, 24 insertions(+), 16 deletions(-) diff --git a/extensions/discord/api.ts b/extensions/discord/api.ts index 19a5b926ff0..9d144545924 100644 --- a/extensions/discord/api.ts +++ b/extensions/discord/api.ts @@ -3,6 +3,7 @@ export * from "./src/accounts.js"; export * from "./src/actions/handle-action.guild-admin.js"; export * from "./src/actions/handle-action.js"; export * from "./src/components.js"; +export * from "./src/directory-config.js"; export * from "./src/group-policy.js"; export * from "./src/normalize.js"; export * from "./src/pluralkit.js"; diff --git a/extensions/signal/api.ts b/extensions/signal/api.ts index feaaa1c5835..d822309d44f 100644 --- a/extensions/signal/api.ts +++ b/extensions/signal/api.ts @@ -1 +1,7 @@ export * from "./src/accounts.js"; +export * from "./src/message-actions.js"; +export * from "./src/monitor.js"; +export * from "./src/probe.js"; +export * from "./src/reaction-level.js"; +export * from "./src/send-reactions.js"; +export * from "./src/send.js"; diff --git a/extensions/slack/api.ts b/extensions/slack/api.ts index 70ae694652d..5923ecc9a01 100644 --- a/extensions/slack/api.ts +++ b/extensions/slack/api.ts @@ -3,6 +3,7 @@ export * from "./src/accounts.js"; export * from "./src/actions.js"; export * from "./src/blocks-input.js"; export * from "./src/blocks-render.js"; +export * from "./src/directory-config.js"; export * from "./src/http/index.js"; export * from "./src/interactive-replies.js"; export * from "./src/message-actions.js"; diff --git a/extensions/telegram/api.ts b/extensions/telegram/api.ts index 88ef86a6a53..cf424ae9a7b 100644 --- a/extensions/telegram/api.ts +++ b/extensions/telegram/api.ts @@ -2,6 +2,7 @@ export * from "./src/account-inspect.js"; export * from "./src/accounts.js"; export * from "./src/allow-from.js"; export * from "./src/api-fetch.js"; +export * from "./src/directory-config.js"; export * from "./src/exec-approvals.js"; export * from "./src/group-policy.js"; export * from "./src/inline-buttons.js"; diff --git a/extensions/whatsapp/api.ts b/extensions/whatsapp/api.ts index 4be5a8505bf..6810f3c92ff 100644 --- a/extensions/whatsapp/api.ts +++ b/extensions/whatsapp/api.ts @@ -1,3 +1,4 @@ export * from "./src/accounts.js"; +export * from "./src/directory-config.js"; export * from "./src/group-policy.js"; export { resolveWhatsAppGroupIntroHint } from "openclaw/plugin-sdk/whatsapp-core"; diff --git a/src/channels/discord/plugin-sdk-bridge.ts b/src/channels/discord/plugin-sdk-bridge.ts index b391a5297ab..2243550e402 100644 --- a/src/channels/discord/plugin-sdk-bridge.ts +++ b/src/channels/discord/plugin-sdk-bridge.ts @@ -98,4 +98,4 @@ export { normalizeExplicitDiscordSessionKey } from "../../../extensions/discord/ export { listDiscordDirectoryGroupsFromConfig, listDiscordDirectoryPeersFromConfig, -} from "../../../extensions/discord/src/directory-config.js"; +} from "../../../extensions/discord/api.js"; diff --git a/src/channels/feishu/plugin-sdk-bridge.ts b/src/channels/feishu/plugin-sdk-bridge.ts index f4c2a122562..402da75628b 100644 --- a/src/channels/feishu/plugin-sdk-bridge.ts +++ b/src/channels/feishu/plugin-sdk-bridge.ts @@ -2,4 +2,4 @@ export { feishuSetupAdapter, feishuSetupWizard } from "../../../extensions/feish export { buildFeishuConversationId, parseFeishuConversationId, -} from "../../../extensions/feishu/src/conversation-id.js"; +} from "../../../extensions/feishu/api.js"; diff --git a/src/channels/signal/plugin-sdk-bridge.ts b/src/channels/signal/plugin-sdk-bridge.ts index cd237746ce0..092bbd78eba 100644 --- a/src/channels/signal/plugin-sdk-bridge.ts +++ b/src/channels/signal/plugin-sdk-bridge.ts @@ -3,15 +3,13 @@ export type { ResolvedSignalAccount } from "../../../extensions/signal/api.js"; export { listEnabledSignalAccounts, listSignalAccountIds, - resolveSignalAccount, - resolveDefaultSignalAccountId, -} from "../../../extensions/signal/api.js"; -export { signalMessageActions } from "../../../extensions/signal/src/message-actions.js"; -export { monitorSignalProvider } from "../../../extensions/signal/src/monitor.js"; -export { probeSignal } from "../../../extensions/signal/src/probe.js"; -export { resolveSignalReactionLevel } from "../../../extensions/signal/src/reaction-level.js"; -export { + monitorSignalProvider, + probeSignal, removeReactionSignal, + resolveDefaultSignalAccountId, + resolveSignalReactionLevel, + resolveSignalAccount, + sendMessageSignal, sendReactionSignal, -} from "../../../extensions/signal/src/send-reactions.js"; -export { sendMessageSignal } from "../../../extensions/signal/src/send.js"; + signalMessageActions, +} from "../../../extensions/signal/api.js"; diff --git a/src/channels/slack/plugin-sdk-bridge.ts b/src/channels/slack/plugin-sdk-bridge.ts index c9ff3bb5b57..f5be7f96b23 100644 --- a/src/channels/slack/plugin-sdk-bridge.ts +++ b/src/channels/slack/plugin-sdk-bridge.ts @@ -1,6 +1,6 @@ export type { InspectedSlackAccount, ResolvedSlackAccount } from "../../../extensions/slack/api.js"; export type { SlackActionContext } from "../../../extensions/slack/runtime-api.js"; -export type { SlackTarget, SlackTargetKind } from "../../../extensions/slack/src/targets.js"; +export type { SlackTarget, SlackTargetKind } from "../../../extensions/slack/api.js"; export { buildSlackThreadingToolContext, @@ -48,4 +48,4 @@ export { export { listSlackDirectoryGroupsFromConfig, listSlackDirectoryPeersFromConfig, -} from "../../../extensions/slack/src/directory-config.js"; +} from "../../../extensions/slack/api.js"; diff --git a/src/channels/telegram/plugin-sdk-bridge.ts b/src/channels/telegram/plugin-sdk-bridge.ts index 829d3ed4fb6..6e77cfd9700 100644 --- a/src/channels/telegram/plugin-sdk-bridge.ts +++ b/src/channels/telegram/plugin-sdk-bridge.ts @@ -65,4 +65,4 @@ export { export { listTelegramDirectoryGroupsFromConfig, listTelegramDirectoryPeersFromConfig, -} from "../../../extensions/telegram/src/directory-config.js"; +} from "../../../extensions/telegram/api.js"; diff --git a/src/channels/whatsapp/plugin-sdk-bridge.ts b/src/channels/whatsapp/plugin-sdk-bridge.ts index 5b1d6031d91..8574c9473fc 100644 --- a/src/channels/whatsapp/plugin-sdk-bridge.ts +++ b/src/channels/whatsapp/plugin-sdk-bridge.ts @@ -47,4 +47,4 @@ export { export { listWhatsAppDirectoryGroupsFromConfig, listWhatsAppDirectoryPeersFromConfig, -} from "../../../extensions/whatsapp/src/directory-config.js"; +} from "../../../extensions/whatsapp/api.js";