from __future__ import annotations from rlbench.backend.utils import task_file_to_task_class def is_bimanual_task_name(task_name: str) -> bool: return task_name.startswith("bimanual_") def resolve_task_class(task_name: str): if task_name == "open_drawer": # The dual-panda RLBench fork provides dedicated bimanual drawer tasks. # Route the generic smoke/rollout task name to the compatible variant. return task_file_to_task_class("right_open_drawer", bimanual=True) return task_file_to_task_class(task_name, bimanual=is_bimanual_task_name(task_name))