@webex/plugin-meetings 3.0.0-beta.15 → 3.0.0-beta.151

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