@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":"Settings.js","sourceRoot":"","sources":["../../../../modules/settings/Settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,MAAM,MAAM,GAAG,SAAS,CAAC,mBAAmB,CAAC,CAAC;AAE9C,IAAI,kBAAkB,GAAqB,IAAI,CAAC;AAEhD,IAAI,UAAU,GAAqB,IAAI,CAAC;AAaxC,MAAM,QAAQ,GAAc;IACxB;;OAEG;IACH,QAAQ,EAAE,iBAAiB;IAE3B;;;OAGG;IACH,IAAI,iBAAiB;QACjB,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACtB,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;YAChE,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACtB,kBAAkB,GAAG,gBAAgB,EAAE,CAAC;gBACxC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,CAAC;YACnE,CAAC;QACL,CAAC;QAED,OAAO,kBAAkB,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,eAAyB;QAC1B,IAAI,CAAC,QAAQ,GAAG,eAAe,IAAI,iBAAiB,CAAC;IACzD,CAAC;IAED;;;OAGG;IACH,IAAI,SAAS;QACT,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAEjD,UAAU,GAAG,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;YAE3D,IAAI,KAAK,EAAE,CAAC;gBACR,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;YAChD,CAAC;iBAAM,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrB,UAAU,GAAG,mBAAmB,EAAE,CAAC;gBACnC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;YACrD,CAAC;QACL,CAAC;QAED,OAAO,UAAW,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,IAAI,SAAS;QACT,uEAAuE;QACvE,uDAAuD;QACvD,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IACpD,CAAC;IAED;;;OAGG;IACH,IAAI,SAAS,CAAC,SAAiB;QAC3B,IAAI,SAAS,EAAE,CAAC;YACZ,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC1C,CAAC;IACL,CAAC;CACJ,CAAC;AAEF;;;GAGG;AACH,SAAS,gBAAgB;IACrB,MAAM,QAAQ,GAAG,gBAAgB,EAAE,CAAC;IAEpC,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAC;IAE5C,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB;IACxB,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAEjD,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;IAEzC,OAAO,WAAW,CAAC;AACvB,CAAC;AAED,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,277 @@
1
+ import { getLogger } from '@jitsi/logger';
2
+ import { AnalyticsEvents } from '../../service/statistics/AnalyticsEvents';
3
+ import browser from '../browser';
4
+ const MAX_CACHE_SIZE = 100;
5
+ const logger = getLogger('stats:AnalyticsAdapter');
6
+ /**
7
+ * This class provides an API to lib-jitsi-meet and its users for sending
8
+ * analytics events. It serves as a bridge to different backend implementations
9
+ * ("analytics handlers") and a cache for events attempted to be sent before
10
+ * the analytics handlers were enabled.
11
+ *
12
+ * The API is designed to be an easy replacement for the previous version of
13
+ * this adapter, and is meant to be extended with more convenience methods.
14
+ *
15
+ *
16
+ * The API calls are translated to objects with the following structure, which
17
+ * are then passed to the sendEvent(event) function of the underlying handlers:
18
+ *
19
+ * {
20
+ * type,
21
+ *
22
+ * action,
23
+ * actionSubject,
24
+ * actionSubjectId,
25
+ * attributes,
26
+ * categories,
27
+ * containerId,
28
+ * containerType,
29
+ * name,
30
+ * objectId,
31
+ * objectType,
32
+ * source,
33
+ * tags
34
+ * }
35
+ *
36
+ * The 'type' is one of 'operational', 'page', 'track' or 'ui', and some of the
37
+ * other properties are considered required according to the type.
38
+ *
39
+ * For events with type 'page', the required properties are: name.
40
+ *
41
+ * For events with type 'operational' and 'ui', the required properties are:
42
+ * action, actionSubject, source
43
+ *
44
+ * For events with type 'page', the required properties are:
45
+ * action, actionSubject, source, containerType, containerId, objectType,
46
+ * objectId
47
+ */
48
+ class AnalyticsAdapter {
49
+ /**
50
+ * Creates new AnalyticsAdapter instance.
51
+ */
52
+ constructor() {
53
+ this.reset();
54
+ }
55
+ /**
56
+ * Saves an event to the cache, if the cache is enabled.
57
+ * @param event the event to save.
58
+ * @returns {boolean} true if the event was saved, and false otherwise (i.e.
59
+ * if the cache was disabled).
60
+ * @private
61
+ */
62
+ _maybeCacheEvent(event) {
63
+ if (this.cache) {
64
+ this.cache.push(event);
65
+ // We limit the size of the cache, in case the user fails to ever
66
+ // set the analytics handlers.
67
+ if (this.cache.length > MAX_CACHE_SIZE) {
68
+ this.cache.splice(0, 1);
69
+ }
70
+ return true;
71
+ }
72
+ return false;
73
+ }
74
+ /**
75
+ *
76
+ * @param event
77
+ * @private
78
+ */
79
+ _sendEvent(event) {
80
+ if (this._maybeCacheEvent(event)) {
81
+ // The event was consumed by the cache.
82
+ }
83
+ else {
84
+ this.analyticsHandlers.forEach(handler => {
85
+ try {
86
+ handler.sendEvent(event);
87
+ }
88
+ catch (e) {
89
+ logger.warn(`Error sending analytics event: ${e}`);
90
+ }
91
+ });
92
+ }
93
+ }
94
+ /**
95
+ * Set the user properties to the analytics handlers.
96
+ *
97
+ * @returns {void}
98
+ */
99
+ _setUserProperties() {
100
+ this.analyticsHandlers.forEach(handler => {
101
+ try {
102
+ handler.setUserProperties(this.permanentProperties);
103
+ }
104
+ catch (error) {
105
+ logger.warn('Error in setUserProperties method of one of the '
106
+ + `analytics handlers: ${error}`);
107
+ }
108
+ });
109
+ }
110
+ /**
111
+ * Checks whether an event has all of the required fields set, and tries
112
+ * to fill in some of the missing fields with reasonable default values.
113
+ * Returns true if after this operation the event has all of the required
114
+ * fields set, and false otherwise (if some of the required fields were not
115
+ * set and the attempt to fill them in with a default failed).
116
+ *
117
+ * @param event the event object.
118
+ * @return {boolean} true if the event (after the call to this function)
119
+ * contains all of the required fields, and false otherwise.
120
+ * @private
121
+ */
122
+ _verifyRequiredFields(event) {
123
+ if (!event) {
124
+ return false;
125
+ }
126
+ if (!event.type) {
127
+ event.type = AnalyticsEvents.TYPE_OPERATIONAL;
128
+ }
129
+ const type = event.type;
130
+ if (type !== AnalyticsEvents.TYPE_OPERATIONAL && type !== AnalyticsEvents.TYPE_PAGE
131
+ && type !== AnalyticsEvents.TYPE_UI && type !== AnalyticsEvents.TYPE_TRACK) {
132
+ logger.error(`Unknown event type: ${type}`);
133
+ return false;
134
+ }
135
+ if (type === AnalyticsEvents.TYPE_PAGE) {
136
+ return Boolean(event.name);
137
+ }
138
+ // Try to set some reasonable default values in case some of the
139
+ // parameters required by the handler API are missing.
140
+ event.action = event.action || event.name || event.actionSubject;
141
+ event.actionSubject = event.actionSubject || event.name || event.action;
142
+ event.source = event.source || event.name || event.action
143
+ || event.actionSubject;
144
+ if (!event.action || !event.actionSubject || !event.source) {
145
+ logger.error('Required field missing (action, actionSubject or source)');
146
+ return false;
147
+ }
148
+ // Track events have additional required fields.
149
+ if (type === AnalyticsEvents.TYPE_TRACK) {
150
+ event.objectType = event.objectType || 'generic-object-type';
151
+ event.containerType = event.containerType || 'conference';
152
+ if (event.containerType === 'conference' && !event.containerId) {
153
+ event.containerId = this.conferenceName;
154
+ }
155
+ if (!event.objectType || !event.objectId
156
+ || !event.containerType || !event.containerId) {
157
+ logger.error('Required field missing (containerId, containerType, '
158
+ + 'objectId or objectType)');
159
+ return false;
160
+ }
161
+ }
162
+ return true;
163
+ }
164
+ /**
165
+ * Adds a set of permanent properties to this this AnalyticsAdapter.
166
+ * Permanent properties will be added as "attributes" to events sent to
167
+ * the underlying "analytics handlers", and their keys will be prefixed
168
+ * by "permanent_", i.e. adding a permanent property {key: "value"} will
169
+ * result in {"permanent_key": "value"} object to be added to the
170
+ * "attributes" field of events.
171
+ *
172
+ * @param {Record<string, unknown>} properties the properties to add
173
+ */
174
+ addPermanentProperties(properties) {
175
+ this.permanentProperties = {
176
+ ...this.permanentProperties,
177
+ ...properties
178
+ };
179
+ this._setUserProperties();
180
+ }
181
+ /**
182
+ * Dispose analytics. Clears all handlers.
183
+ */
184
+ dispose() {
185
+ logger.debug('Disposing of analytics adapter.');
186
+ if (this.analyticsHandlers && this.analyticsHandlers.size > 0) {
187
+ this.analyticsHandlers.forEach(handler => {
188
+ if (typeof handler.dispose === 'function') {
189
+ handler.dispose();
190
+ }
191
+ });
192
+ }
193
+ this.setAnalyticsHandlers([]);
194
+ this.disposed = true;
195
+ }
196
+ /**
197
+ * Reset the state to the initial one.
198
+ *
199
+ * @returns {void}
200
+ */
201
+ reset() {
202
+ this.disposed = false;
203
+ this.analyticsHandlers = new Set();
204
+ this.cache = [];
205
+ this.permanentProperties = {};
206
+ this.conferenceName = '';
207
+ this.addPermanentProperties({
208
+ 'browser_name': browser.getName(),
209
+ 'user_agent': navigator.userAgent
210
+ });
211
+ }
212
+ /**
213
+ * Sends an event with a given name and given properties. The first
214
+ * parameter is either a string or an object. If it is a string, it is used
215
+ * as the event name and the second parameter is used at the attributes to
216
+ * attach to the event. If it is an object, it represents the whole event,
217
+ * including any desired attributes, and the second parameter is ignored.
218
+ *
219
+ * @param {String|IAnalyticsEvent} eventName either a string to be used as the name
220
+ * of the event, or an event object. If an event object is passed, the
221
+ * properties parameters is ignored.
222
+ * @param {Record<string, unknown>} properties the properties/attributes to attach to the
223
+ * event, if eventName is a string.
224
+ */
225
+ sendEvent(eventName, properties = {}) {
226
+ if (this.disposed) {
227
+ return;
228
+ }
229
+ let event = null;
230
+ if (typeof eventName === 'string') {
231
+ event = {
232
+ action: eventName,
233
+ actionSubject: eventName,
234
+ attributes: properties,
235
+ source: eventName,
236
+ type: AnalyticsEvents.TYPE_OPERATIONAL
237
+ };
238
+ }
239
+ else if (typeof eventName === 'object') {
240
+ event = eventName;
241
+ }
242
+ if (!this._verifyRequiredFields(event)) {
243
+ logger.error(`Dropping a mis-formatted event: ${JSON.stringify(event)}`);
244
+ return;
245
+ }
246
+ this._sendEvent(event);
247
+ }
248
+ /**
249
+ * Sets the handlers that are going to be used to send analytics. Sends any
250
+ * cached events.
251
+ * @param {IAnalyticsHandler[]} handlers the handlers
252
+ */
253
+ setAnalyticsHandlers(handlers) {
254
+ if (this.disposed) {
255
+ return;
256
+ }
257
+ this.analyticsHandlers = new Set(handlers);
258
+ this._setUserProperties();
259
+ // Note that we disable the cache even if the set of handlers is empty.
260
+ const cache = this.cache;
261
+ this.cache = null;
262
+ if (cache) {
263
+ cache.forEach(event => this._sendEvent(event));
264
+ }
265
+ }
266
+ /**
267
+ * Sets the name of the conference that this AnalyticsAdapter is associated
268
+ * with.
269
+ * @param name the name to set.
270
+ */
271
+ setConferenceName(name) {
272
+ this.conferenceName = name;
273
+ this.addPermanentProperties({ 'conference_name': name });
274
+ }
275
+ }
276
+ export default new AnalyticsAdapter();
277
+ //# sourceMappingURL=AnalyticsAdapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnalyticsAdapter.js","sourceRoot":"","sources":["../../../../modules/statistics/AnalyticsAdapter.ts"],"names":[],"mappings":"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"}