livekit-client 0.15.1 → 0.16.0

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.
Files changed (120) hide show
  1. package/dist/api/SignalClient.d.ts +11 -3
  2. package/dist/api/SignalClient.js +92 -28
  3. package/dist/api/SignalClient.js.map +1 -1
  4. package/dist/index.d.ts +4 -2
  5. package/dist/index.js +5 -3
  6. package/dist/index.js.map +1 -1
  7. package/dist/options.d.ts +5 -0
  8. package/dist/proto/livekit_models.d.ts +48 -0
  9. package/dist/proto/livekit_models.js +367 -5
  10. package/dist/proto/livekit_models.js.map +1 -1
  11. package/dist/proto/livekit_rtc.d.ts +50 -11
  12. package/dist/proto/livekit_rtc.js +300 -22
  13. package/dist/proto/livekit_rtc.js.map +1 -1
  14. package/dist/room/PCTransport.js +4 -0
  15. package/dist/room/PCTransport.js.map +1 -1
  16. package/dist/room/RTCEngine.d.ts +10 -2
  17. package/dist/room/RTCEngine.js +182 -42
  18. package/dist/room/RTCEngine.js.map +1 -1
  19. package/dist/room/Room.d.ts +15 -0
  20. package/dist/room/Room.js +165 -20
  21. package/dist/room/Room.js.map +1 -1
  22. package/dist/room/events.d.ts +42 -20
  23. package/dist/room/events.js +41 -19
  24. package/dist/room/events.js.map +1 -1
  25. package/dist/room/participant/LocalParticipant.d.ts +25 -4
  26. package/dist/room/participant/LocalParticipant.js +50 -23
  27. package/dist/room/participant/LocalParticipant.js.map +1 -1
  28. package/dist/room/participant/Participant.d.ts +3 -1
  29. package/dist/room/participant/Participant.js +1 -0
  30. package/dist/room/participant/Participant.js.map +1 -1
  31. package/dist/room/participant/ParticipantTrackPermission.d.ts +19 -0
  32. package/dist/room/participant/ParticipantTrackPermission.js +16 -0
  33. package/dist/room/participant/ParticipantTrackPermission.js.map +1 -0
  34. package/dist/room/participant/RemoteParticipant.d.ts +2 -2
  35. package/dist/room/participant/RemoteParticipant.js +11 -16
  36. package/dist/room/participant/RemoteParticipant.js.map +1 -1
  37. package/dist/room/participant/publishUtils.js +1 -1
  38. package/dist/room/participant/publishUtils.js.map +1 -1
  39. package/dist/room/participant/publishUtils.test.js +9 -0
  40. package/dist/room/participant/publishUtils.test.js.map +1 -1
  41. package/dist/room/track/LocalTrack.d.ts +0 -3
  42. package/dist/room/track/LocalTrack.js +1 -6
  43. package/dist/room/track/LocalTrack.js.map +1 -1
  44. package/dist/room/track/LocalTrackPublication.d.ts +5 -1
  45. package/dist/room/track/LocalTrackPublication.js +15 -5
  46. package/dist/room/track/LocalTrackPublication.js.map +1 -1
  47. package/dist/room/track/LocalVideoTrack.d.ts +1 -1
  48. package/dist/room/track/LocalVideoTrack.js +7 -6
  49. package/dist/room/track/LocalVideoTrack.js.map +1 -1
  50. package/dist/room/track/RemoteAudioTrack.d.ts +5 -14
  51. package/dist/room/track/RemoteAudioTrack.js +7 -32
  52. package/dist/room/track/RemoteAudioTrack.js.map +1 -1
  53. package/dist/room/track/RemoteTrack.d.ts +14 -0
  54. package/dist/room/track/RemoteTrack.js +47 -0
  55. package/dist/room/track/RemoteTrack.js.map +1 -0
  56. package/dist/room/track/RemoteTrackPublication.d.ts +10 -2
  57. package/dist/room/track/RemoteTrackPublication.js +51 -12
  58. package/dist/room/track/RemoteTrackPublication.js.map +1 -1
  59. package/dist/room/track/RemoteVideoTrack.d.ts +3 -9
  60. package/dist/room/track/RemoteVideoTrack.js +8 -29
  61. package/dist/room/track/RemoteVideoTrack.js.map +1 -1
  62. package/dist/room/track/Track.d.ts +3 -0
  63. package/dist/room/track/Track.js +14 -5
  64. package/dist/room/track/Track.js.map +1 -1
  65. package/dist/room/track/TrackPublication.d.ts +14 -1
  66. package/dist/room/track/TrackPublication.js +24 -7
  67. package/dist/room/track/TrackPublication.js.map +1 -1
  68. package/dist/room/track/create.js +5 -0
  69. package/dist/room/track/create.js.map +1 -1
  70. package/dist/room/utils.d.ts +2 -0
  71. package/dist/room/utils.js +32 -1
  72. package/dist/room/utils.js.map +1 -1
  73. package/dist/version.d.ts +2 -2
  74. package/dist/version.js +2 -2
  75. package/package.json +5 -3
  76. package/src/api/SignalClient.ts +444 -0
  77. package/src/connect.ts +100 -0
  78. package/src/index.ts +47 -0
  79. package/src/logger.ts +22 -0
  80. package/src/options.ts +152 -0
  81. package/src/proto/livekit_models.ts +1863 -0
  82. package/src/proto/livekit_rtc.ts +3415 -0
  83. package/src/room/DeviceManager.ts +57 -0
  84. package/src/room/PCTransport.ts +86 -0
  85. package/src/room/RTCEngine.ts +582 -0
  86. package/src/room/Room.ts +840 -0
  87. package/src/room/errors.ts +65 -0
  88. package/src/room/events.ts +398 -0
  89. package/src/room/participant/LocalParticipant.ts +685 -0
  90. package/src/room/participant/Participant.ts +214 -0
  91. package/src/room/participant/ParticipantTrackPermission.ts +32 -0
  92. package/src/room/participant/RemoteParticipant.ts +241 -0
  93. package/src/room/participant/publishUtils.test.ts +105 -0
  94. package/src/room/participant/publishUtils.ts +180 -0
  95. package/src/room/stats.ts +130 -0
  96. package/src/room/track/LocalAudioTrack.ts +112 -0
  97. package/src/room/track/LocalTrack.ts +124 -0
  98. package/src/room/track/LocalTrackPublication.ts +66 -0
  99. package/src/room/track/LocalVideoTrack.test.ts +70 -0
  100. package/src/room/track/LocalVideoTrack.ts +416 -0
  101. package/src/room/track/RemoteAudioTrack.ts +58 -0
  102. package/src/room/track/RemoteTrack.ts +59 -0
  103. package/src/room/track/RemoteTrackPublication.ts +198 -0
  104. package/src/room/track/RemoteVideoTrack.ts +213 -0
  105. package/src/room/track/Track.ts +307 -0
  106. package/src/room/track/TrackPublication.ts +120 -0
  107. package/src/room/track/create.ts +120 -0
  108. package/src/room/track/defaults.ts +23 -0
  109. package/src/room/track/options.ts +229 -0
  110. package/src/room/track/types.ts +8 -0
  111. package/src/room/track/utils.test.ts +93 -0
  112. package/src/room/track/utils.ts +76 -0
  113. package/src/room/utils.ts +74 -0
  114. package/src/version.ts +2 -0
  115. package/.github/workflows/publish.yaml +0 -55
  116. package/.github/workflows/test.yaml +0 -36
  117. package/example/index.html +0 -248
  118. package/example/sample.ts +0 -621
  119. package/example/styles.css +0 -144
  120. package/example/webpack.config.js +0 -33
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.SubscriptionPermissionUpdate = exports.UpdateSubscriptionPermissions = exports.TrackPermission = exports.SubscribedQualityUpdate = exports.SubscribedQuality = exports.StreamStateUpdate = exports.StreamStateInfo = exports.ConnectionQualityUpdate = exports.ConnectionQualityInfo = exports.RoomUpdate = exports.SpeakersChanged = exports.ICEServer = exports.UpdateVideoLayers = exports.LeaveRequest = exports.UpdateTrackSettings = exports.UpdateSubscription = exports.ParticipantUpdate = exports.SessionDescription = exports.TrackPublishedResponse = exports.JoinResponse = exports.MuteTrackRequest = exports.TrickleRequest = exports.AddTrackRequest = exports.SignalResponse = exports.SignalRequest = exports.streamStateToJSON = exports.streamStateFromJSON = exports.StreamState = exports.signalTargetToJSON = exports.signalTargetFromJSON = exports.SignalTarget = exports.protobufPackage = void 0;
6
+ exports.SimulateScenario = exports.SyncState = exports.SubscriptionPermissionUpdate = exports.SubscriptionPermission = exports.TrackPermission = exports.SubscribedQualityUpdate = exports.SubscribedQuality = exports.StreamStateUpdate = exports.StreamStateInfo = exports.ConnectionQualityUpdate = exports.ConnectionQualityInfo = exports.RoomUpdate = exports.SpeakersChanged = exports.ICEServer = exports.UpdateVideoLayers = exports.LeaveRequest = exports.UpdateTrackSettings = exports.UpdateSubscription = exports.ParticipantUpdate = exports.SessionDescription = exports.TrackPublishedResponse = exports.JoinResponse = exports.MuteTrackRequest = exports.TrickleRequest = exports.AddTrackRequest = exports.SignalResponse = exports.SignalRequest = exports.streamStateToJSON = exports.streamStateFromJSON = exports.StreamState = exports.signalTargetToJSON = exports.signalTargetFromJSON = exports.SignalTarget = exports.protobufPackage = void 0;
7
7
  /* eslint-disable */
8
8
  const long_1 = __importDefault(require("long"));
9
9
  const minimal_1 = __importDefault(require("protobufjs/minimal"));
@@ -103,8 +103,14 @@ exports.SignalRequest = {
103
103
  if (message.updateLayers !== undefined) {
104
104
  exports.UpdateVideoLayers.encode(message.updateLayers, writer.uint32(82).fork()).ldelim();
105
105
  }
106
- if (message.subscriptionPermissions !== undefined) {
107
- exports.UpdateSubscriptionPermissions.encode(message.subscriptionPermissions, writer.uint32(90).fork()).ldelim();
106
+ if (message.subscriptionPermission !== undefined) {
107
+ exports.SubscriptionPermission.encode(message.subscriptionPermission, writer.uint32(90).fork()).ldelim();
108
+ }
109
+ if (message.syncState !== undefined) {
110
+ exports.SyncState.encode(message.syncState, writer.uint32(98).fork()).ldelim();
111
+ }
112
+ if (message.simulate !== undefined) {
113
+ exports.SimulateScenario.encode(message.simulate, writer.uint32(106).fork()).ldelim();
108
114
  }
109
115
  return writer;
110
116
  },
@@ -143,8 +149,13 @@ exports.SignalRequest = {
143
149
  message.updateLayers = exports.UpdateVideoLayers.decode(reader, reader.uint32());
144
150
  break;
145
151
  case 11:
146
- message.subscriptionPermissions =
147
- exports.UpdateSubscriptionPermissions.decode(reader, reader.uint32());
152
+ message.subscriptionPermission = exports.SubscriptionPermission.decode(reader, reader.uint32());
153
+ break;
154
+ case 12:
155
+ message.syncState = exports.SyncState.decode(reader, reader.uint32());
156
+ break;
157
+ case 13:
158
+ message.simulate = exports.SimulateScenario.decode(reader, reader.uint32());
148
159
  break;
149
160
  default:
150
161
  reader.skipType(tag & 7);
@@ -209,12 +220,24 @@ exports.SignalRequest = {
209
220
  else {
210
221
  message.updateLayers = undefined;
211
222
  }
212
- if (object.subscriptionPermissions !== undefined &&
213
- object.subscriptionPermissions !== null) {
214
- message.subscriptionPermissions = exports.UpdateSubscriptionPermissions.fromJSON(object.subscriptionPermissions);
223
+ if (object.subscriptionPermission !== undefined &&
224
+ object.subscriptionPermission !== null) {
225
+ message.subscriptionPermission = exports.SubscriptionPermission.fromJSON(object.subscriptionPermission);
215
226
  }
216
227
  else {
217
- message.subscriptionPermissions = undefined;
228
+ message.subscriptionPermission = undefined;
229
+ }
230
+ if (object.syncState !== undefined && object.syncState !== null) {
231
+ message.syncState = exports.SyncState.fromJSON(object.syncState);
232
+ }
233
+ else {
234
+ message.syncState = undefined;
235
+ }
236
+ if (object.simulate !== undefined && object.simulate !== null) {
237
+ message.simulate = exports.SimulateScenario.fromJSON(object.simulate);
238
+ }
239
+ else {
240
+ message.simulate = undefined;
218
241
  }
219
242
  return message;
220
243
  },
@@ -256,9 +279,17 @@ exports.SignalRequest = {
256
279
  (obj.updateLayers = message.updateLayers
257
280
  ? exports.UpdateVideoLayers.toJSON(message.updateLayers)
258
281
  : undefined);
259
- message.subscriptionPermissions !== undefined &&
260
- (obj.subscriptionPermissions = message.subscriptionPermissions
261
- ? exports.UpdateSubscriptionPermissions.toJSON(message.subscriptionPermissions)
282
+ message.subscriptionPermission !== undefined &&
283
+ (obj.subscriptionPermission = message.subscriptionPermission
284
+ ? exports.SubscriptionPermission.toJSON(message.subscriptionPermission)
285
+ : undefined);
286
+ message.syncState !== undefined &&
287
+ (obj.syncState = message.syncState
288
+ ? exports.SyncState.toJSON(message.syncState)
289
+ : undefined);
290
+ message.simulate !== undefined &&
291
+ (obj.simulate = message.simulate
292
+ ? exports.SimulateScenario.toJSON(message.simulate)
262
293
  : undefined);
263
294
  return obj;
264
295
  },
@@ -318,13 +349,24 @@ exports.SignalRequest = {
318
349
  else {
319
350
  message.updateLayers = undefined;
320
351
  }
321
- if (object.subscriptionPermissions !== undefined &&
322
- object.subscriptionPermissions !== null) {
323
- message.subscriptionPermissions =
324
- exports.UpdateSubscriptionPermissions.fromPartial(object.subscriptionPermissions);
352
+ if (object.subscriptionPermission !== undefined &&
353
+ object.subscriptionPermission !== null) {
354
+ message.subscriptionPermission = exports.SubscriptionPermission.fromPartial(object.subscriptionPermission);
355
+ }
356
+ else {
357
+ message.subscriptionPermission = undefined;
358
+ }
359
+ if (object.syncState !== undefined && object.syncState !== null) {
360
+ message.syncState = exports.SyncState.fromPartial(object.syncState);
325
361
  }
326
362
  else {
327
- message.subscriptionPermissions = undefined;
363
+ message.syncState = undefined;
364
+ }
365
+ if (object.simulate !== undefined && object.simulate !== null) {
366
+ message.simulate = exports.SimulateScenario.fromPartial(object.simulate);
367
+ }
368
+ else {
369
+ message.simulate = undefined;
328
370
  }
329
371
  return message;
330
372
  },
@@ -374,6 +416,9 @@ exports.SignalResponse = {
374
416
  if (message.subscriptionPermissionUpdate !== undefined) {
375
417
  exports.SubscriptionPermissionUpdate.encode(message.subscriptionPermissionUpdate, writer.uint32(122).fork()).ldelim();
376
418
  }
419
+ if (message.refreshToken !== undefined) {
420
+ writer.uint32(130).string(message.refreshToken);
421
+ }
377
422
  return writer;
378
423
  },
379
424
  decode(input, length) {
@@ -426,6 +471,9 @@ exports.SignalResponse = {
426
471
  message.subscriptionPermissionUpdate =
427
472
  exports.SubscriptionPermissionUpdate.decode(reader, reader.uint32());
428
473
  break;
474
+ case 16:
475
+ message.refreshToken = reader.string();
476
+ break;
429
477
  default:
430
478
  reader.skipType(tag & 7);
431
479
  break;
@@ -525,6 +573,12 @@ exports.SignalResponse = {
525
573
  else {
526
574
  message.subscriptionPermissionUpdate = undefined;
527
575
  }
576
+ if (object.refreshToken !== undefined && object.refreshToken !== null) {
577
+ message.refreshToken = String(object.refreshToken);
578
+ }
579
+ else {
580
+ message.refreshToken = undefined;
581
+ }
528
582
  return message;
529
583
  },
530
584
  toJSON(message) {
@@ -583,9 +637,12 @@ exports.SignalResponse = {
583
637
  (obj.subscriptionPermissionUpdate = message.subscriptionPermissionUpdate
584
638
  ? exports.SubscriptionPermissionUpdate.toJSON(message.subscriptionPermissionUpdate)
585
639
  : undefined);
640
+ message.refreshToken !== undefined &&
641
+ (obj.refreshToken = message.refreshToken);
586
642
  return obj;
587
643
  },
588
644
  fromPartial(object) {
645
+ var _a;
589
646
  const message = Object.assign({}, baseSignalResponse);
590
647
  if (object.join !== undefined && object.join !== null) {
591
648
  message.join = exports.JoinResponse.fromPartial(object.join);
@@ -677,6 +734,7 @@ exports.SignalResponse = {
677
734
  else {
678
735
  message.subscriptionPermissionUpdate = undefined;
679
736
  }
737
+ message.refreshToken = (_a = object.refreshToken) !== null && _a !== void 0 ? _a : undefined;
680
738
  return message;
681
739
  },
682
740
  };
@@ -1355,6 +1413,9 @@ exports.UpdateSubscription = {
1355
1413
  if (message.subscribe === true) {
1356
1414
  writer.uint32(16).bool(message.subscribe);
1357
1415
  }
1416
+ for (const v of message.participantTracks) {
1417
+ livekit_models_1.ParticipantTracks.encode(v, writer.uint32(26).fork()).ldelim();
1418
+ }
1358
1419
  return writer;
1359
1420
  },
1360
1421
  decode(input, length) {
@@ -1362,6 +1423,7 @@ exports.UpdateSubscription = {
1362
1423
  let end = length === undefined ? reader.len : reader.pos + length;
1363
1424
  const message = Object.assign({}, baseUpdateSubscription);
1364
1425
  message.trackSids = [];
1426
+ message.participantTracks = [];
1365
1427
  while (reader.pos < end) {
1366
1428
  const tag = reader.uint32();
1367
1429
  switch (tag >>> 3) {
@@ -1371,6 +1433,9 @@ exports.UpdateSubscription = {
1371
1433
  case 2:
1372
1434
  message.subscribe = reader.bool();
1373
1435
  break;
1436
+ case 3:
1437
+ message.participantTracks.push(livekit_models_1.ParticipantTracks.decode(reader, reader.uint32()));
1438
+ break;
1374
1439
  default:
1375
1440
  reader.skipType(tag & 7);
1376
1441
  break;
@@ -1381,6 +1446,7 @@ exports.UpdateSubscription = {
1381
1446
  fromJSON(object) {
1382
1447
  const message = Object.assign({}, baseUpdateSubscription);
1383
1448
  message.trackSids = [];
1449
+ message.participantTracks = [];
1384
1450
  if (object.trackSids !== undefined && object.trackSids !== null) {
1385
1451
  for (const e of object.trackSids) {
1386
1452
  message.trackSids.push(String(e));
@@ -1392,6 +1458,12 @@ exports.UpdateSubscription = {
1392
1458
  else {
1393
1459
  message.subscribe = false;
1394
1460
  }
1461
+ if (object.participantTracks !== undefined &&
1462
+ object.participantTracks !== null) {
1463
+ for (const e of object.participantTracks) {
1464
+ message.participantTracks.push(livekit_models_1.ParticipantTracks.fromJSON(e));
1465
+ }
1466
+ }
1395
1467
  return message;
1396
1468
  },
1397
1469
  toJSON(message) {
@@ -1403,6 +1475,12 @@ exports.UpdateSubscription = {
1403
1475
  obj.trackSids = [];
1404
1476
  }
1405
1477
  message.subscribe !== undefined && (obj.subscribe = message.subscribe);
1478
+ if (message.participantTracks) {
1479
+ obj.participantTracks = message.participantTracks.map((e) => e ? livekit_models_1.ParticipantTracks.toJSON(e) : undefined);
1480
+ }
1481
+ else {
1482
+ obj.participantTracks = [];
1483
+ }
1406
1484
  return obj;
1407
1485
  },
1408
1486
  fromPartial(object) {
@@ -1415,6 +1493,13 @@ exports.UpdateSubscription = {
1415
1493
  }
1416
1494
  }
1417
1495
  message.subscribe = (_a = object.subscribe) !== null && _a !== void 0 ? _a : false;
1496
+ message.participantTracks = [];
1497
+ if (object.participantTracks !== undefined &&
1498
+ object.participantTracks !== null) {
1499
+ for (const e of object.participantTracks) {
1500
+ message.participantTracks.push(livekit_models_1.ParticipantTracks.fromPartial(e));
1501
+ }
1502
+ }
1418
1503
  return message;
1419
1504
  },
1420
1505
  };
@@ -2357,8 +2442,8 @@ exports.TrackPermission = {
2357
2442
  return message;
2358
2443
  },
2359
2444
  };
2360
- const baseUpdateSubscriptionPermissions = { allParticipants: false };
2361
- exports.UpdateSubscriptionPermissions = {
2445
+ const baseSubscriptionPermission = { allParticipants: false };
2446
+ exports.SubscriptionPermission = {
2362
2447
  encode(message, writer = minimal_1.default.Writer.create()) {
2363
2448
  if (message.allParticipants === true) {
2364
2449
  writer.uint32(8).bool(message.allParticipants);
@@ -2371,7 +2456,7 @@ exports.UpdateSubscriptionPermissions = {
2371
2456
  decode(input, length) {
2372
2457
  const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
2373
2458
  let end = length === undefined ? reader.len : reader.pos + length;
2374
- const message = Object.assign({}, baseUpdateSubscriptionPermissions);
2459
+ const message = Object.assign({}, baseSubscriptionPermission);
2375
2460
  message.trackPermissions = [];
2376
2461
  while (reader.pos < end) {
2377
2462
  const tag = reader.uint32();
@@ -2390,7 +2475,7 @@ exports.UpdateSubscriptionPermissions = {
2390
2475
  return message;
2391
2476
  },
2392
2477
  fromJSON(object) {
2393
- const message = Object.assign({}, baseUpdateSubscriptionPermissions);
2478
+ const message = Object.assign({}, baseSubscriptionPermission);
2394
2479
  message.trackPermissions = [];
2395
2480
  if (object.allParticipants !== undefined &&
2396
2481
  object.allParticipants !== null) {
@@ -2421,7 +2506,7 @@ exports.UpdateSubscriptionPermissions = {
2421
2506
  },
2422
2507
  fromPartial(object) {
2423
2508
  var _a;
2424
- const message = Object.assign({}, baseUpdateSubscriptionPermissions);
2509
+ const message = Object.assign({}, baseSubscriptionPermission);
2425
2510
  message.allParticipants = (_a = object.allParticipants) !== null && _a !== void 0 ? _a : false;
2426
2511
  message.trackPermissions = [];
2427
2512
  if (object.trackPermissions !== undefined &&
@@ -2513,6 +2598,199 @@ exports.SubscriptionPermissionUpdate = {
2513
2598
  return message;
2514
2599
  },
2515
2600
  };
2601
+ const baseSyncState = {};
2602
+ exports.SyncState = {
2603
+ encode(message, writer = minimal_1.default.Writer.create()) {
2604
+ if (message.answer !== undefined) {
2605
+ exports.SessionDescription.encode(message.answer, writer.uint32(10).fork()).ldelim();
2606
+ }
2607
+ if (message.subscription !== undefined) {
2608
+ exports.UpdateSubscription.encode(message.subscription, writer.uint32(18).fork()).ldelim();
2609
+ }
2610
+ for (const v of message.publishTracks) {
2611
+ exports.TrackPublishedResponse.encode(v, writer.uint32(26).fork()).ldelim();
2612
+ }
2613
+ return writer;
2614
+ },
2615
+ decode(input, length) {
2616
+ const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
2617
+ let end = length === undefined ? reader.len : reader.pos + length;
2618
+ const message = Object.assign({}, baseSyncState);
2619
+ message.publishTracks = [];
2620
+ while (reader.pos < end) {
2621
+ const tag = reader.uint32();
2622
+ switch (tag >>> 3) {
2623
+ case 1:
2624
+ message.answer = exports.SessionDescription.decode(reader, reader.uint32());
2625
+ break;
2626
+ case 2:
2627
+ message.subscription = exports.UpdateSubscription.decode(reader, reader.uint32());
2628
+ break;
2629
+ case 3:
2630
+ message.publishTracks.push(exports.TrackPublishedResponse.decode(reader, reader.uint32()));
2631
+ break;
2632
+ default:
2633
+ reader.skipType(tag & 7);
2634
+ break;
2635
+ }
2636
+ }
2637
+ return message;
2638
+ },
2639
+ fromJSON(object) {
2640
+ const message = Object.assign({}, baseSyncState);
2641
+ message.publishTracks = [];
2642
+ if (object.answer !== undefined && object.answer !== null) {
2643
+ message.answer = exports.SessionDescription.fromJSON(object.answer);
2644
+ }
2645
+ else {
2646
+ message.answer = undefined;
2647
+ }
2648
+ if (object.subscription !== undefined && object.subscription !== null) {
2649
+ message.subscription = exports.UpdateSubscription.fromJSON(object.subscription);
2650
+ }
2651
+ else {
2652
+ message.subscription = undefined;
2653
+ }
2654
+ if (object.publishTracks !== undefined && object.publishTracks !== null) {
2655
+ for (const e of object.publishTracks) {
2656
+ message.publishTracks.push(exports.TrackPublishedResponse.fromJSON(e));
2657
+ }
2658
+ }
2659
+ return message;
2660
+ },
2661
+ toJSON(message) {
2662
+ const obj = {};
2663
+ message.answer !== undefined &&
2664
+ (obj.answer = message.answer
2665
+ ? exports.SessionDescription.toJSON(message.answer)
2666
+ : undefined);
2667
+ message.subscription !== undefined &&
2668
+ (obj.subscription = message.subscription
2669
+ ? exports.UpdateSubscription.toJSON(message.subscription)
2670
+ : undefined);
2671
+ if (message.publishTracks) {
2672
+ obj.publishTracks = message.publishTracks.map((e) => e ? exports.TrackPublishedResponse.toJSON(e) : undefined);
2673
+ }
2674
+ else {
2675
+ obj.publishTracks = [];
2676
+ }
2677
+ return obj;
2678
+ },
2679
+ fromPartial(object) {
2680
+ const message = Object.assign({}, baseSyncState);
2681
+ if (object.answer !== undefined && object.answer !== null) {
2682
+ message.answer = exports.SessionDescription.fromPartial(object.answer);
2683
+ }
2684
+ else {
2685
+ message.answer = undefined;
2686
+ }
2687
+ if (object.subscription !== undefined && object.subscription !== null) {
2688
+ message.subscription = exports.UpdateSubscription.fromPartial(object.subscription);
2689
+ }
2690
+ else {
2691
+ message.subscription = undefined;
2692
+ }
2693
+ message.publishTracks = [];
2694
+ if (object.publishTracks !== undefined && object.publishTracks !== null) {
2695
+ for (const e of object.publishTracks) {
2696
+ message.publishTracks.push(exports.TrackPublishedResponse.fromPartial(e));
2697
+ }
2698
+ }
2699
+ return message;
2700
+ },
2701
+ };
2702
+ const baseSimulateScenario = {};
2703
+ exports.SimulateScenario = {
2704
+ encode(message, writer = minimal_1.default.Writer.create()) {
2705
+ if (message.speakerUpdate !== undefined) {
2706
+ writer.uint32(8).int32(message.speakerUpdate);
2707
+ }
2708
+ if (message.nodeFailure !== undefined) {
2709
+ writer.uint32(16).bool(message.nodeFailure);
2710
+ }
2711
+ if (message.migration !== undefined) {
2712
+ writer.uint32(24).bool(message.migration);
2713
+ }
2714
+ if (message.serverLeave !== undefined) {
2715
+ writer.uint32(32).bool(message.serverLeave);
2716
+ }
2717
+ return writer;
2718
+ },
2719
+ decode(input, length) {
2720
+ const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
2721
+ let end = length === undefined ? reader.len : reader.pos + length;
2722
+ const message = Object.assign({}, baseSimulateScenario);
2723
+ while (reader.pos < end) {
2724
+ const tag = reader.uint32();
2725
+ switch (tag >>> 3) {
2726
+ case 1:
2727
+ message.speakerUpdate = reader.int32();
2728
+ break;
2729
+ case 2:
2730
+ message.nodeFailure = reader.bool();
2731
+ break;
2732
+ case 3:
2733
+ message.migration = reader.bool();
2734
+ break;
2735
+ case 4:
2736
+ message.serverLeave = reader.bool();
2737
+ break;
2738
+ default:
2739
+ reader.skipType(tag & 7);
2740
+ break;
2741
+ }
2742
+ }
2743
+ return message;
2744
+ },
2745
+ fromJSON(object) {
2746
+ const message = Object.assign({}, baseSimulateScenario);
2747
+ if (object.speakerUpdate !== undefined && object.speakerUpdate !== null) {
2748
+ message.speakerUpdate = Number(object.speakerUpdate);
2749
+ }
2750
+ else {
2751
+ message.speakerUpdate = undefined;
2752
+ }
2753
+ if (object.nodeFailure !== undefined && object.nodeFailure !== null) {
2754
+ message.nodeFailure = Boolean(object.nodeFailure);
2755
+ }
2756
+ else {
2757
+ message.nodeFailure = undefined;
2758
+ }
2759
+ if (object.migration !== undefined && object.migration !== null) {
2760
+ message.migration = Boolean(object.migration);
2761
+ }
2762
+ else {
2763
+ message.migration = undefined;
2764
+ }
2765
+ if (object.serverLeave !== undefined && object.serverLeave !== null) {
2766
+ message.serverLeave = Boolean(object.serverLeave);
2767
+ }
2768
+ else {
2769
+ message.serverLeave = undefined;
2770
+ }
2771
+ return message;
2772
+ },
2773
+ toJSON(message) {
2774
+ const obj = {};
2775
+ message.speakerUpdate !== undefined &&
2776
+ (obj.speakerUpdate = message.speakerUpdate);
2777
+ message.nodeFailure !== undefined &&
2778
+ (obj.nodeFailure = message.nodeFailure);
2779
+ message.migration !== undefined && (obj.migration = message.migration);
2780
+ message.serverLeave !== undefined &&
2781
+ (obj.serverLeave = message.serverLeave);
2782
+ return obj;
2783
+ },
2784
+ fromPartial(object) {
2785
+ var _a, _b, _c, _d;
2786
+ const message = Object.assign({}, baseSimulateScenario);
2787
+ message.speakerUpdate = (_a = object.speakerUpdate) !== null && _a !== void 0 ? _a : undefined;
2788
+ message.nodeFailure = (_b = object.nodeFailure) !== null && _b !== void 0 ? _b : undefined;
2789
+ message.migration = (_c = object.migration) !== null && _c !== void 0 ? _c : undefined;
2790
+ message.serverLeave = (_d = object.serverLeave) !== null && _d !== void 0 ? _d : undefined;
2791
+ return message;
2792
+ },
2793
+ };
2516
2794
  if (minimal_1.default.util.Long !== long_1.default) {
2517
2795
  minimal_1.default.util.Long = long_1.default;
2518
2796
  minimal_1.default.configure();