The key question is this: given a link and some subsequently-received websocket data, could a second client reconstruct the same application state given only a link? If the answer to that is "no", then what you have is not a system which supports HATEOAS. It's just not something people pay attention to once websockets are in the mix. Granted, you might get there by accident, depending on what you're doing with them, but I don't often see that as a design goal.
http://http-kit.github.io/http-kit/org.httpkit.server.html#v...
I'm sure similar things exist in other ecosystems too, so it's not impossible.
The homepage is probably better to understand the project than the API reference provided above.
There's no reason that REST can't be bi-directional, but it means that each client is also a server. Most people don't write code like that.