Adapter Plugins
Opt-in modules that build on top of the adapter’s public API. They don’t change any core behavior - if you don’t import them, they don’t exist. Each plugin ships in its own subdirectory under plugins/ with separate server and client entry points.
All plugins are in-memory and single-instance. For distributed versions backed by Redis/Postgres, see Extensions.
| Plugin | Description |
|---|---|
| Middleware | Composable message processing pipeline for inbound messages |
| Replay | Bridge the SSR-to-WebSocket gap with sequence-tracked message replay |
| Presence | Track who’s connected with multi-tab dedup and live client stores |
| Typed Channels | Validated message schemas per topic → catches typos and shape mismatches at publish time |
| Throttle / Debounce | Per-topic publish rate shaping for rapid-fire updates |
| Rate Limiting | Token-bucket rate limiter for inbound messages with auto-ban support |
| Cursor | Ephemeral state broadcasting for cursors, selections, and drag positions |
| Queue | Per-key async task queue with configurable concurrency and backpressure |
| Broadcast Groups | Named groups with membership, roles, metadata, and lifecycle hooks |
Was this page helpful?