livekit-client 0.15.2 → 0.15.3

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 (63) hide show
  1. package/dist/api/SignalClient.d.ts +6 -1
  2. package/dist/api/SignalClient.js +23 -1
  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/proto/livekit_models.d.ts +3 -0
  8. package/dist/proto/livekit_models.js +44 -3
  9. package/dist/proto/livekit_models.js.map +1 -1
  10. package/dist/proto/livekit_rtc.d.ts +33 -0
  11. package/dist/proto/livekit_rtc.js +238 -1
  12. package/dist/proto/livekit_rtc.js.map +1 -1
  13. package/dist/room/PCTransport.js +4 -0
  14. package/dist/room/PCTransport.js.map +1 -1
  15. package/dist/room/RTCEngine.js +5 -3
  16. package/dist/room/RTCEngine.js.map +1 -1
  17. package/dist/room/Room.d.ts +8 -0
  18. package/dist/room/Room.js +97 -6
  19. package/dist/room/Room.js.map +1 -1
  20. package/dist/room/events.d.ts +38 -18
  21. package/dist/room/events.js +37 -17
  22. package/dist/room/events.js.map +1 -1
  23. package/dist/room/participant/LocalParticipant.d.ts +24 -2
  24. package/dist/room/participant/LocalParticipant.js +41 -15
  25. package/dist/room/participant/LocalParticipant.js.map +1 -1
  26. package/dist/room/participant/Participant.d.ts +1 -1
  27. package/dist/room/participant/ParticipantTrackPermission.d.ts +19 -0
  28. package/dist/room/participant/ParticipantTrackPermission.js +16 -0
  29. package/dist/room/participant/ParticipantTrackPermission.js.map +1 -0
  30. package/dist/room/participant/RemoteParticipant.d.ts +2 -2
  31. package/dist/room/participant/RemoteParticipant.js +8 -14
  32. package/dist/room/participant/RemoteParticipant.js.map +1 -1
  33. package/dist/room/track/LocalTrack.d.ts +0 -3
  34. package/dist/room/track/LocalTrack.js +1 -6
  35. package/dist/room/track/LocalTrack.js.map +1 -1
  36. package/dist/room/track/LocalTrackPublication.d.ts +3 -1
  37. package/dist/room/track/LocalTrackPublication.js +15 -5
  38. package/dist/room/track/LocalTrackPublication.js.map +1 -1
  39. package/dist/room/track/LocalVideoTrack.js +2 -0
  40. package/dist/room/track/LocalVideoTrack.js.map +1 -1
  41. package/dist/room/track/RemoteAudioTrack.d.ts +5 -14
  42. package/dist/room/track/RemoteAudioTrack.js +7 -32
  43. package/dist/room/track/RemoteAudioTrack.js.map +1 -1
  44. package/dist/room/track/RemoteTrack.d.ts +14 -0
  45. package/dist/room/track/RemoteTrack.js +47 -0
  46. package/dist/room/track/RemoteTrack.js.map +1 -0
  47. package/dist/room/track/RemoteTrackPublication.d.ts +8 -1
  48. package/dist/room/track/RemoteTrackPublication.js +29 -5
  49. package/dist/room/track/RemoteTrackPublication.js.map +1 -1
  50. package/dist/room/track/RemoteVideoTrack.d.ts +3 -9
  51. package/dist/room/track/RemoteVideoTrack.js +8 -29
  52. package/dist/room/track/RemoteVideoTrack.js.map +1 -1
  53. package/dist/room/track/Track.d.ts +3 -0
  54. package/dist/room/track/Track.js +5 -0
  55. package/dist/room/track/Track.js.map +1 -1
  56. package/dist/room/track/TrackPublication.d.ts +12 -1
  57. package/dist/room/track/TrackPublication.js +23 -7
  58. package/dist/room/track/TrackPublication.js.map +1 -1
  59. package/dist/version.d.ts +1 -1
  60. package/dist/version.js +1 -1
  61. package/example/index.html +8 -9
  62. package/example/sample.ts +30 -19
  63. package/package.json +1 -1
@@ -38,6 +38,10 @@ export interface SignalRequest {
38
38
  updateLayers?: UpdateVideoLayers | undefined;
39
39
  /** Update subscriber permissions */
40
40
  subscriptionPermissions?: UpdateSubscriptionPermissions | undefined;
41
+ /** sync client's subscribe state to server during reconnect */
42
+ syncState?: SyncState | undefined;
43
+ /** Simulate conditions, for client validations */
44
+ simulate?: SimulateScenario | undefined;
41
45
  }
42
46
  export interface SignalResponse {
43
47
  /** sent when join is accepted */
@@ -195,6 +199,21 @@ export interface SubscriptionPermissionUpdate {
195
199
  trackSid: string;
196
200
  allowed: boolean;
197
201
  }
202
+ export interface SyncState {
203
+ answer?: SessionDescription;
204
+ subscription?: UpdateSubscription;
205
+ publishTracks: TrackPublishedResponse[];
206
+ }
207
+ export interface SimulateScenario {
208
+ /** simulate N seconds of speaker activity */
209
+ speakerUpdate: number | undefined;
210
+ /** simulate local node failure */
211
+ nodeFailure: boolean | undefined;
212
+ /** simulate migration */
213
+ migration: boolean | undefined;
214
+ /** server to send leave */
215
+ serverLeave: boolean | undefined;
216
+ }
198
217
  export declare const SignalRequest: {
199
218
  encode(message: SignalRequest, writer?: _m0.Writer): _m0.Writer;
200
219
  decode(input: _m0.Reader | Uint8Array, length?: number | undefined): SignalRequest;
@@ -370,6 +389,20 @@ export declare const SubscriptionPermissionUpdate: {
370
389
  toJSON(message: SubscriptionPermissionUpdate): unknown;
371
390
  fromPartial(object: DeepPartial<SubscriptionPermissionUpdate>): SubscriptionPermissionUpdate;
372
391
  };
392
+ export declare const SyncState: {
393
+ encode(message: SyncState, writer?: _m0.Writer): _m0.Writer;
394
+ decode(input: _m0.Reader | Uint8Array, length?: number | undefined): SyncState;
395
+ fromJSON(object: any): SyncState;
396
+ toJSON(message: SyncState): unknown;
397
+ fromPartial(object: DeepPartial<SyncState>): SyncState;
398
+ };
399
+ export declare const SimulateScenario: {
400
+ encode(message: SimulateScenario, writer?: _m0.Writer): _m0.Writer;
401
+ decode(input: _m0.Reader | Uint8Array, length?: number | undefined): SimulateScenario;
402
+ fromJSON(object: any): SimulateScenario;
403
+ toJSON(message: SimulateScenario): unknown;
404
+ fromPartial(object: DeepPartial<SimulateScenario>): SimulateScenario;
405
+ };
373
406
  declare type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
374
407
  export declare type DeepPartial<T> = T extends Builtin ? T : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
375
408
  [K in keyof T]?: DeepPartial<T[K]>;
@@ -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.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;
7
7
  /* eslint-disable */
8
8
  const long_1 = __importDefault(require("long"));
9
9
  const minimal_1 = __importDefault(require("protobufjs/minimal"));
@@ -106,6 +106,12 @@ exports.SignalRequest = {
106
106
  if (message.subscriptionPermissions !== undefined) {
107
107
  exports.UpdateSubscriptionPermissions.encode(message.subscriptionPermissions, writer.uint32(90).fork()).ldelim();
108
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();
114
+ }
109
115
  return writer;
110
116
  },
111
117
  decode(input, length) {
@@ -146,6 +152,12 @@ exports.SignalRequest = {
146
152
  message.subscriptionPermissions =
147
153
  exports.UpdateSubscriptionPermissions.decode(reader, reader.uint32());
148
154
  break;
155
+ case 12:
156
+ message.syncState = exports.SyncState.decode(reader, reader.uint32());
157
+ break;
158
+ case 13:
159
+ message.simulate = exports.SimulateScenario.decode(reader, reader.uint32());
160
+ break;
149
161
  default:
150
162
  reader.skipType(tag & 7);
151
163
  break;
@@ -216,6 +228,18 @@ exports.SignalRequest = {
216
228
  else {
217
229
  message.subscriptionPermissions = undefined;
218
230
  }
231
+ if (object.syncState !== undefined && object.syncState !== null) {
232
+ message.syncState = exports.SyncState.fromJSON(object.syncState);
233
+ }
234
+ else {
235
+ message.syncState = undefined;
236
+ }
237
+ if (object.simulate !== undefined && object.simulate !== null) {
238
+ message.simulate = exports.SimulateScenario.fromJSON(object.simulate);
239
+ }
240
+ else {
241
+ message.simulate = undefined;
242
+ }
219
243
  return message;
220
244
  },
221
245
  toJSON(message) {
@@ -260,6 +284,14 @@ exports.SignalRequest = {
260
284
  (obj.subscriptionPermissions = message.subscriptionPermissions
261
285
  ? exports.UpdateSubscriptionPermissions.toJSON(message.subscriptionPermissions)
262
286
  : undefined);
287
+ message.syncState !== undefined &&
288
+ (obj.syncState = message.syncState
289
+ ? exports.SyncState.toJSON(message.syncState)
290
+ : undefined);
291
+ message.simulate !== undefined &&
292
+ (obj.simulate = message.simulate
293
+ ? exports.SimulateScenario.toJSON(message.simulate)
294
+ : undefined);
263
295
  return obj;
264
296
  },
265
297
  fromPartial(object) {
@@ -326,6 +358,18 @@ exports.SignalRequest = {
326
358
  else {
327
359
  message.subscriptionPermissions = undefined;
328
360
  }
361
+ if (object.syncState !== undefined && object.syncState !== null) {
362
+ message.syncState = exports.SyncState.fromPartial(object.syncState);
363
+ }
364
+ else {
365
+ message.syncState = undefined;
366
+ }
367
+ if (object.simulate !== undefined && object.simulate !== null) {
368
+ message.simulate = exports.SimulateScenario.fromPartial(object.simulate);
369
+ }
370
+ else {
371
+ message.simulate = undefined;
372
+ }
329
373
  return message;
330
374
  },
331
375
  };
@@ -2540,6 +2584,199 @@ exports.SubscriptionPermissionUpdate = {
2540
2584
  return message;
2541
2585
  },
2542
2586
  };
2587
+ const baseSyncState = {};
2588
+ exports.SyncState = {
2589
+ encode(message, writer = minimal_1.default.Writer.create()) {
2590
+ if (message.answer !== undefined) {
2591
+ exports.SessionDescription.encode(message.answer, writer.uint32(10).fork()).ldelim();
2592
+ }
2593
+ if (message.subscription !== undefined) {
2594
+ exports.UpdateSubscription.encode(message.subscription, writer.uint32(18).fork()).ldelim();
2595
+ }
2596
+ for (const v of message.publishTracks) {
2597
+ exports.TrackPublishedResponse.encode(v, writer.uint32(26).fork()).ldelim();
2598
+ }
2599
+ return writer;
2600
+ },
2601
+ decode(input, length) {
2602
+ const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
2603
+ let end = length === undefined ? reader.len : reader.pos + length;
2604
+ const message = Object.assign({}, baseSyncState);
2605
+ message.publishTracks = [];
2606
+ while (reader.pos < end) {
2607
+ const tag = reader.uint32();
2608
+ switch (tag >>> 3) {
2609
+ case 1:
2610
+ message.answer = exports.SessionDescription.decode(reader, reader.uint32());
2611
+ break;
2612
+ case 2:
2613
+ message.subscription = exports.UpdateSubscription.decode(reader, reader.uint32());
2614
+ break;
2615
+ case 3:
2616
+ message.publishTracks.push(exports.TrackPublishedResponse.decode(reader, reader.uint32()));
2617
+ break;
2618
+ default:
2619
+ reader.skipType(tag & 7);
2620
+ break;
2621
+ }
2622
+ }
2623
+ return message;
2624
+ },
2625
+ fromJSON(object) {
2626
+ const message = Object.assign({}, baseSyncState);
2627
+ message.publishTracks = [];
2628
+ if (object.answer !== undefined && object.answer !== null) {
2629
+ message.answer = exports.SessionDescription.fromJSON(object.answer);
2630
+ }
2631
+ else {
2632
+ message.answer = undefined;
2633
+ }
2634
+ if (object.subscription !== undefined && object.subscription !== null) {
2635
+ message.subscription = exports.UpdateSubscription.fromJSON(object.subscription);
2636
+ }
2637
+ else {
2638
+ message.subscription = undefined;
2639
+ }
2640
+ if (object.publishTracks !== undefined && object.publishTracks !== null) {
2641
+ for (const e of object.publishTracks) {
2642
+ message.publishTracks.push(exports.TrackPublishedResponse.fromJSON(e));
2643
+ }
2644
+ }
2645
+ return message;
2646
+ },
2647
+ toJSON(message) {
2648
+ const obj = {};
2649
+ message.answer !== undefined &&
2650
+ (obj.answer = message.answer
2651
+ ? exports.SessionDescription.toJSON(message.answer)
2652
+ : undefined);
2653
+ message.subscription !== undefined &&
2654
+ (obj.subscription = message.subscription
2655
+ ? exports.UpdateSubscription.toJSON(message.subscription)
2656
+ : undefined);
2657
+ if (message.publishTracks) {
2658
+ obj.publishTracks = message.publishTracks.map((e) => e ? exports.TrackPublishedResponse.toJSON(e) : undefined);
2659
+ }
2660
+ else {
2661
+ obj.publishTracks = [];
2662
+ }
2663
+ return obj;
2664
+ },
2665
+ fromPartial(object) {
2666
+ const message = Object.assign({}, baseSyncState);
2667
+ if (object.answer !== undefined && object.answer !== null) {
2668
+ message.answer = exports.SessionDescription.fromPartial(object.answer);
2669
+ }
2670
+ else {
2671
+ message.answer = undefined;
2672
+ }
2673
+ if (object.subscription !== undefined && object.subscription !== null) {
2674
+ message.subscription = exports.UpdateSubscription.fromPartial(object.subscription);
2675
+ }
2676
+ else {
2677
+ message.subscription = undefined;
2678
+ }
2679
+ message.publishTracks = [];
2680
+ if (object.publishTracks !== undefined && object.publishTracks !== null) {
2681
+ for (const e of object.publishTracks) {
2682
+ message.publishTracks.push(exports.TrackPublishedResponse.fromPartial(e));
2683
+ }
2684
+ }
2685
+ return message;
2686
+ },
2687
+ };
2688
+ const baseSimulateScenario = {};
2689
+ exports.SimulateScenario = {
2690
+ encode(message, writer = minimal_1.default.Writer.create()) {
2691
+ if (message.speakerUpdate !== undefined) {
2692
+ writer.uint32(8).int32(message.speakerUpdate);
2693
+ }
2694
+ if (message.nodeFailure !== undefined) {
2695
+ writer.uint32(16).bool(message.nodeFailure);
2696
+ }
2697
+ if (message.migration !== undefined) {
2698
+ writer.uint32(24).bool(message.migration);
2699
+ }
2700
+ if (message.serverLeave !== undefined) {
2701
+ writer.uint32(32).bool(message.serverLeave);
2702
+ }
2703
+ return writer;
2704
+ },
2705
+ decode(input, length) {
2706
+ const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
2707
+ let end = length === undefined ? reader.len : reader.pos + length;
2708
+ const message = Object.assign({}, baseSimulateScenario);
2709
+ while (reader.pos < end) {
2710
+ const tag = reader.uint32();
2711
+ switch (tag >>> 3) {
2712
+ case 1:
2713
+ message.speakerUpdate = reader.int32();
2714
+ break;
2715
+ case 2:
2716
+ message.nodeFailure = reader.bool();
2717
+ break;
2718
+ case 3:
2719
+ message.migration = reader.bool();
2720
+ break;
2721
+ case 4:
2722
+ message.serverLeave = reader.bool();
2723
+ break;
2724
+ default:
2725
+ reader.skipType(tag & 7);
2726
+ break;
2727
+ }
2728
+ }
2729
+ return message;
2730
+ },
2731
+ fromJSON(object) {
2732
+ const message = Object.assign({}, baseSimulateScenario);
2733
+ if (object.speakerUpdate !== undefined && object.speakerUpdate !== null) {
2734
+ message.speakerUpdate = Number(object.speakerUpdate);
2735
+ }
2736
+ else {
2737
+ message.speakerUpdate = undefined;
2738
+ }
2739
+ if (object.nodeFailure !== undefined && object.nodeFailure !== null) {
2740
+ message.nodeFailure = Boolean(object.nodeFailure);
2741
+ }
2742
+ else {
2743
+ message.nodeFailure = undefined;
2744
+ }
2745
+ if (object.migration !== undefined && object.migration !== null) {
2746
+ message.migration = Boolean(object.migration);
2747
+ }
2748
+ else {
2749
+ message.migration = undefined;
2750
+ }
2751
+ if (object.serverLeave !== undefined && object.serverLeave !== null) {
2752
+ message.serverLeave = Boolean(object.serverLeave);
2753
+ }
2754
+ else {
2755
+ message.serverLeave = undefined;
2756
+ }
2757
+ return message;
2758
+ },
2759
+ toJSON(message) {
2760
+ const obj = {};
2761
+ message.speakerUpdate !== undefined &&
2762
+ (obj.speakerUpdate = message.speakerUpdate);
2763
+ message.nodeFailure !== undefined &&
2764
+ (obj.nodeFailure = message.nodeFailure);
2765
+ message.migration !== undefined && (obj.migration = message.migration);
2766
+ message.serverLeave !== undefined &&
2767
+ (obj.serverLeave = message.serverLeave);
2768
+ return obj;
2769
+ },
2770
+ fromPartial(object) {
2771
+ var _a, _b, _c, _d;
2772
+ const message = Object.assign({}, baseSimulateScenario);
2773
+ message.speakerUpdate = (_a = object.speakerUpdate) !== null && _a !== void 0 ? _a : undefined;
2774
+ message.nodeFailure = (_b = object.nodeFailure) !== null && _b !== void 0 ? _b : undefined;
2775
+ message.migration = (_c = object.migration) !== null && _c !== void 0 ? _c : undefined;
2776
+ message.serverLeave = (_d = object.serverLeave) !== null && _d !== void 0 ? _d : undefined;
2777
+ return message;
2778
+ },
2779
+ };
2543
2780
  if (minimal_1.default.util.Long !== long_1.default) {
2544
2781
  minimal_1.default.util.Long = long_1.default;
2545
2782
  minimal_1.default.configure();