Are you an LLM? You can read better optimized documentation at /reference/cheatsheets/options.md for this page in Markdown format
Server & client options
The common options for createSuperLineServer(contract, options) and createSuperLineClient(contract, options). The authoritative, exhaustive set is generated from source — see @super-line/server and @super-line/client.
Server — createSuperLineServer
| Option | Required | What it does |
|---|---|---|
transports | ✓ | the client↔server wire(s) the server accepts |
authenticate | ✓ | runs once per connection; returns { role, ctx } (throw to reject at handshake) — see Roles & auth |
identify | map a connection to a stable user id (for presence + toUser) | |
serializer | custom wire codec — see Serialization | |
adapter | server↔server fan-out for multi-node (in-memory by default) | |
nodeName | a friendly node label surfaced in Control Center | |
collections | the row-collection backend (one per server) | |
crdtCollections | the CRDT document backend | |
policies | per-collection read/write policies (deny-by-default) | |
checkReferences | opt into advisory FK existence checks | |
onConnection | a per-connection hook ((conn, ctx) => void) |
The inspector is now a plugin (
@super-line/plugin-inspector), not a server option — add it viaplugins: [...].
Client — createSuperLineClient
| Option | Required | What it does |
|---|---|---|
transport | ✓ | the client wire (the only line that changes between wires) |
role | ✓ | narrows the surface to shared ∪ role; verified by the server's authenticate |
params | handshake params, readable server-side as h.query.* | |
crdtCollections | the universal CRDT client engine (crdtCollectionsClient()) | |
serializer | a codec matching the server's — see Serialization |
See the API reference for every option and its exact type.