ring-client-api 14.0.0-beta.0 → 14.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/ring-types.js CHANGED
@@ -1,112 +1,105 @@
1
- // eslint-disable-next-line no-shadow
2
- export var RingDeviceType;
3
- (function (RingDeviceType) {
4
- RingDeviceType["BaseStation"] = "hub.redsky";
5
- RingDeviceType["BaseStationPro"] = "hub.kili";
6
- RingDeviceType["Keypad"] = "security-keypad";
7
- RingDeviceType["SecurityPanel"] = "security-panel";
8
- RingDeviceType["ContactSensor"] = "sensor.contact";
9
- RingDeviceType["MotionSensor"] = "sensor.motion";
10
- RingDeviceType["FloodFreezeSensor"] = "sensor.flood-freeze";
11
- RingDeviceType["FreezeSensor"] = "sensor.freeze";
12
- RingDeviceType["TemperatureSensor"] = "sensor.temperature";
13
- RingDeviceType["WaterSensor"] = "sensor.water";
14
- RingDeviceType["TiltSensor"] = "sensor.tilt";
15
- RingDeviceType["GlassbreakSensor"] = "sensor.glassbreak";
16
- RingDeviceType["RangeExtender"] = "range-extender.zwave";
17
- RingDeviceType["ZigbeeAdapter"] = "adapter.zigbee";
18
- RingDeviceType["AccessCodeVault"] = "access-code.vault";
19
- RingDeviceType["AccessCode"] = "access-code";
20
- RingDeviceType["SmokeAlarm"] = "alarm.smoke";
21
- RingDeviceType["CoAlarm"] = "alarm.co";
22
- RingDeviceType["SmokeCoListener"] = "listener.smoke-co";
23
- RingDeviceType["MultiLevelSwitch"] = "switch.multilevel";
24
- RingDeviceType["Fan"] = "switch.multilevel";
25
- RingDeviceType["MultiLevelBulb"] = "switch.multilevel.bulb";
26
- RingDeviceType["Switch"] = "switch";
27
- RingDeviceType["BeamsMotionSensor"] = "motion-sensor.beams";
28
- RingDeviceType["BeamsSwitch"] = "switch.beams";
29
- RingDeviceType["BeamsMultiLevelSwitch"] = "switch.multilevel.beams";
30
- RingDeviceType["BeamsLightGroupSwitch"] = "group.light-group.beams";
31
- RingDeviceType["BeamsTransformerSwitch"] = "switch.transformer.beams";
32
- RingDeviceType["BeamsDevice"] = "device.beams";
33
- RingDeviceType["RetrofitBridge"] = "bridge.flatline";
34
- RingDeviceType["RetrofitZone"] = "sensor.zone";
35
- RingDeviceType["Thermostat"] = "temperature-control.thermostat";
36
- RingDeviceType["Sensor"] = "sensor";
37
- RingDeviceType["RingNetAdapter"] = "adapter.ringnet";
38
- RingDeviceType["CodeVault"] = "access-code.vault";
39
- RingDeviceType["SecurityAccessCode"] = "access-code";
40
- RingDeviceType["ZWaveAdapter"] = "adapter.zwave";
41
- RingDeviceType["ZWaveExtender"] = "range-extender.zwave";
42
- RingDeviceType["PanicButton"] = "security-panic";
43
- RingDeviceType["UnknownZWave"] = "unknown.zwave";
44
- RingDeviceType["OnvifCamera"] = "onvif_camera";
45
- RingDeviceType["ThirdPartyGarageDoorOpener"] = "third_party_gdo";
46
- RingDeviceType["IntercomHandsetAudio"] = "intercom_handset_audio";
47
- RingDeviceType["WaterValve"] = "valve.water";
48
- })(RingDeviceType || (RingDeviceType = {}));
49
- // eslint-disable-next-line no-shadow
50
- export var RingDeviceCategory;
51
- (function (RingDeviceCategory) {
52
- RingDeviceCategory[RingDeviceCategory["Outlets"] = 1] = "Outlets";
53
- RingDeviceCategory[RingDeviceCategory["Lights"] = 2] = "Lights";
54
- RingDeviceCategory[RingDeviceCategory["Sensors"] = 5] = "Sensors";
55
- RingDeviceCategory[RingDeviceCategory["Appliances"] = 7] = "Appliances";
56
- RingDeviceCategory[RingDeviceCategory["Locks"] = 10] = "Locks";
57
- RingDeviceCategory[RingDeviceCategory["Thermostats"] = 11] = "Thermostats";
58
- RingDeviceCategory[RingDeviceCategory["Cameras"] = 12] = "Cameras";
59
- RingDeviceCategory[RingDeviceCategory["Alarms"] = 15] = "Alarms";
60
- RingDeviceCategory[RingDeviceCategory["Fans"] = 17] = "Fans";
61
- RingDeviceCategory[RingDeviceCategory["Security"] = 22] = "Security";
62
- RingDeviceCategory[RingDeviceCategory["Unknown"] = 29] = "Unknown";
63
- RingDeviceCategory[RingDeviceCategory["SensorsMotion"] = 30] = "SensorsMotion";
64
- RingDeviceCategory[RingDeviceCategory["Controller"] = 31] = "Controller";
65
- RingDeviceCategory[RingDeviceCategory["RangeExtenders"] = 32] = "RangeExtenders";
66
- RingDeviceCategory[RingDeviceCategory["Keypads"] = 33] = "Keypads";
67
- RingDeviceCategory[RingDeviceCategory["Sirens"] = 34] = "Sirens";
68
- RingDeviceCategory[RingDeviceCategory["PanicButtons"] = 35] = "PanicButtons";
69
- RingDeviceCategory[RingDeviceCategory["WaterValves"] = 37] = "WaterValves";
70
- })(RingDeviceCategory || (RingDeviceCategory = {}));
71
- // eslint-disable-next-line no-shadow
72
- export var RingCameraKind;
73
- (function (RingCameraKind) {
74
- RingCameraKind["doorbot"] = "doorbot";
75
- RingCameraKind["doorbell"] = "doorbell";
76
- RingCameraKind["doorbell_v3"] = "doorbell_v3";
77
- RingCameraKind["doorbell_v4"] = "doorbell_v4";
78
- RingCameraKind["doorbell_v5"] = "doorbell_v5";
79
- RingCameraKind["doorbell_oyster"] = "doorbell_oyster";
80
- RingCameraKind["doorbell_portal"] = "doorbell_portal";
81
- RingCameraKind["doorbell_scallop"] = "doorbell_scallop";
82
- RingCameraKind["doorbell_scallop_lite"] = "doorbell_scallop_lite";
83
- RingCameraKind["doorbell_graham_cracker"] = "doorbell_graham_cracker";
84
- RingCameraKind["lpd_v1"] = "lpd_v1";
85
- RingCameraKind["lpd_v2"] = "lpd_v2";
86
- RingCameraKind["lpd_v4"] = "lpd_v4";
87
- RingCameraKind["jbox_v1"] = "jbox_v1";
88
- RingCameraKind["stickup_cam"] = "stickup_cam";
89
- RingCameraKind["stickup_cam_v3"] = "stickup_cam_v3";
90
- RingCameraKind["stickup_cam_elite"] = "stickup_cam_elite";
91
- RingCameraKind["stickup_cam_longfin"] = "stickup_cam_longfin";
92
- RingCameraKind["stickup_cam_lunar"] = "stickup_cam_lunar";
93
- RingCameraKind["spotlightw_v2"] = "spotlightw_v2";
94
- RingCameraKind["hp_cam_v1"] = "hp_cam_v1";
95
- RingCameraKind["hp_cam_v2"] = "hp_cam_v2";
96
- RingCameraKind["stickup_cam_v4"] = "stickup_cam_v4";
97
- RingCameraKind["floodlight_v1"] = "floodlight_v1";
98
- RingCameraKind["floodlight_v2"] = "floodlight_v2";
99
- RingCameraKind["floodlight_pro"] = "floodlight_pro";
100
- RingCameraKind["cocoa_camera"] = "cocoa_camera";
101
- RingCameraKind["cocoa_doorbell"] = "cocoa_doorbell";
102
- RingCameraKind["cocoa_doorbell_v2"] = "cocoa_doorbell_v2";
103
- RingCameraKind["cocoa_doorbell_v3"] = "cocoa_doorbell_v3";
104
- RingCameraKind["cocoa_floodlight"] = "cocoa_floodlight";
105
- RingCameraKind["cocoa_spotlight"] = "cocoa_spotlight";
106
- RingCameraKind["stickup_cam_mini"] = "stickup_cam_mini";
107
- RingCameraKind["onvif_camera"] = "onvif_camera";
108
- })(RingCameraKind || (RingCameraKind = {}));
109
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
1
+ export const RingDeviceType = {
2
+ BaseStation: 'hub.redsky',
3
+ BaseStationPro: 'hub.kili',
4
+ Keypad: 'security-keypad',
5
+ SecurityPanel: 'security-panel',
6
+ ContactSensor: 'sensor.contact',
7
+ MotionSensor: 'sensor.motion',
8
+ FloodFreezeSensor: 'sensor.flood-freeze',
9
+ FreezeSensor: 'sensor.freeze',
10
+ TemperatureSensor: 'sensor.temperature',
11
+ WaterSensor: 'sensor.water',
12
+ TiltSensor: 'sensor.tilt',
13
+ GlassbreakSensor: 'sensor.glassbreak',
14
+ RangeExtender: 'range-extender.zwave',
15
+ ZigbeeAdapter: 'adapter.zigbee',
16
+ AccessCodeVault: 'access-code.vault',
17
+ AccessCode: 'access-code',
18
+ SmokeAlarm: 'alarm.smoke',
19
+ CoAlarm: 'alarm.co',
20
+ SmokeCoListener: 'listener.smoke-co',
21
+ MultiLevelSwitch: 'switch.multilevel',
22
+ Fan: 'switch.multilevel',
23
+ MultiLevelBulb: 'switch.multilevel.bulb',
24
+ Switch: 'switch',
25
+ BeamsMotionSensor: 'motion-sensor.beams',
26
+ BeamsSwitch: 'switch.beams',
27
+ BeamsMultiLevelSwitch: 'switch.multilevel.beams',
28
+ BeamsLightGroupSwitch: 'group.light-group.beams',
29
+ BeamsTransformerSwitch: 'switch.transformer.beams',
30
+ BeamsDevice: 'device.beams',
31
+ RetrofitBridge: 'bridge.flatline',
32
+ RetrofitZone: 'sensor.zone',
33
+ Thermostat: 'temperature-control.thermostat',
34
+ Sensor: 'sensor',
35
+ RingNetAdapter: 'adapter.ringnet',
36
+ CodeVault: 'access-code.vault',
37
+ SecurityAccessCode: 'access-code',
38
+ ZWaveAdapter: 'adapter.zwave',
39
+ ZWaveExtender: 'range-extender.zwave',
40
+ PanicButton: 'security-panic',
41
+ UnknownZWave: 'unknown.zwave',
42
+ OnvifCamera: 'onvif_camera',
43
+ ThirdPartyGarageDoorOpener: 'third_party_gdo',
44
+ IntercomHandsetAudio: 'intercom_handset_audio',
45
+ WaterValve: 'valve.water',
46
+ };
47
+ export const RingDeviceCategory = {
48
+ Outlets: 1,
49
+ Lights: 2,
50
+ Sensors: 5,
51
+ Appliances: 7,
52
+ Locks: 10,
53
+ Thermostats: 11,
54
+ Cameras: 12,
55
+ Alarms: 15,
56
+ Fans: 17,
57
+ Security: 22,
58
+ Unknown: 29,
59
+ SensorsMotion: 30,
60
+ Controller: 31,
61
+ RangeExtenders: 32,
62
+ Keypads: 33,
63
+ Sirens: 34,
64
+ PanicButtons: 35,
65
+ WaterValves: 37,
66
+ };
67
+ export const RingCameraKind = {
68
+ doorbot: 'doorbot',
69
+ doorbell: 'doorbell',
70
+ doorbell_v3: 'doorbell_v3',
71
+ doorbell_v4: 'doorbell_v4',
72
+ doorbell_v5: 'doorbell_v5',
73
+ doorbell_oyster: 'doorbell_oyster', // used for the Ring Video Doorbell 4
74
+ doorbell_portal: 'doorbell_portal',
75
+ doorbell_scallop: 'doorbell_scallop',
76
+ doorbell_scallop_lite: 'doorbell_scallop_lite',
77
+ doorbell_graham_cracker: 'doorbell_graham_cracker',
78
+ lpd_v1: 'lpd_v1',
79
+ lpd_v2: 'lpd_v2',
80
+ lpd_v4: 'lpd_v4',
81
+ jbox_v1: 'jbox_v1',
82
+ stickup_cam: 'stickup_cam',
83
+ stickup_cam_v3: 'stickup_cam_v3',
84
+ stickup_cam_elite: 'stickup_cam_elite',
85
+ stickup_cam_longfin: 'stickup_cam_longfin',
86
+ stickup_cam_lunar: 'stickup_cam_lunar',
87
+ spotlightw_v2: 'spotlightw_v2',
88
+ hp_cam_v1: 'hp_cam_v1',
89
+ hp_cam_v2: 'hp_cam_v2',
90
+ stickup_cam_v4: 'stickup_cam_v4',
91
+ floodlight_v1: 'floodlight_v1',
92
+ floodlight_v2: 'floodlight_v2',
93
+ floodlight_pro: 'floodlight_pro',
94
+ cocoa_camera: 'cocoa_camera', // appears to be used for all next gen stickup cams (wired/battery/solar)
95
+ cocoa_doorbell: 'cocoa_doorbell',
96
+ cocoa_doorbell_v2: 'cocoa_doorbell_v2',
97
+ cocoa_doorbell_v3: 'cocoa_doorbell_v3',
98
+ cocoa_floodlight: 'cocoa_floodlight',
99
+ cocoa_spotlight: 'cocoa_spotlight', // used for the Spotlight Cam Plus (potentially other Spotlight models)
100
+ stickup_cam_mini: 'stickup_cam_mini',
101
+ onvif_camera: 'onvif_camera',
102
+ };
110
103
  export const RingCameraModel = {
111
104
  doorbot: 'Doorbell',
112
105
  doorbell: 'Doorbell',
@@ -158,49 +151,40 @@ export const deviceTypesWithVolume = [
158
151
  RingDeviceType.BaseStation,
159
152
  RingDeviceType.Keypad,
160
153
  ];
161
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
162
154
  export const ChimeModel = {
163
155
  chime: 'Chime',
164
156
  chime_pro: 'Chime Pro',
165
157
  chime_v2: 'Chime v2',
166
158
  chime_pro_v2: 'Chime Pro v2',
167
159
  };
168
- // eslint-disable-next-line no-shadow
169
- export var DoorbellType;
170
- (function (DoorbellType) {
171
- DoorbellType[DoorbellType["Mechanical"] = 0] = "Mechanical";
172
- DoorbellType[DoorbellType["Digital"] = 1] = "Digital";
173
- DoorbellType[DoorbellType["None"] = 2] = "None";
174
- })(DoorbellType || (DoorbellType = {}));
175
- // eslint-disable-next-line no-shadow
176
- export var NotificationDetectionType;
177
- (function (NotificationDetectionType) {
160
+ export const DoorbellType = {
161
+ Mechanical: 0,
162
+ Digital: 1,
163
+ None: 2,
164
+ };
165
+ export const NotificationDetectionType = {
178
166
  // Note, this list may not be complete
179
- NotificationDetectionType["Human"] = "human";
180
- NotificationDetectionType["Loitering"] = "loitering";
181
- NotificationDetectionType["Motion"] = "motion";
182
- NotificationDetectionType["OtherMotion"] = "other_motion";
183
- NotificationDetectionType["NotAvailable"] = "null";
184
- NotificationDetectionType["StreamBroken"] = "stream_broken";
185
- })(NotificationDetectionType || (NotificationDetectionType = {}));
186
- // eslint-disable-next-line no-shadow
187
- export var PushNotificationAction;
188
- (function (PushNotificationAction) {
189
- PushNotificationAction["Ding"] = "com.ring.pn.live-event.ding";
190
- PushNotificationAction["Motion"] = "com.ring.pn.live-event.motion";
191
- PushNotificationAction["IntercomDing"] = "com.ring.pn.live-event.intercom";
192
- PushNotificationAction["IntercomUnlock"] = "com.ring.push.INTERCOM_UNLOCK_FROM_APP";
193
- PushNotificationAction["AlarmModeNone"] = "com.ring.push.HANDLE_NEW_SECURITY_PANEL_MODE_NONE_NOTICE";
194
- PushNotificationAction["AlarmModeSome"] = "com.ring.push.HANDLE_NEW_SECURITY_PANEL_MODE_SOME_NOTICE";
195
- PushNotificationAction["AlarmSoundSiren"] = "com.ring.push.HANDLE_NEW_USER_SOUND_SIREN";
196
- PushNotificationAction["AlarmSilenceSiren"] = "com.ring.push.HANDLE_NEW_NON_ALARM_SIREN_SILENCED";
197
- })(PushNotificationAction || (PushNotificationAction = {}));
198
- // eslint-disable-next-line no-shadow
199
- export var DispatchSignalType;
200
- (function (DispatchSignalType) {
201
- DispatchSignalType["Burglar"] = "user-verified-burglar-xa";
202
- DispatchSignalType["Fire"] = "user-verified-fire-xa";
203
- })(DispatchSignalType || (DispatchSignalType = {}));
167
+ Human: 'human',
168
+ Loitering: 'loitering',
169
+ Motion: 'motion',
170
+ OtherMotion: 'other_motion',
171
+ NotAvailable: 'null',
172
+ StreamBroken: 'stream_broken',
173
+ };
174
+ export const PushNotificationAction = {
175
+ Ding: 'com.ring.pn.live-event.ding',
176
+ Motion: 'com.ring.pn.live-event.motion',
177
+ IntercomDing: 'com.ring.pn.live-event.intercom',
178
+ IntercomUnlock: 'com.ring.push.INTERCOM_UNLOCK_FROM_APP',
179
+ AlarmModeNone: 'com.ring.push.HANDLE_NEW_SECURITY_PANEL_MODE_NONE_NOTICE',
180
+ AlarmModeSome: 'com.ring.push.HANDLE_NEW_SECURITY_PANEL_MODE_SOME_NOTICE',
181
+ AlarmSoundSiren: 'com.ring.push.HANDLE_NEW_USER_SOUND_SIREN',
182
+ AlarmSilenceSiren: 'com.ring.push.HANDLE_NEW_NON_ALARM_SIREN_SILENCED',
183
+ };
184
+ export const DispatchSignalType = {
185
+ Burglar: 'user-verified-burglar-xa',
186
+ Fire: 'user-verified-fire-xa',
187
+ };
204
188
  export const disabledLocationModes = ['disabled', 'unset'];
205
189
  export function isWebSocketSupportedAsset({ kind }) {
206
190
  return kind.startsWith('base_station') || kind.startsWith('beams_bridge');
@@ -1,9 +1,9 @@
1
1
  import type { RingCamera } from '../ring-camera.ts';
2
2
  import type { RingRestClient } from '../rest-client.ts';
3
3
  export declare class SimpleWebRtcSession {
4
+ readonly sessionId: string;
4
5
  private readonly camera;
5
6
  private restClient;
6
- readonly sessionId: string;
7
7
  constructor(camera: RingCamera, restClient: RingRestClient);
8
8
  start(sdp: string): Promise<string>;
9
9
  end(): Promise<any>;
@@ -3,9 +3,9 @@ function liveViewUrl(path) {
3
3
  return `https://api.ring.com/integrations/v1/liveview/${path}`;
4
4
  }
5
5
  export class SimpleWebRtcSession {
6
+ sessionId = generateUuid();
6
7
  camera;
7
8
  restClient;
8
- sessionId = generateUuid();
9
9
  constructor(camera, restClient) {
10
10
  this.camera = camera;
11
11
  this.restClient = restClient;
@@ -46,11 +46,12 @@ interface StreamInfoMessage {
46
46
  transcoding_reason: 'codec_mismatch' | string;
47
47
  };
48
48
  }
49
- declare enum CloseReasonCode {
50
- NormalClose = 0,
51
- AuthenticationFailed = 5,
52
- Timeout = 6
53
- }
49
+ declare const CloseReasonCode: {
50
+ readonly NormalClose: 0;
51
+ readonly AuthenticationFailed: 5;
52
+ readonly Timeout: 6;
53
+ };
54
+ type CloseReasonCode = (typeof CloseReasonCode)[keyof typeof CloseReasonCode];
54
55
  interface CloseMessage {
55
56
  method: 'close';
56
57
  body: {
@@ -1,12 +1,10 @@
1
- // eslint-disable-next-line no-shadow
2
- var CloseReasonCode;
3
- (function (CloseReasonCode) {
4
- CloseReasonCode[CloseReasonCode["NormalClose"] = 0] = "NormalClose";
1
+ const CloseReasonCode = {
2
+ NormalClose: 0,
5
3
  // reason: { code: 5, text: '[rsl-apps/webrtc-liveview-server/Session.cpp:429] [Auth] [0xd540]: [rsl-apps/session-manager/Manager.cpp:227] [AppAuth] Unauthorized: invalid or expired token' }
6
4
  // reason: { code: 5, text: 'Authentication failed: -1' }
7
5
  // reason: { code: 5, text: 'Sessions with the provided ID not found' }
8
- CloseReasonCode[CloseReasonCode["AuthenticationFailed"] = 5] = "AuthenticationFailed";
6
+ AuthenticationFailed: 5,
9
7
  // reason: { code: 6, text: 'Timeout waiting for ping' }
10
- CloseReasonCode[CloseReasonCode["Timeout"] = 6] = "Timeout";
11
- })(CloseReasonCode || (CloseReasonCode = {}));
8
+ Timeout: 6,
9
+ };
12
10
  export {};
@@ -12,8 +12,6 @@ export interface FfmpegOptions {
12
12
  output: SpawnInput[];
13
13
  }
14
14
  export declare class StreamingSession extends Subscribed {
15
- private readonly camera;
16
- private connection;
17
15
  readonly onCallEnded: ReplaySubject<void>;
18
16
  private readonly onUsingOpus;
19
17
  readonly onVideoRtp: Subject<RtpPacket>;
@@ -21,6 +19,8 @@ export declare class StreamingSession extends Subscribed {
21
19
  private readonly audioSplitter;
22
20
  private readonly videoSplitter;
23
21
  private readonly returnAudioSplitter;
22
+ private readonly camera;
23
+ private connection;
24
24
  constructor(camera: RingCamera, connection: WebrtcConnection);
25
25
  private bindToConnection;
26
26
  /**
@@ -14,8 +14,6 @@ function getCleanSdp(sdp, includeVideo) {
14
14
  .join('\n');
15
15
  }
16
16
  export class StreamingSession extends Subscribed {
17
- camera;
18
- connection;
19
17
  onCallEnded = new ReplaySubject(1);
20
18
  onUsingOpus = new ReplaySubject(1);
21
19
  onVideoRtp = new Subject();
@@ -23,6 +21,8 @@ export class StreamingSession extends Subscribed {
23
21
  audioSplitter = new RtpSplitter();
24
22
  videoSplitter = new RtpSplitter();
25
23
  returnAudioSplitter = new RtpSplitter();
24
+ camera;
25
+ connection;
26
26
  constructor(camera, connection) {
27
27
  super();
28
28
  this.camera = camera;
@@ -7,7 +7,6 @@ export interface StreamingConnectionOptions {
7
7
  createPeerConnection?: () => BasicPeerConnection;
8
8
  }
9
9
  export declare class WebrtcConnection extends Subscribed {
10
- private camera;
11
10
  private readonly onSessionId;
12
11
  private readonly onOfferSent;
13
12
  private readonly dialogId;
@@ -23,6 +22,7 @@ export declare class WebrtcConnection extends Subscribed {
23
22
  readonly onVideoRtp: Subject<RtpPacket>;
24
23
  private readonly pc;
25
24
  private readonly ws;
25
+ private camera;
26
26
  constructor(ticket: string, camera: RingCamera, options: StreamingConnectionOptions);
27
27
  private initiateCall;
28
28
  private sessionId;
@@ -5,7 +5,6 @@ import { generateUuid, logDebug, logError, logInfo } from "../util.js";
5
5
  import { WeriftPeerConnection, } from "./peer-connection.js";
6
6
  import { Subscribed } from "../subscribed.js";
7
7
  export class WebrtcConnection extends Subscribed {
8
- camera;
9
8
  onSessionId = new ReplaySubject(1);
10
9
  onOfferSent = new ReplaySubject(1);
11
10
  dialogId = generateUuid();
@@ -19,6 +18,7 @@ export class WebrtcConnection extends Subscribed {
19
18
  onVideoRtp;
20
19
  pc;
21
20
  ws;
21
+ camera;
22
22
  constructor(ticket, camera, options) {
23
23
  super();
24
24
  this.camera = camera;
@@ -0,0 +1 @@
1
+ export {};