What an HTTP adapter should do with an inbound upgrade request, as decided
by the WebSocketUpgradeRouter.
Discriminated on accept, so an adapter narrows with a single check.
{ readonly accept: true; readonly sink: WebSocketEventSink; readonly protocol?: string; }
| { readonly accept: false; readonly status: number; }