livekit-client 1.2.7 → 1.2.10

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 (36) hide show
  1. package/dist/livekit-client.esm.mjs +1082 -459
  2. package/dist/livekit-client.esm.mjs.map +1 -1
  3. package/dist/livekit-client.umd.js +1 -1
  4. package/dist/livekit-client.umd.js.map +1 -1
  5. package/dist/src/api/SignalClient.d.ts +11 -1
  6. package/dist/src/api/SignalClient.d.ts.map +1 -1
  7. package/dist/src/proto/google/protobuf/timestamp.d.ts +8 -2
  8. package/dist/src/proto/google/protobuf/timestamp.d.ts.map +1 -1
  9. package/dist/src/proto/livekit_models.d.ts +106 -47
  10. package/dist/src/proto/livekit_models.d.ts.map +1 -1
  11. package/dist/src/proto/livekit_rtc.d.ts +3012 -2132
  12. package/dist/src/proto/livekit_rtc.d.ts.map +1 -1
  13. package/dist/src/room/Room.d.ts.map +1 -1
  14. package/dist/src/room/participant/LocalParticipant.d.ts.map +1 -1
  15. package/dist/src/room/participant/Participant.d.ts +1 -1
  16. package/dist/src/room/participant/Participant.d.ts.map +1 -1
  17. package/dist/src/room/participant/RemoteParticipant.d.ts +1 -1
  18. package/dist/src/room/participant/RemoteParticipant.d.ts.map +1 -1
  19. package/dist/src/room/participant/publishUtils.d.ts.map +1 -1
  20. package/dist/src/room/track/RemoteAudioTrack.d.ts +1 -1
  21. package/dist/src/room/track/RemoteAudioTrack.d.ts.map +1 -1
  22. package/dist/src/room/track/RemoteTrackPublication.d.ts.map +1 -1
  23. package/package.json +3 -3
  24. package/src/api/SignalClient.ts +148 -41
  25. package/src/proto/google/protobuf/timestamp.ts +3 -1
  26. package/src/proto/livekit_models.ts +132 -36
  27. package/src/proto/livekit_rtc.ts +822 -459
  28. package/src/room/RTCEngine.ts +5 -5
  29. package/src/room/Room.ts +22 -6
  30. package/src/room/participant/LocalParticipant.ts +7 -4
  31. package/src/room/participant/Participant.ts +2 -1
  32. package/src/room/participant/RemoteParticipant.ts +3 -3
  33. package/src/room/participant/publishUtils.test.ts +12 -0
  34. package/src/room/participant/publishUtils.ts +21 -19
  35. package/src/room/track/RemoteAudioTrack.ts +15 -5
  36. package/src/room/track/RemoteTrackPublication.ts +1 -0
@@ -1,6 +1,4 @@
1
1
  /* eslint-disable */
2
- import Long from 'long';
3
- import * as _m0 from 'protobufjs/minimal';
4
2
  import {
5
3
  TrackType,
6
4
  TrackSource,
@@ -25,6 +23,8 @@ import {
25
23
  connectionQualityFromJSON,
26
24
  connectionQualityToJSON,
27
25
  } from './livekit_models';
26
+ import Long from 'long';
27
+ import _m0 from 'protobufjs/minimal';
28
28
 
29
29
  export const protobufPackage = 'livekit';
30
30
 
@@ -55,8 +55,9 @@ export function signalTargetToJSON(object: SignalTarget): string {
55
55
  return 'PUBLISHER';
56
56
  case SignalTarget.SUBSCRIBER:
57
57
  return 'SUBSCRIBER';
58
+ case SignalTarget.UNRECOGNIZED:
58
59
  default:
59
- return 'UNKNOWN';
60
+ return 'UNRECOGNIZED';
60
61
  }
61
62
  }
62
63
 
@@ -87,8 +88,9 @@ export function streamStateToJSON(object: StreamState): string {
87
88
  return 'ACTIVE';
88
89
  case StreamState.PAUSED:
89
90
  return 'PAUSED';
91
+ case StreamState.UNRECOGNIZED:
90
92
  default:
91
- return 'UNKNOWN';
93
+ return 'UNRECOGNIZED';
92
94
  }
93
95
  }
94
96
 
@@ -119,76 +121,51 @@ export function candidateProtocolToJSON(object: CandidateProtocol): string {
119
121
  return 'UDP';
120
122
  case CandidateProtocol.TCP:
121
123
  return 'TCP';
124
+ case CandidateProtocol.UNRECOGNIZED:
122
125
  default:
123
- return 'UNKNOWN';
126
+ return 'UNRECOGNIZED';
124
127
  }
125
128
  }
126
129
 
127
130
  export interface SignalRequest {
128
- /** initial join exchange, for publisher */
129
- offer?: SessionDescription | undefined;
130
- /** participant answering publisher offer */
131
- answer?: SessionDescription | undefined;
132
- trickle?: TrickleRequest | undefined;
133
- addTrack?: AddTrackRequest | undefined;
134
- /** mute the participant's published tracks */
135
- mute?: MuteTrackRequest | undefined;
136
- /** Subscribe or unsubscribe from tracks */
137
- subscription?: UpdateSubscription | undefined;
138
- /** Update settings of subscribed tracks */
139
- trackSetting?: UpdateTrackSettings | undefined;
140
- /** Immediately terminate session */
141
- leave?: LeaveRequest | undefined;
142
- /**
143
- * Set active published layers, deprecated in favor of automatic tracking
144
- * SetSimulcastLayers simulcast = 9;
145
- * Update published video layers
146
- */
147
- updateLayers?: UpdateVideoLayers | undefined;
148
- /** Update subscriber permissions */
149
- subscriptionPermission?: SubscriptionPermission | undefined;
150
- /** sync client's subscribe state to server during reconnect */
151
- syncState?: SyncState | undefined;
152
- /** Simulate conditions, for client validations */
153
- simulate?: SimulateScenario | undefined;
131
+ message?:
132
+ | { $case: 'offer'; offer: SessionDescription }
133
+ | { $case: 'answer'; answer: SessionDescription }
134
+ | { $case: 'trickle'; trickle: TrickleRequest }
135
+ | { $case: 'addTrack'; addTrack: AddTrackRequest }
136
+ | { $case: 'mute'; mute: MuteTrackRequest }
137
+ | { $case: 'subscription'; subscription: UpdateSubscription }
138
+ | { $case: 'trackSetting'; trackSetting: UpdateTrackSettings }
139
+ | { $case: 'leave'; leave: LeaveRequest }
140
+ | { $case: 'updateLayers'; updateLayers: UpdateVideoLayers }
141
+ | { $case: 'subscriptionPermission'; subscriptionPermission: SubscriptionPermission }
142
+ | { $case: 'syncState'; syncState: SyncState }
143
+ | { $case: 'simulate'; simulate: SimulateScenario }
144
+ | { $case: 'ping'; ping: number };
154
145
  }
155
146
 
156
147
  export interface SignalResponse {
157
- /** sent when join is accepted */
158
- join?: JoinResponse | undefined;
159
- /** sent when server answers publisher */
160
- answer?: SessionDescription | undefined;
161
- /** sent when server is sending subscriber an offer */
162
- offer?: SessionDescription | undefined;
163
- /** sent when an ICE candidate is available */
164
- trickle?: TrickleRequest | undefined;
165
- /** sent when participants in the room has changed */
166
- update?: ParticipantUpdate | undefined;
167
- /** sent to the participant when their track has been published */
168
- trackPublished?: TrackPublishedResponse | undefined;
169
- /** Immediately terminate session */
170
- leave?: LeaveRequest | undefined;
171
- /** server initiated mute */
172
- mute?: MuteTrackRequest | undefined;
173
- /** indicates changes to speaker status, including when they've gone to not speaking */
174
- speakersChanged?: SpeakersChanged | undefined;
175
- /** sent when metadata of the room has changed */
176
- roomUpdate?: RoomUpdate | undefined;
177
- /** when connection quality changed */
178
- connectionQuality?: ConnectionQualityUpdate | undefined;
179
- /**
180
- * when streamed tracks state changed, used to notify when any of the streams were paused due to
181
- * congestion
182
- */
183
- streamStateUpdate?: StreamStateUpdate | undefined;
184
- /** when max subscribe quality changed, used by dynamic broadcasting to disable unused layers */
185
- subscribedQualityUpdate?: SubscribedQualityUpdate | undefined;
186
- /** when subscription permission changed */
187
- subscriptionPermissionUpdate?: SubscriptionPermissionUpdate | undefined;
188
- /** update the token the client was using, to prevent an active client from using an expired token */
189
- refreshToken: string | undefined;
190
- /** server initiated track unpublish */
191
- trackUnpublished?: TrackUnpublishedResponse | undefined;
148
+ message?:
149
+ | { $case: 'join'; join: JoinResponse }
150
+ | { $case: 'answer'; answer: SessionDescription }
151
+ | { $case: 'offer'; offer: SessionDescription }
152
+ | { $case: 'trickle'; trickle: TrickleRequest }
153
+ | { $case: 'update'; update: ParticipantUpdate }
154
+ | { $case: 'trackPublished'; trackPublished: TrackPublishedResponse }
155
+ | { $case: 'leave'; leave: LeaveRequest }
156
+ | { $case: 'mute'; mute: MuteTrackRequest }
157
+ | { $case: 'speakersChanged'; speakersChanged: SpeakersChanged }
158
+ | { $case: 'roomUpdate'; roomUpdate: RoomUpdate }
159
+ | { $case: 'connectionQuality'; connectionQuality: ConnectionQualityUpdate }
160
+ | { $case: 'streamStateUpdate'; streamStateUpdate: StreamStateUpdate }
161
+ | { $case: 'subscribedQualityUpdate'; subscribedQualityUpdate: SubscribedQualityUpdate }
162
+ | {
163
+ $case: 'subscriptionPermissionUpdate';
164
+ subscriptionPermissionUpdate: SubscriptionPermissionUpdate;
165
+ }
166
+ | { $case: 'refreshToken'; refreshToken: string }
167
+ | { $case: 'trackUnpublished'; trackUnpublished: TrackUnpublishedResponse }
168
+ | { $case: 'pong'; pong: number };
192
169
  }
193
170
 
194
171
  export interface SimulcastCodec {
@@ -241,6 +218,8 @@ export interface JoinResponse {
241
218
  alternativeUrl: string;
242
219
  clientConfiguration?: ClientConfiguration;
243
220
  serverRegion: string;
221
+ pingTimeout: number;
222
+ pingInterval: number;
244
223
  }
245
224
 
246
225
  export interface TrackPublishedResponse {
@@ -378,75 +357,61 @@ export interface DataChannelInfo {
378
357
  }
379
358
 
380
359
  export interface SimulateScenario {
381
- /** simulate N seconds of speaker activity */
382
- speakerUpdate: number | undefined;
383
- /** simulate local node failure */
384
- nodeFailure: boolean | undefined;
385
- /** simulate migration */
386
- migration: boolean | undefined;
387
- /** server to send leave */
388
- serverLeave: boolean | undefined;
389
- /** switch candidate protocol to tcp */
390
- switchCandidateProtocol: CandidateProtocol | undefined;
360
+ scenario?:
361
+ | { $case: 'speakerUpdate'; speakerUpdate: number }
362
+ | { $case: 'nodeFailure'; nodeFailure: boolean }
363
+ | { $case: 'migration'; migration: boolean }
364
+ | { $case: 'serverLeave'; serverLeave: boolean }
365
+ | { $case: 'switchCandidateProtocol'; switchCandidateProtocol: CandidateProtocol };
391
366
  }
392
367
 
393
368
  function createBaseSignalRequest(): SignalRequest {
394
- return {
395
- offer: undefined,
396
- answer: undefined,
397
- trickle: undefined,
398
- addTrack: undefined,
399
- mute: undefined,
400
- subscription: undefined,
401
- trackSetting: undefined,
402
- leave: undefined,
403
- updateLayers: undefined,
404
- subscriptionPermission: undefined,
405
- syncState: undefined,
406
- simulate: undefined,
407
- };
369
+ return { message: undefined };
408
370
  }
409
371
 
410
372
  export const SignalRequest = {
411
373
  encode(message: SignalRequest, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
412
- if (message.offer !== undefined) {
413
- SessionDescription.encode(message.offer, writer.uint32(10).fork()).ldelim();
374
+ if (message.message?.$case === 'offer') {
375
+ SessionDescription.encode(message.message.offer, writer.uint32(10).fork()).ldelim();
414
376
  }
415
- if (message.answer !== undefined) {
416
- SessionDescription.encode(message.answer, writer.uint32(18).fork()).ldelim();
377
+ if (message.message?.$case === 'answer') {
378
+ SessionDescription.encode(message.message.answer, writer.uint32(18).fork()).ldelim();
417
379
  }
418
- if (message.trickle !== undefined) {
419
- TrickleRequest.encode(message.trickle, writer.uint32(26).fork()).ldelim();
380
+ if (message.message?.$case === 'trickle') {
381
+ TrickleRequest.encode(message.message.trickle, writer.uint32(26).fork()).ldelim();
420
382
  }
421
- if (message.addTrack !== undefined) {
422
- AddTrackRequest.encode(message.addTrack, writer.uint32(34).fork()).ldelim();
383
+ if (message.message?.$case === 'addTrack') {
384
+ AddTrackRequest.encode(message.message.addTrack, writer.uint32(34).fork()).ldelim();
423
385
  }
424
- if (message.mute !== undefined) {
425
- MuteTrackRequest.encode(message.mute, writer.uint32(42).fork()).ldelim();
386
+ if (message.message?.$case === 'mute') {
387
+ MuteTrackRequest.encode(message.message.mute, writer.uint32(42).fork()).ldelim();
426
388
  }
427
- if (message.subscription !== undefined) {
428
- UpdateSubscription.encode(message.subscription, writer.uint32(50).fork()).ldelim();
389
+ if (message.message?.$case === 'subscription') {
390
+ UpdateSubscription.encode(message.message.subscription, writer.uint32(50).fork()).ldelim();
429
391
  }
430
- if (message.trackSetting !== undefined) {
431
- UpdateTrackSettings.encode(message.trackSetting, writer.uint32(58).fork()).ldelim();
392
+ if (message.message?.$case === 'trackSetting') {
393
+ UpdateTrackSettings.encode(message.message.trackSetting, writer.uint32(58).fork()).ldelim();
432
394
  }
433
- if (message.leave !== undefined) {
434
- LeaveRequest.encode(message.leave, writer.uint32(66).fork()).ldelim();
395
+ if (message.message?.$case === 'leave') {
396
+ LeaveRequest.encode(message.message.leave, writer.uint32(66).fork()).ldelim();
435
397
  }
436
- if (message.updateLayers !== undefined) {
437
- UpdateVideoLayers.encode(message.updateLayers, writer.uint32(82).fork()).ldelim();
398
+ if (message.message?.$case === 'updateLayers') {
399
+ UpdateVideoLayers.encode(message.message.updateLayers, writer.uint32(82).fork()).ldelim();
438
400
  }
439
- if (message.subscriptionPermission !== undefined) {
401
+ if (message.message?.$case === 'subscriptionPermission') {
440
402
  SubscriptionPermission.encode(
441
- message.subscriptionPermission,
403
+ message.message.subscriptionPermission,
442
404
  writer.uint32(90).fork(),
443
405
  ).ldelim();
444
406
  }
445
- if (message.syncState !== undefined) {
446
- SyncState.encode(message.syncState, writer.uint32(98).fork()).ldelim();
407
+ if (message.message?.$case === 'syncState') {
408
+ SyncState.encode(message.message.syncState, writer.uint32(98).fork()).ldelim();
447
409
  }
448
- if (message.simulate !== undefined) {
449
- SimulateScenario.encode(message.simulate, writer.uint32(106).fork()).ldelim();
410
+ if (message.message?.$case === 'simulate') {
411
+ SimulateScenario.encode(message.message.simulate, writer.uint32(106).fork()).ldelim();
412
+ }
413
+ if (message.message?.$case === 'ping') {
414
+ writer.uint32(112).int64(message.message.ping);
450
415
  }
451
416
  return writer;
452
417
  },
@@ -459,40 +424,76 @@ export const SignalRequest = {
459
424
  const tag = reader.uint32();
460
425
  switch (tag >>> 3) {
461
426
  case 1:
462
- message.offer = SessionDescription.decode(reader, reader.uint32());
427
+ message.message = {
428
+ $case: 'offer',
429
+ offer: SessionDescription.decode(reader, reader.uint32()),
430
+ };
463
431
  break;
464
432
  case 2:
465
- message.answer = SessionDescription.decode(reader, reader.uint32());
433
+ message.message = {
434
+ $case: 'answer',
435
+ answer: SessionDescription.decode(reader, reader.uint32()),
436
+ };
466
437
  break;
467
438
  case 3:
468
- message.trickle = TrickleRequest.decode(reader, reader.uint32());
439
+ message.message = {
440
+ $case: 'trickle',
441
+ trickle: TrickleRequest.decode(reader, reader.uint32()),
442
+ };
469
443
  break;
470
444
  case 4:
471
- message.addTrack = AddTrackRequest.decode(reader, reader.uint32());
445
+ message.message = {
446
+ $case: 'addTrack',
447
+ addTrack: AddTrackRequest.decode(reader, reader.uint32()),
448
+ };
472
449
  break;
473
450
  case 5:
474
- message.mute = MuteTrackRequest.decode(reader, reader.uint32());
451
+ message.message = {
452
+ $case: 'mute',
453
+ mute: MuteTrackRequest.decode(reader, reader.uint32()),
454
+ };
475
455
  break;
476
456
  case 6:
477
- message.subscription = UpdateSubscription.decode(reader, reader.uint32());
457
+ message.message = {
458
+ $case: 'subscription',
459
+ subscription: UpdateSubscription.decode(reader, reader.uint32()),
460
+ };
478
461
  break;
479
462
  case 7:
480
- message.trackSetting = UpdateTrackSettings.decode(reader, reader.uint32());
463
+ message.message = {
464
+ $case: 'trackSetting',
465
+ trackSetting: UpdateTrackSettings.decode(reader, reader.uint32()),
466
+ };
481
467
  break;
482
468
  case 8:
483
- message.leave = LeaveRequest.decode(reader, reader.uint32());
469
+ message.message = { $case: 'leave', leave: LeaveRequest.decode(reader, reader.uint32()) };
484
470
  break;
485
471
  case 10:
486
- message.updateLayers = UpdateVideoLayers.decode(reader, reader.uint32());
472
+ message.message = {
473
+ $case: 'updateLayers',
474
+ updateLayers: UpdateVideoLayers.decode(reader, reader.uint32()),
475
+ };
487
476
  break;
488
477
  case 11:
489
- message.subscriptionPermission = SubscriptionPermission.decode(reader, reader.uint32());
478
+ message.message = {
479
+ $case: 'subscriptionPermission',
480
+ subscriptionPermission: SubscriptionPermission.decode(reader, reader.uint32()),
481
+ };
490
482
  break;
491
483
  case 12:
492
- message.syncState = SyncState.decode(reader, reader.uint32());
484
+ message.message = {
485
+ $case: 'syncState',
486
+ syncState: SyncState.decode(reader, reader.uint32()),
487
+ };
493
488
  break;
494
489
  case 13:
495
- message.simulate = SimulateScenario.decode(reader, reader.uint32());
490
+ message.message = {
491
+ $case: 'simulate',
492
+ simulate: SimulateScenario.decode(reader, reader.uint32()),
493
+ };
494
+ break;
495
+ case 14:
496
+ message.message = { $case: 'ping', ping: longToNumber(reader.int64() as Long) };
496
497
  break;
497
498
  default:
498
499
  reader.skipType(tag & 7);
@@ -504,196 +505,296 @@ export const SignalRequest = {
504
505
 
505
506
  fromJSON(object: any): SignalRequest {
506
507
  return {
507
- offer: isSet(object.offer) ? SessionDescription.fromJSON(object.offer) : undefined,
508
- answer: isSet(object.answer) ? SessionDescription.fromJSON(object.answer) : undefined,
509
- trickle: isSet(object.trickle) ? TrickleRequest.fromJSON(object.trickle) : undefined,
510
- addTrack: isSet(object.addTrack) ? AddTrackRequest.fromJSON(object.addTrack) : undefined,
511
- mute: isSet(object.mute) ? MuteTrackRequest.fromJSON(object.mute) : undefined,
512
- subscription: isSet(object.subscription)
513
- ? UpdateSubscription.fromJSON(object.subscription)
514
- : undefined,
515
- trackSetting: isSet(object.trackSetting)
516
- ? UpdateTrackSettings.fromJSON(object.trackSetting)
517
- : undefined,
518
- leave: isSet(object.leave) ? LeaveRequest.fromJSON(object.leave) : undefined,
519
- updateLayers: isSet(object.updateLayers)
520
- ? UpdateVideoLayers.fromJSON(object.updateLayers)
508
+ message: isSet(object.offer)
509
+ ? { $case: 'offer', offer: SessionDescription.fromJSON(object.offer) }
510
+ : isSet(object.answer)
511
+ ? { $case: 'answer', answer: SessionDescription.fromJSON(object.answer) }
512
+ : isSet(object.trickle)
513
+ ? { $case: 'trickle', trickle: TrickleRequest.fromJSON(object.trickle) }
514
+ : isSet(object.addTrack)
515
+ ? { $case: 'addTrack', addTrack: AddTrackRequest.fromJSON(object.addTrack) }
516
+ : isSet(object.mute)
517
+ ? { $case: 'mute', mute: MuteTrackRequest.fromJSON(object.mute) }
518
+ : isSet(object.subscription)
519
+ ? { $case: 'subscription', subscription: UpdateSubscription.fromJSON(object.subscription) }
520
+ : isSet(object.trackSetting)
521
+ ? { $case: 'trackSetting', trackSetting: UpdateTrackSettings.fromJSON(object.trackSetting) }
522
+ : isSet(object.leave)
523
+ ? { $case: 'leave', leave: LeaveRequest.fromJSON(object.leave) }
524
+ : isSet(object.updateLayers)
525
+ ? { $case: 'updateLayers', updateLayers: UpdateVideoLayers.fromJSON(object.updateLayers) }
526
+ : isSet(object.subscriptionPermission)
527
+ ? {
528
+ $case: 'subscriptionPermission',
529
+ subscriptionPermission: SubscriptionPermission.fromJSON(object.subscriptionPermission),
530
+ }
531
+ : isSet(object.syncState)
532
+ ? { $case: 'syncState', syncState: SyncState.fromJSON(object.syncState) }
533
+ : isSet(object.simulate)
534
+ ? { $case: 'simulate', simulate: SimulateScenario.fromJSON(object.simulate) }
535
+ : isSet(object.ping)
536
+ ? { $case: 'ping', ping: Number(object.ping) }
521
537
  : undefined,
522
- subscriptionPermission: isSet(object.subscriptionPermission)
523
- ? SubscriptionPermission.fromJSON(object.subscriptionPermission)
524
- : undefined,
525
- syncState: isSet(object.syncState) ? SyncState.fromJSON(object.syncState) : undefined,
526
- simulate: isSet(object.simulate) ? SimulateScenario.fromJSON(object.simulate) : undefined,
527
538
  };
528
539
  },
529
540
 
530
541
  toJSON(message: SignalRequest): unknown {
531
542
  const obj: any = {};
532
- message.offer !== undefined &&
533
- (obj.offer = message.offer ? SessionDescription.toJSON(message.offer) : undefined);
534
- message.answer !== undefined &&
535
- (obj.answer = message.answer ? SessionDescription.toJSON(message.answer) : undefined);
536
- message.trickle !== undefined &&
537
- (obj.trickle = message.trickle ? TrickleRequest.toJSON(message.trickle) : undefined);
538
- message.addTrack !== undefined &&
539
- (obj.addTrack = message.addTrack ? AddTrackRequest.toJSON(message.addTrack) : undefined);
540
- message.mute !== undefined &&
541
- (obj.mute = message.mute ? MuteTrackRequest.toJSON(message.mute) : undefined);
542
- message.subscription !== undefined &&
543
- (obj.subscription = message.subscription
544
- ? UpdateSubscription.toJSON(message.subscription)
543
+ message.message?.$case === 'offer' &&
544
+ (obj.offer = message.message?.offer
545
+ ? SessionDescription.toJSON(message.message?.offer)
546
+ : undefined);
547
+ message.message?.$case === 'answer' &&
548
+ (obj.answer = message.message?.answer
549
+ ? SessionDescription.toJSON(message.message?.answer)
545
550
  : undefined);
546
- message.trackSetting !== undefined &&
547
- (obj.trackSetting = message.trackSetting
548
- ? UpdateTrackSettings.toJSON(message.trackSetting)
551
+ message.message?.$case === 'trickle' &&
552
+ (obj.trickle = message.message?.trickle
553
+ ? TrickleRequest.toJSON(message.message?.trickle)
549
554
  : undefined);
550
- message.leave !== undefined &&
551
- (obj.leave = message.leave ? LeaveRequest.toJSON(message.leave) : undefined);
552
- message.updateLayers !== undefined &&
553
- (obj.updateLayers = message.updateLayers
554
- ? UpdateVideoLayers.toJSON(message.updateLayers)
555
+ message.message?.$case === 'addTrack' &&
556
+ (obj.addTrack = message.message?.addTrack
557
+ ? AddTrackRequest.toJSON(message.message?.addTrack)
555
558
  : undefined);
556
- message.subscriptionPermission !== undefined &&
557
- (obj.subscriptionPermission = message.subscriptionPermission
558
- ? SubscriptionPermission.toJSON(message.subscriptionPermission)
559
+ message.message?.$case === 'mute' &&
560
+ (obj.mute = message.message?.mute
561
+ ? MuteTrackRequest.toJSON(message.message?.mute)
559
562
  : undefined);
560
- message.syncState !== undefined &&
561
- (obj.syncState = message.syncState ? SyncState.toJSON(message.syncState) : undefined);
562
- message.simulate !== undefined &&
563
- (obj.simulate = message.simulate ? SimulateScenario.toJSON(message.simulate) : undefined);
563
+ message.message?.$case === 'subscription' &&
564
+ (obj.subscription = message.message?.subscription
565
+ ? UpdateSubscription.toJSON(message.message?.subscription)
566
+ : undefined);
567
+ message.message?.$case === 'trackSetting' &&
568
+ (obj.trackSetting = message.message?.trackSetting
569
+ ? UpdateTrackSettings.toJSON(message.message?.trackSetting)
570
+ : undefined);
571
+ message.message?.$case === 'leave' &&
572
+ (obj.leave = message.message?.leave
573
+ ? LeaveRequest.toJSON(message.message?.leave)
574
+ : undefined);
575
+ message.message?.$case === 'updateLayers' &&
576
+ (obj.updateLayers = message.message?.updateLayers
577
+ ? UpdateVideoLayers.toJSON(message.message?.updateLayers)
578
+ : undefined);
579
+ message.message?.$case === 'subscriptionPermission' &&
580
+ (obj.subscriptionPermission = message.message?.subscriptionPermission
581
+ ? SubscriptionPermission.toJSON(message.message?.subscriptionPermission)
582
+ : undefined);
583
+ message.message?.$case === 'syncState' &&
584
+ (obj.syncState = message.message?.syncState
585
+ ? SyncState.toJSON(message.message?.syncState)
586
+ : undefined);
587
+ message.message?.$case === 'simulate' &&
588
+ (obj.simulate = message.message?.simulate
589
+ ? SimulateScenario.toJSON(message.message?.simulate)
590
+ : undefined);
591
+ message.message?.$case === 'ping' && (obj.ping = Math.round(message.message?.ping));
564
592
  return obj;
565
593
  },
566
594
 
567
595
  fromPartial<I extends Exact<DeepPartial<SignalRequest>, I>>(object: I): SignalRequest {
568
596
  const message = createBaseSignalRequest();
569
- message.offer =
570
- object.offer !== undefined && object.offer !== null
571
- ? SessionDescription.fromPartial(object.offer)
572
- : undefined;
573
- message.answer =
574
- object.answer !== undefined && object.answer !== null
575
- ? SessionDescription.fromPartial(object.answer)
576
- : undefined;
577
- message.trickle =
578
- object.trickle !== undefined && object.trickle !== null
579
- ? TrickleRequest.fromPartial(object.trickle)
580
- : undefined;
581
- message.addTrack =
582
- object.addTrack !== undefined && object.addTrack !== null
583
- ? AddTrackRequest.fromPartial(object.addTrack)
584
- : undefined;
585
- message.mute =
586
- object.mute !== undefined && object.mute !== null
587
- ? MuteTrackRequest.fromPartial(object.mute)
588
- : undefined;
589
- message.subscription =
590
- object.subscription !== undefined && object.subscription !== null
591
- ? UpdateSubscription.fromPartial(object.subscription)
592
- : undefined;
593
- message.trackSetting =
594
- object.trackSetting !== undefined && object.trackSetting !== null
595
- ? UpdateTrackSettings.fromPartial(object.trackSetting)
596
- : undefined;
597
- message.leave =
598
- object.leave !== undefined && object.leave !== null
599
- ? LeaveRequest.fromPartial(object.leave)
600
- : undefined;
601
- message.updateLayers =
602
- object.updateLayers !== undefined && object.updateLayers !== null
603
- ? UpdateVideoLayers.fromPartial(object.updateLayers)
604
- : undefined;
605
- message.subscriptionPermission =
606
- object.subscriptionPermission !== undefined && object.subscriptionPermission !== null
607
- ? SubscriptionPermission.fromPartial(object.subscriptionPermission)
608
- : undefined;
609
- message.syncState =
610
- object.syncState !== undefined && object.syncState !== null
611
- ? SyncState.fromPartial(object.syncState)
612
- : undefined;
613
- message.simulate =
614
- object.simulate !== undefined && object.simulate !== null
615
- ? SimulateScenario.fromPartial(object.simulate)
616
- : undefined;
597
+ if (
598
+ object.message?.$case === 'offer' &&
599
+ object.message?.offer !== undefined &&
600
+ object.message?.offer !== null
601
+ ) {
602
+ message.message = {
603
+ $case: 'offer',
604
+ offer: SessionDescription.fromPartial(object.message.offer),
605
+ };
606
+ }
607
+ if (
608
+ object.message?.$case === 'answer' &&
609
+ object.message?.answer !== undefined &&
610
+ object.message?.answer !== null
611
+ ) {
612
+ message.message = {
613
+ $case: 'answer',
614
+ answer: SessionDescription.fromPartial(object.message.answer),
615
+ };
616
+ }
617
+ if (
618
+ object.message?.$case === 'trickle' &&
619
+ object.message?.trickle !== undefined &&
620
+ object.message?.trickle !== null
621
+ ) {
622
+ message.message = {
623
+ $case: 'trickle',
624
+ trickle: TrickleRequest.fromPartial(object.message.trickle),
625
+ };
626
+ }
627
+ if (
628
+ object.message?.$case === 'addTrack' &&
629
+ object.message?.addTrack !== undefined &&
630
+ object.message?.addTrack !== null
631
+ ) {
632
+ message.message = {
633
+ $case: 'addTrack',
634
+ addTrack: AddTrackRequest.fromPartial(object.message.addTrack),
635
+ };
636
+ }
637
+ if (
638
+ object.message?.$case === 'mute' &&
639
+ object.message?.mute !== undefined &&
640
+ object.message?.mute !== null
641
+ ) {
642
+ message.message = { $case: 'mute', mute: MuteTrackRequest.fromPartial(object.message.mute) };
643
+ }
644
+ if (
645
+ object.message?.$case === 'subscription' &&
646
+ object.message?.subscription !== undefined &&
647
+ object.message?.subscription !== null
648
+ ) {
649
+ message.message = {
650
+ $case: 'subscription',
651
+ subscription: UpdateSubscription.fromPartial(object.message.subscription),
652
+ };
653
+ }
654
+ if (
655
+ object.message?.$case === 'trackSetting' &&
656
+ object.message?.trackSetting !== undefined &&
657
+ object.message?.trackSetting !== null
658
+ ) {
659
+ message.message = {
660
+ $case: 'trackSetting',
661
+ trackSetting: UpdateTrackSettings.fromPartial(object.message.trackSetting),
662
+ };
663
+ }
664
+ if (
665
+ object.message?.$case === 'leave' &&
666
+ object.message?.leave !== undefined &&
667
+ object.message?.leave !== null
668
+ ) {
669
+ message.message = { $case: 'leave', leave: LeaveRequest.fromPartial(object.message.leave) };
670
+ }
671
+ if (
672
+ object.message?.$case === 'updateLayers' &&
673
+ object.message?.updateLayers !== undefined &&
674
+ object.message?.updateLayers !== null
675
+ ) {
676
+ message.message = {
677
+ $case: 'updateLayers',
678
+ updateLayers: UpdateVideoLayers.fromPartial(object.message.updateLayers),
679
+ };
680
+ }
681
+ if (
682
+ object.message?.$case === 'subscriptionPermission' &&
683
+ object.message?.subscriptionPermission !== undefined &&
684
+ object.message?.subscriptionPermission !== null
685
+ ) {
686
+ message.message = {
687
+ $case: 'subscriptionPermission',
688
+ subscriptionPermission: SubscriptionPermission.fromPartial(
689
+ object.message.subscriptionPermission,
690
+ ),
691
+ };
692
+ }
693
+ if (
694
+ object.message?.$case === 'syncState' &&
695
+ object.message?.syncState !== undefined &&
696
+ object.message?.syncState !== null
697
+ ) {
698
+ message.message = {
699
+ $case: 'syncState',
700
+ syncState: SyncState.fromPartial(object.message.syncState),
701
+ };
702
+ }
703
+ if (
704
+ object.message?.$case === 'simulate' &&
705
+ object.message?.simulate !== undefined &&
706
+ object.message?.simulate !== null
707
+ ) {
708
+ message.message = {
709
+ $case: 'simulate',
710
+ simulate: SimulateScenario.fromPartial(object.message.simulate),
711
+ };
712
+ }
713
+ if (
714
+ object.message?.$case === 'ping' &&
715
+ object.message?.ping !== undefined &&
716
+ object.message?.ping !== null
717
+ ) {
718
+ message.message = { $case: 'ping', ping: object.message.ping };
719
+ }
617
720
  return message;
618
721
  },
619
722
  };
620
723
 
621
724
  function createBaseSignalResponse(): SignalResponse {
622
- return {
623
- join: undefined,
624
- answer: undefined,
625
- offer: undefined,
626
- trickle: undefined,
627
- update: undefined,
628
- trackPublished: undefined,
629
- leave: undefined,
630
- mute: undefined,
631
- speakersChanged: undefined,
632
- roomUpdate: undefined,
633
- connectionQuality: undefined,
634
- streamStateUpdate: undefined,
635
- subscribedQualityUpdate: undefined,
636
- subscriptionPermissionUpdate: undefined,
637
- refreshToken: undefined,
638
- trackUnpublished: undefined,
639
- };
725
+ return { message: undefined };
640
726
  }
641
727
 
642
728
  export const SignalResponse = {
643
729
  encode(message: SignalResponse, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
644
- if (message.join !== undefined) {
645
- JoinResponse.encode(message.join, writer.uint32(10).fork()).ldelim();
730
+ if (message.message?.$case === 'join') {
731
+ JoinResponse.encode(message.message.join, writer.uint32(10).fork()).ldelim();
646
732
  }
647
- if (message.answer !== undefined) {
648
- SessionDescription.encode(message.answer, writer.uint32(18).fork()).ldelim();
733
+ if (message.message?.$case === 'answer') {
734
+ SessionDescription.encode(message.message.answer, writer.uint32(18).fork()).ldelim();
649
735
  }
650
- if (message.offer !== undefined) {
651
- SessionDescription.encode(message.offer, writer.uint32(26).fork()).ldelim();
736
+ if (message.message?.$case === 'offer') {
737
+ SessionDescription.encode(message.message.offer, writer.uint32(26).fork()).ldelim();
652
738
  }
653
- if (message.trickle !== undefined) {
654
- TrickleRequest.encode(message.trickle, writer.uint32(34).fork()).ldelim();
739
+ if (message.message?.$case === 'trickle') {
740
+ TrickleRequest.encode(message.message.trickle, writer.uint32(34).fork()).ldelim();
655
741
  }
656
- if (message.update !== undefined) {
657
- ParticipantUpdate.encode(message.update, writer.uint32(42).fork()).ldelim();
742
+ if (message.message?.$case === 'update') {
743
+ ParticipantUpdate.encode(message.message.update, writer.uint32(42).fork()).ldelim();
658
744
  }
659
- if (message.trackPublished !== undefined) {
660
- TrackPublishedResponse.encode(message.trackPublished, writer.uint32(50).fork()).ldelim();
745
+ if (message.message?.$case === 'trackPublished') {
746
+ TrackPublishedResponse.encode(
747
+ message.message.trackPublished,
748
+ writer.uint32(50).fork(),
749
+ ).ldelim();
661
750
  }
662
- if (message.leave !== undefined) {
663
- LeaveRequest.encode(message.leave, writer.uint32(66).fork()).ldelim();
751
+ if (message.message?.$case === 'leave') {
752
+ LeaveRequest.encode(message.message.leave, writer.uint32(66).fork()).ldelim();
664
753
  }
665
- if (message.mute !== undefined) {
666
- MuteTrackRequest.encode(message.mute, writer.uint32(74).fork()).ldelim();
754
+ if (message.message?.$case === 'mute') {
755
+ MuteTrackRequest.encode(message.message.mute, writer.uint32(74).fork()).ldelim();
667
756
  }
668
- if (message.speakersChanged !== undefined) {
669
- SpeakersChanged.encode(message.speakersChanged, writer.uint32(82).fork()).ldelim();
757
+ if (message.message?.$case === 'speakersChanged') {
758
+ SpeakersChanged.encode(message.message.speakersChanged, writer.uint32(82).fork()).ldelim();
670
759
  }
671
- if (message.roomUpdate !== undefined) {
672
- RoomUpdate.encode(message.roomUpdate, writer.uint32(90).fork()).ldelim();
760
+ if (message.message?.$case === 'roomUpdate') {
761
+ RoomUpdate.encode(message.message.roomUpdate, writer.uint32(90).fork()).ldelim();
673
762
  }
674
- if (message.connectionQuality !== undefined) {
675
- ConnectionQualityUpdate.encode(message.connectionQuality, writer.uint32(98).fork()).ldelim();
763
+ if (message.message?.$case === 'connectionQuality') {
764
+ ConnectionQualityUpdate.encode(
765
+ message.message.connectionQuality,
766
+ writer.uint32(98).fork(),
767
+ ).ldelim();
676
768
  }
677
- if (message.streamStateUpdate !== undefined) {
678
- StreamStateUpdate.encode(message.streamStateUpdate, writer.uint32(106).fork()).ldelim();
769
+ if (message.message?.$case === 'streamStateUpdate') {
770
+ StreamStateUpdate.encode(
771
+ message.message.streamStateUpdate,
772
+ writer.uint32(106).fork(),
773
+ ).ldelim();
679
774
  }
680
- if (message.subscribedQualityUpdate !== undefined) {
775
+ if (message.message?.$case === 'subscribedQualityUpdate') {
681
776
  SubscribedQualityUpdate.encode(
682
- message.subscribedQualityUpdate,
777
+ message.message.subscribedQualityUpdate,
683
778
  writer.uint32(114).fork(),
684
779
  ).ldelim();
685
780
  }
686
- if (message.subscriptionPermissionUpdate !== undefined) {
781
+ if (message.message?.$case === 'subscriptionPermissionUpdate') {
687
782
  SubscriptionPermissionUpdate.encode(
688
- message.subscriptionPermissionUpdate,
783
+ message.message.subscriptionPermissionUpdate,
689
784
  writer.uint32(122).fork(),
690
785
  ).ldelim();
691
786
  }
692
- if (message.refreshToken !== undefined) {
693
- writer.uint32(130).string(message.refreshToken);
787
+ if (message.message?.$case === 'refreshToken') {
788
+ writer.uint32(130).string(message.message.refreshToken);
694
789
  }
695
- if (message.trackUnpublished !== undefined) {
696
- TrackUnpublishedResponse.encode(message.trackUnpublished, writer.uint32(138).fork()).ldelim();
790
+ if (message.message?.$case === 'trackUnpublished') {
791
+ TrackUnpublishedResponse.encode(
792
+ message.message.trackUnpublished,
793
+ writer.uint32(138).fork(),
794
+ ).ldelim();
795
+ }
796
+ if (message.message?.$case === 'pong') {
797
+ writer.uint32(144).int64(message.message.pong);
697
798
  }
698
799
  return writer;
699
800
  },
@@ -706,55 +807,97 @@ export const SignalResponse = {
706
807
  const tag = reader.uint32();
707
808
  switch (tag >>> 3) {
708
809
  case 1:
709
- message.join = JoinResponse.decode(reader, reader.uint32());
810
+ message.message = { $case: 'join', join: JoinResponse.decode(reader, reader.uint32()) };
710
811
  break;
711
812
  case 2:
712
- message.answer = SessionDescription.decode(reader, reader.uint32());
813
+ message.message = {
814
+ $case: 'answer',
815
+ answer: SessionDescription.decode(reader, reader.uint32()),
816
+ };
713
817
  break;
714
818
  case 3:
715
- message.offer = SessionDescription.decode(reader, reader.uint32());
819
+ message.message = {
820
+ $case: 'offer',
821
+ offer: SessionDescription.decode(reader, reader.uint32()),
822
+ };
716
823
  break;
717
824
  case 4:
718
- message.trickle = TrickleRequest.decode(reader, reader.uint32());
825
+ message.message = {
826
+ $case: 'trickle',
827
+ trickle: TrickleRequest.decode(reader, reader.uint32()),
828
+ };
719
829
  break;
720
830
  case 5:
721
- message.update = ParticipantUpdate.decode(reader, reader.uint32());
831
+ message.message = {
832
+ $case: 'update',
833
+ update: ParticipantUpdate.decode(reader, reader.uint32()),
834
+ };
722
835
  break;
723
836
  case 6:
724
- message.trackPublished = TrackPublishedResponse.decode(reader, reader.uint32());
837
+ message.message = {
838
+ $case: 'trackPublished',
839
+ trackPublished: TrackPublishedResponse.decode(reader, reader.uint32()),
840
+ };
725
841
  break;
726
842
  case 8:
727
- message.leave = LeaveRequest.decode(reader, reader.uint32());
843
+ message.message = { $case: 'leave', leave: LeaveRequest.decode(reader, reader.uint32()) };
728
844
  break;
729
845
  case 9:
730
- message.mute = MuteTrackRequest.decode(reader, reader.uint32());
846
+ message.message = {
847
+ $case: 'mute',
848
+ mute: MuteTrackRequest.decode(reader, reader.uint32()),
849
+ };
731
850
  break;
732
851
  case 10:
733
- message.speakersChanged = SpeakersChanged.decode(reader, reader.uint32());
852
+ message.message = {
853
+ $case: 'speakersChanged',
854
+ speakersChanged: SpeakersChanged.decode(reader, reader.uint32()),
855
+ };
734
856
  break;
735
857
  case 11:
736
- message.roomUpdate = RoomUpdate.decode(reader, reader.uint32());
858
+ message.message = {
859
+ $case: 'roomUpdate',
860
+ roomUpdate: RoomUpdate.decode(reader, reader.uint32()),
861
+ };
737
862
  break;
738
863
  case 12:
739
- message.connectionQuality = ConnectionQualityUpdate.decode(reader, reader.uint32());
864
+ message.message = {
865
+ $case: 'connectionQuality',
866
+ connectionQuality: ConnectionQualityUpdate.decode(reader, reader.uint32()),
867
+ };
740
868
  break;
741
869
  case 13:
742
- message.streamStateUpdate = StreamStateUpdate.decode(reader, reader.uint32());
870
+ message.message = {
871
+ $case: 'streamStateUpdate',
872
+ streamStateUpdate: StreamStateUpdate.decode(reader, reader.uint32()),
873
+ };
743
874
  break;
744
875
  case 14:
745
- message.subscribedQualityUpdate = SubscribedQualityUpdate.decode(reader, reader.uint32());
876
+ message.message = {
877
+ $case: 'subscribedQualityUpdate',
878
+ subscribedQualityUpdate: SubscribedQualityUpdate.decode(reader, reader.uint32()),
879
+ };
746
880
  break;
747
881
  case 15:
748
- message.subscriptionPermissionUpdate = SubscriptionPermissionUpdate.decode(
749
- reader,
750
- reader.uint32(),
751
- );
882
+ message.message = {
883
+ $case: 'subscriptionPermissionUpdate',
884
+ subscriptionPermissionUpdate: SubscriptionPermissionUpdate.decode(
885
+ reader,
886
+ reader.uint32(),
887
+ ),
888
+ };
752
889
  break;
753
890
  case 16:
754
- message.refreshToken = reader.string();
891
+ message.message = { $case: 'refreshToken', refreshToken: reader.string() };
755
892
  break;
756
893
  case 17:
757
- message.trackUnpublished = TrackUnpublishedResponse.decode(reader, reader.uint32());
894
+ message.message = {
895
+ $case: 'trackUnpublished',
896
+ trackUnpublished: TrackUnpublishedResponse.decode(reader, reader.uint32()),
897
+ };
898
+ break;
899
+ case 18:
900
+ message.message = { $case: 'pong', pong: longToNumber(reader.int64() as Long) };
758
901
  break;
759
902
  default:
760
903
  reader.skipType(tag & 7);
@@ -766,153 +909,295 @@ export const SignalResponse = {
766
909
 
767
910
  fromJSON(object: any): SignalResponse {
768
911
  return {
769
- join: isSet(object.join) ? JoinResponse.fromJSON(object.join) : undefined,
770
- answer: isSet(object.answer) ? SessionDescription.fromJSON(object.answer) : undefined,
771
- offer: isSet(object.offer) ? SessionDescription.fromJSON(object.offer) : undefined,
772
- trickle: isSet(object.trickle) ? TrickleRequest.fromJSON(object.trickle) : undefined,
773
- update: isSet(object.update) ? ParticipantUpdate.fromJSON(object.update) : undefined,
774
- trackPublished: isSet(object.trackPublished)
775
- ? TrackPublishedResponse.fromJSON(object.trackPublished)
776
- : undefined,
777
- leave: isSet(object.leave) ? LeaveRequest.fromJSON(object.leave) : undefined,
778
- mute: isSet(object.mute) ? MuteTrackRequest.fromJSON(object.mute) : undefined,
779
- speakersChanged: isSet(object.speakersChanged)
780
- ? SpeakersChanged.fromJSON(object.speakersChanged)
781
- : undefined,
782
- roomUpdate: isSet(object.roomUpdate) ? RoomUpdate.fromJSON(object.roomUpdate) : undefined,
783
- connectionQuality: isSet(object.connectionQuality)
784
- ? ConnectionQualityUpdate.fromJSON(object.connectionQuality)
785
- : undefined,
786
- streamStateUpdate: isSet(object.streamStateUpdate)
787
- ? StreamStateUpdate.fromJSON(object.streamStateUpdate)
788
- : undefined,
789
- subscribedQualityUpdate: isSet(object.subscribedQualityUpdate)
790
- ? SubscribedQualityUpdate.fromJSON(object.subscribedQualityUpdate)
791
- : undefined,
792
- subscriptionPermissionUpdate: isSet(object.subscriptionPermissionUpdate)
793
- ? SubscriptionPermissionUpdate.fromJSON(object.subscriptionPermissionUpdate)
794
- : undefined,
795
- refreshToken: isSet(object.refreshToken) ? String(object.refreshToken) : undefined,
796
- trackUnpublished: isSet(object.trackUnpublished)
797
- ? TrackUnpublishedResponse.fromJSON(object.trackUnpublished)
912
+ message: isSet(object.join)
913
+ ? { $case: 'join', join: JoinResponse.fromJSON(object.join) }
914
+ : isSet(object.answer)
915
+ ? { $case: 'answer', answer: SessionDescription.fromJSON(object.answer) }
916
+ : isSet(object.offer)
917
+ ? { $case: 'offer', offer: SessionDescription.fromJSON(object.offer) }
918
+ : isSet(object.trickle)
919
+ ? { $case: 'trickle', trickle: TrickleRequest.fromJSON(object.trickle) }
920
+ : isSet(object.update)
921
+ ? { $case: 'update', update: ParticipantUpdate.fromJSON(object.update) }
922
+ : isSet(object.trackPublished)
923
+ ? {
924
+ $case: 'trackPublished',
925
+ trackPublished: TrackPublishedResponse.fromJSON(object.trackPublished),
926
+ }
927
+ : isSet(object.leave)
928
+ ? { $case: 'leave', leave: LeaveRequest.fromJSON(object.leave) }
929
+ : isSet(object.mute)
930
+ ? { $case: 'mute', mute: MuteTrackRequest.fromJSON(object.mute) }
931
+ : isSet(object.speakersChanged)
932
+ ? {
933
+ $case: 'speakersChanged',
934
+ speakersChanged: SpeakersChanged.fromJSON(object.speakersChanged),
935
+ }
936
+ : isSet(object.roomUpdate)
937
+ ? { $case: 'roomUpdate', roomUpdate: RoomUpdate.fromJSON(object.roomUpdate) }
938
+ : isSet(object.connectionQuality)
939
+ ? {
940
+ $case: 'connectionQuality',
941
+ connectionQuality: ConnectionQualityUpdate.fromJSON(object.connectionQuality),
942
+ }
943
+ : isSet(object.streamStateUpdate)
944
+ ? {
945
+ $case: 'streamStateUpdate',
946
+ streamStateUpdate: StreamStateUpdate.fromJSON(object.streamStateUpdate),
947
+ }
948
+ : isSet(object.subscribedQualityUpdate)
949
+ ? {
950
+ $case: 'subscribedQualityUpdate',
951
+ subscribedQualityUpdate: SubscribedQualityUpdate.fromJSON(
952
+ object.subscribedQualityUpdate,
953
+ ),
954
+ }
955
+ : isSet(object.subscriptionPermissionUpdate)
956
+ ? {
957
+ $case: 'subscriptionPermissionUpdate',
958
+ subscriptionPermissionUpdate: SubscriptionPermissionUpdate.fromJSON(
959
+ object.subscriptionPermissionUpdate,
960
+ ),
961
+ }
962
+ : isSet(object.refreshToken)
963
+ ? { $case: 'refreshToken', refreshToken: String(object.refreshToken) }
964
+ : isSet(object.trackUnpublished)
965
+ ? {
966
+ $case: 'trackUnpublished',
967
+ trackUnpublished: TrackUnpublishedResponse.fromJSON(object.trackUnpublished),
968
+ }
969
+ : isSet(object.pong)
970
+ ? { $case: 'pong', pong: Number(object.pong) }
798
971
  : undefined,
799
972
  };
800
973
  },
801
974
 
802
975
  toJSON(message: SignalResponse): unknown {
803
976
  const obj: any = {};
804
- message.join !== undefined &&
805
- (obj.join = message.join ? JoinResponse.toJSON(message.join) : undefined);
806
- message.answer !== undefined &&
807
- (obj.answer = message.answer ? SessionDescription.toJSON(message.answer) : undefined);
808
- message.offer !== undefined &&
809
- (obj.offer = message.offer ? SessionDescription.toJSON(message.offer) : undefined);
810
- message.trickle !== undefined &&
811
- (obj.trickle = message.trickle ? TrickleRequest.toJSON(message.trickle) : undefined);
812
- message.update !== undefined &&
813
- (obj.update = message.update ? ParticipantUpdate.toJSON(message.update) : undefined);
814
- message.trackPublished !== undefined &&
815
- (obj.trackPublished = message.trackPublished
816
- ? TrackPublishedResponse.toJSON(message.trackPublished)
977
+ message.message?.$case === 'join' &&
978
+ (obj.join = message.message?.join ? JoinResponse.toJSON(message.message?.join) : undefined);
979
+ message.message?.$case === 'answer' &&
980
+ (obj.answer = message.message?.answer
981
+ ? SessionDescription.toJSON(message.message?.answer)
982
+ : undefined);
983
+ message.message?.$case === 'offer' &&
984
+ (obj.offer = message.message?.offer
985
+ ? SessionDescription.toJSON(message.message?.offer)
986
+ : undefined);
987
+ message.message?.$case === 'trickle' &&
988
+ (obj.trickle = message.message?.trickle
989
+ ? TrickleRequest.toJSON(message.message?.trickle)
990
+ : undefined);
991
+ message.message?.$case === 'update' &&
992
+ (obj.update = message.message?.update
993
+ ? ParticipantUpdate.toJSON(message.message?.update)
994
+ : undefined);
995
+ message.message?.$case === 'trackPublished' &&
996
+ (obj.trackPublished = message.message?.trackPublished
997
+ ? TrackPublishedResponse.toJSON(message.message?.trackPublished)
817
998
  : undefined);
818
- message.leave !== undefined &&
819
- (obj.leave = message.leave ? LeaveRequest.toJSON(message.leave) : undefined);
820
- message.mute !== undefined &&
821
- (obj.mute = message.mute ? MuteTrackRequest.toJSON(message.mute) : undefined);
822
- message.speakersChanged !== undefined &&
823
- (obj.speakersChanged = message.speakersChanged
824
- ? SpeakersChanged.toJSON(message.speakersChanged)
999
+ message.message?.$case === 'leave' &&
1000
+ (obj.leave = message.message?.leave
1001
+ ? LeaveRequest.toJSON(message.message?.leave)
825
1002
  : undefined);
826
- message.roomUpdate !== undefined &&
827
- (obj.roomUpdate = message.roomUpdate ? RoomUpdate.toJSON(message.roomUpdate) : undefined);
828
- message.connectionQuality !== undefined &&
829
- (obj.connectionQuality = message.connectionQuality
830
- ? ConnectionQualityUpdate.toJSON(message.connectionQuality)
1003
+ message.message?.$case === 'mute' &&
1004
+ (obj.mute = message.message?.mute
1005
+ ? MuteTrackRequest.toJSON(message.message?.mute)
831
1006
  : undefined);
832
- message.streamStateUpdate !== undefined &&
833
- (obj.streamStateUpdate = message.streamStateUpdate
834
- ? StreamStateUpdate.toJSON(message.streamStateUpdate)
1007
+ message.message?.$case === 'speakersChanged' &&
1008
+ (obj.speakersChanged = message.message?.speakersChanged
1009
+ ? SpeakersChanged.toJSON(message.message?.speakersChanged)
835
1010
  : undefined);
836
- message.subscribedQualityUpdate !== undefined &&
837
- (obj.subscribedQualityUpdate = message.subscribedQualityUpdate
838
- ? SubscribedQualityUpdate.toJSON(message.subscribedQualityUpdate)
1011
+ message.message?.$case === 'roomUpdate' &&
1012
+ (obj.roomUpdate = message.message?.roomUpdate
1013
+ ? RoomUpdate.toJSON(message.message?.roomUpdate)
839
1014
  : undefined);
840
- message.subscriptionPermissionUpdate !== undefined &&
841
- (obj.subscriptionPermissionUpdate = message.subscriptionPermissionUpdate
842
- ? SubscriptionPermissionUpdate.toJSON(message.subscriptionPermissionUpdate)
1015
+ message.message?.$case === 'connectionQuality' &&
1016
+ (obj.connectionQuality = message.message?.connectionQuality
1017
+ ? ConnectionQualityUpdate.toJSON(message.message?.connectionQuality)
843
1018
  : undefined);
844
- message.refreshToken !== undefined && (obj.refreshToken = message.refreshToken);
845
- message.trackUnpublished !== undefined &&
846
- (obj.trackUnpublished = message.trackUnpublished
847
- ? TrackUnpublishedResponse.toJSON(message.trackUnpublished)
1019
+ message.message?.$case === 'streamStateUpdate' &&
1020
+ (obj.streamStateUpdate = message.message?.streamStateUpdate
1021
+ ? StreamStateUpdate.toJSON(message.message?.streamStateUpdate)
848
1022
  : undefined);
1023
+ message.message?.$case === 'subscribedQualityUpdate' &&
1024
+ (obj.subscribedQualityUpdate = message.message?.subscribedQualityUpdate
1025
+ ? SubscribedQualityUpdate.toJSON(message.message?.subscribedQualityUpdate)
1026
+ : undefined);
1027
+ message.message?.$case === 'subscriptionPermissionUpdate' &&
1028
+ (obj.subscriptionPermissionUpdate = message.message?.subscriptionPermissionUpdate
1029
+ ? SubscriptionPermissionUpdate.toJSON(message.message?.subscriptionPermissionUpdate)
1030
+ : undefined);
1031
+ message.message?.$case === 'refreshToken' && (obj.refreshToken = message.message?.refreshToken);
1032
+ message.message?.$case === 'trackUnpublished' &&
1033
+ (obj.trackUnpublished = message.message?.trackUnpublished
1034
+ ? TrackUnpublishedResponse.toJSON(message.message?.trackUnpublished)
1035
+ : undefined);
1036
+ message.message?.$case === 'pong' && (obj.pong = Math.round(message.message?.pong));
849
1037
  return obj;
850
1038
  },
851
1039
 
852
1040
  fromPartial<I extends Exact<DeepPartial<SignalResponse>, I>>(object: I): SignalResponse {
853
1041
  const message = createBaseSignalResponse();
854
- message.join =
855
- object.join !== undefined && object.join !== null
856
- ? JoinResponse.fromPartial(object.join)
857
- : undefined;
858
- message.answer =
859
- object.answer !== undefined && object.answer !== null
860
- ? SessionDescription.fromPartial(object.answer)
861
- : undefined;
862
- message.offer =
863
- object.offer !== undefined && object.offer !== null
864
- ? SessionDescription.fromPartial(object.offer)
865
- : undefined;
866
- message.trickle =
867
- object.trickle !== undefined && object.trickle !== null
868
- ? TrickleRequest.fromPartial(object.trickle)
869
- : undefined;
870
- message.update =
871
- object.update !== undefined && object.update !== null
872
- ? ParticipantUpdate.fromPartial(object.update)
873
- : undefined;
874
- message.trackPublished =
875
- object.trackPublished !== undefined && object.trackPublished !== null
876
- ? TrackPublishedResponse.fromPartial(object.trackPublished)
877
- : undefined;
878
- message.leave =
879
- object.leave !== undefined && object.leave !== null
880
- ? LeaveRequest.fromPartial(object.leave)
881
- : undefined;
882
- message.mute =
883
- object.mute !== undefined && object.mute !== null
884
- ? MuteTrackRequest.fromPartial(object.mute)
885
- : undefined;
886
- message.speakersChanged =
887
- object.speakersChanged !== undefined && object.speakersChanged !== null
888
- ? SpeakersChanged.fromPartial(object.speakersChanged)
889
- : undefined;
890
- message.roomUpdate =
891
- object.roomUpdate !== undefined && object.roomUpdate !== null
892
- ? RoomUpdate.fromPartial(object.roomUpdate)
893
- : undefined;
894
- message.connectionQuality =
895
- object.connectionQuality !== undefined && object.connectionQuality !== null
896
- ? ConnectionQualityUpdate.fromPartial(object.connectionQuality)
897
- : undefined;
898
- message.streamStateUpdate =
899
- object.streamStateUpdate !== undefined && object.streamStateUpdate !== null
900
- ? StreamStateUpdate.fromPartial(object.streamStateUpdate)
901
- : undefined;
902
- message.subscribedQualityUpdate =
903
- object.subscribedQualityUpdate !== undefined && object.subscribedQualityUpdate !== null
904
- ? SubscribedQualityUpdate.fromPartial(object.subscribedQualityUpdate)
905
- : undefined;
906
- message.subscriptionPermissionUpdate =
907
- object.subscriptionPermissionUpdate !== undefined &&
908
- object.subscriptionPermissionUpdate !== null
909
- ? SubscriptionPermissionUpdate.fromPartial(object.subscriptionPermissionUpdate)
910
- : undefined;
911
- message.refreshToken = object.refreshToken ?? undefined;
912
- message.trackUnpublished =
913
- object.trackUnpublished !== undefined && object.trackUnpublished !== null
914
- ? TrackUnpublishedResponse.fromPartial(object.trackUnpublished)
915
- : undefined;
1042
+ if (
1043
+ object.message?.$case === 'join' &&
1044
+ object.message?.join !== undefined &&
1045
+ object.message?.join !== null
1046
+ ) {
1047
+ message.message = { $case: 'join', join: JoinResponse.fromPartial(object.message.join) };
1048
+ }
1049
+ if (
1050
+ object.message?.$case === 'answer' &&
1051
+ object.message?.answer !== undefined &&
1052
+ object.message?.answer !== null
1053
+ ) {
1054
+ message.message = {
1055
+ $case: 'answer',
1056
+ answer: SessionDescription.fromPartial(object.message.answer),
1057
+ };
1058
+ }
1059
+ if (
1060
+ object.message?.$case === 'offer' &&
1061
+ object.message?.offer !== undefined &&
1062
+ object.message?.offer !== null
1063
+ ) {
1064
+ message.message = {
1065
+ $case: 'offer',
1066
+ offer: SessionDescription.fromPartial(object.message.offer),
1067
+ };
1068
+ }
1069
+ if (
1070
+ object.message?.$case === 'trickle' &&
1071
+ object.message?.trickle !== undefined &&
1072
+ object.message?.trickle !== null
1073
+ ) {
1074
+ message.message = {
1075
+ $case: 'trickle',
1076
+ trickle: TrickleRequest.fromPartial(object.message.trickle),
1077
+ };
1078
+ }
1079
+ if (
1080
+ object.message?.$case === 'update' &&
1081
+ object.message?.update !== undefined &&
1082
+ object.message?.update !== null
1083
+ ) {
1084
+ message.message = {
1085
+ $case: 'update',
1086
+ update: ParticipantUpdate.fromPartial(object.message.update),
1087
+ };
1088
+ }
1089
+ if (
1090
+ object.message?.$case === 'trackPublished' &&
1091
+ object.message?.trackPublished !== undefined &&
1092
+ object.message?.trackPublished !== null
1093
+ ) {
1094
+ message.message = {
1095
+ $case: 'trackPublished',
1096
+ trackPublished: TrackPublishedResponse.fromPartial(object.message.trackPublished),
1097
+ };
1098
+ }
1099
+ if (
1100
+ object.message?.$case === 'leave' &&
1101
+ object.message?.leave !== undefined &&
1102
+ object.message?.leave !== null
1103
+ ) {
1104
+ message.message = { $case: 'leave', leave: LeaveRequest.fromPartial(object.message.leave) };
1105
+ }
1106
+ if (
1107
+ object.message?.$case === 'mute' &&
1108
+ object.message?.mute !== undefined &&
1109
+ object.message?.mute !== null
1110
+ ) {
1111
+ message.message = { $case: 'mute', mute: MuteTrackRequest.fromPartial(object.message.mute) };
1112
+ }
1113
+ if (
1114
+ object.message?.$case === 'speakersChanged' &&
1115
+ object.message?.speakersChanged !== undefined &&
1116
+ object.message?.speakersChanged !== null
1117
+ ) {
1118
+ message.message = {
1119
+ $case: 'speakersChanged',
1120
+ speakersChanged: SpeakersChanged.fromPartial(object.message.speakersChanged),
1121
+ };
1122
+ }
1123
+ if (
1124
+ object.message?.$case === 'roomUpdate' &&
1125
+ object.message?.roomUpdate !== undefined &&
1126
+ object.message?.roomUpdate !== null
1127
+ ) {
1128
+ message.message = {
1129
+ $case: 'roomUpdate',
1130
+ roomUpdate: RoomUpdate.fromPartial(object.message.roomUpdate),
1131
+ };
1132
+ }
1133
+ if (
1134
+ object.message?.$case === 'connectionQuality' &&
1135
+ object.message?.connectionQuality !== undefined &&
1136
+ object.message?.connectionQuality !== null
1137
+ ) {
1138
+ message.message = {
1139
+ $case: 'connectionQuality',
1140
+ connectionQuality: ConnectionQualityUpdate.fromPartial(object.message.connectionQuality),
1141
+ };
1142
+ }
1143
+ if (
1144
+ object.message?.$case === 'streamStateUpdate' &&
1145
+ object.message?.streamStateUpdate !== undefined &&
1146
+ object.message?.streamStateUpdate !== null
1147
+ ) {
1148
+ message.message = {
1149
+ $case: 'streamStateUpdate',
1150
+ streamStateUpdate: StreamStateUpdate.fromPartial(object.message.streamStateUpdate),
1151
+ };
1152
+ }
1153
+ if (
1154
+ object.message?.$case === 'subscribedQualityUpdate' &&
1155
+ object.message?.subscribedQualityUpdate !== undefined &&
1156
+ object.message?.subscribedQualityUpdate !== null
1157
+ ) {
1158
+ message.message = {
1159
+ $case: 'subscribedQualityUpdate',
1160
+ subscribedQualityUpdate: SubscribedQualityUpdate.fromPartial(
1161
+ object.message.subscribedQualityUpdate,
1162
+ ),
1163
+ };
1164
+ }
1165
+ if (
1166
+ object.message?.$case === 'subscriptionPermissionUpdate' &&
1167
+ object.message?.subscriptionPermissionUpdate !== undefined &&
1168
+ object.message?.subscriptionPermissionUpdate !== null
1169
+ ) {
1170
+ message.message = {
1171
+ $case: 'subscriptionPermissionUpdate',
1172
+ subscriptionPermissionUpdate: SubscriptionPermissionUpdate.fromPartial(
1173
+ object.message.subscriptionPermissionUpdate,
1174
+ ),
1175
+ };
1176
+ }
1177
+ if (
1178
+ object.message?.$case === 'refreshToken' &&
1179
+ object.message?.refreshToken !== undefined &&
1180
+ object.message?.refreshToken !== null
1181
+ ) {
1182
+ message.message = { $case: 'refreshToken', refreshToken: object.message.refreshToken };
1183
+ }
1184
+ if (
1185
+ object.message?.$case === 'trackUnpublished' &&
1186
+ object.message?.trackUnpublished !== undefined &&
1187
+ object.message?.trackUnpublished !== null
1188
+ ) {
1189
+ message.message = {
1190
+ $case: 'trackUnpublished',
1191
+ trackUnpublished: TrackUnpublishedResponse.fromPartial(object.message.trackUnpublished),
1192
+ };
1193
+ }
1194
+ if (
1195
+ object.message?.$case === 'pong' &&
1196
+ object.message?.pong !== undefined &&
1197
+ object.message?.pong !== null
1198
+ ) {
1199
+ message.message = { $case: 'pong', pong: object.message.pong };
1200
+ }
916
1201
  return message;
917
1202
  },
918
1203
  };
@@ -1280,6 +1565,8 @@ function createBaseJoinResponse(): JoinResponse {
1280
1565
  alternativeUrl: '',
1281
1566
  clientConfiguration: undefined,
1282
1567
  serverRegion: '',
1568
+ pingTimeout: 0,
1569
+ pingInterval: 0,
1283
1570
  };
1284
1571
  }
1285
1572
 
@@ -1312,6 +1599,12 @@ export const JoinResponse = {
1312
1599
  if (message.serverRegion !== '') {
1313
1600
  writer.uint32(74).string(message.serverRegion);
1314
1601
  }
1602
+ if (message.pingTimeout !== 0) {
1603
+ writer.uint32(80).int32(message.pingTimeout);
1604
+ }
1605
+ if (message.pingInterval !== 0) {
1606
+ writer.uint32(88).int32(message.pingInterval);
1607
+ }
1315
1608
  return writer;
1316
1609
  },
1317
1610
 
@@ -1349,6 +1642,12 @@ export const JoinResponse = {
1349
1642
  case 9:
1350
1643
  message.serverRegion = reader.string();
1351
1644
  break;
1645
+ case 10:
1646
+ message.pingTimeout = reader.int32();
1647
+ break;
1648
+ case 11:
1649
+ message.pingInterval = reader.int32();
1650
+ break;
1352
1651
  default:
1353
1652
  reader.skipType(tag & 7);
1354
1653
  break;
@@ -1378,6 +1677,8 @@ export const JoinResponse = {
1378
1677
  ? ClientConfiguration.fromJSON(object.clientConfiguration)
1379
1678
  : undefined,
1380
1679
  serverRegion: isSet(object.serverRegion) ? String(object.serverRegion) : '',
1680
+ pingTimeout: isSet(object.pingTimeout) ? Number(object.pingTimeout) : 0,
1681
+ pingInterval: isSet(object.pingInterval) ? Number(object.pingInterval) : 0,
1381
1682
  };
1382
1683
  },
1383
1684
 
@@ -1408,6 +1709,8 @@ export const JoinResponse = {
1408
1709
  ? ClientConfiguration.toJSON(message.clientConfiguration)
1409
1710
  : undefined);
1410
1711
  message.serverRegion !== undefined && (obj.serverRegion = message.serverRegion);
1712
+ message.pingTimeout !== undefined && (obj.pingTimeout = Math.round(message.pingTimeout));
1713
+ message.pingInterval !== undefined && (obj.pingInterval = Math.round(message.pingInterval));
1411
1714
  return obj;
1412
1715
  },
1413
1716
 
@@ -1430,6 +1733,8 @@ export const JoinResponse = {
1430
1733
  ? ClientConfiguration.fromPartial(object.clientConfiguration)
1431
1734
  : undefined;
1432
1735
  message.serverRegion = object.serverRegion ?? '';
1736
+ message.pingTimeout = object.pingTimeout ?? 0;
1737
+ message.pingInterval = object.pingInterval ?? 0;
1433
1738
  return message;
1434
1739
  },
1435
1740
  };
@@ -2995,31 +3300,25 @@ export const DataChannelInfo = {
2995
3300
  };
2996
3301
 
2997
3302
  function createBaseSimulateScenario(): SimulateScenario {
2998
- return {
2999
- speakerUpdate: undefined,
3000
- nodeFailure: undefined,
3001
- migration: undefined,
3002
- serverLeave: undefined,
3003
- switchCandidateProtocol: undefined,
3004
- };
3303
+ return { scenario: undefined };
3005
3304
  }
3006
3305
 
3007
3306
  export const SimulateScenario = {
3008
3307
  encode(message: SimulateScenario, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
3009
- if (message.speakerUpdate !== undefined) {
3010
- writer.uint32(8).int32(message.speakerUpdate);
3308
+ if (message.scenario?.$case === 'speakerUpdate') {
3309
+ writer.uint32(8).int32(message.scenario.speakerUpdate);
3011
3310
  }
3012
- if (message.nodeFailure !== undefined) {
3013
- writer.uint32(16).bool(message.nodeFailure);
3311
+ if (message.scenario?.$case === 'nodeFailure') {
3312
+ writer.uint32(16).bool(message.scenario.nodeFailure);
3014
3313
  }
3015
- if (message.migration !== undefined) {
3016
- writer.uint32(24).bool(message.migration);
3314
+ if (message.scenario?.$case === 'migration') {
3315
+ writer.uint32(24).bool(message.scenario.migration);
3017
3316
  }
3018
- if (message.serverLeave !== undefined) {
3019
- writer.uint32(32).bool(message.serverLeave);
3317
+ if (message.scenario?.$case === 'serverLeave') {
3318
+ writer.uint32(32).bool(message.scenario.serverLeave);
3020
3319
  }
3021
- if (message.switchCandidateProtocol !== undefined) {
3022
- writer.uint32(40).int32(message.switchCandidateProtocol);
3320
+ if (message.scenario?.$case === 'switchCandidateProtocol') {
3321
+ writer.uint32(40).int32(message.scenario.switchCandidateProtocol);
3023
3322
  }
3024
3323
  return writer;
3025
3324
  },
@@ -3032,19 +3331,22 @@ export const SimulateScenario = {
3032
3331
  const tag = reader.uint32();
3033
3332
  switch (tag >>> 3) {
3034
3333
  case 1:
3035
- message.speakerUpdate = reader.int32();
3334
+ message.scenario = { $case: 'speakerUpdate', speakerUpdate: reader.int32() };
3036
3335
  break;
3037
3336
  case 2:
3038
- message.nodeFailure = reader.bool();
3337
+ message.scenario = { $case: 'nodeFailure', nodeFailure: reader.bool() };
3039
3338
  break;
3040
3339
  case 3:
3041
- message.migration = reader.bool();
3340
+ message.scenario = { $case: 'migration', migration: reader.bool() };
3042
3341
  break;
3043
3342
  case 4:
3044
- message.serverLeave = reader.bool();
3343
+ message.scenario = { $case: 'serverLeave', serverLeave: reader.bool() };
3045
3344
  break;
3046
3345
  case 5:
3047
- message.switchCandidateProtocol = reader.int32() as any;
3346
+ message.scenario = {
3347
+ $case: 'switchCandidateProtocol',
3348
+ switchCandidateProtocol: reader.int32() as any,
3349
+ };
3048
3350
  break;
3049
3351
  default:
3050
3352
  reader.skipType(tag & 7);
@@ -3056,41 +3358,93 @@ export const SimulateScenario = {
3056
3358
 
3057
3359
  fromJSON(object: any): SimulateScenario {
3058
3360
  return {
3059
- speakerUpdate: isSet(object.speakerUpdate) ? Number(object.speakerUpdate) : undefined,
3060
- nodeFailure: isSet(object.nodeFailure) ? Boolean(object.nodeFailure) : undefined,
3061
- migration: isSet(object.migration) ? Boolean(object.migration) : undefined,
3062
- serverLeave: isSet(object.serverLeave) ? Boolean(object.serverLeave) : undefined,
3063
- switchCandidateProtocol: isSet(object.switchCandidateProtocol)
3064
- ? candidateProtocolFromJSON(object.switchCandidateProtocol)
3361
+ scenario: isSet(object.speakerUpdate)
3362
+ ? { $case: 'speakerUpdate', speakerUpdate: Number(object.speakerUpdate) }
3363
+ : isSet(object.nodeFailure)
3364
+ ? { $case: 'nodeFailure', nodeFailure: Boolean(object.nodeFailure) }
3365
+ : isSet(object.migration)
3366
+ ? { $case: 'migration', migration: Boolean(object.migration) }
3367
+ : isSet(object.serverLeave)
3368
+ ? { $case: 'serverLeave', serverLeave: Boolean(object.serverLeave) }
3369
+ : isSet(object.switchCandidateProtocol)
3370
+ ? {
3371
+ $case: 'switchCandidateProtocol',
3372
+ switchCandidateProtocol: candidateProtocolFromJSON(object.switchCandidateProtocol),
3373
+ }
3065
3374
  : undefined,
3066
3375
  };
3067
3376
  },
3068
3377
 
3069
3378
  toJSON(message: SimulateScenario): unknown {
3070
3379
  const obj: any = {};
3071
- message.speakerUpdate !== undefined && (obj.speakerUpdate = Math.round(message.speakerUpdate));
3072
- message.nodeFailure !== undefined && (obj.nodeFailure = message.nodeFailure);
3073
- message.migration !== undefined && (obj.migration = message.migration);
3074
- message.serverLeave !== undefined && (obj.serverLeave = message.serverLeave);
3075
- message.switchCandidateProtocol !== undefined &&
3380
+ message.scenario?.$case === 'speakerUpdate' &&
3381
+ (obj.speakerUpdate = Math.round(message.scenario?.speakerUpdate));
3382
+ message.scenario?.$case === 'nodeFailure' && (obj.nodeFailure = message.scenario?.nodeFailure);
3383
+ message.scenario?.$case === 'migration' && (obj.migration = message.scenario?.migration);
3384
+ message.scenario?.$case === 'serverLeave' && (obj.serverLeave = message.scenario?.serverLeave);
3385
+ message.scenario?.$case === 'switchCandidateProtocol' &&
3076
3386
  (obj.switchCandidateProtocol =
3077
- message.switchCandidateProtocol !== undefined
3078
- ? candidateProtocolToJSON(message.switchCandidateProtocol)
3387
+ message.scenario?.switchCandidateProtocol !== undefined
3388
+ ? candidateProtocolToJSON(message.scenario?.switchCandidateProtocol)
3079
3389
  : undefined);
3080
3390
  return obj;
3081
3391
  },
3082
3392
 
3083
3393
  fromPartial<I extends Exact<DeepPartial<SimulateScenario>, I>>(object: I): SimulateScenario {
3084
3394
  const message = createBaseSimulateScenario();
3085
- message.speakerUpdate = object.speakerUpdate ?? undefined;
3086
- message.nodeFailure = object.nodeFailure ?? undefined;
3087
- message.migration = object.migration ?? undefined;
3088
- message.serverLeave = object.serverLeave ?? undefined;
3089
- message.switchCandidateProtocol = object.switchCandidateProtocol ?? undefined;
3395
+ if (
3396
+ object.scenario?.$case === 'speakerUpdate' &&
3397
+ object.scenario?.speakerUpdate !== undefined &&
3398
+ object.scenario?.speakerUpdate !== null
3399
+ ) {
3400
+ message.scenario = { $case: 'speakerUpdate', speakerUpdate: object.scenario.speakerUpdate };
3401
+ }
3402
+ if (
3403
+ object.scenario?.$case === 'nodeFailure' &&
3404
+ object.scenario?.nodeFailure !== undefined &&
3405
+ object.scenario?.nodeFailure !== null
3406
+ ) {
3407
+ message.scenario = { $case: 'nodeFailure', nodeFailure: object.scenario.nodeFailure };
3408
+ }
3409
+ if (
3410
+ object.scenario?.$case === 'migration' &&
3411
+ object.scenario?.migration !== undefined &&
3412
+ object.scenario?.migration !== null
3413
+ ) {
3414
+ message.scenario = { $case: 'migration', migration: object.scenario.migration };
3415
+ }
3416
+ if (
3417
+ object.scenario?.$case === 'serverLeave' &&
3418
+ object.scenario?.serverLeave !== undefined &&
3419
+ object.scenario?.serverLeave !== null
3420
+ ) {
3421
+ message.scenario = { $case: 'serverLeave', serverLeave: object.scenario.serverLeave };
3422
+ }
3423
+ if (
3424
+ object.scenario?.$case === 'switchCandidateProtocol' &&
3425
+ object.scenario?.switchCandidateProtocol !== undefined &&
3426
+ object.scenario?.switchCandidateProtocol !== null
3427
+ ) {
3428
+ message.scenario = {
3429
+ $case: 'switchCandidateProtocol',
3430
+ switchCandidateProtocol: object.scenario.switchCandidateProtocol,
3431
+ };
3432
+ }
3090
3433
  return message;
3091
3434
  },
3092
3435
  };
3093
3436
 
3437
+ declare var self: any | undefined;
3438
+ declare var window: any | undefined;
3439
+ declare var global: any | undefined;
3440
+ var globalThis: any = (() => {
3441
+ if (typeof globalThis !== 'undefined') return globalThis;
3442
+ if (typeof self !== 'undefined') return self;
3443
+ if (typeof window !== 'undefined') return window;
3444
+ if (typeof global !== 'undefined') return global;
3445
+ throw 'Unable to locate global object';
3446
+ })();
3447
+
3094
3448
  type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
3095
3449
 
3096
3450
  export type DeepPartial<T> = T extends Builtin
@@ -3099,6 +3453,8 @@ export type DeepPartial<T> = T extends Builtin
3099
3453
  ? Array<DeepPartial<U>>
3100
3454
  : T extends ReadonlyArray<infer U>
3101
3455
  ? ReadonlyArray<DeepPartial<U>>
3456
+ : T extends { $case: string }
3457
+ ? { [K in keyof Omit<T, '$case'>]?: DeepPartial<T[K]> } & { $case: T['$case'] }
3102
3458
  : T extends {}
3103
3459
  ? { [K in keyof T]?: DeepPartial<T[K]> }
3104
3460
  : Partial<T>;
@@ -3108,6 +3464,13 @@ export type Exact<P, I extends P> = P extends Builtin
3108
3464
  ? P
3109
3465
  : P & { [K in keyof P]: Exact<P[K], I[K]> } & Record<Exclude<keyof I, KeysOfUnion<P>>, never>;
3110
3466
 
3467
+ function longToNumber(long: Long): number {
3468
+ if (long.gt(Number.MAX_SAFE_INTEGER)) {
3469
+ throw new globalThis.Error('Value is larger than Number.MAX_SAFE_INTEGER');
3470
+ }
3471
+ return long.toNumber();
3472
+ }
3473
+
3111
3474
  if (_m0.util.Long !== Long) {
3112
3475
  _m0.util.Long = Long as any;
3113
3476
  _m0.configure();