async fn connect_and_run( token: &str, agents: Arc<Mutex<HashSet<String>>>, ctrl_rx: &mut UnboundedReceiver<CtrlMsg>, mstore: &Arc<Store>, http: &Client, ) -> Result<(), String>