"""evalharness.agent -- evaluation driver for agent benchmarks. NOT a general agent framework: no thinking policies. A message pump that lets the model under test act through Environment plugins and records trajectories for env_reward scorers. Environments and scoring backends are registered plugins -- drop a module in agent/envs/ to add one. """ import importlib import pkgutil from pathlib import Path from .loop import (ENV_REGISTRY, Environment, Trajectory, drive, get_env, register_env, trajectory_to_prediction) def _discover_builtin_envs() -> None: pkg_dir = Path(__file__).parent / 'envs' for info in pkgutil.iter_modules([str(pkg_dir)]): importlib.import_module(f'{__name__}.envs.{info.name}') _discover_builtin_envs() from .envs.bfcl_mock import (BACKEND_REGISTRY, BFCLEnvironment, # noqa: E402,F401 get_backend, register_backend) __all__ = ['Environment', 'Trajectory', 'drive', 'trajectory_to_prediction', 'BFCLEnvironment', 'ENV_REGISTRY', 'register_env', 'get_env', 'BACKEND_REGISTRY', 'register_backend', 'get_backend']