UNPKG

@gguf/claw

Version:

WhatsApp gateway CLI (Baileys web) with Pi RPC agent

49 lines (43 loc) 1.32 kB
export type MentionableActivity = { recipient?: { id?: string } | null; entities?: Array<{ type?: string; mentioned?: { id?: string }; }> | null; }; export function normalizeMSTeamsConversationId(raw: string): string { return raw.split(";")[0] ?? raw; } export function extractMSTeamsConversationMessageId(raw: string): string | undefined { if (!raw) { return undefined; } const match = /(?:^|;)messageid=([^;]+)/i.exec(raw); const value = match?.[1]?.trim() ?? ""; return value || undefined; } export function parseMSTeamsActivityTimestamp(value: unknown): Date | undefined { if (!value) { return undefined; } if (value instanceof Date) { return value; } if (typeof value !== "string") { return undefined; } const date = new Date(value); return Number.isNaN(date.getTime()) ? undefined : date; } export function stripMSTeamsMentionTags(text: string): string { // Teams wraps mentions in <at>...</at> tags return text.replace(/<at[^>]*>.*?<\/at>/gi, "").trim(); } export function wasMSTeamsBotMentioned(activity: MentionableActivity): boolean { const botId = activity.recipient?.id; if (!botId) { return false; } const entities = activity.entities ?? []; return entities.some((e) => e.type === "mention" && e.mentioned?.id === botId); }