diff --git a/extensions/whatsapp/src/doctor-contract.ts b/extensions/whatsapp/src/doctor-contract.ts new file mode 100644 index 00000000000..4f704ea8e92 --- /dev/null +++ b/extensions/whatsapp/src/doctor-contract.ts @@ -0,0 +1,11 @@ +import type { ChannelDoctorConfigMutation } from "openclaw/plugin-sdk/channel-contract"; +import type { OpenClawConfig } from "openclaw/plugin-sdk/config-runtime"; +import { normalizeCompatibilityConfig as normalizeCompatibilityConfigImpl } from "./doctor.js"; + +export function normalizeCompatibilityConfig({ + cfg, +}: { + cfg: OpenClawConfig; +}): ChannelDoctorConfigMutation { + return normalizeCompatibilityConfigImpl({ cfg }); +} diff --git a/extensions/whatsapp/src/doctor.ts b/extensions/whatsapp/src/doctor.ts index f1fb8448740..02e70e1a6e1 100644 --- a/extensions/whatsapp/src/doctor.ts +++ b/extensions/whatsapp/src/doctor.ts @@ -4,7 +4,11 @@ import type { } from "openclaw/plugin-sdk/channel-contract"; import type { OpenClawConfig } from "openclaw/plugin-sdk/config-runtime"; -function normalizeWhatsAppAckReactionConfig(cfg: OpenClawConfig): ChannelDoctorConfigMutation { +export function normalizeCompatibilityConfig({ + cfg, +}: { + cfg: OpenClawConfig; +}): ChannelDoctorConfigMutation { const legacyAckReaction = cfg.messages?.ackReaction?.trim(); if (!legacyAckReaction || cfg.channels?.whatsapp === undefined) { return { config: cfg, changes: [] }; @@ -48,5 +52,5 @@ function normalizeWhatsAppAckReactionConfig(cfg: OpenClawConfig): ChannelDoctorC } export const whatsappDoctor: ChannelDoctorAdapter = { - normalizeCompatibilityConfig: ({ cfg }) => normalizeWhatsAppAckReactionConfig(cfg), + normalizeCompatibilityConfig, };