/** Accept an exact-key SWR payload from older consumers without weakening tagged chat isolation. */ export function canvasHistoryForChat( payload: { chatId?: string; messages: T[] } | undefined, chatId: string, ): { messages: T[] } | undefined { if (!payload || !chatId || !Array.isArray(payload.messages)) return undefined; if (payload.chatId !== undefined && payload.chatId !== chatId) return undefined; return payload; }