class AiCard { final String title; final String subtitle; final String? icon; const AiCard({required this.title, required this.subtitle, this.icon}); factory AiCard.fromJson(Map json) => AiCard( title: json['title'] as String? ?? '', subtitle: json['subtitle'] as String? ?? '', icon: json['icon'] as String?, ); } class AssistantNavigationAction { final String sectionId; final String sectionTitle; final String sectionType; const AssistantNavigationAction({ required this.sectionId, required this.sectionTitle, required this.sectionType, }); factory AssistantNavigationAction.fromJson(Map json) => AssistantNavigationAction( sectionId: json['sectionId'] as String? ?? '', sectionTitle: json['sectionTitle'] as String? ?? '', sectionType: json['sectionType'] as String? ?? '', ); } class AssistantResponse { final String reply; final List? cards; final AssistantNavigationAction? navigation; const AssistantResponse({ required this.reply, this.cards, this.navigation, }); factory AssistantResponse.fromJson(Map json) => AssistantResponse( reply: json['reply'] as String? ?? '', cards: (json['cards'] as List?) ?.map((e) => AiCard.fromJson(e as Map)) .toList(), navigation: json['navigation'] != null ? AssistantNavigationAction.fromJson( json['navigation'] as Map) : null, ); }