livekit-client 0.17.5 → 0.17.6-rc1

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 (153) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/README.md +26 -20
  3. package/dist/api/SignalClient.d.ts +1 -0
  4. package/dist/connect.d.ts +2 -0
  5. package/dist/index.d.ts +2 -2
  6. package/dist/livekit-client.esm.js +17344 -0
  7. package/dist/livekit-client.esm.js.map +1 -0
  8. package/dist/livekit-client.umd.js +17388 -0
  9. package/dist/livekit-client.umd.js.map +1 -0
  10. package/dist/logger.d.ts +22 -11
  11. package/dist/options.d.ts +4 -2
  12. package/dist/proto/google/protobuf/timestamp.d.ts +1 -1
  13. package/dist/proto/livekit_models.d.ts +4 -1
  14. package/dist/proto/livekit_rtc.d.ts +45 -2
  15. package/dist/room/DeviceManager.d.ts +1 -1
  16. package/dist/room/RTCEngine.d.ts +1 -1
  17. package/dist/room/Room.d.ts +2 -2
  18. package/dist/room/events.d.ts +1 -1
  19. package/dist/room/participant/LocalParticipant.d.ts +9 -5
  20. package/dist/room/participant/RemoteParticipant.d.ts +9 -0
  21. package/dist/room/track/RemoteAudioTrack.d.ts +11 -0
  22. package/dist/test/mocks.d.ts +11 -0
  23. package/package.json +40 -15
  24. package/.eslintrc.js +0 -17
  25. package/.gitmodules +0 -3
  26. package/dist/api/RequestQueue.js +0 -61
  27. package/dist/api/RequestQueue.js.map +0 -1
  28. package/dist/api/SignalClient.js +0 -428
  29. package/dist/api/SignalClient.js.map +0 -1
  30. package/dist/connect.js +0 -130
  31. package/dist/connect.js.map +0 -1
  32. package/dist/index.js +0 -71
  33. package/dist/index.js.map +0 -1
  34. package/dist/logger.js +0 -24
  35. package/dist/logger.js.map +0 -1
  36. package/dist/options.js +0 -3
  37. package/dist/options.js.map +0 -1
  38. package/dist/proto/google/protobuf/timestamp.js +0 -108
  39. package/dist/proto/google/protobuf/timestamp.js.map +0 -1
  40. package/dist/proto/livekit_models.js +0 -2262
  41. package/dist/proto/livekit_models.js.map +0 -1
  42. package/dist/proto/livekit_rtc.js +0 -2544
  43. package/dist/proto/livekit_rtc.js.map +0 -1
  44. package/dist/room/DeviceManager.js +0 -62
  45. package/dist/room/DeviceManager.js.map +0 -1
  46. package/dist/room/PCTransport.js +0 -91
  47. package/dist/room/PCTransport.js.map +0 -1
  48. package/dist/room/RTCEngine.js +0 -562
  49. package/dist/room/RTCEngine.js.map +0 -1
  50. package/dist/room/Room.js +0 -767
  51. package/dist/room/Room.js.map +0 -1
  52. package/dist/room/errors.js +0 -68
  53. package/dist/room/errors.js.map +0 -1
  54. package/dist/room/events.js +0 -385
  55. package/dist/room/events.js.map +0 -1
  56. package/dist/room/participant/LocalParticipant.js +0 -647
  57. package/dist/room/participant/LocalParticipant.js.map +0 -1
  58. package/dist/room/participant/Participant.js +0 -189
  59. package/dist/room/participant/Participant.js.map +0 -1
  60. package/dist/room/participant/ParticipantTrackPermission.js +0 -16
  61. package/dist/room/participant/ParticipantTrackPermission.js.map +0 -1
  62. package/dist/room/participant/RemoteParticipant.js +0 -194
  63. package/dist/room/participant/RemoteParticipant.js.map +0 -1
  64. package/dist/room/participant/publishUtils.js +0 -189
  65. package/dist/room/participant/publishUtils.js.map +0 -1
  66. package/dist/room/participant/publishUtils.test.d.ts +0 -1
  67. package/dist/room/participant/publishUtils.test.js +0 -118
  68. package/dist/room/participant/publishUtils.test.js.map +0 -1
  69. package/dist/room/stats.js +0 -26
  70. package/dist/room/stats.js.map +0 -1
  71. package/dist/room/track/LocalAudioTrack.js +0 -153
  72. package/dist/room/track/LocalAudioTrack.js.map +0 -1
  73. package/dist/room/track/LocalTrack.js +0 -158
  74. package/dist/room/track/LocalTrack.js.map +0 -1
  75. package/dist/room/track/LocalTrackPublication.js +0 -64
  76. package/dist/room/track/LocalTrackPublication.js.map +0 -1
  77. package/dist/room/track/LocalVideoTrack.js +0 -297
  78. package/dist/room/track/LocalVideoTrack.js.map +0 -1
  79. package/dist/room/track/LocalVideoTrack.test.d.ts +0 -1
  80. package/dist/room/track/LocalVideoTrack.test.js +0 -68
  81. package/dist/room/track/LocalVideoTrack.test.js.map +0 -1
  82. package/dist/room/track/RemoteAudioTrack.js +0 -64
  83. package/dist/room/track/RemoteAudioTrack.js.map +0 -1
  84. package/dist/room/track/RemoteTrack.js +0 -49
  85. package/dist/room/track/RemoteTrack.js.map +0 -1
  86. package/dist/room/track/RemoteTrackPublication.js +0 -178
  87. package/dist/room/track/RemoteTrackPublication.js.map +0 -1
  88. package/dist/room/track/RemoteVideoTrack.js +0 -201
  89. package/dist/room/track/RemoteVideoTrack.js.map +0 -1
  90. package/dist/room/track/Track.js +0 -283
  91. package/dist/room/track/Track.js.map +0 -1
  92. package/dist/room/track/TrackPublication.js +0 -92
  93. package/dist/room/track/TrackPublication.js.map +0 -1
  94. package/dist/room/track/create.js +0 -131
  95. package/dist/room/track/create.js.map +0 -1
  96. package/dist/room/track/defaults.js +0 -21
  97. package/dist/room/track/defaults.js.map +0 -1
  98. package/dist/room/track/options.js +0 -100
  99. package/dist/room/track/options.js.map +0 -1
  100. package/dist/room/track/types.js +0 -3
  101. package/dist/room/track/types.js.map +0 -1
  102. package/dist/room/track/utils.js +0 -113
  103. package/dist/room/track/utils.js.map +0 -1
  104. package/dist/room/track/utils.test.d.ts +0 -1
  105. package/dist/room/track/utils.test.js +0 -85
  106. package/dist/room/track/utils.test.js.map +0 -1
  107. package/dist/room/utils.js +0 -79
  108. package/dist/room/utils.js.map +0 -1
  109. package/dist/version.js +0 -6
  110. package/dist/version.js.map +0 -1
  111. package/jest.config.js +0 -6
  112. package/src/api/RequestQueue.ts +0 -53
  113. package/src/api/SignalClient.ts +0 -499
  114. package/src/connect.ts +0 -100
  115. package/src/index.ts +0 -47
  116. package/src/logger.ts +0 -22
  117. package/src/options.ts +0 -149
  118. package/src/proto/google/protobuf/timestamp.ts +0 -232
  119. package/src/proto/livekit_models.ts +0 -2676
  120. package/src/proto/livekit_rtc.ts +0 -3269
  121. package/src/room/DeviceManager.ts +0 -57
  122. package/src/room/PCTransport.ts +0 -86
  123. package/src/room/RTCEngine.ts +0 -652
  124. package/src/room/Room.ts +0 -951
  125. package/src/room/errors.ts +0 -65
  126. package/src/room/events.ts +0 -424
  127. package/src/room/participant/LocalParticipant.ts +0 -734
  128. package/src/room/participant/Participant.ts +0 -269
  129. package/src/room/participant/ParticipantTrackPermission.ts +0 -32
  130. package/src/room/participant/RemoteParticipant.ts +0 -243
  131. package/src/room/participant/publishUtils.test.ts +0 -145
  132. package/src/room/participant/publishUtils.ts +0 -225
  133. package/src/room/stats.ts +0 -130
  134. package/src/room/track/LocalAudioTrack.ts +0 -137
  135. package/src/room/track/LocalTrack.ts +0 -161
  136. package/src/room/track/LocalTrackPublication.ts +0 -66
  137. package/src/room/track/LocalVideoTrack.test.ts +0 -70
  138. package/src/room/track/LocalVideoTrack.ts +0 -293
  139. package/src/room/track/RemoteAudioTrack.ts +0 -58
  140. package/src/room/track/RemoteTrack.ts +0 -62
  141. package/src/room/track/RemoteTrackPublication.ts +0 -198
  142. package/src/room/track/RemoteVideoTrack.ts +0 -235
  143. package/src/room/track/Track.ts +0 -343
  144. package/src/room/track/TrackPublication.ts +0 -120
  145. package/src/room/track/create.ts +0 -121
  146. package/src/room/track/defaults.ts +0 -23
  147. package/src/room/track/options.ts +0 -281
  148. package/src/room/track/types.ts +0 -20
  149. package/src/room/track/utils.test.ts +0 -93
  150. package/src/room/track/utils.ts +0 -115
  151. package/src/room/utils.ts +0 -70
  152. package/src/version.ts +0 -2
  153. package/tsconfig.eslint.json +0 -11
package/dist/index.js DELETED
@@ -1,71 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
22
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
23
- };
24
- var __importDefault = (this && this.__importDefault) || function (mod) {
25
- return (mod && mod.__esModule) ? mod : { "default": mod };
26
- };
27
- Object.defineProperty(exports, "__esModule", { value: true });
28
- exports.ConnectionQuality = exports.VideoQuality = exports.TrackPublication = exports.RemoteTrackPublication = exports.RemoteVideoTrack = exports.RemoteAudioTrack = exports.RemoteTrack = exports.LocalTrackPublication = exports.LocalTrack = exports.LocalVideoTrack = exports.LocalAudioTrack = exports.LocalParticipant = exports.RemoteParticipant = exports.Participant = exports.DataPacket_Kind = exports.RoomState = exports.Room = exports.setLogLevel = void 0;
29
- const logger_1 = require("./logger");
30
- Object.defineProperty(exports, "setLogLevel", { enumerable: true, get: function () { return logger_1.setLogLevel; } });
31
- const livekit_models_1 = require("./proto/livekit_models");
32
- Object.defineProperty(exports, "DataPacket_Kind", { enumerable: true, get: function () { return livekit_models_1.DataPacket_Kind; } });
33
- Object.defineProperty(exports, "VideoQuality", { enumerable: true, get: function () { return livekit_models_1.VideoQuality; } });
34
- const LocalParticipant_1 = __importDefault(require("./room/participant/LocalParticipant"));
35
- exports.LocalParticipant = LocalParticipant_1.default;
36
- const Participant_1 = __importStar(require("./room/participant/Participant"));
37
- exports.Participant = Participant_1.default;
38
- Object.defineProperty(exports, "ConnectionQuality", { enumerable: true, get: function () { return Participant_1.ConnectionQuality; } });
39
- const RemoteParticipant_1 = __importDefault(require("./room/participant/RemoteParticipant"));
40
- exports.RemoteParticipant = RemoteParticipant_1.default;
41
- const Room_1 = __importStar(require("./room/Room"));
42
- exports.Room = Room_1.default;
43
- Object.defineProperty(exports, "RoomState", { enumerable: true, get: function () { return Room_1.RoomState; } });
44
- const LocalAudioTrack_1 = __importDefault(require("./room/track/LocalAudioTrack"));
45
- exports.LocalAudioTrack = LocalAudioTrack_1.default;
46
- const LocalTrack_1 = __importDefault(require("./room/track/LocalTrack"));
47
- exports.LocalTrack = LocalTrack_1.default;
48
- const LocalTrackPublication_1 = __importDefault(require("./room/track/LocalTrackPublication"));
49
- exports.LocalTrackPublication = LocalTrackPublication_1.default;
50
- const LocalVideoTrack_1 = __importDefault(require("./room/track/LocalVideoTrack"));
51
- exports.LocalVideoTrack = LocalVideoTrack_1.default;
52
- const RemoteAudioTrack_1 = __importDefault(require("./room/track/RemoteAudioTrack"));
53
- exports.RemoteAudioTrack = RemoteAudioTrack_1.default;
54
- const RemoteTrack_1 = __importDefault(require("./room/track/RemoteTrack"));
55
- exports.RemoteTrack = RemoteTrack_1.default;
56
- const RemoteTrackPublication_1 = __importDefault(require("./room/track/RemoteTrackPublication"));
57
- exports.RemoteTrackPublication = RemoteTrackPublication_1.default;
58
- const RemoteVideoTrack_1 = __importDefault(require("./room/track/RemoteVideoTrack"));
59
- exports.RemoteVideoTrack = RemoteVideoTrack_1.default;
60
- const TrackPublication_1 = require("./room/track/TrackPublication");
61
- Object.defineProperty(exports, "TrackPublication", { enumerable: true, get: function () { return TrackPublication_1.TrackPublication; } });
62
- __exportStar(require("./connect"), exports);
63
- __exportStar(require("./options"), exports);
64
- __exportStar(require("./room/errors"), exports);
65
- __exportStar(require("./room/events"), exports);
66
- __exportStar(require("./room/track/create"), exports);
67
- __exportStar(require("./room/track/options"), exports);
68
- __exportStar(require("./room/track/Track"), exports);
69
- __exportStar(require("./room/track/types"), exports);
70
- __exportStar(require("./version"), exports);
71
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAuC;AA2BrC,4FA3BO,oBAAW,OA2BP;AA1Bb,2DAAuE;AA6BrE,gGA7BO,gCAAe,OA6BP;AAcf,6FA3CwB,6BAAY,OA2CxB;AA1Cd,2FAAmE;AA+BjE,2BA/BK,0BAAgB,CA+BL;AA9BlB,8EAAgF;AA4B9E,sBA5BK,qBAAW,CA4BL;AAcX,kGA1CoB,+BAAiB,OA0CpB;AAxCnB,6FAAqE;AA2BnE,4BA3BK,2BAAiB,CA2BL;AA1BnB,oDAA8C;AAsB5C,eAtBK,cAAI,CAsBL;AACJ,0FAvBa,gBAAS,OAuBb;AAtBX,mFAA2D;AA2BzD,0BA3BK,yBAAe,CA2BL;AA1BjB,yEAAiD;AA4B/C,qBA5BK,oBAAU,CA4BL;AA3BZ,+FAAuE;AA4BrE,gCA5BK,+BAAqB,CA4BL;AA3BvB,mFAA2D;AAyBzD,0BAzBK,yBAAe,CAyBL;AAxBjB,qFAA6D;AA4B3D,2BA5BK,0BAAgB,CA4BL;AA3BlB,2EAAmD;AA0BjD,sBA1BK,qBAAW,CA0BL;AAzBb,iGAAyE;AA4BvE,iCA5BK,gCAAsB,CA4BL;AA3BxB,qFAA6D;AA0B3D,2BA1BK,0BAAgB,CA0BL;AAzBlB,oEAAiE;AA4B/D,iGA5BO,mCAAgB,OA4BP;AA1BlB,4CAA0B;AAC1B,4CAA0B;AAC1B,gDAA8B;AAC9B,gDAA8B;AAC9B,sDAAoC;AACpC,uDAAqC;AACrC,qDAAmC;AACnC,qDAAmC;AACnC,4CAA0B"}
package/dist/logger.js DELETED
@@ -1,24 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.setLogLevel = exports.LogLevel = void 0;
7
- const loglevel_1 = __importDefault(require("loglevel"));
8
- var LogLevel;
9
- (function (LogLevel) {
10
- LogLevel["trace"] = "trace";
11
- LogLevel["debug"] = "debug";
12
- LogLevel["info"] = "info";
13
- LogLevel["warn"] = "warn";
14
- LogLevel["error"] = "error";
15
- LogLevel["silent"] = "silent";
16
- })(LogLevel = exports.LogLevel || (exports.LogLevel = {}));
17
- const livekitLogger = loglevel_1.default.getLogger('livekit');
18
- livekitLogger.setLevel(LogLevel.info);
19
- exports.default = livekitLogger;
20
- function setLogLevel(level) {
21
- livekitLogger.setLevel(level);
22
- }
23
- exports.setLogLevel = setLogLevel;
24
- //# sourceMappingURL=logger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;;;;AAAA,wDAA2B;AAI3B,IAAY,QAOX;AAPD,WAAY,QAAQ;IAClB,2BAAe,CAAA;IACf,2BAAe,CAAA;IACf,yBAAa,CAAA;IACb,yBAAa,CAAA;IACb,2BAAe,CAAA;IACf,6BAAiB,CAAA;AACnB,CAAC,EAPW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAOnB;AAED,MAAM,aAAa,GAAG,kBAAG,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AAE/C,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAEtC,kBAAe,aAAa,CAAC;AAE7B,SAAgB,WAAW,CAAC,KAA8B;IACxD,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAFD,kCAEC"}
package/dist/options.js DELETED
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=options.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":""}
@@ -1,108 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __importDefault = (this && this.__importDefault) || function (mod) {
22
- return (mod && mod.__esModule) ? mod : { "default": mod };
23
- };
24
- Object.defineProperty(exports, "__esModule", { value: true });
25
- exports.Timestamp = exports.protobufPackage = void 0;
26
- /* eslint-disable */
27
- const long_1 = __importDefault(require("long"));
28
- const _m0 = __importStar(require("protobufjs/minimal"));
29
- exports.protobufPackage = "google.protobuf";
30
- function createBaseTimestamp() {
31
- return { seconds: 0, nanos: 0 };
32
- }
33
- exports.Timestamp = {
34
- encode(message, writer = _m0.Writer.create()) {
35
- if (message.seconds !== 0) {
36
- writer.uint32(8).int64(message.seconds);
37
- }
38
- if (message.nanos !== 0) {
39
- writer.uint32(16).int32(message.nanos);
40
- }
41
- return writer;
42
- },
43
- decode(input, length) {
44
- const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
45
- let end = length === undefined ? reader.len : reader.pos + length;
46
- const message = createBaseTimestamp();
47
- while (reader.pos < end) {
48
- const tag = reader.uint32();
49
- switch (tag >>> 3) {
50
- case 1:
51
- message.seconds = longToNumber(reader.int64());
52
- break;
53
- case 2:
54
- message.nanos = reader.int32();
55
- break;
56
- default:
57
- reader.skipType(tag & 7);
58
- break;
59
- }
60
- }
61
- return message;
62
- },
63
- fromJSON(object) {
64
- return {
65
- seconds: isSet(object.seconds) ? Number(object.seconds) : 0,
66
- nanos: isSet(object.nanos) ? Number(object.nanos) : 0,
67
- };
68
- },
69
- toJSON(message) {
70
- const obj = {};
71
- message.seconds !== undefined &&
72
- (obj.seconds = Math.round(message.seconds));
73
- message.nanos !== undefined && (obj.nanos = Math.round(message.nanos));
74
- return obj;
75
- },
76
- fromPartial(object) {
77
- var _a, _b;
78
- const message = createBaseTimestamp();
79
- message.seconds = (_a = object.seconds) !== null && _a !== void 0 ? _a : 0;
80
- message.nanos = (_b = object.nanos) !== null && _b !== void 0 ? _b : 0;
81
- return message;
82
- },
83
- };
84
- var globalThis = (() => {
85
- if (typeof globalThis !== "undefined")
86
- return globalThis;
87
- if (typeof self !== "undefined")
88
- return self;
89
- if (typeof window !== "undefined")
90
- return window;
91
- if (typeof global !== "undefined")
92
- return global;
93
- throw "Unable to locate global object";
94
- })();
95
- function longToNumber(long) {
96
- if (long.gt(Number.MAX_SAFE_INTEGER)) {
97
- throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER");
98
- }
99
- return long.toNumber();
100
- }
101
- if (_m0.util.Long !== long_1.default) {
102
- _m0.util.Long = long_1.default;
103
- _m0.configure();
104
- }
105
- function isSet(value) {
106
- return value !== null && value !== undefined;
107
- }
108
- //# sourceMappingURL=timestamp.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"timestamp.js","sourceRoot":"","sources":["../../../../src/proto/google/protobuf/timestamp.ts"],"names":[],"mappings":"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"}