SelectOption is only invalid if label, value, and index are missing (#463)

This commit is contained in:
Kerem Yilmaz
2024-06-12 16:14:31 -07:00
committed by GitHub
parent 5f48de28c8
commit bce6b6ae32

View File

@@ -211,12 +211,20 @@ def parse_action(action: Dict[str, Any], data_extraction_goal: str | None = None
) )
if action_type == ActionType.SELECT_OPTION: if action_type == ActionType.SELECT_OPTION:
option = action["option"]
if option is None:
raise ValidationError("SelectOptionAction requires an 'option' field")
label = option.get("label")
value = option.get("value")
index = option.get("index")
if label is None and value is None and index is None:
raise ValidationError("At least one of 'label', 'value', or 'index' must be provided for a SelectOption")
return SelectOptionAction( return SelectOptionAction(
element_id=element_id, element_id=element_id,
option=SelectOption( option=SelectOption(
label=action["option"]["label"], label=label,
value=action["option"]["value"], value=value,
index=action["option"]["index"], index=index,
), ),
reasoning=reasoning, reasoning=reasoning,
confidence_float=confidence_float, confidence_float=confidence_float,