Package Reference

All 31 packages in GoliveKit's modular architecture.

Core

PackageDescription
coreComponent interface, Socket, Assigns, Session, Params
routerHTTP routing, WebSocket upgrade, middleware
transportWebSocket, SSE, Long-polling transports
protocolWire protocol, Phoenix-compatible codec

Rendering

PackageDescription
diffHybrid HTML diff engine with slot caching
streamingSSR with suspense boundaries
islandsPartial hydration (load, visible, idle, interaction, media)

Forms & Validation

PackageDescription
formsEcto-style changesets, validation
uploadsFile uploads (multipart, chunked, S3/GCS)

Real-time

PackageDescription
pubsubReal-time pub/sub messaging
presenceUser presence tracking

State & Storage

PackageDescription
stateState persistence (Memory, Redis)
poolMemory pooling, RingBuffer

Security

PackageDescription
securityAuth, CSRF, XSS sanitization
limitsRate limiting, backpressure

Extensibility

PackageDescription
pluginPlugin system with 15+ hooks
jsJavaScript commands

Observability

PackageDescription
metricsPrometheus-compatible metrics
loggingStructured logging (slog)
tracingOpenTelemetry integration

Infrastructure

PackageDescription
retryExponential backoff with jitter
shutdownGraceful shutdown handler

Utilities

PackageDescription
i18nInternationalization
a11yAccessibility helpers
testingComponent testing utilities

External Dependencies

GoliveKit uses only 3 external dependencies:

  • github.com/gorilla/websocket - WebSocket
  • github.com/google/uuid - UUID generation
  • github.com/vmihailenco/msgpack/v5 - MsgPack codec