Spaces:
Running
Running
| from __future__ import annotations | |
| from typing import Any, Dict | |
| from env.tasks import GRADERS, TASK_SPECS, TaskSpec, get_task, schema_json, task_names | |
| def easy_grader(candidate: Dict[str, Any]) -> float: | |
| return GRADERS["easy"](candidate) | |
| def medium_grader(candidate: Dict[str, Any]) -> float: | |
| return GRADERS["medium"](candidate) | |
| def hard_grader(candidate: Dict[str, Any]) -> float: | |
| return GRADERS["hard"](candidate) | |
| # Canonical checker-friendly task registry: each entry explicitly exposes a grader. | |
| TASKS = [ | |
| {"name": "easy", "difficulty": "easy", "grader": easy_grader, "spec": get_task("easy")}, | |
| {"name": "medium", "difficulty": "medium", "grader": medium_grader, "spec": get_task("medium")}, | |
| {"name": "hard", "difficulty": "hard", "grader": hard_grader, "spec": get_task("hard")}, | |
| ] | |
| # Backward-compatible alias. | |
| TASKS_WITH_GRADERS = TASKS | |
| __all__ = [ | |
| "TaskSpec", | |
| "get_task", | |
| "schema_json", | |
| "task_names", | |
| "TASK_SPECS", | |
| "easy_grader", | |
| "medium_grader", | |
| "hard_grader", | |
| "TASKS", | |
| "TASKS_WITH_GRADERS", | |
| ] | |