export type NormalizedMessage = { phone: string; // E.164 without +, e.g. "919949879837" name: string; // sender name from WhatsApp profile text: string; // message text (or button reply title) type: 'text' | 'interactive_reply' | 'location' | 'image' | 'unknown'; interactiveReply?: { // populated when user taps a button or list item id: string; // button/row ID set by us title: string; // display text }; rawPayload: any; // original provider payload for debugging }; export type ConversationEntry = { role: 'user' | 'assistant'; content: string; timestamp: number; }; export type InteractiveButton = { id: string; title: string; // max 20 chars for WhatsApp }; export type ListSection = { title: string; rows: { id: string; title: string; description?: string }[]; };