Member Junction
    Preparing search index...

    The live native room client the module hands back. The surface mirrors ILiveKitRoomSdk but in the native SDK's own (lower-cased) vocabulary; this adapter maps between the two. VERIFY against the native LiveKit Node SDK wrapper.

    interface NativeRoomClient {
        connect(args: NativeConnectArgs): Promise<NativeConnectResult>;
        disconnect(): Promise<void>;
        flushOutbound(): void;
        getParticipants(): Promise<NativeRoomParticipant[]>;
        onAudioFrame(cb: (frame: NativeRoomAudioFrame) => void): void;
        onAvatarStatus?(cb: (status: NativeAvatarStatus) => void): void;
        onDisconnected(cb: (reason?: string) => void): void;
        onParticipantConnected(
            cb: (participant: NativeRoomParticipant) => void,
        ): void;
        onParticipantDisconnected(cb: (participantIdentity: string) => void): void;
        onVideoFrame?(cb: (frame: NativeRoomVideoFrame) => void): void;
        onVideoSourceEnded?(cb: (source: NativeRoomVideoSourceEnd) => void): void;
        publishAudio(pcm: ArrayBuffer): void;
        publishAvatarMedia?(chunk: NativeAvatarMediaChunk): void;
        publishData(text: string): Promise<void>;
    }

    Implemented by

    Index

    Methods

    • Registers the room-disconnected callback (SFU closed / the bot was removed); reason is the disconnect reason when known.

      Parameters

      • cb: (reason?: string) => void

      Returns void

    • Registers the participant-disconnected callback (identity of the participant that left).

      Parameters

      • cb: (participantIdentity: string) => void

      Returns void

    • Decodes and publishes one piece of the agent's live avatar: the face on a camera track published at its first frame, the voice on the bot's audio track, paced together. It is the bot's only video out: the client publishes no raw camera frames and no screen share. Optional: a wrapper without avatars omits it.

      Parameters

      Returns void