def METHOD_NAME() -> IAgentRepository:
    def get_agent_by_id(agent_id: AgentID) -> Agent:
        for agent in ALL_AGENTS:
            if agent.id == agent_id:
                return copy(agent)
        raise UnknownRecordError(str(agent_id))
    agent_repository = MagicMock(spec=IAgentRepository)
    agent_repository.get_progenitor = MagicMock(return_value=copy(AGENT_1))
    agent_repository.get_agent_by_id = MagicMock(side_effect=get_agent_by_id)
    agent_repository.get_running_agents = MagicMock(
        return_value=[copy(a) for a in ALL_AGENTS if a.stop_time is None]
    )
    return agent_repository