class ProtocolWebSocketTransportAdapterTransport adapter that speaks the thread-centric protocol over a
bidirectional WebSocket. Bound to a threadId at construction or later
via setThreadId — the socket connects to
ws://.../threads/:thread_id/stream/events.
On unexpected disconnect the adapter reconnects with exponential
backoff (see ProtocolWebSocketTransportOptions.maxReconnectAttempts).
The server replays buffered events on the new socket; the SDK
deduplicates by event_id. ProtocolWebSocketTransportOptions.onReconnected
runs after each successful reconnect so ThreadStream can re-issue
subscription.subscribe commands.