From 3ff4a374a0500c444cb3edb8e0ecff7ee9d9de48 Mon Sep 17 00:00:00 2001 From: Gustavo Madeira Santana Date: Mon, 20 Apr 2026 20:20:26 -0400 Subject: [PATCH] fix: resolve read-only review followups --- extensions/telegram/src/security.ts | 20 ++++++++++++-------- src/channels/plugins/read-only.ts | 2 +- 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/extensions/telegram/src/security.ts b/extensions/telegram/src/security.ts index 818cbd1f667..15aac107e59 100644 --- a/extensions/telegram/src/security.ts +++ b/extensions/telegram/src/security.ts @@ -1,7 +1,17 @@ +import { createScopedDmSecurityResolver } from "openclaw/plugin-sdk/channel-config-helpers"; +import type { ChannelPlugin } from "openclaw/plugin-sdk/channel-core"; import { createAllowlistProviderRouteAllowlistWarningCollector } from "openclaw/plugin-sdk/channel-policy"; import type { ResolvedTelegramAccount } from "./accounts.js"; import { collectTelegramSecurityAuditFindings } from "./security-audit.js"; +const resolveTelegramDmPolicy = createScopedDmSecurityResolver({ + channelKey: "telegram", + resolvePolicy: (account) => account.config.dmPolicy, + resolveAllowFrom: (account) => account.config.allowFrom, + policyPathSuffix: "dmPolicy", + normalizeEntry: (raw) => raw.replace(/^(telegram|tg):/i, ""), +}); + const collectTelegramSecurityWarnings = createAllowlistProviderRouteAllowlistWarningCollector({ providerConfigPresent: (cfg) => cfg.channels?.telegram !== undefined, @@ -24,13 +34,7 @@ const collectTelegramSecurityWarnings = }); export const telegramSecurityAdapter = { - dm: { - channelKey: "telegram", - resolvePolicy: (account: ResolvedTelegramAccount) => account.config.dmPolicy, - resolveAllowFrom: (account: ResolvedTelegramAccount) => account.config.allowFrom, - policyPathSuffix: "dmPolicy", - normalizeEntry: (raw: string) => raw.replace(/^(telegram|tg):/i, ""), - }, + resolveDmPolicy: resolveTelegramDmPolicy, collectWarnings: collectTelegramSecurityWarnings, collectAuditFindings: collectTelegramSecurityAuditFindings, -}; +} satisfies NonNullable["security"]>; diff --git a/src/channels/plugins/read-only.ts b/src/channels/plugins/read-only.ts index 1b1f01c39df..c92ab403f66 100644 --- a/src/channels/plugins/read-only.ts +++ b/src/channels/plugins/read-only.ts @@ -135,7 +135,7 @@ export function listReadOnlyChannelPluginsForConfig( workspaceDir, env, cache: options.cache, - includePersistedAuthState: options.includePersistedAuthState, + includePersistedAuthState: options.includePersistedAuthState ?? false, manifestRecords: externalManifestRecords, }), ),