from __future__ import annotations from typing import Callable, Dict from ..models import StateModel, TaskGrade, TaskSpec from .easy import grade as easy_grade from .hard import grade as hard_grade from .medium import grade as medium_grade GRADERS: Dict[str, Callable[[TaskSpec, StateModel], TaskGrade]] = { "easy_support_routing": easy_grade, "medium_support_resolution": medium_grade, "hard_support_queue": hard_grade, } def grade_task(task: TaskSpec, state: StateModel) -> TaskGrade: return GRADERS[task.grader_name](task, state)