@override Map<String, dynamic> toJson() => { 'protocol': protocol, if (prompts.isNotEmpty) 'prompts': prompts.map((entry) => entry.toJson()).toList(), ...super.toJson(), };