@webex/plugin-meetings 3.0.0-beta.40 → 3.0.0-beta.401

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 (398) hide show
  1. package/README.md +58 -8
  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 +342 -0
  7. package/dist/annotation/index.js.map +1 -0
  8. package/dist/breakouts/breakout.js +94 -15
  9. package/dist/breakouts/breakout.js.map +1 -1
  10. package/dist/breakouts/events.js +45 -0
  11. package/dist/breakouts/events.js.map +1 -0
  12. package/dist/breakouts/index.js +625 -123
  13. package/dist/breakouts/index.js.map +1 -1
  14. package/dist/breakouts/utils.js +27 -8
  15. package/dist/breakouts/utils.js.map +1 -1
  16. package/dist/common/errors/no-meeting-info.js +51 -0
  17. package/dist/common/errors/no-meeting-info.js.map +1 -0
  18. package/dist/common/errors/reclaim-host-role-errors.js +158 -0
  19. package/dist/common/errors/reclaim-host-role-errors.js.map +1 -0
  20. package/dist/common/errors/webex-errors.js +48 -7
  21. package/dist/common/errors/webex-errors.js.map +1 -1
  22. package/dist/common/logs/logger-proxy.js +1 -1
  23. package/dist/common/logs/logger-proxy.js.map +1 -1
  24. package/dist/common/logs/request.js +5 -1
  25. package/dist/common/logs/request.js.map +1 -1
  26. package/dist/common/queue.js +24 -9
  27. package/dist/common/queue.js.map +1 -1
  28. package/dist/config.js +6 -10
  29. package/dist/config.js.map +1 -1
  30. package/dist/constants.js +247 -34
  31. package/dist/constants.js.map +1 -1
  32. package/dist/controls-options-manager/enums.js +14 -2
  33. package/dist/controls-options-manager/enums.js.map +1 -1
  34. package/dist/controls-options-manager/index.js +109 -15
  35. package/dist/controls-options-manager/index.js.map +1 -1
  36. package/dist/controls-options-manager/types.js +7 -0
  37. package/dist/controls-options-manager/types.js.map +1 -0
  38. package/dist/controls-options-manager/util.js +309 -18
  39. package/dist/controls-options-manager/util.js.map +1 -1
  40. package/dist/index.js +116 -2
  41. package/dist/index.js.map +1 -1
  42. package/dist/interceptors/index.js +15 -0
  43. package/dist/interceptors/index.js.map +1 -0
  44. package/dist/interceptors/locusRetry.js +93 -0
  45. package/dist/interceptors/locusRetry.js.map +1 -0
  46. package/dist/interpretation/collection.js +23 -0
  47. package/dist/interpretation/collection.js.map +1 -0
  48. package/dist/interpretation/index.js +380 -0
  49. package/dist/interpretation/index.js.map +1 -0
  50. package/dist/interpretation/siLanguage.js +25 -0
  51. package/dist/interpretation/siLanguage.js.map +1 -0
  52. package/dist/locus-info/controlsUtils.js +91 -2
  53. package/dist/locus-info/controlsUtils.js.map +1 -1
  54. package/dist/locus-info/index.js +386 -62
  55. package/dist/locus-info/index.js.map +1 -1
  56. package/dist/locus-info/infoUtils.js +7 -1
  57. package/dist/locus-info/infoUtils.js.map +1 -1
  58. package/dist/locus-info/mediaSharesUtils.js +71 -1
  59. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  60. package/dist/locus-info/parser.js +249 -72
  61. package/dist/locus-info/parser.js.map +1 -1
  62. package/dist/locus-info/selfUtils.js +89 -14
  63. package/dist/locus-info/selfUtils.js.map +1 -1
  64. package/dist/media/index.js +65 -102
  65. package/dist/media/index.js.map +1 -1
  66. package/dist/media/properties.js +73 -124
  67. package/dist/media/properties.js.map +1 -1
  68. package/dist/mediaQualityMetrics/config.js +135 -330
  69. package/dist/mediaQualityMetrics/config.js.map +1 -1
  70. package/dist/meeting/in-meeting-actions.js +86 -2
  71. package/dist/meeting/in-meeting-actions.js.map +1 -1
  72. package/dist/meeting/index.js +4509 -3000
  73. package/dist/meeting/index.js.map +1 -1
  74. package/dist/meeting/locusMediaRequest.js +292 -0
  75. package/dist/meeting/locusMediaRequest.js.map +1 -0
  76. package/dist/meeting/muteState.js +236 -136
  77. package/dist/meeting/muteState.js.map +1 -1
  78. package/dist/meeting/request.js +185 -155
  79. package/dist/meeting/request.js.map +1 -1
  80. package/dist/meeting/util.js +676 -417
  81. package/dist/meeting/util.js.map +1 -1
  82. package/dist/meeting/voicea-meeting.js +172 -0
  83. package/dist/meeting/voicea-meeting.js.map +1 -0
  84. package/dist/meeting-info/index.js +73 -7
  85. package/dist/meeting-info/index.js.map +1 -1
  86. package/dist/meeting-info/meeting-info-v2.js +201 -57
  87. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  88. package/dist/meeting-info/util.js +8 -7
  89. package/dist/meeting-info/util.js.map +1 -1
  90. package/dist/meeting-info/utilv2.js +44 -40
  91. package/dist/meeting-info/utilv2.js.map +1 -1
  92. package/dist/meetings/collection.js +39 -0
  93. package/dist/meetings/collection.js.map +1 -1
  94. package/dist/meetings/index.js +484 -119
  95. package/dist/meetings/index.js.map +1 -1
  96. package/dist/meetings/meetings.types.js +7 -0
  97. package/dist/meetings/meetings.types.js.map +1 -0
  98. package/dist/meetings/request.js +2 -0
  99. package/dist/meetings/request.js.map +1 -1
  100. package/dist/meetings/util.js +73 -7
  101. package/dist/meetings/util.js.map +1 -1
  102. package/dist/member/index.js +57 -0
  103. package/dist/member/index.js.map +1 -1
  104. package/dist/member/types.js +25 -0
  105. package/dist/member/types.js.map +1 -0
  106. package/dist/member/util.js +132 -25
  107. package/dist/member/util.js.map +1 -1
  108. package/dist/members/collection.js +10 -0
  109. package/dist/members/collection.js.map +1 -1
  110. package/dist/members/index.js +100 -5
  111. package/dist/members/index.js.map +1 -1
  112. package/dist/members/request.js +106 -38
  113. package/dist/members/request.js.map +1 -1
  114. package/dist/members/types.js +15 -0
  115. package/dist/members/types.js.map +1 -0
  116. package/dist/members/util.js +326 -232
  117. package/dist/members/util.js.map +1 -1
  118. package/dist/metrics/constants.js +18 -1
  119. package/dist/metrics/constants.js.map +1 -1
  120. package/dist/metrics/index.js +1 -446
  121. package/dist/metrics/index.js.map +1 -1
  122. package/dist/multistream/mediaRequestManager.js +223 -32
  123. package/dist/multistream/mediaRequestManager.js.map +1 -1
  124. package/dist/multistream/receiveSlot.js +10 -0
  125. package/dist/multistream/receiveSlot.js.map +1 -1
  126. package/dist/multistream/receiveSlotManager.js +39 -36
  127. package/dist/multistream/receiveSlotManager.js.map +1 -1
  128. package/dist/multistream/remoteMedia.js +3 -1
  129. package/dist/multistream/remoteMedia.js.map +1 -1
  130. package/dist/multistream/remoteMediaGroup.js +76 -5
  131. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  132. package/dist/multistream/remoteMediaManager.js +366 -104
  133. package/dist/multistream/remoteMediaManager.js.map +1 -1
  134. package/dist/multistream/sendSlotManager.js +255 -0
  135. package/dist/multistream/sendSlotManager.js.map +1 -0
  136. package/dist/reachability/clusterReachability.js +356 -0
  137. package/dist/reachability/clusterReachability.js.map +1 -0
  138. package/dist/reachability/index.js +263 -390
  139. package/dist/reachability/index.js.map +1 -1
  140. package/dist/reachability/request.js +6 -4
  141. package/dist/reachability/request.js.map +1 -1
  142. package/dist/reachability/util.js +29 -0
  143. package/dist/reachability/util.js.map +1 -0
  144. package/dist/reconnection-manager/index.js +266 -202
  145. package/dist/reconnection-manager/index.js.map +1 -1
  146. package/dist/recording-controller/index.js +21 -2
  147. package/dist/recording-controller/index.js.map +1 -1
  148. package/dist/recording-controller/util.js +9 -8
  149. package/dist/recording-controller/util.js.map +1 -1
  150. package/dist/roap/index.js +66 -28
  151. package/dist/roap/index.js.map +1 -1
  152. package/dist/roap/request.js +48 -64
  153. package/dist/roap/request.js.map +1 -1
  154. package/dist/roap/turnDiscovery.js +407 -79
  155. package/dist/roap/turnDiscovery.js.map +1 -1
  156. package/dist/rtcMetrics/constants.js +12 -0
  157. package/dist/rtcMetrics/constants.js.map +1 -0
  158. package/dist/rtcMetrics/index.js +179 -0
  159. package/dist/rtcMetrics/index.js.map +1 -0
  160. package/dist/statsAnalyzer/index.js +357 -295
  161. package/dist/statsAnalyzer/index.js.map +1 -1
  162. package/dist/statsAnalyzer/mqaUtil.js +296 -156
  163. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  164. package/dist/types/annotation/annotation.types.d.ts +42 -0
  165. package/dist/types/annotation/constants.d.ts +31 -0
  166. package/dist/types/annotation/index.d.ts +117 -0
  167. package/dist/types/breakouts/events.d.ts +8 -0
  168. package/dist/types/breakouts/utils.d.ts +9 -2
  169. package/dist/types/common/errors/no-meeting-info.d.ts +14 -0
  170. package/dist/types/common/errors/reclaim-host-role-errors.d.ts +60 -0
  171. package/dist/types/common/errors/webex-errors.d.ts +25 -1
  172. package/dist/types/common/logs/request.d.ts +2 -0
  173. package/dist/types/common/queue.d.ts +9 -7
  174. package/dist/types/config.d.ts +2 -7
  175. package/dist/types/constants.d.ts +204 -32
  176. package/dist/types/controls-options-manager/enums.d.ts +11 -1
  177. package/dist/types/controls-options-manager/index.d.ts +17 -1
  178. package/dist/types/controls-options-manager/types.d.ts +43 -0
  179. package/dist/types/controls-options-manager/util.d.ts +1 -7
  180. package/dist/types/index.d.ts +6 -5
  181. package/dist/types/interceptors/index.d.ts +2 -0
  182. package/dist/types/interceptors/locusRetry.d.ts +27 -0
  183. package/dist/types/interpretation/collection.d.ts +5 -0
  184. package/dist/types/interpretation/index.d.ts +5 -0
  185. package/dist/types/interpretation/siLanguage.d.ts +5 -0
  186. package/dist/types/locus-info/index.d.ts +57 -4
  187. package/dist/types/locus-info/parser.d.ts +66 -6
  188. package/dist/types/media/index.d.ts +2 -0
  189. package/dist/types/media/properties.d.ts +34 -49
  190. package/dist/types/mediaQualityMetrics/config.d.ts +99 -223
  191. package/dist/types/meeting/in-meeting-actions.d.ts +86 -2
  192. package/dist/types/meeting/index.d.ts +630 -505
  193. package/dist/types/meeting/locusMediaRequest.d.ts +74 -0
  194. package/dist/types/meeting/muteState.d.ts +88 -26
  195. package/dist/types/meeting/request.d.ts +65 -43
  196. package/dist/types/meeting/util.d.ts +117 -1
  197. package/dist/types/meeting/voicea-meeting.d.ts +16 -0
  198. package/dist/types/meeting-info/index.d.ts +13 -1
  199. package/dist/types/meeting-info/meeting-info-v2.d.ts +31 -1
  200. package/dist/types/meetings/collection.d.ts +17 -0
  201. package/dist/types/meetings/index.d.ts +113 -21
  202. package/dist/types/meetings/meetings.types.d.ts +4 -0
  203. package/dist/types/member/index.d.ts +14 -0
  204. package/dist/types/member/types.d.ts +32 -0
  205. package/dist/types/members/collection.d.ts +5 -0
  206. package/dist/types/members/index.d.ts +35 -2
  207. package/dist/types/members/request.d.ts +73 -9
  208. package/dist/types/members/types.d.ts +25 -0
  209. package/dist/types/members/util.d.ts +214 -1
  210. package/dist/types/metrics/constants.d.ts +17 -0
  211. package/dist/types/metrics/index.d.ts +4 -111
  212. package/dist/types/multistream/mediaRequestManager.d.ts +72 -3
  213. package/dist/types/multistream/receiveSlot.d.ts +7 -3
  214. package/dist/types/multistream/receiveSlotManager.d.ts +14 -4
  215. package/dist/types/multistream/remoteMedia.d.ts +3 -31
  216. package/dist/types/multistream/remoteMediaGroup.d.ts +2 -9
  217. package/dist/types/multistream/remoteMediaManager.d.ts +62 -2
  218. package/dist/types/multistream/sendSlotManager.d.ts +70 -0
  219. package/dist/types/reachability/clusterReachability.d.ts +109 -0
  220. package/dist/types/reachability/index.d.ts +60 -95
  221. package/dist/types/reachability/request.d.ts +3 -1
  222. package/dist/types/reachability/util.d.ts +8 -0
  223. package/dist/types/reconnection-manager/index.d.ts +19 -0
  224. package/dist/types/recording-controller/index.d.ts +15 -1
  225. package/dist/types/recording-controller/util.d.ts +5 -4
  226. package/dist/types/roap/index.d.ts +11 -2
  227. package/dist/types/roap/request.d.ts +9 -8
  228. package/dist/types/roap/turnDiscovery.d.ts +90 -9
  229. package/dist/types/rtcMetrics/constants.d.ts +4 -0
  230. package/dist/types/rtcMetrics/index.d.ts +61 -0
  231. package/dist/types/statsAnalyzer/index.d.ts +34 -12
  232. package/dist/types/statsAnalyzer/mqaUtil.d.ts +28 -4
  233. package/dist/types/webinar/collection.d.ts +16 -0
  234. package/dist/types/webinar/index.d.ts +5 -0
  235. package/dist/webinar/collection.js +44 -0
  236. package/dist/webinar/collection.js.map +1 -0
  237. package/dist/webinar/index.js +69 -0
  238. package/dist/webinar/index.js.map +1 -0
  239. package/package.json +22 -19
  240. package/src/annotation/annotation.types.ts +50 -0
  241. package/src/annotation/constants.ts +36 -0
  242. package/src/annotation/index.ts +328 -0
  243. package/src/breakouts/README.md +27 -6
  244. package/src/breakouts/breakout.ts +67 -9
  245. package/src/breakouts/events.ts +56 -0
  246. package/src/breakouts/index.ts +494 -73
  247. package/src/breakouts/utils.ts +26 -8
  248. package/src/common/errors/no-meeting-info.ts +24 -0
  249. package/src/common/errors/reclaim-host-role-errors.ts +134 -0
  250. package/src/common/errors/webex-errors.ts +44 -2
  251. package/src/common/logs/logger-proxy.ts +1 -1
  252. package/src/common/logs/request.ts +5 -1
  253. package/src/common/queue.ts +22 -8
  254. package/src/config.ts +6 -13
  255. package/src/constants.ts +234 -22
  256. package/src/controls-options-manager/enums.ts +12 -0
  257. package/src/controls-options-manager/index.ts +116 -21
  258. package/src/controls-options-manager/types.ts +59 -0
  259. package/src/controls-options-manager/util.ts +294 -14
  260. package/src/index.ts +45 -0
  261. package/src/interceptors/index.ts +3 -0
  262. package/src/interceptors/locusRetry.ts +67 -0
  263. package/src/interpretation/README.md +60 -0
  264. package/src/interpretation/collection.ts +19 -0
  265. package/src/interpretation/index.ts +349 -0
  266. package/src/interpretation/siLanguage.ts +18 -0
  267. package/src/locus-info/controlsUtils.ts +108 -0
  268. package/src/locus-info/index.ts +417 -59
  269. package/src/locus-info/infoUtils.ts +10 -2
  270. package/src/locus-info/mediaSharesUtils.ts +80 -0
  271. package/src/locus-info/parser.ts +258 -47
  272. package/src/locus-info/selfUtils.ts +81 -5
  273. package/src/media/index.ts +100 -108
  274. package/src/media/properties.ts +88 -117
  275. package/src/mediaQualityMetrics/config.ts +103 -238
  276. package/src/meeting/in-meeting-actions.ts +171 -3
  277. package/src/meeting/index.ts +3899 -2622
  278. package/src/meeting/locusMediaRequest.ts +313 -0
  279. package/src/meeting/muteState.ts +237 -136
  280. package/src/meeting/request.ts +166 -122
  281. package/src/meeting/util.ts +690 -395
  282. package/src/meeting/voicea-meeting.ts +122 -0
  283. package/src/meeting-info/index.ts +81 -8
  284. package/src/meeting-info/meeting-info-v2.ts +166 -16
  285. package/src/meeting-info/util.ts +13 -10
  286. package/src/meeting-info/utilv2.ts +47 -37
  287. package/src/meetings/collection.ts +33 -0
  288. package/src/meetings/index.ts +507 -127
  289. package/src/meetings/meetings.types.ts +12 -0
  290. package/src/meetings/request.ts +2 -0
  291. package/src/meetings/util.ts +81 -12
  292. package/src/member/index.ts +57 -0
  293. package/src/member/types.ts +38 -0
  294. package/src/member/util.ts +141 -25
  295. package/src/members/collection.ts +8 -0
  296. package/src/members/index.ts +133 -7
  297. package/src/members/request.ts +97 -17
  298. package/src/members/types.ts +29 -0
  299. package/src/members/util.ts +333 -240
  300. package/src/metrics/constants.ts +17 -0
  301. package/src/metrics/index.ts +1 -469
  302. package/src/multistream/mediaRequestManager.ts +271 -56
  303. package/src/multistream/receiveSlot.ts +11 -4
  304. package/src/multistream/receiveSlotManager.ts +34 -24
  305. package/src/multistream/remoteMedia.ts +5 -3
  306. package/src/multistream/remoteMediaGroup.ts +78 -0
  307. package/src/multistream/remoteMediaManager.ts +248 -44
  308. package/src/multistream/sendSlotManager.ts +199 -0
  309. package/src/reachability/clusterReachability.ts +320 -0
  310. package/src/reachability/index.ts +229 -346
  311. package/src/reachability/request.ts +8 -4
  312. package/src/reachability/util.ts +24 -0
  313. package/src/reconnection-manager/index.ts +128 -97
  314. package/src/recording-controller/index.ts +20 -3
  315. package/src/recording-controller/util.ts +26 -9
  316. package/src/roap/index.ts +76 -25
  317. package/src/roap/request.ts +48 -67
  318. package/src/roap/turnDiscovery.ts +331 -67
  319. package/src/rtcMetrics/constants.ts +3 -0
  320. package/src/rtcMetrics/index.ts +166 -0
  321. package/src/statsAnalyzer/index.ts +457 -416
  322. package/src/statsAnalyzer/mqaUtil.ts +317 -170
  323. package/src/webinar/collection.ts +31 -0
  324. package/src/webinar/index.ts +62 -0
  325. package/test/integration/spec/converged-space-meetings.js +60 -3
  326. package/test/integration/spec/journey.js +321 -262
  327. package/test/integration/spec/space-meeting.js +76 -3
  328. package/test/unit/spec/annotation/index.ts +418 -0
  329. package/test/unit/spec/breakouts/breakout.ts +119 -28
  330. package/test/unit/spec/breakouts/events.ts +89 -0
  331. package/test/unit/spec/breakouts/index.ts +1204 -118
  332. package/test/unit/spec/breakouts/utils.js +27 -2
  333. package/test/unit/spec/common/queue.js +31 -2
  334. package/test/unit/spec/controls-options-manager/index.js +163 -0
  335. package/test/unit/spec/controls-options-manager/util.js +576 -60
  336. package/test/unit/spec/fixture/locus.js +1 -0
  337. package/test/unit/spec/interceptors/locusRetry.ts +131 -0
  338. package/test/unit/spec/interpretation/collection.ts +15 -0
  339. package/test/unit/spec/interpretation/index.ts +625 -0
  340. package/test/unit/spec/interpretation/siLanguage.ts +28 -0
  341. package/test/unit/spec/locus-info/controlsUtils.js +316 -43
  342. package/test/unit/spec/locus-info/index.js +1372 -37
  343. package/test/unit/spec/locus-info/infoUtils.js +37 -15
  344. package/test/unit/spec/locus-info/lib/SeqCmp.json +16 -0
  345. package/test/unit/spec/locus-info/mediaSharesUtils.ts +41 -0
  346. package/test/unit/spec/locus-info/parser.js +116 -35
  347. package/test/unit/spec/locus-info/selfConstant.js +27 -4
  348. package/test/unit/spec/locus-info/selfUtils.js +203 -17
  349. package/test/unit/spec/media/index.ts +178 -81
  350. package/test/unit/spec/media/properties.ts +2 -2
  351. package/test/unit/spec/meeting/in-meeting-actions.ts +85 -3
  352. package/test/unit/spec/meeting/index.js +7520 -2267
  353. package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
  354. package/test/unit/spec/meeting/muteState.js +549 -207
  355. package/test/unit/spec/meeting/request.js +476 -54
  356. package/test/unit/spec/meeting/utils.js +827 -74
  357. package/test/unit/spec/meeting/voicea-meeting.ts +266 -0
  358. package/test/unit/spec/meeting-info/index.js +300 -0
  359. package/test/unit/spec/meeting-info/meetinginfov2.js +535 -9
  360. package/test/unit/spec/meeting-info/utilv2.js +21 -0
  361. package/test/unit/spec/meetings/collection.js +26 -0
  362. package/test/unit/spec/meetings/index.js +1489 -219
  363. package/test/unit/spec/meetings/utils.js +229 -2
  364. package/test/unit/spec/member/index.js +61 -6
  365. package/test/unit/spec/member/util.js +510 -34
  366. package/test/unit/spec/members/index.js +432 -1
  367. package/test/unit/spec/members/request.js +206 -27
  368. package/test/unit/spec/members/utils.js +210 -0
  369. package/test/unit/spec/metrics/index.js +2 -52
  370. package/test/unit/spec/multistream/mediaRequestManager.ts +782 -114
  371. package/test/unit/spec/multistream/receiveSlot.ts +9 -1
  372. package/test/unit/spec/multistream/receiveSlotManager.ts +32 -30
  373. package/test/unit/spec/multistream/remoteMedia.ts +2 -0
  374. package/test/unit/spec/multistream/remoteMediaGroup.ts +345 -0
  375. package/test/unit/spec/multistream/remoteMediaManager.ts +525 -0
  376. package/test/unit/spec/multistream/sendSlotManager.ts +274 -0
  377. package/test/unit/spec/reachability/clusterReachability.ts +279 -0
  378. package/test/unit/spec/reachability/index.ts +551 -14
  379. package/test/unit/spec/reachability/request.js +3 -1
  380. package/test/unit/spec/reachability/util.ts +40 -0
  381. package/test/unit/spec/reconnection-manager/index.js +171 -11
  382. package/test/unit/spec/recording-controller/index.js +293 -218
  383. package/test/unit/spec/recording-controller/util.js +223 -96
  384. package/test/unit/spec/roap/index.ts +233 -81
  385. package/test/unit/spec/roap/request.ts +100 -62
  386. package/test/unit/spec/roap/turnDiscovery.ts +682 -108
  387. package/test/unit/spec/rtcMetrics/index.ts +122 -0
  388. package/test/unit/spec/stats-analyzer/index.js +1252 -12
  389. package/test/unit/spec/webinar/collection.ts +13 -0
  390. package/test/unit/spec/webinar/index.ts +60 -0
  391. package/test/utils/integrationTestUtils.js +46 -0
  392. package/test/utils/testUtils.js +0 -57
  393. package/test/utils/webex-test-users.js +12 -4
  394. package/dist/metrics/config.js +0 -289
  395. package/dist/metrics/config.js.map +0 -1
  396. package/dist/types/metrics/config.d.ts +0 -169
  397. package/src/index.js +0 -18
  398. package/src/metrics/config.ts +0 -485
@@ -29,6 +29,22 @@ export declare class MeetingInfoV2AdhocMeetingError extends Error {
29
29
  */
30
30
  constructor(wbxAppApiErrorCode?: number, message?: string);
31
31
  }
32
+ /**
33
+ * Error preventing join because of a meeting policy
34
+ */
35
+ export declare class MeetingInfoV2PolicyError extends Error {
36
+ meetingInfo: object;
37
+ sdkMessage: string;
38
+ wbxAppApiCode: number;
39
+ /**
40
+ *
41
+ * @constructor
42
+ * @param {Number} [wbxAppApiErrorCode]
43
+ * @param {Object} [meetingInfo]
44
+ * @param {String} [message]
45
+ */
46
+ constructor(wbxAppApiErrorCode?: number, meetingInfo?: object, message?: string);
47
+ }
32
48
  /**
33
49
  * Error to indicate that preferred webex site not present to start adhoc meeting
34
50
  */
@@ -66,14 +82,21 @@ export default class MeetingInfoV2 {
66
82
  * @memberof MeetingInfo
67
83
  */
68
84
  fetchInfoOptions(destination: string, type?: string): any;
85
+ /**
86
+ * Raises a MeetingInfoV2PolicyError for policy error codes
87
+ * @param {any} err the error from the request
88
+ * @returns {void}
89
+ */
90
+ handlePolicyError: (err: any) => void;
69
91
  /**
70
92
  * Creates adhoc space meetings for a space by fetching the conversation infomation
71
93
  * @param {String} conversationUrl conversationUrl to start adhoc meeting on
94
+ * @param {String} installedOrgID org ID of user's machine
72
95
  * @returns {Promise} returns a meeting info object
73
96
  * @public
74
97
  * @memberof MeetingInfo
75
98
  */
76
- createAdhocSpaceMeeting(conversationUrl: string): Promise<any>;
99
+ createAdhocSpaceMeeting(conversationUrl: string, installedOrgID?: string): Promise<any>;
77
100
  /**
78
101
  * Fetches meeting info from the server
79
102
  * @param {String} destination one of many different types of destinations to look up info for
@@ -82,6 +105,10 @@ export default class MeetingInfoV2 {
82
105
  * @param {Object} captchaInfo
83
106
  * @param {String} captchaInfo.code
84
107
  * @param {String} captchaInfo.id
108
+ * @param {String} installedOrgID org ID of user's machine
109
+ * @param {String} locusId
110
+ * @param {Object} extraParams
111
+ * @param {Object} options
85
112
  * @returns {Promise} returns a meeting info object
86
113
  * @public
87
114
  * @memberof MeetingInfo
@@ -89,5 +116,8 @@ export default class MeetingInfoV2 {
89
116
  fetchMeetingInfo(destination: string, type?: string, password?: string, captchaInfo?: {
90
117
  code: string;
91
118
  id: string;
119
+ }, installedOrgID?: any, locusId?: any, extraParams?: object, options?: {
120
+ meetingId?: string;
121
+ sendCAevents?: boolean;
92
122
  }): Promise<any>;
93
123
  }
@@ -20,4 +20,21 @@ export default class MeetingCollection extends Collection {
20
20
  * @memberof MeetingCollection
21
21
  */
22
22
  getByKey(key: string, value: any): any;
23
+ /**
24
+ * get a specific meeting searching for key
25
+ * @param {String} breakoutUrl
26
+ * @returns {Meeting} if found, else returns null
27
+ * @public
28
+ * @memberof MeetingCollection
29
+ */
30
+ getActiveBreakoutLocus(breakoutUrl: string): any;
31
+ /**
32
+ * Gets the meeting that has a webrtc media connection
33
+ * NOTE: this function assumes there is no more than 1 such meeting
34
+ *
35
+ * @returns {Meeting} first meeting found, else undefined
36
+ * @public
37
+ * @memberof MeetingCollection
38
+ */
39
+ getActiveWebrtcMeeting(): any;
23
40
  }
@@ -1,7 +1,11 @@
1
1
  import '@webex/internal-plugin-mercury';
2
2
  import '@webex/internal-plugin-conversation';
3
+ import '@webex/internal-plugin-metrics';
3
4
  import { WebexPlugin } from '@webex/webex-core';
4
5
  import 'webrtc-adapter';
6
+ import { CallStateForMetrics } from '../meeting';
7
+ import Reachability from '../reachability';
8
+ import { INoiseReductionEffect, IVirtualBackgroundEffect } from './meetings.types';
5
9
  /**
6
10
  * Meetings Ready Event
7
11
  * Emitted when the meetings instance on webex is ready
@@ -55,11 +59,13 @@ export default class Meetings extends WebexPlugin {
55
59
  meetingCollection: any;
56
60
  personalMeetingRoom: any;
57
61
  preferredWebexSite: any;
58
- reachability: any;
62
+ reachability: Reachability;
59
63
  registered: any;
60
64
  request: any;
61
65
  geoHintInfo: any;
62
66
  meetingInfo: any;
67
+ mediaHelpers: any;
68
+ breakoutLocusForHandleLater: any;
63
69
  namespace: string;
64
70
  /**
65
71
  * Initializes the Meetings Plugin
@@ -68,6 +74,34 @@ export default class Meetings extends WebexPlugin {
68
74
  * @memberof Meetings
69
75
  */
70
76
  constructor(...args: any[]);
77
+ /**
78
+ * check whether you need to handle this main session's locus data or not
79
+ * @param {Object} meeting current meeting data
80
+ * @param {Object} newLocus new locus data
81
+ * @returns {boolean}
82
+ * @private
83
+ * @memberof Meetings
84
+ */
85
+ private isNeedHandleMainLocus;
86
+ /**
87
+ * check whether you need to handle this locus data or not
88
+ * @param {Object} meeting old locus data
89
+ * @param {Object} newLocus new locus data
90
+ * @returns {boolean}
91
+ * @private
92
+ * @memberof Meetings
93
+ */
94
+ private isNeedHandleLocusDTO;
95
+ /**
96
+ * get corresponding meeting object by locus data
97
+ * @param {Object} data a locus event
98
+ * @param {String} data.locusUrl
99
+ * @param {Object} data.locus
100
+ * @returns {Object}
101
+ * @private
102
+ * @memberof Meetings
103
+ */
104
+ getCorrespondingMeetingByLocus(data: any): any;
71
105
  /**
72
106
  * handle locus events and takes meeting actions with them as they come in
73
107
  * @param {Object} data a locus event
@@ -126,21 +160,21 @@ export default class Meetings extends WebexPlugin {
126
160
  */
127
161
  private _toggleUnifiedMeetings;
128
162
  /**
129
- * API to enable or disable TURN discovery
130
- * @param {Boolean} enable
163
+ * API to toggle starting adhoc meeting
164
+ * @param {Boolean} changeState
131
165
  * @private
132
166
  * @memberof Meetings
133
167
  * @returns {undefined}
134
168
  */
135
- private _toggleTurnDiscovery;
169
+ private _toggleAdhocMeetings;
136
170
  /**
137
- * API to toggle starting adhoc meeting
138
- * @param {Boolean} changeState
171
+ * API to toggle TCP reachability, needs to be called before webex.meetings.register()
172
+ * @param {Boolean} newValue
139
173
  * @private
140
174
  * @memberof Meetings
141
175
  * @returns {undefined}
142
176
  */
143
- private _toggleAdhocMeetings;
177
+ private _toggleTcpReachability;
144
178
  /**
145
179
  * Explicitly sets up the meetings plugin by registering
146
180
  * the device, connecting to mercury, and listening for locus events.
@@ -159,6 +193,24 @@ export default class Meetings extends WebexPlugin {
159
193
  * @memberof Meetings
160
194
  */
161
195
  unregister(): any;
196
+ /**
197
+ * Creates a noise reduction effect
198
+ *
199
+ * @param {INoiseReductionEffect} options optional custom effect options
200
+ * @returns {Promise<effect>} noise reduction effect.
201
+ * @public
202
+ * @memberof Meetings
203
+ */
204
+ createNoiseReductionEffect: (options?: INoiseReductionEffect) => Promise<any>;
205
+ /**
206
+ * Creates a virtual background effect
207
+ *
208
+ * @param {IVirtualBackgroundEffect} options optional custom effect options
209
+ * @returns {Promise<effect>} virtual background effect.
210
+ * @public
211
+ * @memberof Meetings
212
+ */
213
+ createVirtualBackgroundEffect: (options?: IVirtualBackgroundEffect) => Promise<any>;
162
214
  /**
163
215
  * Uploads logs to the webex services for tracking
164
216
  * @param {Object} [options={}]
@@ -172,35 +224,30 @@ export default class Meetings extends WebexPlugin {
172
224
  * @returns {String} feedback ID logs were submitted under
173
225
  */
174
226
  uploadLogs(options?: {
227
+ autoupload?: boolean;
175
228
  callStart?: string;
176
229
  feedbackId?: string;
230
+ locussessionid?: string;
177
231
  locusId?: string;
178
232
  correlationId?: string;
179
233
  meetingId?: string;
180
234
  userId?: string;
181
235
  orgId?: string;
182
236
  }): any;
183
- /**
184
- * initializes the reachability instance for Meetings
185
- * @returns {undefined}
186
- * @public
187
- * @memberof Meetings
188
- */
189
- setReachability(): void;
190
237
  /**
191
238
  * gets the reachability instance for Meetings
192
239
  * @returns {Reachability}
193
240
  * @public
194
241
  * @memberof Meetings
195
242
  */
196
- getReachability(): any;
243
+ getReachability(): Reachability;
197
244
  /**
198
245
  * initializes and starts gathering reachability for Meetings
199
246
  * @returns {Promise}
200
247
  * @public
201
248
  * @memberof Meetings
202
249
  */
203
- startReachability(): any;
250
+ startReachability(): Promise<import("../reachability").ReachabilityResults>;
204
251
  /**
205
252
  * Get geoHint for info for meetings
206
253
  * @returns {Promise}
@@ -233,19 +280,37 @@ export default class Meetings extends WebexPlugin {
233
280
  */
234
281
  private destroy;
235
282
  /**
236
- * Create a meeting.
237
- * @param {string} destination - sipURL, spaceId, phonenumber, or locus object}
283
+ * Create a meeting or return an existing meeting.
284
+ *
285
+ * When meeting info passed it should be complete, e.g.: fetched after password or captcha provided
286
+ *
287
+ * @param {string} destination - sipURL, phonenumber, or locus object}
238
288
  * @param {string} [type] - the optional specified type, such as locusId
239
289
  * @param {Boolean} useRandomDelayForInfo - whether a random delay should be added to fetching meeting info
290
+ * @param {Object} infoExtraParams extra parameters to be provided when fetching meeting info
291
+ * @param {string} correlationId - the optional specified correlationId (callStateForMetrics.correlationId can be provided instead)
292
+ * @param {Boolean} failOnMissingMeetingInfo - whether to throw an error if meeting info fails to fetch (for calls that are not 1:1 or content share)
293
+ * @param {CallStateForMetrics} callStateForMetrics - information about call state for metrics
294
+ * @param {Object} [meetingInfo] - Pre-fetched complete meeting info
295
+ * @param {String} [meetingLookupUrl] - meeting info prefetch url
240
296
  * @returns {Promise<Meeting>} A new Meeting.
241
297
  * @public
242
298
  * @memberof Meetings
243
299
  */
244
- create(destination: string, type?: string, useRandomDelayForInfo?: boolean): any;
300
+ create(destination: string, type?: string, useRandomDelayForInfo?: boolean, infoExtraParams?: {}, correlationId?: string, failOnMissingMeetingInfo?: boolean, callStateForMetrics?: CallStateForMetrics, meetingInfo?: any, meetingLookupUrl?: any): any;
245
301
  /**
302
+ * Create meeting
303
+ *
304
+ * When meeting info passed it should be complete, e.g.: fetched after password or captcha provided
305
+ *
246
306
  * @param {String} destination see create()
247
307
  * @param {String} type see create()
248
308
  * @param {Boolean} useRandomDelayForInfo whether a random delay should be added to fetching meeting info
309
+ * @param {Object} infoExtraParams extra parameters to be provided when fetching meeting info
310
+ * @param {CallStateForMetrics} callStateForMetrics - information about call state for metrics
311
+ * @param {Boolean} failOnMissingMeetingInfo - whether to throw an error if meeting info fails to fetch (for calls that are not 1:1 or content share)
312
+ * @param {Object} [meetingInfo] - Pre-fetched complete meeting info
313
+ * @param {String} [meetingLookupUrl] - meeting info prefetch url
249
314
  * @returns {Promise} a new meeting instance complete with meeting info and destination
250
315
  * @private
251
316
  * @memberof Meetings
@@ -274,12 +339,31 @@ export default class Meetings extends WebexPlugin {
274
339
  endDate: object;
275
340
  }): any;
276
341
  /**
277
- * syncs all the meeting from server
342
+ * Syncs all the meetings from server. Does nothing and returns immediately if unverified guest.
343
+ * @param {boolean} keepOnlyLocusMeetings - whether the sync should keep only locus meetings or any other meeting in meetingCollection
344
+ * @returns {Promise<void>}
345
+ * @public
346
+ * @memberof Meetings
347
+ */
348
+ syncMeetings({ keepOnlyLocusMeetings }?: {
349
+ keepOnlyLocusMeetings?: boolean;
350
+ }): Promise<void>;
351
+ /**
352
+ * sort out locus array for initial creating
353
+ * @param {Array} loci original locus array
278
354
  * @returns {undefined}
279
355
  * @public
280
356
  * @memberof Meetings
281
357
  */
282
- syncMeetings(): any;
358
+ sortLocusArrayToUpdate(loci: any[]): any[];
359
+ /**
360
+ * check breakout locus which waiting for main locus's meeting to be created, then handle the breakout locus
361
+ * @param {Object} newCreatedLocus the locus which just create meeting object of it
362
+ * @returns {undefined}
363
+ * @public
364
+ * @memberof Meetings
365
+ */
366
+ checkHandleBreakoutLocus(newCreatedLocus: any): void;
283
367
  /**
284
368
  * Get all scheduled meetings.
285
369
  * @param {object} options
@@ -294,4 +378,12 @@ export default class Meetings extends WebexPlugin {
294
378
  * @returns {Logger}
295
379
  */
296
380
  getLogger(): any;
381
+ /**
382
+ * Returns the first meeting it finds that has the webrtc media connection created.
383
+ * Useful for debugging in the console.
384
+ *
385
+ * @private
386
+ * @returns {Meeting} Meeting object that has a webrtc media connection, else undefined
387
+ */
388
+ getActiveWebrtcMeeting(): any;
297
389
  }
@@ -0,0 +1,4 @@
1
+ import type { NoiseReductionEffectOptions, VirtualBackgroundEffectOptions } from '@webex/media-helpers';
2
+ type INoiseReductionEffect = Omit<NoiseReductionEffectOptions, 'authToken' | 'workletProcessorUrl' | 'legacyProcessorUrl'>;
3
+ type IVirtualBackgroundEffect = Omit<VirtualBackgroundEffectOptions, 'authToken'>;
4
+ export type { INoiseReductionEffect, IVirtualBackgroundEffect };
@@ -1,8 +1,10 @@
1
+ import { IExternalRoles, IMediaStatus } from './types';
1
2
  /**
2
3
  * @class Member
3
4
  */
4
5
  export default class Member {
5
6
  associatedUser: any;
7
+ canReclaimHost: boolean;
6
8
  id: any;
7
9
  isAudioMuted: any;
8
10
  isContentSharing: any;
@@ -21,10 +23,14 @@ export default class Member {
21
23
  isSelf: any;
22
24
  isUser: any;
23
25
  isVideoMuted: any;
26
+ roles: IExternalRoles;
27
+ mediaStatus: IMediaStatus;
24
28
  name: any;
25
29
  participant: any;
26
30
  status: any;
27
31
  supportsBreakouts: boolean;
32
+ supportsInterpretation: boolean;
33
+ supportLiveAnnotation: boolean;
28
34
  type: any;
29
35
  namespace: string;
30
36
  /**
@@ -135,6 +141,14 @@ export default class Member {
135
141
  * @memberof Member
136
142
  */
137
143
  private processIsHost;
144
+ /**
145
+ * process the roles that have been applied to this member
146
+ * @param {Object} participant
147
+ * @returns {undefined}
148
+ * @private
149
+ * @memberof Member
150
+ */
151
+ private processRoles;
138
152
  /**
139
153
  * set the type for the member, could be MEETING or CALL
140
154
  * @param {String} type
@@ -0,0 +1,32 @@
1
+ export interface IExternalRoles {
2
+ cohost: boolean;
3
+ moderator: boolean;
4
+ presenter: boolean;
5
+ }
6
+ export declare enum ServerRoles {
7
+ Cohost = "COHOST",
8
+ Moderator = "MODERATOR",
9
+ Presenter = "PRESENTER"
10
+ }
11
+ export type ServerRoleShape = {
12
+ type: ServerRoles;
13
+ hasRole: boolean;
14
+ };
15
+ export type ParticipantWithRoles = {
16
+ controls: {
17
+ role: {
18
+ roles: Array<ServerRoleShape>;
19
+ };
20
+ };
21
+ };
22
+ export declare enum MediaStatus {
23
+ RECVONLY = "RECVONLY",
24
+ SENDONLY = "SENDONLY",
25
+ SENDRECV = "SENDRECV",
26
+ INACTIVE = "INACTIVE",
27
+ UNKNOWN = "UNKNOWN"
28
+ }
29
+ export interface IMediaStatus {
30
+ audio: MediaStatus;
31
+ video: MediaStatus;
32
+ }
@@ -21,4 +21,9 @@ export default class MembersCollection {
21
21
  * @memberof MembersCollection
22
22
  */
23
23
  getAll(): any;
24
+ /**
25
+ * @returns {void}
26
+ * reset members
27
+ */
28
+ reset(): void;
24
29
  }
@@ -1,6 +1,7 @@
1
1
  import { StatelessWebexPlugin } from '@webex/webex-core';
2
2
  import { ReceiveSlotManager } from '../multistream/receiveSlotManager';
3
3
  import { MediaRequestManager } from '../multistream/mediaRequestManager';
4
+ import { ServerRoleShape } from './types';
4
5
  /**
5
6
  * Members Update Event
6
7
  * Emitted when something in the roster list needs to be updated
@@ -91,6 +92,13 @@ export default class Members extends StatelessWebexPlugin {
91
92
  newHost: any;
92
93
  oldHost: any;
93
94
  }): void;
95
+ /**
96
+ * clear member collection
97
+ * @returns {void}
98
+ * @private
99
+ * @memberof Members
100
+ */
101
+ clearMembers(): void;
94
102
  /**
95
103
  * when new participant updates come in, both delta and full participants, update them in members collection
96
104
  * delta object in the event will have {updated, added} and full will be the full membersCollection
@@ -102,6 +110,7 @@ export default class Members extends StatelessWebexPlugin {
102
110
  */
103
111
  locusParticipantsUpdate(payload: {
104
112
  participants: object;
113
+ isReplace?: boolean;
105
114
  }): void;
106
115
  /**
107
116
  * Internal update the content id
@@ -245,11 +254,15 @@ export default class Members extends StatelessWebexPlugin {
245
254
  /**
246
255
  * Admits waiting members (invited guests to meeting)
247
256
  * @param {Array} memberIds
257
+ * @param {Object} sessionLocusUrls: {authorizingLocusUrl, mainLocusUrl}
248
258
  * @returns {Promise}
249
259
  * @public
250
260
  * @memberof Members
251
261
  */
252
- admitMembers(memberIds: Array<any>): any;
262
+ admitMembers(memberIds: Array<any>, sessionLocusUrls?: {
263
+ authorizingLocusUrl: string;
264
+ mainLocusUrl: string;
265
+ }): any;
253
266
  /**
254
267
  * Removes a member from the meeting
255
268
  * @param {String} memberId
@@ -262,11 +275,21 @@ export default class Members extends StatelessWebexPlugin {
262
275
  * Audio mutes another member in a meeting
263
276
  * @param {String} memberId
264
277
  * @param {boolean} [mute] default true
278
+ * @param {boolean} [isAudio] default true
265
279
  * @returns {Promise}
266
280
  * @public
267
281
  * @memberof Members
268
282
  */
269
- muteMember(memberId: string, mute?: boolean): any;
283
+ muteMember(memberId: string, mute?: boolean, isAudio?: boolean): any;
284
+ /**
285
+ * Assign role(s) to a member in the meeting
286
+ * @param {String} memberId
287
+ * @param {[ServerRoleShape]} roles - to assign an array of roles
288
+ * @returns {Promise}
289
+ * @public
290
+ * @memberof Members
291
+ */
292
+ assignRoles(memberId: string, roles: Array<ServerRoleShape>): any;
270
293
  /**
271
294
  * Raise or lower the hand of a member in a meeting
272
295
  * @param {String} memberId
@@ -317,4 +340,14 @@ export default class Members extends StatelessWebexPlugin {
317
340
  * @returns {Member}
318
341
  */
319
342
  getCsisForMember(memberId: any, mediaType?: string, mediaContent?: string): any[];
343
+ /**
344
+ * Edit display name of participants in a meeting
345
+ * @param {string} memberId - id of the participant who is receiving request
346
+ * @param {string} requestingParticipantId - id of the participant who is sending request (optional)
347
+ * @param {string} [alias] - alias name
348
+ * @returns {Promise}
349
+ * @public
350
+ * @memberof Members
351
+ */
352
+ editDisplayName(memberId: string, requestingParticipantId: string, alias: string): any;
320
353
  }
@@ -4,6 +4,15 @@ import { StatelessWebexPlugin } from '@webex/webex-core';
4
4
  */
5
5
  export default class MembersRequest extends StatelessWebexPlugin {
6
6
  namespace: string;
7
+ locusDeltaRequest: (options: object) => Promise<any>;
8
+ /**
9
+ * Constructor
10
+ * @param {Object} attrs
11
+ * @param {Object} options
12
+ */
13
+ constructor(attrs: {
14
+ meeting: any;
15
+ }, options: object);
7
16
  /**
8
17
  *
9
18
  * @param {Object} options with format of {invitee: string, locusUrl: string}
@@ -11,7 +20,7 @@ export default class MembersRequest extends StatelessWebexPlugin {
11
20
  * @throws {Error} if the options are not valid and complete, must have invitee with emailAddress OR email AND locusUrl
12
21
  * @memberof MembersRequest
13
22
  */
14
- addMembers(options: any): any;
23
+ addMembers(options: any): Promise<any>;
15
24
  /**
16
25
  *
17
26
  * @param {Object} options
@@ -19,12 +28,67 @@ export default class MembersRequest extends StatelessWebexPlugin {
19
28
  * @throws {Error} if the options are not valid and complete, must have memberIds AND locusUrl
20
29
  * @memberof MembersRequest
21
30
  */
22
- admitMember(options: any): any;
23
- removeMember(options: any): any;
24
- muteMember(options: any): any;
25
- raiseOrLowerHandMember(options: any): any;
26
- lowerAllHandsMember(options: any): any;
27
- transferHostToMember(options: any): any;
31
+ admitMember(options: any): Promise<any>;
32
+ /**
33
+ * Sends a request to remove a member
34
+ * @param {Object} options
35
+ * @param {String} options.locusUrl
36
+ * @param {String} options.memberId ID of member
37
+ * @returns {Promise}
38
+ */
39
+ removeMember(options: any): Promise<any>;
40
+ /**
41
+ * Sends a request to mute a member
42
+ * @param {Object} options
43
+ * @param {String} options.locusUrl
44
+ * @param {String} options.memberId ID of member
45
+ * @returns {Promise}
46
+ */
47
+ muteMember(options: any): Promise<any>;
48
+ /**
49
+ * Sends a request to the DTMF endpoint to send tones
50
+ * @param {Object} options
51
+ * @param {String} options.locusUrl
52
+ * @param {String} options.memberId ID of PSTN user
53
+ * @returns {Promise}
54
+ */
55
+ assignRolesMember(options: any): Promise<any>;
56
+ /**
57
+ * Sends a request to raise or lower a member's hand
58
+ * @param {Object} options
59
+ * @param {String} options.locusUrl
60
+ * @param {String} options.memberId ID of member
61
+ * @returns {Promise}
62
+ */
63
+ raiseOrLowerHandMember(options: any): Promise<any>;
64
+ /**
65
+ * Sends a request to lower all hands
66
+ * @param {Object} options
67
+ * @param {String} options.locusUrl
68
+ * @param {String} options.requestingParticipantId ID of requesting participant
69
+ * @returns {Promise}
70
+ */
71
+ lowerAllHandsMember(options: any): Promise<any>;
72
+ /**
73
+ *
74
+ * @param {Object} options with format of {locusUrl: string, requestingParticipantId: string}
75
+ * @returns {Promise}
76
+ * @throws {Error} if the options are not valid and complete, must have requestingParticipantId AND locusUrl
77
+ * @memberof MembersRequest
78
+ */
79
+ editDisplayNameMember(options: {
80
+ locusUrl: string;
81
+ requestingParticipantId: string;
82
+ }): Promise<any>;
83
+ /**
84
+ * Sends a request to raise or lower a member's hand
85
+ * @param {Object} options
86
+ * @param {String} options.locusUrl
87
+ * @param {String} options.memberId ID of member
88
+ * @param {String} options.moderator ID of moderator
89
+ * @returns {Promise}
90
+ */
91
+ transferHostToMember(options: any): Promise<any>;
28
92
  /**
29
93
  * Sends a request to the DTMF endpoint to send tones
30
94
  * @param {Object} options
@@ -39,12 +103,12 @@ export default class MembersRequest extends StatelessWebexPlugin {
39
103
  url: string;
40
104
  tones: string;
41
105
  memberId: string;
42
- }): any;
106
+ }): Promise<any>;
43
107
  /**
44
108
  * @param {Object} options with format of {invitee: string, locusUrl: string}
45
109
  * @returns {Promise}
46
110
  * @throws {Error} if the options are not valid and complete, must have invitee with emailAddress OR email AND locusUrl
47
111
  * @memberof MembersRequest
48
112
  */
49
- cancelPhoneInvite(options: any): any;
113
+ cancelPhoneInvite(options: any): Promise<any>;
50
114
  }
@@ -0,0 +1,25 @@
1
+ export declare enum ServerRoles {
2
+ Cohost = "COHOST",
3
+ Moderator = "MODERATOR",
4
+ Presenter = "PRESENTER"
5
+ }
6
+ export type ServerRoleShape = {
7
+ type: ServerRoles;
8
+ hasRole: boolean;
9
+ hostKey?: string;
10
+ };
11
+ export type RoleAssignmentOptions = {
12
+ roles: Array<ServerRoleShape>;
13
+ locusUrl: string;
14
+ memberId: string;
15
+ };
16
+ export type RoleAssignmentBody = {
17
+ role: {
18
+ roles: Array<ServerRoleShape>;
19
+ };
20
+ };
21
+ export type RoleAssignmentRequest = {
22
+ method: string;
23
+ uri: string;
24
+ body: RoleAssignmentBody;
25
+ };