Spike/api hyperagent

https://www.openproject.org/work_packages/8319
https://www.openproject.org/work_packages/11927
you don't need to be that explicit unless the hyperagent doesn't have a proper ``main`` definition