import type { ReplyPayload } from "../../auto-reply/types.js"; export type NormalizedOutboundPayload = { text: string; mediaUrls: string[]; }; export type OutboundPayloadJson = { text: string; mediaUrl: string | null; mediaUrls?: string[]; }; export function normalizeOutboundPayloads(payloads: ReplyPayload[]): NormalizedOutboundPayload[] { return payloads .map((payload) => ({ text: payload.text ?? "", mediaUrls: payload.mediaUrls ?? (payload.mediaUrl ? [payload.mediaUrl] : []), })) .filter((payload) => payload.text || payload.mediaUrls.length > 0); } export function normalizeOutboundPayloadsForJson(payloads: ReplyPayload[]): OutboundPayloadJson[] { return payloads.map((payload) => ({ text: payload.text ?? "", mediaUrl: payload.mediaUrl ?? null, mediaUrls: payload.mediaUrls ?? (payload.mediaUrl ? [payload.mediaUrl] : undefined), })); } export function formatOutboundPayloadLog(payload: NormalizedOutboundPayload): string { const lines: string[] = []; if (payload.text) lines.push(payload.text.trimEnd()); for (const url of payload.mediaUrls) lines.push(`MEDIA:${url}`); return lines.join("\n"); }