@override Future<Map<String, dynamic>?> loadThread(String threadId) async { final thread = _threads[threadId]; if (thread == null) return null; return Map<String, dynamic>.from(thread); }