@webex/plugin-meetings 3.0.0-beta.4 → 3.0.0-beta.400

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 (629) hide show
  1. package/README.md +58 -8
  2. package/UPGRADING.md +9 -9
  3. package/browsers.js +19 -24
  4. package/dist/annotation/annotation.types.js +7 -0
  5. package/dist/annotation/annotation.types.js.map +1 -0
  6. package/dist/annotation/constants.js +49 -0
  7. package/dist/annotation/constants.js.map +1 -0
  8. package/dist/annotation/index.js +342 -0
  9. package/dist/annotation/index.js.map +1 -0
  10. package/dist/breakouts/breakout.js +216 -0
  11. package/dist/breakouts/breakout.js.map +1 -0
  12. package/dist/breakouts/collection.js +23 -0
  13. package/dist/breakouts/collection.js.map +1 -0
  14. package/dist/breakouts/edit-lock-error.js +52 -0
  15. package/dist/breakouts/edit-lock-error.js.map +1 -0
  16. package/dist/breakouts/events.js +45 -0
  17. package/dist/breakouts/events.js.map +1 -0
  18. package/dist/breakouts/index.js +1048 -0
  19. package/dist/breakouts/index.js.map +1 -0
  20. package/dist/breakouts/request.js +78 -0
  21. package/dist/breakouts/request.js.map +1 -0
  22. package/dist/breakouts/utils.js +67 -0
  23. package/dist/breakouts/utils.js.map +1 -0
  24. package/dist/common/browser-detection.js +1 -20
  25. package/dist/common/browser-detection.js.map +1 -1
  26. package/dist/common/collection.js +5 -20
  27. package/dist/common/collection.js.map +1 -1
  28. package/dist/common/config.js +0 -7
  29. package/dist/common/config.js.map +1 -1
  30. package/dist/common/errors/captcha-error.js +10 -24
  31. package/dist/common/errors/captcha-error.js.map +1 -1
  32. package/dist/common/errors/intent-to-join.js +11 -24
  33. package/dist/common/errors/intent-to-join.js.map +1 -1
  34. package/dist/common/errors/join-meeting.js +12 -25
  35. package/dist/common/errors/join-meeting.js.map +1 -1
  36. package/dist/common/errors/media.js +10 -24
  37. package/dist/common/errors/media.js.map +1 -1
  38. package/dist/common/errors/no-meeting-info.js +51 -0
  39. package/dist/common/errors/no-meeting-info.js.map +1 -0
  40. package/dist/common/errors/parameter.js +5 -33
  41. package/dist/common/errors/parameter.js.map +1 -1
  42. package/dist/common/errors/password-error.js +10 -24
  43. package/dist/common/errors/password-error.js.map +1 -1
  44. package/dist/common/errors/permission.js +9 -23
  45. package/dist/common/errors/permission.js.map +1 -1
  46. package/dist/common/errors/reclaim-host-role-errors.js +158 -0
  47. package/dist/common/errors/reclaim-host-role-errors.js.map +1 -0
  48. package/dist/common/errors/reconnection-in-progress.js +0 -17
  49. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  50. package/dist/common/errors/reconnection.js +10 -24
  51. package/dist/common/errors/reconnection.js.map +1 -1
  52. package/dist/common/errors/stats.js +10 -24
  53. package/dist/common/errors/stats.js.map +1 -1
  54. package/dist/common/errors/webex-errors.js +54 -48
  55. package/dist/common/errors/webex-errors.js.map +1 -1
  56. package/dist/common/errors/webex-meetings-error.js +5 -25
  57. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  58. package/dist/common/events/events-scope.js +0 -22
  59. package/dist/common/events/events-scope.js.map +1 -1
  60. package/dist/common/events/events.js +0 -23
  61. package/dist/common/events/events.js.map +1 -1
  62. package/dist/common/events/trigger-proxy.js +0 -12
  63. package/dist/common/events/trigger-proxy.js.map +1 -1
  64. package/dist/common/events/util.js +0 -15
  65. package/dist/common/events/util.js.map +1 -1
  66. package/dist/common/logs/logger-config.js +0 -4
  67. package/dist/common/logs/logger-config.js.map +1 -1
  68. package/dist/common/logs/logger-proxy.js +1 -8
  69. package/dist/common/logs/logger-proxy.js.map +1 -1
  70. package/dist/common/logs/request.js +41 -60
  71. package/dist/common/logs/request.js.map +1 -1
  72. package/dist/common/queue.js +28 -23
  73. package/dist/common/queue.js.map +1 -1
  74. package/dist/config.js +11 -15
  75. package/dist/config.js.map +1 -1
  76. package/dist/constants.js +347 -74
  77. package/dist/constants.js.map +1 -1
  78. package/dist/controls-options-manager/constants.js +14 -0
  79. package/dist/controls-options-manager/constants.js.map +1 -0
  80. package/dist/controls-options-manager/enums.js +27 -0
  81. package/dist/controls-options-manager/enums.js.map +1 -0
  82. package/dist/controls-options-manager/index.js +297 -0
  83. package/dist/controls-options-manager/index.js.map +1 -0
  84. package/dist/controls-options-manager/types.js +7 -0
  85. package/dist/controls-options-manager/types.js.map +1 -0
  86. package/dist/controls-options-manager/util.js +319 -0
  87. package/dist/controls-options-manager/util.js.map +1 -0
  88. package/dist/index.js +125 -18
  89. package/dist/index.js.map +1 -1
  90. package/dist/interceptors/index.js +15 -0
  91. package/dist/interceptors/index.js.map +1 -0
  92. package/dist/interceptors/locusRetry.js +93 -0
  93. package/dist/interceptors/locusRetry.js.map +1 -0
  94. package/dist/interpretation/collection.js +23 -0
  95. package/dist/interpretation/collection.js.map +1 -0
  96. package/dist/interpretation/index.js +380 -0
  97. package/dist/interpretation/index.js.map +1 -0
  98. package/dist/interpretation/siLanguage.js +25 -0
  99. package/dist/interpretation/siLanguage.js.map +1 -0
  100. package/dist/locus-info/controlsUtils.js +101 -29
  101. package/dist/locus-info/controlsUtils.js.map +1 -1
  102. package/dist/locus-info/embeddedAppsUtils.js +3 -26
  103. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  104. package/dist/locus-info/fullState.js +0 -15
  105. package/dist/locus-info/fullState.js.map +1 -1
  106. package/dist/locus-info/hostUtils.js +4 -12
  107. package/dist/locus-info/hostUtils.js.map +1 -1
  108. package/dist/locus-info/index.js +564 -246
  109. package/dist/locus-info/index.js.map +1 -1
  110. package/dist/locus-info/infoUtils.js +10 -38
  111. package/dist/locus-info/infoUtils.js.map +1 -1
  112. package/dist/locus-info/mediaSharesUtils.js +82 -38
  113. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  114. package/dist/locus-info/parser.js +314 -163
  115. package/dist/locus-info/parser.js.map +1 -1
  116. package/dist/locus-info/selfUtils.js +110 -92
  117. package/dist/locus-info/selfUtils.js.map +1 -1
  118. package/dist/media/index.js +107 -231
  119. package/dist/media/index.js.map +1 -1
  120. package/dist/media/properties.js +137 -222
  121. package/dist/media/properties.js.map +1 -1
  122. package/dist/media/util.js +2 -9
  123. package/dist/media/util.js.map +1 -1
  124. package/dist/mediaQualityMetrics/config.js +316 -501
  125. package/dist/mediaQualityMetrics/config.js.map +1 -1
  126. package/dist/meeting/in-meeting-actions.js +97 -14
  127. package/dist/meeting/in-meeting-actions.js.map +1 -1
  128. package/dist/meeting/index.js +5311 -3871
  129. package/dist/meeting/index.js.map +1 -1
  130. package/dist/meeting/locusMediaRequest.js +292 -0
  131. package/dist/meeting/locusMediaRequest.js.map +1 -0
  132. package/dist/meeting/muteState.js +260 -183
  133. package/dist/meeting/muteState.js.map +1 -1
  134. package/dist/meeting/request.js +421 -347
  135. package/dist/meeting/request.js.map +1 -1
  136. package/dist/meeting/request.type.js +7 -0
  137. package/dist/meeting/request.type.js.map +1 -0
  138. package/dist/meeting/state.js +21 -31
  139. package/dist/meeting/state.js.map +1 -1
  140. package/dist/meeting/util.js +672 -585
  141. package/dist/meeting/util.js.map +1 -1
  142. package/dist/meeting/voicea-meeting.js +172 -0
  143. package/dist/meeting/voicea-meeting.js.map +1 -0
  144. package/dist/meeting-info/collection.js +6 -25
  145. package/dist/meeting-info/collection.js.map +1 -1
  146. package/dist/meeting-info/index.js +87 -39
  147. package/dist/meeting-info/index.js.map +1 -1
  148. package/dist/meeting-info/meeting-info-v2.js +352 -283
  149. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  150. package/dist/meeting-info/request.js +3 -15
  151. package/dist/meeting-info/request.js.map +1 -1
  152. package/dist/meeting-info/util.js +99 -183
  153. package/dist/meeting-info/util.js.map +1 -1
  154. package/dist/meeting-info/utilv2.js +147 -234
  155. package/dist/meeting-info/utilv2.js.map +1 -1
  156. package/dist/meetings/collection.js +43 -19
  157. package/dist/meetings/collection.js.map +1 -1
  158. package/dist/meetings/index.js +895 -600
  159. package/dist/meetings/index.js.map +1 -1
  160. package/dist/meetings/meetings.types.js +7 -0
  161. package/dist/meetings/meetings.types.js.map +1 -0
  162. package/dist/meetings/request.js +26 -41
  163. package/dist/meetings/request.js.map +1 -1
  164. package/dist/meetings/util.js +184 -157
  165. package/dist/meetings/util.js.map +1 -1
  166. package/dist/member/index.js +134 -85
  167. package/dist/member/index.js.map +1 -1
  168. package/dist/member/types.js +25 -0
  169. package/dist/member/types.js.map +1 -0
  170. package/dist/member/util.js +158 -88
  171. package/dist/member/util.js.map +1 -1
  172. package/dist/members/collection.js +13 -12
  173. package/dist/members/collection.js.map +1 -1
  174. package/dist/members/index.js +194 -204
  175. package/dist/members/index.js.map +1 -1
  176. package/dist/members/request.js +113 -68
  177. package/dist/members/request.js.map +1 -1
  178. package/dist/members/types.js +15 -0
  179. package/dist/members/types.js.map +1 -0
  180. package/dist/members/util.js +324 -259
  181. package/dist/members/util.js.map +1 -1
  182. package/dist/metrics/constants.js +19 -7
  183. package/dist/metrics/constants.js.map +1 -1
  184. package/dist/metrics/index.js +11 -558
  185. package/dist/metrics/index.js.map +1 -1
  186. package/dist/multistream/mediaRequestManager.js +263 -50
  187. package/dist/multistream/mediaRequestManager.js.map +1 -1
  188. package/dist/multistream/receiveSlot.js +58 -65
  189. package/dist/multistream/receiveSlot.js.map +1 -1
  190. package/dist/multistream/receiveSlotManager.js +76 -95
  191. package/dist/multistream/receiveSlotManager.js.map +1 -1
  192. package/dist/multistream/remoteMedia.js +62 -76
  193. package/dist/multistream/remoteMedia.js.map +1 -1
  194. package/dist/multistream/remoteMediaGroup.js +82 -45
  195. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  196. package/dist/multistream/remoteMediaManager.js +657 -448
  197. package/dist/multistream/remoteMediaManager.js.map +1 -1
  198. package/dist/multistream/sendSlotManager.js +255 -0
  199. package/dist/multistream/sendSlotManager.js.map +1 -0
  200. package/dist/networkQualityMonitor/index.js +40 -59
  201. package/dist/networkQualityMonitor/index.js.map +1 -1
  202. package/dist/personal-meeting-room/index.js +21 -45
  203. package/dist/personal-meeting-room/index.js.map +1 -1
  204. package/dist/personal-meeting-room/request.js +1 -31
  205. package/dist/personal-meeting-room/request.js.map +1 -1
  206. package/dist/personal-meeting-room/util.js +0 -13
  207. package/dist/personal-meeting-room/util.js.map +1 -1
  208. package/dist/reachability/clusterReachability.js +356 -0
  209. package/dist/reachability/clusterReachability.js.map +1 -0
  210. package/dist/reachability/index.js +297 -460
  211. package/dist/reachability/index.js.map +1 -1
  212. package/dist/reachability/request.js +20 -26
  213. package/dist/reachability/request.js.map +1 -1
  214. package/dist/reachability/util.js +29 -0
  215. package/dist/reachability/util.js.map +1 -0
  216. package/dist/reactions/constants.js +13 -0
  217. package/dist/reactions/constants.js.map +1 -0
  218. package/dist/reactions/reactions.js +109 -0
  219. package/dist/reactions/reactions.js.map +1 -0
  220. package/dist/reactions/reactions.type.js +36 -0
  221. package/dist/reactions/reactions.type.js.map +1 -0
  222. package/dist/reconnection-manager/index.js +413 -483
  223. package/dist/reconnection-manager/index.js.map +1 -1
  224. package/dist/recording-controller/enums.js +17 -0
  225. package/dist/recording-controller/enums.js.map +1 -0
  226. package/dist/recording-controller/index.js +362 -0
  227. package/dist/recording-controller/index.js.map +1 -0
  228. package/dist/recording-controller/util.js +64 -0
  229. package/dist/recording-controller/util.js.map +1 -0
  230. package/dist/roap/index.js +102 -86
  231. package/dist/roap/index.js.map +1 -1
  232. package/dist/roap/request.js +131 -135
  233. package/dist/roap/request.js.map +1 -1
  234. package/dist/roap/turnDiscovery.js +437 -116
  235. package/dist/roap/turnDiscovery.js.map +1 -1
  236. package/dist/rtcMetrics/constants.js +12 -0
  237. package/dist/rtcMetrics/constants.js.map +1 -0
  238. package/dist/rtcMetrics/index.js +179 -0
  239. package/dist/rtcMetrics/index.js.map +1 -0
  240. package/dist/statsAnalyzer/global.js +1 -95
  241. package/dist/statsAnalyzer/global.js.map +1 -1
  242. package/dist/statsAnalyzer/index.js +557 -583
  243. package/dist/statsAnalyzer/index.js.map +1 -1
  244. package/dist/statsAnalyzer/mqaUtil.js +326 -130
  245. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  246. package/dist/transcription/index.js +22 -47
  247. package/dist/transcription/index.js.map +1 -1
  248. package/dist/types/annotation/annotation.types.d.ts +42 -0
  249. package/dist/types/annotation/constants.d.ts +31 -0
  250. package/dist/types/annotation/index.d.ts +117 -0
  251. package/dist/types/breakouts/breakout.d.ts +8 -0
  252. package/dist/types/breakouts/collection.d.ts +5 -0
  253. package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
  254. package/dist/types/breakouts/events.d.ts +8 -0
  255. package/dist/types/breakouts/index.d.ts +5 -0
  256. package/dist/types/breakouts/request.d.ts +22 -0
  257. package/dist/types/breakouts/utils.d.ts +15 -0
  258. package/dist/types/common/browser-detection.d.ts +9 -0
  259. package/dist/types/common/collection.d.ts +48 -0
  260. package/dist/types/common/config.d.ts +2 -0
  261. package/dist/types/common/errors/captcha-error.d.ts +15 -0
  262. package/dist/types/common/errors/intent-to-join.d.ts +16 -0
  263. package/dist/types/common/errors/join-meeting.d.ts +17 -0
  264. package/dist/types/common/errors/media.d.ts +15 -0
  265. package/dist/types/common/errors/no-meeting-info.d.ts +14 -0
  266. package/dist/types/common/errors/parameter.d.ts +15 -0
  267. package/dist/types/common/errors/password-error.d.ts +15 -0
  268. package/dist/types/common/errors/permission.d.ts +14 -0
  269. package/dist/types/common/errors/reclaim-host-role-errors.d.ts +60 -0
  270. package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
  271. package/dist/types/common/errors/reconnection.d.ts +15 -0
  272. package/dist/types/common/errors/stats.d.ts +15 -0
  273. package/dist/types/common/errors/webex-errors.d.ts +93 -0
  274. package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
  275. package/dist/types/common/events/events-scope.d.ts +17 -0
  276. package/dist/types/common/events/events.d.ts +12 -0
  277. package/dist/types/common/events/trigger-proxy.d.ts +2 -0
  278. package/dist/types/common/events/util.d.ts +2 -0
  279. package/dist/types/common/logs/logger-config.d.ts +2 -0
  280. package/dist/types/common/logs/logger-proxy.d.ts +2 -0
  281. package/dist/types/common/logs/request.d.ts +36 -0
  282. package/dist/types/common/queue.d.ts +34 -0
  283. package/dist/types/config.d.ts +72 -0
  284. package/dist/types/constants.d.ts +1088 -0
  285. package/dist/types/controls-options-manager/constants.d.ts +4 -0
  286. package/dist/types/controls-options-manager/enums.d.ts +15 -0
  287. package/dist/types/controls-options-manager/index.d.ts +136 -0
  288. package/dist/types/controls-options-manager/types.d.ts +43 -0
  289. package/dist/types/controls-options-manager/util.d.ts +1 -0
  290. package/dist/types/index.d.ts +7 -0
  291. package/dist/types/interceptors/index.d.ts +2 -0
  292. package/dist/types/interceptors/locusRetry.d.ts +27 -0
  293. package/dist/types/interpretation/collection.d.ts +5 -0
  294. package/dist/types/interpretation/index.d.ts +5 -0
  295. package/dist/types/interpretation/siLanguage.d.ts +5 -0
  296. package/dist/types/locus-info/controlsUtils.d.ts +2 -0
  297. package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
  298. package/dist/types/locus-info/fullState.d.ts +2 -0
  299. package/dist/types/locus-info/hostUtils.d.ts +2 -0
  300. package/dist/types/locus-info/index.d.ts +322 -0
  301. package/dist/types/locus-info/infoUtils.d.ts +2 -0
  302. package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
  303. package/dist/types/locus-info/parser.d.ts +272 -0
  304. package/dist/types/locus-info/selfUtils.d.ts +2 -0
  305. package/dist/types/media/index.d.ts +34 -0
  306. package/dist/types/media/properties.d.ts +93 -0
  307. package/dist/types/media/util.d.ts +2 -0
  308. package/dist/types/mediaQualityMetrics/config.d.ts +241 -0
  309. package/dist/types/meeting/in-meeting-actions.d.ts +167 -0
  310. package/dist/types/meeting/index.d.ts +1824 -0
  311. package/dist/types/meeting/locusMediaRequest.d.ts +74 -0
  312. package/dist/types/meeting/muteState.d.ts +178 -0
  313. package/dist/types/meeting/request.d.ts +293 -0
  314. package/dist/types/meeting/request.type.d.ts +11 -0
  315. package/dist/types/meeting/state.d.ts +9 -0
  316. package/dist/types/meeting/util.d.ts +118 -0
  317. package/dist/types/meeting/voicea-meeting.d.ts +16 -0
  318. package/dist/types/meeting-info/collection.d.ts +20 -0
  319. package/dist/types/meeting-info/index.d.ts +69 -0
  320. package/dist/types/meeting-info/meeting-info-v2.d.ts +123 -0
  321. package/dist/types/meeting-info/request.d.ts +22 -0
  322. package/dist/types/meeting-info/util.d.ts +2 -0
  323. package/dist/types/meeting-info/utilv2.d.ts +2 -0
  324. package/dist/types/meetings/collection.d.ts +40 -0
  325. package/dist/types/meetings/index.d.ts +389 -0
  326. package/dist/types/meetings/meetings.types.d.ts +4 -0
  327. package/dist/types/meetings/request.d.ts +27 -0
  328. package/dist/types/meetings/util.d.ts +18 -0
  329. package/dist/types/member/index.d.ts +160 -0
  330. package/dist/types/member/types.d.ts +32 -0
  331. package/dist/types/member/util.d.ts +2 -0
  332. package/dist/types/members/collection.d.ts +29 -0
  333. package/dist/types/members/index.d.ts +353 -0
  334. package/dist/types/members/request.d.ts +114 -0
  335. package/dist/types/members/types.d.ts +25 -0
  336. package/dist/types/members/util.d.ts +215 -0
  337. package/dist/types/metrics/constants.d.ts +70 -0
  338. package/dist/types/metrics/index.d.ts +45 -0
  339. package/dist/types/multistream/mediaRequestManager.d.ts +120 -0
  340. package/dist/types/multistream/receiveSlot.d.ts +68 -0
  341. package/dist/types/multistream/receiveSlotManager.d.ts +56 -0
  342. package/dist/types/multistream/remoteMedia.d.ts +72 -0
  343. package/dist/types/multistream/remoteMediaGroup.d.ts +49 -0
  344. package/dist/types/multistream/remoteMediaManager.d.ts +301 -0
  345. package/dist/types/multistream/sendSlotManager.d.ts +70 -0
  346. package/dist/types/networkQualityMonitor/index.d.ts +70 -0
  347. package/dist/types/personal-meeting-room/index.d.ts +47 -0
  348. package/dist/types/personal-meeting-room/request.d.ts +14 -0
  349. package/dist/types/personal-meeting-room/util.d.ts +2 -0
  350. package/dist/types/reachability/clusterReachability.d.ts +109 -0
  351. package/dist/types/reachability/index.d.ts +105 -0
  352. package/dist/types/reachability/request.d.ts +39 -0
  353. package/dist/types/reachability/util.d.ts +8 -0
  354. package/dist/types/reactions/constants.d.ts +3 -0
  355. package/dist/types/reactions/reactions.d.ts +4 -0
  356. package/dist/types/reactions/reactions.type.d.ts +52 -0
  357. package/dist/types/reconnection-manager/index.d.ts +136 -0
  358. package/dist/types/recording-controller/enums.d.ts +7 -0
  359. package/dist/types/recording-controller/index.d.ts +207 -0
  360. package/dist/types/recording-controller/util.d.ts +14 -0
  361. package/dist/types/roap/index.d.ts +86 -0
  362. package/dist/types/roap/request.d.ts +39 -0
  363. package/dist/types/roap/turnDiscovery.d.ts +155 -0
  364. package/dist/types/rtcMetrics/constants.d.ts +4 -0
  365. package/dist/types/rtcMetrics/index.d.ts +61 -0
  366. package/dist/types/statsAnalyzer/global.d.ts +36 -0
  367. package/dist/types/statsAnalyzer/index.d.ts +217 -0
  368. package/dist/types/statsAnalyzer/mqaUtil.d.ts +48 -0
  369. package/dist/types/transcription/index.d.ts +64 -0
  370. package/dist/types/webinar/collection.d.ts +16 -0
  371. package/dist/types/webinar/index.d.ts +5 -0
  372. package/dist/webinar/collection.js +44 -0
  373. package/dist/webinar/collection.js.map +1 -0
  374. package/dist/webinar/index.js +69 -0
  375. package/dist/webinar/index.js.map +1 -0
  376. package/internal-README.md +7 -6
  377. package/package.json +30 -21
  378. package/src/annotation/annotation.types.ts +50 -0
  379. package/src/annotation/constants.ts +36 -0
  380. package/src/annotation/index.ts +328 -0
  381. package/src/breakouts/README.md +220 -0
  382. package/src/breakouts/breakout.ts +188 -0
  383. package/src/breakouts/collection.ts +19 -0
  384. package/src/breakouts/edit-lock-error.ts +25 -0
  385. package/src/breakouts/events.ts +56 -0
  386. package/src/breakouts/index.ts +925 -0
  387. package/src/breakouts/request.ts +55 -0
  388. package/src/breakouts/utils.ts +57 -0
  389. package/src/common/{browser-detection.js → browser-detection.ts} +9 -6
  390. package/src/common/collection.ts +9 -7
  391. package/src/common/{config.js → config.ts} +1 -1
  392. package/src/common/errors/{captcha-error.js → captcha-error.ts} +11 -7
  393. package/src/common/errors/{intent-to-join.js → intent-to-join.ts} +12 -7
  394. package/src/common/errors/{join-meeting.js → join-meeting.ts} +17 -8
  395. package/src/common/errors/{media.js → media.ts} +11 -7
  396. package/src/common/errors/no-meeting-info.ts +24 -0
  397. package/src/common/errors/parameter.ts +11 -7
  398. package/src/common/errors/{password-error.js → password-error.ts} +11 -7
  399. package/src/common/errors/{permission.js → permission.ts} +10 -6
  400. package/src/common/errors/reclaim-host-role-errors.ts +134 -0
  401. package/src/common/errors/{reconnection.js → reconnection.ts} +11 -7
  402. package/src/common/errors/{stats.js → stats.ts} +11 -7
  403. package/src/common/errors/{webex-errors.js → webex-errors.ts} +51 -8
  404. package/src/common/errors/{webex-meetings-error.js → webex-meetings-error.ts} +4 -2
  405. package/src/common/events/{events-scope.js → events-scope.ts} +6 -2
  406. package/src/common/events/{events.js → events.ts} +5 -1
  407. package/src/common/events/{trigger-proxy.js → trigger-proxy.ts} +9 -5
  408. package/src/common/events/{util.js → util.ts} +2 -3
  409. package/src/common/logs/{logger-config.js → logger-config.ts} +1 -2
  410. package/src/common/logs/logger-proxy.ts +44 -0
  411. package/src/common/logs/{request.js → request.ts} +26 -9
  412. package/src/common/queue.ts +22 -9
  413. package/src/{config.js → config.ts} +19 -21
  414. package/src/constants.ts +296 -27
  415. package/src/controls-options-manager/constants.ts +5 -0
  416. package/src/controls-options-manager/enums.ts +18 -0
  417. package/src/controls-options-manager/index.ts +278 -0
  418. package/src/controls-options-manager/types.ts +59 -0
  419. package/src/controls-options-manager/util.ts +300 -0
  420. package/src/index.ts +45 -0
  421. package/src/interceptors/index.ts +3 -0
  422. package/src/interceptors/locusRetry.ts +67 -0
  423. package/src/interpretation/README.md +60 -0
  424. package/src/interpretation/collection.ts +19 -0
  425. package/src/interpretation/index.ts +349 -0
  426. package/src/interpretation/siLanguage.ts +18 -0
  427. package/src/locus-info/controlsUtils.ts +222 -0
  428. package/src/locus-info/{embeddedAppsUtils.js → embeddedAppsUtils.ts} +5 -6
  429. package/src/locus-info/{fullState.js → fullState.ts} +16 -12
  430. package/src/locus-info/{hostUtils.js → hostUtils.ts} +9 -8
  431. package/src/locus-info/{index.js → index.ts} +561 -119
  432. package/src/locus-info/{infoUtils.js → infoUtils.ts} +29 -10
  433. package/src/locus-info/{mediaSharesUtils.js → mediaSharesUtils.ts} +97 -17
  434. package/src/locus-info/{parser.js → parser.ts} +303 -104
  435. package/src/locus-info/{selfUtils.js → selfUtils.ts} +199 -68
  436. package/src/media/index.ts +460 -0
  437. package/src/media/properties.ts +283 -0
  438. package/src/media/{util.js → util.ts} +2 -2
  439. package/src/mediaQualityMetrics/config.ts +249 -0
  440. package/src/meeting/in-meeting-actions.ts +199 -3
  441. package/src/meeting/index.ts +8494 -0
  442. package/src/meeting/locusMediaRequest.ts +313 -0
  443. package/src/meeting/muteState.ts +465 -0
  444. package/src/meeting/request.ts +912 -0
  445. package/src/meeting/request.type.ts +13 -0
  446. package/src/meeting/{state.js → state.ts} +50 -35
  447. package/src/meeting/util.ts +799 -0
  448. package/src/meeting/voicea-meeting.ts +122 -0
  449. package/src/meeting-info/{collection.js → collection.ts} +6 -2
  450. package/src/meeting-info/index.ts +210 -0
  451. package/src/meeting-info/meeting-info-v2.ts +423 -0
  452. package/src/meeting-info/{request.js → request.ts} +14 -4
  453. package/src/meeting-info/{util.js → util.ts} +70 -58
  454. package/src/meeting-info/{utilv2.js → utilv2.ts} +99 -82
  455. package/src/meetings/collection.ts +76 -0
  456. package/src/meetings/index.ts +1539 -0
  457. package/src/meetings/meetings.types.ts +12 -0
  458. package/src/meetings/{request.js → request.ts} +34 -25
  459. package/src/meetings/{util.js → util.ts} +133 -38
  460. package/src/member/{index.js → index.ts} +159 -56
  461. package/src/member/types.ts +38 -0
  462. package/src/member/util.ts +397 -0
  463. package/src/members/{collection.js → collection.ts} +10 -2
  464. package/src/members/{index.js → index.ts} +351 -146
  465. package/src/members/request.ts +255 -0
  466. package/src/members/types.ts +29 -0
  467. package/src/members/util.ts +353 -0
  468. package/src/metrics/{constants.js → constants.ts} +17 -6
  469. package/src/metrics/index.ts +73 -0
  470. package/src/multistream/mediaRequestManager.ts +341 -64
  471. package/src/multistream/receiveSlot.ts +69 -26
  472. package/src/multistream/receiveSlotManager.ts +66 -42
  473. package/src/multistream/remoteMedia.ts +40 -5
  474. package/src/multistream/remoteMediaGroup.ts +82 -3
  475. package/src/multistream/remoteMediaManager.ts +401 -81
  476. package/src/multistream/sendSlotManager.ts +199 -0
  477. package/src/networkQualityMonitor/{index.js → index.ts} +41 -29
  478. package/src/personal-meeting-room/{index.js → index.ts} +28 -19
  479. package/src/personal-meeting-room/{request.js → request.ts} +13 -4
  480. package/src/personal-meeting-room/{util.js → util.ts} +4 -4
  481. package/src/reachability/clusterReachability.ts +320 -0
  482. package/src/reachability/index.ts +371 -0
  483. package/src/reachability/request.ts +50 -35
  484. package/src/reachability/util.ts +24 -0
  485. package/src/reactions/constants.ts +4 -0
  486. package/src/reactions/reactions.ts +104 -0
  487. package/src/reactions/reactions.type.ts +62 -0
  488. package/src/reconnection-manager/index.ts +643 -0
  489. package/src/recording-controller/enums.ts +8 -0
  490. package/src/recording-controller/index.ts +332 -0
  491. package/src/recording-controller/util.ts +75 -0
  492. package/src/roap/index.ts +288 -0
  493. package/src/roap/request.ts +153 -0
  494. package/src/roap/turnDiscovery.ts +374 -70
  495. package/src/rtcMetrics/constants.ts +3 -0
  496. package/src/rtcMetrics/index.ts +166 -0
  497. package/src/statsAnalyzer/global.ts +37 -0
  498. package/src/statsAnalyzer/index.ts +1275 -0
  499. package/src/statsAnalyzer/mqaUtil.ts +440 -0
  500. package/src/transcription/{index.js → index.ts} +46 -39
  501. package/src/webinar/collection.ts +31 -0
  502. package/src/webinar/index.ts +62 -0
  503. package/test/integration/spec/converged-space-meetings.js +233 -0
  504. package/test/integration/spec/journey.js +791 -531
  505. package/test/integration/spec/space-meeting.js +391 -204
  506. package/test/integration/spec/transcription.js +7 -8
  507. package/test/unit/spec/annotation/index.ts +418 -0
  508. package/test/unit/spec/breakouts/breakout.ts +238 -0
  509. package/test/unit/spec/breakouts/collection.ts +15 -0
  510. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  511. package/test/unit/spec/breakouts/events.ts +89 -0
  512. package/test/unit/spec/breakouts/index.ts +1793 -0
  513. package/test/unit/spec/breakouts/request.ts +104 -0
  514. package/test/unit/spec/breakouts/utils.js +72 -0
  515. package/test/unit/spec/common/browser-detection.js +9 -28
  516. package/test/unit/spec/common/queue.js +31 -2
  517. package/test/unit/spec/controls-options-manager/index.js +287 -0
  518. package/test/unit/spec/controls-options-manager/util.js +582 -0
  519. package/test/unit/spec/fixture/locus.js +93 -90
  520. package/test/unit/spec/interceptors/locusRetry.ts +131 -0
  521. package/test/unit/spec/interpretation/collection.ts +15 -0
  522. package/test/unit/spec/interpretation/index.ts +625 -0
  523. package/test/unit/spec/interpretation/siLanguage.ts +28 -0
  524. package/test/unit/spec/locus-info/controlsUtils.js +325 -32
  525. package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
  526. package/test/unit/spec/locus-info/index.js +1458 -21
  527. package/test/unit/spec/locus-info/infoUtils.js +71 -40
  528. package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
  529. package/test/unit/spec/locus-info/lib/SeqCmp.json +529 -685
  530. package/test/unit/spec/locus-info/mediaSharesUtils.ts +41 -0
  531. package/test/unit/spec/locus-info/parser.js +119 -44
  532. package/test/unit/spec/locus-info/selfConstant.js +120 -103
  533. package/test/unit/spec/locus-info/selfUtils.js +291 -12
  534. package/test/unit/spec/media/index.ts +194 -111
  535. package/test/unit/spec/media/properties.ts +11 -11
  536. package/test/unit/spec/meeting/in-meeting-actions.ts +96 -3
  537. package/test/unit/spec/meeting/index.js +8616 -1921
  538. package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
  539. package/test/unit/spec/meeting/muteState.js +568 -207
  540. package/test/unit/spec/meeting/request.js +602 -82
  541. package/test/unit/spec/meeting/utils.js +867 -179
  542. package/test/unit/spec/meeting/voicea-meeting.ts +266 -0
  543. package/test/unit/spec/meeting-info/index.js +300 -0
  544. package/test/unit/spec/meeting-info/meetinginfov2.js +631 -78
  545. package/test/unit/spec/meeting-info/request.js +7 -9
  546. package/test/unit/spec/meeting-info/util.js +11 -12
  547. package/test/unit/spec/meeting-info/utilv2.js +131 -74
  548. package/test/unit/spec/meetings/collection.js +27 -1
  549. package/test/unit/spec/meetings/index.js +1826 -374
  550. package/test/unit/spec/meetings/utils.js +243 -14
  551. package/test/unit/spec/member/index.js +61 -7
  552. package/test/unit/spec/member/util.js +526 -26
  553. package/test/unit/spec/members/index.js +536 -55
  554. package/test/unit/spec/members/request.js +228 -40
  555. package/test/unit/spec/members/utils.js +217 -4
  556. package/test/unit/spec/metrics/index.js +13 -68
  557. package/test/unit/spec/multistream/mediaRequestManager.ts +1032 -110
  558. package/test/unit/spec/multistream/receiveSlot.ts +77 -18
  559. package/test/unit/spec/multistream/receiveSlotManager.ts +69 -39
  560. package/test/unit/spec/multistream/remoteMedia.ts +40 -2
  561. package/test/unit/spec/multistream/remoteMediaGroup.ts +350 -5
  562. package/test/unit/spec/multistream/remoteMediaManager.ts +937 -65
  563. package/test/unit/spec/multistream/sendSlotManager.ts +274 -0
  564. package/test/unit/spec/networkQualityMonitor/index.js +24 -18
  565. package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
  566. package/test/unit/spec/reachability/clusterReachability.ts +279 -0
  567. package/test/unit/spec/reachability/index.ts +606 -26
  568. package/test/unit/spec/reachability/request.js +68 -0
  569. package/test/unit/spec/reachability/util.ts +40 -0
  570. package/test/unit/spec/reconnection-manager/index.js +222 -34
  571. package/test/unit/spec/recording-controller/index.js +306 -0
  572. package/test/unit/spec/recording-controller/util.js +229 -0
  573. package/test/unit/spec/roap/index.ts +238 -82
  574. package/test/unit/spec/roap/request.ts +255 -0
  575. package/test/unit/spec/roap/turnDiscovery.ts +707 -110
  576. package/test/unit/spec/rtcMetrics/index.ts +122 -0
  577. package/test/unit/spec/stats-analyzer/index.js +1331 -62
  578. package/test/unit/spec/webinar/collection.ts +13 -0
  579. package/test/unit/spec/webinar/index.ts +60 -0
  580. package/test/utils/cmr.js +44 -42
  581. package/test/utils/constants.js +9 -0
  582. package/test/utils/integrationTestUtils.js +46 -0
  583. package/test/utils/testUtils.js +63 -99
  584. package/test/utils/webex-config.js +22 -18
  585. package/test/utils/webex-test-users.js +65 -50
  586. package/tsconfig.json +6 -0
  587. package/dist/media/internal-media-core-wrapper.js +0 -22
  588. package/dist/media/internal-media-core-wrapper.js.map +0 -1
  589. package/dist/meeting/effectsState.js +0 -327
  590. package/dist/meeting/effectsState.js.map +0 -1
  591. package/dist/metrics/config.js +0 -301
  592. package/dist/metrics/config.js.map +0 -1
  593. package/dist/multistream/multistreamMedia.js +0 -116
  594. package/dist/multistream/multistreamMedia.js.map +0 -1
  595. package/dist/peer-connection-manager/util.js +0 -124
  596. package/dist/peer-connection-manager/util.js.map +0 -1
  597. package/src/common/logs/logger-proxy.js +0 -33
  598. package/src/index.js +0 -15
  599. package/src/locus-info/controlsUtils.js +0 -102
  600. package/src/media/index.js +0 -459
  601. package/src/media/internal-media-core-wrapper.ts +0 -9
  602. package/src/media/properties.js +0 -289
  603. package/src/mediaQualityMetrics/config.js +0 -382
  604. package/src/meeting/effectsState.js +0 -205
  605. package/src/meeting/index.js +0 -6284
  606. package/src/meeting/muteState.js +0 -318
  607. package/src/meeting/request.js +0 -684
  608. package/src/meeting/util.js +0 -506
  609. package/src/meeting-info/index.js +0 -131
  610. package/src/meeting-info/meeting-info-v2.js +0 -255
  611. package/src/meetings/collection.js +0 -40
  612. package/src/meetings/index.js +0 -1015
  613. package/src/member/util.js +0 -254
  614. package/src/members/request.js +0 -131
  615. package/src/members/util.js +0 -258
  616. package/src/metrics/config.js +0 -324
  617. package/src/metrics/index.js +0 -530
  618. package/src/multistream/multistreamMedia.ts +0 -92
  619. package/src/peer-connection-manager/util.ts +0 -117
  620. package/src/reachability/index.js +0 -464
  621. package/src/reconnection-manager/index.js +0 -519
  622. package/src/roap/index.js +0 -220
  623. package/src/roap/request.js +0 -127
  624. package/src/statsAnalyzer/global.js +0 -133
  625. package/src/statsAnalyzer/index.js +0 -1006
  626. package/src/statsAnalyzer/mqaUtil.js +0 -173
  627. package/test/unit/spec/meeting/effectsState.js +0 -291
  628. package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +0 -389
  629. /package/src/common/errors/{reconnection-in-progress.js → reconnection-in-progress.ts} +0 -0
@@ -1,111 +1,86 @@
1
1
  "use strict";
2
2
 
3
3
  var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
4
-
4
+ var _Object$keys = require("@babel/runtime-corejs2/core-js/object/keys");
5
+ var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
6
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
7
+ var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
8
+ var _Object$defineProperties = require("@babel/runtime-corejs2/core-js/object/define-properties");
5
9
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
6
-
7
10
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
8
-
9
11
  _Object$defineProperty(exports, "__esModule", {
10
12
  value: true
11
13
  });
12
-
13
14
  exports.default = void 0;
14
-
15
15
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
16
-
17
16
  var _values = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/values"));
18
-
19
17
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/toConsumableArray"));
20
-
21
18
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
22
-
23
19
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
24
-
25
20
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/assertThisInitialized"));
26
-
27
21
  var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
28
-
29
22
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
30
-
31
23
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
32
-
33
24
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
34
-
35
25
  var _isEmpty2 = _interopRequireDefault(require("lodash/isEmpty"));
36
-
37
26
  var _webexCore = require("@webex/webex-core");
38
-
39
27
  var _constants = require("../constants");
40
-
41
28
  var _triggerProxy = _interopRequireDefault(require("../common/events/trigger-proxy"));
42
-
43
29
  var _member = _interopRequireDefault(require("../member"));
44
-
45
30
  var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
46
-
47
31
  var _parameter = _interopRequireDefault(require("../common/errors/parameter"));
48
-
32
+ var _reclaimHostRoleErrors = require("../common/errors/reclaim-host-role-errors");
49
33
  var _collection = _interopRequireDefault(require("./collection"));
50
-
51
34
  var _request = _interopRequireDefault(require("./request"));
52
-
53
35
  var _util = _interopRequireDefault(require("./util"));
54
-
36
+ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
37
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
55
38
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
56
-
57
39
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
58
-
59
40
  /**
60
- * Members Update Event
61
- * Emitted when something in the roster list needs to be updated
62
- * @event members:update
63
- * @instance
64
- * @property {Object} delta the changes to the members list
65
- * @property {Array} delta.updated array only the updates, includes removals, as they will have updated status and member properties
66
- * @property {Array} delta.added array added members to the meeting
67
- * @property {Array} full array the full members collection
68
- * @memberof Members
69
- */
70
-
41
+ * Members Update Event
42
+ * Emitted when something in the roster list needs to be updated
43
+ * @event members:update
44
+ * @instance
45
+ * @property {Object} delta the changes to the members list
46
+ * @property {Array} delta.updated array only the updates, includes removals, as they will have updated status and member properties
47
+ * @property {Array} delta.added array added members to the meeting
48
+ * @property {Array} full array the full members collection
49
+ * @memberof Members
50
+ */
71
51
  /**
72
- * Members Content Update Event
73
- * Emitted when who is sharing changes
74
- * @event members:content:update
75
- * @instance
76
- * @property {String} activeContentSharingId
77
- * @property {String} endedContentSharingId
78
- * @memberof Members
79
- */
80
-
52
+ * Members Content Update Event
53
+ * Emitted when who is sharing changes
54
+ * @event members:content:update
55
+ * @instance
56
+ * @property {String} activeContentSharingId
57
+ * @property {String} endedContentSharingId
58
+ * @memberof Members
59
+ */
81
60
  /**
82
- * Members Host Update Event
83
- * Emitted when who is the host changes
84
- * @event members:host:update
85
- * @instance
86
- * @property {String} activeHostId
87
- * @property {String} endedHostId
88
- * @memberof Members
89
- */
90
-
61
+ * Members Host Update Event
62
+ * Emitted when who is the host changes
63
+ * @event members:host:update
64
+ * @instance
65
+ * @property {String} activeHostId
66
+ * @property {String} endedHostId
67
+ * @memberof Members
68
+ */
91
69
  /**
92
- * Members Self Update Event
93
- * Emitted when who is the self changes
94
- * @event members:self:update
95
- * @instance
96
- * @property {String} activeSelfId
97
- * @property {String} endedSelfId
98
- * @memberof Members
99
- */
100
-
70
+ * Members Self Update Event
71
+ * Emitted when who is the self changes
72
+ * @event members:self:update
73
+ * @instance
74
+ * @property {String} activeSelfId
75
+ * @property {String} endedSelfId
76
+ * @memberof Members
77
+ */
101
78
  /**
102
79
  * @class Members
103
80
  */
104
81
  var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
105
82
  (0, _inherits2.default)(Members, _StatelessWebexPlugin);
106
-
107
83
  var _super = _createSuper(Members);
108
-
109
84
  /**
110
85
  *
111
86
  * @param {Object} attrs
@@ -114,7 +89,6 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
114
89
  */
115
90
  function Members(attrs, options) {
116
91
  var _this;
117
-
118
92
  (0, _classCallCheck2.default)(this, Members);
119
93
  _this = _super.call(this, {}, options);
120
94
  /**
@@ -123,18 +97,31 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
123
97
  * @type {MembersRequest}
124
98
  * @private
125
99
  * @memberof Members
126
- */
100
+ */
127
101
 
102
+ // @ts-ignore
103
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "hostId", void 0);
104
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "locusUrl", void 0);
105
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "mediaShareContentId", void 0);
106
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "mediaShareWhiteboardId", void 0);
107
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "membersCollection", void 0);
108
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "membersRequest", void 0);
109
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "receiveSlotManager", void 0);
110
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "mediaRequestManagers", void 0);
111
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "recordingId", void 0);
112
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "selfId", void 0);
113
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "type", void 0);
128
114
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "namespace", _constants.MEETINGS);
129
- _this.membersRequest = new _request.default({}, options);
115
+ _this.membersRequest = new _request.default({
116
+ meeting: attrs.meeting
117
+ }, options);
130
118
  /**
131
119
  * The Members Collection cache
132
120
  * @instance
133
121
  * @type {MembersCollection}
134
122
  * @private
135
123
  * @memberof Members
136
- */
137
-
124
+ */
138
125
  _this.membersCollection = new _collection.default();
139
126
  /**
140
127
  * The current locus url for the active meeting
@@ -142,8 +129,7 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
142
129
  * @type {String}
143
130
  * @private
144
131
  * @memberof Members
145
- */
146
-
132
+ */
147
133
  _this.locusUrl = attrs.locusUrl || null;
148
134
  /**
149
135
  * The current hostId for the meeting
@@ -151,8 +137,7 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
151
137
  * @type {String}
152
138
  * @private
153
139
  * @memberof Members
154
- */
155
-
140
+ */
156
141
  _this.hostId = null;
157
142
  /**
158
143
  * The current type for the meeting, could be MEETING or CALL
@@ -160,8 +145,7 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
160
145
  * @type {String}
161
146
  * @private
162
147
  * @memberof Members
163
- */
164
-
148
+ */
165
149
  _this.type = null;
166
150
  /**
167
151
  * Locus has a self object, sent individually to the client
@@ -175,8 +159,7 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
175
159
  * @type {String}
176
160
  * @private
177
161
  * @memberof Members
178
- */
179
-
162
+ */
180
163
  _this.selfId = null;
181
164
  /**
182
165
  * The current mediaShareContentId for the meeting
@@ -184,8 +167,7 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
184
167
  * @type {String}
185
168
  * @private
186
169
  * @memberof Members
187
- */
188
-
170
+ */
189
171
  _this.mediaShareContentId = null;
190
172
  /**
191
173
  * The current mediaShareWhiteboardId for the meeting
@@ -193,8 +175,7 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
193
175
  * @type {String}
194
176
  * @private
195
177
  * @memberof Members
196
- */
197
-
178
+ */
198
179
  _this.mediaShareWhiteboardId = null;
199
180
  /**
200
181
  * The current recordingId for the meeting, if it exists
@@ -202,23 +183,23 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
202
183
  * @type {String}
203
184
  * @private
204
185
  * @memberof Members
205
- */
206
-
186
+ */
207
187
  _this.recordingId = null;
188
+
208
189
  /**
209
190
  * reference to a ReceiveSlotManager instance (for multistream)
210
191
  * @private
211
192
  */
212
-
213
193
  _this.receiveSlotManager = attrs.receiveSlotManager;
194
+
214
195
  /**
215
196
  * reference to a MediaRequestManager instance that manages main video requests (for multistream)
216
197
  * @private
217
198
  */
218
-
219
199
  _this.mediaRequestManagers = attrs.mediaRequestManagers;
220
200
  return _this;
221
201
  }
202
+
222
203
  /**
223
204
  * Internal update the self Id value
224
205
  * @param {Object} payload
@@ -228,42 +209,32 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
228
209
  * @private
229
210
  * @memberof Members
230
211
  */
231
-
232
-
233
212
  (0, _createClass2.default)(Members, [{
234
213
  key: "locusSelfUpdate",
235
214
  value: function locusSelfUpdate(payload) {
236
215
  var newSelfId = null;
237
216
  var oldSelfId = null;
238
-
239
217
  if (payload) {
240
218
  if (payload.newSelf) {
241
219
  newSelfId = payload.newSelf.id;
242
220
  }
243
-
244
221
  if (payload.oldSelf) {
245
222
  oldSelfId = payload.oldSelf.id;
246
223
  }
247
224
  }
248
-
249
225
  if (newSelfId) {
250
226
  var theSelf = this.membersCollection.get(newSelfId);
251
-
252
227
  if (theSelf) {
253
228
  theSelf.setIsSelf(true);
254
229
  }
255
230
  }
256
-
257
231
  if (oldSelfId) {
258
232
  var notSelf = this.membersCollection.get(oldSelfId);
259
-
260
233
  if (notSelf) {
261
234
  notSelf.setIsSelf(false);
262
235
  }
263
236
  }
264
-
265
237
  this.selfId = newSelfId;
266
-
267
238
  _triggerProxy.default.trigger(this, {
268
239
  file: 'members',
269
240
  function: 'locusSelfUpdate'
@@ -272,6 +243,7 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
272
243
  endedSelfId: oldSelfId
273
244
  });
274
245
  }
246
+
275
247
  /**
276
248
  * Internal update the hostId value
277
249
  * @param {Object} payload
@@ -281,41 +253,32 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
281
253
  * @private
282
254
  * @memberof Members
283
255
  */
284
-
285
256
  }, {
286
257
  key: "locusHostUpdate",
287
258
  value: function locusHostUpdate(payload) {
288
259
  var newHostId = null;
289
260
  var oldHostId = null;
290
-
291
261
  if (payload) {
292
262
  if (payload.newHost) {
293
263
  newHostId = payload.newHost.id;
294
264
  }
295
-
296
265
  if (payload.oldHost) {
297
266
  oldHostId = payload.oldHost.id;
298
267
  }
299
268
  }
300
-
301
269
  if (newHostId) {
302
270
  var theHost = this.membersCollection.get(newHostId);
303
-
304
271
  if (theHost) {
305
272
  theHost.setIsHost(true);
306
273
  }
307
274
  }
308
-
309
275
  if (oldHostId) {
310
276
  var notHost = this.membersCollection.get(oldHostId);
311
-
312
277
  if (notHost) {
313
278
  notHost.setIsHost(false);
314
279
  }
315
280
  }
316
-
317
281
  this.hostId = newHostId;
318
-
319
282
  _triggerProxy.default.trigger(this, {
320
283
  file: 'members',
321
284
  function: 'locusHostUpdate'
@@ -324,6 +287,23 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
324
287
  endedHostId: oldHostId
325
288
  });
326
289
  }
290
+
291
+ /**
292
+ * clear member collection
293
+ * @returns {void}
294
+ * @private
295
+ * @memberof Members
296
+ */
297
+ }, {
298
+ key: "clearMembers",
299
+ value: function clearMembers() {
300
+ this.membersCollection.reset();
301
+ _triggerProxy.default.trigger(this, {
302
+ file: 'members',
303
+ function: 'clearMembers'
304
+ }, _constants.EVENT_TRIGGERS.MEMBERS_CLEAR, {});
305
+ }
306
+
327
307
  /**
328
308
  * when new participant updates come in, both delta and full participants, update them in members collection
329
309
  * delta object in the event will have {updated, added} and full will be the full membersCollection
@@ -333,23 +313,29 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
333
313
  * @private
334
314
  * @memberof Members
335
315
  */
336
-
337
316
  }, {
338
317
  key: "locusParticipantsUpdate",
339
318
  value: function locusParticipantsUpdate(payload) {
340
319
  if (payload) {
320
+ var _this$receiveSlotMana;
321
+ if (payload.isReplace) {
322
+ this.clearMembers();
323
+ }
341
324
  var delta = this.handleLocusInfoUpdatedParticipants(payload);
342
325
  var full = this.handleMembersUpdate(delta); // SDK should propagate the full list for both delta and non delta updates
343
326
 
327
+ (_this$receiveSlotMana = this.receiveSlotManager) === null || _this$receiveSlotMana === void 0 ? void 0 : _this$receiveSlotMana.updateMemberIds();
344
328
  _triggerProxy.default.trigger(this, {
345
329
  file: 'members',
346
330
  function: 'locusParticipantsUpdate'
347
331
  }, _constants.EVENT_TRIGGERS.MEMBERS_UPDATE, {
348
332
  delta: delta,
349
- full: full
333
+ full: full,
334
+ isReplace: !!payload.isReplace
350
335
  });
351
336
  }
352
337
  }
338
+
353
339
  /**
354
340
  * Internal update the content id
355
341
  * @param {Object} payload
@@ -359,26 +345,22 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
359
345
  * @private
360
346
  * @memberof Members
361
347
  */
362
-
363
348
  }, {
364
349
  key: "locusMediaSharesUpdate",
365
350
  value: function locusMediaSharesUpdate(payload) {
366
351
  var _payload$current, _payload$previous, _payload$current2, _payload$previous2;
367
-
368
352
  var currentContent = (_payload$current = payload.current) === null || _payload$current === void 0 ? void 0 : _payload$current.content;
369
353
  var previousContent = (_payload$previous = payload.previous) === null || _payload$previous === void 0 ? void 0 : _payload$previous.content;
370
354
  var currentWhiteboard = (_payload$current2 = payload.current) === null || _payload$current2 === void 0 ? void 0 : _payload$current2.whiteboard;
371
355
  var previousWhiteboard = (_payload$previous2 = payload.previous) === null || _payload$previous2 === void 0 ? void 0 : _payload$previous2.whiteboard;
372
356
  var whoSharing = null;
373
357
  var whoStopped = null;
374
-
375
358
  if (currentContent !== null && currentContent !== void 0 && currentContent.beneficiaryId) {
376
359
  if (currentContent.disposition === _constants.FLOOR_ACTION.GRANTED) {
377
360
  whoSharing = currentContent.beneficiaryId;
378
361
  this.mediaShareWhiteboardId = null;
379
362
  this.mediaShareContentId = whoSharing;
380
363
  }
381
-
382
364
  if ((previousContent === null || previousContent === void 0 ? void 0 : previousContent.disposition) === _constants.FLOOR_ACTION.GRANTED) {
383
365
  if (currentContent.disposition === _constants.FLOOR_ACTION.RELEASED) {
384
366
  whoStopped = currentContent.beneficiaryId;
@@ -388,14 +370,12 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
388
370
  }
389
371
  }
390
372
  }
391
-
392
373
  if (currentWhiteboard !== null && currentWhiteboard !== void 0 && currentWhiteboard.beneficiaryId) {
393
374
  if (currentWhiteboard.disposition === _constants.FLOOR_ACTION.GRANTED) {
394
375
  whoSharing = currentWhiteboard.beneficiaryId;
395
376
  this.mediaShareContentId = null;
396
377
  this.mediaShareWhiteboardId = whoSharing;
397
378
  }
398
-
399
379
  if ((previousWhiteboard === null || previousWhiteboard === void 0 ? void 0 : previousWhiteboard.disposition) === _constants.FLOOR_ACTION.GRANTED) {
400
380
  if (currentWhiteboard.disposition === _constants.FLOOR_ACTION.RELEASED) {
401
381
  whoStopped = currentWhiteboard.beneficiaryId;
@@ -405,23 +385,18 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
405
385
  }
406
386
  }
407
387
  }
408
-
409
388
  if (whoSharing) {
410
389
  var shareMember = this.membersCollection.get(whoSharing);
411
-
412
390
  if (shareMember) {
413
391
  shareMember.setIsContentSharing(true);
414
392
  }
415
393
  }
416
-
417
394
  if (whoStopped) {
418
395
  var stopMember = this.membersCollection.get(whoStopped);
419
-
420
396
  if (stopMember) {
421
397
  stopMember.setIsContentSharing(false);
422
398
  }
423
399
  }
424
-
425
400
  _triggerProxy.default.trigger(this, {
426
401
  file: 'members',
427
402
  function: 'locusMediaSharesUpdate'
@@ -430,6 +405,7 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
430
405
  endedSharingId: whoStopped
431
406
  });
432
407
  }
408
+
433
409
  /**
434
410
  * Internal update the locus url value
435
411
  * @param {Object} payload
@@ -438,7 +414,6 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
438
414
  * @private
439
415
  * @memberof Members
440
416
  */
441
-
442
417
  }, {
443
418
  key: "locusUrlUpdate",
444
419
  value: function locusUrlUpdate(payload) {
@@ -446,6 +421,7 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
446
421
  this.setLocusUrl(null, payload);
447
422
  }
448
423
  }
424
+
449
425
  /**
450
426
  * Internal update the type of meeting
451
427
  * @param {Object} payload
@@ -454,7 +430,6 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
454
430
  * @private
455
431
  * @memberof Members
456
432
  */
457
-
458
433
  }, {
459
434
  key: "locusFullStateTypeUpdate",
460
435
  value: function locusFullStateTypeUpdate(payload) {
@@ -468,6 +443,7 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
468
443
  this.setType(payload);
469
444
  }
470
445
  }
446
+
471
447
  /**
472
448
  * sets values in the members collection for updated and added properties from delta
473
449
  * @param {Object} membersUpdate {updated: [], added: []}
@@ -475,7 +451,6 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
475
451
  * @private
476
452
  * @memberof Members
477
453
  */
478
-
479
454
  }, {
480
455
  key: "handleMembersUpdate",
481
456
  value: function handleMembersUpdate(membersUpdate) {
@@ -483,14 +458,13 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
483
458
  if (membersUpdate.updated) {
484
459
  this.constructMembers(membersUpdate.updated);
485
460
  }
486
-
487
461
  if (membersUpdate.added) {
488
462
  this.constructMembers(membersUpdate.added);
489
463
  }
490
464
  }
491
-
492
465
  return this.membersCollection.getAll();
493
466
  }
467
+
494
468
  /**
495
469
  * set members to the member collection from each updated/added lists as passed in
496
470
  * @param {Array} list
@@ -498,16 +472,15 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
498
472
  * @private
499
473
  * @memberof Members
500
474
  */
501
-
502
475
  }, {
503
476
  key: "constructMembers",
504
477
  value: function constructMembers(list) {
505
478
  var _this2 = this;
506
-
507
479
  list.forEach(function (member) {
508
480
  _this2.membersCollection.set(member.id, member);
509
481
  });
510
482
  }
483
+
511
484
  /**
512
485
  * Internal update the participants value
513
486
  * @param {Object} payload
@@ -515,21 +488,19 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
515
488
  * @private
516
489
  * @memberof Members
517
490
  */
518
-
519
491
  }, {
520
492
  key: "handleLocusInfoUpdatedParticipants",
521
493
  value: function handleLocusInfoUpdatedParticipants(payload) {
522
494
  this.hostId = payload.hostId || this.hostId;
523
495
  this.selfId = payload.selfId || this.selfId;
524
496
  this.recordingId = payload.recordingId;
525
-
526
497
  if (!payload.participants) {
527
498
  _loggerProxy.default.logger.warn('Members:index#handleLocusInfoUpdatedParticipants --> participants payload is missing.');
528
499
  }
529
-
530
500
  var memberUpdate = this.update(payload.participants);
531
501
  return memberUpdate;
532
502
  }
503
+
533
504
  /**
534
505
  * Update the locus Url
535
506
  * @param {Object} locus
@@ -539,12 +510,10 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
539
510
  * @public
540
511
  * @memberof Members
541
512
  */
542
-
543
513
  }, {
544
514
  key: "setLocusUrl",
545
515
  value: function setLocusUrl(locus) {
546
516
  var locusUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
547
-
548
517
  if (locusUrl) {
549
518
  this.locusUrl = locusUrl;
550
519
  } else if (locus && (locus.locusUrl || locus.url)) {
@@ -553,6 +522,7 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
553
522
  throw new _parameter.default('Setting locusUrl for the Members module should be done with a locus object or locusUrl');
554
523
  }
555
524
  }
525
+
556
526
  /**
557
527
  * Update the host id
558
528
  * @param {Object} locus
@@ -562,12 +532,10 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
562
532
  * @public
563
533
  * @memberof Members
564
534
  */
565
-
566
535
  }, {
567
536
  key: "setHostId",
568
537
  value: function setHostId(locus) {
569
538
  var hostId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
570
-
571
539
  if (hostId) {
572
540
  this.hostId = hostId;
573
541
  } else if (locus) {
@@ -576,6 +544,7 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
576
544
  throw new _parameter.default('Setting hostid for the Members module should be done with a locus object or hostId');
577
545
  }
578
546
  }
547
+
579
548
  /**
580
549
  * Update the type
581
550
  * @param {Object} fullState
@@ -585,12 +554,10 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
585
554
  * @public
586
555
  * @memberof Members
587
556
  */
588
-
589
557
  }, {
590
558
  key: "setType",
591
559
  value: function setType(fullState) {
592
560
  var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
593
-
594
561
  if (type) {
595
562
  this.type = type;
596
563
  } else if (fullState) {
@@ -599,6 +566,7 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
599
566
  throw new _parameter.default('Setting type for the Members module should be done with a fullstate object or type string');
600
567
  }
601
568
  }
569
+
602
570
  /**
603
571
  * Update the self Id
604
572
  * @param {Object} locus
@@ -607,12 +575,10 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
607
575
  * @returns {undefined}
608
576
  * @memberof Members
609
577
  */
610
-
611
578
  }, {
612
579
  key: "setSelfId",
613
580
  value: function setSelfId(locus) {
614
581
  var selfId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
615
-
616
582
  if (selfId) {
617
583
  this.selfId = selfId;
618
584
  } else if (locus) {
@@ -621,6 +587,7 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
621
587
  throw new _parameter.default('Setting selfid for the Members module should be done with a locus object or selfId');
622
588
  }
623
589
  }
590
+
624
591
  /**
625
592
  * Update the media share content id
626
593
  * @param {Object} locus
@@ -629,7 +596,6 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
629
596
  * @returns {undefined}
630
597
  * @memberof Members
631
598
  */
632
-
633
599
  }, {
634
600
  key: "setMediaShareContentId",
635
601
  value: function setMediaShareContentId(locus, contentId) {
@@ -644,6 +610,7 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
644
610
  throw new _parameter.default('Setting hostid for the Members module should be done with a locus object or hostId');
645
611
  }
646
612
  }
613
+
647
614
  /**
648
615
  * Update the media share whiteboard id
649
616
  * @param {Object} locus
@@ -652,7 +619,6 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
652
619
  * @returns {undefined}
653
620
  * @memberof Members
654
621
  */
655
-
656
622
  }, {
657
623
  key: "setMediaShareWhiteboardId",
658
624
  value: function setMediaShareWhiteboardId(locus, whiteboardId) {
@@ -667,6 +633,7 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
667
633
  throw new _parameter.default('Setting hostid for the Members module should be done with a locus object or hostId');
668
634
  }
669
635
  }
636
+
670
637
  /**
671
638
  * Find all the updates, and added members
672
639
  * Removed/left members will end up in updates
@@ -676,25 +643,20 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
676
643
  * @private
677
644
  * @memberof Members
678
645
  */
679
-
680
646
  }, {
681
647
  key: "update",
682
648
  value: function update(participants) {
683
649
  var _this3 = this;
684
-
685
650
  var membersUpdate = {
686
651
  added: [],
687
652
  updated: []
688
653
  };
689
-
690
654
  if (participants) {
691
655
  participants.forEach(function (participant) {
692
656
  if (participant.hideInRoster) {
693
657
  return;
694
658
  }
695
-
696
659
  var existing = _this3.membersCollection.get(participant.id);
697
-
698
660
  if (existing) {
699
661
  // TODO: compare existing member to new participant coming in properties and determine if updated (this helps for non delta events)
700
662
  // on client re renders, but we will have to determine what values to compare to determine difference, premature optimization
@@ -718,9 +680,9 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
718
680
  }
719
681
  });
720
682
  }
721
-
722
683
  return membersUpdate;
723
684
  }
685
+
724
686
  /**
725
687
  * Adds a guest Member to the associated meeting
726
688
  * @param {String} invitee
@@ -728,63 +690,58 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
728
690
  * @returns {Promise}
729
691
  * @memberof Members
730
692
  */
731
-
732
693
  }, {
733
694
  key: "addMember",
734
695
  value: function addMember(invitee, alertIfActive) {
735
696
  if (!this.locusUrl) {
736
697
  return _promise.default.reject(new _parameter.default('The associated locus url for this meeting object must be defined.'));
737
698
  }
738
-
739
699
  if (_util.default.isInvalidInvitee(invitee)) {
740
700
  return _promise.default.reject(new _parameter.default('The invitee must be defined with either a valid email, emailAddress or phoneNumber property.'));
741
701
  }
742
-
743
702
  var options = _util.default.generateAddMemberOptions(invitee, this.locusUrl, alertIfActive);
744
-
745
703
  return this.membersRequest.addMembers(options);
746
704
  }
705
+
747
706
  /**
748
707
  * Cancels an outgoing PSTN call to the associated meeting
749
708
  * @param {String} invitee
750
709
  * @returns {Promise}
751
710
  * @memberof Members
752
711
  */
753
-
754
712
  }, {
755
713
  key: "cancelPhoneInvite",
756
714
  value: function cancelPhoneInvite(invitee) {
757
715
  if (!this.locusUrl) {
758
716
  return _promise.default.reject(new _parameter.default('The associated locus url for this meeting object must be defined.'));
759
717
  }
760
-
761
718
  if (_util.default.isInvalidInvitee(invitee)) {
762
719
  return _promise.default.reject(new _parameter.default('The invitee must be defined with a valid phoneNumber property.'));
763
720
  }
764
-
765
721
  var options = _util.default.cancelPhoneInviteOptions(invitee, this.locusUrl);
766
-
767
722
  return this.membersRequest.cancelPhoneInvite(options);
768
723
  }
724
+
769
725
  /**
770
726
  * Admits waiting members (invited guests to meeting)
771
727
  * @param {Array} memberIds
728
+ * @param {Object} sessionLocusUrls: {authorizingLocusUrl, mainLocusUrl}
772
729
  * @returns {Promise}
773
730
  * @public
774
731
  * @memberof Members
775
732
  */
776
-
777
733
  }, {
778
734
  key: "admitMembers",
779
- value: function admitMembers(memberIds) {
735
+ value: function admitMembers(memberIds, sessionLocusUrls) {
780
736
  if ((0, _isEmpty2.default)(memberIds)) {
781
737
  return _promise.default.reject(new _parameter.default('No member ids provided to admit.'));
782
738
  }
783
-
784
- var options = _util.default.generateAdmitMemberOptions(memberIds, this.locusUrl);
785
-
739
+ var options = _objectSpread({
740
+ sessionLocusUrls: sessionLocusUrls
741
+ }, _util.default.generateAdmitMemberOptions(memberIds, this.locusUrl));
786
742
  return this.membersRequest.admitMember(options);
787
743
  }
744
+
788
745
  /**
789
746
  * Removes a member from the meeting
790
747
  * @param {String} memberId
@@ -792,48 +749,79 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
792
749
  * @public
793
750
  * @memberof Members
794
751
  */
795
-
796
752
  }, {
797
753
  key: "removeMember",
798
754
  value: function removeMember(memberId) {
799
755
  if (!this.locusUrl) {
800
756
  return _promise.default.reject(new _parameter.default('The associated locus url for this meeting object must be defined.'));
801
757
  }
802
-
803
758
  if (!memberId) {
804
759
  return _promise.default.reject(new _parameter.default('The member id must be defined to remove the member.'));
805
760
  }
806
-
807
761
  var options = _util.default.generateRemoveMemberOptions(memberId, this.locusUrl);
808
-
809
762
  return this.membersRequest.removeMember(options);
810
763
  }
764
+
811
765
  /**
812
766
  * Audio mutes another member in a meeting
813
767
  * @param {String} memberId
814
768
  * @param {boolean} [mute] default true
769
+ * @param {boolean} [isAudio] default true
815
770
  * @returns {Promise}
816
771
  * @public
817
772
  * @memberof Members
818
773
  */
819
-
820
774
  }, {
821
775
  key: "muteMember",
822
776
  value: function muteMember(memberId) {
823
777
  var mute = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
824
-
778
+ var isAudio = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
825
779
  if (!this.locusUrl) {
826
780
  return _promise.default.reject(new _parameter.default('The associated locus url for this meetings members object must be defined.'));
827
781
  }
828
-
829
782
  if (!memberId) {
830
783
  return _promise.default.reject(new _parameter.default('The member id must be defined to mute the member.'));
831
784
  }
832
-
833
- var options = _util.default.generateMuteMemberOptions(memberId, mute, this.locusUrl);
834
-
785
+ var options = _util.default.generateMuteMemberOptions(memberId, mute, this.locusUrl, isAudio);
835
786
  return this.membersRequest.muteMember(options);
836
787
  }
788
+
789
+ /**
790
+ * Assign role(s) to a member in the meeting
791
+ * @param {String} memberId
792
+ * @param {[ServerRoleShape]} roles - to assign an array of roles
793
+ * @returns {Promise}
794
+ * @public
795
+ * @memberof Members
796
+ */
797
+ }, {
798
+ key: "assignRoles",
799
+ value: function assignRoles(memberId, roles) {
800
+ if (!this.locusUrl) {
801
+ return _promise.default.reject(new _parameter.default('The associated locus url for this meetings members object must be defined.'));
802
+ }
803
+ if (!memberId) {
804
+ return _promise.default.reject(new _parameter.default('The member id must be defined to assign the roles to a member.'));
805
+ }
806
+ var options = _util.default.generateRoleAssignmentMemberOptions(memberId, roles, this.locusUrl);
807
+ return this.membersRequest.assignRolesMember(options).catch(function (error) {
808
+ var _error$body;
809
+ var errorCode = (_error$body = error.body) === null || _error$body === void 0 ? void 0 : _error$body.errorCode;
810
+ switch (errorCode) {
811
+ case _constants.ASSIGN_ROLES_ERROR_CODES.ReclaimHostNotSupportedErrorCode:
812
+ return _promise.default.reject(new _reclaimHostRoleErrors.ReclaimHostNotSupportedError());
813
+ case _constants.ASSIGN_ROLES_ERROR_CODES.ReclaimHostNotAllowedErrorCode:
814
+ return _promise.default.reject(new _reclaimHostRoleErrors.ReclaimHostNotAllowedError());
815
+ case _constants.ASSIGN_ROLES_ERROR_CODES.ReclaimHostEmptyWrongKeyErrorCode:
816
+ return _promise.default.reject(new _reclaimHostRoleErrors.ReclaimHostEmptyWrongKeyError());
817
+ case _constants.ASSIGN_ROLES_ERROR_CODES.ReclaimHostIsHostAlreadyErrorCode:
818
+ return _promise.default.reject(new _reclaimHostRoleErrors.ReclaimHostIsHostAlreadyError());
819
+ default:
820
+ return _promise.default.reject(error);
821
+ }
822
+ });
823
+ }
824
+
837
825
  /**
838
826
  * Raise or lower the hand of a member in a meeting
839
827
  * @param {String} memberId
@@ -842,24 +830,20 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
842
830
  * @public
843
831
  * @memberof Members
844
832
  */
845
-
846
833
  }, {
847
834
  key: "raiseOrLowerHand",
848
835
  value: function raiseOrLowerHand(memberId) {
849
836
  var raise = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
850
-
851
837
  if (!this.locusUrl) {
852
838
  return _promise.default.reject(new _parameter.default('The associated locus url for this meetings members object must be defined.'));
853
839
  }
854
-
855
840
  if (!memberId) {
856
841
  return _promise.default.reject(new _parameter.default('The member id must be defined to raise/lower the hand of the member.'));
857
842
  }
858
-
859
843
  var options = _util.default.generateRaiseHandMemberOptions(memberId, raise, this.locusUrl);
860
-
861
844
  return this.membersRequest.raiseOrLowerHandMember(options);
862
845
  }
846
+
863
847
  /**
864
848
  * Lower all hands of members in a meeting
865
849
  * @param {String} requestingMemberId - id of the participant which requested the lower all hands
@@ -867,22 +851,19 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
867
851
  * @public
868
852
  * @memberof Members
869
853
  */
870
-
871
854
  }, {
872
855
  key: "lowerAllHands",
873
856
  value: function lowerAllHands(requestingMemberId) {
874
857
  if (!this.locusUrl) {
875
858
  return _promise.default.reject(new _parameter.default('The associated locus url for this meetings members object must be defined.'));
876
859
  }
877
-
878
860
  if (!requestingMemberId) {
879
861
  return _promise.default.reject(new _parameter.default('The requestingMemberId must be defined to lower all hands in a meeting.'));
880
862
  }
881
-
882
863
  var options = _util.default.generateLowerAllHandsMemberOptions(requestingMemberId, this.locusUrl);
883
-
884
864
  return this.membersRequest.lowerAllHandsMember(options);
885
865
  }
866
+
886
867
  /**
887
868
  * Transfers the host to another member
888
869
  * @param {String} memberId
@@ -891,24 +872,20 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
891
872
  * @public
892
873
  * @memberof Members
893
874
  */
894
-
895
875
  }, {
896
876
  key: "transferHostToMember",
897
877
  value: function transferHostToMember(memberId) {
898
878
  var moderator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
899
-
900
879
  if (!this.locusUrl) {
901
880
  return _promise.default.reject(new _parameter.default('The associated locus url for this meetings members object must be defined.'));
902
881
  }
903
-
904
882
  if (!memberId) {
905
883
  return _promise.default.reject(new _parameter.default('The member id must be defined to transfer host to the member.'));
906
884
  }
907
-
908
885
  var options = _util.default.generateTransferHostMemberOptions(memberId, moderator, this.locusUrl);
909
-
910
886
  return this.membersRequest.transferHostToMember(options);
911
887
  }
888
+
912
889
  /**
913
890
  * Sends DTMF tones for the PSTN member of a meeting
914
891
  * @param {String} tones a string of one or more DTMF tones to send
@@ -917,23 +894,19 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
917
894
  * @public
918
895
  * @memberof Members
919
896
  */
920
-
921
897
  }, {
922
898
  key: "sendDialPadKey",
923
899
  value: function sendDialPadKey() {
924
900
  var tones = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
925
901
  var memberId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
926
-
902
+ // @ts-ignore
927
903
  if (!tones && tones !== 0) {
928
904
  return _promise.default.reject(new _parameter.default('DMTF tones must be passed in'));
929
905
  }
930
-
931
906
  var member = this.membersCollection.get(memberId);
932
-
933
907
  if (!member) {
934
908
  return _promise.default.reject(new _parameter.default('there is no member associated with that Id'));
935
909
  }
936
-
937
910
  var locusUrl = this.locusUrl;
938
911
  var deviceArray = member.participant.devices;
939
912
  var device = deviceArray.find(function (_ref) {
@@ -941,36 +914,34 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
941
914
  return deviceType === 'SIP';
942
915
  });
943
916
  var url = device === null || device === void 0 ? void 0 : device.url;
944
-
945
917
  if (locusUrl && url) {
946
918
  var options = _util.default.genderateSendDTMFOptions(url, tones, memberId, locusUrl);
947
-
948
919
  return this.membersRequest.sendDialPadKey(options);
949
920
  }
950
-
951
921
  return _promise.default.reject(new Error('Members:index#sendDialPadKey --> cannot send DTMF, meeting does not have a connection to the "locus" call control service.'));
952
922
  }
923
+
953
924
  /** Finds a member that has any device with a csi matching provided value
954
925
  *
955
926
  * @param {number} csi
956
927
  * @returns {Member}
957
928
  */
958
-
959
929
  }, {
960
930
  key: "findMemberByCsi",
961
931
  value: function findMemberByCsi(csi) {
962
932
  return (0, _values.default)(this.membersCollection.getAll()).find(function (member) {
963
933
  var _member$participant, _member$participant$d;
964
-
965
- return (_member$participant = member.participant) === null || _member$participant === void 0 ? void 0 : (_member$participant$d = _member$participant.devices) === null || _member$participant$d === void 0 ? void 0 : _member$participant$d.find(function (device) {
966
- var _device$csis;
967
-
968
- return (_device$csis = device.csis) === null || _device$csis === void 0 ? void 0 : _device$csis.find(function (memberCsi) {
969
- return memberCsi === csi;
970
- });
971
- });
934
+ return (// @ts-ignore
935
+ (_member$participant = member.participant) === null || _member$participant === void 0 ? void 0 : (_member$participant$d = _member$participant.devices) === null || _member$participant$d === void 0 ? void 0 : _member$participant$d.find(function (device) {
936
+ var _device$csis;
937
+ return (_device$csis = device.csis) === null || _device$csis === void 0 ? void 0 : _device$csis.find(function (memberCsi) {
938
+ return memberCsi === csi;
939
+ });
940
+ })
941
+ );
972
942
  });
973
943
  }
944
+
974
945
  /**
975
946
  * Returns an array of a member's CSIs matching the mediaType and mediaContent
976
947
  *
@@ -979,19 +950,16 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
979
950
  * @param {string} mediaContent 'main' or 'slides'
980
951
  * @returns {Member}
981
952
  */
982
-
983
953
  }, {
984
954
  key: "getCsisForMember",
985
955
  value: function getCsisForMember(memberId) {
986
956
  var _this$membersCollecti, _this$membersCollecti2, _this$membersCollecti3;
987
-
988
957
  var mediaType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'video';
989
958
  var mediaContent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'main';
990
959
  var csis = [];
991
960
  (_this$membersCollecti = this.membersCollection.get(memberId)) === null || _this$membersCollecti === void 0 ? void 0 : (_this$membersCollecti2 = _this$membersCollecti.participant) === null || _this$membersCollecti2 === void 0 ? void 0 : (_this$membersCollecti3 = _this$membersCollecti2.devices) === null || _this$membersCollecti3 === void 0 ? void 0 : _this$membersCollecti3.forEach(function (device) {
992
961
  if (device.mediaSessions) {
993
962
  var _device$mediaSessions;
994
-
995
963
  var deviceCsis = (_device$mediaSessions = device.mediaSessions) === null || _device$mediaSessions === void 0 ? void 0 : _device$mediaSessions.filter(function (mediaSession) {
996
964
  return mediaSession.mediaType === mediaType && mediaSession.mediaContent === mediaContent;
997
965
  }).map(function (mediaSession) {
@@ -1002,9 +970,31 @@ var Members = /*#__PURE__*/function (_StatelessWebexPlugin) {
1002
970
  });
1003
971
  return csis;
1004
972
  }
973
+
974
+ /**
975
+ * Edit display name of participants in a meeting
976
+ * @param {string} memberId - id of the participant who is receiving request
977
+ * @param {string} requestingParticipantId - id of the participant who is sending request (optional)
978
+ * @param {string} [alias] - alias name
979
+ * @returns {Promise}
980
+ * @public
981
+ * @memberof Members
982
+ */
983
+ }, {
984
+ key: "editDisplayName",
985
+ value: function editDisplayName(memberId, requestingParticipantId, alias) {
986
+ if (!this.locusUrl) {
987
+ return _promise.default.reject(new _parameter.default('The associated locus url for this meetings members object must be defined.'));
988
+ }
989
+ if (!memberId) {
990
+ return _promise.default.reject(new _parameter.default('The member id must be defined to edit display name of the member.'));
991
+ }
992
+ var locusUrl = this.locusUrl;
993
+ var options = _util.default.generateEditDisplayNameMemberOptions(memberId, requestingParticipantId, alias, locusUrl);
994
+ return this.membersRequest.editDisplayNameMember(options);
995
+ }
1005
996
  }]);
1006
997
  return Members;
1007
998
  }(_webexCore.StatelessWebexPlugin);
1008
-
1009
999
  exports.default = Members;
1010
1000
  //# sourceMappingURL=index.js.map