in project/paperbench/paperbench/agents/registry.py [0:0]
def get_agent(self, agent_id: str) -> Agent:
"""Fetch the agent from the registry."""
agents_dir = self.get_agents_dir()
for fpath in agents_dir.glob("**/config.yaml"):
with open(fpath, "r") as f:
contents = yaml.safe_load(f)
if agent_id not in contents:
continue
kwargs = contents[agent_id].get("kwargs", {})
kwargs_type = contents[agent_id].get("kwargs_type", None)
env_vars = contents[agent_id].get("env_vars", {})
privileged = contents[agent_id].get("privileged", False)
# env vars can be used both in kwargs and env_vars
kwargs = parse_env_var_values(kwargs)
env_vars = parse_env_var_values(env_vars)
return Agent.from_dict(
{
**contents[agent_id],
"id": agent_id,
"name": fpath.parent.name,
"agents_dir": agents_dir,
"kwargs": kwargs,
"kwargs_type": kwargs_type,
"env_vars": env_vars,
"privileged": privileged,
}
)
raise ValueError(f"Agent with id {agent_id} not found")