Summary
Real-time event delivery to SDK clients requires a WebSocket endpoint backed by a Redis Streams consumer.
Acceptance Criteria
Files
services/api/ws/hub.go (new), services/api/ws/client.go (new)
Dependencies
Requires github.com/gorilla/websocket or stdlib golang.org/x/net/websocket (decide and document).
Summary
Real-time event delivery to SDK clients requires a WebSocket endpoint backed by a Redis Streams consumer.
Acceptance Criteria
GET /ws— upgrades to WebSocket; acceptscontractIdand optionaltopic0query paramsXREAD BLOCKontrident:eventsstream, filter bycontractId/topic0, write JSON to the WebSocketFiles
services/api/ws/hub.go(new),services/api/ws/client.go(new)Dependencies
Requires
github.com/gorilla/websocketor stdlibgolang.org/x/net/websocket(decide and document).