trellis
Version:
Agentic State Engine — event-sourced causal graph with branching, decision traces, and realtime sync for AI-native applications
46 lines • 2.42 kB
TypeScript
/**
* Trellis Realtime — Public Surface
*
* Ephemeral presence + broadcast primitives for multiplayer UI: active-user
* avatars, chat, live cursors, and collaborative text. Distinct from the
* persisted VCS op log — realtime data is mesh-broadcast and never written to
* the causal history.
*
* @module trellis/realtime
*
* import {
* RealtimeRoom,
* BroadcastChannelTransport,
* WebSocketRelayTransport,
* } from 'trellis/realtime';
*
* const room = RealtimeRoom.join({
* transport: new BroadcastChannelTransport({ id, channel: 'room:42' }),
* initialPresence: { name: 'Ada', color: '#6d5bfa' },
* });
*
* // Or relay across browsers:
* new WebSocketRelayTransport({ id, url: 'ws://localhost:8231/rt' });
*/
export { RealtimeRoom } from './room.js';
export type { RealtimeRoomOptions } from './room.js';
export { MemoryHub, MemoryRealtimeTransport } from './memory-hub.js';
export { BroadcastChannelTransport } from './broadcast-channel-transport.js';
export type { BroadcastChannelTransportOptions } from './broadcast-channel-transport.js';
export { WebSocketRelayTransport } from './websocket-relay-transport.js';
export type { WebSocketRelayTransportOptions } from './websocket-relay-transport.js';
export { DurableObjectRelayTransport } from './durable-object-relay-transport.js';
export type { DurableObjectRelayTransportOptions, DurableObjectRelayReconnect, } from './durable-object-relay-transport.js';
export { joinPresence, createPresenceTransport } from './presence.js';
export type { PresenceOptions } from './presence.js';
export { RelayPersistence, DEFAULT_MAX_CHAT, DEFAULT_MAX_TEXT_OPS, } from './relay-persistence.js';
export type { RelayPersistenceOptions } from './relay-persistence.js';
export { PersistentChannel, localStorageChannelStore, DEFAULT_MAX_RECORDS, } from './persistent-channel.js';
export type { ChannelRecord, ChannelStore, PersistentChannelOptions, } from './persistent-channel.js';
export { RealtimeText } from './text.js';
export type { RealtimeTextOptions, TextNode, TextOp } from './text.js';
export { REALTIME_PROTOCOL } from './types.js';
export type { PresenceState, PresencePeer, BroadcastEvent, RealtimeMessage, RealtimeTransport, } from './types.js';
export { createBlobClient } from './blob-client.js';
export type { BlobClient, BlobClientOptions } from './blob-client.js';
//# sourceMappingURL=index.d.ts.map