@abrar71/lib-jitsi-meet 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (350) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +26 -0
  3. package/dist/esm/JitsiConference.js +3692 -0
  4. package/dist/esm/JitsiConference.js.map +1 -0
  5. package/dist/esm/JitsiConferenceErrors.js +126 -0
  6. package/dist/esm/JitsiConferenceErrors.js.map +1 -0
  7. package/dist/esm/JitsiConferenceEventManager.js +424 -0
  8. package/dist/esm/JitsiConferenceEventManager.js.map +1 -0
  9. package/dist/esm/JitsiConferenceEvents.js +431 -0
  10. package/dist/esm/JitsiConferenceEvents.js.map +1 -0
  11. package/dist/esm/JitsiConnection.js +187 -0
  12. package/dist/esm/JitsiConnection.js.map +1 -0
  13. package/dist/esm/JitsiConnectionErrors.js +52 -0
  14. package/dist/esm/JitsiConnectionErrors.js.map +1 -0
  15. package/dist/esm/JitsiConnectionEvents.js +57 -0
  16. package/dist/esm/JitsiConnectionEvents.js.map +1 -0
  17. package/dist/esm/JitsiMediaDevices.js +221 -0
  18. package/dist/esm/JitsiMediaDevices.js.map +1 -0
  19. package/dist/esm/JitsiMediaDevicesEvents.js +29 -0
  20. package/dist/esm/JitsiMediaDevicesEvents.js.map +1 -0
  21. package/dist/esm/JitsiMeetJS.js +499 -0
  22. package/dist/esm/JitsiMeetJS.js.map +1 -0
  23. package/dist/esm/JitsiParticipant.js +323 -0
  24. package/dist/esm/JitsiParticipant.js.map +1 -0
  25. package/dist/esm/JitsiTrackError.js +122 -0
  26. package/dist/esm/JitsiTrackError.js.map +1 -0
  27. package/dist/esm/JitsiTrackErrors.js +91 -0
  28. package/dist/esm/JitsiTrackErrors.js.map +1 -0
  29. package/dist/esm/JitsiTrackEvents.js +60 -0
  30. package/dist/esm/JitsiTrackEvents.js.map +1 -0
  31. package/dist/esm/JitsiTranscriptionStatus.js +15 -0
  32. package/dist/esm/JitsiTranscriptionStatus.js.map +1 -0
  33. package/dist/esm/modules/RTC/BridgeChannel.js +398 -0
  34. package/dist/esm/modules/RTC/BridgeChannel.js.map +1 -0
  35. package/dist/esm/modules/RTC/JitsiLocalTrack.js +896 -0
  36. package/dist/esm/modules/RTC/JitsiLocalTrack.js.map +1 -0
  37. package/dist/esm/modules/RTC/JitsiRemoteTrack.js +427 -0
  38. package/dist/esm/modules/RTC/JitsiRemoteTrack.js.map +1 -0
  39. package/dist/esm/modules/RTC/JitsiTrack.js +453 -0
  40. package/dist/esm/modules/RTC/JitsiTrack.js.map +1 -0
  41. package/dist/esm/modules/RTC/MockClasses.js +388 -0
  42. package/dist/esm/modules/RTC/MockClasses.js.map +1 -0
  43. package/dist/esm/modules/RTC/RTC.js +658 -0
  44. package/dist/esm/modules/RTC/RTC.js.map +1 -0
  45. package/dist/esm/modules/RTC/RTCUtils.js +762 -0
  46. package/dist/esm/modules/RTC/RTCUtils.js.map +1 -0
  47. package/dist/esm/modules/RTC/ScreenObtainer.js +380 -0
  48. package/dist/esm/modules/RTC/ScreenObtainer.js.map +1 -0
  49. package/dist/esm/modules/RTC/TPCUtils.js +803 -0
  50. package/dist/esm/modules/RTC/TPCUtils.js.map +1 -0
  51. package/dist/esm/modules/RTC/TraceablePeerConnection.js +2223 -0
  52. package/dist/esm/modules/RTC/TraceablePeerConnection.js.map +1 -0
  53. package/dist/esm/modules/RTCStats/DefaulLogStorage.js +35 -0
  54. package/dist/esm/modules/RTCStats/DefaulLogStorage.js.map +1 -0
  55. package/dist/esm/modules/RTCStats/RTCStats.js +219 -0
  56. package/dist/esm/modules/RTCStats/RTCStats.js.map +1 -0
  57. package/dist/esm/modules/RTCStats/RTCStatsEvents.js +92 -0
  58. package/dist/esm/modules/RTCStats/RTCStatsEvents.js.map +1 -0
  59. package/dist/esm/modules/RTCStats/interfaces.js +2 -0
  60. package/dist/esm/modules/RTCStats/interfaces.js.map +1 -0
  61. package/dist/esm/modules/browser/BrowserCapabilities.js +345 -0
  62. package/dist/esm/modules/browser/BrowserCapabilities.js.map +1 -0
  63. package/dist/esm/modules/browser/index.js +3 -0
  64. package/dist/esm/modules/browser/index.js.map +1 -0
  65. package/dist/esm/modules/connectivity/ConnectionQuality.js +389 -0
  66. package/dist/esm/modules/connectivity/ConnectionQuality.js.map +1 -0
  67. package/dist/esm/modules/connectivity/IceFailedHandling.js +84 -0
  68. package/dist/esm/modules/connectivity/IceFailedHandling.js.map +1 -0
  69. package/dist/esm/modules/connectivity/NetworkInfo.js +49 -0
  70. package/dist/esm/modules/connectivity/NetworkInfo.js.map +1 -0
  71. package/dist/esm/modules/connectivity/TrackStreamingStatus.js +453 -0
  72. package/dist/esm/modules/connectivity/TrackStreamingStatus.js.map +1 -0
  73. package/dist/esm/modules/detection/ActiveDeviceDetector.js +79 -0
  74. package/dist/esm/modules/detection/ActiveDeviceDetector.js.map +1 -0
  75. package/dist/esm/modules/detection/DetectionEvents.js +58 -0
  76. package/dist/esm/modules/detection/DetectionEvents.js.map +1 -0
  77. package/dist/esm/modules/detection/NoAudioSignalDetection.js +127 -0
  78. package/dist/esm/modules/detection/NoAudioSignalDetection.js.map +1 -0
  79. package/dist/esm/modules/detection/P2PDominantSpeakerDetection.js +47 -0
  80. package/dist/esm/modules/detection/P2PDominantSpeakerDetection.js.map +1 -0
  81. package/dist/esm/modules/detection/TrackVADEmitter.js +190 -0
  82. package/dist/esm/modules/detection/TrackVADEmitter.js.map +1 -0
  83. package/dist/esm/modules/detection/VADAudioAnalyser.js +199 -0
  84. package/dist/esm/modules/detection/VADAudioAnalyser.js.map +1 -0
  85. package/dist/esm/modules/detection/VADNoiseDetection.js +168 -0
  86. package/dist/esm/modules/detection/VADNoiseDetection.js.map +1 -0
  87. package/dist/esm/modules/detection/VADReportingService.js +203 -0
  88. package/dist/esm/modules/detection/VADReportingService.js.map +1 -0
  89. package/dist/esm/modules/detection/VADTalkMutedDetection.js +131 -0
  90. package/dist/esm/modules/detection/VADTalkMutedDetection.js.map +1 -0
  91. package/dist/esm/modules/e2ee/Context.js +274 -0
  92. package/dist/esm/modules/e2ee/Context.js.map +1 -0
  93. package/dist/esm/modules/e2ee/E2EEContext.js +158 -0
  94. package/dist/esm/modules/e2ee/E2EEContext.js.map +1 -0
  95. package/dist/esm/modules/e2ee/E2EEErrors.js +10 -0
  96. package/dist/esm/modules/e2ee/E2EEErrors.js.map +1 -0
  97. package/dist/esm/modules/e2ee/E2EEncryption.js +87 -0
  98. package/dist/esm/modules/e2ee/E2EEncryption.js.map +1 -0
  99. package/dist/esm/modules/e2ee/ExternallyManagedKeyHandler.js +24 -0
  100. package/dist/esm/modules/e2ee/ExternallyManagedKeyHandler.js.map +1 -0
  101. package/dist/esm/modules/e2ee/KeyHandler.js +137 -0
  102. package/dist/esm/modules/e2ee/KeyHandler.js.map +1 -0
  103. package/dist/esm/modules/e2ee/ManagedKeyHandler.js +182 -0
  104. package/dist/esm/modules/e2ee/ManagedKeyHandler.js.map +1 -0
  105. package/dist/esm/modules/e2ee/OlmAdapter.js +860 -0
  106. package/dist/esm/modules/e2ee/OlmAdapter.js.map +1 -0
  107. package/dist/esm/modules/e2ee/SAS.js +128 -0
  108. package/dist/esm/modules/e2ee/SAS.js.map +1 -0
  109. package/dist/esm/modules/e2ee/Worker.js +102 -0
  110. package/dist/esm/modules/e2ee/Worker.js.map +1 -0
  111. package/dist/esm/modules/e2ee/crypto-utils.js +53 -0
  112. package/dist/esm/modules/e2ee/crypto-utils.js.map +1 -0
  113. package/dist/esm/modules/e2ee/utils.js +15 -0
  114. package/dist/esm/modules/e2ee/utils.js.map +1 -0
  115. package/dist/esm/modules/e2eping/e2eping.js +314 -0
  116. package/dist/esm/modules/e2eping/e2eping.js.map +1 -0
  117. package/dist/esm/modules/flags/FeatureFlags.js +36 -0
  118. package/dist/esm/modules/flags/FeatureFlags.js.map +1 -0
  119. package/dist/esm/modules/litemode/LiteModeContext.js +50 -0
  120. package/dist/esm/modules/litemode/LiteModeContext.js.map +1 -0
  121. package/dist/esm/modules/proxyconnection/CustomSignalingLayer.js +98 -0
  122. package/dist/esm/modules/proxyconnection/CustomSignalingLayer.js.map +1 -0
  123. package/dist/esm/modules/proxyconnection/ProxyConnectionPC.js +348 -0
  124. package/dist/esm/modules/proxyconnection/ProxyConnectionPC.js.map +1 -0
  125. package/dist/esm/modules/proxyconnection/ProxyConnectionService.js +279 -0
  126. package/dist/esm/modules/proxyconnection/ProxyConnectionService.js.map +1 -0
  127. package/dist/esm/modules/proxyconnection/constants.js +14 -0
  128. package/dist/esm/modules/proxyconnection/constants.js.map +1 -0
  129. package/dist/esm/modules/qualitycontrol/CodecSelection.js +222 -0
  130. package/dist/esm/modules/qualitycontrol/CodecSelection.js.map +1 -0
  131. package/dist/esm/modules/qualitycontrol/MockClasses.js +120 -0
  132. package/dist/esm/modules/qualitycontrol/MockClasses.js.map +1 -0
  133. package/dist/esm/modules/qualitycontrol/QualityController.js +366 -0
  134. package/dist/esm/modules/qualitycontrol/QualityController.js.map +1 -0
  135. package/dist/esm/modules/qualitycontrol/ReceiveAudioController.js +73 -0
  136. package/dist/esm/modules/qualitycontrol/ReceiveAudioController.js.map +1 -0
  137. package/dist/esm/modules/qualitycontrol/ReceiveVideoController.js +216 -0
  138. package/dist/esm/modules/qualitycontrol/ReceiveVideoController.js.map +1 -0
  139. package/dist/esm/modules/qualitycontrol/SendVideoController.js +133 -0
  140. package/dist/esm/modules/qualitycontrol/SendVideoController.js.map +1 -0
  141. package/dist/esm/modules/recording/JibriSession.js +279 -0
  142. package/dist/esm/modules/recording/JibriSession.js.map +1 -0
  143. package/dist/esm/modules/recording/RecordingManager.js +257 -0
  144. package/dist/esm/modules/recording/RecordingManager.js.map +1 -0
  145. package/dist/esm/modules/recording/recordingConstants.js +21 -0
  146. package/dist/esm/modules/recording/recordingConstants.js.map +1 -0
  147. package/dist/esm/modules/recording/recordingXMLUtils.js +69 -0
  148. package/dist/esm/modules/recording/recordingXMLUtils.js.map +1 -0
  149. package/dist/esm/modules/red/red.js +108 -0
  150. package/dist/esm/modules/red/red.js.map +1 -0
  151. package/dist/esm/modules/sdp/LocalSdpMunger.js +143 -0
  152. package/dist/esm/modules/sdp/LocalSdpMunger.js.map +1 -0
  153. package/dist/esm/modules/sdp/RtxModifier.js +179 -0
  154. package/dist/esm/modules/sdp/RtxModifier.js.map +1 -0
  155. package/dist/esm/modules/sdp/SDP.js +848 -0
  156. package/dist/esm/modules/sdp/SDP.js.map +1 -0
  157. package/dist/esm/modules/sdp/SDPDiffer.js +96 -0
  158. package/dist/esm/modules/sdp/SDPDiffer.js.map +1 -0
  159. package/dist/esm/modules/sdp/SDPUtil.js +798 -0
  160. package/dist/esm/modules/sdp/SDPUtil.js.map +1 -0
  161. package/dist/esm/modules/sdp/SampleSdpStrings.js +589 -0
  162. package/dist/esm/modules/sdp/SampleSdpStrings.js.map +1 -0
  163. package/dist/esm/modules/sdp/SdpSimulcast.js +196 -0
  164. package/dist/esm/modules/sdp/SdpSimulcast.js.map +1 -0
  165. package/dist/esm/modules/sdp/SdpTransformUtil.js +337 -0
  166. package/dist/esm/modules/sdp/SdpTransformUtil.js.map +1 -0
  167. package/dist/esm/modules/sdp/constants.js +2 -0
  168. package/dist/esm/modules/sdp/constants.js.map +1 -0
  169. package/dist/esm/modules/settings/Settings.js +95 -0
  170. package/dist/esm/modules/settings/Settings.js.map +1 -0
  171. package/dist/esm/modules/statistics/AnalyticsAdapter.js +277 -0
  172. package/dist/esm/modules/statistics/AnalyticsAdapter.js.map +1 -0
  173. package/dist/esm/modules/statistics/AvgRTPStatsReporter.js +817 -0
  174. package/dist/esm/modules/statistics/AvgRTPStatsReporter.js.map +1 -0
  175. package/dist/esm/modules/statistics/LocalStatsCollector.js +149 -0
  176. package/dist/esm/modules/statistics/LocalStatsCollector.js.map +1 -0
  177. package/dist/esm/modules/statistics/PreCallTest.js +15 -0
  178. package/dist/esm/modules/statistics/PreCallTest.js.map +1 -0
  179. package/dist/esm/modules/statistics/RTPStatsCollector.js +601 -0
  180. package/dist/esm/modules/statistics/RTPStatsCollector.js.map +1 -0
  181. package/dist/esm/modules/statistics/SpeakerStats.js +163 -0
  182. package/dist/esm/modules/statistics/SpeakerStats.js.map +1 -0
  183. package/dist/esm/modules/statistics/SpeakerStatsCollector.js +161 -0
  184. package/dist/esm/modules/statistics/SpeakerStatsCollector.js.map +1 -0
  185. package/dist/esm/modules/statistics/constants.js +7 -0
  186. package/dist/esm/modules/statistics/constants.js.map +1 -0
  187. package/dist/esm/modules/statistics/statistics.js +362 -0
  188. package/dist/esm/modules/statistics/statistics.js.map +1 -0
  189. package/dist/esm/modules/util/AsyncQueue.js +102 -0
  190. package/dist/esm/modules/util/AsyncQueue.js.map +1 -0
  191. package/dist/esm/modules/util/Deferred.js +41 -0
  192. package/dist/esm/modules/util/Deferred.js.map +1 -0
  193. package/dist/esm/modules/util/EventEmitter.js +17 -0
  194. package/dist/esm/modules/util/EventEmitter.js.map +1 -0
  195. package/dist/esm/modules/util/EventEmitterForwarder.js +52 -0
  196. package/dist/esm/modules/util/EventEmitterForwarder.js.map +1 -0
  197. package/dist/esm/modules/util/Listenable.js +106 -0
  198. package/dist/esm/modules/util/Listenable.js.map +1 -0
  199. package/dist/esm/modules/util/MathUtil.js +103 -0
  200. package/dist/esm/modules/util/MathUtil.js.map +1 -0
  201. package/dist/esm/modules/util/RandomUtil.js +66 -0
  202. package/dist/esm/modules/util/RandomUtil.js.map +1 -0
  203. package/dist/esm/modules/util/Retry.js +15 -0
  204. package/dist/esm/modules/util/Retry.js.map +1 -0
  205. package/dist/esm/modules/util/ScriptUtil.js +58 -0
  206. package/dist/esm/modules/util/ScriptUtil.js.map +1 -0
  207. package/dist/esm/modules/util/StringUtils.js +21 -0
  208. package/dist/esm/modules/util/StringUtils.js.map +1 -0
  209. package/dist/esm/modules/util/TestUtils.js +14 -0
  210. package/dist/esm/modules/util/TestUtils.js.map +1 -0
  211. package/dist/esm/modules/util/UsernameGenerator.js +436 -0
  212. package/dist/esm/modules/util/UsernameGenerator.js.map +1 -0
  213. package/dist/esm/modules/util/XMLUtils.js +135 -0
  214. package/dist/esm/modules/util/XMLUtils.js.map +1 -0
  215. package/dist/esm/modules/version/ComponentsVersions.js +52 -0
  216. package/dist/esm/modules/version/ComponentsVersions.js.map +1 -0
  217. package/dist/esm/modules/videosipgw/JitsiVideoSIPGWSession.js +137 -0
  218. package/dist/esm/modules/videosipgw/JitsiVideoSIPGWSession.js.map +1 -0
  219. package/dist/esm/modules/videosipgw/VideoSIPGW.js +102 -0
  220. package/dist/esm/modules/videosipgw/VideoSIPGW.js.map +1 -0
  221. package/dist/esm/modules/videosipgw/VideoSIPGWConstants.js +65 -0
  222. package/dist/esm/modules/videosipgw/VideoSIPGWConstants.js.map +1 -0
  223. package/dist/esm/modules/watchRTC/WatchRTC.js +69 -0
  224. package/dist/esm/modules/watchRTC/WatchRTC.js.map +1 -0
  225. package/dist/esm/modules/watchRTC/functions.js +31 -0
  226. package/dist/esm/modules/watchRTC/functions.js.map +1 -0
  227. package/dist/esm/modules/watchRTC/interfaces.js +2 -0
  228. package/dist/esm/modules/watchRTC/interfaces.js.map +1 -0
  229. package/dist/esm/modules/webaudio/AudioMixer.js +74 -0
  230. package/dist/esm/modules/webaudio/AudioMixer.js.map +1 -0
  231. package/dist/esm/modules/webaudio/WebAudioUtils.js +13 -0
  232. package/dist/esm/modules/webaudio/WebAudioUtils.js.map +1 -0
  233. package/dist/esm/modules/xmpp/AVModeration.js +156 -0
  234. package/dist/esm/modules/xmpp/AVModeration.js.map +1 -0
  235. package/dist/esm/modules/xmpp/BreakoutRooms.js +230 -0
  236. package/dist/esm/modules/xmpp/BreakoutRooms.js.map +1 -0
  237. package/dist/esm/modules/xmpp/Caps.js +223 -0
  238. package/dist/esm/modules/xmpp/Caps.js.map +1 -0
  239. package/dist/esm/modules/xmpp/ChatRoom.js +1877 -0
  240. package/dist/esm/modules/xmpp/ChatRoom.js.map +1 -0
  241. package/dist/esm/modules/xmpp/ConnectionPlugin.js +37 -0
  242. package/dist/esm/modules/xmpp/ConnectionPlugin.js.map +1 -0
  243. package/dist/esm/modules/xmpp/FileSharing.js +95 -0
  244. package/dist/esm/modules/xmpp/FileSharing.js.map +1 -0
  245. package/dist/esm/modules/xmpp/JingleHelperFunctions.js +168 -0
  246. package/dist/esm/modules/xmpp/JingleHelperFunctions.js.map +1 -0
  247. package/dist/esm/modules/xmpp/JingleSession.js +166 -0
  248. package/dist/esm/modules/xmpp/JingleSession.js.map +1 -0
  249. package/dist/esm/modules/xmpp/JingleSessionPC.js +1969 -0
  250. package/dist/esm/modules/xmpp/JingleSessionPC.js.map +1 -0
  251. package/dist/esm/modules/xmpp/JingleSessionState.js +23 -0
  252. package/dist/esm/modules/xmpp/JingleSessionState.js.map +1 -0
  253. package/dist/esm/modules/xmpp/Lobby.js +384 -0
  254. package/dist/esm/modules/xmpp/Lobby.js.map +1 -0
  255. package/dist/esm/modules/xmpp/MediaSessionEvents.js +12 -0
  256. package/dist/esm/modules/xmpp/MediaSessionEvents.js.map +1 -0
  257. package/dist/esm/modules/xmpp/MockClasses.js +77 -0
  258. package/dist/esm/modules/xmpp/MockClasses.js.map +1 -0
  259. package/dist/esm/modules/xmpp/Polls.js +87 -0
  260. package/dist/esm/modules/xmpp/Polls.js.map +1 -0
  261. package/dist/esm/modules/xmpp/ResumeTask.js +149 -0
  262. package/dist/esm/modules/xmpp/ResumeTask.js.map +1 -0
  263. package/dist/esm/modules/xmpp/RoomMetadata.js +96 -0
  264. package/dist/esm/modules/xmpp/RoomMetadata.js.map +1 -0
  265. package/dist/esm/modules/xmpp/SignalingLayerImpl.js +313 -0
  266. package/dist/esm/modules/xmpp/SignalingLayerImpl.js.map +1 -0
  267. package/dist/esm/modules/xmpp/StropheErrorHandler.js +53 -0
  268. package/dist/esm/modules/xmpp/StropheErrorHandler.js.map +1 -0
  269. package/dist/esm/modules/xmpp/StropheLastSuccess.js +52 -0
  270. package/dist/esm/modules/xmpp/StropheLastSuccess.js.map +1 -0
  271. package/dist/esm/modules/xmpp/XmppConnection.js +579 -0
  272. package/dist/esm/modules/xmpp/XmppConnection.js.map +1 -0
  273. package/dist/esm/modules/xmpp/moderator.js +524 -0
  274. package/dist/esm/modules/xmpp/moderator.js.map +1 -0
  275. package/dist/esm/modules/xmpp/sha1.js +165 -0
  276. package/dist/esm/modules/xmpp/sha1.js.map +1 -0
  277. package/dist/esm/modules/xmpp/strophe.disco.js +222 -0
  278. package/dist/esm/modules/xmpp/strophe.disco.js.map +1 -0
  279. package/dist/esm/modules/xmpp/strophe.emuc.js +206 -0
  280. package/dist/esm/modules/xmpp/strophe.emuc.js.map +1 -0
  281. package/dist/esm/modules/xmpp/strophe.jingle.js +404 -0
  282. package/dist/esm/modules/xmpp/strophe.jingle.js.map +1 -0
  283. package/dist/esm/modules/xmpp/strophe.logger.js +44 -0
  284. package/dist/esm/modules/xmpp/strophe.logger.js.map +1 -0
  285. package/dist/esm/modules/xmpp/strophe.ping.js +170 -0
  286. package/dist/esm/modules/xmpp/strophe.ping.js.map +1 -0
  287. package/dist/esm/modules/xmpp/strophe.rayo.js +117 -0
  288. package/dist/esm/modules/xmpp/strophe.rayo.js.map +1 -0
  289. package/dist/esm/modules/xmpp/strophe.stream-management.js +365 -0
  290. package/dist/esm/modules/xmpp/strophe.stream-management.js.map +1 -0
  291. package/dist/esm/modules/xmpp/strophe.util.js +116 -0
  292. package/dist/esm/modules/xmpp/strophe.util.js.map +1 -0
  293. package/dist/esm/modules/xmpp/xmpp.js +973 -0
  294. package/dist/esm/modules/xmpp/xmpp.js.map +1 -0
  295. package/dist/esm/service/RTC/BridgeVideoType.js +24 -0
  296. package/dist/esm/service/RTC/BridgeVideoType.js.map +1 -0
  297. package/dist/esm/service/RTC/CameraFacingMode.js +21 -0
  298. package/dist/esm/service/RTC/CameraFacingMode.js.map +1 -0
  299. package/dist/esm/service/RTC/CodecMimeType.js +36 -0
  300. package/dist/esm/service/RTC/CodecMimeType.js.map +1 -0
  301. package/dist/esm/service/RTC/MediaDirection.js +23 -0
  302. package/dist/esm/service/RTC/MediaDirection.js.map +1 -0
  303. package/dist/esm/service/RTC/MediaType.js +20 -0
  304. package/dist/esm/service/RTC/MediaType.js.map +1 -0
  305. package/dist/esm/service/RTC/RTCEvents.js +111 -0
  306. package/dist/esm/service/RTC/RTCEvents.js.map +1 -0
  307. package/dist/esm/service/RTC/ReceiverAudioSubscription.js +27 -0
  308. package/dist/esm/service/RTC/ReceiverAudioSubscription.js.map +1 -0
  309. package/dist/esm/service/RTC/Resolutions.js +56 -0
  310. package/dist/esm/service/RTC/Resolutions.js.map +1 -0
  311. package/dist/esm/service/RTC/SignalingEvents.js +42 -0
  312. package/dist/esm/service/RTC/SignalingEvents.js.map +1 -0
  313. package/dist/esm/service/RTC/SignalingLayer.js +153 -0
  314. package/dist/esm/service/RTC/SignalingLayer.js.map +1 -0
  315. package/dist/esm/service/RTC/StandardVideoQualitySettings.js +180 -0
  316. package/dist/esm/service/RTC/StandardVideoQualitySettings.js.map +1 -0
  317. package/dist/esm/service/RTC/VideoEncoderScalabilityMode.js +36 -0
  318. package/dist/esm/service/RTC/VideoEncoderScalabilityMode.js.map +1 -0
  319. package/dist/esm/service/RTC/VideoType.js +19 -0
  320. package/dist/esm/service/RTC/VideoType.js.map +1 -0
  321. package/dist/esm/service/authentication/AuthenticationEvents.js +13 -0
  322. package/dist/esm/service/authentication/AuthenticationEvents.js.map +1 -0
  323. package/dist/esm/service/connectivity/ConnectionQualityEvents.js +13 -0
  324. package/dist/esm/service/connectivity/ConnectionQualityEvents.js.map +1 -0
  325. package/dist/esm/service/connectivity/Constants.js +3 -0
  326. package/dist/esm/service/connectivity/Constants.js.map +1 -0
  327. package/dist/esm/service/e2eping/E2ePingEvents.js +8 -0
  328. package/dist/esm/service/e2eping/E2ePingEvents.js.map +1 -0
  329. package/dist/esm/service/statistics/AnalyticsEvents.js +521 -0
  330. package/dist/esm/service/statistics/AnalyticsEvents.js.map +1 -0
  331. package/dist/esm/service/statistics/Events.js +36 -0
  332. package/dist/esm/service/statistics/Events.js.map +1 -0
  333. package/dist/esm/service/statistics/constants.js +2 -0
  334. package/dist/esm/service/statistics/constants.js.map +1 -0
  335. package/dist/esm/service/xmpp/XMPPEvents.js +359 -0
  336. package/dist/esm/service/xmpp/XMPPEvents.js.map +1 -0
  337. package/dist/esm/service/xmpp/XMPPExtensioProtocols.js +64 -0
  338. package/dist/esm/service/xmpp/XMPPExtensioProtocols.js.map +1 -0
  339. package/dist/esm/test-setup-polyfill.js +34 -0
  340. package/dist/esm/test-setup-polyfill.js.map +1 -0
  341. package/dist/esm/tools/gen-version.js +15 -0
  342. package/dist/esm/tools/gen-version.js.map +1 -0
  343. package/dist/esm/version.js +3 -0
  344. package/dist/esm/version.js.map +1 -0
  345. package/dist/umd/lib-jitsi-meet.e2ee-worker.js +484 -0
  346. package/dist/umd/lib-jitsi-meet.min.js +3 -0
  347. package/dist/umd/lib-jitsi-meet.min.js.LICENSE.txt +18 -0
  348. package/dist/umd/lib-jitsi-meet.min.map +1 -0
  349. package/package.json +93 -0
  350. package/types/index.d.ts +16180 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OlmAdapter.js","sourceRoot":"","sources":["../../../../modules/e2ee/OlmAdapter.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,128 @@
1
+ /* eslint-disable no-bitwise */
2
+ /* eslint-disable no-mixed-operators */
3
+ /**
4
+ * Generates a SAS composed of decimal numbers.
5
+ * Borrowed from the Matrix JS SDK.
6
+ *
7
+ * @param {Uint8Array} sasBytes - The bytes from sas.generate_bytes.
8
+ * @returns Array<number>
9
+ */
10
+ function generateDecimalSas(sasBytes) {
11
+ /**
12
+ * +--------+--------+--------+--------+--------+
13
+ * | Byte 0 | Byte 1 | Byte 2 | Byte 3 | Byte 4 |
14
+ * +--------+--------+--------+--------+--------+
15
+ * bits: 87654321 87654321 87654321 87654321 87654321
16
+ * \____________/\_____________/\____________/
17
+ * 1st number 2nd number 3rd number
18
+ */
19
+ return [
20
+ (sasBytes[0] << 5 | sasBytes[1] >> 3) + 1000,
21
+ ((sasBytes[1] & 0x7) << 10 | sasBytes[2] << 2 | sasBytes[3] >> 6) + 1000,
22
+ ((sasBytes[3] & 0x3f) << 7 | sasBytes[4] >> 1) + 1000
23
+ ];
24
+ }
25
+ const emojiMapping = [
26
+ ['🐶', 'dog'],
27
+ ['🐱', 'cat'],
28
+ ['🦁', 'lion'],
29
+ ['🐎', 'horse'],
30
+ ['🦄', 'unicorn'],
31
+ ['🐷', 'pig'],
32
+ ['🐘', 'elephant'],
33
+ ['🐰', 'rabbit'],
34
+ ['🐼', 'panda'],
35
+ ['🐓', 'rooster'],
36
+ ['🐧', 'penguin'],
37
+ ['🐢', 'turtle'],
38
+ ['🐟', 'fish'],
39
+ ['🐙', 'octopus'],
40
+ ['🦋', 'butterfly'],
41
+ ['🌷', 'flower'],
42
+ ['🌳', 'tree'],
43
+ ['🌵', 'cactus'],
44
+ ['🍄', 'mushroom'],
45
+ ['🌏', 'globe'],
46
+ ['🌙', 'moon'],
47
+ ['☁️', 'cloud'],
48
+ ['🔥', 'fire'],
49
+ ['🍌', 'banana'],
50
+ ['🍎', 'apple'],
51
+ ['🍓', 'strawberry'],
52
+ ['🌽', 'corn'],
53
+ ['🍕', 'pizza'],
54
+ ['🎂', 'cake'],
55
+ ['❤️', 'heart'],
56
+ ['🙂', 'smiley'],
57
+ ['🤖', 'robot'],
58
+ ['🎩', 'hat'],
59
+ ['👓', 'glasses'],
60
+ ['🔧', 'spanner'],
61
+ ['🎅', 'santa'],
62
+ ['👍', 'thumbs up'],
63
+ ['☂️', 'umbrella'],
64
+ ['⌛', 'hourglass'],
65
+ ['⏰', 'clock'],
66
+ ['🎁', 'gift'],
67
+ ['💡', 'light bulb'],
68
+ ['📕', 'book'],
69
+ ['✏️', 'pencil'],
70
+ ['📎', 'paperclip'],
71
+ ['✂️', 'scissors'],
72
+ ['🔒', 'lock'],
73
+ ['🔑', 'key'],
74
+ ['🔨', 'hammer'],
75
+ ['☎️', 'telephone'],
76
+ ['🏁', 'flag'],
77
+ ['🚂', 'train'],
78
+ ['🚲', 'bicycle'],
79
+ ['✈️', 'aeroplane'],
80
+ ['🚀', 'rocket'],
81
+ ['🏆', 'trophy'],
82
+ ['⚽', 'ball'],
83
+ ['🎸', 'guitar'],
84
+ ['🎺', 'trumpet'],
85
+ ['🔔', 'bell'],
86
+ ['⚓️', 'anchor'],
87
+ ['🎧', 'headphones'],
88
+ ['📁', 'folder'],
89
+ ['📌', 'pin']
90
+ ];
91
+ /**
92
+ * Generates a SAS composed of defimal numbers.
93
+ * Borrowed from the Matrix JS SDK.
94
+ *
95
+ * @param {Uint8Array} sasBytes - The bytes from sas.generate_bytes.
96
+ * @returns Array<number>
97
+ */
98
+ function generateEmojiSas(sasBytes) {
99
+ // Just like base64.
100
+ const emojis = [
101
+ sasBytes[0] >> 2,
102
+ (sasBytes[0] & 0x3) << 4 | sasBytes[1] >> 4,
103
+ (sasBytes[1] & 0xf) << 2 | sasBytes[2] >> 6,
104
+ sasBytes[2] & 0x3f,
105
+ sasBytes[3] >> 2,
106
+ (sasBytes[3] & 0x3) << 4 | sasBytes[4] >> 4,
107
+ (sasBytes[4] & 0xf) << 2 | sasBytes[5] >> 6
108
+ ];
109
+ return emojis.map(num => emojiMapping[num]);
110
+ }
111
+ const sasGenerators = {
112
+ decimal: generateDecimalSas,
113
+ emoji: generateEmojiSas
114
+ };
115
+ /**
116
+ * Generates multiple SAS for the given bytes.
117
+ *
118
+ * @param {Uint8Array} sasBytes - The bytes from sas.generate_bytes.
119
+ * @returns {ISas}
120
+ */
121
+ export function generateSas(sasBytes) {
122
+ const sas = {};
123
+ Object.keys(sasGenerators).forEach(method => {
124
+ sas[method] = sasGenerators[method](sasBytes);
125
+ });
126
+ return sas;
127
+ }
128
+ //# sourceMappingURL=SAS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SAS.js","sourceRoot":"","sources":["../../../../modules/e2ee/SAS.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ /* eslint-disable no-bitwise */
2
+ // Worker for E2EE/Insertable streams.
3
+ import { Context } from './Context';
4
+ const contexts = new Map(); // Map participant id => context
5
+ let sharedContext;
6
+ let enabled = false;
7
+ /**
8
+ * Retrieves the participant {@code Context}, creating it if necessary.
9
+ *
10
+ * @param {string} participantId - The participant whose context we need.
11
+ * @returns {Object} The context.
12
+ */
13
+ function getParticipantContext(participantId) {
14
+ if (sharedContext) {
15
+ return sharedContext;
16
+ }
17
+ if (!contexts.has(participantId)) {
18
+ const context = new Context();
19
+ context.setEnabled(enabled);
20
+ contexts.set(participantId, context);
21
+ }
22
+ return contexts.get(participantId);
23
+ }
24
+ /**
25
+ * Sets an encode / decode transform.
26
+ *
27
+ * @param {Object} context - The participant context where the transform will be applied.
28
+ * @param {string} operation - Encode / decode.
29
+ * @param {Object} readableStream - Readable stream part.
30
+ * @param {Object} writableStream - Writable stream part.
31
+ */
32
+ function handleTransform(context, operation, readableStream, writableStream) {
33
+ if (operation === 'encode' || operation === 'decode') {
34
+ const transformFn = operation === 'encode' ? context.encodeFunction : context.decodeFunction;
35
+ const transformStream = new TransformStream({
36
+ transform: transformFn.bind(context)
37
+ });
38
+ readableStream
39
+ .pipeThrough(transformStream)
40
+ .pipeTo(writableStream);
41
+ }
42
+ else {
43
+ console.error(`Invalid operation: ${operation}`);
44
+ }
45
+ }
46
+ onmessage = (event) => {
47
+ const { operation } = event.data;
48
+ if (operation === 'initialize') {
49
+ const { sharedKey } = event.data;
50
+ if (sharedKey) {
51
+ sharedContext = new Context({ sharedKey });
52
+ }
53
+ }
54
+ else if (operation === 'encode' || operation === 'decode') {
55
+ const { readableStream, writableStream, participantId } = event.data;
56
+ if (!readableStream || !writableStream || !participantId) {
57
+ throw new Error('Missing required data: readableStream, writableStream, or participantId');
58
+ }
59
+ const context = getParticipantContext(participantId);
60
+ handleTransform(context, operation, readableStream, writableStream);
61
+ }
62
+ else if (operation === 'setEnabled') {
63
+ enabled = event.data.enabled;
64
+ contexts.forEach(context => context.setEnabled(enabled));
65
+ }
66
+ else if (operation === 'setKey') {
67
+ const { participantId, key, keyIndex } = event.data;
68
+ if (!participantId || keyIndex === undefined) {
69
+ throw new Error('Missing required data: participantId or keyIndex');
70
+ }
71
+ const context = getParticipantContext(participantId);
72
+ if (key) {
73
+ context.setKey(new Uint8Array(key), keyIndex);
74
+ }
75
+ else {
76
+ context.setKey(false, keyIndex);
77
+ }
78
+ }
79
+ else if (operation === 'cleanup') {
80
+ const { participantId } = event.data;
81
+ if (!participantId) {
82
+ throw new Error('Missing required data: participantId');
83
+ }
84
+ contexts.delete(participantId);
85
+ }
86
+ else if (operation === 'cleanupAll') {
87
+ contexts.clear();
88
+ }
89
+ else {
90
+ console.error('e2ee worker', operation);
91
+ }
92
+ };
93
+ // Operations using RTCRtpScriptTransform.
94
+ if (self.RTCTransformEvent) {
95
+ self.onrtctransform = (event) => {
96
+ const transformer = event.transformer;
97
+ const { operation, participantId } = transformer.options;
98
+ const context = getParticipantContext(participantId);
99
+ handleTransform(context, operation, transformer.readable, transformer.writable);
100
+ };
101
+ }
102
+ //# sourceMappingURL=Worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Worker.js","sourceRoot":"","sources":["../../../../modules/e2ee/Worker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Derives a set of keys from the master key.
3
+ * @param {CryptoKey} material - master key to derive from
4
+ *
5
+ * See https://tools.ietf.org/html/draft-omara-sframe-00#section-4.3.1
6
+ */
7
+ export async function deriveKeys(material) {
8
+ const info = new ArrayBuffer();
9
+ const textEncoder = new TextEncoder();
10
+ // https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/deriveKey#HKDF
11
+ // https://developer.mozilla.org/en-US/docs/Web/API/HkdfParams
12
+ const encryptionKey = await crypto.subtle.deriveKey({
13
+ hash: 'SHA-256',
14
+ info,
15
+ name: 'HKDF',
16
+ salt: textEncoder.encode('JFrameEncryptionKey')
17
+ }, material, {
18
+ length: 128,
19
+ name: 'AES-GCM'
20
+ }, false, ['encrypt', 'decrypt']);
21
+ return {
22
+ encryptionKey,
23
+ material
24
+ };
25
+ }
26
+ /**
27
+ * Ratchets a key. See
28
+ * https://tools.ietf.org/html/draft-omara-sframe-00#section-4.3.5.1
29
+ * @param {CryptoKey} material - base key material
30
+ * @returns {Promise<ArrayBuffer>} - ratcheted key material
31
+ */
32
+ export async function ratchet(material) {
33
+ const textEncoder = new TextEncoder();
34
+ // https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/deriveBits
35
+ return await crypto.subtle.deriveBits({
36
+ hash: 'SHA-256',
37
+ info: new ArrayBuffer(),
38
+ name: 'HKDF',
39
+ salt: textEncoder.encode('JFrameRatchetKey')
40
+ }, material, 256);
41
+ }
42
+ /**
43
+ * Converts a raw key into a WebCrypto key object with default options
44
+ * suitable for our usage.
45
+ * @param {ArrayBuffer} keyBytes - raw key
46
+ * @param {Array} keyUsages - key usages, see importKey documentation
47
+ * @returns {Promise<CryptoKey>} - the WebCrypto key.
48
+ */
49
+ export async function importKey(keyBytes) {
50
+ // https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/importKey
51
+ return await crypto.subtle.importKey('raw', keyBytes, 'HKDF', false, ['deriveBits', 'deriveKey']);
52
+ }
53
+ //# sourceMappingURL=crypto-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto-utils.js","sourceRoot":"","sources":["../../../../modules/e2ee/crypto-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,QAAmB;IAChD,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;IAEtC,+EAA+E;IAC/E,8DAA8D;IAC9D,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;QAChD,IAAI,EAAE,SAAS;QACf,IAAI;QACJ,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,qBAAqB,CAAC;KAClD,EAAE,QAAQ,EAAE;QACT,MAAM,EAAE,GAAG;QACX,IAAI,EAAE,SAAS;KAClB,EAAE,KAAK,EAAE,CAAE,SAAS,EAAE,SAAS,CAAE,CAAC,CAAC;IAEpC,OAAO;QACH,aAAa;QACb,QAAQ;KACX,CAAC;AACN,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,QAAmB;IAC7C,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;IAEtC,2EAA2E;IAC3E,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;QAClC,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,IAAI,WAAW,EAAE;QACvB,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,kBAAkB,CAAC;KAC/C,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;AACtB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,QAAqB;IACjD,0EAA0E;IAC1E,OAAO,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAE,YAAY,EAAE,WAAW,CAAE,CAAC,CAAC;AACxG,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Compares two byteArrays for equality.
3
+ */
4
+ export function isArrayEqual(a1, a2) {
5
+ if (a1.byteLength !== a2.byteLength) {
6
+ return false;
7
+ }
8
+ for (let i = 0; i < a1.byteLength; i++) {
9
+ if (a1[i] !== a2[i]) {
10
+ return false;
11
+ }
12
+ }
13
+ return true;
14
+ }
15
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../modules/e2ee/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,EAAc,EAAE,EAAc;IACvD,IAAI,EAAE,CAAC,UAAU,KAAK,EAAE,CAAC,UAAU,EAAE,CAAC;QAClC,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClB,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC"}