Node.js WebSocket consumer dropping Genesys Cloud analytics events after 20 minutes

We’ve built a Node.js service to subscribe to Genesys Cloud streaming analytics via WebSocket and push events to Kafka. The connection holds, but after exactly 20 minutes, the consumer stops receiving call-started events without throwing an error. We’re using the standard genesyscloud SDK helper. Is there a specific heartbeat interval we need to implement in the client code? The logs show no disconnect. Here’s the subscription setup:

const client = require('genesyscloud');
client.init({ ... });
client.events.subscribe('/api/v2/analytics/events', (msg) => {
 console.log('Event:', msg.type);
});

Any ideas on why it goes silent?