WebSocket
Live push- Persistent connection, per-endpoint group
- Client-driven resume: buffer live, gap-fill from cursor over REST, dedupe by sequence, go live
- Lowest latency; live gaps trigger the same catch-up routine inline; the SDK's SQLite state store makes processing exactly-once across restarts