pratik-250620/MultiModal-Coherence-AI
2
1from typing import Any, Dict2 3LIST_FIELDS = {4 "primary_entities",5 "secondary_entities",6 "visual_attributes",7 "style",8 "mood_emotion",9 "narrative_tone",10 "audio_intent",11 "audio_elements",12 "must_include",13 "must_avoid",14}15 16 17def normalize_plan_fields(data: Dict[str, Any]) -> Dict[str, Any]:18 """19 Ensures all list-based semantic fields are lists,20 even if LLM returns a single string.21 """22 for field in LIST_FIELDS:23 if field in data:24 value = data[field]25 if isinstance(value, str):26 data[field] = [value]27 elif value is None:28 data[field] = []29 return data30 