@webex/plugin-meetings 3.0.0-beta.21 → 3.0.0-beta.211

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 (422) hide show
  1. package/README.md +45 -7
  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 +114 -14
  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 +841 -19
  15. package/dist/breakouts/index.js.map +1 -1
  16. package/dist/breakouts/request.js +78 -0
  17. package/dist/breakouts/request.js.map +1 -0
  18. package/dist/breakouts/utils.js +67 -0
  19. package/dist/breakouts/utils.js.map +1 -0
  20. package/dist/common/errors/webex-errors.js +3 -2
  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/queue.js +24 -9
  25. package/dist/common/queue.js.map +1 -1
  26. package/dist/config.js +3 -8
  27. package/dist/config.js.map +1 -1
  28. package/dist/constants.js +179 -30
  29. package/dist/constants.js.map +1 -1
  30. package/dist/controls-options-manager/constants.js +14 -0
  31. package/dist/controls-options-manager/constants.js.map +1 -0
  32. package/dist/controls-options-manager/enums.js +27 -0
  33. package/dist/controls-options-manager/enums.js.map +1 -0
  34. package/dist/controls-options-manager/index.js +297 -0
  35. package/dist/controls-options-manager/index.js.map +1 -0
  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 +319 -0
  39. package/dist/controls-options-manager/util.js.map +1 -0
  40. package/dist/index.js +106 -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 +359 -64
  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 +43 -1
  55. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  56. package/dist/locus-info/parser.js +219 -63
  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 +48 -135
  61. package/dist/media/index.js.map +1 -1
  62. package/dist/media/properties.js +29 -90
  63. package/dist/media/properties.js.map +1 -1
  64. package/dist/mediaQualityMetrics/config.js +505 -493
  65. package/dist/mediaQualityMetrics/config.js.map +1 -1
  66. package/dist/meeting/in-meeting-actions.js +90 -2
  67. package/dist/meeting/in-meeting-actions.js.map +1 -1
  68. package/dist/meeting/index.js +2770 -2547
  69. package/dist/meeting/index.js.map +1 -1
  70. package/dist/meeting/locusMediaRequest.js +291 -0
  71. package/dist/meeting/locusMediaRequest.js.map +1 -0
  72. package/dist/meeting/muteState.js +229 -124
  73. package/dist/meeting/muteState.js.map +1 -1
  74. package/dist/meeting/request.js +199 -193
  75. package/dist/meeting/request.js.map +1 -1
  76. package/dist/meeting/util.js +532 -414
  77. package/dist/meeting/util.js.map +1 -1
  78. package/dist/meeting-info/index.js +48 -7
  79. package/dist/meeting-info/index.js.map +1 -1
  80. package/dist/meeting-info/meeting-info-v2.js +171 -51
  81. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  82. package/dist/meeting-info/utilv2.js +20 -5
  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 +357 -66
  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 +88 -1
  93. package/dist/meetings/util.js.map +1 -1
  94. package/dist/member/index.js +49 -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 +121 -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 -5
  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 +316 -233
  109. package/dist/members/util.js.map +1 -1
  110. package/dist/metrics/constants.js +3 -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 +49 -16
  117. package/dist/multistream/receiveSlot.js.map +1 -1
  118. package/dist/multistream/receiveSlotManager.js +52 -34
  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 +173 -59
  125. package/dist/multistream/remoteMediaManager.js.map +1 -1
  126. package/dist/networkQualityMonitor/index.js +4 -2
  127. package/dist/networkQualityMonitor/index.js.map +1 -1
  128. package/dist/reachability/index.js +72 -27
  129. package/dist/reachability/index.js.map +1 -1
  130. package/dist/reachability/request.js +12 -5
  131. package/dist/reachability/request.js.map +1 -1
  132. package/dist/reconnection-manager/index.js +196 -155
  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 +21 -29
  139. package/dist/roap/index.js.map +1 -1
  140. package/dist/roap/request.js +110 -89
  141. package/dist/roap/request.js.map +1 -1
  142. package/dist/roap/turnDiscovery.js +93 -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/global.js +1 -93
  149. package/dist/statsAnalyzer/global.js.map +1 -1
  150. package/dist/statsAnalyzer/index.js +326 -311
  151. package/dist/statsAnalyzer/index.js.map +1 -1
  152. package/dist/statsAnalyzer/mqaUtil.js +90 -53
  153. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  154. package/dist/types/annotation/annotation.types.d.ts +42 -0
  155. package/dist/types/annotation/constants.d.ts +31 -0
  156. package/dist/types/annotation/index.d.ts +117 -0
  157. package/dist/types/breakouts/breakout.d.ts +8 -0
  158. package/dist/types/breakouts/collection.d.ts +5 -0
  159. package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
  160. package/dist/types/breakouts/events.d.ts +8 -0
  161. package/dist/types/breakouts/index.d.ts +5 -0
  162. package/dist/types/breakouts/request.d.ts +22 -0
  163. package/dist/types/breakouts/utils.d.ts +15 -0
  164. package/dist/types/common/browser-detection.d.ts +9 -0
  165. package/dist/types/common/collection.d.ts +48 -0
  166. package/dist/types/common/config.d.ts +2 -0
  167. package/dist/types/common/errors/captcha-error.d.ts +15 -0
  168. package/dist/types/common/errors/intent-to-join.d.ts +16 -0
  169. package/dist/types/common/errors/join-meeting.d.ts +17 -0
  170. package/dist/types/common/errors/media.d.ts +15 -0
  171. package/dist/types/common/errors/parameter.d.ts +15 -0
  172. package/dist/types/common/errors/password-error.d.ts +15 -0
  173. package/dist/types/common/errors/permission.d.ts +14 -0
  174. package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
  175. package/dist/types/common/errors/reconnection.d.ts +15 -0
  176. package/dist/types/common/errors/stats.d.ts +15 -0
  177. package/dist/types/common/errors/webex-errors.d.ts +69 -0
  178. package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
  179. package/dist/types/common/events/events-scope.d.ts +17 -0
  180. package/dist/types/common/events/events.d.ts +12 -0
  181. package/dist/types/common/events/trigger-proxy.d.ts +2 -0
  182. package/dist/types/common/events/util.d.ts +2 -0
  183. package/dist/types/common/logs/logger-config.d.ts +2 -0
  184. package/dist/types/common/logs/logger-proxy.d.ts +2 -0
  185. package/dist/types/common/logs/request.d.ts +34 -0
  186. package/dist/types/common/queue.d.ts +34 -0
  187. package/dist/types/config.d.ts +72 -0
  188. package/dist/types/constants.d.ts +1020 -0
  189. package/dist/types/controls-options-manager/constants.d.ts +4 -0
  190. package/dist/types/controls-options-manager/enums.d.ts +15 -0
  191. package/dist/types/controls-options-manager/index.d.ts +136 -0
  192. package/dist/types/controls-options-manager/types.d.ts +43 -0
  193. package/dist/types/controls-options-manager/util.d.ts +1 -0
  194. package/dist/types/index.d.ts +7 -0
  195. package/dist/types/interpretation/collection.d.ts +5 -0
  196. package/dist/types/interpretation/index.d.ts +5 -0
  197. package/dist/types/interpretation/siLanguage.d.ts +5 -0
  198. package/dist/types/locus-info/controlsUtils.d.ts +2 -0
  199. package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
  200. package/dist/types/locus-info/fullState.d.ts +2 -0
  201. package/dist/types/locus-info/hostUtils.d.ts +2 -0
  202. package/dist/types/locus-info/index.d.ts +322 -0
  203. package/dist/types/locus-info/infoUtils.d.ts +2 -0
  204. package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
  205. package/dist/types/locus-info/parser.d.ts +271 -0
  206. package/dist/types/locus-info/selfUtils.d.ts +2 -0
  207. package/dist/types/media/index.d.ts +34 -0
  208. package/dist/types/media/properties.d.ts +93 -0
  209. package/dist/types/media/util.d.ts +2 -0
  210. package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
  211. package/dist/types/meeting/in-meeting-actions.d.ts +163 -0
  212. package/dist/types/meeting/index.d.ts +1482 -0
  213. package/dist/types/meeting/locusMediaRequest.d.ts +72 -0
  214. package/dist/types/meeting/muteState.d.ts +184 -0
  215. package/dist/types/meeting/request.d.ts +257 -0
  216. package/dist/types/meeting/request.type.d.ts +11 -0
  217. package/dist/types/meeting/state.d.ts +9 -0
  218. package/dist/types/meeting/util.d.ts +79 -0
  219. package/dist/types/meeting-info/collection.d.ts +20 -0
  220. package/dist/types/meeting-info/index.d.ts +62 -0
  221. package/dist/types/meeting-info/meeting-info-v2.d.ts +122 -0
  222. package/dist/types/meeting-info/request.d.ts +22 -0
  223. package/dist/types/meeting-info/util.d.ts +2 -0
  224. package/dist/types/meeting-info/utilv2.d.ts +2 -0
  225. package/dist/types/meetings/collection.d.ts +31 -0
  226. package/dist/types/meetings/index.d.ts +367 -0
  227. package/dist/types/meetings/meetings.types.d.ts +4 -0
  228. package/dist/types/meetings/request.d.ts +27 -0
  229. package/dist/types/meetings/util.d.ts +18 -0
  230. package/dist/types/member/index.d.ts +159 -0
  231. package/dist/types/member/types.d.ts +32 -0
  232. package/dist/types/member/util.d.ts +2 -0
  233. package/dist/types/members/collection.d.ts +29 -0
  234. package/dist/types/members/index.d.ts +353 -0
  235. package/dist/types/members/request.d.ts +114 -0
  236. package/dist/types/members/types.d.ts +24 -0
  237. package/dist/types/members/util.d.ts +210 -0
  238. package/dist/types/metrics/constants.d.ts +55 -0
  239. package/dist/types/metrics/index.d.ts +45 -0
  240. package/dist/types/multistream/mediaRequestManager.d.ts +118 -0
  241. package/dist/types/multistream/receiveSlot.d.ts +68 -0
  242. package/dist/types/multistream/receiveSlotManager.d.ts +56 -0
  243. package/dist/types/multistream/remoteMedia.d.ts +72 -0
  244. package/dist/types/multistream/remoteMediaGroup.d.ts +47 -0
  245. package/dist/types/multistream/remoteMediaManager.d.ts +277 -0
  246. package/dist/types/networkQualityMonitor/index.d.ts +70 -0
  247. package/dist/types/personal-meeting-room/index.d.ts +47 -0
  248. package/dist/types/personal-meeting-room/request.d.ts +14 -0
  249. package/dist/types/personal-meeting-room/util.d.ts +2 -0
  250. package/dist/types/reachability/index.d.ts +152 -0
  251. package/dist/types/reachability/request.d.ts +37 -0
  252. package/dist/types/reactions/constants.d.ts +3 -0
  253. package/dist/types/reactions/reactions.d.ts +4 -0
  254. package/dist/types/reactions/reactions.type.d.ts +52 -0
  255. package/dist/types/reconnection-manager/index.d.ts +126 -0
  256. package/dist/types/recording-controller/enums.d.ts +7 -0
  257. package/dist/types/recording-controller/index.d.ts +207 -0
  258. package/dist/types/recording-controller/util.d.ts +14 -0
  259. package/dist/types/roap/index.d.ts +77 -0
  260. package/dist/types/roap/request.d.ts +36 -0
  261. package/dist/types/roap/turnDiscovery.d.ts +91 -0
  262. package/dist/types/rtcMetrics/constants.d.ts +4 -0
  263. package/dist/types/rtcMetrics/index.d.ts +46 -0
  264. package/dist/types/statsAnalyzer/global.d.ts +36 -0
  265. package/dist/types/statsAnalyzer/index.d.ts +200 -0
  266. package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
  267. package/dist/types/transcription/index.d.ts +64 -0
  268. package/package.json +23 -20
  269. package/src/annotation/annotation.types.ts +50 -0
  270. package/src/annotation/constants.ts +36 -0
  271. package/src/annotation/index.ts +328 -0
  272. package/src/breakouts/README.md +44 -14
  273. package/src/breakouts/breakout.ts +87 -9
  274. package/src/breakouts/edit-lock-error.ts +25 -0
  275. package/src/breakouts/events.ts +56 -0
  276. package/src/breakouts/index.ts +710 -10
  277. package/src/breakouts/request.ts +55 -0
  278. package/src/breakouts/utils.ts +57 -0
  279. package/src/common/errors/webex-errors.ts +6 -2
  280. package/src/common/logs/logger-proxy.ts +1 -1
  281. package/src/common/queue.ts +22 -8
  282. package/src/config.ts +2 -7
  283. package/src/constants.ts +165 -21
  284. package/src/controls-options-manager/constants.ts +5 -0
  285. package/src/controls-options-manager/enums.ts +18 -0
  286. package/src/controls-options-manager/index.ts +278 -0
  287. package/src/controls-options-manager/types.ts +59 -0
  288. package/src/controls-options-manager/util.ts +300 -0
  289. package/src/index.ts +39 -0
  290. package/src/interpretation/README.md +60 -0
  291. package/src/interpretation/collection.ts +19 -0
  292. package/src/interpretation/index.ts +332 -0
  293. package/src/interpretation/siLanguage.ts +18 -0
  294. package/src/locus-info/controlsUtils.ts +108 -0
  295. package/src/locus-info/index.ts +383 -61
  296. package/src/locus-info/infoUtils.ts +10 -2
  297. package/src/locus-info/mediaSharesUtils.ts +48 -0
  298. package/src/locus-info/parser.ts +224 -39
  299. package/src/locus-info/selfUtils.ts +81 -5
  300. package/src/media/index.ts +87 -140
  301. package/src/media/properties.ts +49 -90
  302. package/src/mediaQualityMetrics/config.ts +379 -377
  303. package/src/meeting/in-meeting-actions.ts +179 -3
  304. package/src/meeting/index.ts +2099 -2083
  305. package/src/meeting/locusMediaRequest.ts +311 -0
  306. package/src/meeting/muteState.ts +228 -132
  307. package/src/meeting/request.ts +105 -115
  308. package/src/meeting/util.ts +511 -397
  309. package/src/meeting-info/index.ts +54 -8
  310. package/src/meeting-info/meeting-info-v2.ts +148 -14
  311. package/src/meeting-info/utilv2.ts +13 -3
  312. package/src/meetings/collection.ts +20 -0
  313. package/src/meetings/index.ts +392 -84
  314. package/src/meetings/meetings.types.ts +12 -0
  315. package/src/meetings/request.ts +2 -0
  316. package/src/meetings/util.ts +103 -4
  317. package/src/member/index.ts +49 -0
  318. package/src/member/types.ts +38 -0
  319. package/src/member/util.ts +127 -25
  320. package/src/members/collection.ts +8 -0
  321. package/src/members/index.ts +107 -6
  322. package/src/members/request.ts +97 -17
  323. package/src/members/types.ts +28 -0
  324. package/src/members/util.ts +319 -240
  325. package/src/metrics/constants.ts +2 -4
  326. package/src/metrics/index.ts +1 -490
  327. package/src/multistream/mediaRequestManager.ts +289 -79
  328. package/src/multistream/receiveSlot.ts +55 -18
  329. package/src/multistream/receiveSlotManager.ts +46 -24
  330. package/src/multistream/remoteMedia.ts +27 -2
  331. package/src/multistream/remoteMediaGroup.ts +59 -0
  332. package/src/multistream/remoteMediaManager.ts +113 -32
  333. package/src/networkQualityMonitor/index.ts +6 -6
  334. package/src/reachability/index.ts +62 -15
  335. package/src/reachability/request.ts +10 -5
  336. package/src/reconnection-manager/index.ts +68 -43
  337. package/src/recording-controller/index.ts +20 -3
  338. package/src/recording-controller/util.ts +26 -9
  339. package/src/roap/index.ts +21 -30
  340. package/src/roap/request.ts +101 -95
  341. package/src/roap/turnDiscovery.ts +47 -25
  342. package/src/rtcMetrics/constants.ts +3 -0
  343. package/src/rtcMetrics/index.ts +100 -0
  344. package/src/statsAnalyzer/global.ts +1 -94
  345. package/src/statsAnalyzer/index.ts +376 -386
  346. package/src/statsAnalyzer/mqaUtil.ts +100 -99
  347. package/test/integration/spec/converged-space-meetings.js +233 -0
  348. package/test/integration/spec/journey.js +336 -259
  349. package/test/integration/spec/space-meeting.js +77 -4
  350. package/test/unit/spec/annotation/index.ts +418 -0
  351. package/test/unit/spec/breakouts/breakout.ts +142 -24
  352. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  353. package/test/unit/spec/breakouts/events.ts +89 -0
  354. package/test/unit/spec/breakouts/index.ts +1545 -48
  355. package/test/unit/spec/breakouts/request.ts +104 -0
  356. package/test/unit/spec/breakouts/utils.js +72 -0
  357. package/test/unit/spec/common/queue.js +31 -2
  358. package/test/unit/spec/controls-options-manager/index.js +287 -0
  359. package/test/unit/spec/controls-options-manager/util.js +582 -0
  360. package/test/unit/spec/fixture/locus.js +1 -0
  361. package/test/unit/spec/interpretation/collection.ts +15 -0
  362. package/test/unit/spec/interpretation/index.ts +589 -0
  363. package/test/unit/spec/interpretation/siLanguage.ts +28 -0
  364. package/test/unit/spec/locus-info/controlsUtils.js +316 -43
  365. package/test/unit/spec/locus-info/index.js +1169 -36
  366. package/test/unit/spec/locus-info/infoUtils.js +37 -15
  367. package/test/unit/spec/locus-info/mediaSharesUtils.ts +22 -0
  368. package/test/unit/spec/locus-info/parser.js +62 -22
  369. package/test/unit/spec/locus-info/selfConstant.js +27 -4
  370. package/test/unit/spec/locus-info/selfUtils.js +208 -17
  371. package/test/unit/spec/media/index.ts +138 -28
  372. package/test/unit/spec/meeting/in-meeting-actions.ts +89 -3
  373. package/test/unit/spec/meeting/index.js +3573 -1663
  374. package/test/unit/spec/meeting/locusMediaRequest.ts +438 -0
  375. package/test/unit/spec/meeting/muteState.js +370 -208
  376. package/test/unit/spec/meeting/request.js +339 -44
  377. package/test/unit/spec/meeting/utils.js +456 -53
  378. package/test/unit/spec/meeting-info/index.js +181 -0
  379. package/test/unit/spec/meeting-info/meetinginfov2.js +383 -5
  380. package/test/unit/spec/meeting-info/utilv2.js +21 -0
  381. package/test/unit/spec/meetings/collection.js +14 -0
  382. package/test/unit/spec/meetings/index.js +867 -125
  383. package/test/unit/spec/meetings/utils.js +206 -2
  384. package/test/unit/spec/member/index.js +58 -4
  385. package/test/unit/spec/member/util.js +479 -35
  386. package/test/unit/spec/members/index.js +319 -1
  387. package/test/unit/spec/members/request.js +206 -27
  388. package/test/unit/spec/members/utils.js +184 -0
  389. package/test/unit/spec/metrics/index.js +1 -50
  390. package/test/unit/spec/multistream/mediaRequestManager.ts +803 -162
  391. package/test/unit/spec/multistream/receiveSlot.ts +72 -13
  392. package/test/unit/spec/multistream/receiveSlotManager.ts +58 -28
  393. package/test/unit/spec/multistream/remoteMedia.ts +30 -0
  394. package/test/unit/spec/multistream/remoteMediaGroup.ts +266 -0
  395. package/test/unit/spec/multistream/remoteMediaManager.ts +318 -0
  396. package/test/unit/spec/networkQualityMonitor/index.js +4 -4
  397. package/test/unit/spec/reachability/index.ts +125 -8
  398. package/test/unit/spec/reachability/request.js +66 -0
  399. package/test/unit/spec/reconnection-manager/index.js +59 -6
  400. package/test/unit/spec/recording-controller/index.js +294 -218
  401. package/test/unit/spec/recording-controller/util.js +223 -96
  402. package/test/unit/spec/roap/index.ts +26 -51
  403. package/test/unit/spec/roap/request.ts +196 -85
  404. package/test/unit/spec/roap/turnDiscovery.ts +30 -7
  405. package/test/unit/spec/rtcMetrics/index.ts +60 -0
  406. package/test/unit/spec/stats-analyzer/index.js +92 -41
  407. package/test/utils/constants.js +9 -0
  408. package/test/utils/integrationTestUtils.js +46 -0
  409. package/test/utils/testUtils.js +0 -45
  410. package/test/utils/webex-config.js +4 -0
  411. package/test/utils/webex-test-users.js +6 -3
  412. package/dist/meeting/effectsState.js +0 -262
  413. package/dist/meeting/effectsState.js.map +0 -1
  414. package/dist/metrics/config.js +0 -299
  415. package/dist/metrics/config.js.map +0 -1
  416. package/dist/multistream/multistreamMedia.js +0 -110
  417. package/dist/multistream/multistreamMedia.js.map +0 -1
  418. package/src/index.js +0 -16
  419. package/src/meeting/effectsState.ts +0 -211
  420. package/src/metrics/config.ts +0 -495
  421. package/src/multistream/multistreamMedia.ts +0 -97
  422. package/test/unit/spec/meeting/effectsState.js +0 -285
@@ -0,0 +1,122 @@
1
+ /**
2
+ * Error to indicate that wbxappapi requires a password
3
+ */
4
+ export declare class MeetingInfoV2PasswordError extends Error {
5
+ meetingInfo: any;
6
+ sdkMessage: any;
7
+ wbxAppApiCode: any;
8
+ body: any;
9
+ /**
10
+ *
11
+ * @constructor
12
+ * @param {Number} [wbxAppApiErrorCode]
13
+ * @param {Object} [meetingInfo]
14
+ * @param {String} [message]
15
+ */
16
+ constructor(wbxAppApiErrorCode?: number, meetingInfo?: object, message?: string);
17
+ }
18
+ /**
19
+ * Error generating a adhoc space meeting
20
+ */
21
+ export declare class MeetingInfoV2AdhocMeetingError extends Error {
22
+ sdkMessage: any;
23
+ wbxAppApiCode: any;
24
+ /**
25
+ *
26
+ * @constructor
27
+ * @param {Number} [wbxAppApiErrorCode]
28
+ * @param {String} [message]
29
+ */
30
+ constructor(wbxAppApiErrorCode?: number, message?: string);
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
+ }
48
+ /**
49
+ * Error to indicate that preferred webex site not present to start adhoc meeting
50
+ */
51
+ export declare class MeetingInfoV2CaptchaError extends Error {
52
+ captchaInfo: any;
53
+ isPasswordRequired: any;
54
+ sdkMessage: any;
55
+ wbxAppApiCode: any;
56
+ body: any;
57
+ /**
58
+ *
59
+ * @constructor
60
+ * @param {Number} [wbxAppApiErrorCode]
61
+ * @param {Object} [captchaInfo]
62
+ * @param {String} [message]
63
+ */
64
+ constructor(wbxAppApiErrorCode?: number, captchaInfo?: object, message?: string);
65
+ }
66
+ /**
67
+ * @class MeetingInfo
68
+ */
69
+ export default class MeetingInfoV2 {
70
+ webex: any;
71
+ /**
72
+ *
73
+ * @param {WebexSDK} webex
74
+ */
75
+ constructor(webex: any);
76
+ /**
77
+ * converts hydra id into conversation url and persons Id
78
+ * @param {String} destination one of many different types of destinations to look up info for
79
+ * @param {String} [type] to match up with the destination value
80
+ * @returns {Promise} destination and type
81
+ * @public
82
+ * @memberof MeetingInfo
83
+ */
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;
91
+ /**
92
+ * Creates adhoc space meetings for a space by fetching the conversation infomation
93
+ * @param {String} conversationUrl conversationUrl to start adhoc meeting on
94
+ * @param {String} installedOrgID org ID of user's machine
95
+ * @returns {Promise} returns a meeting info object
96
+ * @public
97
+ * @memberof MeetingInfo
98
+ */
99
+ createAdhocSpaceMeeting(conversationUrl: string, installedOrgID?: string): Promise<any>;
100
+ /**
101
+ * Fetches meeting info from the server
102
+ * @param {String} destination one of many different types of destinations to look up info for
103
+ * @param {String} [type] to match up with the destination value
104
+ * @param {String} password
105
+ * @param {Object} captchaInfo
106
+ * @param {String} captchaInfo.code
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
112
+ * @returns {Promise} returns a meeting info object
113
+ * @public
114
+ * @memberof MeetingInfo
115
+ */
116
+ fetchMeetingInfo(destination: string, type?: string, password?: string, captchaInfo?: {
117
+ code: string;
118
+ id: string;
119
+ }, installedOrgID?: any, locusId?: any, extraParams?: object, options?: {
120
+ meetingId?: string;
121
+ }): Promise<any>;
122
+ }
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @class MeetingInfoRequest
3
+ */
4
+ export default class MeetingInfoRequest {
5
+ webex: any;
6
+ /**
7
+ * Meeting Info Request Constructor
8
+ * @param {WebexSDK} webex
9
+ */
10
+ constructor(webex: any);
11
+ /**
12
+ *
13
+ * @param {Object} options with format of {type: String, desintation: String}
14
+ * where type is PERSONAL_ROOM, SIP_URI, CONVERSATION_URL, and destination is userId, sipUri, conversationUrl respectively
15
+ * type can also be specified as an option and be of the list SIP_URI,MEETING_ID,LOCUS_ID,PERSONAL_ROOM,MEETING_LINK,ONE_ON_ONE,MEDIA_SIP_URI,CONVERSATION_URL,TEMP_SIP_URI
16
+ * with the desination matching
17
+ * @returns {Promise} returns a promise that resolves/rejects the result of the request
18
+ * @throws {Error} if the options are not valid and complete
19
+ * @memberof MeetingInfoRequest
20
+ */
21
+ fetchMeetingInfo(options: any): any;
22
+ }
@@ -0,0 +1,2 @@
1
+ declare const MeetingInfoUtil: any;
2
+ export default MeetingInfoUtil;
@@ -0,0 +1,2 @@
1
+ declare const MeetingInfoUtil: any;
2
+ export default MeetingInfoUtil;
@@ -0,0 +1,31 @@
1
+ import Collection from '../common/collection';
2
+ /**
3
+ * @export
4
+ * @class MeetingCollection
5
+ */
6
+ export default class MeetingCollection extends Collection {
7
+ /**
8
+ * @constructor
9
+ * @public
10
+ * @memberof MeetingCollection
11
+ */
12
+ constructor();
13
+ set(meeting: any): any;
14
+ /**
15
+ * get a specific meeting searching for key
16
+ * @param {String} key
17
+ * @param {Any} value
18
+ * @returns {Meeting} if found, else returns null
19
+ * @public
20
+ * @memberof MeetingCollection
21
+ */
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
+ }
@@ -0,0 +1,367 @@
1
+ import '@webex/internal-plugin-mercury';
2
+ import '@webex/internal-plugin-conversation';
3
+ import '@webex/internal-plugin-metrics';
4
+ import { WebexPlugin } from '@webex/webex-core';
5
+ import 'webrtc-adapter';
6
+ import { INoiseReductionEffect, IVirtualBackgroundEffect } from './meetings.types';
7
+ /**
8
+ * Meetings Ready Event
9
+ * Emitted when the meetings instance on webex is ready
10
+ * @event meetings:ready
11
+ * @instance
12
+ * @memberof Meetings
13
+ */
14
+ /**
15
+ * Meetings Network Disconnected Event
16
+ * Emitted when the meetings instance is disconnected from
17
+ * the internal mercury server
18
+ * @event network:disconnected
19
+ * @instance
20
+ * @memberof Meetings
21
+ */
22
+ /**
23
+ * Meetings Registered Event
24
+ * Emitted when the meetings instance has been registered and listening
25
+ * @event meetings:registered
26
+ * @instance
27
+ * @memberof Meetings
28
+ */
29
+ /**
30
+ * Meeting Removed Event
31
+ * Emitted when a meeting was removed from the cache of meetings
32
+ * @event meeting:removed
33
+ * @instance
34
+ * @type {Object}
35
+ * @property {String} meetingId the removed meeting
36
+ * @property {Object} response the server response
37
+ * @property {String} type what type of meeting it was
38
+ * @memberof Meetings
39
+ */
40
+ /**
41
+ * Meeting Added Event
42
+ * Emitted when a meeting was added to the cache of meetings
43
+ * @event meeting:added
44
+ * @instance
45
+ * @type {Object}
46
+ * @property {String} meetingId the added meeting
47
+ * @property {String} type what type of meeting it was
48
+ * @memberof Meetings
49
+ */
50
+ /**
51
+ * Maintain a cache of meetings and sync with services.
52
+ * @class
53
+ */
54
+ export default class Meetings extends WebexPlugin {
55
+ loggerRequest: any;
56
+ media: any;
57
+ meetingCollection: any;
58
+ personalMeetingRoom: any;
59
+ preferredWebexSite: any;
60
+ reachability: any;
61
+ registered: any;
62
+ request: any;
63
+ geoHintInfo: any;
64
+ meetingInfo: any;
65
+ mediaHelpers: any;
66
+ breakoutLocusForHandleLater: any;
67
+ namespace: string;
68
+ /**
69
+ * Initializes the Meetings Plugin
70
+ * @constructor
71
+ * @public
72
+ * @memberof Meetings
73
+ */
74
+ constructor(...args: any[]);
75
+ /**
76
+ * check whether you need to handle this main session's locus data or not
77
+ * @param {Object} meeting current meeting data
78
+ * @param {Object} newLocus new locus data
79
+ * @returns {boolean}
80
+ * @private
81
+ * @memberof Meetings
82
+ */
83
+ private isNeedHandleMainLocus;
84
+ /**
85
+ * check whether you need to handle this locus data or not
86
+ * @param {Object} meeting old locus data
87
+ * @param {Object} newLocus new locus data
88
+ * @returns {boolean}
89
+ * @private
90
+ * @memberof Meetings
91
+ */
92
+ private isNeedHandleLocusDTO;
93
+ /**
94
+ * get corresponding meeting object by locus data
95
+ * @param {Object} data a locus event
96
+ * @param {String} data.locusUrl
97
+ * @param {Object} data.locus
98
+ * @returns {Object}
99
+ * @private
100
+ * @memberof Meetings
101
+ */
102
+ getCorrespondingMeetingByLocus(data: any): any;
103
+ /**
104
+ * handle locus events and takes meeting actions with them as they come in
105
+ * @param {Object} data a locus event
106
+ * @param {String} data.locusUrl
107
+ * @param {Object} data.locus
108
+ * @param {Boolean} useRandomDelayForInfo whether a random delay should be added to fetching meeting info
109
+ * @param {String} data.eventType
110
+ * @returns {undefined}
111
+ * @private
112
+ * @memberof Meetings
113
+ */
114
+ private handleLocusEvent;
115
+ /**
116
+ * handles locus events through mercury that are not roap
117
+ * @param {Object} envelope
118
+ * @param {Object} envelope.data
119
+ * @param {String} envelope.data.eventType
120
+ * @returns {undefined}
121
+ * @private
122
+ * @memberof Meetings
123
+ */
124
+ private handleLocusMercury;
125
+ /**
126
+ * handles mecury offline event
127
+ * @returns {undefined}
128
+ * @private
129
+ * @memberof Meetings
130
+ */
131
+ private handleMercuryOffline;
132
+ /**
133
+ * registers for locus and roap mercury events
134
+ * @returns {undefined}
135
+ * @private
136
+ * @memberof Meetings
137
+ */
138
+ private listenForEvents;
139
+ /**
140
+ * stops listening for locus and roap mercury events
141
+ * @returns {undefined}
142
+ * @private
143
+ * @memberof Meetings
144
+ */
145
+ private stopListeningForEvents;
146
+ /**
147
+ * @returns {undefined}
148
+ * @private
149
+ * @memberof Meetings
150
+ */
151
+ private onReady;
152
+ /**
153
+ * API to toggle unified meetings
154
+ * @param {Boolean} changeState
155
+ * @private
156
+ * @memberof Meetings
157
+ * @returns {undefined}
158
+ */
159
+ private _toggleUnifiedMeetings;
160
+ /**
161
+ * API to enable or disable TURN discovery
162
+ * @param {Boolean} enable
163
+ * @private
164
+ * @memberof Meetings
165
+ * @returns {undefined}
166
+ */
167
+ private _toggleTurnDiscovery;
168
+ /**
169
+ * API to toggle starting adhoc meeting
170
+ * @param {Boolean} changeState
171
+ * @private
172
+ * @memberof Meetings
173
+ * @returns {undefined}
174
+ */
175
+ private _toggleAdhocMeetings;
176
+ /**
177
+ * Explicitly sets up the meetings plugin by registering
178
+ * the device, connecting to mercury, and listening for locus events.
179
+ *
180
+ * @returns {Promise}
181
+ * @public
182
+ * @memberof Meetings
183
+ */
184
+ register(): Promise<void>;
185
+ /**
186
+ * Explicitly tears down the meetings plugin by deregistering
187
+ * the device, disconnecting from mercury, and stops listening to locus events
188
+ *
189
+ * @returns {Promise}
190
+ * @public
191
+ * @memberof Meetings
192
+ */
193
+ unregister(): any;
194
+ /**
195
+ * Creates a noise reduction effect
196
+ *
197
+ * @param {INoiseReductionEffect} options optional custom effect options
198
+ * @returns {Promise<effect>} noise reduction effect.
199
+ * @public
200
+ * @memberof Meetings
201
+ */
202
+ createNoiseReductionEffect: (options?: INoiseReductionEffect) => Promise<any>;
203
+ /**
204
+ * Creates a virtual background effect
205
+ *
206
+ * @param {IVirtualBackgroundEffect} options optional custom effect options
207
+ * @returns {Promise<effect>} virtual background effect.
208
+ * @public
209
+ * @memberof Meetings
210
+ */
211
+ createVirtualBackgroundEffect: (options?: IVirtualBackgroundEffect) => Promise<any>;
212
+ /**
213
+ * Uploads logs to the webex services for tracking
214
+ * @param {Object} [options={}]
215
+ * @param {String} [options.callStart] Call Start Time
216
+ * @param {String} [options.feedbackId] ID used for tracking
217
+ * @param {String} [options.locusId]
218
+ * @param {String} [options.correlationId]
219
+ * @param {String} [options.meetingId] webex meeting ID
220
+ * @param {String} [options.userId] userId
221
+ * @param {String} [options.orgId] org id
222
+ * @returns {String} feedback ID logs were submitted under
223
+ */
224
+ uploadLogs(options?: {
225
+ callStart?: string;
226
+ feedbackId?: string;
227
+ locusId?: string;
228
+ correlationId?: string;
229
+ meetingId?: string;
230
+ userId?: string;
231
+ orgId?: string;
232
+ }): any;
233
+ /**
234
+ * initializes the reachability instance for Meetings
235
+ * @returns {undefined}
236
+ * @public
237
+ * @memberof Meetings
238
+ */
239
+ setReachability(): void;
240
+ /**
241
+ * gets the reachability instance for Meetings
242
+ * @returns {Reachability}
243
+ * @public
244
+ * @memberof Meetings
245
+ */
246
+ getReachability(): any;
247
+ /**
248
+ * initializes and starts gathering reachability for Meetings
249
+ * @returns {Promise}
250
+ * @public
251
+ * @memberof Meetings
252
+ */
253
+ startReachability(): any;
254
+ /**
255
+ * Get geoHint for info for meetings
256
+ * @returns {Promise}
257
+ * @private
258
+ * @memberof Meetings
259
+ */
260
+ getGeoHint(): any;
261
+ /**
262
+ * Fetch user preferred webex site information
263
+ * This also has other infomation about the user
264
+ * @returns {Promise}
265
+ * @private
266
+ * @memberof Meetings
267
+ */
268
+ fetchUserPreferredWebexSite(): any;
269
+ /**
270
+ * gets the personal meeting room instance, for saved PMR values for this user
271
+ * @returns {PersonalMeetingRoom}
272
+ * @public
273
+ * @memberof Meetings
274
+ */
275
+ getPersonalMeetingRoom(): any;
276
+ /**
277
+ * @param {Meeting} meeting
278
+ * @param {Object} reason
279
+ * @param {String} type
280
+ * @returns {Undefined}
281
+ * @private
282
+ * @memberof Meetings
283
+ */
284
+ private destroy;
285
+ /**
286
+ * Create a meeting.
287
+ * @param {string} destination - sipURL, spaceId, phonenumber, or locus object}
288
+ * @param {string} [type] - the optional specified type, such as locusId
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
292
+ * @returns {Promise<Meeting>} A new Meeting.
293
+ * @public
294
+ * @memberof Meetings
295
+ */
296
+ create(destination: string, type?: string, useRandomDelayForInfo?: boolean, infoExtraParams?: {}, correlationId?: string): any;
297
+ /**
298
+ * @param {String} destination see create()
299
+ * @param {String} type see create()
300
+ * @param {Boolean} useRandomDelayForInfo whether a random delay should be added to fetching meeting info
301
+ * @param {Object} infoExtraParams extra parameters to be provided when fetching meeting info
302
+ * @param {String} correlationId the optional specified correlationId
303
+ * @returns {Promise} a new meeting instance complete with meeting info and destination
304
+ * @private
305
+ * @memberof Meetings
306
+ */
307
+ private createMeeting;
308
+ /**
309
+ * get a specifc meeting given it's type matched to the value, i.e., locus url
310
+ * @param {String} type
311
+ * @param {Object} value
312
+ * @returns {Meeting}
313
+ * @public
314
+ * @memberof Meetings
315
+ */
316
+ getMeetingByType(type: string, value: object): any;
317
+ /**
318
+ * Get all meetings.
319
+ * @param {object} options
320
+ * @param {object} options.startDate - get meetings after this start date
321
+ * @param {object} options.endDate - get meetings before this end date
322
+ * @returns {Object} All currently active meetings.
323
+ * @public
324
+ * @memberof Meetings
325
+ */
326
+ getAllMeetings(options?: {
327
+ startDate: object;
328
+ endDate: object;
329
+ }): any;
330
+ /**
331
+ * syncs all the meeting from server
332
+ * @returns {undefined}
333
+ * @public
334
+ * @memberof Meetings
335
+ */
336
+ syncMeetings(): any;
337
+ /**
338
+ * sort out locus array for initial creating
339
+ * @param {Array} loci original locus array
340
+ * @returns {undefined}
341
+ * @public
342
+ * @memberof Meetings
343
+ */
344
+ sortLocusArrayToUpdate(loci: any[]): any[];
345
+ /**
346
+ * check breakout locus which waiting for main locus's meeting to be created, then handle the breakout locus
347
+ * @param {Object} newCreatedLocus the locus which just create meeting object of it
348
+ * @returns {undefined}
349
+ * @public
350
+ * @memberof Meetings
351
+ */
352
+ checkHandleBreakoutLocus(newCreatedLocus: any): void;
353
+ /**
354
+ * Get all scheduled meetings.
355
+ * @param {object} options
356
+ * @param {object} options.startDate - get meetings after this start date
357
+ * @param {object} options.endDate - get meetings before this end date
358
+ * @returns {Object} All scheduled meetings.
359
+ * @memberof Meetings
360
+ */
361
+ getScheduledMeetings(): any;
362
+ /**
363
+ * Get the logger instance for plugin-meetings
364
+ * @returns {Logger}
365
+ */
366
+ getLogger(): any;
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 };
@@ -0,0 +1,27 @@
1
+ import { StatelessWebexPlugin } from '@webex/webex-core';
2
+ /**
3
+ * @class MeetingRequest
4
+ */
5
+ export default class MeetingRequest extends StatelessWebexPlugin {
6
+ /**
7
+ * get all the active meetings for the user
8
+ * @returns {Array} return locus array
9
+ */
10
+ getActiveMeetings(): any;
11
+ /**
12
+ * fetch geoHit for the user
13
+ * @returns {Promise<object>} geoHintInfo
14
+ */
15
+ fetchGeoHint(): any;
16
+ /**
17
+ * get user meeting preference information
18
+ * @returns {Promise<object>} getMeetingPreferences
19
+ */
20
+ getMeetingPreferences(): any;
21
+ /**
22
+ * Fetches indivdual locus rather then getting all at once
23
+ * @param {object} responseBody determine the locus and fetch them if a remoteUrl is given
24
+ * @returns {Promise} returns locusObject array
25
+ */
26
+ determineRedirections(responseBody: any): Promise<any>;
27
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Meetings Media Codec Missing Event
3
+ * Emitted when H.264 codec is not
4
+ * found in the browser.
5
+ * @event media:codec:missing
6
+ * @instance
7
+ * @memberof MeetingsUtil
8
+ */
9
+ /**
10
+ * Meetings Media Codec Loaded Event
11
+ * Emitted when H.264 codec has been
12
+ * loaded in the browser.
13
+ * @event media:codec:loaded
14
+ * @instance
15
+ * @memberof MeetingsUtil
16
+ */
17
+ declare const MeetingsUtil: any;
18
+ export default MeetingsUtil;