export function trimMessagingTarget(raw: string): string | undefined { const trimmed = raw.trim(); return trimmed || undefined; } export function looksLikeHandleOrPhoneTarget(params: { raw: string; prefixPattern: RegExp; phonePattern?: RegExp; }): boolean { const trimmed = params.raw.trim(); if (!trimmed) { return false; } if (params.prefixPattern.test(trimmed)) { return true; } if (trimmed.includes("@")) { return true; } return (params.phonePattern ?? /^\+?\d{3,}$/).test(trimmed); }