Map<String, dynamic> toJson() => { 'name': name, 'description': description, 'parameters': parameters.map((p) => p.toJson()).toList(), if (category != null) 'category': category, };