livekit-client 2.22.2 → 2.22.4

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 (245) hide show
  1. package/README.md +35 -0
  2. package/dist/livekit-client.e2ee.worker.js +1 -1
  3. package/dist/livekit-client.e2ee.worker.js.map +1 -1
  4. package/dist/livekit-client.e2ee.worker.mjs +488 -438
  5. package/dist/livekit-client.e2ee.worker.mjs.map +1 -1
  6. package/dist/livekit-client.esm.mjs +954 -301
  7. package/dist/livekit-client.esm.mjs.map +1 -1
  8. package/dist/livekit-client.fm.worker.js +1 -1
  9. package/dist/livekit-client.fm.worker.js.map +1 -1
  10. package/dist/livekit-client.fm.worker.mjs +10 -2
  11. package/dist/livekit-client.fm.worker.mjs.map +1 -1
  12. package/dist/livekit-client.umd.js +1 -1
  13. package/dist/livekit-client.umd.js.map +1 -1
  14. package/dist/src/api/SignalClient.d.ts +4 -2
  15. package/dist/src/api/SignalClient.d.ts.map +1 -1
  16. package/dist/src/api/WebSocketStream.d.ts.map +1 -1
  17. package/dist/src/api/utils.d.ts +1 -0
  18. package/dist/src/api/utils.d.ts.map +1 -1
  19. package/dist/src/e2ee/E2eeManager.d.ts +26 -0
  20. package/dist/src/e2ee/E2eeManager.d.ts.map +1 -1
  21. package/dist/src/e2ee/types.d.ts +15 -1
  22. package/dist/src/e2ee/types.d.ts.map +1 -1
  23. package/dist/src/e2ee/worker/DataCryptor.d.ts.map +1 -1
  24. package/dist/src/e2ee/worker/ErrorRateLimiter.d.ts +21 -0
  25. package/dist/src/e2ee/worker/ErrorRateLimiter.d.ts.map +1 -0
  26. package/dist/src/e2ee/worker/FrameCryptor.d.ts +1 -18
  27. package/dist/src/e2ee/worker/FrameCryptor.d.ts.map +1 -1
  28. package/dist/src/logger.d.ts +4 -0
  29. package/dist/src/logger.d.ts.map +1 -1
  30. package/dist/src/options.d.ts +14 -0
  31. package/dist/src/options.d.ts.map +1 -1
  32. package/dist/src/room/PCTransport.d.ts +78 -7
  33. package/dist/src/room/PCTransport.d.ts.map +1 -1
  34. package/dist/src/room/PCTransportManager.d.ts.map +1 -1
  35. package/dist/src/room/RTCEngine.d.ts +9 -0
  36. package/dist/src/room/RTCEngine.d.ts.map +1 -1
  37. package/dist/src/room/Room.d.ts +1 -1
  38. package/dist/src/room/Room.d.ts.map +1 -1
  39. package/dist/src/room/defaults.d.ts.map +1 -1
  40. package/dist/src/room/errors.d.ts +18 -0
  41. package/dist/src/room/errors.d.ts.map +1 -1
  42. package/dist/src/room/events.d.ts +3 -2
  43. package/dist/src/room/events.d.ts.map +1 -1
  44. package/dist/src/room/participant/LocalParticipant.d.ts.map +1 -1
  45. package/dist/src/room/participant/publishUtils.d.ts +16 -0
  46. package/dist/src/room/participant/publishUtils.d.ts.map +1 -1
  47. package/dist/src/room/rpc/client/RpcClientManager.d.ts.map +1 -1
  48. package/dist/src/room/track/LocalTrack.d.ts.map +1 -1
  49. package/dist/src/room/track/LocalVideoTrack.d.ts +9 -0
  50. package/dist/src/room/track/LocalVideoTrack.d.ts.map +1 -1
  51. package/dist/src/room/track/options.d.ts +1 -1
  52. package/dist/src/room/track/utils.d.ts +13 -0
  53. package/dist/src/room/track/utils.d.ts.map +1 -1
  54. package/dist/src/room/utils.d.ts +66 -0
  55. package/dist/src/room/utils.d.ts.map +1 -1
  56. package/dist/src/test/compressionStreamStubs.d.ts +12 -0
  57. package/dist/src/test/compressionStreamStubs.d.ts.map +1 -0
  58. package/dist/ts4.2/api/SignalClient.d.ts +187 -185
  59. package/dist/ts4.2/api/SignalClientStateMachine.d.ts +85 -85
  60. package/dist/ts4.2/api/WebSocketStream.d.ts +33 -33
  61. package/dist/ts4.2/api/utils.d.ts +9 -8
  62. package/dist/ts4.2/connectionHelper/ConnectionCheck.d.ts +30 -30
  63. package/dist/ts4.2/connectionHelper/checks/Checker.d.ts +62 -62
  64. package/dist/ts4.2/connectionHelper/checks/cloudRegion.d.ts +18 -18
  65. package/dist/ts4.2/connectionHelper/checks/connectionProtocol.d.ts +20 -20
  66. package/dist/ts4.2/connectionHelper/checks/publishAudio.d.ts +6 -6
  67. package/dist/ts4.2/connectionHelper/checks/publishVideo.d.ts +7 -7
  68. package/dist/ts4.2/connectionHelper/checks/reconnect.d.ts +6 -6
  69. package/dist/ts4.2/connectionHelper/checks/turn.d.ts +6 -6
  70. package/dist/ts4.2/connectionHelper/checks/webrtc.d.ts +6 -6
  71. package/dist/ts4.2/connectionHelper/checks/websocket.d.ts +6 -6
  72. package/dist/ts4.2/e2ee/E2eeManager.d.ts +111 -85
  73. package/dist/ts4.2/e2ee/KeyProvider.d.ts +54 -54
  74. package/dist/ts4.2/e2ee/constants.d.ts +21 -21
  75. package/dist/ts4.2/e2ee/errors.d.ts +12 -12
  76. package/dist/ts4.2/e2ee/events.d.ts +39 -39
  77. package/dist/ts4.2/e2ee/index.d.ts +6 -6
  78. package/dist/ts4.2/e2ee/types.d.ts +231 -217
  79. package/dist/ts4.2/e2ee/utils.d.ts +32 -32
  80. package/dist/ts4.2/e2ee/worker/DataCryptor.d.ts +16 -16
  81. package/dist/ts4.2/e2ee/worker/ErrorRateLimiter.d.ts +21 -0
  82. package/dist/ts4.2/e2ee/worker/FrameCryptor.d.ts +209 -226
  83. package/dist/ts4.2/e2ee/worker/ParticipantKeyHandler.d.ts +81 -84
  84. package/dist/ts4.2/e2ee/worker/e2ee.worker.d.ts +2 -2
  85. package/dist/ts4.2/e2ee/worker/naluUtils.d.ts +28 -28
  86. package/dist/ts4.2/e2ee/worker/sifPayload.d.ts +23 -23
  87. package/dist/ts4.2/frameMetadata/FrameMetadataManager.d.ts +53 -53
  88. package/dist/ts4.2/frameMetadata/frameMetadata.d.ts +33 -33
  89. package/dist/ts4.2/frameMetadata/types.d.ts +62 -62
  90. package/dist/ts4.2/frameMetadata/utils.d.ts +9 -9
  91. package/dist/ts4.2/frameMetadata/worker/frameMetadata.worker.d.ts +2 -2
  92. package/dist/ts4.2/index.d.ts +76 -76
  93. package/dist/ts4.2/logger.d.ts +66 -62
  94. package/dist/ts4.2/options.d.ts +163 -149
  95. package/dist/ts4.2/room/BackOffStrategy.d.ts +27 -27
  96. package/dist/ts4.2/room/DefaultReconnectPolicy.d.ts +8 -8
  97. package/dist/ts4.2/room/DeviceManager.d.ts +12 -12
  98. package/dist/ts4.2/room/PCTransport.d.ts +246 -175
  99. package/dist/ts4.2/room/PCTransportManager.d.ts +77 -77
  100. package/dist/ts4.2/room/RTCEngine.d.ts +269 -261
  101. package/dist/ts4.2/room/ReconnectPolicy.d.ts +24 -24
  102. package/dist/ts4.2/room/RegionUrlProvider.d.ts +36 -36
  103. package/dist/ts4.2/room/Room.d.ts +354 -365
  104. package/dist/ts4.2/room/attribute-typings.d.ts +35 -35
  105. package/dist/ts4.2/room/data-channel/DataChannelManager.d.ts +62 -62
  106. package/dist/ts4.2/room/data-channel/FlowControlledDataChannel.d.ts +94 -95
  107. package/dist/ts4.2/room/data-channel/LossyDataChannel.d.ts +41 -41
  108. package/dist/ts4.2/room/data-channel/ReliableDataChannel.d.ts +57 -57
  109. package/dist/ts4.2/room/data-channel/types.d.ts +12 -12
  110. package/dist/ts4.2/room/data-stream/compression.d.ts +49 -49
  111. package/dist/ts4.2/room/data-stream/constants.d.ts +18 -18
  112. package/dist/ts4.2/room/data-stream/incoming/IncomingDataStreamManager.d.ts +29 -29
  113. package/dist/ts4.2/room/data-stream/incoming/StreamReader.d.ts +80 -80
  114. package/dist/ts4.2/room/data-stream/outgoing/OutgoingDataStreamManager.d.ts +73 -73
  115. package/dist/ts4.2/room/data-stream/outgoing/StreamWriter.d.ts +16 -16
  116. package/dist/ts4.2/room/data-stream/outgoing/header-utils.d.ts +18 -18
  117. package/dist/ts4.2/room/data-track/LocalDataTrack.d.ts +79 -80
  118. package/dist/ts4.2/room/data-track/RemoteDataTrack.d.ts +50 -50
  119. package/dist/ts4.2/room/data-track/depacketizer.d.ts +59 -59
  120. package/dist/ts4.2/room/data-track/frame.d.ts +22 -22
  121. package/dist/ts4.2/room/data-track/handle.d.ts +27 -27
  122. package/dist/ts4.2/room/data-track/incoming/IncomingDataTrackManager.d.ts +124 -124
  123. package/dist/ts4.2/room/data-track/incoming/errors.d.ts +24 -24
  124. package/dist/ts4.2/room/data-track/incoming/pipeline.d.ts +41 -41
  125. package/dist/ts4.2/room/data-track/incoming/types.d.ts +20 -20
  126. package/dist/ts4.2/room/data-track/outgoing/OutgoingDataTrackManager.d.ts +126 -126
  127. package/dist/ts4.2/room/data-track/outgoing/errors.d.ts +74 -74
  128. package/dist/ts4.2/room/data-track/outgoing/pipeline.d.ts +23 -23
  129. package/dist/ts4.2/room/data-track/outgoing/types.d.ts +48 -48
  130. package/dist/ts4.2/room/data-track/packet/constants.d.ts +20 -20
  131. package/dist/ts4.2/room/data-track/packet/errors.d.ts +40 -40
  132. package/dist/ts4.2/room/data-track/packet/extensions.d.ts +69 -69
  133. package/dist/ts4.2/room/data-track/packet/index.d.ts +98 -98
  134. package/dist/ts4.2/room/data-track/packet/serializable.d.ts +13 -13
  135. package/dist/ts4.2/room/data-track/packetizer.d.ts +43 -43
  136. package/dist/ts4.2/room/data-track/track-interfaces.d.ts +23 -23
  137. package/dist/ts4.2/room/data-track/types.d.ts +22 -22
  138. package/dist/ts4.2/room/data-track/utils.d.ts +60 -60
  139. package/dist/ts4.2/room/debounce.d.ts +11 -11
  140. package/dist/ts4.2/room/defaults.d.ts +9 -9
  141. package/dist/ts4.2/room/errors.d.ts +180 -162
  142. package/dist/ts4.2/room/events.d.ts +638 -637
  143. package/dist/ts4.2/room/participant/LocalParticipant.d.ts +287 -287
  144. package/dist/ts4.2/room/participant/Participant.d.ts +142 -144
  145. package/dist/ts4.2/room/participant/ParticipantTrackPermission.d.ts +26 -26
  146. package/dist/ts4.2/room/participant/RemoteParticipant.d.ts +85 -86
  147. package/dist/ts4.2/room/participant/publishUtils.d.ts +53 -37
  148. package/dist/ts4.2/room/rpc/client/RpcClientManager.d.ts +43 -43
  149. package/dist/ts4.2/room/rpc/client/events.d.ts +8 -8
  150. package/dist/ts4.2/room/rpc/index.d.ts +7 -7
  151. package/dist/ts4.2/room/rpc/server/RpcServerManager.d.ts +44 -44
  152. package/dist/ts4.2/room/rpc/server/events.d.ts +8 -8
  153. package/dist/ts4.2/room/rpc/utils.d.ts +131 -131
  154. package/dist/ts4.2/room/stats.d.ts +71 -71
  155. package/dist/ts4.2/room/statsSummary.d.ts +13 -13
  156. package/dist/ts4.2/room/timers.d.ts +12 -12
  157. package/dist/ts4.2/room/token-source/TokenSource.d.ts +82 -82
  158. package/dist/ts4.2/room/token-source/types.d.ts +70 -70
  159. package/dist/ts4.2/room/token-source/utils.d.ts +8 -8
  160. package/dist/ts4.2/room/track/FrameMetadataExtractor.d.ts +19 -19
  161. package/dist/ts4.2/room/track/LocalAudioTrack.d.ts +39 -42
  162. package/dist/ts4.2/room/track/LocalTrack.d.ts +125 -125
  163. package/dist/ts4.2/room/track/LocalTrackPublication.d.ts +42 -42
  164. package/dist/ts4.2/room/track/LocalVideoTrack.d.ts +102 -93
  165. package/dist/ts4.2/room/track/RemoteAudioTrack.d.ts +55 -55
  166. package/dist/ts4.2/room/track/RemoteTrack.d.ts +38 -38
  167. package/dist/ts4.2/room/track/RemoteTrackPublication.d.ts +72 -75
  168. package/dist/ts4.2/room/track/RemoteVideoTrack.d.ts +73 -76
  169. package/dist/ts4.2/room/track/Track.d.ts +156 -166
  170. package/dist/ts4.2/room/track/TrackPublication.d.ts +75 -81
  171. package/dist/ts4.2/room/track/create.d.ts +25 -25
  172. package/dist/ts4.2/room/track/facingMode.d.ts +41 -41
  173. package/dist/ts4.2/room/track/options.d.ts +403 -403
  174. package/dist/ts4.2/room/track/processor/types.d.ts +31 -31
  175. package/dist/ts4.2/room/track/record.d.ts +13 -13
  176. package/dist/ts4.2/room/track/types.d.ts +28 -28
  177. package/dist/ts4.2/room/track/utils.d.ts +60 -47
  178. package/dist/ts4.2/room/types.d.ts +127 -127
  179. package/dist/ts4.2/room/utils.d.ts +246 -180
  180. package/dist/ts4.2/test/MockMediaStreamTrack.d.ts +26 -26
  181. package/dist/ts4.2/test/compressionStreamStubs.d.ts +12 -0
  182. package/dist/ts4.2/test/mocks.d.ts +12 -12
  183. package/dist/ts4.2/test/promiseState.d.ts +12 -12
  184. package/dist/ts4.2/test/signalToken.d.ts +26 -26
  185. package/dist/ts4.2/type-polyfills/non-shared-typed-arrays.d.ts +2 -2
  186. package/dist/ts4.2/utils/AsyncQueue.d.ts +23 -23
  187. package/dist/ts4.2/utils/TypedPromise.d.ts +17 -17
  188. package/dist/ts4.2/utils/abort-signal-polyfill.d.ts +13 -13
  189. package/dist/ts4.2/utils/browserParser.d.ts +13 -13
  190. package/dist/ts4.2/utils/camelToSnakeCase.d.ts +8 -8
  191. package/dist/ts4.2/utils/cloneDeep.d.ts +2 -2
  192. package/dist/ts4.2/utils/dataPacketBuffer.d.ts +34 -34
  193. package/dist/ts4.2/utils/deferrable-map.d.ts +32 -32
  194. package/dist/ts4.2/utils/machineInspector.d.ts +54 -54
  195. package/dist/ts4.2/utils/serializer.d.ts +48 -48
  196. package/dist/ts4.2/utils/subscribeToEvents.d.ts +15 -15
  197. package/dist/ts4.2/utils/ttlmap.d.ts +20 -20
  198. package/dist/ts4.2/version.d.ts +15 -15
  199. package/package.json +5 -4
  200. package/src/api/SignalClient.e2e.test.ts +1 -3
  201. package/src/api/SignalClient.test.ts +160 -10
  202. package/src/api/SignalClient.ts +75 -54
  203. package/src/api/WebSocketStream.ts +3 -8
  204. package/src/api/utils.ts +10 -0
  205. package/src/e2ee/E2eeManager.test.ts +196 -0
  206. package/src/e2ee/E2eeManager.ts +114 -19
  207. package/src/e2ee/types.ts +19 -1
  208. package/src/e2ee/worker/DataCryptor.ts +2 -1
  209. package/src/e2ee/worker/ErrorRateLimiter.test.ts +53 -0
  210. package/src/e2ee/worker/ErrorRateLimiter.ts +52 -0
  211. package/src/e2ee/worker/FrameCryptor.ts +20 -70
  212. package/src/e2ee/worker/e2ee.worker.ts +34 -11
  213. package/src/logger.ts +22 -0
  214. package/src/options.ts +16 -0
  215. package/src/room/PCTransport.test.ts +183 -7
  216. package/src/room/PCTransport.ts +197 -36
  217. package/src/room/PCTransportManager.ts +3 -1
  218. package/src/room/RTCEngine.test.ts +84 -0
  219. package/src/room/RTCEngine.ts +52 -12
  220. package/src/room/Room.test.ts +32 -6
  221. package/src/room/Room.ts +27 -7
  222. package/src/room/data-stream/incoming/IncomingDataStreamManager.test.ts +16 -20
  223. package/src/room/data-stream/incoming/IncomingDataStreamManager.ts +5 -5
  224. package/src/room/data-stream/outgoing/OutgoingDataStreamManager.test.ts +60 -39
  225. package/src/room/data-stream/outgoing/OutgoingDataStreamManager.ts +4 -4
  226. package/src/room/defaults.ts +1 -0
  227. package/src/room/errors.test.ts +36 -0
  228. package/src/room/errors.ts +27 -0
  229. package/src/room/events.ts +2 -1
  230. package/src/room/participant/LocalParticipant.ts +30 -14
  231. package/src/room/participant/publishUtils.test.ts +133 -0
  232. package/src/room/participant/publishUtils.ts +54 -38
  233. package/src/room/rpc/client/RpcClientManager.test.ts +51 -0
  234. package/src/room/rpc/client/RpcClientManager.ts +32 -15
  235. package/src/room/track/LocalTrack.ts +18 -7
  236. package/src/room/track/LocalVideoTrack.ts +25 -8
  237. package/src/room/track/RemoteAudioTrack.ts +3 -3
  238. package/src/room/track/RemoteVideoTrack.test.ts +210 -0
  239. package/src/room/track/RemoteVideoTrack.ts +29 -3
  240. package/src/room/track/options.ts +1 -1
  241. package/src/room/track/utils.test.ts +201 -2
  242. package/src/room/track/utils.ts +88 -0
  243. package/src/room/utils.test.ts +211 -0
  244. package/src/room/utils.ts +129 -0
  245. package/src/test/compressionStreamStubs.ts +53 -0
@@ -1,8 +1,9 @@
1
- import { SignalResponse } from '@livekit/protocol';
2
- export declare function createRtcUrl(url: string, searchParams: URLSearchParams, useV0Path?: boolean): URL;
3
- export declare function createV0RtcUrl(url: string, searchParams: URLSearchParams): URL;
4
- export declare function createValidateUrl(rtcWsUrl: string): URL;
5
- export declare function ensureTrailingSlash(path: string): string;
6
- export declare function parseSignalResponse(value: ArrayBuffer | string): SignalResponse;
7
- export declare function getAbortReasonAsString(signal: AbortSignal | Error | unknown, defaultMessage?: string): any;
8
- //# sourceMappingURL=utils.d.ts.map
1
+ import { SignalResponse } from '@livekit/protocol';
2
+ export declare function createRtcUrl(url: string, searchParams: URLSearchParams, useV0Path?: boolean): URL;
3
+ export declare function createV0RtcUrl(url: string, searchParams: URLSearchParams): URL;
4
+ export declare function createValidateUrl(rtcWsUrl: string): URL;
5
+ export declare function ensureTrailingSlash(path: string): string;
6
+ export declare function parseSignalResponse(value: ArrayBuffer | string): SignalResponse;
7
+ export declare function getAbortReasonAsString(signal: AbortSignal | Error | unknown, defaultMessage?: string): any;
8
+ export declare function getErrorDescription(error: unknown, errorCategory: string): string;
9
+ //# sourceMappingURL=utils.d.ts.map
@@ -1,30 +1,30 @@
1
- import type TypedEmitter from 'typed-emitter';
2
- import type { CheckInfo, CheckerOptions, InstantiableCheck } from './checks/Checker';
3
- import { CheckStatus, Checker } from './checks/Checker';
4
- export type { CheckInfo };
5
- export { CheckStatus };
6
- declare const ConnectionCheck_base: new () => TypedEmitter<ConnectionCheckCallbacks>;
7
- export declare class ConnectionCheck extends ConnectionCheck_base {
8
- token: string;
9
- url: string;
10
- options: CheckerOptions;
11
- private checkResults;
12
- constructor(url: string, token: string, options?: CheckerOptions);
13
- private getNextCheckId;
14
- private updateCheck;
15
- isSuccess(): boolean;
16
- getResults(): CheckInfo[];
17
- createAndRunCheck<T extends Checker>(check: InstantiableCheck<T>): Promise<CheckInfo>;
18
- checkWebsocket(): Promise<CheckInfo>;
19
- checkWebRTC(): Promise<CheckInfo>;
20
- checkTURN(): Promise<CheckInfo>;
21
- checkReconnect(): Promise<CheckInfo>;
22
- checkPublishAudio(): Promise<CheckInfo>;
23
- checkPublishVideo(): Promise<CheckInfo>;
24
- checkConnectionProtocol(): Promise<CheckInfo>;
25
- checkCloudRegion(): Promise<CheckInfo>;
26
- }
27
- type ConnectionCheckCallbacks = {
28
- checkUpdate: (id: number, info: CheckInfo) => void;
29
- };
30
- //# sourceMappingURL=ConnectionCheck.d.ts.map
1
+ import type TypedEmitter from 'typed-emitter';
2
+ import type { CheckInfo, CheckerOptions, InstantiableCheck } from './checks/Checker';
3
+ import { CheckStatus, Checker } from './checks/Checker';
4
+ export type { CheckInfo };
5
+ export { CheckStatus };
6
+ declare const ConnectionCheck_base: new () => TypedEmitter<ConnectionCheckCallbacks>;
7
+ export declare class ConnectionCheck extends ConnectionCheck_base {
8
+ token: string;
9
+ url: string;
10
+ options: CheckerOptions;
11
+ private checkResults;
12
+ constructor(url: string, token: string, options?: CheckerOptions);
13
+ private getNextCheckId;
14
+ private updateCheck;
15
+ isSuccess(): boolean;
16
+ getResults(): CheckInfo[];
17
+ createAndRunCheck<T extends Checker>(check: InstantiableCheck<T>): Promise<CheckInfo>;
18
+ checkWebsocket(): Promise<CheckInfo>;
19
+ checkWebRTC(): Promise<CheckInfo>;
20
+ checkTURN(): Promise<CheckInfo>;
21
+ checkReconnect(): Promise<CheckInfo>;
22
+ checkPublishAudio(): Promise<CheckInfo>;
23
+ checkPublishVideo(): Promise<CheckInfo>;
24
+ checkConnectionProtocol(): Promise<CheckInfo>;
25
+ checkCloudRegion(): Promise<CheckInfo>;
26
+ }
27
+ type ConnectionCheckCallbacks = {
28
+ checkUpdate: (id: number, info: CheckInfo) => void;
29
+ };
30
+ //# sourceMappingURL=ConnectionCheck.d.ts.map
@@ -1,62 +1,62 @@
1
- import type TypedEmitter from 'typed-emitter';
2
- import type { RoomConnectOptions, RoomOptions } from '../../options';
3
- import type RTCEngine from '../../room/RTCEngine';
4
- import Room from '../../room/Room';
5
- type LogMessage = {
6
- level: 'info' | 'warning' | 'error';
7
- message: string;
8
- };
9
- export declare enum CheckStatus {
10
- IDLE = 0,
11
- RUNNING = 1,
12
- SKIPPED = 2,
13
- SUCCESS = 3,
14
- FAILED = 4
15
- }
16
- export type CheckInfo = {
17
- name: string;
18
- logs: Array<LogMessage>;
19
- status: CheckStatus;
20
- description: string;
21
- data?: any;
22
- };
23
- export interface CheckerOptions {
24
- errorsAsWarnings?: boolean;
25
- roomOptions?: RoomOptions;
26
- connectOptions?: RoomConnectOptions;
27
- protocol?: 'udp' | 'tcp';
28
- }
29
- declare const Checker_base: new () => TypedEmitter<CheckerCallbacks>;
30
- export declare abstract class Checker extends Checker_base {
31
- protected url: string;
32
- protected token: string;
33
- room: Room;
34
- connectOptions?: RoomConnectOptions;
35
- status: CheckStatus;
36
- logs: Array<LogMessage>;
37
- name: string;
38
- options: CheckerOptions;
39
- constructor(url: string, token: string, options?: CheckerOptions);
40
- abstract get description(): string;
41
- protected abstract perform(): Promise<void>;
42
- run(onComplete?: () => void): Promise<CheckInfo>;
43
- protected isSuccess(): boolean;
44
- protected connect(url?: string): Promise<Room>;
45
- protected disconnect(): Promise<void>;
46
- protected skip(): void;
47
- protected switchProtocol(protocol: 'udp' | 'tcp' | 'tls'): Promise<void>;
48
- protected appendMessage(message: string): void;
49
- protected appendWarning(message: string): void;
50
- protected appendError(message: string): void;
51
- protected setStatus(status: CheckStatus): void;
52
- protected get engine(): RTCEngine | undefined;
53
- getInfo(): CheckInfo;
54
- }
55
- export type InstantiableCheck<T extends Checker> = {
56
- new (url: string, token: string, options?: CheckerOptions): T;
57
- };
58
- type CheckerCallbacks = {
59
- update: (info: CheckInfo) => void;
60
- };
61
- export {};
62
- //# sourceMappingURL=Checker.d.ts.map
1
+ import type TypedEmitter from 'typed-emitter';
2
+ import type { RoomConnectOptions, RoomOptions } from '../../options';
3
+ import type RTCEngine from '../../room/RTCEngine';
4
+ import Room from '../../room/Room';
5
+ type LogMessage = {
6
+ level: 'info' | 'warning' | 'error';
7
+ message: string;
8
+ };
9
+ export declare enum CheckStatus {
10
+ IDLE = 0,
11
+ RUNNING = 1,
12
+ SKIPPED = 2,
13
+ SUCCESS = 3,
14
+ FAILED = 4
15
+ }
16
+ export type CheckInfo = {
17
+ name: string;
18
+ logs: Array<LogMessage>;
19
+ status: CheckStatus;
20
+ description: string;
21
+ data?: any;
22
+ };
23
+ export interface CheckerOptions {
24
+ errorsAsWarnings?: boolean;
25
+ roomOptions?: RoomOptions;
26
+ connectOptions?: RoomConnectOptions;
27
+ protocol?: 'udp' | 'tcp';
28
+ }
29
+ declare const Checker_base: new () => TypedEmitter<CheckerCallbacks>;
30
+ export declare abstract class Checker extends Checker_base {
31
+ protected url: string;
32
+ protected token: string;
33
+ room: Room;
34
+ connectOptions?: RoomConnectOptions;
35
+ status: CheckStatus;
36
+ logs: Array<LogMessage>;
37
+ name: string;
38
+ options: CheckerOptions;
39
+ constructor(url: string, token: string, options?: CheckerOptions);
40
+ abstract get description(): string;
41
+ protected abstract perform(): Promise<void>;
42
+ run(onComplete?: () => void): Promise<CheckInfo>;
43
+ protected isSuccess(): boolean;
44
+ protected connect(url?: string): Promise<Room>;
45
+ protected disconnect(): Promise<void>;
46
+ protected skip(): void;
47
+ protected switchProtocol(protocol: 'udp' | 'tcp' | 'tls'): Promise<void>;
48
+ protected appendMessage(message: string): void;
49
+ protected appendWarning(message: string): void;
50
+ protected appendError(message: string): void;
51
+ protected setStatus(status: CheckStatus): void;
52
+ protected get engine(): (RTCEngine | undefined);
53
+ getInfo(): CheckInfo;
54
+ }
55
+ export type InstantiableCheck<T extends Checker> = {
56
+ new (url: string, token: string, options?: CheckerOptions): T;
57
+ };
58
+ type CheckerCallbacks = {
59
+ update: (info: CheckInfo) => void;
60
+ };
61
+ export {};
62
+ //# sourceMappingURL=Checker.d.ts.map
@@ -1,18 +1,18 @@
1
- import type { CheckInfo } from './Checker';
2
- import { Checker } from './Checker';
3
- export interface RegionStats {
4
- region: string;
5
- rtt: number;
6
- duration: number;
7
- }
8
- /**
9
- * Checks for connections quality to closests Cloud regions and determining the best quality
10
- */
11
- export declare class CloudRegionCheck extends Checker {
12
- private bestStats?;
13
- get description(): string;
14
- perform(): Promise<void>;
15
- getInfo(): CheckInfo;
16
- private checkCloudRegion;
17
- }
18
- //# sourceMappingURL=cloudRegion.d.ts.map
1
+ import type { CheckInfo } from './Checker';
2
+ import { Checker } from './Checker';
3
+ export interface RegionStats {
4
+ region: string;
5
+ rtt: number;
6
+ duration: number;
7
+ }
8
+ /**
9
+ * Checks for connections quality to closests Cloud regions and determining the best quality
10
+ */
11
+ export declare class CloudRegionCheck extends Checker {
12
+ private bestStats?;
13
+ get description(): string;
14
+ perform(): Promise<void>;
15
+ getInfo(): CheckInfo;
16
+ private checkCloudRegion;
17
+ }
18
+ //# sourceMappingURL=cloudRegion.d.ts.map
@@ -1,20 +1,20 @@
1
- import type { CheckInfo } from './Checker';
2
- import { Checker } from './Checker';
3
- export interface ProtocolStats {
4
- protocol: 'udp' | 'tcp';
5
- packetsLost: number;
6
- packetsSent: number;
7
- qualityLimitationDurations: Record<string, number>;
8
- rttTotal: number;
9
- jitterTotal: number;
10
- bitrateTotal: number;
11
- count: number;
12
- }
13
- export declare class ConnectionProtocolCheck extends Checker {
14
- private bestStats?;
15
- get description(): string;
16
- perform(): Promise<void>;
17
- getInfo(): CheckInfo;
18
- private checkConnectionProtocol;
19
- }
20
- //# sourceMappingURL=connectionProtocol.d.ts.map
1
+ import type { CheckInfo } from './Checker';
2
+ import { Checker } from './Checker';
3
+ export interface ProtocolStats {
4
+ protocol: 'udp' | 'tcp';
5
+ packetsLost: number;
6
+ packetsSent: number;
7
+ qualityLimitationDurations: Record<string, number>;
8
+ rttTotal: number;
9
+ jitterTotal: number;
10
+ bitrateTotal: number;
11
+ count: number;
12
+ }
13
+ export declare class ConnectionProtocolCheck extends Checker {
14
+ private bestStats?;
15
+ get description(): string;
16
+ perform(): Promise<void>;
17
+ getInfo(): CheckInfo;
18
+ private checkConnectionProtocol;
19
+ }
20
+ //# sourceMappingURL=connectionProtocol.d.ts.map
@@ -1,6 +1,6 @@
1
- import { Checker } from './Checker';
2
- export declare class PublishAudioCheck extends Checker {
3
- get description(): string;
4
- perform(): Promise<void>;
5
- }
6
- //# sourceMappingURL=publishAudio.d.ts.map
1
+ import { Checker } from './Checker';
2
+ export declare class PublishAudioCheck extends Checker {
3
+ get description(): string;
4
+ perform(): Promise<void>;
5
+ }
6
+ //# sourceMappingURL=publishAudio.d.ts.map
@@ -1,7 +1,7 @@
1
- import { Checker } from './Checker';
2
- export declare class PublishVideoCheck extends Checker {
3
- get description(): string;
4
- perform(): Promise<void>;
5
- checkForVideo(track: MediaStreamTrack): Promise<void>;
6
- }
7
- //# sourceMappingURL=publishVideo.d.ts.map
1
+ import { Checker } from './Checker';
2
+ export declare class PublishVideoCheck extends Checker {
3
+ get description(): string;
4
+ perform(): Promise<void>;
5
+ checkForVideo(track: MediaStreamTrack): Promise<void>;
6
+ }
7
+ //# sourceMappingURL=publishVideo.d.ts.map
@@ -1,6 +1,6 @@
1
- import { Checker } from './Checker';
2
- export declare class ReconnectCheck extends Checker {
3
- get description(): string;
4
- perform(): Promise<void>;
5
- }
6
- //# sourceMappingURL=reconnect.d.ts.map
1
+ import { Checker } from './Checker';
2
+ export declare class ReconnectCheck extends Checker {
3
+ get description(): string;
4
+ perform(): Promise<void>;
5
+ }
6
+ //# sourceMappingURL=reconnect.d.ts.map
@@ -1,6 +1,6 @@
1
- import { Checker } from './Checker';
2
- export declare class TURNCheck extends Checker {
3
- get description(): string;
4
- perform(): Promise<void>;
5
- }
6
- //# sourceMappingURL=turn.d.ts.map
1
+ import { Checker } from './Checker';
2
+ export declare class TURNCheck extends Checker {
3
+ get description(): string;
4
+ perform(): Promise<void>;
5
+ }
6
+ //# sourceMappingURL=turn.d.ts.map
@@ -1,6 +1,6 @@
1
- import { Checker } from './Checker';
2
- export declare class WebRTCCheck extends Checker {
3
- get description(): string;
4
- protected perform(): Promise<void>;
5
- }
6
- //# sourceMappingURL=webrtc.d.ts.map
1
+ import { Checker } from './Checker';
2
+ export declare class WebRTCCheck extends Checker {
3
+ get description(): string;
4
+ protected perform(): Promise<void>;
5
+ }
6
+ //# sourceMappingURL=webrtc.d.ts.map
@@ -1,6 +1,6 @@
1
- import { Checker } from './Checker';
2
- export declare class WebSocketCheck extends Checker {
3
- get description(): string;
4
- protected perform(): Promise<void>;
5
- }
6
- //# sourceMappingURL=websocket.d.ts.map
1
+ import { Checker } from './Checker';
2
+ export declare class WebSocketCheck extends Checker {
3
+ get description(): string;
4
+ protected perform(): Promise<void>;
5
+ }
6
+ //# sourceMappingURL=websocket.d.ts.map
@@ -1,85 +1,111 @@
1
- import type TypedEventEmitter from 'typed-emitter';
2
- import type RTCEngine from '../room/RTCEngine';
3
- import type Room from '../room/Room';
4
- import type { NonSharedUint8Array } from '../type-polyfills/non-shared-typed-arrays';
5
- import type { E2EEManagerCallbacks } from './events';
6
- import type { DecryptDataResponseMessage, E2EEManagerOptions, EncryptDataResponseMessage } from './types';
7
- export interface BaseE2EEManager {
8
- setup(room: Room): void;
9
- setupEngine(engine: RTCEngine): void;
10
- isEnabled: boolean;
11
- isDataChannelEncryptionEnabled: boolean;
12
- setParticipantCryptorEnabled(enabled: boolean, participantIdentity: string): void;
13
- setSifTrailer(trailer: NonSharedUint8Array): void;
14
- encryptData(data: NonSharedUint8Array): Promise<EncryptDataResponseMessage['data']>;
15
- handleEncryptedData(payload: NonSharedUint8Array, iv: NonSharedUint8Array, participantIdentity: string, keyIndex: number): Promise<DecryptDataResponseMessage['data']>;
16
- on<E extends keyof E2EEManagerCallbacks>(event: E, listener: E2EEManagerCallbacks[E]): this;
17
- }
18
- declare const E2EEManager_base: new () => TypedEventEmitter<E2EEManagerCallbacks>;
19
- /**
20
- * @experimental
21
- */
22
- export declare class E2EEManager extends E2EEManager_base implements BaseE2EEManager {
23
- protected worker: Worker;
24
- protected room?: Room;
25
- private encryptionEnabled;
26
- private keyProvider;
27
- private decryptDataRequests;
28
- private encryptDataRequests;
29
- private dataChannelEncryptionEnabled;
30
- constructor(options: E2EEManagerOptions, dcEncryptionEnabled: boolean);
31
- get isEnabled(): boolean;
32
- get isDataChannelEncryptionEnabled(): boolean;
33
- /**
34
- * @internal
35
- */
36
- setup(room: Room): void;
37
- /**
38
- * @internal
39
- */
40
- setParticipantCryptorEnabled(enabled: boolean, participantIdentity: string): void;
41
- /**
42
- * @internal
43
- */
44
- setSifTrailer(trailer: NonSharedUint8Array): void;
45
- private onWorkerMessage;
46
- private onWorkerError;
47
- private handleFrameMetadata;
48
- setupEngine(engine: RTCEngine): void;
49
- private setupEventListeners;
50
- encryptData(data: NonSharedUint8Array): Promise<EncryptDataResponseMessage['data']>;
51
- handleEncryptedData(payload: NonSharedUint8Array, iv: NonSharedUint8Array, participantIdentity: string, keyIndex: number): Promise<{
52
- uuid: string;
53
- payload: NonSharedUint8Array;
54
- } & {
55
- readonly __throws?: Error | undefined;
56
- }>;
57
- private postRatchetRequest;
58
- private postKey;
59
- private postEnable;
60
- private postRTPMap;
61
- private postSifTrailer;
62
- /**
63
- * Derive the participant's encryption state from one of its publications.
64
- * Publications without trackInfo are skipped rather than thrown on: throwing
65
- * inside the forEach above would leave every remaining participant without an
66
- * encryption state, and a cryptor with unknown state can no longer decrypt.
67
- */
68
- private setParticipantCryptorEnabledForPublication;
69
- private setupE2EEReceiver;
70
- private setupE2EESender;
71
- /**
72
- * Handles the given {@code RTCRtpReceiver} by creating a {@code TransformStream} which will inject
73
- * a frame decoder.
74
- *
75
- */
76
- private handleReceiver;
77
- /**
78
- * Handles the given {@code RTCRtpSender} by creating a {@code TransformStream} which will inject
79
- * a frame encoder.
80
- *
81
- */
82
- private handleSender;
83
- }
84
- export {};
85
- //# sourceMappingURL=E2eeManager.d.ts.map
1
+ import type TypedEventEmitter from 'typed-emitter';
2
+ import type RTCEngine from '../room/RTCEngine';
3
+ import type Room from '../room/Room';
4
+ import type { NonSharedUint8Array } from '../type-polyfills/non-shared-typed-arrays';
5
+ import type { E2EEManagerCallbacks } from './events';
6
+ import type { DecryptDataResponseMessage, E2EEManagerOptions, EncryptDataResponseMessage } from './types';
7
+ export interface BaseE2EEManager {
8
+ setup(room: Room): void;
9
+ setupEngine(engine: RTCEngine): void;
10
+ isEnabled: boolean;
11
+ isDataChannelEncryptionEnabled: boolean;
12
+ setParticipantCryptorEnabled(enabled: boolean, participantIdentity: string): void;
13
+ setSifTrailer(trailer: NonSharedUint8Array): void;
14
+ encryptData(data: NonSharedUint8Array): Promise<EncryptDataResponseMessage['data']>;
15
+ handleEncryptedData(payload: NonSharedUint8Array, iv: NonSharedUint8Array, participantIdentity: string, keyIndex: number): Promise<DecryptDataResponseMessage['data']>;
16
+ on<E extends keyof E2EEManagerCallbacks>(event: E, listener: E2EEManagerCallbacks[E]): this;
17
+ dispose?(): void;
18
+ }
19
+ declare const E2EEManager_base: new () => TypedEventEmitter<E2EEManagerCallbacks>;
20
+ /**
21
+ * @experimental
22
+ */
23
+ export declare class E2EEManager extends E2EEManager_base implements BaseE2EEManager {
24
+ protected worker: Worker;
25
+ protected room?: Room;
26
+ private encryptionEnabled;
27
+ private keyProvider;
28
+ private decryptDataRequests;
29
+ private encryptDataRequests;
30
+ private dataChannelEncryptionEnabled;
31
+ private unsubscribeLogLevel?;
32
+ private log;
33
+ get logContext(): {
34
+ room: string | undefined;
35
+ participant: string | undefined;
36
+ };
37
+ /**
38
+ * Runs a cleanup callback once this manager is garbage collected. Lets the
39
+ * log-level listener (held in a module-global Set on the main-thread logger)
40
+ * fall out of scope even when the consumer forgets to call `dispose()`.
41
+ */
42
+ private static disposeRegistry;
43
+ constructor(options: E2EEManagerOptions, dcEncryptionEnabled: boolean);
44
+ get isEnabled(): boolean;
45
+ get isDataChannelEncryptionEnabled(): boolean;
46
+ /**
47
+ * @internal
48
+ */
49
+ setup(room: Room): void;
50
+ /**
51
+ * Subscribe the current worker to main-thread `workerLogger` level changes,
52
+ * without strongly retaining `this` or `this.worker` from the module-global
53
+ * listener Set on the logger. See {@link disposeRegistry}.
54
+ */
55
+ private subscribeToLogLevelChanges;
56
+ /**
57
+ * @internal
58
+ * Release the log-level subscription, reject any pending encrypt/decrypt
59
+ * futures, and detach the worker message handlers. The worker itself is
60
+ * caller-owned and is not terminated. Idempotent.
61
+ */
62
+ dispose(): void;
63
+ /**
64
+ * @internal
65
+ */
66
+ setParticipantCryptorEnabled(enabled: boolean, participantIdentity: string): void;
67
+ /**
68
+ * @internal
69
+ */
70
+ setSifTrailer(trailer: NonSharedUint8Array): void;
71
+ private onWorkerMessage;
72
+ private onWorkerError;
73
+ private handleFrameMetadata;
74
+ setupEngine(engine: RTCEngine): void;
75
+ private setupEventListeners;
76
+ encryptData(data: NonSharedUint8Array): Promise<EncryptDataResponseMessage['data']>;
77
+ handleEncryptedData(payload: NonSharedUint8Array, iv: NonSharedUint8Array, participantIdentity: string, keyIndex: number): Promise<{
78
+ uuid: string;
79
+ payload: NonSharedUint8Array;
80
+ } & {
81
+ readonly __throws?: Error | undefined;
82
+ }>;
83
+ private postRatchetRequest;
84
+ private postKey;
85
+ private postEnable;
86
+ private postRTPMap;
87
+ private postSifTrailer;
88
+ /**
89
+ * Derive the participant's encryption state from one of its publications.
90
+ * Publications without trackInfo are skipped rather than thrown on: throwing
91
+ * inside the forEach above would leave every remaining participant without an
92
+ * encryption state, and a cryptor with unknown state can no longer decrypt.
93
+ */
94
+ private setParticipantCryptorEnabledForPublication;
95
+ private setupE2EEReceiver;
96
+ private setupE2EESender;
97
+ /**
98
+ * Handles the given {@code RTCRtpReceiver} by creating a {@code TransformStream} which will inject
99
+ * a frame decoder.
100
+ *
101
+ */
102
+ private handleReceiver;
103
+ /**
104
+ * Handles the given {@code RTCRtpSender} by creating a {@code TransformStream} which will inject
105
+ * a frame encoder.
106
+ *
107
+ */
108
+ private handleSender;
109
+ }
110
+ export {};
111
+ //# sourceMappingURL=E2eeManager.d.ts.map