Catalog npm
PACKAGE EXPLORERView in registry

0.1.0-alpha.14

npm

Vroom Core SDK - Platform-agnostic RTC abstraction layer

Versions collected1
Direct dependencies6From release 0.1.0
Last observed20 Oct, 16:12 UTC

README

Current package documentation

Vroom Client JS

Platform-agnostic Core SDK for building real-time communication experiences.

Features

  • Simple API - Initialize once, connect to rooms with a single call
  • Auto Token Exchange - SDK handles authentication automatically
  • Type-Safe - Full TypeScript support
  • Production Ready - Auto-reconnect and error handling built-in

Installation

npm install @vroom/client-js

React Native

WebRTC globals are initialized automatically inside Vroom.connect() — no manual polyfill setup required.

For RN-specific helpers (e.g., RTCView for rendering remote video), use the dedicated subpath:

import { RTCView, MediaStream } from '@vroom/client-js/react-native'

Required peer dependencies

npm install @livekit/react-native @livekit/react-native-webrtc

Then on iOS, run pod install.

Quick Start

import { Vroom, SessionEvent } from '@vroom/client-js'

// 1. Initialize (once at app startup)
await Vroom.init({ apiKey: 'your-api-key' })

// 2. Connect to room
const session = await Vroom.connect({
  roomName: 'meeting-123',
  user: { id: 'user-1', displayName: 'Alice', role: 'host' },
  type: 'group',
  media: { audio: true, video: true },
  eventHandlers: {
    [SessionEvent.ParticipantJoined]: ({ participant }) => {
      console.log(`${participant.displayName} joined`)
    },
    [SessionEvent.TrackAdded]: ({ track }) => {
      if (track.mediaStreamTrack) {
        videoElement.srcObject = new MediaStream([track.mediaStreamTrack])
      }
    }
  }
})

// 3. Control media
session.disableMic()
session.enableCamera()

// 4. Disconnect
await session.disconnect()

API Reference

Vroom

MethodDescription
init(config)Initialize SDK with API key
connect(params)Connect to room
reset()Reset SDK state

Session

MethodDescription
enableMic() / disableMic()Toggle microphone
enableCamera() / disableCamera()Toggle camera
switchDevice(options)Switch audio/video input or output device
getActiveDevice(kind)Get currently active device ID
getParticipants()Get all participants
roomRoom info (name, sid, createdAt) — immutable for the connection
disconnect()Disconnect from room
on(event, handler)Add event listener

Events

EventDescription
SessionEvent.ConnectedConnected to room
SessionEvent.DisconnectedDisconnected from room
SessionEvent.ParticipantJoinedParticipant joined
SessionEvent.ParticipantLeftParticipant left
SessionEvent.TrackAddedTrack published
SessionEvent.TrackRemovedTrack unpublished
SessionEvent.ErrorError occurred

Error Handling

try {
  await Vroom.connect({ ... })
} catch (error) {
  if (error.code === 'E_INVALID_API_KEY') {
    // Handle invalid API key
  }
}

Contributing

See CONTRIBUTING.md.

License

MIT

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.1.0Registry latest29 May 20266

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 16:12 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:3ef854838ee5b24249891663b75526b2599b093583ea3d96c81103eec6c3adce