refactor: centralize message provider normalization

This commit is contained in:
Peter Steinberger
2026-01-07 23:52:20 +00:00
parent b03a1ad814
commit 8b4bcc6b7a
8 changed files with 61 additions and 52 deletions

View File

@@ -11,6 +11,7 @@ import {
import { registerAgentRunContext } from "../../infra/agent-events.js";
import { defaultRuntime } from "../../runtime.js";
import { resolveSendPolicy } from "../../sessions/send-policy.js";
import { normalizeMessageProvider } from "../../utils/message-provider.js";
import { normalizeE164 } from "../../utils.js";
import {
type AgentWaitParams,
@@ -138,15 +139,8 @@ export const agentHandlers: GatewayRequestHandlers = {
const runId = idem;
const requestedProviderRaw =
typeof request.provider === "string" ? request.provider.trim() : "";
const requestedProviderNormalized = requestedProviderRaw
? requestedProviderRaw.toLowerCase()
: "last";
const requestedProvider =
requestedProviderNormalized === "imsg"
? "imessage"
: requestedProviderNormalized;
normalizeMessageProvider(request.provider) ?? "last";
const lastProvider = sessionEntry?.lastProvider;
const lastTo =

View File

@@ -6,6 +6,7 @@ import { sendMessageSignal } from "../../signal/index.js";
import { sendMessageSlack } from "../../slack/send.js";
import { sendMessageTelegram } from "../../telegram/send.js";
import { resolveTelegramToken } from "../../telegram/token.js";
import { normalizeMessageProvider } from "../../utils/message-provider.js";
import { resolveDefaultWhatsAppAccountId } from "../../web/accounts.js";
import { sendMessageWhatsApp, sendPollWhatsApp } from "../../web/outbound.js";
import {
@@ -51,8 +52,7 @@ export const sendHandlers: GatewayRequestHandlers = {
}
const to = request.to.trim();
const message = request.message.trim();
const providerRaw = (request.provider ?? "whatsapp").toLowerCase();
const provider = providerRaw === "imsg" ? "imessage" : providerRaw;
const provider = normalizeMessageProvider(request.provider) ?? "whatsapp";
try {
if (provider === "telegram") {
const cfg = loadConfig();
@@ -220,8 +220,7 @@ export const sendHandlers: GatewayRequestHandlers = {
return;
}
const to = request.to.trim();
const providerRaw = (request.provider ?? "whatsapp").toLowerCase();
const provider = providerRaw === "imsg" ? "imessage" : providerRaw;
const provider = normalizeMessageProvider(request.provider) ?? "whatsapp";
if (provider !== "whatsapp" && provider !== "discord") {
respond(
false,