2026-05-06 17:29:44 -04:00
|
|
|
module code.cubecraftcreations.com/CubeCraft-Creations/Control-Center/go-backend
|
|
|
|
|
|
|
|
|
|
go 1.23
|
|
|
|
|
|
|
|
|
|
require (
|
|
|
|
|
github.com/go-chi/chi/v5 v5.2.0
|
|
|
|
|
github.com/go-chi/cors v1.2.1
|
|
|
|
|
github.com/go-playground/validator/v10 v10.24.0
|
|
|
|
|
github.com/google/uuid v1.6.0
|
CUB-200: implement WebSocket gateway client with v3 protocol
Replace REST poller with WebSocket client as primary gateway connection:
- wsclient.go: WebSocket client with v3 handshake (connect.challenge →
connect → hello-ok), frame routing (req/res/event), JSON-RPC Send(),
auto-reconnect with exponential backoff (1s → 30s max)
- sync.go: Initial sync via agents.list + sessions.list RPCs, merge
session runtime state into AgentCardData, broadcast fleet.update
- events.go: Real-time event handlers for sessions.changed, presence,
and agent.config — DB update first, then SSE broadcast
- client.go: REST poller retained as fallback (WS is primary)
- config.go: Add GATEWAY_WS_URL and OPENCLAW_GATEWAY_TOKEN env vars
- main.go: Wire WS client as primary, REST as fallback
- .env.example: Document new WS config vars
Fallback: If WS connection fails, seeded demo data + REST polling
remain available.
2026-05-20 11:33:17 +00:00
|
|
|
github.com/gorilla/websocket v1.5.3
|
2026-05-07 14:16:05 -04:00
|
|
|
github.com/jackc/pgx/v5 v5.7.2
|
2026-05-06 17:29:44 -04:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
require (
|
|
|
|
|
github.com/gabriel-vasile/mimetype v1.4.8 // indirect
|
|
|
|
|
github.com/go-playground/locales v0.14.1 // indirect
|
|
|
|
|
github.com/go-playground/universal-translator v0.18.1 // indirect
|
2026-05-07 14:16:05 -04:00
|
|
|
github.com/jackc/pgpassfile v1.0.0 // indirect
|
|
|
|
|
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect
|
|
|
|
|
github.com/jackc/puddle/v2 v2.2.2 // indirect
|
2026-05-06 17:29:44 -04:00
|
|
|
github.com/leodido/go-urn v1.4.0 // indirect
|
|
|
|
|
golang.org/x/crypto v0.32.0 // indirect
|
|
|
|
|
golang.org/x/net v0.34.0 // indirect
|
2026-05-07 14:16:05 -04:00
|
|
|
golang.org/x/sync v0.10.0 // indirect
|
2026-05-06 17:29:44 -04:00
|
|
|
golang.org/x/sys v0.29.0 // indirect
|
|
|
|
|
golang.org/x/text v0.21.0 // indirect
|
|
|
|
|
)
|