From 455535a4f90751c84497fa9ac3bc553ac7be31e8 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sat, 11 Apr 2026 06:48:38 +0100 Subject: [PATCH] perf: avoid plugin index for target normalization --- src/infra/outbound/target-normalization.test.ts | 5 ++++- src/infra/outbound/target-normalization.ts | 5 +++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/infra/outbound/target-normalization.test.ts b/src/infra/outbound/target-normalization.test.ts index 0f9a6bcaf3c..d4155fc3f9d 100644 --- a/src/infra/outbound/target-normalization.test.ts +++ b/src/infra/outbound/target-normalization.test.ts @@ -15,8 +15,11 @@ let resolveNormalizedTargetInput: TargetNormalizationModule["resolveNormalizedTa let normalizeTargetForProvider: TargetNormalizationModule["normalizeTargetForProvider"]; let resetTargetNormalizerCacheForTests: TargetNormalizationModule["__testing"]["resetTargetNormalizerCacheForTests"]; +vi.mock("../../channels/registry.js", () => ({ + normalizeAnyChannelId: (...args: unknown[]) => normalizeChannelIdMock(...args), +})); + vi.mock("../../channels/plugins/index.js", () => ({ - normalizeChannelId: (...args: unknown[]) => normalizeChannelIdMock(...args), getChannelPlugin: (...args: unknown[]) => getChannelPluginMock(...args), })); diff --git a/src/infra/outbound/target-normalization.ts b/src/infra/outbound/target-normalization.ts index da267484f52..2ce9b558a42 100644 --- a/src/infra/outbound/target-normalization.ts +++ b/src/infra/outbound/target-normalization.ts @@ -1,5 +1,6 @@ -import { getChannelPlugin, normalizeChannelId } from "../../channels/plugins/index.js"; +import { getChannelPlugin } from "../../channels/plugins/index.js"; import type { ChannelDirectoryEntryKind, ChannelId } from "../../channels/plugins/types.js"; +import { normalizeAnyChannelId } from "../../channels/registry.js"; import type { OpenClawConfig } from "../../config/config.js"; import { getActivePluginChannelRegistryVersion } from "../../plugins/runtime.js"; import { normalizeOptionalString } from "../../shared/string-coerce.js"; @@ -47,7 +48,7 @@ export function normalizeTargetForProvider(provider: string, raw?: string): stri if (!fallback) { return undefined; } - const providerId = normalizeChannelId(provider); + const providerId = normalizeAnyChannelId(provider); const normalizer = providerId ? resolveTargetNormalizer(providerId) : undefined; return normalizeOptionalString(normalizer?.(raw) ?? fallback); }