From 38a4b2b14ccff1c209e57da8dbb4d2cdd6fbad02 Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Fri, 3 Apr 2026 23:44:44 +0900 Subject: [PATCH] refactor(signal): route target normalization through channel-targets --- extensions/signal/src/approval-auth.ts | 2 +- extensions/signal/src/channel.ts | 5 ++++- extensions/signal/src/monitor/event-handler.ts | 2 +- extensions/signal/src/runtime-api.ts | 5 ++++- src/plugin-sdk/channel-targets.ts | 4 ++++ 5 files changed, 14 insertions(+), 4 deletions(-) diff --git a/extensions/signal/src/approval-auth.ts b/extensions/signal/src/approval-auth.ts index ac27f101358..83006136101 100644 --- a/extensions/signal/src/approval-auth.ts +++ b/extensions/signal/src/approval-auth.ts @@ -2,10 +2,10 @@ import { createResolvedApproverActionAuthAdapter, resolveApprovalApprovers, } from "openclaw/plugin-sdk/approval-runtime"; +import { normalizeSignalMessagingTarget } from "openclaw/plugin-sdk/channel-targets"; import { normalizeE164 } from "openclaw/plugin-sdk/text-runtime"; import { resolveSignalAccount } from "./accounts.js"; import { looksLikeUuid } from "./identity.js"; -import { normalizeSignalMessagingTarget } from "./normalize.js"; function normalizeSignalApproverId(value: string | number): string | undefined { const normalized = normalizeSignalMessagingTarget(String(value)); diff --git a/extensions/signal/src/channel.ts b/extensions/signal/src/channel.ts index ece0afc7194..bd479f4690e 100644 --- a/extensions/signal/src/channel.ts +++ b/extensions/signal/src/channel.ts @@ -4,6 +4,10 @@ import { attachChannelToResult, attachChannelToResults, } from "openclaw/plugin-sdk/channel-send-result"; +import { + looksLikeSignalTargetId, + normalizeSignalMessagingTarget, +} from "openclaw/plugin-sdk/channel-targets"; import { resolveMarkdownTableMode } from "openclaw/plugin-sdk/config-runtime"; import { createChatChannelPlugin } from "openclaw/plugin-sdk/core"; import { resolveOutboundSendDep } from "openclaw/plugin-sdk/outbound-runtime"; @@ -14,7 +18,6 @@ import { resolveSignalAccount, type ResolvedSignalAccount } from "./accounts.js" import { signalApprovalAuth } from "./approval-auth.js"; import { markdownToSignalTextChunks } from "./format.js"; import { signalMessageActions } from "./message-actions.js"; -import { looksLikeSignalTargetId, normalizeSignalMessagingTarget } from "./normalize.js"; import { resolveSignalOutboundTarget } from "./outbound-session.js"; import { resolveSignalReactionLevel } from "./reaction-level.js"; import { diff --git a/extensions/signal/src/monitor/event-handler.ts b/extensions/signal/src/monitor/event-handler.ts index 612c4896fd3..db030e4156f 100644 --- a/extensions/signal/src/monitor/event-handler.ts +++ b/extensions/signal/src/monitor/event-handler.ts @@ -14,6 +14,7 @@ import { resolveMentionGatingWithBypass, } from "openclaw/plugin-sdk/channel-inbound"; import { createChannelReplyPipeline } from "openclaw/plugin-sdk/channel-reply-pipeline"; +import { normalizeSignalMessagingTarget } from "openclaw/plugin-sdk/channel-targets"; import { resolveControlCommandGate } from "openclaw/plugin-sdk/command-auth"; import { hasControlCommand } from "openclaw/plugin-sdk/command-auth"; import { @@ -56,7 +57,6 @@ import { resolveSignalSender, type SignalSender, } from "../identity.js"; -import { normalizeSignalMessagingTarget } from "../normalize.js"; import { sendMessageSignal, sendReadReceiptSignal, sendTypingSignal } from "../send.js"; import { handleSignalDirectMessageAccess, resolveSignalAccessState } from "./access-policy.js"; import type { diff --git a/extensions/signal/src/runtime-api.ts b/extensions/signal/src/runtime-api.ts index 57bed8e3c3a..90dd7e4c5a6 100644 --- a/extensions/signal/src/runtime-api.ts +++ b/extensions/signal/src/runtime-api.ts @@ -35,7 +35,10 @@ export { createDefaultChannelRuntimeState, } from "openclaw/plugin-sdk/status-helpers"; export { normalizeE164 } from "openclaw/plugin-sdk/text-runtime"; -export { looksLikeSignalTargetId, normalizeSignalMessagingTarget } from "./normalize.js"; +export { + looksLikeSignalTargetId, + normalizeSignalMessagingTarget, +} from "openclaw/plugin-sdk/channel-targets"; export { listEnabledSignalAccounts, listSignalAccountIds, diff --git a/src/plugin-sdk/channel-targets.ts b/src/plugin-sdk/channel-targets.ts index e36a925ff7a..c6b15132605 100644 --- a/src/plugin-sdk/channel-targets.ts +++ b/src/plugin-sdk/channel-targets.ts @@ -37,6 +37,10 @@ export { type ParsedChatTarget, type ServicePrefix, } from "../channels/plugins/chat-target-prefixes.js"; +export { + looksLikeSignalTargetId, + normalizeSignalMessagingTarget, +} from "../channels/plugins/normalize/signal.js"; export type { ChannelId } from "../channels/plugins/types.js"; export { normalizeChannelId } from "../channels/plugins/registry.js"; export {