@webex/plugin-meetings 2.60.0 → 2.60.1-next.10

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 (539) hide show
  1. package/README.md +58 -8
  2. package/dist/annotation/annotation.types.d.ts +42 -0
  3. package/dist/annotation/annotation.types.js +7 -0
  4. package/dist/annotation/annotation.types.js.map +1 -0
  5. package/dist/annotation/constants.d.ts +31 -0
  6. package/dist/annotation/constants.js +41 -0
  7. package/dist/annotation/constants.js.map +1 -0
  8. package/dist/annotation/index.d.ts +117 -0
  9. package/dist/annotation/index.js +357 -0
  10. package/dist/annotation/index.js.map +1 -0
  11. package/dist/breakouts/breakout.d.ts +8 -0
  12. package/dist/breakouts/breakout.js +215 -0
  13. package/dist/breakouts/breakout.js.map +1 -0
  14. package/dist/breakouts/collection.d.ts +5 -0
  15. package/dist/breakouts/collection.js +22 -0
  16. package/dist/breakouts/collection.js.map +1 -0
  17. package/dist/breakouts/edit-lock-error.d.ts +15 -0
  18. package/dist/breakouts/edit-lock-error.js +51 -0
  19. package/dist/breakouts/edit-lock-error.js.map +1 -0
  20. package/dist/breakouts/events.d.ts +8 -0
  21. package/dist/breakouts/events.js +44 -0
  22. package/dist/breakouts/events.js.map +1 -0
  23. package/dist/breakouts/index.d.ts +5 -0
  24. package/dist/breakouts/index.js +1047 -0
  25. package/dist/breakouts/index.js.map +1 -0
  26. package/dist/breakouts/request.d.ts +22 -0
  27. package/dist/breakouts/request.js +77 -0
  28. package/dist/breakouts/request.js.map +1 -0
  29. package/dist/breakouts/utils.d.ts +15 -0
  30. package/dist/breakouts/utils.js +64 -0
  31. package/dist/breakouts/utils.js.map +1 -0
  32. package/dist/common/browser-detection.js +2 -3
  33. package/dist/common/browser-detection.js.map +1 -1
  34. package/dist/common/collection.js +3 -4
  35. package/dist/common/collection.js.map +1 -1
  36. package/dist/common/config.js +1 -2
  37. package/dist/common/config.js.map +1 -1
  38. package/dist/common/errors/captcha-error.js +1 -2
  39. package/dist/common/errors/captcha-error.js.map +1 -1
  40. package/dist/common/errors/intent-to-join.js +1 -2
  41. package/dist/common/errors/intent-to-join.js.map +1 -1
  42. package/dist/common/errors/join-meeting.js +1 -2
  43. package/dist/common/errors/join-meeting.js.map +1 -1
  44. package/dist/common/errors/media.js +1 -2
  45. package/dist/common/errors/media.js.map +1 -1
  46. package/dist/common/errors/no-meeting-info.d.ts +14 -0
  47. package/dist/common/errors/no-meeting-info.js +50 -0
  48. package/dist/common/errors/no-meeting-info.js.map +1 -0
  49. package/dist/common/errors/parameter.js +3 -4
  50. package/dist/common/errors/parameter.js.map +1 -1
  51. package/dist/common/errors/password-error.js +1 -2
  52. package/dist/common/errors/password-error.js.map +1 -1
  53. package/dist/common/errors/permission.js +1 -2
  54. package/dist/common/errors/permission.js.map +1 -1
  55. package/dist/common/errors/{reclaim-host-role-error.js → reclaim-host-role-errors.js} +7 -11
  56. package/dist/common/errors/reclaim-host-role-errors.js.map +1 -0
  57. package/dist/common/errors/reconnection-in-progress.js +1 -2
  58. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  59. package/dist/common/errors/reconnection.js +1 -2
  60. package/dist/common/errors/reconnection.js.map +1 -1
  61. package/dist/common/errors/stats.js +1 -2
  62. package/dist/common/errors/stats.js.map +1 -1
  63. package/dist/common/errors/webex-errors.d.ts +20 -8
  64. package/dist/common/errors/webex-errors.js +48 -28
  65. package/dist/common/errors/webex-errors.js.map +1 -1
  66. package/dist/common/errors/webex-meetings-error.js +1 -2
  67. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  68. package/dist/common/events/events-scope.js +1 -2
  69. package/dist/common/events/events-scope.js.map +1 -1
  70. package/dist/common/events/events.js +1 -2
  71. package/dist/common/events/events.js.map +1 -1
  72. package/dist/common/events/trigger-proxy.js +1 -2
  73. package/dist/common/events/trigger-proxy.js.map +1 -1
  74. package/dist/common/events/util.js +1 -2
  75. package/dist/common/events/util.js.map +1 -1
  76. package/dist/common/logs/logger-config.js +1 -2
  77. package/dist/common/logs/logger-config.js.map +1 -1
  78. package/dist/common/logs/logger-proxy.js +2 -3
  79. package/dist/common/logs/logger-proxy.js.map +1 -1
  80. package/dist/common/logs/request.d.ts +3 -1
  81. package/dist/common/logs/request.js +8 -5
  82. package/dist/common/logs/request.js.map +1 -1
  83. package/dist/common/queue.d.ts +9 -7
  84. package/dist/common/queue.js +22 -9
  85. package/dist/common/queue.js.map +1 -1
  86. package/dist/config.d.ts +6 -7
  87. package/dist/config.js +8 -10
  88. package/dist/config.js.map +1 -1
  89. package/dist/constants.d.ts +234 -100
  90. package/dist/constants.js +433 -444
  91. package/dist/constants.js.map +1 -1
  92. package/dist/controls-options-manager/constants.js +3 -6
  93. package/dist/controls-options-manager/constants.js.map +1 -1
  94. package/dist/controls-options-manager/enums.d.ts +11 -1
  95. package/dist/controls-options-manager/enums.js +15 -6
  96. package/dist/controls-options-manager/enums.js.map +1 -1
  97. package/dist/controls-options-manager/index.d.ts +17 -1
  98. package/dist/controls-options-manager/index.js +127 -38
  99. package/dist/controls-options-manager/index.js.map +1 -1
  100. package/dist/controls-options-manager/types.d.ts +43 -0
  101. package/dist/controls-options-manager/types.js +7 -0
  102. package/dist/controls-options-manager/types.js.map +1 -0
  103. package/dist/controls-options-manager/util.d.ts +1 -7
  104. package/dist/controls-options-manager/util.js +309 -19
  105. package/dist/controls-options-manager/util.js.map +1 -1
  106. package/dist/index.d.ts +6 -3
  107. package/dist/index.js +121 -5
  108. package/dist/index.js.map +1 -1
  109. package/dist/interceptors/index.d.ts +2 -0
  110. package/dist/interceptors/index.js +15 -0
  111. package/dist/interceptors/index.js.map +1 -0
  112. package/dist/interceptors/locusRetry.d.ts +27 -0
  113. package/dist/interceptors/locusRetry.js +94 -0
  114. package/dist/interceptors/locusRetry.js.map +1 -0
  115. package/dist/interpretation/collection.d.ts +5 -0
  116. package/dist/interpretation/collection.js +22 -0
  117. package/dist/interpretation/collection.js.map +1 -0
  118. package/dist/interpretation/index.d.ts +5 -0
  119. package/dist/interpretation/index.js +365 -0
  120. package/dist/interpretation/index.js.map +1 -0
  121. package/dist/interpretation/siLanguage.d.ts +5 -0
  122. package/dist/interpretation/siLanguage.js +24 -0
  123. package/dist/interpretation/siLanguage.js.map +1 -0
  124. package/dist/locus-info/controlsUtils.js +100 -11
  125. package/dist/locus-info/controlsUtils.js.map +1 -1
  126. package/dist/locus-info/embeddedAppsUtils.js +3 -4
  127. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  128. package/dist/locus-info/fullState.js +1 -2
  129. package/dist/locus-info/fullState.js.map +1 -1
  130. package/dist/locus-info/hostUtils.js +1 -2
  131. package/dist/locus-info/hostUtils.js.map +1 -1
  132. package/dist/locus-info/index.d.ts +57 -4
  133. package/dist/locus-info/index.js +425 -84
  134. package/dist/locus-info/index.js.map +1 -1
  135. package/dist/locus-info/infoUtils.js +13 -5
  136. package/dist/locus-info/infoUtils.js.map +1 -1
  137. package/dist/locus-info/mediaSharesUtils.js +58 -3
  138. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  139. package/dist/locus-info/parser.d.ts +66 -6
  140. package/dist/locus-info/parser.js +253 -80
  141. package/dist/locus-info/parser.js.map +1 -1
  142. package/dist/locus-info/selfUtils.js +97 -13
  143. package/dist/locus-info/selfUtils.js.map +1 -1
  144. package/dist/media/index.d.ts +2 -0
  145. package/dist/media/index.js +107 -319
  146. package/dist/media/index.js.map +1 -1
  147. package/dist/media/properties.d.ts +38 -53
  148. package/dist/media/properties.js +96 -153
  149. package/dist/media/properties.js.map +1 -1
  150. package/dist/media/util.js +1 -22
  151. package/dist/media/util.js.map +1 -1
  152. package/dist/mediaQualityMetrics/config.d.ts +234 -230
  153. package/dist/mediaQualityMetrics/config.js +302 -498
  154. package/dist/mediaQualityMetrics/config.js.map +1 -1
  155. package/dist/meeting/in-meeting-actions.d.ts +88 -0
  156. package/dist/meeting/in-meeting-actions.js +94 -3
  157. package/dist/meeting/in-meeting-actions.js.map +1 -1
  158. package/dist/meeting/index.d.ts +705 -520
  159. package/dist/meeting/index.js +5047 -3089
  160. package/dist/meeting/index.js.map +1 -1
  161. package/dist/meeting/locusMediaRequest.d.ts +74 -0
  162. package/dist/meeting/locusMediaRequest.js +291 -0
  163. package/dist/meeting/locusMediaRequest.js.map +1 -0
  164. package/dist/meeting/muteState.d.ts +93 -25
  165. package/dist/meeting/muteState.js +224 -133
  166. package/dist/meeting/muteState.js.map +1 -1
  167. package/dist/meeting/request.d.ts +82 -47
  168. package/dist/meeting/request.js +304 -199
  169. package/dist/meeting/request.js.map +1 -1
  170. package/dist/meeting/request.type.d.ts +11 -0
  171. package/dist/meeting/request.type.js +7 -0
  172. package/dist/meeting/request.type.js.map +1 -0
  173. package/dist/meeting/state.js +1 -2
  174. package/dist/meeting/state.js.map +1 -1
  175. package/dist/meeting/util.d.ts +118 -1
  176. package/dist/meeting/util.js +676 -435
  177. package/dist/meeting/util.js.map +1 -1
  178. package/dist/meeting/voicea-meeting.d.ts +20 -0
  179. package/dist/meeting/voicea-meeting.js +201 -0
  180. package/dist/meeting/voicea-meeting.js.map +1 -0
  181. package/dist/meeting-info/collection.js +3 -4
  182. package/dist/meeting-info/collection.js.map +1 -1
  183. package/dist/meeting-info/index.d.ts +13 -1
  184. package/dist/meeting-info/index.js +74 -7
  185. package/dist/meeting-info/index.js.map +1 -1
  186. package/dist/meeting-info/meeting-info-v2.d.ts +31 -1
  187. package/dist/meeting-info/meeting-info-v2.js +200 -63
  188. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  189. package/dist/meeting-info/request.js +1 -2
  190. package/dist/meeting-info/request.js.map +1 -1
  191. package/dist/meeting-info/util.js +2 -3
  192. package/dist/meeting-info/util.js.map +1 -1
  193. package/dist/meeting-info/utilv2.js +39 -41
  194. package/dist/meeting-info/utilv2.js.map +1 -1
  195. package/dist/meetings/collection.d.ts +17 -0
  196. package/dist/meetings/collection.js +42 -4
  197. package/dist/meetings/collection.js.map +1 -1
  198. package/dist/meetings/index.d.ts +114 -20
  199. package/dist/meetings/index.js +540 -126
  200. package/dist/meetings/index.js.map +1 -1
  201. package/dist/meetings/meetings.types.d.ts +4 -0
  202. package/dist/meetings/meetings.types.js +7 -0
  203. package/dist/meetings/meetings.types.js.map +1 -0
  204. package/dist/meetings/request.js +4 -3
  205. package/dist/meetings/request.js.map +1 -1
  206. package/dist/meetings/util.js +107 -6
  207. package/dist/meetings/util.js.map +1 -1
  208. package/dist/member/index.d.ts +13 -1
  209. package/dist/member/index.js +45 -2
  210. package/dist/member/index.js.map +1 -1
  211. package/dist/member/member.types.js +3 -4
  212. package/dist/member/member.types.js.map +1 -1
  213. package/dist/member/types.d.ts +32 -0
  214. package/dist/member/types.js +23 -0
  215. package/dist/member/types.js.map +1 -0
  216. package/dist/member/util.js +120 -29
  217. package/dist/member/util.js.map +1 -1
  218. package/dist/members/collection.d.ts +5 -0
  219. package/dist/members/collection.js +11 -2
  220. package/dist/members/collection.js.map +1 -1
  221. package/dist/members/index.d.ts +56 -11
  222. package/dist/members/index.js +174 -47
  223. package/dist/members/index.js.map +1 -1
  224. package/dist/members/request.d.ts +67 -11
  225. package/dist/members/request.js +102 -54
  226. package/dist/members/request.js.map +1 -1
  227. package/dist/members/types.js +3 -4
  228. package/dist/members/types.js.map +1 -1
  229. package/dist/members/util.d.ts +214 -1
  230. package/dist/members/util.js +327 -284
  231. package/dist/members/util.js.map +1 -1
  232. package/dist/metrics/constants.d.ts +15 -6
  233. package/dist/metrics/constants.js +17 -9
  234. package/dist/metrics/constants.js.map +1 -1
  235. package/dist/metrics/index.d.ts +4 -111
  236. package/dist/metrics/index.js +4 -452
  237. package/dist/metrics/index.js.map +1 -1
  238. package/dist/multistream/mediaRequestManager.d.ts +118 -0
  239. package/dist/multistream/mediaRequestManager.js +344 -0
  240. package/dist/multistream/mediaRequestManager.js.map +1 -0
  241. package/dist/multistream/receiveSlot.d.ts +68 -0
  242. package/dist/multistream/receiveSlot.js +200 -0
  243. package/dist/multistream/receiveSlot.js.map +1 -0
  244. package/dist/multistream/receiveSlotManager.d.ts +56 -0
  245. package/dist/multistream/receiveSlotManager.js +174 -0
  246. package/dist/multistream/receiveSlotManager.js.map +1 -0
  247. package/dist/multistream/remoteMedia.d.ts +72 -0
  248. package/dist/multistream/remoteMedia.js +268 -0
  249. package/dist/multistream/remoteMedia.js.map +1 -0
  250. package/dist/multistream/remoteMediaGroup.d.ts +47 -0
  251. package/dist/multistream/remoteMediaGroup.js +267 -0
  252. package/dist/multistream/remoteMediaGroup.js.map +1 -0
  253. package/dist/multistream/remoteMediaManager.d.ts +285 -0
  254. package/dist/multistream/remoteMediaManager.js +1211 -0
  255. package/dist/multistream/remoteMediaManager.js.map +1 -0
  256. package/dist/multistream/sendSlotManager.d.ts +61 -0
  257. package/dist/multistream/sendSlotManager.js +236 -0
  258. package/dist/multistream/sendSlotManager.js.map +1 -0
  259. package/dist/networkQualityMonitor/index.js +5 -4
  260. package/dist/networkQualityMonitor/index.js.map +1 -1
  261. package/dist/personal-meeting-room/index.js +2 -3
  262. package/dist/personal-meeting-room/index.js.map +1 -1
  263. package/dist/personal-meeting-room/request.js +2 -3
  264. package/dist/personal-meeting-room/request.js.map +1 -1
  265. package/dist/personal-meeting-room/util.js +1 -2
  266. package/dist/personal-meeting-room/util.js.map +1 -1
  267. package/dist/reachability/clusterReachability.d.ts +109 -0
  268. package/dist/reachability/clusterReachability.js +357 -0
  269. package/dist/reachability/clusterReachability.js.map +1 -0
  270. package/dist/reachability/index.d.ts +61 -95
  271. package/dist/reachability/index.js +304 -392
  272. package/dist/reachability/index.js.map +1 -1
  273. package/dist/reachability/request.d.ts +7 -3
  274. package/dist/reachability/request.js +18 -10
  275. package/dist/reachability/request.js.map +1 -1
  276. package/dist/reachability/util.d.ts +8 -0
  277. package/dist/reachability/util.js +29 -0
  278. package/dist/reachability/util.js.map +1 -0
  279. package/dist/reactions/constants.d.ts +3 -0
  280. package/dist/reactions/constants.js +12 -0
  281. package/dist/reactions/constants.js.map +1 -0
  282. package/dist/reactions/reactions.d.ts +2 -2
  283. package/dist/reactions/reactions.js +4 -6
  284. package/dist/reactions/reactions.js.map +1 -1
  285. package/dist/reactions/reactions.type.d.ts +23 -3
  286. package/dist/reactions/reactions.type.js +21 -23
  287. package/dist/reactions/reactions.type.js.map +1 -1
  288. package/dist/reconnection-manager/index.d.ts +32 -8
  289. package/dist/reconnection-manager/index.js +285 -232
  290. package/dist/reconnection-manager/index.js.map +1 -1
  291. package/dist/recording-controller/enums.js +4 -5
  292. package/dist/recording-controller/enums.js.map +1 -1
  293. package/dist/recording-controller/index.d.ts +15 -1
  294. package/dist/recording-controller/index.js +57 -46
  295. package/dist/recording-controller/index.js.map +1 -1
  296. package/dist/recording-controller/util.d.ts +5 -4
  297. package/dist/recording-controller/util.js +10 -10
  298. package/dist/recording-controller/util.js.map +1 -1
  299. package/dist/roap/index.d.ts +9 -47
  300. package/dist/roap/index.js +100 -238
  301. package/dist/roap/index.js.map +1 -1
  302. package/dist/roap/request.d.ts +18 -12
  303. package/dist/roap/request.js +126 -180
  304. package/dist/roap/request.js.map +1 -1
  305. package/dist/roap/turnDiscovery.d.ts +27 -16
  306. package/dist/roap/turnDiscovery.js +115 -105
  307. package/dist/roap/turnDiscovery.js.map +1 -1
  308. package/dist/rtcMetrics/constants.d.ts +4 -0
  309. package/dist/rtcMetrics/constants.js +11 -0
  310. package/dist/rtcMetrics/constants.js.map +1 -0
  311. package/dist/rtcMetrics/index.d.ts +54 -0
  312. package/dist/rtcMetrics/index.js +140 -0
  313. package/dist/rtcMetrics/index.js.map +1 -0
  314. package/dist/statsAnalyzer/global.d.ts +1 -83
  315. package/dist/statsAnalyzer/global.js +2 -85
  316. package/dist/statsAnalyzer/global.js.map +1 -1
  317. package/dist/statsAnalyzer/index.d.ts +50 -30
  318. package/dist/statsAnalyzer/index.js +436 -511
  319. package/dist/statsAnalyzer/index.js.map +1 -1
  320. package/dist/statsAnalyzer/mqaUtil.d.ts +8 -6
  321. package/dist/statsAnalyzer/mqaUtil.js +130 -90
  322. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  323. package/dist/transcription/index.js +1 -2
  324. package/dist/transcription/index.js.map +1 -1
  325. package/dist/webinar/collection.d.ts +16 -0
  326. package/dist/webinar/collection.js +43 -0
  327. package/dist/webinar/collection.js.map +1 -0
  328. package/dist/webinar/index.d.ts +5 -0
  329. package/dist/webinar/index.js +68 -0
  330. package/dist/webinar/index.js.map +1 -0
  331. package/package.json +39 -26
  332. package/src/annotation/annotation.types.ts +50 -0
  333. package/src/annotation/constants.ts +36 -0
  334. package/src/annotation/index.ts +328 -0
  335. package/src/breakouts/README.md +220 -0
  336. package/src/breakouts/breakout.ts +188 -0
  337. package/src/breakouts/collection.ts +19 -0
  338. package/src/breakouts/edit-lock-error.ts +25 -0
  339. package/src/breakouts/events.ts +56 -0
  340. package/src/breakouts/index.ts +925 -0
  341. package/src/breakouts/request.ts +55 -0
  342. package/src/breakouts/utils.ts +57 -0
  343. package/src/common/errors/no-meeting-info.ts +24 -0
  344. package/src/common/errors/webex-errors.ts +36 -12
  345. package/src/common/logs/logger-proxy.ts +1 -1
  346. package/src/common/logs/request.ts +5 -1
  347. package/src/common/queue.ts +22 -8
  348. package/src/config.ts +6 -7
  349. package/src/constants.ts +265 -100
  350. package/src/controls-options-manager/enums.ts +12 -0
  351. package/src/controls-options-manager/index.ts +116 -21
  352. package/src/controls-options-manager/types.ts +59 -0
  353. package/src/controls-options-manager/util.ts +294 -14
  354. package/src/index.ts +44 -0
  355. package/src/interceptors/index.ts +3 -0
  356. package/src/interceptors/locusRetry.ts +67 -0
  357. package/src/interpretation/README.md +60 -0
  358. package/src/interpretation/collection.ts +19 -0
  359. package/src/interpretation/index.ts +332 -0
  360. package/src/interpretation/siLanguage.ts +18 -0
  361. package/src/locus-info/controlsUtils.ts +110 -0
  362. package/src/locus-info/index.ts +450 -61
  363. package/src/locus-info/infoUtils.ts +14 -2
  364. package/src/locus-info/mediaSharesUtils.ts +64 -0
  365. package/src/locus-info/parser.ts +258 -47
  366. package/src/locus-info/selfUtils.ts +85 -2
  367. package/src/media/index.ts +153 -370
  368. package/src/media/properties.ts +106 -136
  369. package/src/media/util.ts +0 -21
  370. package/src/mediaQualityMetrics/config.ts +244 -377
  371. package/src/meeting/in-meeting-actions.ts +176 -0
  372. package/src/meeting/index.ts +4306 -2581
  373. package/src/meeting/locusMediaRequest.ts +313 -0
  374. package/src/meeting/muteState.ts +224 -138
  375. package/src/meeting/request.ts +214 -127
  376. package/src/meeting/request.type.ts +13 -0
  377. package/src/meeting/util.ts +687 -423
  378. package/src/meeting/voicea-meeting.ts +161 -0
  379. package/src/meeting-info/index.ts +81 -8
  380. package/src/meeting-info/meeting-info-v2.ts +163 -13
  381. package/src/meeting-info/util.ts +1 -1
  382. package/src/meeting-info/utilv2.ts +28 -28
  383. package/src/meetings/collection.ts +33 -0
  384. package/src/meetings/index.ts +529 -127
  385. package/src/meetings/meetings.types.ts +12 -0
  386. package/src/meetings/request.ts +2 -0
  387. package/src/meetings/util.ts +116 -5
  388. package/src/member/index.ts +43 -1
  389. package/src/member/types.ts +38 -0
  390. package/src/member/util.ts +125 -28
  391. package/src/members/collection.ts +8 -0
  392. package/src/members/index.ts +187 -52
  393. package/src/members/request.ts +87 -27
  394. package/src/members/util.ts +332 -291
  395. package/src/metrics/constants.ts +15 -6
  396. package/src/metrics/index.ts +1 -471
  397. package/src/multistream/mediaRequestManager.ts +440 -0
  398. package/src/multistream/receiveSlot.ts +184 -0
  399. package/src/multistream/receiveSlotManager.ts +166 -0
  400. package/src/multistream/remoteMedia.ts +254 -0
  401. package/src/multistream/remoteMediaGroup.ts +284 -0
  402. package/src/multistream/remoteMediaManager.ts +1145 -0
  403. package/src/multistream/sendSlotManager.ts +170 -0
  404. package/src/networkQualityMonitor/index.ts +6 -6
  405. package/src/reachability/clusterReachability.ts +320 -0
  406. package/src/reachability/index.ts +246 -347
  407. package/src/reachability/request.ts +17 -8
  408. package/src/reachability/util.ts +24 -0
  409. package/src/reactions/constants.ts +4 -0
  410. package/src/reactions/reactions.ts +4 -4
  411. package/src/reactions/reactions.type.ts +30 -4
  412. package/src/reconnection-manager/index.ts +168 -156
  413. package/src/recording-controller/index.ts +20 -3
  414. package/src/recording-controller/util.ts +26 -9
  415. package/src/roap/index.ts +96 -241
  416. package/src/roap/request.ts +74 -148
  417. package/src/roap/turnDiscovery.ts +62 -56
  418. package/src/rtcMetrics/constants.ts +3 -0
  419. package/src/rtcMetrics/index.ts +124 -0
  420. package/src/statsAnalyzer/global.ts +1 -84
  421. package/src/statsAnalyzer/index.ts +479 -645
  422. package/src/statsAnalyzer/mqaUtil.ts +128 -126
  423. package/src/webinar/collection.ts +31 -0
  424. package/src/webinar/index.ts +62 -0
  425. package/test/integration/spec/converged-space-meetings.js +233 -0
  426. package/test/integration/spec/journey.js +320 -264
  427. package/test/integration/spec/space-meeting.js +77 -4
  428. package/test/unit/spec/annotation/index.ts +418 -0
  429. package/test/unit/spec/breakouts/breakout.ts +237 -0
  430. package/test/unit/spec/breakouts/collection.ts +15 -0
  431. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  432. package/test/unit/spec/breakouts/events.ts +89 -0
  433. package/test/unit/spec/breakouts/index.ts +1790 -0
  434. package/test/unit/spec/breakouts/request.ts +104 -0
  435. package/test/unit/spec/breakouts/utils.js +72 -0
  436. package/test/unit/spec/common/queue.js +31 -2
  437. package/test/unit/spec/controls-options-manager/index.js +163 -0
  438. package/test/unit/spec/controls-options-manager/util.js +576 -60
  439. package/test/unit/spec/fixture/locus.js +1 -0
  440. package/test/unit/spec/interceptors/locusRetry.ts +131 -0
  441. package/test/unit/spec/interpretation/collection.ts +15 -0
  442. package/test/unit/spec/interpretation/index.ts +589 -0
  443. package/test/unit/spec/interpretation/siLanguage.ts +28 -0
  444. package/test/unit/spec/locus-info/controlsUtils.js +323 -30
  445. package/test/unit/spec/locus-info/index.js +1438 -16
  446. package/test/unit/spec/locus-info/infoUtils.js +54 -16
  447. package/test/unit/spec/locus-info/lib/SeqCmp.json +16 -0
  448. package/test/unit/spec/locus-info/lib/selfConstant.js +48 -0
  449. package/test/unit/spec/locus-info/mediaSharesUtils.ts +32 -0
  450. package/test/unit/spec/locus-info/parser.js +116 -35
  451. package/test/unit/spec/locus-info/selfUtils.js +275 -0
  452. package/test/unit/spec/media/index.ts +290 -0
  453. package/test/unit/spec/media/properties.ts +75 -84
  454. package/test/unit/spec/meeting/in-meeting-actions.ts +86 -0
  455. package/test/unit/spec/meeting/index.js +8886 -2815
  456. package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
  457. package/test/unit/spec/meeting/muteState.js +409 -213
  458. package/test/unit/spec/meeting/request.js +523 -43
  459. package/test/unit/spec/meeting/utils.js +834 -24
  460. package/test/unit/spec/meeting-info/index.js +300 -0
  461. package/test/unit/spec/meeting-info/meetinginfov2.js +527 -5
  462. package/test/unit/spec/meeting-info/utilv2.js +21 -0
  463. package/test/unit/spec/meetings/collection.js +26 -0
  464. package/test/unit/spec/meetings/index.js +1446 -217
  465. package/test/unit/spec/meetings/utils.js +202 -2
  466. package/test/unit/spec/member/index.js +32 -9
  467. package/test/unit/spec/member/util.js +499 -61
  468. package/test/unit/spec/members/index.js +394 -5
  469. package/test/unit/spec/members/request.js +206 -27
  470. package/test/unit/spec/members/utils.js +173 -38
  471. package/test/unit/spec/metrics/index.js +1 -50
  472. package/test/unit/spec/multistream/mediaRequestManager.ts +1418 -0
  473. package/test/unit/spec/multistream/receiveSlot.ts +163 -0
  474. package/test/unit/spec/multistream/receiveSlotManager.ts +203 -0
  475. package/test/unit/spec/multistream/remoteMedia.ts +255 -0
  476. package/test/unit/spec/multistream/remoteMediaGroup.ts +662 -0
  477. package/test/unit/spec/multistream/remoteMediaManager.ts +1924 -0
  478. package/test/unit/spec/multistream/sendSlotManager.ts +242 -0
  479. package/test/unit/spec/networkQualityMonitor/index.js +4 -4
  480. package/test/unit/spec/reachability/clusterReachability.ts +279 -0
  481. package/test/unit/spec/reachability/index.ts +532 -24
  482. package/test/unit/spec/reachability/request.js +68 -0
  483. package/test/unit/spec/reachability/util.ts +40 -0
  484. package/test/unit/spec/reconnection-manager/index.js +163 -24
  485. package/test/unit/spec/recording-controller/index.js +293 -218
  486. package/test/unit/spec/recording-controller/util.js +223 -96
  487. package/test/unit/spec/roap/index.ts +187 -77
  488. package/test/unit/spec/roap/request.ts +255 -0
  489. package/test/unit/spec/roap/turnDiscovery.ts +86 -48
  490. package/test/unit/spec/rtcMetrics/index.ts +93 -0
  491. package/test/unit/spec/stats-analyzer/index.js +644 -165
  492. package/test/unit/spec/webinar/collection.ts +13 -0
  493. package/test/unit/spec/webinar/index.ts +60 -0
  494. package/test/utils/constants.js +9 -0
  495. package/test/utils/integrationTestUtils.js +46 -0
  496. package/test/utils/testUtils.js +0 -45
  497. package/test/utils/webex-config.js +4 -0
  498. package/test/utils/webex-test-users.js +7 -3
  499. package/dist/common/errors/reclaim-host-role-error.js.map +0 -1
  500. package/dist/meeting/effectsState.d.ts +0 -42
  501. package/dist/meeting/effectsState.js +0 -260
  502. package/dist/meeting/effectsState.js.map +0 -1
  503. package/dist/metrics/config.d.ts +0 -169
  504. package/dist/metrics/config.js +0 -289
  505. package/dist/metrics/config.js.map +0 -1
  506. package/dist/peer-connection-manager/index.d.ts +0 -6
  507. package/dist/peer-connection-manager/index.js +0 -671
  508. package/dist/peer-connection-manager/index.js.map +0 -1
  509. package/dist/peer-connection-manager/util.d.ts +0 -6
  510. package/dist/peer-connection-manager/util.js +0 -110
  511. package/dist/peer-connection-manager/util.js.map +0 -1
  512. package/dist/roap/collection.d.ts +0 -10
  513. package/dist/roap/collection.js +0 -63
  514. package/dist/roap/collection.js.map +0 -1
  515. package/dist/roap/handler.d.ts +0 -47
  516. package/dist/roap/handler.js +0 -279
  517. package/dist/roap/handler.js.map +0 -1
  518. package/dist/roap/state.d.ts +0 -9
  519. package/dist/roap/state.js +0 -127
  520. package/dist/roap/state.js.map +0 -1
  521. package/dist/roap/util.d.ts +0 -2
  522. package/dist/roap/util.js +0 -76
  523. package/dist/roap/util.js.map +0 -1
  524. package/src/index.js +0 -15
  525. package/src/meeting/effectsState.ts +0 -209
  526. package/src/metrics/config.ts +0 -485
  527. package/src/peer-connection-manager/index.ts +0 -847
  528. package/src/peer-connection-manager/util.ts +0 -119
  529. package/src/roap/collection.ts +0 -62
  530. package/src/roap/handler.ts +0 -294
  531. package/src/roap/state.ts +0 -156
  532. package/src/roap/util.ts +0 -100
  533. package/test/unit/spec/meeting/effectsState.js +0 -281
  534. package/test/unit/spec/peerconnection-manager/index.js +0 -218
  535. package/test/unit/spec/peerconnection-manager/utils.js +0 -49
  536. package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +0 -388
  537. package/test/unit/spec/roap/util.js +0 -30
  538. /package/dist/common/errors/{reclaim-host-role-error.d.ts → reclaim-host-role-errors.d.ts} +0 -0
  539. /package/src/common/errors/{reclaim-host-role-error.ts → reclaim-host-role-errors.ts} +0 -0
@@ -17,17 +17,19 @@ import Trigger from '../common/events/trigger-proxy';
17
17
  import Member from '../member';
18
18
  import LoggerProxy from '../common/logs/logger-proxy';
19
19
  import ParameterError from '../common/errors/parameter';
20
-
21
- import MembersCollection from './collection';
22
- import MembersRequest from './request';
23
- import MembersUtil from './util';
24
- import {ServerRoleShape} from './types';
25
20
  import {
26
21
  ReclaimHostEmptyWrongKeyError,
27
22
  ReclaimHostIsHostAlreadyError,
28
23
  ReclaimHostNotAllowedError,
29
24
  ReclaimHostNotSupportedError,
30
- } from '../common/errors/reclaim-host-role-error';
25
+ } from '../common/errors/reclaim-host-role-errors';
26
+
27
+ import MembersCollection from './collection';
28
+ import MembersRequest from './request';
29
+ import MembersUtil from './util';
30
+ import {ReceiveSlotManager} from '../multistream/receiveSlotManager';
31
+ import {MediaRequestManager} from '../multistream/mediaRequestManager';
32
+ import {ServerRoleShape} from './types';
31
33
 
32
34
  /**
33
35
  * Members Update Event
@@ -81,6 +83,12 @@ export default class Members extends StatelessWebexPlugin {
81
83
  mediaShareWhiteboardId: any;
82
84
  membersCollection: any;
83
85
  membersRequest: any;
86
+ receiveSlotManager: ReceiveSlotManager;
87
+ mediaRequestManagers: {
88
+ audio: MediaRequestManager;
89
+ video: MediaRequestManager;
90
+ };
91
+
84
92
  recordingId: any;
85
93
  selfId: any;
86
94
  type: any;
@@ -102,8 +110,14 @@ export default class Members extends StatelessWebexPlugin {
102
110
  * @private
103
111
  * @memberof Members
104
112
  */
113
+
105
114
  // @ts-ignore
106
- this.membersRequest = new MembersRequest({}, options);
115
+ this.membersRequest = new MembersRequest(
116
+ {
117
+ meeting: attrs.meeting,
118
+ },
119
+ options
120
+ );
107
121
  /**
108
122
  * The Members Collection cache
109
123
  * @instance
@@ -174,6 +188,18 @@ export default class Members extends StatelessWebexPlugin {
174
188
  * @memberof Members
175
189
  */
176
190
  this.recordingId = null;
191
+
192
+ /**
193
+ * reference to a ReceiveSlotManager instance (for multistream)
194
+ * @private
195
+ */
196
+ this.receiveSlotManager = attrs.receiveSlotManager;
197
+
198
+ /**
199
+ * reference to a MediaRequestManager instance that manages main video requests (for multistream)
200
+ * @private
201
+ */
202
+ this.mediaRequestManagers = attrs.mediaRequestManagers;
177
203
  }
178
204
 
179
205
  /**
@@ -276,6 +302,25 @@ export default class Members extends StatelessWebexPlugin {
276
302
  );
277
303
  }
278
304
 
305
+ /**
306
+ * clear member collection
307
+ * @returns {void}
308
+ * @private
309
+ * @memberof Members
310
+ */
311
+ clearMembers() {
312
+ this.membersCollection.reset();
313
+ Trigger.trigger(
314
+ this,
315
+ {
316
+ file: 'members',
317
+ function: 'clearMembers',
318
+ },
319
+ EVENT_TRIGGERS.MEMBERS_CLEAR,
320
+ {}
321
+ );
322
+ }
323
+
279
324
  /**
280
325
  * when new participant updates come in, both delta and full participants, update them in members collection
281
326
  * delta object in the event will have {updated, added} and full will be the full membersCollection
@@ -285,11 +330,16 @@ export default class Members extends StatelessWebexPlugin {
285
330
  * @private
286
331
  * @memberof Members
287
332
  */
288
- locusParticipantsUpdate(payload: {participants: object}) {
333
+ locusParticipantsUpdate(payload: {participants: object; isReplace?: boolean}) {
289
334
  if (payload) {
335
+ if (payload.isReplace) {
336
+ this.clearMembers();
337
+ }
290
338
  const delta = this.handleLocusInfoUpdatedParticipants(payload);
291
339
  const full = this.handleMembersUpdate(delta); // SDK should propagate the full list for both delta and non delta updates
292
340
 
341
+ this.receiveSlotManager?.updateMemberIds();
342
+
293
343
  Trigger.trigger(
294
344
  this,
295
345
  {
@@ -300,6 +350,7 @@ export default class Members extends StatelessWebexPlugin {
300
350
  {
301
351
  delta,
302
352
  full,
353
+ isReplace: !!payload.isReplace,
303
354
  }
304
355
  );
305
356
  }
@@ -700,46 +751,6 @@ export default class Members extends StatelessWebexPlugin {
700
751
  return this.membersRequest.addMembers(options);
701
752
  }
702
753
 
703
- /**
704
- * Assign role(s) to a member in the meeting
705
- * @param {String} memberId
706
- * @param {[ServerRoleShape]} roles - to assign an array of roles
707
- * @returns {Promise}
708
- * @public
709
- * @memberof Members
710
- */
711
- public assignRoles(memberId: string, roles: Array<ServerRoleShape>) {
712
- if (!this.locusUrl) {
713
- return Promise.reject(
714
- new ParameterError(
715
- 'The associated locus url for this meetings members object must be defined.'
716
- )
717
- );
718
- }
719
- if (!memberId) {
720
- return Promise.reject(
721
- new ParameterError('The member id must be defined to assign the roles to a member.')
722
- );
723
- }
724
- const options = MembersUtil.generateRoleAssignmentMemberOptions(memberId, roles, this.locusUrl);
725
-
726
- return this.membersRequest.assignRolesMember(options).catch((error: any) => {
727
- const errorCode = error.body?.errorCode;
728
- switch (errorCode) {
729
- case ASSIGN_ROLES_ERROR_CODES.ReclaimHostNotSupportedErrorCode:
730
- return Promise.reject(new ReclaimHostNotSupportedError());
731
- case ASSIGN_ROLES_ERROR_CODES.ReclaimHostNotAllowedErrorCode:
732
- return Promise.reject(new ReclaimHostNotAllowedError());
733
- case ASSIGN_ROLES_ERROR_CODES.ReclaimHostEmptyWrongKeyErrorCode:
734
- return Promise.reject(new ReclaimHostEmptyWrongKeyError());
735
- case ASSIGN_ROLES_ERROR_CODES.ReclaimHostIsHostAlreadyErrorCode:
736
- return Promise.reject(new ReclaimHostIsHostAlreadyError());
737
- default:
738
- return Promise.reject(error);
739
- }
740
- });
741
- }
742
-
743
754
  /**
744
755
  * Cancels an outgoing PSTN call to the associated meeting
745
756
  * @param {String} invitee
@@ -765,15 +776,22 @@ export default class Members extends StatelessWebexPlugin {
765
776
  /**
766
777
  * Admits waiting members (invited guests to meeting)
767
778
  * @param {Array} memberIds
779
+ * @param {Object} sessionLocusUrls: {authorizingLocusUrl, mainLocusUrl}
768
780
  * @returns {Promise}
769
781
  * @public
770
782
  * @memberof Members
771
783
  */
772
- public admitMembers(memberIds: Array<any>) {
784
+ public admitMembers(
785
+ memberIds: Array<any>,
786
+ sessionLocusUrls?: {authorizingLocusUrl: string; mainLocusUrl: string}
787
+ ) {
773
788
  if (isEmpty(memberIds)) {
774
789
  return Promise.reject(new ParameterError('No member ids provided to admit.'));
775
790
  }
776
- const options = MembersUtil.generateAdmitMemberOptions(memberIds, this.locusUrl);
791
+ const options = {
792
+ sessionLocusUrls,
793
+ ...MembersUtil.generateAdmitMemberOptions(memberIds, this.locusUrl),
794
+ };
777
795
 
778
796
  return this.membersRequest.admitMember(options);
779
797
  }
@@ -805,11 +823,12 @@ export default class Members extends StatelessWebexPlugin {
805
823
  * Audio mutes another member in a meeting
806
824
  * @param {String} memberId
807
825
  * @param {boolean} [mute] default true
826
+ * @param {boolean} [isAudio] default true
808
827
  * @returns {Promise}
809
828
  * @public
810
829
  * @memberof Members
811
830
  */
812
- public muteMember(memberId: string, mute = true) {
831
+ public muteMember(memberId: string, mute = true, isAudio = true) {
813
832
  if (!this.locusUrl) {
814
833
  return Promise.reject(
815
834
  new ParameterError(
@@ -822,11 +841,51 @@ export default class Members extends StatelessWebexPlugin {
822
841
  new ParameterError('The member id must be defined to mute the member.')
823
842
  );
824
843
  }
825
- const options = MembersUtil.generateMuteMemberOptions(memberId, mute, this.locusUrl);
844
+ const options = MembersUtil.generateMuteMemberOptions(memberId, mute, this.locusUrl, isAudio);
826
845
 
827
846
  return this.membersRequest.muteMember(options);
828
847
  }
829
848
 
849
+ /**
850
+ * Assign role(s) to a member in the meeting
851
+ * @param {String} memberId
852
+ * @param {[ServerRoleShape]} roles - to assign an array of roles
853
+ * @returns {Promise}
854
+ * @public
855
+ * @memberof Members
856
+ */
857
+ public assignRoles(memberId: string, roles: Array<ServerRoleShape>) {
858
+ if (!this.locusUrl) {
859
+ return Promise.reject(
860
+ new ParameterError(
861
+ 'The associated locus url for this meetings members object must be defined.'
862
+ )
863
+ );
864
+ }
865
+ if (!memberId) {
866
+ return Promise.reject(
867
+ new ParameterError('The member id must be defined to assign the roles to a member.')
868
+ );
869
+ }
870
+ const options = MembersUtil.generateRoleAssignmentMemberOptions(memberId, roles, this.locusUrl);
871
+
872
+ return this.membersRequest.assignRolesMember(options).catch((error: any) => {
873
+ const errorCode = error.body?.errorCode;
874
+ switch (errorCode) {
875
+ case ASSIGN_ROLES_ERROR_CODES.ReclaimHostNotSupportedErrorCode:
876
+ return Promise.reject(new ReclaimHostNotSupportedError());
877
+ case ASSIGN_ROLES_ERROR_CODES.ReclaimHostNotAllowedErrorCode:
878
+ return Promise.reject(new ReclaimHostNotAllowedError());
879
+ case ASSIGN_ROLES_ERROR_CODES.ReclaimHostEmptyWrongKeyErrorCode:
880
+ return Promise.reject(new ReclaimHostEmptyWrongKeyError());
881
+ case ASSIGN_ROLES_ERROR_CODES.ReclaimHostIsHostAlreadyErrorCode:
882
+ return Promise.reject(new ReclaimHostIsHostAlreadyError());
883
+ default:
884
+ return Promise.reject(error);
885
+ }
886
+ });
887
+ }
888
+
830
889
  /**
831
890
  * Raise or lower the hand of a member in a meeting
832
891
  * @param {String} memberId
@@ -951,4 +1010,80 @@ export default class Members extends StatelessWebexPlugin {
951
1010
  )
952
1011
  );
953
1012
  }
1013
+
1014
+ /** Finds a member that has any device with a csi matching provided value
1015
+ *
1016
+ * @param {number} csi
1017
+ * @returns {Member}
1018
+ */
1019
+ findMemberByCsi(csi) {
1020
+ return Object.values(this.membersCollection.getAll()).find((member) =>
1021
+ // @ts-ignore
1022
+ member.participant?.devices?.find((device) =>
1023
+ device.csis?.find((memberCsi) => memberCsi === csi)
1024
+ )
1025
+ );
1026
+ }
1027
+
1028
+ /**
1029
+ * Returns an array of a member's CSIs matching the mediaType and mediaContent
1030
+ *
1031
+ * @param {string} memberId
1032
+ * @param {string} mediaType 'audio' or 'video'
1033
+ * @param {string} mediaContent 'main' or 'slides'
1034
+ * @returns {Member}
1035
+ */
1036
+ getCsisForMember(memberId, mediaType = 'video', mediaContent = 'main') {
1037
+ const csis = [];
1038
+
1039
+ this.membersCollection.get(memberId)?.participant?.devices?.forEach((device) => {
1040
+ if (device.mediaSessions) {
1041
+ const deviceCsis = device.mediaSessions
1042
+ ?.filter(
1043
+ (mediaSession) =>
1044
+ mediaSession.mediaType === mediaType && mediaSession.mediaContent === mediaContent
1045
+ )
1046
+ .map((mediaSession) => mediaSession.csi);
1047
+
1048
+ csis.push(...deviceCsis);
1049
+ }
1050
+ });
1051
+
1052
+ return csis;
1053
+ }
1054
+
1055
+ /**
1056
+ * Edit display name of participants in a meeting
1057
+ * @param {string} memberId - id of the participant who is receiving request
1058
+ * @param {string} requestingParticipantId - id of the participant who is sending request (optional)
1059
+ * @param {string} [alias] - alias name
1060
+ * @returns {Promise}
1061
+ * @public
1062
+ * @memberof Members
1063
+ */
1064
+ public editDisplayName(memberId: string, requestingParticipantId: string, alias: string) {
1065
+ if (!this.locusUrl) {
1066
+ return Promise.reject(
1067
+ new ParameterError(
1068
+ 'The associated locus url for this meetings members object must be defined.'
1069
+ )
1070
+ );
1071
+ }
1072
+ if (!memberId) {
1073
+ return Promise.reject(
1074
+ new ParameterError('The member id must be defined to edit display name of the member.')
1075
+ );
1076
+ }
1077
+
1078
+ const {locusUrl} = this;
1079
+
1080
+ const options = MembersUtil.generateEditDisplayNameMemberOptions(
1081
+ memberId,
1082
+ requestingParticipantId,
1083
+ alias,
1084
+ locusUrl
1085
+ );
1086
+
1087
+ return this.membersRequest.editDisplayNameMember(options);
1088
+ }
954
1089
  }
@@ -5,12 +5,26 @@ import {MEETINGS} from '../constants';
5
5
  import ParameterError from '../common/errors/parameter';
6
6
 
7
7
  import MembersUtil from './util';
8
+ import MeetingUtil from '../meeting/util';
8
9
 
9
10
  /**
10
11
  * @class MembersRequest
11
12
  */
12
13
  export default class MembersRequest extends StatelessWebexPlugin {
13
14
  namespace = MEETINGS;
15
+ locusDeltaRequest: (options: object) => Promise<any>;
16
+
17
+ /**
18
+ * Constructor
19
+ * @param {Object} attrs
20
+ * @param {Object} options
21
+ */
22
+ constructor(attrs: {meeting: any}, options: object) {
23
+ const {meeting, ...otherAttrs} = attrs;
24
+ super(otherAttrs, options);
25
+
26
+ this.locusDeltaRequest = MeetingUtil.generateLocusDeltaRequest(meeting);
27
+ }
14
28
 
15
29
  /**
16
30
  *
@@ -36,8 +50,7 @@ export default class MembersRequest extends StatelessWebexPlugin {
36
50
  }
37
51
  const requestParams = MembersUtil.getAddMemberRequestParams(options);
38
52
 
39
- // @ts-ignore
40
- return this.request(requestParams);
53
+ return this.locusDeltaRequest(requestParams);
41
54
  }
42
55
 
43
56
  /**
@@ -55,56 +68,74 @@ export default class MembersRequest extends StatelessWebexPlugin {
55
68
  }
56
69
  const requestParams = MembersUtil.getAdmitMemberRequestParams(options);
57
70
 
58
- // @ts-ignore
59
- return this.request(requestParams);
71
+ return this.locusDeltaRequest(requestParams);
60
72
  }
61
73
 
62
74
  /**
63
- * Sends a request to assign roles to a member
75
+ * Sends a request to remove a member
64
76
  * @param {Object} options
65
77
  * @param {String} options.locusUrl
66
- * @param {String} options.memberId ID of PSTN user
78
+ * @param {String} options.memberId ID of member
67
79
  * @returns {Promise}
68
80
  */
69
- assignRolesMember(options: any) {
81
+ removeMember(options) {
70
82
  if (!options || !options.locusUrl || !options.memberId) {
71
83
  throw new ParameterError(
72
84
  'memberId must be defined, and the associated locus url for this meeting object must be defined.'
73
85
  );
74
86
  }
75
87
 
76
- const requestParams = MembersUtil.getRoleAssignmentMemberRequestParams(options);
88
+ const requestParams = MembersUtil.getRemoveMemberRequestParams(options);
77
89
 
78
- // @ts-ignore
79
- return this.request(requestParams);
90
+ return this.locusDeltaRequest(requestParams);
80
91
  }
81
92
 
82
- removeMember(options) {
93
+ /**
94
+ * Sends a request to mute a member
95
+ * @param {Object} options
96
+ * @param {String} options.locusUrl
97
+ * @param {String} options.memberId ID of member
98
+ * @returns {Promise}
99
+ */
100
+ muteMember(options) {
83
101
  if (!options || !options.locusUrl || !options.memberId) {
84
102
  throw new ParameterError(
85
103
  'memberId must be defined, and the associated locus url for this meeting object must be defined.'
86
104
  );
87
105
  }
88
106
 
89
- const requestParams = MembersUtil.getRemoveMemberRequestParams(options);
107
+ const requestParams = MembersUtil.getMuteMemberRequestParams(options);
90
108
 
91
109
  // @ts-ignore
92
- return this.request(requestParams);
110
+ return this.locusDeltaRequest(requestParams);
93
111
  }
94
112
 
95
- muteMember(options) {
113
+ /**
114
+ * Sends a request to the DTMF endpoint to send tones
115
+ * @param {Object} options
116
+ * @param {String} options.locusUrl
117
+ * @param {String} options.memberId ID of PSTN user
118
+ * @returns {Promise}
119
+ */
120
+ assignRolesMember(options: any) {
96
121
  if (!options || !options.locusUrl || !options.memberId) {
97
122
  throw new ParameterError(
98
123
  'memberId must be defined, and the associated locus url for this meeting object must be defined.'
99
124
  );
100
125
  }
101
126
 
102
- const requestParams = MembersUtil.getMuteMemberRequestParams(options);
127
+ const requestParams = MembersUtil.getRoleAssignmentMemberRequestParams(options);
103
128
 
104
- // @ts-ignore
105
- return this.request(requestParams);
129
+ return this.locusDeltaRequest(requestParams);
106
130
  }
107
131
 
132
+ /**
133
+ * Sends a request to raise or lower a member's hand
134
+ * @param {Object} options
135
+ * @param {String} options.locusUrl
136
+ * @param {String} options.memberId ID of member
137
+ * @returns {Promise}
138
+ */
108
139
  raiseOrLowerHandMember(options) {
109
140
  if (!options || !options.locusUrl || !options.memberId) {
110
141
  throw new ParameterError(
@@ -114,10 +145,16 @@ export default class MembersRequest extends StatelessWebexPlugin {
114
145
 
115
146
  const requestParams = MembersUtil.getRaiseHandMemberRequestParams(options);
116
147
 
117
- // @ts-ignore
118
- return this.request(requestParams);
148
+ return this.locusDeltaRequest(requestParams);
119
149
  }
120
150
 
151
+ /**
152
+ * Sends a request to lower all hands
153
+ * @param {Object} options
154
+ * @param {String} options.locusUrl
155
+ * @param {String} options.requestingParticipantId ID of requesting participant
156
+ * @returns {Promise}
157
+ */
121
158
  lowerAllHandsMember(options) {
122
159
  if (!options || !options.locusUrl || !options.requestingParticipantId) {
123
160
  throw new ParameterError(
@@ -127,10 +164,36 @@ export default class MembersRequest extends StatelessWebexPlugin {
127
164
 
128
165
  const requestParams = MembersUtil.getLowerAllHandsMemberRequestParams(options);
129
166
 
130
- // @ts-ignore
131
- return this.request(requestParams);
167
+ return this.locusDeltaRequest(requestParams);
168
+ }
169
+
170
+ /**
171
+ *
172
+ * @param {Object} options with format of {locusUrl: string, requestingParticipantId: string}
173
+ * @returns {Promise}
174
+ * @throws {Error} if the options are not valid and complete, must have requestingParticipantId AND locusUrl
175
+ * @memberof MembersRequest
176
+ */
177
+ editDisplayNameMember(options: {locusUrl: string; requestingParticipantId: string}) {
178
+ if (!options || !options.locusUrl || !options.requestingParticipantId) {
179
+ throw new ParameterError(
180
+ 'requestingParticipantId must be defined, and the associated locus url for this meeting object must be defined.'
181
+ );
182
+ }
183
+
184
+ const requestParams = MembersUtil.editDisplayNameMemberRequestParams(options);
185
+
186
+ return this.locusDeltaRequest(requestParams);
132
187
  }
133
188
 
189
+ /**
190
+ * Sends a request to raise or lower a member's hand
191
+ * @param {Object} options
192
+ * @param {String} options.locusUrl
193
+ * @param {String} options.memberId ID of member
194
+ * @param {String} options.moderator ID of moderator
195
+ * @returns {Promise}
196
+ */
134
197
  transferHostToMember(options) {
135
198
  if (!options || !options.locusUrl || !options.memberId || !options.moderator) {
136
199
  throw new ParameterError(
@@ -140,8 +203,7 @@ export default class MembersRequest extends StatelessWebexPlugin {
140
203
 
141
204
  const requestParams = MembersUtil.getTransferHostToMemberRequestParams(options);
142
205
 
143
- // @ts-ignore
144
- return this.request(requestParams);
206
+ return this.locusDeltaRequest(requestParams);
145
207
  }
146
208
 
147
209
  /**
@@ -170,8 +232,7 @@ export default class MembersRequest extends StatelessWebexPlugin {
170
232
 
171
233
  const requestParams = MembersUtil.generateSendDTMFRequestParams(options);
172
234
 
173
- // @ts-ignore
174
- return this.request(requestParams);
235
+ return this.locusDeltaRequest(requestParams);
175
236
  }
176
237
 
177
238
  /**
@@ -189,7 +250,6 @@ export default class MembersRequest extends StatelessWebexPlugin {
189
250
 
190
251
  const requestParams = MembersUtil.generateCancelInviteRequestParams(options);
191
252
 
192
- // @ts-ignore
193
- return this.request(requestParams);
253
+ return this.locusDeltaRequest(requestParams);
194
254
  }
195
255
  }