Node.js WebSocket consumer dropping Genesys Streaming Analytics events

Building a Node.js consumer to pipe Streaming Analytics events into Kafka. The WebSocket connection to the analytics endpoint holds, but after ~30 seconds, the stream dies silently. No error callback, just stops. Here’s the reconnect logic:

ws.on('close', () => setTimeout(() => connect(), 2000));

Is there a specific keep-alive header I’m missing? The docs are vague on heartbeat intervals for this specific endpoint.