from pydantic import BaseModel from typing import List, Optional from models.item import Item from models.constraint import Constraint from models.irt_model import IRTModel from models.objective_function import ObjectiveFunction from models.advanced_options import AdvancedOptions class SolverRun(BaseModel): items: List[Item] constraints: List[Constraint] irt_model: IRTModel objective_function: ObjectiveFunction total_form_items: int theta_cut_score: float = 0.00 advanced_options: Optional[AdvancedOptions] engine: str