"""Endpoint prober plugins: how the runner verifies a model endpoint is usable before burning samples. Default 'ping' sends one 1-token request.""" from ..eval.registry import EvalRegistry PROBER_REGISTRY = EvalRegistry('prober') def register_prober(name: str): def decorator(fn): PROBER_REGISTRY.register(name, fn) return fn return decorator def get_prober(name: str = 'ping'): return PROBER_REGISTRY.get(name) @register_prober('ping') async def ping(adapter): from .runner import _default_ping_probe await _default_ping_probe(adapter)