From 22a74de693bedfe59dd78023f36f3a36a60fbfd5 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Fri, 1 May 2026 09:36:47 +0100 Subject: [PATCH] refactor: remove unused channel utilities --- extensions/feishu/src/mention.ts | 7 ------- extensions/irc/src/normalize.ts | 16 --------------- extensions/line/src/bot.ts | 16 --------------- .../mattermost/src/mattermost/accounts.ts | 6 ------ extensions/msteams/src/send.ts | 20 ------------------- extensions/nextcloud-talk/src/accounts.ts | 6 ------ extensions/slack/src/token.ts | 7 ------- 7 files changed, 78 deletions(-) diff --git a/extensions/feishu/src/mention.ts b/extensions/feishu/src/mention.ts index 8d477827203..583cca99b50 100644 --- a/extensions/feishu/src/mention.ts +++ b/extensions/feishu/src/mention.ts @@ -13,13 +13,6 @@ type FeishuMentionLike = { name?: string; }; -/** - * Escape regex metacharacters so user-controlled mention fields are treated literally. - */ -export function escapeRegExp(input: string): string { - return input.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); -} - export function isFeishuBroadcastMention(mention: FeishuMentionLike): boolean { const normalizedKey = mention.key?.trim().toLowerCase(); if (normalizedKey === "@all" || normalizedKey === "@_all") { diff --git a/extensions/irc/src/normalize.ts b/extensions/irc/src/normalize.ts index 54c1ea27d74..04769ea7296 100644 --- a/extensions/irc/src/normalize.ts +++ b/extensions/irc/src/normalize.ts @@ -65,22 +65,6 @@ export function normalizeIrcAllowlist(entries?: Array): string[ return (entries ?? []).map((entry) => normalizeIrcAllowEntry(String(entry))).filter(Boolean); } -export function formatIrcSenderId(message: IrcInboundMessage): string { - const base = message.senderNick.trim(); - const user = message.senderUser?.trim(); - const host = message.senderHost?.trim(); - if (user && host) { - return `${base}!${user}@${host}`; - } - if (user) { - return `${base}!${user}`; - } - if (host) { - return `${base}@${host}`; - } - return base; -} - export function buildIrcAllowlistCandidates( message: IrcInboundMessage, params?: { allowNameMatching?: boolean }, diff --git a/extensions/line/src/bot.ts b/extensions/line/src/bot.ts index 2b0103f1ee1..34c050e2238 100644 --- a/extensions/line/src/bot.ts +++ b/extensions/line/src/bot.ts @@ -1,5 +1,4 @@ import type { webhook } from "@line/bot-sdk"; -import type { NextFunction, Request, Response } from "express"; import type { OpenClawConfig } from "openclaw/plugin-sdk/config-types"; import { DEFAULT_GROUP_HISTORY_LIMIT, type HistoryEntry } from "openclaw/plugin-sdk/reply-history"; import { getRuntimeConfig } from "openclaw/plugin-sdk/runtime-config-snapshot"; @@ -12,7 +11,6 @@ import { resolveLineAccount } from "./accounts.js"; import { createLineWebhookReplayCache, handleLineWebhookEvents } from "./bot-handlers.js"; import type { LineInboundContext } from "./bot-message-context.js"; import type { ResolvedLineAccount } from "./types.js"; -import { startLineWebhook } from "./webhook.js"; export interface LineBotOptions { channelAccessToken: string; @@ -70,17 +68,3 @@ export function createLineBot(opts: LineBotOptions): LineBot { account, }; } - -export function createLineWebhookCallback( - bot: LineBot, - channelSecret: string, - path = "/line/webhook", -): { path: string; handler: (req: Request, res: Response, _next: NextFunction) => Promise } { - const { handler } = startLineWebhook({ - channelSecret, - onEvents: bot.handleWebhook, - path, - }); - - return { path, handler }; -} diff --git a/extensions/mattermost/src/mattermost/accounts.ts b/extensions/mattermost/src/mattermost/accounts.ts index 82bc1cf539a..cb864d467ab 100644 --- a/extensions/mattermost/src/mattermost/accounts.ts +++ b/extensions/mattermost/src/mattermost/accounts.ts @@ -139,9 +139,3 @@ export function resolveMattermostReplyToMode( } return account.config.replyToMode ?? "off"; } - -export function listEnabledMattermostAccounts(cfg: OpenClawConfig): ResolvedMattermostAccount[] { - return listMattermostAccountIds(cfg) - .map((accountId) => resolveMattermostAccount({ cfg, accountId })) - .filter((account) => account.enabled); -} diff --git a/extensions/msteams/src/send.ts b/extensions/msteams/src/send.ts index ff516b27528..22db50911d0 100644 --- a/extensions/msteams/src/send.ts +++ b/extensions/msteams/src/send.ts @@ -1,7 +1,6 @@ import { resolveMarkdownTableMode } from "openclaw/plugin-sdk/markdown-table-runtime"; import { convertMarkdownTables } from "openclaw/plugin-sdk/text-runtime"; import { loadOutboundMediaFromUrl, type OpenClawConfig } from "../runtime-api.js"; -import { createMSTeamsConversationStoreFs } from "./conversation-store-fs.js"; import { classifyMSTeamsSendError, formatMSTeamsSendErrorHint, @@ -636,22 +635,3 @@ export async function deleteMessageMSTeams( return { conversationId }; } - -/** - * List all known conversation references (for debugging/CLI). - */ -export async function listMSTeamsConversations(): Promise< - Array<{ - conversationId: string; - userName?: string; - conversationType?: string; - }> -> { - const store = createMSTeamsConversationStoreFs(); - const all = await store.list(); - return all.map(({ conversationId, reference }) => ({ - conversationId, - userName: reference.user?.name, - conversationType: reference.conversation?.conversationType, - })); -} diff --git a/extensions/nextcloud-talk/src/accounts.ts b/extensions/nextcloud-talk/src/accounts.ts index 8bba3d5fd5b..36d0fa54f90 100644 --- a/extensions/nextcloud-talk/src/accounts.ts +++ b/extensions/nextcloud-talk/src/accounts.ts @@ -137,9 +137,3 @@ export function resolveNextcloudTalkAccount(params: { resolveDefaultAccountId: () => resolveDefaultNextcloudTalkAccountId(params.cfg), }); } - -export function listEnabledNextcloudTalkAccounts(cfg: CoreConfig): ResolvedNextcloudTalkAccount[] { - return listNextcloudTalkAccountIds(cfg) - .map((accountId) => resolveNextcloudTalkAccount({ cfg, accountId })) - .filter((account) => account.enabled); -} diff --git a/extensions/slack/src/token.ts b/extensions/slack/src/token.ts index 03c8c653344..292d2ec80dd 100644 --- a/extensions/slack/src/token.ts +++ b/extensions/slack/src/token.ts @@ -1,12 +1,5 @@ import { normalizeResolvedSecretInputString } from "openclaw/plugin-sdk/secret-input"; -export function normalizeSlackToken(raw?: unknown): string | undefined { - return normalizeResolvedSecretInputString({ - value: raw, - path: "channels.slack.*.token", - }); -} - export function resolveSlackBotToken( raw?: unknown, path = "channels.slack.botToken",