@webex/plugin-meetings 3.0.0-beta.29 → 3.0.0-beta.291

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 (373) hide show
  1. package/README.md +46 -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/edit-lock-error.js +52 -0
  11. package/dist/breakouts/edit-lock-error.js.map +1 -0
  12. package/dist/breakouts/events.js +45 -0
  13. package/dist/breakouts/events.js.map +1 -0
  14. package/dist/breakouts/index.js +709 -35
  15. package/dist/breakouts/index.js.map +1 -1
  16. package/dist/breakouts/utils.js +45 -1
  17. package/dist/breakouts/utils.js.map +1 -1
  18. package/dist/common/errors/no-meeting-info.js +51 -0
  19. package/dist/common/errors/no-meeting-info.js.map +1 -0
  20. package/dist/common/errors/webex-errors.js +28 -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 +5 -10
  29. package/dist/config.js.map +1 -1
  30. package/dist/constants.js +206 -29
  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 +112 -1
  41. package/dist/index.js.map +1 -1
  42. package/dist/interpretation/collection.js +23 -0
  43. package/dist/interpretation/collection.js.map +1 -0
  44. package/dist/interpretation/index.js +366 -0
  45. package/dist/interpretation/index.js.map +1 -0
  46. package/dist/interpretation/siLanguage.js +25 -0
  47. package/dist/interpretation/siLanguage.js.map +1 -0
  48. package/dist/locus-info/controlsUtils.js +91 -2
  49. package/dist/locus-info/controlsUtils.js.map +1 -1
  50. package/dist/locus-info/index.js +383 -62
  51. package/dist/locus-info/index.js.map +1 -1
  52. package/dist/locus-info/infoUtils.js +7 -1
  53. package/dist/locus-info/infoUtils.js.map +1 -1
  54. package/dist/locus-info/mediaSharesUtils.js +57 -1
  55. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  56. package/dist/locus-info/parser.js +249 -72
  57. package/dist/locus-info/parser.js.map +1 -1
  58. package/dist/locus-info/selfUtils.js +89 -14
  59. package/dist/locus-info/selfUtils.js.map +1 -1
  60. package/dist/media/index.js +61 -116
  61. package/dist/media/index.js.map +1 -1
  62. package/dist/media/properties.js +73 -124
  63. package/dist/media/properties.js.map +1 -1
  64. package/dist/meeting/in-meeting-actions.js +82 -2
  65. package/dist/meeting/in-meeting-actions.js.map +1 -1
  66. package/dist/meeting/index.js +3576 -2946
  67. package/dist/meeting/index.js.map +1 -1
  68. package/dist/meeting/locusMediaRequest.js +292 -0
  69. package/dist/meeting/locusMediaRequest.js.map +1 -0
  70. package/dist/meeting/muteState.js +230 -124
  71. package/dist/meeting/muteState.js.map +1 -1
  72. package/dist/meeting/request.js +256 -196
  73. package/dist/meeting/request.js.map +1 -1
  74. package/dist/meeting/util.js +601 -417
  75. package/dist/meeting/util.js.map +1 -1
  76. package/dist/meeting-info/index.js +73 -7
  77. package/dist/meeting-info/index.js.map +1 -1
  78. package/dist/meeting-info/meeting-info-v2.js +192 -51
  79. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  80. package/dist/meeting-info/util.js +1 -1
  81. package/dist/meeting-info/util.js.map +1 -1
  82. package/dist/meeting-info/utilv2.js +36 -36
  83. package/dist/meeting-info/utilv2.js.map +1 -1
  84. package/dist/meetings/collection.js +22 -0
  85. package/dist/meetings/collection.js.map +1 -1
  86. package/dist/meetings/index.js +402 -98
  87. package/dist/meetings/index.js.map +1 -1
  88. package/dist/meetings/meetings.types.js +7 -0
  89. package/dist/meetings/meetings.types.js.map +1 -0
  90. package/dist/meetings/request.js +2 -0
  91. package/dist/meetings/request.js.map +1 -1
  92. package/dist/meetings/util.js +71 -1
  93. package/dist/meetings/util.js.map +1 -1
  94. package/dist/member/index.js +58 -0
  95. package/dist/member/index.js.map +1 -1
  96. package/dist/member/types.js +25 -0
  97. package/dist/member/types.js.map +1 -0
  98. package/dist/member/util.js +132 -25
  99. package/dist/member/util.js.map +1 -1
  100. package/dist/members/collection.js +10 -0
  101. package/dist/members/collection.js.map +1 -1
  102. package/dist/members/index.js +86 -6
  103. package/dist/members/index.js.map +1 -1
  104. package/dist/members/request.js +106 -38
  105. package/dist/members/request.js.map +1 -1
  106. package/dist/members/types.js +15 -0
  107. package/dist/members/types.js.map +1 -0
  108. package/dist/members/util.js +326 -232
  109. package/dist/members/util.js.map +1 -1
  110. package/dist/metrics/constants.js +12 -5
  111. package/dist/metrics/constants.js.map +1 -1
  112. package/dist/metrics/index.js +1 -468
  113. package/dist/metrics/index.js.map +1 -1
  114. package/dist/multistream/mediaRequestManager.js +238 -49
  115. package/dist/multistream/mediaRequestManager.js.map +1 -1
  116. package/dist/multistream/receiveSlot.js +40 -16
  117. package/dist/multistream/receiveSlot.js.map +1 -1
  118. package/dist/multistream/receiveSlotManager.js +39 -36
  119. package/dist/multistream/receiveSlotManager.js.map +1 -1
  120. package/dist/multistream/remoteMedia.js +44 -18
  121. package/dist/multistream/remoteMedia.js.map +1 -1
  122. package/dist/multistream/remoteMediaGroup.js +60 -3
  123. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  124. package/dist/multistream/remoteMediaManager.js +209 -59
  125. package/dist/multistream/remoteMediaManager.js.map +1 -1
  126. package/dist/multistream/sendSlotManager.js +233 -0
  127. package/dist/multistream/sendSlotManager.js.map +1 -0
  128. package/dist/reachability/index.js +225 -59
  129. package/dist/reachability/index.js.map +1 -1
  130. package/dist/reachability/request.js +17 -8
  131. package/dist/reachability/request.js.map +1 -1
  132. package/dist/reconnection-manager/index.js +199 -154
  133. package/dist/reconnection-manager/index.js.map +1 -1
  134. package/dist/recording-controller/index.js +21 -2
  135. package/dist/recording-controller/index.js.map +1 -1
  136. package/dist/recording-controller/util.js +9 -8
  137. package/dist/recording-controller/util.js.map +1 -1
  138. package/dist/roap/index.js +23 -29
  139. package/dist/roap/index.js.map +1 -1
  140. package/dist/roap/request.js +112 -97
  141. package/dist/roap/request.js.map +1 -1
  142. package/dist/roap/turnDiscovery.js +96 -36
  143. package/dist/roap/turnDiscovery.js.map +1 -1
  144. package/dist/rtcMetrics/constants.js +12 -0
  145. package/dist/rtcMetrics/constants.js.map +1 -0
  146. package/dist/rtcMetrics/index.js +117 -0
  147. package/dist/rtcMetrics/index.js.map +1 -0
  148. package/dist/statsAnalyzer/index.js +84 -73
  149. package/dist/statsAnalyzer/index.js.map +1 -1
  150. package/dist/statsAnalyzer/mqaUtil.js +11 -10
  151. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  152. package/dist/types/annotation/annotation.types.d.ts +42 -0
  153. package/dist/types/annotation/constants.d.ts +31 -0
  154. package/dist/types/annotation/index.d.ts +117 -0
  155. package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
  156. package/dist/types/breakouts/events.d.ts +8 -0
  157. package/dist/types/breakouts/utils.d.ts +14 -0
  158. package/dist/types/common/errors/no-meeting-info.d.ts +14 -0
  159. package/dist/types/common/errors/webex-errors.d.ts +13 -1
  160. package/dist/types/common/logs/request.d.ts +2 -0
  161. package/dist/types/common/queue.d.ts +9 -7
  162. package/dist/types/config.d.ts +1 -6
  163. package/dist/types/constants.d.ts +162 -21
  164. package/dist/types/controls-options-manager/enums.d.ts +11 -1
  165. package/dist/types/controls-options-manager/index.d.ts +17 -1
  166. package/dist/types/controls-options-manager/types.d.ts +43 -0
  167. package/dist/types/controls-options-manager/util.d.ts +1 -7
  168. package/dist/types/index.d.ts +6 -4
  169. package/dist/types/interpretation/collection.d.ts +5 -0
  170. package/dist/types/interpretation/index.d.ts +5 -0
  171. package/dist/types/interpretation/siLanguage.d.ts +5 -0
  172. package/dist/types/locus-info/index.d.ts +57 -4
  173. package/dist/types/locus-info/parser.d.ts +67 -6
  174. package/dist/types/media/index.d.ts +2 -0
  175. package/dist/types/media/properties.d.ts +34 -48
  176. package/dist/types/meeting/in-meeting-actions.d.ts +82 -2
  177. package/dist/types/meeting/index.d.ts +413 -508
  178. package/dist/types/meeting/locusMediaRequest.d.ts +74 -0
  179. package/dist/types/meeting/muteState.d.ts +99 -23
  180. package/dist/types/meeting/request.d.ts +72 -43
  181. package/dist/types/meeting/util.d.ts +101 -1
  182. package/dist/types/meeting-info/index.d.ts +13 -1
  183. package/dist/types/meeting-info/meeting-info-v2.d.ts +31 -1
  184. package/dist/types/meetings/collection.d.ts +8 -0
  185. package/dist/types/meetings/index.d.ts +90 -12
  186. package/dist/types/meetings/meetings.types.d.ts +4 -0
  187. package/dist/types/member/index.d.ts +14 -0
  188. package/dist/types/member/types.d.ts +32 -0
  189. package/dist/types/members/collection.d.ts +5 -0
  190. package/dist/types/members/index.d.ts +35 -2
  191. package/dist/types/members/request.d.ts +73 -9
  192. package/dist/types/members/types.d.ts +25 -0
  193. package/dist/types/members/util.d.ts +214 -1
  194. package/dist/types/metrics/constants.d.ts +11 -4
  195. package/dist/types/metrics/index.d.ts +4 -119
  196. package/dist/types/multistream/mediaRequestManager.d.ts +73 -5
  197. package/dist/types/multistream/receiveSlot.d.ts +13 -11
  198. package/dist/types/multistream/receiveSlotManager.d.ts +14 -4
  199. package/dist/types/multistream/remoteMedia.d.ts +8 -29
  200. package/dist/types/multistream/remoteMediaGroup.d.ts +0 -9
  201. package/dist/types/multistream/remoteMediaManager.d.ts +46 -2
  202. package/dist/types/multistream/sendSlotManager.d.ts +61 -0
  203. package/dist/types/reachability/index.d.ts +61 -7
  204. package/dist/types/reachability/request.d.ts +7 -3
  205. package/dist/types/reconnection-manager/index.d.ts +9 -0
  206. package/dist/types/recording-controller/index.d.ts +15 -1
  207. package/dist/types/recording-controller/util.d.ts +5 -4
  208. package/dist/types/roap/request.d.ts +15 -11
  209. package/dist/types/roap/turnDiscovery.d.ts +18 -1
  210. package/dist/types/rtcMetrics/constants.d.ts +4 -0
  211. package/dist/types/rtcMetrics/index.d.ts +47 -0
  212. package/dist/types/statsAnalyzer/index.d.ts +7 -1
  213. package/dist/types/webinar/collection.d.ts +16 -0
  214. package/dist/types/webinar/index.d.ts +5 -0
  215. package/dist/webinar/collection.js +44 -0
  216. package/dist/webinar/collection.js.map +1 -0
  217. package/dist/webinar/index.js +69 -0
  218. package/dist/webinar/index.js.map +1 -0
  219. package/package.json +23 -20
  220. package/src/annotation/annotation.types.ts +50 -0
  221. package/src/annotation/constants.ts +36 -0
  222. package/src/annotation/index.ts +328 -0
  223. package/src/breakouts/README.md +42 -12
  224. package/src/breakouts/breakout.ts +67 -9
  225. package/src/breakouts/edit-lock-error.ts +25 -0
  226. package/src/breakouts/events.ts +56 -0
  227. package/src/breakouts/index.ts +592 -20
  228. package/src/breakouts/utils.ts +42 -0
  229. package/src/common/errors/no-meeting-info.ts +24 -0
  230. package/src/common/errors/webex-errors.ts +27 -2
  231. package/src/common/logs/logger-proxy.ts +1 -1
  232. package/src/common/logs/request.ts +5 -1
  233. package/src/common/queue.ts +22 -8
  234. package/src/config.ts +4 -9
  235. package/src/constants.ts +185 -18
  236. package/src/controls-options-manager/enums.ts +12 -0
  237. package/src/controls-options-manager/index.ts +116 -21
  238. package/src/controls-options-manager/types.ts +59 -0
  239. package/src/controls-options-manager/util.ts +294 -14
  240. package/src/index.ts +40 -0
  241. package/src/interpretation/README.md +60 -0
  242. package/src/interpretation/collection.ts +19 -0
  243. package/src/interpretation/index.ts +332 -0
  244. package/src/interpretation/siLanguage.ts +18 -0
  245. package/src/locus-info/controlsUtils.ts +108 -0
  246. package/src/locus-info/index.ts +413 -59
  247. package/src/locus-info/infoUtils.ts +10 -2
  248. package/src/locus-info/mediaSharesUtils.ts +64 -0
  249. package/src/locus-info/parser.ts +258 -47
  250. package/src/locus-info/selfUtils.ts +81 -5
  251. package/src/media/index.ts +102 -122
  252. package/src/media/properties.ts +87 -110
  253. package/src/meeting/in-meeting-actions.ts +163 -3
  254. package/src/meeting/index.ts +2858 -2462
  255. package/src/meeting/locusMediaRequest.ts +313 -0
  256. package/src/meeting/muteState.ts +229 -131
  257. package/src/meeting/request.ts +172 -121
  258. package/src/meeting/util.ts +588 -394
  259. package/src/meeting-info/index.ts +81 -8
  260. package/src/meeting-info/meeting-info-v2.ts +170 -14
  261. package/src/meeting-info/util.ts +1 -1
  262. package/src/meeting-info/utilv2.ts +23 -23
  263. package/src/meetings/collection.ts +20 -0
  264. package/src/meetings/index.ts +434 -108
  265. package/src/meetings/meetings.types.ts +12 -0
  266. package/src/meetings/request.ts +2 -0
  267. package/src/meetings/util.ts +79 -4
  268. package/src/member/index.ts +58 -0
  269. package/src/member/types.ts +38 -0
  270. package/src/member/util.ts +141 -25
  271. package/src/members/collection.ts +8 -0
  272. package/src/members/index.ts +106 -7
  273. package/src/members/request.ts +97 -17
  274. package/src/members/types.ts +29 -0
  275. package/src/members/util.ts +333 -240
  276. package/src/metrics/constants.ts +11 -4
  277. package/src/metrics/index.ts +1 -490
  278. package/src/multistream/mediaRequestManager.ts +289 -79
  279. package/src/multistream/receiveSlot.ts +47 -17
  280. package/src/multistream/receiveSlotManager.ts +34 -24
  281. package/src/multistream/remoteMedia.ts +27 -2
  282. package/src/multistream/remoteMediaGroup.ts +59 -0
  283. package/src/multistream/remoteMediaManager.ts +148 -30
  284. package/src/multistream/sendSlotManager.ts +170 -0
  285. package/src/reachability/index.ts +228 -37
  286. package/src/reachability/request.ts +17 -8
  287. package/src/reconnection-manager/index.ts +81 -54
  288. package/src/recording-controller/index.ts +20 -3
  289. package/src/recording-controller/util.ts +26 -9
  290. package/src/roap/index.ts +23 -30
  291. package/src/roap/request.ts +100 -104
  292. package/src/roap/turnDiscovery.ts +51 -25
  293. package/src/rtcMetrics/constants.ts +3 -0
  294. package/src/rtcMetrics/index.ts +100 -0
  295. package/src/statsAnalyzer/index.ts +103 -87
  296. package/src/statsAnalyzer/mqaUtil.ts +13 -14
  297. package/src/webinar/collection.ts +31 -0
  298. package/src/webinar/index.ts +62 -0
  299. package/test/integration/spec/converged-space-meetings.js +60 -3
  300. package/test/integration/spec/journey.js +320 -261
  301. package/test/integration/spec/space-meeting.js +76 -3
  302. package/test/unit/spec/annotation/index.ts +418 -0
  303. package/test/unit/spec/breakouts/breakout.ts +118 -28
  304. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  305. package/test/unit/spec/breakouts/events.ts +89 -0
  306. package/test/unit/spec/breakouts/index.ts +1395 -69
  307. package/test/unit/spec/breakouts/utils.js +52 -1
  308. package/test/unit/spec/common/queue.js +31 -2
  309. package/test/unit/spec/controls-options-manager/index.js +163 -0
  310. package/test/unit/spec/controls-options-manager/util.js +576 -60
  311. package/test/unit/spec/fixture/locus.js +1 -0
  312. package/test/unit/spec/interpretation/collection.ts +15 -0
  313. package/test/unit/spec/interpretation/index.ts +589 -0
  314. package/test/unit/spec/interpretation/siLanguage.ts +28 -0
  315. package/test/unit/spec/locus-info/controlsUtils.js +316 -43
  316. package/test/unit/spec/locus-info/index.js +1304 -33
  317. package/test/unit/spec/locus-info/infoUtils.js +37 -15
  318. package/test/unit/spec/locus-info/lib/SeqCmp.json +16 -0
  319. package/test/unit/spec/locus-info/mediaSharesUtils.ts +32 -0
  320. package/test/unit/spec/locus-info/parser.js +116 -35
  321. package/test/unit/spec/locus-info/selfConstant.js +27 -4
  322. package/test/unit/spec/locus-info/selfUtils.js +208 -17
  323. package/test/unit/spec/media/index.ts +104 -37
  324. package/test/unit/spec/media/properties.ts +2 -2
  325. package/test/unit/spec/meeting/in-meeting-actions.ts +81 -3
  326. package/test/unit/spec/meeting/index.js +4721 -1930
  327. package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
  328. package/test/unit/spec/meeting/muteState.js +408 -208
  329. package/test/unit/spec/meeting/request.js +440 -45
  330. package/test/unit/spec/meeting/utils.js +679 -64
  331. package/test/unit/spec/meeting-info/index.js +300 -0
  332. package/test/unit/spec/meeting-info/meetinginfov2.js +526 -5
  333. package/test/unit/spec/meeting-info/utilv2.js +21 -0
  334. package/test/unit/spec/meetings/collection.js +14 -0
  335. package/test/unit/spec/meetings/index.js +1011 -177
  336. package/test/unit/spec/meetings/utils.js +206 -2
  337. package/test/unit/spec/member/index.js +61 -6
  338. package/test/unit/spec/member/util.js +510 -34
  339. package/test/unit/spec/members/index.js +319 -1
  340. package/test/unit/spec/members/request.js +206 -27
  341. package/test/unit/spec/members/utils.js +210 -0
  342. package/test/unit/spec/metrics/index.js +1 -50
  343. package/test/unit/spec/multistream/mediaRequestManager.ts +803 -162
  344. package/test/unit/spec/multistream/receiveSlot.ts +43 -20
  345. package/test/unit/spec/multistream/receiveSlotManager.ts +32 -30
  346. package/test/unit/spec/multistream/remoteMedia.ts +30 -0
  347. package/test/unit/spec/multistream/remoteMediaGroup.ts +266 -0
  348. package/test/unit/spec/multistream/remoteMediaManager.ts +326 -0
  349. package/test/unit/spec/multistream/sendSlotManager.ts +242 -0
  350. package/test/unit/spec/reachability/index.ts +549 -9
  351. package/test/unit/spec/reachability/request.js +68 -0
  352. package/test/unit/spec/reconnection-manager/index.js +84 -9
  353. package/test/unit/spec/recording-controller/index.js +294 -218
  354. package/test/unit/spec/recording-controller/util.js +223 -96
  355. package/test/unit/spec/roap/index.ts +31 -51
  356. package/test/unit/spec/roap/request.ts +203 -85
  357. package/test/unit/spec/roap/turnDiscovery.ts +48 -13
  358. package/test/unit/spec/rtcMetrics/index.ts +73 -0
  359. package/test/unit/spec/stats-analyzer/index.js +112 -2
  360. package/test/unit/spec/webinar/collection.ts +13 -0
  361. package/test/unit/spec/webinar/index.ts +60 -0
  362. package/test/utils/integrationTestUtils.js +46 -0
  363. package/test/utils/testUtils.js +0 -52
  364. package/dist/meeting/effectsState.js +0 -262
  365. package/dist/meeting/effectsState.js.map +0 -1
  366. package/dist/metrics/config.js +0 -299
  367. package/dist/metrics/config.js.map +0 -1
  368. package/dist/types/meeting/effectsState.d.ts +0 -42
  369. package/dist/types/metrics/config.d.ts +0 -178
  370. package/src/index.js +0 -16
  371. package/src/meeting/effectsState.ts +0 -211
  372. package/src/metrics/config.ts +0 -495
  373. package/test/unit/spec/meeting/effectsState.js +0 -285
@@ -1,7 +1,10 @@
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 Reachability from '../reachability';
7
+ import { INoiseReductionEffect, IVirtualBackgroundEffect } from './meetings.types';
5
8
  /**
6
9
  * Meetings Ready Event
7
10
  * Emitted when the meetings instance on webex is ready
@@ -55,11 +58,13 @@ export default class Meetings extends WebexPlugin {
55
58
  meetingCollection: any;
56
59
  personalMeetingRoom: any;
57
60
  preferredWebexSite: any;
58
- reachability: any;
61
+ reachability: Reachability;
59
62
  registered: any;
60
63
  request: any;
61
64
  geoHintInfo: any;
62
65
  meetingInfo: any;
66
+ mediaHelpers: any;
67
+ breakoutLocusForHandleLater: any;
63
68
  namespace: string;
64
69
  /**
65
70
  * Initializes the Meetings Plugin
@@ -68,6 +73,34 @@ export default class Meetings extends WebexPlugin {
68
73
  * @memberof Meetings
69
74
  */
70
75
  constructor(...args: any[]);
76
+ /**
77
+ * check whether you need to handle this main session's locus data or not
78
+ * @param {Object} meeting current meeting data
79
+ * @param {Object} newLocus new locus data
80
+ * @returns {boolean}
81
+ * @private
82
+ * @memberof Meetings
83
+ */
84
+ private isNeedHandleMainLocus;
85
+ /**
86
+ * check whether you need to handle this locus data or not
87
+ * @param {Object} meeting old locus data
88
+ * @param {Object} newLocus new locus data
89
+ * @returns {boolean}
90
+ * @private
91
+ * @memberof Meetings
92
+ */
93
+ private isNeedHandleLocusDTO;
94
+ /**
95
+ * get corresponding meeting object by locus data
96
+ * @param {Object} data a locus event
97
+ * @param {String} data.locusUrl
98
+ * @param {Object} data.locus
99
+ * @returns {Object}
100
+ * @private
101
+ * @memberof Meetings
102
+ */
103
+ getCorrespondingMeetingByLocus(data: any): any;
71
104
  /**
72
105
  * handle locus events and takes meeting actions with them as they come in
73
106
  * @param {Object} data a locus event
@@ -159,6 +192,24 @@ export default class Meetings extends WebexPlugin {
159
192
  * @memberof Meetings
160
193
  */
161
194
  unregister(): any;
195
+ /**
196
+ * Creates a noise reduction effect
197
+ *
198
+ * @param {INoiseReductionEffect} options optional custom effect options
199
+ * @returns {Promise<effect>} noise reduction effect.
200
+ * @public
201
+ * @memberof Meetings
202
+ */
203
+ createNoiseReductionEffect: (options?: INoiseReductionEffect) => Promise<any>;
204
+ /**
205
+ * Creates a virtual background effect
206
+ *
207
+ * @param {IVirtualBackgroundEffect} options optional custom effect options
208
+ * @returns {Promise<effect>} virtual background effect.
209
+ * @public
210
+ * @memberof Meetings
211
+ */
212
+ createVirtualBackgroundEffect: (options?: IVirtualBackgroundEffect) => Promise<any>;
162
213
  /**
163
214
  * Uploads logs to the webex services for tracking
164
215
  * @param {Object} [options={}]
@@ -172,35 +223,40 @@ export default class Meetings extends WebexPlugin {
172
223
  * @returns {String} feedback ID logs were submitted under
173
224
  */
174
225
  uploadLogs(options?: {
226
+ autoupload?: boolean;
175
227
  callStart?: string;
176
228
  feedbackId?: string;
229
+ locussessionid?: string;
177
230
  locusId?: string;
178
231
  correlationId?: string;
179
232
  meetingId?: string;
180
233
  userId?: string;
181
234
  orgId?: string;
182
235
  }): any;
183
- /**
184
- * initializes the reachability instance for Meetings
185
- * @returns {undefined}
186
- * @public
187
- * @memberof Meetings
188
- */
189
- setReachability(): void;
190
236
  /**
191
237
  * gets the reachability instance for Meetings
192
238
  * @returns {Reachability}
193
239
  * @public
194
240
  * @memberof Meetings
195
241
  */
196
- getReachability(): any;
242
+ getReachability(): Reachability;
197
243
  /**
198
244
  * initializes and starts gathering reachability for Meetings
199
245
  * @returns {Promise}
200
246
  * @public
201
247
  * @memberof Meetings
202
248
  */
203
- startReachability(): any;
249
+ startReachability(): Promise<{
250
+ [x: string]: {
251
+ udp: import("../reachability").TransportResult;
252
+ tcp: import("../reachability").TransportResult;
253
+ xtls: {
254
+ untested: "true";
255
+ };
256
+ } & {
257
+ isVideoMesh?: boolean;
258
+ };
259
+ }>;
204
260
  /**
205
261
  * Get geoHint for info for meetings
206
262
  * @returns {Promise}
@@ -234,18 +290,24 @@ export default class Meetings extends WebexPlugin {
234
290
  private destroy;
235
291
  /**
236
292
  * Create a meeting.
237
- * @param {string} destination - sipURL, spaceId, phonenumber, or locus object}
293
+ * @param {string} destination - sipURL, phonenumber, or locus object}
238
294
  * @param {string} [type] - the optional specified type, such as locusId
239
295
  * @param {Boolean} useRandomDelayForInfo - whether a random delay should be added to fetching meeting info
296
+ * @param {Object} infoExtraParams extra parameters to be provided when fetching meeting info
297
+ * @param {string} correlationId - the optional specified correlationId
298
+ * @param {Boolean} failOnMissingMeetingInfo - whether to throw an error if meeting info fails to fetch (for calls that are not 1:1 or content share)
240
299
  * @returns {Promise<Meeting>} A new Meeting.
241
300
  * @public
242
301
  * @memberof Meetings
243
302
  */
244
- create(destination: string, type?: string, useRandomDelayForInfo?: boolean): any;
303
+ create(destination: string, type?: string, useRandomDelayForInfo?: boolean, infoExtraParams?: {}, correlationId?: string, failOnMissingMeetingInfo?: boolean): any;
245
304
  /**
246
305
  * @param {String} destination see create()
247
306
  * @param {String} type see create()
248
307
  * @param {Boolean} useRandomDelayForInfo whether a random delay should be added to fetching meeting info
308
+ * @param {Object} infoExtraParams extra parameters to be provided when fetching meeting info
309
+ * @param {String} correlationId the optional specified correlationId
310
+ * @param {Boolean} failOnMissingMeetingInfo - whether to throw an error if meeting info fails to fetch (for calls that are not 1:1 or content share)
249
311
  * @returns {Promise} a new meeting instance complete with meeting info and destination
250
312
  * @private
251
313
  * @memberof Meetings
@@ -280,6 +342,22 @@ export default class Meetings extends WebexPlugin {
280
342
  * @memberof Meetings
281
343
  */
282
344
  syncMeetings(): any;
345
+ /**
346
+ * sort out locus array for initial creating
347
+ * @param {Array} loci original locus array
348
+ * @returns {undefined}
349
+ * @public
350
+ * @memberof Meetings
351
+ */
352
+ sortLocusArrayToUpdate(loci: any[]): any[];
353
+ /**
354
+ * check breakout locus which waiting for main locus's meeting to be created, then handle the breakout locus
355
+ * @param {Object} newCreatedLocus the locus which just create meeting object of it
356
+ * @returns {undefined}
357
+ * @public
358
+ * @memberof Meetings
359
+ */
360
+ checkHandleBreakoutLocus(newCreatedLocus: any): void;
283
361
  /**
284
362
  * Get all scheduled meetings.
285
363
  * @param {object} options
@@ -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
+ };