@juspay/neurolink
Version:
The pipe layer of an AI nervous system: one interface connecting provider neurons to your application, across three inference types — generate, stream and decide. `decide` returns typed, calibrated judgements from a non-generative model (~400ms, ~$0.00002
28 lines (27 loc) • 1.25 kB
TypeScript
/**
* Data-channel event bridge.
*
* Connects NeuroLink's event emitter to the LiveKit room's data channel: it
* forwards NeuroLink events (text deltas, tool start/result, HITL prompts,
* stream lifecycle) to the browser as small versioned envelopes, and accepts
* control messages (HITL responses) back, re-emitting them onto the emitter so
* NeuroLink's HITL manager resolves.
*
* This is the WebRTC counterpart of the chat-mode SSE controller: same event
* source, different transport. The browser renders the envelopes (transcript,
* tool status, charts, confirmation prompts).
*
* `@livekit/rtc-node` is an optional dependency, imported dynamically only for
* the `RoomEvent` enum value. All payloads arrive typed as `unknown` and are
* narrowed with runtime guards — no type assertions.
*
* See docs/features/livekit-voice-agent.md.
*/
import type { LiveKitEventBridgeHandle, LiveKitEventBridgeParams } from "../../types/index.js";
/**
* Attach the data-channel event bridge to a room.
*
* Returns a handle whose `dispose()` removes every listener and stops
* publishing; it is safe to call more than once.
*/
export declare function attachEventBridge(params: LiveKitEventBridgeParams): Promise<LiveKitEventBridgeHandle>;