From 6fdea7c75546cbb57ff2d6084c83a976fce695f1 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Tue, 7 Apr 2026 13:16:07 +0100 Subject: [PATCH] fix(extensions): bypass stale helper runtime exports --- extensions/discord/src/doctor-contract.ts | 12 +++++++++++- extensions/zalouser/src/session-route.ts | 13 +++++++++---- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/extensions/discord/src/doctor-contract.ts b/extensions/discord/src/doctor-contract.ts index fa8c7adfeb4..76ebf4be832 100644 --- a/extensions/discord/src/doctor-contract.ts +++ b/extensions/discord/src/doctor-contract.ts @@ -4,7 +4,6 @@ import type { } from "openclaw/plugin-sdk/channel-contract"; import type { OpenClawConfig } from "openclaw/plugin-sdk/config-runtime"; import { - hasLegacyAccountStreamingAliases, normalizeLegacyDmAliases, normalizeLegacyStreamingAliases, } from "openclaw/plugin-sdk/runtime-doctor"; @@ -35,6 +34,17 @@ function hasLegacyDiscordStreamingAliases(value: unknown): boolean { return typeof streaming === "string" || typeof streaming === "boolean"; } +function hasLegacyAccountStreamingAliases( + value: unknown, + match: (entry: unknown) => boolean, +): boolean { + const accounts = asObjectRecord(value); + if (!accounts) { + return false; + } + return Object.values(accounts).some((account) => match(account)); +} + const LEGACY_TTS_PROVIDER_KEYS = ["openai", "elevenlabs", "microsoft", "edge"] as const; function hasLegacyTtsProviderKeys(value: unknown): boolean { diff --git a/extensions/zalouser/src/session-route.ts b/extensions/zalouser/src/session-route.ts index f458b768189..30bfbeb5794 100644 --- a/extensions/zalouser/src/session-route.ts +++ b/extensions/zalouser/src/session-route.ts @@ -2,10 +2,15 @@ import { buildChannelOutboundSessionRoute, type ChannelOutboundSessionRouteParams, } from "openclaw/plugin-sdk/core"; -import { - normalizeLowercaseStringOrEmpty, - normalizeOptionalLowercaseString, -} from "openclaw/plugin-sdk/text-runtime"; + +function normalizeLowercaseStringOrEmpty(value: unknown): string { + return typeof value === "string" ? value.trim().toLowerCase() : ""; +} + +function normalizeOptionalLowercaseString(value: unknown): string | undefined { + const normalized = normalizeLowercaseStringOrEmpty(value); + return normalized || undefined; +} export function stripZalouserTargetPrefix(raw: string): string { return raw