@webex/plugin-meetings 3.0.0-beta.34 → 3.0.0-beta.340

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