@webex/plugin-meetings 3.0.0-beta.3 → 3.0.0-beta.30

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 (493) hide show
  1. package/UPGRADING.md +9 -9
  2. package/browsers.js +19 -24
  3. package/dist/breakouts/breakout.js +137 -0
  4. package/dist/breakouts/breakout.js.map +1 -0
  5. package/dist/breakouts/collection.js +23 -0
  6. package/dist/breakouts/collection.js.map +1 -0
  7. package/dist/breakouts/index.js +374 -0
  8. package/dist/breakouts/index.js.map +1 -0
  9. package/dist/breakouts/request.js +78 -0
  10. package/dist/breakouts/request.js.map +1 -0
  11. package/dist/breakouts/utils.js +23 -0
  12. package/dist/breakouts/utils.js.map +1 -0
  13. package/dist/common/browser-detection.js +1 -20
  14. package/dist/common/browser-detection.js.map +1 -1
  15. package/dist/common/collection.js +5 -20
  16. package/dist/common/collection.js.map +1 -1
  17. package/dist/common/config.js +0 -7
  18. package/dist/common/config.js.map +1 -1
  19. package/dist/common/errors/captcha-error.js +10 -24
  20. package/dist/common/errors/captcha-error.js.map +1 -1
  21. package/dist/common/errors/intent-to-join.js +11 -24
  22. package/dist/common/errors/intent-to-join.js.map +1 -1
  23. package/dist/common/errors/join-meeting.js +12 -25
  24. package/dist/common/errors/join-meeting.js.map +1 -1
  25. package/dist/common/errors/media.js +10 -24
  26. package/dist/common/errors/media.js.map +1 -1
  27. package/dist/common/errors/parameter.js +5 -33
  28. package/dist/common/errors/parameter.js.map +1 -1
  29. package/dist/common/errors/password-error.js +10 -24
  30. package/dist/common/errors/password-error.js.map +1 -1
  31. package/dist/common/errors/permission.js +9 -23
  32. package/dist/common/errors/permission.js.map +1 -1
  33. package/dist/common/errors/reconnection-in-progress.js +0 -17
  34. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  35. package/dist/common/errors/reconnection.js +10 -24
  36. package/dist/common/errors/reconnection.js.map +1 -1
  37. package/dist/common/errors/stats.js +10 -24
  38. package/dist/common/errors/stats.js.map +1 -1
  39. package/dist/common/errors/webex-errors.js +6 -41
  40. package/dist/common/errors/webex-errors.js.map +1 -1
  41. package/dist/common/errors/webex-meetings-error.js +5 -25
  42. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  43. package/dist/common/events/events-scope.js +0 -22
  44. package/dist/common/events/events-scope.js.map +1 -1
  45. package/dist/common/events/events.js +0 -23
  46. package/dist/common/events/events.js.map +1 -1
  47. package/dist/common/events/trigger-proxy.js +0 -12
  48. package/dist/common/events/trigger-proxy.js.map +1 -1
  49. package/dist/common/events/util.js +0 -15
  50. package/dist/common/events/util.js.map +1 -1
  51. package/dist/common/logs/logger-config.js +0 -4
  52. package/dist/common/logs/logger-config.js.map +1 -1
  53. package/dist/common/logs/logger-proxy.js +1 -8
  54. package/dist/common/logs/logger-proxy.js.map +1 -1
  55. package/dist/common/logs/request.js +37 -60
  56. package/dist/common/logs/request.js.map +1 -1
  57. package/dist/common/queue.js +4 -14
  58. package/dist/common/queue.js.map +1 -1
  59. package/dist/config.js +6 -6
  60. package/dist/config.js.map +1 -1
  61. package/dist/constants.js +92 -49
  62. package/dist/constants.js.map +1 -1
  63. package/dist/controls-options-manager/constants.js +14 -0
  64. package/dist/controls-options-manager/constants.js.map +1 -0
  65. package/dist/controls-options-manager/enums.js +15 -0
  66. package/dist/controls-options-manager/enums.js.map +1 -0
  67. package/dist/controls-options-manager/index.js +203 -0
  68. package/dist/controls-options-manager/index.js.map +1 -0
  69. package/dist/controls-options-manager/util.js +28 -0
  70. package/dist/controls-options-manager/util.js.map +1 -0
  71. package/dist/index.js +4 -18
  72. package/dist/index.js.map +1 -1
  73. package/dist/locus-info/controlsUtils.js +12 -29
  74. package/dist/locus-info/controlsUtils.js.map +1 -1
  75. package/dist/locus-info/embeddedAppsUtils.js +3 -26
  76. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  77. package/dist/locus-info/fullState.js +0 -15
  78. package/dist/locus-info/fullState.js.map +1 -1
  79. package/dist/locus-info/hostUtils.js +4 -12
  80. package/dist/locus-info/hostUtils.js.map +1 -1
  81. package/dist/locus-info/index.js +186 -192
  82. package/dist/locus-info/index.js.map +1 -1
  83. package/dist/locus-info/infoUtils.js +3 -37
  84. package/dist/locus-info/infoUtils.js.map +1 -1
  85. package/dist/locus-info/mediaSharesUtils.js +12 -38
  86. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  87. package/dist/locus-info/parser.js +92 -118
  88. package/dist/locus-info/parser.js.map +1 -1
  89. package/dist/locus-info/selfUtils.js +34 -91
  90. package/dist/locus-info/selfUtils.js.map +1 -1
  91. package/dist/media/index.js +64 -137
  92. package/dist/media/index.js.map +1 -1
  93. package/dist/media/properties.js +80 -114
  94. package/dist/media/properties.js.map +1 -1
  95. package/dist/media/util.js +2 -9
  96. package/dist/media/util.js.map +1 -1
  97. package/dist/mediaQualityMetrics/config.js +505 -495
  98. package/dist/mediaQualityMetrics/config.js.map +1 -1
  99. package/dist/meeting/effectsState.js +125 -190
  100. package/dist/meeting/effectsState.js.map +1 -1
  101. package/dist/meeting/in-meeting-actions.js +13 -14
  102. package/dist/meeting/in-meeting-actions.js.map +1 -1
  103. package/dist/meeting/index.js +2142 -2101
  104. package/dist/meeting/index.js.map +1 -1
  105. package/dist/meeting/muteState.js +39 -80
  106. package/dist/meeting/muteState.js.map +1 -1
  107. package/dist/meeting/request.js +224 -230
  108. package/dist/meeting/request.js.map +1 -1
  109. package/dist/meeting/request.type.js +7 -0
  110. package/dist/meeting/request.type.js.map +1 -0
  111. package/dist/meeting/state.js +21 -31
  112. package/dist/meeting/state.js.map +1 -1
  113. package/dist/meeting/util.js +43 -215
  114. package/dist/meeting/util.js.map +1 -1
  115. package/dist/meeting-info/collection.js +6 -25
  116. package/dist/meeting-info/collection.js.map +1 -1
  117. package/dist/meeting-info/index.js +14 -32
  118. package/dist/meeting-info/index.js.map +1 -1
  119. package/dist/meeting-info/meeting-info-v2.js +193 -268
  120. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  121. package/dist/meeting-info/request.js +3 -15
  122. package/dist/meeting-info/request.js.map +1 -1
  123. package/dist/meeting-info/util.js +98 -183
  124. package/dist/meeting-info/util.js.map +1 -1
  125. package/dist/meeting-info/utilv2.js +137 -228
  126. package/dist/meeting-info/utilv2.js.map +1 -1
  127. package/dist/meetings/collection.js +5 -20
  128. package/dist/meetings/collection.js.map +1 -1
  129. package/dist/meetings/index.js +490 -560
  130. package/dist/meetings/index.js.map +1 -1
  131. package/dist/meetings/request.js +24 -41
  132. package/dist/meetings/request.js.map +1 -1
  133. package/dist/meetings/util.js +116 -155
  134. package/dist/meetings/util.js.map +1 -1
  135. package/dist/member/index.js +78 -86
  136. package/dist/member/index.js.map +1 -1
  137. package/dist/member/util.js +31 -68
  138. package/dist/member/util.js.map +1 -1
  139. package/dist/members/collection.js +3 -12
  140. package/dist/members/collection.js.map +1 -1
  141. package/dist/members/index.js +94 -200
  142. package/dist/members/index.js.map +1 -1
  143. package/dist/members/request.js +16 -39
  144. package/dist/members/request.js.map +1 -1
  145. package/dist/members/util.js +9 -38
  146. package/dist/members/util.js.map +1 -1
  147. package/dist/metrics/config.js +0 -2
  148. package/dist/metrics/config.js.map +1 -1
  149. package/dist/metrics/constants.js +1 -2
  150. package/dist/metrics/constants.js.map +1 -1
  151. package/dist/metrics/index.js +55 -135
  152. package/dist/metrics/index.js.map +1 -1
  153. package/dist/multistream/mediaRequestManager.js +57 -33
  154. package/dist/multistream/mediaRequestManager.js.map +1 -1
  155. package/dist/multistream/receiveSlot.js +30 -50
  156. package/dist/multistream/receiveSlot.js.map +1 -1
  157. package/dist/multistream/receiveSlotManager.js +60 -82
  158. package/dist/multistream/receiveSlotManager.js.map +1 -1
  159. package/dist/multistream/remoteMedia.js +18 -58
  160. package/dist/multistream/remoteMedia.js.map +1 -1
  161. package/dist/multistream/remoteMediaGroup.js +6 -40
  162. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  163. package/dist/multistream/remoteMediaManager.js +360 -413
  164. package/dist/multistream/remoteMediaManager.js.map +1 -1
  165. package/dist/networkQualityMonitor/index.js +40 -59
  166. package/dist/networkQualityMonitor/index.js.map +1 -1
  167. package/dist/personal-meeting-room/index.js +21 -45
  168. package/dist/personal-meeting-room/index.js.map +1 -1
  169. package/dist/personal-meeting-room/request.js +1 -31
  170. package/dist/personal-meeting-room/request.js.map +1 -1
  171. package/dist/personal-meeting-room/util.js +0 -13
  172. package/dist/personal-meeting-room/util.js.map +1 -1
  173. package/dist/reachability/index.js +138 -182
  174. package/dist/reachability/index.js.map +1 -1
  175. package/dist/reachability/request.js +3 -18
  176. package/dist/reachability/request.js.map +1 -1
  177. package/dist/reactions/constants.js +13 -0
  178. package/dist/reactions/constants.js.map +1 -0
  179. package/dist/reactions/reactions.js +109 -0
  180. package/dist/reactions/reactions.js.map +1 -0
  181. package/dist/reactions/reactions.type.js +36 -0
  182. package/dist/reactions/reactions.type.js.map +1 -0
  183. package/dist/reconnection-manager/index.js +322 -455
  184. package/dist/reconnection-manager/index.js.map +1 -1
  185. package/dist/recording-controller/enums.js +17 -0
  186. package/dist/recording-controller/enums.js.map +1 -0
  187. package/dist/recording-controller/index.js +343 -0
  188. package/dist/recording-controller/index.js.map +1 -0
  189. package/dist/recording-controller/util.js +63 -0
  190. package/dist/recording-controller/util.js.map +1 -0
  191. package/dist/roap/index.js +39 -64
  192. package/dist/roap/index.js.map +1 -1
  193. package/dist/roap/request.js +94 -113
  194. package/dist/roap/request.js.map +1 -1
  195. package/dist/roap/turnDiscovery.js +85 -94
  196. package/dist/roap/turnDiscovery.js.map +1 -1
  197. package/dist/statsAnalyzer/global.js +1 -95
  198. package/dist/statsAnalyzer/global.js.map +1 -1
  199. package/dist/statsAnalyzer/index.js +357 -449
  200. package/dist/statsAnalyzer/index.js.map +1 -1
  201. package/dist/statsAnalyzer/mqaUtil.js +137 -81
  202. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  203. package/dist/transcription/index.js +22 -47
  204. package/dist/transcription/index.js.map +1 -1
  205. package/dist/types/breakouts/breakout.d.ts +8 -0
  206. package/dist/types/breakouts/collection.d.ts +5 -0
  207. package/dist/types/breakouts/index.d.ts +5 -0
  208. package/dist/types/breakouts/request.d.ts +22 -0
  209. package/dist/types/breakouts/utils.d.ts +1 -0
  210. package/dist/types/common/browser-detection.d.ts +9 -0
  211. package/dist/types/common/collection.d.ts +48 -0
  212. package/dist/types/common/config.d.ts +2 -0
  213. package/dist/types/common/errors/captcha-error.d.ts +15 -0
  214. package/dist/types/common/errors/intent-to-join.d.ts +16 -0
  215. package/dist/types/common/errors/join-meeting.d.ts +17 -0
  216. package/dist/types/common/errors/media.d.ts +15 -0
  217. package/dist/types/common/errors/parameter.d.ts +15 -0
  218. package/dist/types/common/errors/password-error.d.ts +15 -0
  219. package/dist/types/common/errors/permission.d.ts +14 -0
  220. package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
  221. package/dist/types/common/errors/reconnection.d.ts +15 -0
  222. package/dist/types/common/errors/stats.d.ts +15 -0
  223. package/dist/types/common/errors/webex-errors.d.ts +69 -0
  224. package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
  225. package/dist/types/common/events/events-scope.d.ts +17 -0
  226. package/dist/types/common/events/events.d.ts +12 -0
  227. package/dist/types/common/events/trigger-proxy.d.ts +2 -0
  228. package/dist/types/common/events/util.d.ts +2 -0
  229. package/dist/types/common/logs/logger-config.d.ts +2 -0
  230. package/dist/types/common/logs/logger-proxy.d.ts +2 -0
  231. package/dist/types/common/logs/request.d.ts +34 -0
  232. package/dist/types/common/queue.d.ts +32 -0
  233. package/dist/types/config.d.ts +77 -0
  234. package/dist/types/constants.d.ts +899 -0
  235. package/dist/types/controls-options-manager/constants.d.ts +4 -0
  236. package/dist/types/controls-options-manager/enums.d.ts +5 -0
  237. package/dist/types/controls-options-manager/index.d.ts +120 -0
  238. package/dist/types/controls-options-manager/util.d.ts +7 -0
  239. package/dist/types/index.d.ts +5 -0
  240. package/dist/types/locus-info/controlsUtils.d.ts +2 -0
  241. package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
  242. package/dist/types/locus-info/fullState.d.ts +2 -0
  243. package/dist/types/locus-info/hostUtils.d.ts +2 -0
  244. package/dist/types/locus-info/index.d.ts +269 -0
  245. package/dist/types/locus-info/infoUtils.d.ts +2 -0
  246. package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
  247. package/dist/types/locus-info/parser.d.ts +212 -0
  248. package/dist/types/locus-info/selfUtils.d.ts +2 -0
  249. package/dist/types/media/index.d.ts +32 -0
  250. package/dist/types/media/properties.d.ts +107 -0
  251. package/dist/types/media/util.d.ts +2 -0
  252. package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
  253. package/dist/types/meeting/effectsState.d.ts +42 -0
  254. package/dist/types/meeting/in-meeting-actions.d.ts +83 -0
  255. package/dist/types/meeting/index.d.ts +1724 -0
  256. package/dist/types/meeting/muteState.d.ts +108 -0
  257. package/dist/types/meeting/request.d.ts +261 -0
  258. package/dist/types/meeting/request.type.d.ts +11 -0
  259. package/dist/types/meeting/state.d.ts +9 -0
  260. package/dist/types/meeting/util.d.ts +2 -0
  261. package/dist/types/meeting-info/collection.d.ts +20 -0
  262. package/dist/types/meeting-info/index.d.ts +57 -0
  263. package/dist/types/meeting-info/meeting-info-v2.d.ts +93 -0
  264. package/dist/types/meeting-info/request.d.ts +22 -0
  265. package/dist/types/meeting-info/util.d.ts +2 -0
  266. package/dist/types/meeting-info/utilv2.d.ts +2 -0
  267. package/dist/types/meetings/collection.d.ts +23 -0
  268. package/dist/types/meetings/index.d.ts +297 -0
  269. package/dist/types/meetings/request.d.ts +27 -0
  270. package/dist/types/meetings/util.d.ts +18 -0
  271. package/dist/types/member/index.d.ts +146 -0
  272. package/dist/types/member/util.d.ts +2 -0
  273. package/dist/types/members/collection.d.ts +24 -0
  274. package/dist/types/members/index.d.ts +320 -0
  275. package/dist/types/members/request.d.ts +50 -0
  276. package/dist/types/members/util.d.ts +2 -0
  277. package/dist/types/metrics/config.d.ts +178 -0
  278. package/dist/types/metrics/constants.d.ts +57 -0
  279. package/dist/types/metrics/index.d.ts +160 -0
  280. package/dist/types/multistream/mediaRequestManager.d.ts +50 -0
  281. package/dist/types/multistream/receiveSlot.d.ts +66 -0
  282. package/dist/types/multistream/receiveSlotManager.d.ts +46 -0
  283. package/dist/types/multistream/remoteMedia.d.ts +93 -0
  284. package/dist/types/multistream/remoteMediaGroup.d.ts +56 -0
  285. package/dist/types/multistream/remoteMediaManager.d.ts +241 -0
  286. package/dist/types/networkQualityMonitor/index.d.ts +70 -0
  287. package/dist/types/personal-meeting-room/index.d.ts +47 -0
  288. package/dist/types/personal-meeting-room/request.d.ts +14 -0
  289. package/dist/types/personal-meeting-room/util.d.ts +2 -0
  290. package/dist/types/reachability/index.d.ts +140 -0
  291. package/dist/types/reachability/request.d.ts +35 -0
  292. package/dist/types/reactions/constants.d.ts +3 -0
  293. package/dist/types/reactions/reactions.d.ts +4 -0
  294. package/dist/types/reactions/reactions.type.d.ts +52 -0
  295. package/dist/types/reconnection-manager/index.d.ts +117 -0
  296. package/dist/types/recording-controller/enums.d.ts +7 -0
  297. package/dist/types/recording-controller/index.d.ts +193 -0
  298. package/dist/types/recording-controller/util.d.ts +13 -0
  299. package/dist/types/roap/index.d.ts +77 -0
  300. package/dist/types/roap/request.d.ts +35 -0
  301. package/dist/types/roap/turnDiscovery.d.ts +74 -0
  302. package/dist/types/statsAnalyzer/global.d.ts +36 -0
  303. package/dist/types/statsAnalyzer/index.d.ts +195 -0
  304. package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
  305. package/dist/types/transcription/index.d.ts +64 -0
  306. package/internal-README.md +7 -6
  307. package/package.json +25 -20
  308. package/src/breakouts/README.md +190 -0
  309. package/src/breakouts/breakout.ts +130 -0
  310. package/src/breakouts/collection.ts +19 -0
  311. package/src/breakouts/index.ts +353 -0
  312. package/src/breakouts/request.ts +55 -0
  313. package/src/breakouts/utils.ts +15 -0
  314. package/src/common/{browser-detection.js → browser-detection.ts} +9 -6
  315. package/src/common/collection.ts +9 -7
  316. package/src/common/{config.js → config.ts} +1 -1
  317. package/src/common/errors/{captcha-error.js → captcha-error.ts} +11 -7
  318. package/src/common/errors/{intent-to-join.js → intent-to-join.ts} +12 -7
  319. package/src/common/errors/{join-meeting.js → join-meeting.ts} +17 -8
  320. package/src/common/errors/{media.js → media.ts} +11 -7
  321. package/src/common/errors/parameter.ts +11 -7
  322. package/src/common/errors/{password-error.js → password-error.ts} +11 -7
  323. package/src/common/errors/{permission.js → permission.ts} +10 -6
  324. package/src/common/errors/{reconnection.js → reconnection.ts} +11 -7
  325. package/src/common/errors/{stats.js → stats.ts} +11 -7
  326. package/src/common/errors/{webex-errors.js → webex-errors.ts} +8 -7
  327. package/src/common/errors/{webex-meetings-error.js → webex-meetings-error.ts} +4 -2
  328. package/src/common/events/{events-scope.js → events-scope.ts} +6 -2
  329. package/src/common/events/{events.js → events.ts} +5 -1
  330. package/src/common/events/{trigger-proxy.js → trigger-proxy.ts} +9 -5
  331. package/src/common/events/{util.js → util.ts} +2 -3
  332. package/src/common/logs/{logger-config.js → logger-config.ts} +1 -2
  333. package/src/common/logs/logger-proxy.ts +44 -0
  334. package/src/common/logs/{request.js → request.ts} +22 -9
  335. package/src/common/queue.ts +1 -2
  336. package/src/{config.js → config.ts} +17 -12
  337. package/src/constants.ts +44 -4
  338. package/src/controls-options-manager/constants.ts +5 -0
  339. package/src/controls-options-manager/enums.ts +6 -0
  340. package/src/controls-options-manager/index.ts +183 -0
  341. package/src/controls-options-manager/util.ts +20 -0
  342. package/src/index.js +2 -1
  343. package/src/locus-info/controlsUtils.ts +114 -0
  344. package/src/locus-info/{embeddedAppsUtils.js → embeddedAppsUtils.ts} +5 -6
  345. package/src/locus-info/{fullState.js → fullState.ts} +16 -12
  346. package/src/locus-info/{hostUtils.js → hostUtils.ts} +9 -8
  347. package/src/locus-info/{index.js → index.ts} +150 -66
  348. package/src/locus-info/{infoUtils.js → infoUtils.ts} +19 -8
  349. package/src/locus-info/{mediaSharesUtils.js → mediaSharesUtils.ts} +17 -17
  350. package/src/locus-info/{parser.js → parser.ts} +67 -79
  351. package/src/locus-info/{selfUtils.js → selfUtils.ts} +123 -68
  352. package/src/media/{index.js → index.ts} +176 -157
  353. package/src/media/{properties.js → properties.ts} +48 -31
  354. package/src/media/{util.js → util.ts} +2 -2
  355. package/src/mediaQualityMetrics/config.ts +384 -0
  356. package/src/meeting/{effectsState.js → effectsState.ts} +47 -41
  357. package/src/meeting/in-meeting-actions.ts +31 -3
  358. package/src/meeting/{index.js → index.ts} +2479 -1466
  359. package/src/meeting/{muteState.js → muteState.ts} +80 -45
  360. package/src/meeting/{request.js → request.ts} +292 -142
  361. package/src/meeting/request.type.ts +13 -0
  362. package/src/meeting/{state.js → state.ts} +50 -35
  363. package/src/meeting/{util.js → util.ts} +112 -115
  364. package/src/meeting-info/{collection.js → collection.ts} +6 -2
  365. package/src/meeting-info/{index.js → index.ts} +42 -36
  366. package/src/meeting-info/meeting-info-v2.ts +273 -0
  367. package/src/meeting-info/{request.js → request.ts} +14 -4
  368. package/src/meeting-info/{util.js → util.ts} +60 -51
  369. package/src/meeting-info/{utilv2.js → utilv2.ts} +65 -58
  370. package/src/meetings/{collection.js → collection.ts} +6 -3
  371. package/src/meetings/index.ts +1159 -0
  372. package/src/meetings/{request.js → request.ts} +32 -25
  373. package/src/meetings/{util.js → util.ts} +58 -32
  374. package/src/member/{index.js → index.ts} +102 -56
  375. package/src/member/{util.js → util.ts} +52 -25
  376. package/src/members/{collection.js → collection.ts} +2 -2
  377. package/src/members/{index.js → index.ts} +221 -142
  378. package/src/members/{request.js → request.ts} +60 -16
  379. package/src/members/{util.js → util.ts} +50 -48
  380. package/src/metrics/{config.js → config.ts} +254 -83
  381. package/src/metrics/{constants.js → constants.ts} +0 -2
  382. package/src/metrics/{index.js → index.ts} +106 -74
  383. package/src/multistream/mediaRequestManager.ts +79 -15
  384. package/src/multistream/receiveSlot.ts +42 -13
  385. package/src/multistream/receiveSlotManager.ts +35 -21
  386. package/src/multistream/remoteMedia.ts +15 -5
  387. package/src/multistream/remoteMediaGroup.ts +4 -3
  388. package/src/multistream/remoteMediaManager.ts +152 -36
  389. package/src/networkQualityMonitor/{index.js → index.ts} +41 -29
  390. package/src/personal-meeting-room/{index.js → index.ts} +28 -19
  391. package/src/personal-meeting-room/{request.js → request.ts} +13 -4
  392. package/src/personal-meeting-room/{util.js → util.ts} +4 -4
  393. package/src/reachability/{index.js → index.ts} +99 -83
  394. package/src/reachability/request.ts +39 -33
  395. package/src/reactions/constants.ts +4 -0
  396. package/src/reactions/reactions.ts +104 -0
  397. package/src/reactions/reactions.type.ts +62 -0
  398. package/src/reconnection-manager/{index.js → index.ts} +195 -102
  399. package/src/recording-controller/enums.ts +8 -0
  400. package/src/recording-controller/index.ts +315 -0
  401. package/src/recording-controller/util.ts +58 -0
  402. package/src/roap/{index.js → index.ts} +73 -56
  403. package/src/roap/request.ts +157 -0
  404. package/src/roap/turnDiscovery.ts +77 -37
  405. package/src/statsAnalyzer/global.ts +37 -0
  406. package/src/statsAnalyzer/index.ts +1234 -0
  407. package/src/statsAnalyzer/mqaUtil.ts +293 -0
  408. package/src/transcription/{index.js → index.ts} +46 -39
  409. package/test/integration/spec/converged-space-meetings.js +176 -0
  410. package/test/integration/spec/journey.js +664 -463
  411. package/test/integration/spec/space-meeting.js +320 -206
  412. package/test/integration/spec/transcription.js +7 -8
  413. package/test/unit/spec/breakouts/breakout.ts +147 -0
  414. package/test/unit/spec/breakouts/collection.ts +15 -0
  415. package/test/unit/spec/breakouts/index.ts +464 -0
  416. package/test/unit/spec/breakouts/request.ts +104 -0
  417. package/test/unit/spec/breakouts/utils.js +21 -0
  418. package/test/unit/spec/common/browser-detection.js +9 -28
  419. package/test/unit/spec/controls-options-manager/index.js +124 -0
  420. package/test/unit/spec/controls-options-manager/util.js +66 -0
  421. package/test/unit/spec/fixture/locus.js +92 -90
  422. package/test/unit/spec/locus-info/controlsUtils.js +25 -5
  423. package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
  424. package/test/unit/spec/locus-info/index.js +104 -2
  425. package/test/unit/spec/locus-info/infoUtils.js +41 -32
  426. package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
  427. package/test/unit/spec/locus-info/lib/SeqCmp.json +513 -685
  428. package/test/unit/spec/locus-info/parser.js +3 -9
  429. package/test/unit/spec/locus-info/selfConstant.js +97 -103
  430. package/test/unit/spec/locus-info/selfUtils.js +105 -12
  431. package/test/unit/spec/media/index.ts +31 -47
  432. package/test/unit/spec/media/properties.ts +9 -9
  433. package/test/unit/spec/meeting/effectsState.js +39 -45
  434. package/test/unit/spec/meeting/in-meeting-actions.ts +13 -2
  435. package/test/unit/spec/meeting/index.js +2214 -746
  436. package/test/unit/spec/meeting/muteState.js +43 -34
  437. package/test/unit/spec/meeting/request.js +115 -44
  438. package/test/unit/spec/meeting/utils.js +104 -171
  439. package/test/unit/spec/meeting-info/meetinginfov2.js +100 -73
  440. package/test/unit/spec/meeting-info/request.js +7 -9
  441. package/test/unit/spec/meeting-info/util.js +11 -12
  442. package/test/unit/spec/meeting-info/utilv2.js +110 -74
  443. package/test/unit/spec/meetings/collection.js +1 -1
  444. package/test/unit/spec/meetings/index.js +439 -257
  445. package/test/unit/spec/meetings/utils.js +14 -12
  446. package/test/unit/spec/member/index.js +0 -1
  447. package/test/unit/spec/member/util.js +31 -7
  448. package/test/unit/spec/members/index.js +104 -54
  449. package/test/unit/spec/members/request.js +29 -20
  450. package/test/unit/spec/members/utils.js +8 -5
  451. package/test/unit/spec/metrics/index.js +16 -21
  452. package/test/unit/spec/multistream/mediaRequestManager.ts +312 -50
  453. package/test/unit/spec/multistream/receiveSlot.ts +57 -6
  454. package/test/unit/spec/multistream/receiveSlotManager.ts +41 -13
  455. package/test/unit/spec/multistream/remoteMedia.ts +10 -2
  456. package/test/unit/spec/multistream/remoteMediaGroup.ts +5 -5
  457. package/test/unit/spec/multistream/remoteMediaManager.ts +412 -65
  458. package/test/unit/spec/networkQualityMonitor/index.js +24 -18
  459. package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
  460. package/test/unit/spec/reachability/index.ts +58 -26
  461. package/test/unit/spec/reconnection-manager/index.js +102 -9
  462. package/test/unit/spec/recording-controller/index.js +231 -0
  463. package/test/unit/spec/recording-controller/util.js +102 -0
  464. package/test/unit/spec/roap/index.ts +2 -1
  465. package/test/unit/spec/roap/request.ts +114 -0
  466. package/test/unit/spec/roap/turnDiscovery.ts +64 -45
  467. package/test/unit/spec/stats-analyzer/index.js +86 -57
  468. package/test/utils/cmr.js +44 -42
  469. package/test/utils/constants.js +9 -0
  470. package/test/utils/testUtils.js +96 -80
  471. package/test/utils/webex-config.js +22 -18
  472. package/test/utils/webex-test-users.js +57 -50
  473. package/tsconfig.json +6 -0
  474. package/dist/media/internal-media-core-wrapper.js +0 -22
  475. package/dist/media/internal-media-core-wrapper.js.map +0 -1
  476. package/dist/multistream/multistreamMedia.js +0 -116
  477. package/dist/multistream/multistreamMedia.js.map +0 -1
  478. package/dist/peer-connection-manager/util.js +0 -124
  479. package/dist/peer-connection-manager/util.js.map +0 -1
  480. package/src/common/logs/logger-proxy.js +0 -33
  481. package/src/locus-info/controlsUtils.js +0 -102
  482. package/src/media/internal-media-core-wrapper.ts +0 -9
  483. package/src/mediaQualityMetrics/config.js +0 -382
  484. package/src/meeting-info/meeting-info-v2.js +0 -255
  485. package/src/meetings/index.js +0 -1015
  486. package/src/multistream/multistreamMedia.ts +0 -92
  487. package/src/peer-connection-manager/util.ts +0 -117
  488. package/src/roap/request.js +0 -127
  489. package/src/statsAnalyzer/global.js +0 -133
  490. package/src/statsAnalyzer/index.js +0 -1006
  491. package/src/statsAnalyzer/mqaUtil.js +0 -173
  492. package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +0 -389
  493. /package/src/common/errors/{reconnection-in-progress.js → reconnection-in-progress.ts} +0 -0
@@ -1,16 +1,15 @@
1
1
  import EventsScope from '../common/events/events-scope';
2
- import {EVENT_TRIGGERS, STATS} from '../constants';
3
-
2
+ import {EVENT_TRIGGERS} from '../constants';
4
3
 
5
4
  /**
6
- * Meeting - network quality event
7
- * Emitted on each interval of retrieving stats Analyzer data
8
- * @event network:quality
9
- * @type {Object}
10
- * @property {string} mediaType {video|audio}
11
- * @property {number} networkQualityScore - value determined in determineUplinkNetworkQuality
12
- * @memberof NetworkQualityMonitor
13
- */
5
+ * Meeting - network quality event
6
+ * Emitted on each interval of retrieving stats Analyzer data
7
+ * @event network:quality
8
+ * @type {Object}
9
+ * @property {string} mediaType {video|audio}
10
+ * @property {number} networkQualityScore - value determined in determineUplinkNetworkQuality
11
+ * @memberof NetworkQualityMonitor
12
+ */
14
13
  /**
15
14
  * NetworkQualityMonitor class that will emit events based on detected quality
16
15
  *
@@ -18,6 +17,13 @@ import {EVENT_TRIGGERS, STATS} from '../constants';
18
17
  * @extends {EventsScope}
19
18
  */
20
19
  export default class NetworkQualityMonitor extends EventsScope {
20
+ config: any;
21
+ frequencyTypes: any;
22
+ indicatorTypes: any;
23
+ mediaType: any;
24
+ networkQualityScore: any;
25
+ networkQualityStatus: any;
26
+
21
27
  /**
22
28
  * Creates a new instance of NetworkQualityMonitor
23
29
  * @constructor
@@ -29,25 +35,21 @@ export default class NetworkQualityMonitor extends EventsScope {
29
35
  * @property {Object} networkQualityStatus - hash object based on indicatorTypes and frequencyTypes
30
36
  * @property {string} mediaType - audio|video
31
37
  */
32
- constructor(config) {
38
+ constructor(config: any) {
33
39
  super();
34
40
  this.config = config;
35
41
  this.indicatorTypes = Object.freeze({
36
42
  PACKETLOSS: 'packetLoss',
37
43
  LATENCY: 'latency',
38
- JITTER: 'jitter'
44
+ JITTER: 'jitter',
39
45
  });
40
46
  this.frequencyTypes = Object.freeze({
41
47
  UPLINK: 'uplink',
42
- DOWNLINK: 'downlink'
48
+ DOWNLINK: 'downlink',
43
49
  });
44
50
  this.networkQualityScore = 1;
45
51
  this.networkQualityStatus = {
46
- [this.frequencyTypes.UPLINK]: {
47
- [STATS.VIDEO_CORRELATE]: {},
48
- [STATS.AUDIO_CORRELATE]: {},
49
- [STATS.SHARE_CORRELATE]: {}
50
- }
52
+ [this.frequencyTypes.UPLINK]: {},
51
53
  };
52
54
  this.mediaType = null;
53
55
  }
@@ -62,12 +64,12 @@ export default class NetworkQualityMonitor extends EventsScope {
62
64
  this.emit(
63
65
  {
64
66
  file: 'networkQualityMonitor',
65
- function: 'emitNetworkQuality'
67
+ function: 'emitNetworkQuality',
66
68
  },
67
69
  EVENT_TRIGGERS.NETWORK_QUALITY,
68
70
  {
69
71
  mediaType: this.mediaType,
70
- networkQualityScore: this.networkQualityScore
72
+ networkQualityScore: this.networkQualityScore,
71
73
  }
72
74
  );
73
75
  }
@@ -85,7 +87,6 @@ export default class NetworkQualityMonitor extends EventsScope {
85
87
  this.mediaType = null;
86
88
  }
87
89
 
88
-
89
90
  /**
90
91
  * filter data to determine uplink network quality, invoked on same interval as stats analyzer remote-inbout-rtp
91
92
  * @param {Object} configObj
@@ -96,7 +97,15 @@ export default class NetworkQualityMonitor extends EventsScope {
96
97
  * @public
97
98
  * @memberof NetworkQualityMonitor
98
99
  */
99
- determineUplinkNetworkQuality({mediaType, remoteRtpResults, statsAnalyzerCurrentStats}) {
100
+ public determineUplinkNetworkQuality({
101
+ mediaType,
102
+ remoteRtpResults,
103
+ statsAnalyzerCurrentStats,
104
+ }: {
105
+ mediaType: string;
106
+ remoteRtpResults: any;
107
+ statsAnalyzerCurrentStats: object;
108
+ }) {
100
109
  const roundTripTimeInMilliseconds = remoteRtpResults.roundTripTime * 1000;
101
110
  const jitterInMilliseconds = remoteRtpResults.jitter * 1000;
102
111
  const {currentPacketLossRatio} = statsAnalyzerCurrentStats[mediaType].send;
@@ -112,8 +121,7 @@ export default class NetworkQualityMonitor extends EventsScope {
112
121
  * @returns {boolean}
113
122
  */
114
123
  const determinePacketLoss = () => {
115
- if (currentPacketLossRatio >
116
- this.config.videoPacketLossRatioThreshold) {
124
+ if (currentPacketLossRatio > this.config.videoPacketLossRatioThreshold) {
117
125
  this.networkQualityScore = 0;
118
126
 
119
127
  return false;
@@ -157,7 +165,12 @@ export default class NetworkQualityMonitor extends EventsScope {
157
165
  * @param {(number|undefined)} value
158
166
  * @returns {(number|null)}
159
167
  */
160
- const determineIfUndefined = (value) => (typeof value === 'undefined' ? null : value);
168
+ const determineIfUndefined = (value: number | undefined) =>
169
+ typeof value === 'undefined' ? null : value;
170
+
171
+ if (!this.networkQualityStatus[UPLINK][mediaType]) {
172
+ this.networkQualityStatus[UPLINK][mediaType] = {};
173
+ }
161
174
 
162
175
  /**
163
176
  * Values for some browsers specifically Safari will be undefined we explicitly set to null
@@ -167,20 +180,19 @@ export default class NetworkQualityMonitor extends EventsScope {
167
180
  // PACKET LOSS
168
181
  this.networkQualityStatus[UPLINK][mediaType][PACKETLOSS] = {
169
182
  acceptable: determinePacketLoss(),
170
- value: determineIfUndefined(currentPacketLossRatio)
183
+ value: determineIfUndefined(currentPacketLossRatio),
171
184
  };
172
185
 
173
-
174
186
  // LATENCY measured in Round trip time
175
187
  this.networkQualityStatus[UPLINK][mediaType][LATENCY] = {
176
188
  acceptable: determineLatency(),
177
- value: determineIfUndefined(remoteRtpResults.roundTripTime)
189
+ value: determineIfUndefined(remoteRtpResults.roundTripTime),
178
190
  };
179
191
 
180
192
  // JITTER
181
193
  this.networkQualityStatus[UPLINK][mediaType][JITTER] = {
182
194
  acceptable: deterMineJitter(),
183
- value: determineIfUndefined(remoteRtpResults.jitter)
195
+ value: determineIfUndefined(remoteRtpResults.jitter),
184
196
  };
185
197
 
186
198
  this.updateNetworkQualityStatus();
@@ -1,3 +1,4 @@
1
+ // @ts-ignore
1
2
  import {StatelessWebexPlugin} from '@webex/webex-core';
2
3
 
3
4
  import {MEETINGS, _PERSONAL_ROOM_} from '../constants';
@@ -5,11 +6,20 @@ import ParameterError from '../common/errors/parameter';
5
6
 
6
7
  import PersonalMeetingRoomRequest from './request';
7
8
 
8
-
9
9
  /**
10
10
  * @class PersonalMeetingRoom
11
11
  */
12
12
  export default class PersonalMeetingRoom extends StatelessWebexPlugin {
13
+ link: any;
14
+ meetingInfo: any;
15
+ name: any;
16
+ personalMeetingRoomRequest: any;
17
+ pmr: any;
18
+ sipUri: any;
19
+ userId: any;
20
+ meetingLink: any;
21
+ number: any;
22
+
13
23
  namespace = MEETINGS;
14
24
 
15
25
  /**
@@ -17,7 +27,7 @@ export default class PersonalMeetingRoom extends StatelessWebexPlugin {
17
27
  * @param {Object} attrs
18
28
  * @param {Object} options
19
29
  */
20
- constructor(attrs, options) {
30
+ constructor(attrs: any, options: any) {
21
31
  super({}, options);
22
32
  /**
23
33
  * The pmr server object
@@ -25,7 +35,7 @@ export default class PersonalMeetingRoom extends StatelessWebexPlugin {
25
35
  * @type {Object}
26
36
  * @public
27
37
  * @memberof PersonalMeetingRoom
28
- */
38
+ */
29
39
  this.pmr = null;
30
40
  /**
31
41
  * The pmr sip Uri
@@ -33,7 +43,7 @@ export default class PersonalMeetingRoom extends StatelessWebexPlugin {
33
43
  * @type {String}
34
44
  * @public
35
45
  * @memberof PersonalMeetingRoom
36
- */
46
+ */
37
47
  this.sipUri = null;
38
48
  /**
39
49
  * The pmr link
@@ -41,7 +51,7 @@ export default class PersonalMeetingRoom extends StatelessWebexPlugin {
41
51
  * @type {String}
42
52
  * @public
43
53
  * @memberof PersonalMeetingRoom
44
- */
54
+ */
45
55
  this.link = null;
46
56
  /**
47
57
  * The pmr server object
@@ -49,7 +59,7 @@ export default class PersonalMeetingRoom extends StatelessWebexPlugin {
49
59
  * @type {Object}
50
60
  * @public
51
61
  * @memberof PersonalMeetingRoom
52
- */
62
+ */
53
63
  this.userId = null;
54
64
  /**
55
65
  * The pmr name
@@ -57,7 +67,7 @@ export default class PersonalMeetingRoom extends StatelessWebexPlugin {
57
67
  * @type {String}
58
68
  * @public
59
69
  * @memberof PersonalMeetingRoom
60
- */
70
+ */
61
71
  this.name = null;
62
72
  /**
63
73
  * The meeting info request server interface
@@ -65,7 +75,7 @@ export default class PersonalMeetingRoom extends StatelessWebexPlugin {
65
75
  * @type {MeetingInfo}
66
76
  * @private
67
77
  * @memberof PersonalMeetingRoom
68
- */
78
+ */
69
79
  this.meetingInfo = attrs.meetingInfo;
70
80
  /**
71
81
  * The pmr server request interface
@@ -73,7 +83,8 @@ export default class PersonalMeetingRoom extends StatelessWebexPlugin {
73
83
  * @type {Object}
74
84
  * @private
75
85
  * @memberof PersonalMeetingRoom
76
- */
86
+ */
87
+ // @ts-ignore
77
88
  this.personalMeetingRoomRequest = new PersonalMeetingRoomRequest({}, options);
78
89
  }
79
90
 
@@ -86,19 +97,19 @@ export default class PersonalMeetingRoom extends StatelessWebexPlugin {
86
97
  * @public
87
98
  * @memberof PersonalMeetingRoom
88
99
  */
89
- claim(link, pin, preferred = true) {
100
+ public claim(link: string, pin: string, preferred = true) {
90
101
  const options = {
102
+ // @ts-ignore
91
103
  userId: this.webex.internal.device.userId,
92
104
  passcode: pin,
93
105
  meetingAddress: link,
94
- preferred
106
+ preferred,
95
107
  };
96
108
 
97
109
  return this.personalMeetingRoomRequest.claimPmr(options).then((pmr) => {
98
110
  if (pmr && pmr.body) {
99
111
  this.set(pmr.body);
100
- }
101
- else {
112
+ } else {
102
113
  return Promise.reject(new ParameterError('No PMR body provided. PMR values not updated.'));
103
114
  }
104
115
 
@@ -112,7 +123,7 @@ export default class PersonalMeetingRoom extends StatelessWebexPlugin {
112
123
  * @private
113
124
  * @memberof PersonalMeetingRoom
114
125
  */
115
- set(body) {
126
+ private set(body: any) {
116
127
  this.pmr = body;
117
128
  this.sipUri = body.sipMeetingUri;
118
129
  this.meetingLink = body.webExMeetingLink || body.meetingLink;
@@ -128,17 +139,15 @@ export default class PersonalMeetingRoom extends StatelessWebexPlugin {
128
139
  * @public
129
140
  * @memberof PersonalMeetingRoom
130
141
  */
131
- get() {
142
+ public get() {
132
143
  const options = {
133
- type: _PERSONAL_ROOM_
134
-
144
+ type: _PERSONAL_ROOM_,
135
145
  };
136
146
 
137
147
  return this.meetingInfo.fetchMeetingInfo(options).then((pmr) => {
138
148
  if (pmr && pmr.body && pmr.body.isPmr) {
139
149
  this.set(pmr.body);
140
- }
141
- else {
150
+ } else {
142
151
  return Promise.reject(new TypeError('The PMR requested is NOT a PMR. PMR values not set.'));
143
152
  }
144
153
 
@@ -1,3 +1,4 @@
1
+ // @ts-ignore
1
2
  import {StatelessWebexPlugin} from '@webex/webex-core';
2
3
 
3
4
  import {MEETINGS} from '../constants';
@@ -5,7 +6,6 @@ import ParameterError from '../common/errors/parameter';
5
6
 
6
7
  import PersonalMeetingRoomUtil from './util';
7
8
 
8
-
9
9
  /**
10
10
  * @class MeetingInfoRequest
11
11
  */
@@ -18,9 +18,17 @@ export default class PersonalMeetingRoomRequest extends StatelessWebexPlugin {
18
18
  * @returns {Promise} returns a promise that resolves/rejects the result of the request
19
19
  * @memberof PersonalMeetingRoomRequest
20
20
  */
21
- claimPmr(options) {
22
- if (!options || !options.userId || !options.passcode || !options.meetingAddress || !options.preferred) {
23
- throw new ParameterError('Claiming a PMR should be done with userId, passcode, preferred, and meetingAddress in options.');
21
+ claimPmr(options: any) {
22
+ if (
23
+ !options ||
24
+ !options.userId ||
25
+ !options.passcode ||
26
+ !options.meetingAddress ||
27
+ !options.preferred
28
+ ) {
29
+ throw new ParameterError(
30
+ 'Claiming a PMR should be done with userId, passcode, preferred, and meetingAddress in options.'
31
+ );
24
32
  }
25
33
  const validPin = PersonalMeetingRoomUtil.getClaimPmrPin(options.passcode);
26
34
 
@@ -34,6 +42,7 @@ export default class PersonalMeetingRoomRequest extends StatelessWebexPlugin {
34
42
  }
35
43
  const request = PersonalMeetingRoomUtil.getClaimedRequestParams(validLink, validPin, options);
36
44
 
45
+ // @ts-ignore
37
46
  return this.request(request);
38
47
  }
39
48
  }
@@ -6,10 +6,10 @@ import {
6
6
  CMR_MEETINGS,
7
7
  CLAIM,
8
8
  HECATE,
9
- WEBEX_DOT_COM
9
+ WEBEX_DOT_COM,
10
10
  } from '../constants';
11
11
 
12
- const PersonalMeetingRoomUtil = {};
12
+ const PersonalMeetingRoomUtil: any = {};
13
13
 
14
14
  PersonalMeetingRoomUtil.getClaimPmrLink = (pmrLink) => {
15
15
  let validator = VALID_PMR_ADDRESS.test(pmrLink);
@@ -42,8 +42,8 @@ PersonalMeetingRoomUtil.getClaimedRequestParams = (link, pin, options) => ({
42
42
  userId: options.userId,
43
43
  passcode: pin,
44
44
  preferred: options.preferred,
45
- meetingAddress: link
46
- }
45
+ meetingAddress: link,
46
+ },
47
47
  });
48
48
 
49
49
  export default PersonalMeetingRoomUtil;