Skip to content

@makaio/bus-server

WebSocket server for MakaioBus message routing.

Core APIs (createBusServer, startBusServer): Pure transport layer — bridges WebSocket clients to MakaioBus registry. No adapter logic.

Vite Plugin: Moved to @makaio/bus-server-vite (../bus-server-vite/). That package combines transport + full runtime initialization via @makaio/runtime-node.

Browser/Client ──WebSocket──→ BusServer ──→ MakaioBus Registry ──→ Handlers

Factory creating a BusServer instance. Pure transport — registers WebSocket server with MakaioBus, routes messages.

import { WebSocketServer } from 'ws';
import { createBusServer } from '@makaio/bus-server';
const wss = new WebSocketServer({ port: 8080 });
const server = createBusServer({ websocket: wss, debug: true });
await server.start(); // Register transport, begin listening
await server.stop(); // Unregister, disconnect clients
server.getConnectionCount(); // Active connections

High-level helper wrapping createBusServer with optional HMAC auth setup.

import { startBusServer } from '@makaio/bus-server/server-lifecycle';
const server = await startBusServer({
websocket: wss,
secret: process.env.BUS_SECRET, // Omit for no auth (dev mode)
debug: true,
});

The Vite plugin lives in @makaio/bus-server-vite (../bus-server-vite/).

TypeDescription
BusServerConfig{ websocket, bus?, auth?, debug? }
BusServer{ transport, start(), stop(), getConnectionCount() }
StartBusServerOptions{ websocket, secret?, debug? }
LoopbackTransportOptionsOptions for the same-server relay proxy
TransportAuthAuth strategy type re-exported from the WebSocket transport
WebSocketServerLikeDuck-typed WebSocket server interface re-exported from the WebSocket transport
@makaio/bus-server → createBusServer, startBusServer, LoopbackTransport, HonoWebSocketBridge
@makaio/bus-server → BusServer, BusServerConfig, StartBusServerOptions, LoopbackTransportOptions
@makaio/bus-server → TransportAuth, WebSocketServerLike
@makaio/bus-server/server-lifecycle → startBusServer