From d3eeadba9456b13ab8c52fd1f89abe21d92526bc Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sat, 18 Apr 2026 19:35:41 +0100 Subject: [PATCH] refactor: drop private channel sdk facades --- src/plugin-sdk/discord.ts | 16 ------- src/plugin-sdk/slack.ts | 30 ------------- src/plugin-sdk/telegram.ts | 43 ------------------- ...-channel-telegram-command-findings.test.ts | 2 +- 4 files changed, 1 insertion(+), 90 deletions(-) delete mode 100644 src/plugin-sdk/discord.ts delete mode 100644 src/plugin-sdk/slack.ts delete mode 100644 src/plugin-sdk/telegram.ts diff --git a/src/plugin-sdk/discord.ts b/src/plugin-sdk/discord.ts deleted file mode 100644 index 535116be4b7..00000000000 --- a/src/plugin-sdk/discord.ts +++ /dev/null @@ -1,16 +0,0 @@ -// Manual facade. Keep loader boundary explicit. -type FacadeModule = typeof import("@openclaw/discord/contract-api.js"); -import { loadBundledPluginPublicSurfaceModuleSync } from "./facade-loader.js"; - -function loadFacadeModule(): FacadeModule { - return loadBundledPluginPublicSurfaceModuleSync({ - dirName: "discord", - artifactBasename: "contract-api.js", - }); -} - -export const collectDiscordSecurityAuditFindings: FacadeModule["collectDiscordSecurityAuditFindings"] = - ((...args) => - loadFacadeModule().collectDiscordSecurityAuditFindings( - ...args, - )) as FacadeModule["collectDiscordSecurityAuditFindings"]; diff --git a/src/plugin-sdk/slack.ts b/src/plugin-sdk/slack.ts deleted file mode 100644 index 0e6995842e9..00000000000 --- a/src/plugin-sdk/slack.ts +++ /dev/null @@ -1,30 +0,0 @@ -// Manual facade. Keep loader boundary explicit. -type InteractiveRepliesSurface = typeof import("@openclaw/slack/interactive-replies-api.js"); -type SecuritySurface = typeof import("@openclaw/slack/security-contract-api.js"); -import { loadBundledPluginPublicSurfaceModuleSync } from "./facade-loader.js"; - -function loadInteractiveRepliesSurface(): InteractiveRepliesSurface { - return loadBundledPluginPublicSurfaceModuleSync({ - dirName: "slack", - artifactBasename: "interactive-replies-api.js", - }); -} - -function loadSecuritySurface(): SecuritySurface { - return loadBundledPluginPublicSurfaceModuleSync({ - dirName: "slack", - artifactBasename: "security-contract-api.js", - }); -} - -export const compileSlackInteractiveReplies: InteractiveRepliesSurface["compileSlackInteractiveReplies"] = - ((...args) => - loadInteractiveRepliesSurface().compileSlackInteractiveReplies( - ...args, - )) as InteractiveRepliesSurface["compileSlackInteractiveReplies"]; - -export const collectSlackSecurityAuditFindings: SecuritySurface["collectSlackSecurityAuditFindings"] = - ((...args) => - loadSecuritySurface().collectSlackSecurityAuditFindings( - ...args, - )) as SecuritySurface["collectSlackSecurityAuditFindings"]; diff --git a/src/plugin-sdk/telegram.ts b/src/plugin-sdk/telegram.ts deleted file mode 100644 index 14597587dd1..00000000000 --- a/src/plugin-sdk/telegram.ts +++ /dev/null @@ -1,43 +0,0 @@ -// Manual facade. Keep loader boundary explicit. -type FacadeModule = typeof import("@openclaw/telegram/contract-api.js"); -type SecurityAuditFacadeModule = typeof import("@openclaw/telegram/security-audit-contract-api.js"); -import { - createLazyFacadeArrayValue, - loadBundledPluginPublicSurfaceModule, - loadBundledPluginPublicSurfaceModuleSync, -} from "./facade-loader.js"; - -function loadFacadeModule(): FacadeModule { - return loadBundledPluginPublicSurfaceModuleSync({ - dirName: "telegram", - artifactBasename: "contract-api.js", - }); -} - -async function loadSecurityAuditFacadeModule(): Promise { - return await loadBundledPluginPublicSurfaceModule({ - dirName: "telegram", - artifactBasename: "security-audit-contract-api.js", - }); -} - -export const parseTelegramTopicConversation: FacadeModule["parseTelegramTopicConversation"] = (( - ...args -) => - loadFacadeModule().parseTelegramTopicConversation( - ...args, - )) as FacadeModule["parseTelegramTopicConversation"]; - -export const singleAccountKeysToMove: FacadeModule["singleAccountKeysToMove"] = - createLazyFacadeArrayValue(() => loadFacadeModule().singleAccountKeysToMove); - -export const collectTelegramSecurityAuditFindings: FacadeModule["collectTelegramSecurityAuditFindings"] = - (async (...args) => - (await loadSecurityAuditFacadeModule()).collectTelegramSecurityAuditFindings( - ...args, - )) as FacadeModule["collectTelegramSecurityAuditFindings"]; - -export const mergeTelegramAccountConfig: FacadeModule["mergeTelegramAccountConfig"] = ((...args) => - loadFacadeModule().mergeTelegramAccountConfig( - ...args, - )) as FacadeModule["mergeTelegramAccountConfig"]; diff --git a/src/security/audit-channel-telegram-command-findings.test.ts b/src/security/audit-channel-telegram-command-findings.test.ts index 15eb281eac2..08eff05ace1 100644 --- a/src/security/audit-channel-telegram-command-findings.test.ts +++ b/src/security/audit-channel-telegram-command-findings.test.ts @@ -1,6 +1,6 @@ import { describe, expect, it, vi } from "vitest"; +import { collectTelegramSecurityAuditFindings } from "../../test/helpers/channels/security-audit-contract.js"; import type { OpenClawConfig } from "../config/config.js"; -import { collectTelegramSecurityAuditFindings } from "../plugin-sdk/telegram.js"; import { withChannelSecurityStateDir } from "./audit-channel-security.test-helpers.js"; type TelegramAuditParams = Parameters[0];