@webex/plugin-meetings 3.0.0-bnr.5 → 3.0.0-stream-classes.2

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 (854) 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 +70 -32
  9. package/dist/breakouts/breakout.js.map +1 -1
  10. package/dist/breakouts/events.js +45 -0
  11. package/dist/breakouts/events.js.map +1 -0
  12. package/dist/breakouts/index.js +422 -217
  13. package/dist/breakouts/index.js.map +1 -1
  14. package/dist/breakouts/utils.js +12 -1
  15. package/dist/breakouts/utils.js.map +1 -1
  16. package/dist/common/errors/webex-errors.js +3 -2
  17. package/dist/common/errors/webex-errors.js.map +1 -1
  18. package/dist/common/logs/logger-proxy.js +1 -1
  19. package/dist/common/logs/logger-proxy.js.map +1 -1
  20. package/dist/common/queue.js +24 -9
  21. package/dist/common/queue.js.map +1 -1
  22. package/dist/config.js +1 -7
  23. package/dist/config.js.map +1 -1
  24. package/dist/constants.js +118 -24
  25. package/dist/constants.js.map +1 -1
  26. package/dist/controls-options-manager/enums.js +2 -0
  27. package/dist/controls-options-manager/enums.js.map +1 -1
  28. package/dist/controls-options-manager/index.js +19 -14
  29. package/dist/controls-options-manager/index.js.map +1 -1
  30. package/dist/controls-options-manager/types.js.map +1 -1
  31. package/dist/controls-options-manager/util.js +80 -11
  32. package/dist/controls-options-manager/util.js.map +1 -1
  33. package/dist/index.js +62 -20
  34. package/dist/index.js.map +1 -1
  35. package/dist/interpretation/collection.js +23 -0
  36. package/dist/interpretation/collection.js.map +1 -0
  37. package/dist/interpretation/index.js +366 -0
  38. package/dist/interpretation/index.js.map +1 -0
  39. package/dist/interpretation/siLanguage.js +25 -0
  40. package/dist/interpretation/siLanguage.js.map +1 -0
  41. package/dist/locus-info/controlsUtils.js +71 -1
  42. package/dist/locus-info/controlsUtils.js.map +1 -1
  43. package/dist/locus-info/index.js +305 -57
  44. package/dist/locus-info/index.js.map +1 -1
  45. package/dist/locus-info/infoUtils.js +7 -1
  46. package/dist/locus-info/infoUtils.js.map +1 -1
  47. package/dist/locus-info/mediaSharesUtils.js +43 -1
  48. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  49. package/dist/locus-info/parser.js +219 -63
  50. package/dist/locus-info/parser.js.map +1 -1
  51. package/dist/locus-info/selfUtils.js +44 -22
  52. package/dist/locus-info/selfUtils.js.map +1 -1
  53. package/dist/media/index.js +57 -104
  54. package/dist/media/index.js.map +1 -1
  55. package/dist/media/properties.js +60 -121
  56. package/dist/media/properties.js.map +1 -1
  57. package/dist/meeting/in-meeting-actions.js +61 -3
  58. package/dist/meeting/in-meeting-actions.js.map +1 -1
  59. package/dist/meeting/index.js +2530 -2534
  60. package/dist/meeting/index.js.map +1 -1
  61. package/dist/meeting/locusMediaRequest.js +292 -0
  62. package/dist/meeting/locusMediaRequest.js.map +1 -0
  63. package/dist/meeting/muteState.js +125 -205
  64. package/dist/meeting/muteState.js.map +1 -1
  65. package/dist/meeting/request.js +150 -150
  66. package/dist/meeting/request.js.map +1 -1
  67. package/dist/meeting/util.js +568 -438
  68. package/dist/meeting/util.js.map +1 -1
  69. package/dist/meeting-info/index.js +48 -7
  70. package/dist/meeting-info/index.js.map +1 -1
  71. package/dist/meeting-info/meeting-info-v2.js +94 -38
  72. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  73. package/dist/meeting-info/utilv2.js +4 -2
  74. package/dist/meeting-info/utilv2.js.map +1 -1
  75. package/dist/meetings/index.js +260 -85
  76. package/dist/meetings/index.js.map +1 -1
  77. package/dist/meetings/meetings.types.js +7 -0
  78. package/dist/meetings/meetings.types.js.map +1 -0
  79. package/dist/meetings/util.js +42 -7
  80. package/dist/meetings/util.js.map +1 -1
  81. package/dist/member/index.js +26 -0
  82. package/dist/member/index.js.map +1 -1
  83. package/dist/member/types.js +11 -1
  84. package/dist/member/types.js.map +1 -1
  85. package/dist/member/util.js +60 -23
  86. package/dist/member/util.js.map +1 -1
  87. package/dist/members/index.js +4 -1
  88. package/dist/members/index.js.map +1 -1
  89. package/dist/members/request.js +75 -45
  90. package/dist/members/request.js.map +1 -1
  91. package/dist/members/util.js +308 -317
  92. package/dist/members/util.js.map +1 -1
  93. package/dist/metrics/constants.js +1 -0
  94. package/dist/metrics/constants.js.map +1 -1
  95. package/dist/metrics/index.js +1 -451
  96. package/dist/metrics/index.js.map +1 -1
  97. package/dist/multistream/mediaRequestManager.js +136 -40
  98. package/dist/multistream/mediaRequestManager.js.map +1 -1
  99. package/dist/multistream/receiveSlot.js.map +1 -1
  100. package/dist/multistream/receiveSlotManager.js +4 -4
  101. package/dist/multistream/receiveSlotManager.js.map +1 -1
  102. package/dist/multistream/remoteMedia.js.map +1 -1
  103. package/dist/multistream/remoteMediaGroup.js +60 -3
  104. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  105. package/dist/multistream/remoteMediaManager.js +36 -0
  106. package/dist/multistream/remoteMediaManager.js.map +1 -1
  107. package/dist/multistream/sendSlotManager.js +233 -0
  108. package/dist/multistream/sendSlotManager.js.map +1 -0
  109. package/dist/reachability/index.js +18 -3
  110. package/dist/reachability/index.js.map +1 -1
  111. package/dist/reachability/request.js +5 -3
  112. package/dist/reachability/request.js.map +1 -1
  113. package/dist/reconnection-manager/index.js +181 -153
  114. package/dist/reconnection-manager/index.js.map +1 -1
  115. package/dist/recording-controller/index.js +21 -2
  116. package/dist/recording-controller/index.js.map +1 -1
  117. package/dist/recording-controller/util.js +9 -8
  118. package/dist/recording-controller/util.js.map +1 -1
  119. package/dist/roap/index.js +25 -32
  120. package/dist/roap/index.js.map +1 -1
  121. package/dist/roap/request.js +42 -51
  122. package/dist/roap/request.js.map +1 -1
  123. package/dist/roap/turnDiscovery.js +97 -38
  124. package/dist/roap/turnDiscovery.js.map +1 -1
  125. package/dist/rtcMetrics/constants.js +12 -0
  126. package/dist/rtcMetrics/constants.js.map +1 -0
  127. package/dist/rtcMetrics/index.js +117 -0
  128. package/dist/rtcMetrics/index.js.map +1 -0
  129. package/dist/statsAnalyzer/index.js +0 -1
  130. package/dist/statsAnalyzer/index.js.map +1 -1
  131. package/dist/types/annotation/annotation.types.d.ts +42 -0
  132. package/dist/types/annotation/constants.d.ts +31 -0
  133. package/dist/types/annotation/index.d.ts +117 -0
  134. package/dist/types/breakouts/events.d.ts +8 -0
  135. package/dist/types/breakouts/utils.d.ts +7 -0
  136. package/dist/types/common/errors/webex-errors.d.ts +1 -1
  137. package/dist/types/common/queue.d.ts +9 -7
  138. package/dist/types/config.d.ts +0 -6
  139. package/dist/types/constants.d.ts +95 -22
  140. package/dist/types/controls-options-manager/enums.d.ts +2 -0
  141. package/dist/types/controls-options-manager/index.d.ts +1 -1
  142. package/dist/types/controls-options-manager/types.d.ts +7 -1
  143. package/dist/types/index.d.ts +1 -1
  144. package/dist/types/interpretation/collection.d.ts +5 -0
  145. package/dist/types/interpretation/index.d.ts +5 -0
  146. package/dist/types/interpretation/siLanguage.d.ts +5 -0
  147. package/dist/types/locus-info/index.d.ts +47 -2
  148. package/dist/types/locus-info/parser.d.ts +65 -6
  149. package/dist/types/media/index.d.ts +2 -0
  150. package/dist/types/media/properties.d.ts +34 -49
  151. package/dist/types/meeting/in-meeting-actions.d.ts +60 -2
  152. package/dist/types/meeting/index.d.ts +268 -473
  153. package/dist/types/meeting/locusMediaRequest.d.ts +75 -0
  154. package/dist/types/meeting/muteState.d.ts +53 -54
  155. package/dist/types/meeting/request.d.ts +61 -43
  156. package/dist/types/meeting/util.d.ts +93 -1
  157. package/dist/types/meeting-info/index.d.ts +6 -1
  158. package/dist/types/meeting-info/meeting-info-v2.d.ts +14 -3
  159. package/dist/types/meetings/index.d.ts +56 -11
  160. package/dist/types/meetings/meetings.types.d.ts +4 -0
  161. package/dist/types/member/index.d.ts +4 -1
  162. package/dist/types/member/types.d.ts +11 -0
  163. package/dist/types/members/request.d.ts +56 -11
  164. package/dist/types/members/util.d.ts +209 -1
  165. package/dist/types/metrics/constants.d.ts +1 -0
  166. package/dist/types/metrics/index.d.ts +4 -111
  167. package/dist/types/multistream/mediaRequestManager.d.ts +27 -10
  168. package/dist/types/multistream/receiveSlot.d.ts +3 -3
  169. package/dist/types/multistream/remoteMedia.d.ts +2 -2
  170. package/dist/types/multistream/remoteMediaManager.d.ts +14 -0
  171. package/dist/types/multistream/sendSlotManager.d.ts +61 -0
  172. package/dist/types/reachability/index.d.ts +6 -0
  173. package/dist/types/reachability/request.d.ts +3 -1
  174. package/dist/types/reconnection-manager/index.d.ts +2 -2
  175. package/dist/types/recording-controller/index.d.ts +15 -1
  176. package/dist/types/recording-controller/util.d.ts +5 -4
  177. package/dist/types/roap/request.d.ts +8 -8
  178. package/dist/types/roap/turnDiscovery.d.ts +18 -1
  179. package/dist/types/rtcMetrics/constants.d.ts +4 -0
  180. package/dist/types/rtcMetrics/index.d.ts +47 -0
  181. package/package.json +21 -20
  182. package/src/annotation/annotation.types.ts +50 -0
  183. package/src/annotation/constants.ts +36 -0
  184. package/src/annotation/index.ts +328 -0
  185. package/src/breakouts/README.md +3 -2
  186. package/src/breakouts/breakout.ts +62 -27
  187. package/src/breakouts/events.ts +56 -0
  188. package/src/breakouts/index.ts +244 -64
  189. package/src/breakouts/utils.ts +13 -0
  190. package/src/common/errors/webex-errors.ts +6 -2
  191. package/src/common/logs/logger-proxy.ts +1 -1
  192. package/src/common/queue.ts +22 -8
  193. package/src/config.ts +0 -6
  194. package/src/constants.ts +111 -19
  195. package/src/controls-options-manager/enums.ts +2 -0
  196. package/src/controls-options-manager/index.ts +13 -10
  197. package/src/controls-options-manager/types.ts +10 -0
  198. package/src/controls-options-manager/util.ts +82 -11
  199. package/src/index.ts +18 -11
  200. package/src/interpretation/README.md +60 -0
  201. package/src/interpretation/collection.ts +19 -0
  202. package/src/interpretation/index.ts +332 -0
  203. package/src/interpretation/siLanguage.ts +18 -0
  204. package/src/locus-info/controlsUtils.ts +81 -0
  205. package/src/locus-info/index.ts +318 -57
  206. package/src/locus-info/infoUtils.ts +10 -2
  207. package/src/locus-info/mediaSharesUtils.ts +48 -0
  208. package/src/locus-info/parser.ts +224 -39
  209. package/src/locus-info/selfUtils.ts +32 -20
  210. package/src/media/index.ts +94 -108
  211. package/src/media/properties.ts +69 -109
  212. package/src/meeting/in-meeting-actions.ts +120 -4
  213. package/src/meeting/index.ts +1967 -2120
  214. package/src/meeting/locusMediaRequest.ts +314 -0
  215. package/src/meeting/muteState.ts +119 -194
  216. package/src/meeting/request.ts +122 -115
  217. package/src/meeting/util.ts +549 -413
  218. package/src/meeting-info/index.ts +54 -8
  219. package/src/meeting-info/meeting-info-v2.ts +89 -24
  220. package/src/meeting-info/utilv2.ts +6 -2
  221. package/src/meetings/index.ts +247 -87
  222. package/src/meetings/meetings.types.ts +12 -0
  223. package/src/meetings/util.ts +47 -12
  224. package/src/member/index.ts +28 -1
  225. package/src/member/types.ts +14 -0
  226. package/src/member/util.ts +75 -26
  227. package/src/members/index.ts +7 -1
  228. package/src/members/request.ts +61 -21
  229. package/src/members/util.ts +316 -326
  230. package/src/metrics/constants.ts +1 -0
  231. package/src/metrics/index.ts +1 -474
  232. package/src/multistream/mediaRequestManager.ts +183 -67
  233. package/src/multistream/receiveSlot.ts +4 -4
  234. package/src/multistream/receiveSlotManager.ts +4 -4
  235. package/src/multistream/remoteMedia.ts +2 -2
  236. package/src/multistream/remoteMediaGroup.ts +59 -0
  237. package/src/multistream/remoteMediaManager.ts +33 -0
  238. package/src/multistream/sendSlotManager.ts +170 -0
  239. package/src/reachability/index.ts +15 -4
  240. package/src/reachability/request.ts +7 -3
  241. package/src/reconnection-manager/index.ts +36 -29
  242. package/src/recording-controller/index.ts +20 -3
  243. package/src/recording-controller/util.ts +26 -9
  244. package/src/roap/index.ts +25 -30
  245. package/src/roap/request.ts +44 -51
  246. package/src/roap/turnDiscovery.ts +51 -25
  247. package/src/rtcMetrics/constants.ts +3 -0
  248. package/src/rtcMetrics/index.ts +100 -0
  249. package/src/statsAnalyzer/index.ts +0 -1
  250. package/test/integration/spec/converged-space-meetings.js +60 -3
  251. package/test/integration/spec/journey.js +336 -259
  252. package/test/integration/spec/space-meeting.js +76 -3
  253. package/test/unit/spec/annotation/index.ts +418 -0
  254. package/test/unit/spec/breakouts/breakout.ts +85 -26
  255. package/test/unit/spec/breakouts/events.ts +89 -0
  256. package/test/unit/spec/breakouts/index.ts +636 -98
  257. package/test/unit/spec/breakouts/utils.js +19 -1
  258. package/test/unit/spec/common/queue.js +31 -2
  259. package/test/unit/spec/controls-options-manager/index.js +8 -1
  260. package/test/unit/spec/controls-options-manager/util.js +576 -397
  261. package/test/unit/spec/fixture/locus.js +1 -0
  262. package/test/unit/spec/interpretation/collection.ts +15 -0
  263. package/test/unit/spec/interpretation/index.ts +589 -0
  264. package/test/unit/spec/interpretation/siLanguage.ts +28 -0
  265. package/test/unit/spec/locus-info/controlsUtils.js +195 -1
  266. package/test/unit/spec/locus-info/index.js +950 -45
  267. package/test/unit/spec/locus-info/infoUtils.js +37 -15
  268. package/test/unit/spec/locus-info/mediaSharesUtils.ts +22 -0
  269. package/test/unit/spec/locus-info/parser.js +62 -22
  270. package/test/unit/spec/locus-info/selfConstant.js +19 -0
  271. package/test/unit/spec/locus-info/selfUtils.js +131 -26
  272. package/test/unit/spec/media/index.ts +82 -79
  273. package/test/unit/spec/meeting/in-meeting-actions.ts +60 -2
  274. package/test/unit/spec/meeting/index.js +3208 -1734
  275. package/test/unit/spec/meeting/locusMediaRequest.ts +443 -0
  276. package/test/unit/spec/meeting/muteState.js +328 -417
  277. package/test/unit/spec/meeting/request.js +393 -48
  278. package/test/unit/spec/meeting/utils.js +552 -76
  279. package/test/unit/spec/meeting-info/index.js +181 -0
  280. package/test/unit/spec/meeting-info/meetinginfov2.js +258 -20
  281. package/test/unit/spec/meeting-info/utilv2.js +21 -0
  282. package/test/unit/spec/meetings/index.js +631 -145
  283. package/test/unit/spec/meetings/utils.js +164 -9
  284. package/test/unit/spec/member/index.js +44 -14
  285. package/test/unit/spec/member/util.js +296 -155
  286. package/test/unit/spec/members/index.js +23 -3
  287. package/test/unit/spec/members/request.js +167 -35
  288. package/test/unit/spec/metrics/index.js +1 -50
  289. package/test/unit/spec/multistream/mediaRequestManager.ts +366 -8
  290. package/test/unit/spec/multistream/receiveSlot.ts +1 -1
  291. package/test/unit/spec/multistream/remoteMediaGroup.ts +266 -0
  292. package/test/unit/spec/multistream/remoteMediaManager.ts +123 -0
  293. package/test/unit/spec/multistream/sendSlotManager.ts +242 -0
  294. package/test/unit/spec/reachability/index.ts +66 -5
  295. package/test/unit/spec/reachability/request.js +3 -1
  296. package/test/unit/spec/reconnection-manager/index.js +55 -5
  297. package/test/unit/spec/recording-controller/index.js +294 -218
  298. package/test/unit/spec/recording-controller/util.js +223 -96
  299. package/test/unit/spec/roap/index.ts +21 -48
  300. package/test/unit/spec/roap/request.ts +74 -60
  301. package/test/unit/spec/roap/turnDiscovery.ts +30 -6
  302. package/test/unit/spec/rtcMetrics/index.ts +68 -0
  303. package/test/utils/integrationTestUtils.js +46 -0
  304. package/test/utils/testUtils.js +0 -60
  305. package/dist/common/browser-detection.d.ts +0 -9
  306. package/dist/common/collection.d.ts +0 -48
  307. package/dist/common/config.d.ts +0 -2
  308. package/dist/common/errors/captcha-error.d.ts +0 -15
  309. package/dist/common/errors/intent-to-join.d.ts +0 -16
  310. package/dist/common/errors/join-meeting.d.ts +0 -17
  311. package/dist/common/errors/media.d.ts +0 -15
  312. package/dist/common/errors/parameter.d.ts +0 -15
  313. package/dist/common/errors/password-error.d.ts +0 -15
  314. package/dist/common/errors/permission.d.ts +0 -14
  315. package/dist/common/errors/reconnection-in-progress.d.ts +0 -9
  316. package/dist/common/errors/reconnection.d.ts +0 -15
  317. package/dist/common/errors/stats.d.ts +0 -15
  318. package/dist/common/errors/webex-errors.d.ts +0 -81
  319. package/dist/common/errors/webex-meetings-error.d.ts +0 -20
  320. package/dist/common/events/events-scope.d.ts +0 -17
  321. package/dist/common/events/events.d.ts +0 -12
  322. package/dist/common/events/trigger-proxy.d.ts +0 -2
  323. package/dist/common/events/util.d.ts +0 -2
  324. package/dist/common/logs/logger-config.d.ts +0 -2
  325. package/dist/common/logs/logger-proxy.d.ts +0 -2
  326. package/dist/common/logs/request.d.ts +0 -34
  327. package/dist/common/queue.d.ts +0 -32
  328. package/dist/config.d.ts +0 -73
  329. package/dist/constants.d.ts +0 -924
  330. package/dist/controls-options-manager/constants.d.ts +0 -4
  331. package/dist/controls-options-manager/enums.d.ts +0 -5
  332. package/dist/controls-options-manager/index.d.ts +0 -120
  333. package/dist/controls-options-manager/util.d.ts +0 -7
  334. package/dist/docs/markdown/index.md +0 -12
  335. package/dist/docs/markdown/plugin-meetings.constants._active_.md +0 -11
  336. package/dist/docs/markdown/plugin-meetings.constants._answer_.md +0 -11
  337. package/dist/docs/markdown/plugin-meetings.constants._call_.md +0 -11
  338. package/dist/docs/markdown/plugin-meetings.constants._conflict_.md +0 -11
  339. package/dist/docs/markdown/plugin-meetings.constants._conversation_url_.md +0 -11
  340. package/dist/docs/markdown/plugin-meetings.constants._created_.md +0 -11
  341. package/dist/docs/markdown/plugin-meetings.constants._error_.md +0 -11
  342. package/dist/docs/markdown/plugin-meetings.constants._forced_.md +0 -11
  343. package/dist/docs/markdown/plugin-meetings.constants._id_.md +0 -11
  344. package/dist/docs/markdown/plugin-meetings.constants._idle_.md +0 -11
  345. package/dist/docs/markdown/plugin-meetings.constants._in_.md +0 -11
  346. package/dist/docs/markdown/plugin-meetings.constants._in_lobby_.md +0 -11
  347. package/dist/docs/markdown/plugin-meetings.constants._in_meeting_.md +0 -11
  348. package/dist/docs/markdown/plugin-meetings.constants._inactive_.md +0 -11
  349. package/dist/docs/markdown/plugin-meetings.constants._incoming_.md +0 -11
  350. package/dist/docs/markdown/plugin-meetings.constants._join_.md +0 -11
  351. package/dist/docs/markdown/plugin-meetings.constants._joined_.md +0 -11
  352. package/dist/docs/markdown/plugin-meetings.constants._left_.md +0 -11
  353. package/dist/docs/markdown/plugin-meetings.constants._locus_id_.md +0 -11
  354. package/dist/docs/markdown/plugin-meetings.constants._meeting_.md +0 -11
  355. package/dist/docs/markdown/plugin-meetings.constants._meeting_center_.md +0 -11
  356. package/dist/docs/markdown/plugin-meetings.constants._meeting_id_.md +0 -11
  357. package/dist/docs/markdown/plugin-meetings.constants._meeting_link_.md +0 -11
  358. package/dist/docs/markdown/plugin-meetings.constants._meeting_uuid_.md +0 -11
  359. package/dist/docs/markdown/plugin-meetings.constants._move_media_.md +0 -11
  360. package/dist/docs/markdown/plugin-meetings.constants._none_.md +0 -11
  361. package/dist/docs/markdown/plugin-meetings.constants._not_in_meeting_.md +0 -11
  362. package/dist/docs/markdown/plugin-meetings.constants._observe_.md +0 -11
  363. package/dist/docs/markdown/plugin-meetings.constants._people_.md +0 -11
  364. package/dist/docs/markdown/plugin-meetings.constants._personal_room_.md +0 -11
  365. package/dist/docs/markdown/plugin-meetings.constants._receive_only_.md +0 -11
  366. package/dist/docs/markdown/plugin-meetings.constants._remove_.md +0 -11
  367. package/dist/docs/markdown/plugin-meetings.constants._requested_.md +0 -11
  368. package/dist/docs/markdown/plugin-meetings.constants._resource_room_.md +0 -11
  369. package/dist/docs/markdown/plugin-meetings.constants._room_.md +0 -11
  370. package/dist/docs/markdown/plugin-meetings.constants._s_line.md +0 -11
  371. package/dist/docs/markdown/plugin-meetings.constants._send_only_.md +0 -11
  372. package/dist/docs/markdown/plugin-meetings.constants._send_receive_.md +0 -11
  373. package/dist/docs/markdown/plugin-meetings.constants._sip_bridge_.md +0 -11
  374. package/dist/docs/markdown/plugin-meetings.constants._sip_uri_.md +0 -11
  375. package/dist/docs/markdown/plugin-meetings.constants._slides_.md +0 -11
  376. package/dist/docs/markdown/plugin-meetings.constants._unknown_.md +0 -11
  377. package/dist/docs/markdown/plugin-meetings.constants._user_.md +0 -11
  378. package/dist/docs/markdown/plugin-meetings.constants._wait_.md +0 -11
  379. package/dist/docs/markdown/plugin-meetings.constants._webex_meeting_.md +0 -11
  380. package/dist/docs/markdown/plugin-meetings.constants.alert.md +0 -11
  381. package/dist/docs/markdown/plugin-meetings.constants.alternate_redirect_true.md +0 -11
  382. package/dist/docs/markdown/plugin-meetings.constants.answer.md +0 -11
  383. package/dist/docs/markdown/plugin-meetings.constants.api.md +0 -14
  384. package/dist/docs/markdown/plugin-meetings.constants.audio.md +0 -11
  385. package/dist/docs/markdown/plugin-meetings.constants.audio_input.md +0 -11
  386. package/dist/docs/markdown/plugin-meetings.constants.audio_status.md +0 -11
  387. package/dist/docs/markdown/plugin-meetings.constants.available_resolutions.md +0 -60
  388. package/dist/docs/markdown/plugin-meetings.constants.bnr_status.md +0 -16
  389. package/dist/docs/markdown/plugin-meetings.constants.breakouts.md +0 -51
  390. package/dist/docs/markdown/plugin-meetings.constants.calendar.md +0 -11
  391. package/dist/docs/markdown/plugin-meetings.constants.calendar_events.md +0 -17
  392. package/dist/docs/markdown/plugin-meetings.constants.calendar_events_api.md +0 -11
  393. package/dist/docs/markdown/plugin-meetings.constants.call.md +0 -11
  394. package/dist/docs/markdown/plugin-meetings.constants.call_removed_reason.md +0 -15
  395. package/dist/docs/markdown/plugin-meetings.constants.claim.md +0 -11
  396. package/dist/docs/markdown/plugin-meetings.constants.cmr_meetings.md +0 -11
  397. package/dist/docs/markdown/plugin-meetings.constants.complete.md +0 -11
  398. package/dist/docs/markdown/plugin-meetings.constants.connection_state.md +0 -18
  399. package/dist/docs/markdown/plugin-meetings.constants.content.md +0 -11
  400. package/dist/docs/markdown/plugin-meetings.constants.controls.md +0 -11
  401. package/dist/docs/markdown/plugin-meetings.constants.conversation_service.md +0 -11
  402. package/dist/docs/markdown/plugin-meetings.constants.conversation_url.md +0 -11
  403. package/dist/docs/markdown/plugin-meetings.constants.correlation_id.md +0 -11
  404. package/dist/docs/markdown/plugin-meetings.constants.decline.md +0 -11
  405. package/dist/docs/markdown/plugin-meetings.constants.default_excluded_stats.md +0 -11
  406. package/dist/docs/markdown/plugin-meetings.constants.default_get_stats_filter.md +0 -13
  407. package/dist/docs/markdown/plugin-meetings.constants.development.md +0 -11
  408. package/dist/docs/markdown/plugin-meetings.constants.dialer_regex.md +0 -15
  409. package/dist/docs/markdown/plugin-meetings.constants.display_hints.md +0 -51
  410. package/dist/docs/markdown/plugin-meetings.constants.embedded_app_types.md +0 -14
  411. package/dist/docs/markdown/plugin-meetings.constants.end.md +0 -11
  412. package/dist/docs/markdown/plugin-meetings.constants.ended.md +0 -11
  413. package/dist/docs/markdown/plugin-meetings.constants.error.md +0 -11
  414. package/dist/docs/markdown/plugin-meetings.constants.error_dictionary.md +0 -62
  415. package/dist/docs/markdown/plugin-meetings.constants.event_triggers.md +0 -82
  416. package/dist/docs/markdown/plugin-meetings.constants.event_types.md +0 -21
  417. package/dist/docs/markdown/plugin-meetings.constants.events.md +0 -26
  418. package/dist/docs/markdown/plugin-meetings.constants.floor_action.md +0 -15
  419. package/dist/docs/markdown/plugin-meetings.constants.full_state.md +0 -17
  420. package/dist/docs/markdown/plugin-meetings.constants.gathering.md +0 -11
  421. package/dist/docs/markdown/plugin-meetings.constants.hecate.md +0 -11
  422. package/dist/docs/markdown/plugin-meetings.constants.host.md +0 -11
  423. package/dist/docs/markdown/plugin-meetings.constants.http_verbs.md +0 -17
  424. package/dist/docs/markdown/plugin-meetings.constants.https_protocol.md +0 -11
  425. package/dist/docs/markdown/plugin-meetings.constants.ice_fail_timeout.md +0 -11
  426. package/dist/docs/markdown/plugin-meetings.constants.ice_gathering_state.md +0 -15
  427. package/dist/docs/markdown/plugin-meetings.constants.ice_state.md +0 -18
  428. package/dist/docs/markdown/plugin-meetings.constants.ice_timeout.md +0 -11
  429. package/dist/docs/markdown/plugin-meetings.constants.intent_to_join.md +0 -11
  430. package/dist/docs/markdown/plugin-meetings.constants.ipv4_regex.md +0 -11
  431. package/dist/docs/markdown/plugin-meetings.constants.join.md +0 -11
  432. package/dist/docs/markdown/plugin-meetings.constants.layout_types.md +0 -13
  433. package/dist/docs/markdown/plugin-meetings.constants.leave.md +0 -11
  434. package/dist/docs/markdown/plugin-meetings.constants.live.md +0 -11
  435. package/dist/docs/markdown/plugin-meetings.constants.local.md +0 -11
  436. package/dist/docs/markdown/plugin-meetings.constants.loci.md +0 -11
  437. package/dist/docs/markdown/plugin-meetings.constants.locus.md +0 -26
  438. package/dist/docs/markdown/plugin-meetings.constants.locus_url.md +0 -11
  439. package/dist/docs/markdown/plugin-meetings.constants.locusevent.md +0 -33
  440. package/dist/docs/markdown/plugin-meetings.constants.locusinfo.md +0 -43
  441. package/dist/docs/markdown/plugin-meetings.constants.max_random_delay_for_meeting_info.md +0 -11
  442. package/dist/docs/markdown/plugin-meetings.constants.md +0 -186
  443. package/dist/docs/markdown/plugin-meetings.constants.media.md +0 -11
  444. package/dist/docs/markdown/plugin-meetings.constants.media_devices.md +0 -15
  445. package/dist/docs/markdown/plugin-meetings.constants.media_peer_connection_name.md +0 -11
  446. package/dist/docs/markdown/plugin-meetings.constants.media_state.md +0 -14
  447. package/dist/docs/markdown/plugin-meetings.constants.media_track_constraint.md +0 -17
  448. package/dist/docs/markdown/plugin-meetings.constants.mediacontent.md +0 -14
  449. package/dist/docs/markdown/plugin-meetings.constants.meet.md +0 -11
  450. package/dist/docs/markdown/plugin-meetings.constants.meet_m.md +0 -11
  451. package/dist/docs/markdown/plugin-meetings.constants.meeting_audio_state_machine.md +0 -20
  452. package/dist/docs/markdown/plugin-meetings.constants.meeting_end_reason.md +0 -14
  453. package/dist/docs/markdown/plugin-meetings.constants.meeting_errors.md +0 -102
  454. package/dist/docs/markdown/plugin-meetings.constants.meeting_info_failure_reason.md +0 -16
  455. package/dist/docs/markdown/plugin-meetings.constants.meeting_removed_reason.md +0 -19
  456. package/dist/docs/markdown/plugin-meetings.constants.meeting_state.md +0 -25
  457. package/dist/docs/markdown/plugin-meetings.constants.meeting_state_machine.md +0 -31
  458. package/dist/docs/markdown/plugin-meetings.constants.meeting_video_state_machine.md +0 -20
  459. package/dist/docs/markdown/plugin-meetings.constants.meetinginfo.md +0 -11
  460. package/dist/docs/markdown/plugin-meetings.constants.meetings.md +0 -11
  461. package/dist/docs/markdown/plugin-meetings.constants.metrics_join_times_max_duration.md +0 -11
  462. package/dist/docs/markdown/plugin-meetings.constants.moderator_false.md +0 -11
  463. package/dist/docs/markdown/plugin-meetings.constants.moderator_true.md +0 -11
  464. package/dist/docs/markdown/plugin-meetings.constants.mqa_inteval.md +0 -11
  465. package/dist/docs/markdown/plugin-meetings.constants.mqa_stats.md +0 -82
  466. package/dist/docs/markdown/plugin-meetings.constants.network_status.md +0 -15
  467. package/dist/docs/markdown/plugin-meetings.constants.network_type.md +0 -16
  468. package/dist/docs/markdown/plugin-meetings.constants.offline.md +0 -11
  469. package/dist/docs/markdown/plugin-meetings.constants.online.md +0 -11
  470. package/dist/docs/markdown/plugin-meetings.constants.participant.md +0 -11
  471. package/dist/docs/markdown/plugin-meetings.constants.participant_deltas.md +0 -22
  472. package/dist/docs/markdown/plugin-meetings.constants.password_status.md +0 -16
  473. package/dist/docs/markdown/plugin-meetings.constants.pc_bail_timeout.md +0 -11
  474. package/dist/docs/markdown/plugin-meetings.constants.peer_connection_state.md +0 -14
  475. package/dist/docs/markdown/plugin-meetings.constants.provisional_type_dial_in.md +0 -11
  476. package/dist/docs/markdown/plugin-meetings.constants.provisional_type_dial_out.md +0 -11
  477. package/dist/docs/markdown/plugin-meetings.constants.pstn_status.md +0 -18
  478. package/dist/docs/markdown/plugin-meetings.constants.quality_levels.md +0 -19
  479. package/dist/docs/markdown/plugin-meetings.constants.reachability.md +0 -15
  480. package/dist/docs/markdown/plugin-meetings.constants.ready.md +0 -11
  481. package/dist/docs/markdown/plugin-meetings.constants.reconnection.md +0 -19
  482. package/dist/docs/markdown/plugin-meetings.constants.recording_state.md +0 -16
  483. package/dist/docs/markdown/plugin-meetings.constants.remote.md +0 -11
  484. package/dist/docs/markdown/plugin-meetings.constants.resource.md +0 -15
  485. package/dist/docs/markdown/plugin-meetings.constants.retry_timeout.md +0 -11
  486. package/dist/docs/markdown/plugin-meetings.constants.roap.md +0 -22
  487. package/dist/docs/markdown/plugin-meetings.constants.self_roles.md +0 -14
  488. package/dist/docs/markdown/plugin-meetings.constants.send_dtmf_endpoint.md +0 -11
  489. package/dist/docs/markdown/plugin-meetings.constants.sendrecv.md +0 -11
  490. package/dist/docs/markdown/plugin-meetings.constants.share.md +0 -11
  491. package/dist/docs/markdown/plugin-meetings.constants.share_peer_connection_name.md +0 -11
  492. package/dist/docs/markdown/plugin-meetings.constants.share_status.md +0 -16
  493. package/dist/docs/markdown/plugin-meetings.constants.share_stopped_reason.md +0 -14
  494. package/dist/docs/markdown/plugin-meetings.constants.sip_uri.md +0 -11
  495. package/dist/docs/markdown/plugin-meetings.constants.stats.md +0 -16
  496. package/dist/docs/markdown/plugin-meetings.constants.type.md +0 -11
  497. package/dist/docs/markdown/plugin-meetings.constants.use_uri_lookup_false.md +0 -11
  498. package/dist/docs/markdown/plugin-meetings.constants.uuid_reg.md +0 -11
  499. package/dist/docs/markdown/plugin-meetings.constants.valid_email_address.md +0 -11
  500. package/dist/docs/markdown/plugin-meetings.constants.valid_pin.md +0 -11
  501. package/dist/docs/markdown/plugin-meetings.constants.valid_pmr_address.md +0 -11
  502. package/dist/docs/markdown/plugin-meetings.constants.valid_pmr_link.md +0 -11
  503. package/dist/docs/markdown/plugin-meetings.constants.video.md +0 -11
  504. package/dist/docs/markdown/plugin-meetings.constants.video_input.md +0 -11
  505. package/dist/docs/markdown/plugin-meetings.constants.video_resolutions.md +0 -24
  506. package/dist/docs/markdown/plugin-meetings.constants.video_status.md +0 -11
  507. package/dist/docs/markdown/plugin-meetings.constants.wbxappapi_service.md +0 -11
  508. package/dist/docs/markdown/plugin-meetings.constants.webex_dot_com.md +0 -11
  509. package/dist/docs/markdown/plugin-meetings.constants.whiteboard.md +0 -11
  510. package/dist/docs/markdown/plugin-meetings.constants.www_dot.md +0 -11
  511. package/dist/docs/markdown/plugin-meetings.md +0 -28
  512. package/dist/docs/markdown/plugin-meetings.meeting.default._constructor_.md +0 -21
  513. package/dist/docs/markdown/plugin-meetings.meeting.default.acknowledge.md +0 -28
  514. package/dist/docs/markdown/plugin-meetings.meeting.default.addmedia.md +0 -28
  515. package/dist/docs/markdown/plugin-meetings.meeting.default.admit.md +0 -32
  516. package/dist/docs/markdown/plugin-meetings.meeting.default.attrs.md +0 -11
  517. package/dist/docs/markdown/plugin-meetings.meeting.default.audio.md +0 -11
  518. package/dist/docs/markdown/plugin-meetings.meeting.default.breakouts.md +0 -11
  519. package/dist/docs/markdown/plugin-meetings.meeting.default.callevents.md +0 -11
  520. package/dist/docs/markdown/plugin-meetings.meeting.default.cancelphoneinvite.md +0 -30
  521. package/dist/docs/markdown/plugin-meetings.meeting.default.canupdatemedia.md +0 -19
  522. package/dist/docs/markdown/plugin-meetings.meeting.default.changevideolayout.md +0 -38
  523. package/dist/docs/markdown/plugin-meetings.meeting.default.clearmeetingdata.md +0 -13
  524. package/dist/docs/markdown/plugin-meetings.meeting.default.closelocalshare.md +0 -21
  525. package/dist/docs/markdown/plugin-meetings.meeting.default.closelocalstream.md +0 -21
  526. package/dist/docs/markdown/plugin-meetings.meeting.default.closepeerconnections.md +0 -21
  527. package/dist/docs/markdown/plugin-meetings.meeting.default.closeremotestream.md +0 -26
  528. package/dist/docs/markdown/plugin-meetings.meeting.default.closeremotetracks.md +0 -19
  529. package/dist/docs/markdown/plugin-meetings.meeting.default.controlsoptionsmanager.md +0 -11
  530. package/dist/docs/markdown/plugin-meetings.meeting.default.conversationurl.md +0 -11
  531. package/dist/docs/markdown/plugin-meetings.meeting.default.correlationid.md +0 -11
  532. package/dist/docs/markdown/plugin-meetings.meeting.default.createmediaconnection.md +0 -26
  533. package/dist/docs/markdown/plugin-meetings.meeting.default.decline.md +0 -28
  534. package/dist/docs/markdown/plugin-meetings.meeting.default.deferjoin.md +0 -11
  535. package/dist/docs/markdown/plugin-meetings.meeting.default.destination.md +0 -11
  536. package/dist/docs/markdown/plugin-meetings.meeting.default.destinationtype.md +0 -11
  537. package/dist/docs/markdown/plugin-meetings.meeting.default.deviceurl.md +0 -11
  538. package/dist/docs/markdown/plugin-meetings.meeting.default.dialindevicestatus.md +0 -11
  539. package/dist/docs/markdown/plugin-meetings.meeting.default.dialinurl.md +0 -11
  540. package/dist/docs/markdown/plugin-meetings.meeting.default.dialoutdevicestatus.md +0 -11
  541. package/dist/docs/markdown/plugin-meetings.meeting.default.dialouturl.md +0 -11
  542. package/dist/docs/markdown/plugin-meetings.meeting.default.disconnectphoneaudio.md +0 -19
  543. package/dist/docs/markdown/plugin-meetings.meeting.default.endcallinitiatejoinreq.md +0 -11
  544. package/dist/docs/markdown/plugin-meetings.meeting.default.endjoinreqresp.md +0 -11
  545. package/dist/docs/markdown/plugin-meetings.meeting.default.endlocalsdpgenremotesdprecvdelay.md +0 -11
  546. package/dist/docs/markdown/plugin-meetings.meeting.default.endmeetingforall.md +0 -21
  547. package/dist/docs/markdown/plugin-meetings.meeting.default.fetchmeetinginfo.md +0 -29
  548. package/dist/docs/markdown/plugin-meetings.meeting.default.fetchmeetinginfotimeoutid.md +0 -11
  549. package/dist/docs/markdown/plugin-meetings.meeting.default.floorgrantpending.md +0 -11
  550. package/dist/docs/markdown/plugin-meetings.meeting.default.forwardevent.md +0 -29
  551. package/dist/docs/markdown/plugin-meetings.meeting.default.getanalyzermetricsprepayload.md +0 -32
  552. package/dist/docs/markdown/plugin-meetings.meeting.default.getcallinitiatejoinreq.md +0 -17
  553. package/dist/docs/markdown/plugin-meetings.meeting.default.getdevices.md +0 -13
  554. package/dist/docs/markdown/plugin-meetings.meeting.default.getjoinreqresp.md +0 -17
  555. package/dist/docs/markdown/plugin-meetings.meeting.default.getlocalsdpgenremotesdprecvdelay.md +0 -17
  556. package/dist/docs/markdown/plugin-meetings.meeting.default.getmediaconnectiondebugid.md +0 -15
  557. package/dist/docs/markdown/plugin-meetings.meeting.default.getmediastreams.md +0 -15
  558. package/dist/docs/markdown/plugin-meetings.meeting.default.getmembers.md +0 -21
  559. package/dist/docs/markdown/plugin-meetings.meeting.default.getsendingmediadelayduration.md +0 -24
  560. package/dist/docs/markdown/plugin-meetings.meeting.default.getsetupdelayduration.md +0 -24
  561. package/dist/docs/markdown/plugin-meetings.meeting.default.getsupporteddevices.md +0 -16
  562. package/dist/docs/markdown/plugin-meetings.meeting.default.gettotaljmt.md +0 -17
  563. package/dist/docs/markdown/plugin-meetings.meeting.default.guest.md +0 -11
  564. package/dist/docs/markdown/plugin-meetings.meeting.default.handledatachannelurlchange.md +0 -26
  565. package/dist/docs/markdown/plugin-meetings.meeting.default.handleroapfailure.md +0 -13
  566. package/dist/docs/markdown/plugin-meetings.meeting.default.hasjoinedonce.md +0 -11
  567. package/dist/docs/markdown/plugin-meetings.meeting.default.haswebsocketconnected.md +0 -11
  568. package/dist/docs/markdown/plugin-meetings.meeting.default.hostid.md +0 -11
  569. package/dist/docs/markdown/plugin-meetings.meeting.default.id.md +0 -11
  570. package/dist/docs/markdown/plugin-meetings.meeting.default.inmeetingactions.md +0 -11
  571. package/dist/docs/markdown/plugin-meetings.meeting.default.invite.md +0 -33
  572. package/dist/docs/markdown/plugin-meetings.meeting.default.isaudioconnected.md +0 -21
  573. package/dist/docs/markdown/plugin-meetings.meeting.default.isaudiomuted.md +0 -21
  574. package/dist/docs/markdown/plugin-meetings.meeting.default.isaudioself.md +0 -21
  575. package/dist/docs/markdown/plugin-meetings.meeting.default.islocalsharelive.md +0 -11
  576. package/dist/docs/markdown/plugin-meetings.meeting.default.ismultistream.md +0 -11
  577. package/dist/docs/markdown/plugin-meetings.meeting.default.isreactionssupported.md +0 -19
  578. package/dist/docs/markdown/plugin-meetings.meeting.default.isroapinprogress.md +0 -11
  579. package/dist/docs/markdown/plugin-meetings.meeting.default.issharing.md +0 -11
  580. package/dist/docs/markdown/plugin-meetings.meeting.default.istranscriptionsupported.md +0 -23
  581. package/dist/docs/markdown/plugin-meetings.meeting.default.isvideoconnected.md +0 -21
  582. package/dist/docs/markdown/plugin-meetings.meeting.default.isvideomuted.md +0 -21
  583. package/dist/docs/markdown/plugin-meetings.meeting.default.isvideoself.md +0 -21
  584. package/dist/docs/markdown/plugin-meetings.meeting.default.join.md +0 -28
  585. package/dist/docs/markdown/plugin-meetings.meeting.default.joinedwith.md +0 -11
  586. package/dist/docs/markdown/plugin-meetings.meeting.default.joinwithmedia.md +0 -36
  587. package/dist/docs/markdown/plugin-meetings.meeting.default.keepalivetimerid.md +0 -11
  588. package/dist/docs/markdown/plugin-meetings.meeting.default.lastvideolayoutinfo.md +0 -11
  589. package/dist/docs/markdown/plugin-meetings.meeting.default.leave.md +0 -31
  590. package/dist/docs/markdown/plugin-meetings.meeting.default.lockmeeting.md +0 -21
  591. package/dist/docs/markdown/plugin-meetings.meeting.default.locusid.md +0 -11
  592. package/dist/docs/markdown/plugin-meetings.meeting.default.locusinfo.md +0 -11
  593. package/dist/docs/markdown/plugin-meetings.meeting.default.locusurl.md +0 -11
  594. package/dist/docs/markdown/plugin-meetings.meeting.default.md +0 -227
  595. package/dist/docs/markdown/plugin-meetings.meeting.default.mediaconnections.md +0 -11
  596. package/dist/docs/markdown/plugin-meetings.meeting.default.mediaid.md +0 -11
  597. package/dist/docs/markdown/plugin-meetings.meeting.default.medianegotiatedevent.md +0 -13
  598. package/dist/docs/markdown/plugin-meetings.meeting.default.mediaproperties.md +0 -11
  599. package/dist/docs/markdown/plugin-meetings.meeting.default.mediarequestmanagers.md +0 -16
  600. package/dist/docs/markdown/plugin-meetings.meeting.default.meetingfinitestatemachine.md +0 -11
  601. package/dist/docs/markdown/plugin-meetings.meeting.default.meetinginfo.md +0 -11
  602. package/dist/docs/markdown/plugin-meetings.meeting.default.meetinginfofailurereason.md +0 -11
  603. package/dist/docs/markdown/plugin-meetings.meeting.default.meetingjoinurl.md +0 -11
  604. package/dist/docs/markdown/plugin-meetings.meeting.default.meetingnumber.md +0 -11
  605. package/dist/docs/markdown/plugin-meetings.meeting.default.meetingrequest.md +0 -11
  606. package/dist/docs/markdown/plugin-meetings.meeting.default.meetingstate.md +0 -11
  607. package/dist/docs/markdown/plugin-meetings.meeting.default.members.md +0 -11
  608. package/dist/docs/markdown/plugin-meetings.meeting.default.movefrom.md +0 -28
  609. package/dist/docs/markdown/plugin-meetings.meeting.default.moveto.md +0 -28
  610. package/dist/docs/markdown/plugin-meetings.meeting.default.mute.md +0 -29
  611. package/dist/docs/markdown/plugin-meetings.meeting.default.muteaudio.md +0 -21
  612. package/dist/docs/markdown/plugin-meetings.meeting.default.mutevideo.md +0 -21
  613. package/dist/docs/markdown/plugin-meetings.meeting.default.namespace.md +0 -11
  614. package/dist/docs/markdown/plugin-meetings.meeting.default.networkqualitymonitor.md +0 -11
  615. package/dist/docs/markdown/plugin-meetings.meeting.default.networkstatus.md +0 -11
  616. package/dist/docs/markdown/plugin-meetings.meeting.default.options.md +0 -11
  617. package/dist/docs/markdown/plugin-meetings.meeting.default.orgid.md +0 -11
  618. package/dist/docs/markdown/plugin-meetings.meeting.default.owner.md +0 -11
  619. package/dist/docs/markdown/plugin-meetings.meeting.default.parsemeetinginfo.md +0 -34
  620. package/dist/docs/markdown/plugin-meetings.meeting.default.partner.md +0 -11
  621. package/dist/docs/markdown/plugin-meetings.meeting.default.passwordstatus.md +0 -11
  622. package/dist/docs/markdown/plugin-meetings.meeting.default.pauserecording.md +0 -21
  623. package/dist/docs/markdown/plugin-meetings.meeting.default.permissiontoken.md +0 -11
  624. package/dist/docs/markdown/plugin-meetings.meeting.default.policy.md +0 -11
  625. package/dist/docs/markdown/plugin-meetings.meeting.default.processnextqueuedmediaupdate.md +0 -13
  626. package/dist/docs/markdown/plugin-meetings.meeting.default.publishtracks.md +0 -33
  627. package/dist/docs/markdown/plugin-meetings.meeting.default.queuedmediaupdates.md +0 -11
  628. package/dist/docs/markdown/plugin-meetings.meeting.default.receiveslotmanager.md +0 -11
  629. package/dist/docs/markdown/plugin-meetings.meeting.default.reconnect.md +0 -28
  630. package/dist/docs/markdown/plugin-meetings.meeting.default.reconnectionmanager.md +0 -11
  631. package/dist/docs/markdown/plugin-meetings.meeting.default.recording.md +0 -11
  632. package/dist/docs/markdown/plugin-meetings.meeting.default.recordingcontroller.md +0 -11
  633. package/dist/docs/markdown/plugin-meetings.meeting.default.refreshcaptcha.md +0 -21
  634. package/dist/docs/markdown/plugin-meetings.meeting.default.remotemediamanager.md +0 -11
  635. package/dist/docs/markdown/plugin-meetings.meeting.default.remove.md +0 -28
  636. package/dist/docs/markdown/plugin-meetings.meeting.default.requiredcaptcha.md +0 -11
  637. package/dist/docs/markdown/plugin-meetings.meeting.default.resource.md +0 -11
  638. package/dist/docs/markdown/plugin-meetings.meeting.default.resourceid.md +0 -11
  639. package/dist/docs/markdown/plugin-meetings.meeting.default.resourceurl.md +0 -11
  640. package/dist/docs/markdown/plugin-meetings.meeting.default.resumerecording.md +0 -21
  641. package/dist/docs/markdown/plugin-meetings.meeting.default.roap.md +0 -11
  642. package/dist/docs/markdown/plugin-meetings.meeting.default.roapseq.md +0 -11
  643. package/dist/docs/markdown/plugin-meetings.meeting.default.selfid.md +0 -11
  644. package/dist/docs/markdown/plugin-meetings.meeting.default.senddtmf.md +0 -28
  645. package/dist/docs/markdown/plugin-meetings.meeting.default.sendreaction.md +0 -29
  646. package/dist/docs/markdown/plugin-meetings.meeting.default.setdisallowunmute.md +0 -26
  647. package/dist/docs/markdown/plugin-meetings.meeting.default.setendcallinitiatejoinreq.md +0 -17
  648. package/dist/docs/markdown/plugin-meetings.meeting.default.setendjoinreqresp.md +0 -17
  649. package/dist/docs/markdown/plugin-meetings.meeting.default.setendlocalsdpgenremotesdprecvdelay.md +0 -17
  650. package/dist/docs/markdown/plugin-meetings.meeting.default.setendsendingmediadelay.md +0 -24
  651. package/dist/docs/markdown/plugin-meetings.meeting.default.setendsetupdelay.md +0 -24
  652. package/dist/docs/markdown/plugin-meetings.meeting.default.setlocalsharetrack.md +0 -28
  653. package/dist/docs/markdown/plugin-meetings.meeting.default.setlocaltracks.md +0 -28
  654. package/dist/docs/markdown/plugin-meetings.meeting.default.setlocalvideoquality.md +0 -26
  655. package/dist/docs/markdown/plugin-meetings.meeting.default.setmeetingquality.md +0 -31
  656. package/dist/docs/markdown/plugin-meetings.meeting.default.setmercurylistener.md +0 -21
  657. package/dist/docs/markdown/plugin-meetings.meeting.default.setmuteall.md +0 -28
  658. package/dist/docs/markdown/plugin-meetings.meeting.default.setmuteonentry.md +0 -26
  659. package/dist/docs/markdown/plugin-meetings.meeting.default.setremotequalitylevel.md +0 -26
  660. package/dist/docs/markdown/plugin-meetings.meeting.default.setsipuri.md +0 -26
  661. package/dist/docs/markdown/plugin-meetings.meeting.default.setstartcallinitiatejoinreq.md +0 -17
  662. package/dist/docs/markdown/plugin-meetings.meeting.default.setstartjoinreqresp.md +0 -17
  663. package/dist/docs/markdown/plugin-meetings.meeting.default.setstartlocalsdpgenremotesdprecvdelay.md +0 -17
  664. package/dist/docs/markdown/plugin-meetings.meeting.default.setstartsendingmediadelay.md +0 -24
  665. package/dist/docs/markdown/plugin-meetings.meeting.default.setstartsetupdelay.md +0 -24
  666. package/dist/docs/markdown/plugin-meetings.meeting.default.setupbreakoutslistener.md +0 -19
  667. package/dist/docs/markdown/plugin-meetings.meeting.default.setupmediaconnectionlisteners.md +0 -11
  668. package/dist/docs/markdown/plugin-meetings.meeting.default.setupstatsanalyzereventhandlers.md +0 -13
  669. package/dist/docs/markdown/plugin-meetings.meeting.default.sharescreen.md +0 -32
  670. package/dist/docs/markdown/plugin-meetings.meeting.default.sharestatus.md +0 -11
  671. package/dist/docs/markdown/plugin-meetings.meeting.default.sipuri.md +0 -11
  672. package/dist/docs/markdown/plugin-meetings.meeting.default.startcallinitiatejoinreq.md +0 -11
  673. package/dist/docs/markdown/plugin-meetings.meeting.default.startjoinreqresp.md +0 -11
  674. package/dist/docs/markdown/plugin-meetings.meeting.default.startkeepalive.md +0 -13
  675. package/dist/docs/markdown/plugin-meetings.meeting.default.startlocalsdpgenremotesdprecvdelay.md +0 -11
  676. package/dist/docs/markdown/plugin-meetings.meeting.default.startrecording.md +0 -21
  677. package/dist/docs/markdown/plugin-meetings.meeting.default.startwhiteboardshare.md +0 -29
  678. package/dist/docs/markdown/plugin-meetings.meeting.default.state.md +0 -11
  679. package/dist/docs/markdown/plugin-meetings.meeting.default.statsanalyzer.md +0 -11
  680. package/dist/docs/markdown/plugin-meetings.meeting.default.stopkeepalive.md +0 -13
  681. package/dist/docs/markdown/plugin-meetings.meeting.default.stopreceivingtranscription.md +0 -19
  682. package/dist/docs/markdown/plugin-meetings.meeting.default.stoprecording.md +0 -21
  683. package/dist/docs/markdown/plugin-meetings.meeting.default.stopshare.md +0 -28
  684. package/dist/docs/markdown/plugin-meetings.meeting.default.stopwhiteboardshare.md +0 -28
  685. package/dist/docs/markdown/plugin-meetings.meeting.default.togglereactions.md +0 -28
  686. package/dist/docs/markdown/plugin-meetings.meeting.default.transcription.md +0 -11
  687. package/dist/docs/markdown/plugin-meetings.meeting.default.transfer.md +0 -29
  688. package/dist/docs/markdown/plugin-meetings.meeting.default.type.md +0 -11
  689. package/dist/docs/markdown/plugin-meetings.meeting.default.unlockmeeting.md +0 -21
  690. package/dist/docs/markdown/plugin-meetings.meeting.default.unmuteaudio.md +0 -21
  691. package/dist/docs/markdown/plugin-meetings.meeting.default.unmutevideo.md +0 -21
  692. package/dist/docs/markdown/plugin-meetings.meeting.default.unpublishtracks.md +0 -26
  693. package/dist/docs/markdown/plugin-meetings.meeting.default.unsetlocalsharetrack.md +0 -21
  694. package/dist/docs/markdown/plugin-meetings.meeting.default.unsetlocalvideotrack.md +0 -21
  695. package/dist/docs/markdown/plugin-meetings.meeting.default.unsetpeerconnections.md +0 -21
  696. package/dist/docs/markdown/plugin-meetings.meeting.default.unsetremotestream.md +0 -26
  697. package/dist/docs/markdown/plugin-meetings.meeting.default.unsetremotetracks.md +0 -19
  698. package/dist/docs/markdown/plugin-meetings.meeting.default.updateaudio.md +0 -34
  699. package/dist/docs/markdown/plugin-meetings.meeting.default.updatellmconnection.md +0 -19
  700. package/dist/docs/markdown/plugin-meetings.meeting.default.updatemedia.md +0 -32
  701. package/dist/docs/markdown/plugin-meetings.meeting.default.updatemediaconnections.md +0 -11
  702. package/dist/docs/markdown/plugin-meetings.meeting.default.updateshare.md +0 -35
  703. package/dist/docs/markdown/plugin-meetings.meeting.default.updatevideo.md +0 -34
  704. package/dist/docs/markdown/plugin-meetings.meeting.default.uploadlogs.md +0 -28
  705. package/dist/docs/markdown/plugin-meetings.meeting.default.usephoneaudio.md +0 -28
  706. package/dist/docs/markdown/plugin-meetings.meeting.default.userid.md +0 -11
  707. package/dist/docs/markdown/plugin-meetings.meeting.default.verifypassword.md +0 -35
  708. package/dist/docs/markdown/plugin-meetings.meeting.default.video.md +0 -11
  709. package/dist/docs/markdown/plugin-meetings.meeting.default.wirelessshare.md +0 -11
  710. package/dist/docs/markdown/plugin-meetings.meeting.md +0 -18
  711. package/dist/docs/markdown/plugin-meetings.meeting.media_update_type.md +0 -17
  712. package/dist/docs/markdown/plugin-meetings.meetings._constructor_.md +0 -22
  713. package/dist/docs/markdown/plugin-meetings.meetings.create.md +0 -30
  714. package/dist/docs/markdown/plugin-meetings.meetings.fetchuserpreferredwebexsite.md +0 -19
  715. package/dist/docs/markdown/plugin-meetings.meetings.geohintinfo.md +0 -11
  716. package/dist/docs/markdown/plugin-meetings.meetings.getallmeetings.md +0 -31
  717. package/dist/docs/markdown/plugin-meetings.meetings.getgeohint.md +0 -19
  718. package/dist/docs/markdown/plugin-meetings.meetings.getlogger.md +0 -19
  719. package/dist/docs/markdown/plugin-meetings.meetings.getmeetingbytype.md +0 -29
  720. package/dist/docs/markdown/plugin-meetings.meetings.getpersonalmeetingroom.md +0 -21
  721. package/dist/docs/markdown/plugin-meetings.meetings.getreachability.md +0 -21
  722. package/dist/docs/markdown/plugin-meetings.meetings.getscheduledmeetings.md +0 -19
  723. package/dist/docs/markdown/plugin-meetings.meetings.loggerrequest.md +0 -11
  724. package/dist/docs/markdown/plugin-meetings.meetings.md +0 -57
  725. package/dist/docs/markdown/plugin-meetings.meetings.media.md +0 -11
  726. package/dist/docs/markdown/plugin-meetings.meetings.meetingcollection.md +0 -11
  727. package/dist/docs/markdown/plugin-meetings.meetings.meetinginfo.md +0 -11
  728. package/dist/docs/markdown/plugin-meetings.meetings.namespace.md +0 -11
  729. package/dist/docs/markdown/plugin-meetings.meetings.personalmeetingroom.md +0 -11
  730. package/dist/docs/markdown/plugin-meetings.meetings.preferredwebexsite.md +0 -11
  731. package/dist/docs/markdown/plugin-meetings.meetings.reachability.md +0 -11
  732. package/dist/docs/markdown/plugin-meetings.meetings.register.md +0 -21
  733. package/dist/docs/markdown/plugin-meetings.meetings.registered.md +0 -11
  734. package/dist/docs/markdown/plugin-meetings.meetings.request.md +0 -11
  735. package/dist/docs/markdown/plugin-meetings.meetings.setreachability.md +0 -21
  736. package/dist/docs/markdown/plugin-meetings.meetings.startreachability.md +0 -21
  737. package/dist/docs/markdown/plugin-meetings.meetings.syncmeetings.md +0 -21
  738. package/dist/docs/markdown/plugin-meetings.meetings.unregister.md +0 -21
  739. package/dist/docs/markdown/plugin-meetings.meetings.uploadlogs.md +0 -34
  740. package/dist/docs/markdown/plugin-meetings.reactions.md +0 -13
  741. package/dist/docs/markdown/plugin-meetings.reactions.reactions.md +0 -11
  742. package/dist/docs/markdown/plugin-meetings.reactions.skintones.md +0 -11
  743. package/dist/docs/markdown/plugin-meetings.remotemedia.getmaxfs.md +0 -26
  744. package/dist/docs/markdown/plugin-meetings.remotemedia.md +0 -31
  745. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia._constructor_.md +0 -22
  746. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.csi.md +0 -13
  747. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.id.md +0 -11
  748. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.md +0 -40
  749. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.mediatype.md +0 -13
  750. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.memberid.md +0 -13
  751. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.setsizehint.md +0 -25
  752. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.sourcestate.md +0 -13
  753. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.stream.md +0 -13
  754. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemediaevents.md +0 -14
  755. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemediaid.md +0 -11
  756. package/dist/docs/markdown/plugin-meetings.remotemedia.remotevideoresolution.md +0 -11
  757. package/dist/docs/markdown/plugin-meetings.remotemediagroup.md +0 -12
  758. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup._constructor_.md +0 -24
  759. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.getremotemedia.md +0 -26
  760. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.includes.md +0 -27
  761. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.ispinned.md +0 -22
  762. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.md +0 -28
  763. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.pin.md +0 -25
  764. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.unpin.md +0 -24
  765. package/dist/docs/markdown/plugin-meetings.triggerproxy.md +0 -11
  766. package/dist/docs/metadata/index.api.json +0 -14144
  767. package/dist/docs/metadata/index.api.md +0 -2075
  768. package/dist/docs/metadata/index.d.ts +0 -5594
  769. package/dist/index.d.ts +0 -4
  770. package/dist/locus-info/controlsUtils.d.ts +0 -2
  771. package/dist/locus-info/embeddedAppsUtils.d.ts +0 -2
  772. package/dist/locus-info/fullState.d.ts +0 -2
  773. package/dist/locus-info/hostUtils.d.ts +0 -2
  774. package/dist/locus-info/index.d.ts +0 -269
  775. package/dist/locus-info/infoUtils.d.ts +0 -2
  776. package/dist/locus-info/mediaSharesUtils.d.ts +0 -2
  777. package/dist/locus-info/parser.d.ts +0 -212
  778. package/dist/locus-info/selfUtils.d.ts +0 -2
  779. package/dist/media/index.d.ts +0 -32
  780. package/dist/media/properties.d.ts +0 -108
  781. package/dist/media/util.d.ts +0 -2
  782. package/dist/mediaQualityMetrics/config.d.ts +0 -233
  783. package/dist/meeting/effectsState.d.ts +0 -42
  784. package/dist/meeting/effectsState.js +0 -260
  785. package/dist/meeting/effectsState.js.map +0 -1
  786. package/dist/meeting/in-meeting-actions.d.ts +0 -79
  787. package/dist/meeting/index.d.ts +0 -1621
  788. package/dist/meeting/muteState.d.ts +0 -116
  789. package/dist/meeting/request.d.ts +0 -255
  790. package/dist/meeting/state.d.ts +0 -9
  791. package/dist/meeting/util.d.ts +0 -2
  792. package/dist/meeting-info/collection.d.ts +0 -20
  793. package/dist/meeting-info/index.d.ts +0 -57
  794. package/dist/meeting-info/meeting-info-v2.d.ts +0 -93
  795. package/dist/meeting-info/request.d.ts +0 -22
  796. package/dist/meeting-info/util.d.ts +0 -2
  797. package/dist/meeting-info/utilv2.d.ts +0 -2
  798. package/dist/meetings/collection.d.ts +0 -23
  799. package/dist/meetings/index.d.ts +0 -298
  800. package/dist/meetings/request.d.ts +0 -27
  801. package/dist/meetings/util.d.ts +0 -18
  802. package/dist/member/index.d.ts +0 -145
  803. package/dist/member/util.d.ts +0 -2
  804. package/dist/members/collection.d.ts +0 -24
  805. package/dist/members/index.d.ts +0 -298
  806. package/dist/members/request.d.ts +0 -50
  807. package/dist/members/util.d.ts +0 -2
  808. package/dist/metrics/config.d.ts +0 -169
  809. package/dist/metrics/config.js +0 -291
  810. package/dist/metrics/config.js.map +0 -1
  811. package/dist/metrics/constants.d.ts +0 -57
  812. package/dist/metrics/index.d.ts +0 -152
  813. package/dist/networkQualityMonitor/index.d.ts +0 -70
  814. package/dist/peer-connection-manager/index.d.ts +0 -6
  815. package/dist/peer-connection-manager/index.js +0 -671
  816. package/dist/peer-connection-manager/index.js.map +0 -1
  817. package/dist/peer-connection-manager/util.d.ts +0 -6
  818. package/dist/peer-connection-manager/util.js +0 -110
  819. package/dist/peer-connection-manager/util.js.map +0 -1
  820. package/dist/personal-meeting-room/index.d.ts +0 -47
  821. package/dist/personal-meeting-room/request.d.ts +0 -14
  822. package/dist/personal-meeting-room/util.d.ts +0 -2
  823. package/dist/plugin-meetings.d.ts +0 -5399
  824. package/dist/reachability/index.d.ts +0 -139
  825. package/dist/reachability/request.d.ts +0 -35
  826. package/dist/reactions/reactions.d.ts +0 -4
  827. package/dist/reactions/reactions.type.d.ts +0 -32
  828. package/dist/reconnection-manager/index.d.ts +0 -112
  829. package/dist/recording-controller/enums.d.ts +0 -7
  830. package/dist/recording-controller/index.d.ts +0 -193
  831. package/dist/recording-controller/util.d.ts +0 -13
  832. package/dist/roap/collection.d.ts +0 -10
  833. package/dist/roap/collection.js +0 -63
  834. package/dist/roap/collection.js.map +0 -1
  835. package/dist/roap/handler.d.ts +0 -47
  836. package/dist/roap/handler.js +0 -279
  837. package/dist/roap/handler.js.map +0 -1
  838. package/dist/roap/index.d.ts +0 -116
  839. package/dist/roap/request.d.ts +0 -35
  840. package/dist/roap/state.d.ts +0 -9
  841. package/dist/roap/state.js +0 -127
  842. package/dist/roap/state.js.map +0 -1
  843. package/dist/roap/turnDiscovery.d.ts +0 -67
  844. package/dist/roap/util.d.ts +0 -2
  845. package/dist/roap/util.js +0 -76
  846. package/dist/roap/util.js.map +0 -1
  847. package/dist/statsAnalyzer/global.d.ts +0 -126
  848. package/dist/statsAnalyzer/index.d.ts +0 -190
  849. package/dist/statsAnalyzer/mqaUtil.d.ts +0 -22
  850. package/dist/transcription/index.d.ts +0 -64
  851. package/dist/types/meeting/effectsState.d.ts +0 -42
  852. package/dist/types/metrics/config.d.ts +0 -171
  853. package/dist/types/tsdoc-metadata.json +0 -11
  854. package/src/metrics/config.ts +0 -487
@@ -34,6 +34,7 @@ import CaptchaError from '@webex/plugin-meetings/src/common/errors/captcha-error
34
34
  import { forEach } from 'lodash';
35
35
  import PasswordError from '@webex/plugin-meetings/src/common/errors/password-error';
36
36
  import PermissionError from '@webex/plugin-meetings/src/common/errors/permission';
37
+ import {NoiseReductionEffect,VirtualBackgroundEffect} from '@webex/media-helpers';
37
38
 
38
39
  describe('plugin-meetings', () => {
39
40
  const logger = {
@@ -56,7 +57,7 @@ describe('plugin-meetings', () => {
56
57
  verboseEvents: true,
57
58
  enable: false,
58
59
  });
59
- TriggerProxy.trigger = sinon.stub().returns(true);
60
+ sinon.stub(TriggerProxy, 'trigger').returns(true);
60
61
  });
61
62
 
62
63
  let webex;
@@ -65,15 +66,20 @@ describe('plugin-meetings', () => {
65
66
  let url1;
66
67
  let test1;
67
68
  let test2;
69
+ let locusInfo;
68
70
 
69
71
  describe('meetings index', () => {
70
72
  beforeEach(() => {
71
73
  MeetingsUtil.checkH264Support = sinon.stub();
72
- uuid1 = uuid.v4();
74
+ uuid1 = uuid.v4();
73
75
  url1 = `https://example.com/${uuid.v4()}`;
74
76
  uri1 = `test-${uuid.v4()}@example.com`;
75
77
  test1 = `test-${uuid.v4()}`;
76
78
  test2 = `test2-${uuid.v4()}`;
79
+ locusInfo = {
80
+ parse: sinon.stub().returns(true),
81
+ updateMainSessionLocusCache: sinon.stub(),
82
+ };
77
83
  webex = new MockWebex({
78
84
  children: {
79
85
  device: Device,
@@ -156,6 +162,10 @@ describe('plugin-meetings', () => {
156
162
  webex.emit('ready');
157
163
  });
158
164
 
165
+ afterEach(() => {
166
+ sinon.restore();
167
+ });
168
+
159
169
  it('has a webex instance with a meetings property', () => {
160
170
  assert.exists(webex, 'webex was initialized with children');
161
171
  assert.exists(webex.meetings, 'meetings child was set up on the webex instance');
@@ -343,37 +353,113 @@ describe('plugin-meetings', () => {
343
353
  });
344
354
  });
345
355
 
356
+ describe('virtual background effect', () => {
357
+ beforeEach(() => {
358
+ webex.credentials = {
359
+ supertoken: {
360
+ access_token: "fake_token"
361
+ }
362
+ };
363
+ })
364
+
365
+ it('creates background effect', async () => {
366
+ const result = await webex.meetings.createVirtualBackgroundEffect();
367
+
368
+ assert.exists(result);
369
+ assert.instanceOf(result, VirtualBackgroundEffect);
370
+ assert.containsAllKeys(result, ['loadModel', 'isEnabled', 'isLoaded', 'options']);
371
+ assert.deepEqual(result.options, {
372
+ mode: 'BLUR',
373
+ blurStrength: 'STRONG',
374
+ generator: 'worker',
375
+ quality: 'LOW',
376
+ authToken: 'fake_token',
377
+ mirror: false
378
+ });
379
+ assert.exists(result.enable);
380
+ assert.exists(result.disable);
381
+ assert.exists(result.dispose);
382
+ });
383
+
384
+ it('creates background effect with custom options passed', async () => {
385
+ const effectOptions = {
386
+ generator: "local",
387
+ frameRate: 45,
388
+ mode: "IMAGE",
389
+ mirror: false,
390
+ quality: "HIGH",
391
+ blurStrength: "STRONG",
392
+ bgImageUrl: "https://test.webex.com/landscape.5a535788.jpg",
393
+ };
394
+
395
+ const result = await webex.meetings.createVirtualBackgroundEffect(effectOptions);
396
+
397
+ assert.exists(result);
398
+ assert.instanceOf(result, VirtualBackgroundEffect);
399
+ assert.containsAllKeys(result, ['loadModel', 'isEnabled', 'isLoaded', 'options']);
400
+ assert.deepEqual(result.options, {...effectOptions, authToken: "fake_token"});
401
+ assert.exists(result.enable);
402
+ assert.exists(result.disable);
403
+ assert.exists(result.dispose);
404
+ });
405
+ })
406
+
407
+ describe('noise reduction effect', () => {
408
+ beforeEach(() => {
409
+ webex.credentials = {
410
+ supertoken: {
411
+ access_token: "fake_token"
412
+ }
413
+ };
414
+ })
415
+
416
+ it('creates noise reduction effect', async () => {
417
+ const result = await webex.meetings.createNoiseReductionEffect({audioContext: {}});
418
+
419
+ assert.exists(result);
420
+ assert.instanceOf(result, NoiseReductionEffect);
421
+ assert.containsAllKeys(result, ['audioContext', 'isEnabled', 'isReady', 'options']);
422
+ assert.deepEqual(result.options, {
423
+ authToken: 'fake_token',
424
+ audioContext: {}
425
+ });
426
+ assert.exists(result.enable);
427
+ assert.exists(result.disable);
428
+ assert.exists(result.dispose);
429
+ });
430
+
431
+ it('creates noise reduction effect with custom options passed', async () => {
432
+ const effectOptions = {
433
+ audioContext: {},
434
+ mode: "WORKLET",
435
+ env: "prod"
436
+ };
437
+
438
+ const result = await webex.meetings.createNoiseReductionEffect(effectOptions);
439
+
440
+ assert.exists(result);
441
+ assert.instanceOf(result, NoiseReductionEffect);
442
+ assert.containsAllKeys(result, ['audioContext', 'isEnabled', 'isReady', 'options']);
443
+ assert.deepEqual(result.options, {...effectOptions, authToken: "fake_token"});
444
+ assert.exists(result.enable);
445
+ assert.exists(result.disable);
446
+ assert.exists(result.dispose);
447
+ });
448
+ })
449
+
346
450
  describe('gets', () => {
347
451
  describe('#getReachability', () => {
348
452
  it('should have #getReachability', () => {
349
453
  assert.exists(webex.meetings.getReachability);
350
454
  });
351
- describe('before #setReachability', () => {
352
- it('does not get a reachability instance', () => {
353
- const reachability = webex.meetings.getReachability();
455
+ it('gets the reachability data instance from webex.meetings', () => {
456
+ const reachability = webex.meetings.getReachability();
354
457
 
355
- assert.notExists(
356
- reachability,
357
- 'reachability is undefined because #setReachability has not been called'
358
- );
359
- });
360
- });
361
- describe('after #setReachability', () => {
362
- beforeEach(() => {
363
- webex.meetings.setReachability();
364
- const reachabilityMocker = webex.meetings.getReachability();
365
-
366
- sinon.stub(reachabilityMocker, 'gatherReachability').returns(true);
367
- });
368
- it('gets the reachability data instance from webex.meetings', () => {
369
- const reachability = webex.meetings.getReachability();
370
-
371
- assert.exists(
372
- reachability,
373
- 'reachability is defined because #setReachability has been called'
374
- );
375
- assert.instanceOf(reachability, Reachability, 'should be a reachability instance');
376
- });
458
+ assert.exists(
459
+ reachability,
460
+ 'reachability is defined'
461
+ );
462
+ assert.instanceOf(reachability, Reachability, 'should be a reachability instance');
377
463
  });
378
464
  });
379
465
  describe('#getPersonalMeetingRoom', () => {
@@ -448,21 +534,17 @@ describe('plugin-meetings', () => {
448
534
  );
449
535
  });
450
536
  describe('when meeting is returned', () => {
451
- let parse;
452
537
 
453
538
  beforeEach(() => {
454
- parse = sinon.stub().returns(true);
455
539
  webex.meetings.meetingCollection.getByKey = sinon.stub().returns({
456
- locusInfo: {
457
- parse,
458
- },
540
+ locusInfo,
459
541
  });
460
542
  });
461
543
  it('tests the sync meeting calls for existing meeting', async () => {
462
544
  await webex.meetings.syncMeetings();
463
545
  assert.calledOnce(webex.meetings.request.getActiveMeetings);
464
546
  assert.calledOnce(webex.meetings.meetingCollection.getByKey);
465
- assert.calledOnce(parse);
547
+ assert.calledOnce(locusInfo.parse);
466
548
  assert.calledWith(webex.meetings.meetingCollection.getByKey, 'locusUrl', url1);
467
549
  });
468
550
  });
@@ -475,6 +557,7 @@ describe('plugin-meetings', () => {
475
557
  webex.meetings.create = sinon.stub().returns(
476
558
  Promise.resolve({
477
559
  locusInfo: {
560
+ ...locusInfo,
478
561
  initialSetup,
479
562
  },
480
563
  })
@@ -507,12 +590,9 @@ describe('plugin-meetings', () => {
507
590
 
508
591
  beforeEach(() => {
509
592
  destroySpy = sinon.spy(webex.meetings, 'destroy');
510
- parse = sinon.stub().returns(true);
511
593
  initialSetup = sinon.stub().returns(true);
512
594
  webex.meetings.meetingCollection.getByKey = sinon.stub().returns({
513
- locusInfo: {
514
- parse,
515
- },
595
+ locusInfo,
516
596
  sendCallAnalyzerMetrics: sinon.stub(),
517
597
  });
518
598
  webex.meetings.meetingCollection.getAll = sinon.stub().returns({
@@ -581,12 +661,26 @@ describe('plugin-meetings', () => {
581
661
 
582
662
  it('calls createMeeting and returns its promise', async () => {
583
663
  const FAKE_USE_RANDOM_DELAY = true;
584
- const create = webex.meetings.create(test1, test2, FAKE_USE_RANDOM_DELAY);
664
+ const correlationId = 'my-correlationId';
665
+ const create = webex.meetings.create(test1, test2, FAKE_USE_RANDOM_DELAY, {}, correlationId);
585
666
 
586
667
  assert.exists(create.then);
587
668
  await create;
588
669
  assert.calledOnce(webex.meetings.createMeeting);
589
- assert.calledWith(webex.meetings.createMeeting, test1, test2, FAKE_USE_RANDOM_DELAY);
670
+ assert.calledWith(webex.meetings.createMeeting, test1, test2, FAKE_USE_RANDOM_DELAY, {}, correlationId);
671
+ });
672
+
673
+ it('calls createMeeting with extra info params and returns its promise', async () => {
674
+ const FAKE_USE_RANDOM_DELAY = false;
675
+ const correlationId = 'my-correlationId';
676
+
677
+ const FAKE_INFO_EXTRA_PARAMS = {mtid: 'm9fe0afd8c435e892afcce9ea25b97046', joinTXId: 'TSmrX61wNF'};
678
+ const create = webex.meetings.create(test1, test2, FAKE_USE_RANDOM_DELAY, FAKE_INFO_EXTRA_PARAMS, correlationId);
679
+
680
+ assert.exists(create.then);
681
+ await create;
682
+ assert.calledOnce(webex.meetings.createMeeting);
683
+ assert.calledWith(webex.meetings.createMeeting, test1, test2, FAKE_USE_RANDOM_DELAY, FAKE_INFO_EXTRA_PARAMS, correlationId);
590
684
  });
591
685
 
592
686
  it('creates a new meeting when a scheduled meeting exists in the conversation', async () => {
@@ -682,35 +776,39 @@ describe('plugin-meetings', () => {
682
776
  });
683
777
  describe('#handleLocusEvent', () => {
684
778
  describe('there was a meeting', () => {
685
- let parse;
686
779
 
687
780
  beforeEach(() => {
688
- parse = sinon.stub().returns(true);
689
781
  webex.meetings.meetingCollection.getByKey = sinon.stub().returns({
690
- locusInfo: {
691
- parse,
692
- },
782
+ locusInfo,
693
783
  });
694
784
  });
695
- it('should parse the meeting info', () => {
785
+ it('should parse the meeting info and update main session locus cache', () => {
786
+ sinon.stub(MeetingsUtil, 'isBreakoutLocusDTO').returns(false);
696
787
  webex.meetings.handleLocusEvent({
697
788
  locusUrl: url1,
698
789
  });
699
790
  assert.calledOnce(webex.meetings.meetingCollection.getByKey);
700
791
  assert.calledWith(webex.meetings.meetingCollection.getByKey, 'locusUrl', url1);
701
- assert.calledOnce(parse);
792
+ assert.calledOnce(locusInfo.parse);
793
+ assert.calledOnce(locusInfo.updateMainSessionLocusCache);
702
794
  assert.calledWith(
703
- parse,
795
+ locusInfo.parse,
704
796
  {
705
- locusInfo: {
706
- parse,
707
- },
797
+ locusInfo,
708
798
  },
709
799
  {
710
800
  locusUrl: url1,
711
801
  }
712
802
  );
713
803
  });
804
+
805
+ it('should not update main session locus cache', () => {
806
+ sinon.stub(MeetingsUtil, 'isBreakoutLocusDTO').returns(true);
807
+ webex.meetings.handleLocusEvent({
808
+ locusUrl: url1,
809
+ });
810
+ assert.notCalled(locusInfo.updateMainSessionLocusCache);
811
+ });
714
812
  });
715
813
  describe('there was not a meeting', () => {
716
814
  let initialSetup;
@@ -721,7 +819,9 @@ describe('plugin-meetings', () => {
721
819
  webex.meetings.meetingCollection.getByKey = sinon.stub().returns(undefined);
722
820
  webex.meetings.create = sinon.stub().returns(
723
821
  Promise.resolve({
822
+ id: 'meeting-id',
724
823
  locusInfo: {
824
+ ...locusInfo,
725
825
  initialSetup,
726
826
  },
727
827
  })
@@ -801,6 +901,39 @@ describe('plugin-meetings', () => {
801
901
  },
802
902
  });
803
903
  });
904
+
905
+ it('sends client event correctly on finally', async () => {
906
+ webex.meetings.getMeetingByType = sinon.stub().returns(true);
907
+
908
+ await webex.meetings.handleLocusEvent({
909
+ locus: {
910
+ id: uuid1,
911
+ self: {
912
+ callBackInfo: {
913
+ callbackAddress: uri1,
914
+ },
915
+ },
916
+ info: {
917
+ webExMeetingId,
918
+ },
919
+ },
920
+ eventType: 'locus.difference',
921
+ locusUrl: url1,
922
+ });
923
+
924
+ await testUtils.flushPromises();
925
+
926
+ assert.calledWith(webex.internal.newMetrics.submitClientEvent, {
927
+ name: 'client.call.remote-started',
928
+ payload: {
929
+ trigger: 'mercury-event',
930
+ },
931
+ options: {
932
+ meetingId: 'meeting-id',
933
+ },
934
+ });
935
+ });
936
+
804
937
  it('should setup the meeting by a not difference event', async () => {
805
938
  await webex.meetings.handleLocusEvent({
806
939
  locus: {
@@ -901,6 +1034,7 @@ describe('plugin-meetings', () => {
901
1034
  });
902
1035
  describe('successful MeetingInfo.#fetchMeetingInfo', () => {
903
1036
  let clock, setTimeoutSpy, fakeMeetingStartTimeString, FAKE_TIME_TO_START;
1037
+ const FAKE_INFO_EXTRA_PARAMS = {mtid: 'm9fe0afd8c435e892afcce9ea25b97046', joinTXId: 'TSmrX61wNF'};
904
1038
 
905
1039
  beforeEach(() => {
906
1040
  clock = sinon.useFakeTimers();
@@ -930,13 +1064,14 @@ describe('plugin-meetings', () => {
930
1064
  meeting,
931
1065
  destination,
932
1066
  type,
1067
+ extraParams = {},
933
1068
  expectedMeetingData = {}
934
1069
  ) => {
935
1070
  assert.calledOnce(webex.meetings.meetingInfo.fetchMeetingInfo);
936
1071
  assert.calledOnce(MeetingsUtil.getMeetingAddedType);
937
1072
  assert.notCalled(setTimeoutSpy);
938
- assert.calledThrice(TriggerProxy.trigger);
939
- assert.calledWith(webex.meetings.meetingInfo.fetchMeetingInfo, destination, type);
1073
+ assert.callCount(TriggerProxy.trigger, 5);
1074
+ assert.calledWith(webex.meetings.meetingInfo.fetchMeetingInfo, destination, type, null, null, undefined, undefined, extraParams, {meetingId: meeting.id});
940
1075
  assert.calledWith(MeetingsUtil.getMeetingAddedType, 'test type');
941
1076
 
942
1077
  if (expectedMeetingData.permissionToken) {
@@ -945,6 +1080,9 @@ describe('plugin-meetings', () => {
945
1080
  if (expectedMeetingData.meetingJoinUrl) {
946
1081
  assert.equal(meeting.meetingJoinUrl, expectedMeetingData.meetingJoinUrl);
947
1082
  }
1083
+ if(expectedMeetingData.correlationId) {
1084
+ assert.equal(meeting.correlationId, expectedMeetingData.correlationId);
1085
+ }
948
1086
  assert.equal(meeting.destination, destination);
949
1087
  assert.equal(meeting.destinationType, type);
950
1088
  assert.calledWith(
@@ -974,108 +1112,119 @@ describe('plugin-meetings', () => {
974
1112
  const expectedMeetingData = {
975
1113
  permissionToken: 'PT',
976
1114
  meetingJoinUrl: 'meetingJoinUrl',
1115
+ correlationId: meeting.id,
977
1116
  };
978
1117
 
979
- checkCreateWithoutDelay(meeting, 'test destination', 'test type', expectedMeetingData);
1118
+ checkCreateWithoutDelay(meeting, 'test destination', 'test type', {}, expectedMeetingData);
980
1119
  });
981
1120
 
982
- it('creates the meeting from a successful meeting info fetch meeting resolve testing', async () => {
983
- const meeting = await webex.meetings.createMeeting('test destination', 'test type');
984
- const expectedMeetingData = {
985
- permissionToken: 'PT',
986
- meetingJoinUrl: 'meetingJoinUrl',
987
- };
1121
+ [undefined, FAKE_INFO_EXTRA_PARAMS].forEach((infoExtraParams) => {
1122
+ const infoExtraParamsProvided = infoExtraParams !== undefined;
988
1123
 
989
- assert.instanceOf(
990
- meeting,
991
- Meeting,
992
- 'createMeeting should eventually resolve to a Meeting Object'
993
- );
994
- checkCreateWithoutDelay(meeting, 'test destination', 'test type', expectedMeetingData);
995
- });
1124
+ it(`creates the meeting from a successful meeting info fetch meeting resolve testing${infoExtraParamsProvided ? ' with infoExtraParams' : ''}`, async () => {
1125
+ const meeting = await webex.meetings.createMeeting('test destination', 'test type', false, infoExtraParams);
1126
+ const expectedMeetingData = {
1127
+ permissionToken: 'PT',
1128
+ meetingJoinUrl: 'meetingJoinUrl',
1129
+ };
996
1130
 
997
- it('creates the meeting from a successful meeting info fetch with random delay', async () => {
998
- const FAKE_LOCUS_MEETING = {
999
- conversationUrl: 'locusConvURL',
1000
- url: 'locusUrl',
1001
- info: {
1002
- webExMeetingId: 'locusMeetingId',
1003
- sipUri: 'locusSipUri',
1004
- owner: 'locusOwner',
1005
- },
1006
- meeting: {
1007
- startTime: fakeMeetingStartTimeString,
1008
- },
1009
- fullState: {
1010
- active: false,
1011
- },
1012
- };
1131
+ assert.instanceOf(
1132
+ meeting,
1133
+ Meeting,
1134
+ 'createMeeting should eventually resolve to a Meeting Object'
1135
+ );
1136
+ checkCreateWithoutDelay(meeting, 'test destination', 'test type', infoExtraParamsProvided ? infoExtraParams : {}, expectedMeetingData);
1137
+ });
1013
1138
 
1014
- const meeting = await webex.meetings.createMeeting(
1015
- FAKE_LOCUS_MEETING,
1016
- 'test type',
1017
- true
1018
- );
1139
+ it(`creates the meeting from a successful meeting info fetch with random delay${infoExtraParamsProvided ? ' with infoExtraParams' : ''}`, async () => {
1140
+ const FAKE_LOCUS_MEETING = {
1141
+ conversationUrl: 'locusConvURL',
1142
+ url: 'locusUrl',
1143
+ info: {
1144
+ webExMeetingId: 'locusMeetingId',
1145
+ sipUri: 'locusSipUri',
1146
+ owner: 'locusOwner',
1147
+ },
1148
+ meeting: {
1149
+ startTime: fakeMeetingStartTimeString,
1150
+ },
1151
+ fullState: {
1152
+ active: false,
1153
+ },
1154
+ };
1019
1155
 
1020
- assert.instanceOf(
1021
- meeting,
1022
- Meeting,
1023
- 'createMeeting should eventually resolve to a Meeting Object'
1024
- );
1025
- assert.notCalled(webex.meetings.meetingInfo.fetchMeetingInfo);
1026
- assert.calledOnce(setTimeoutSpy);
1027
-
1028
- // Parse meeting info with locus object
1029
- assert.equal(meeting.conversationUrl, 'locusConvURL');
1030
- assert.equal(meeting.locusUrl, 'locusUrl');
1031
- assert.equal(meeting.sipUri, 'locusSipUri');
1032
- assert.equal(meeting.meetingNumber, 'locusMeetingId');
1033
- assert.isUndefined(meeting.meetingJoinUrl);
1034
- assert.equal(meeting.owner, 'locusOwner');
1035
- assert.isUndefined(meeting.permissionToken);
1036
-
1037
- // Add meeting and send trigger
1038
- assert.calledWith(MeetingsUtil.getMeetingAddedType, 'test type');
1039
- assert.calledTwice(TriggerProxy.trigger);
1040
- assert.calledWith(
1041
- TriggerProxy.trigger,
1042
- sinon.match.instanceOf(Meetings),
1043
- {
1044
- file: 'meetings',
1045
- function: 'createMeeting',
1046
- },
1047
- 'meeting:added',
1048
- {
1049
- meeting: sinon.match.instanceOf(Meeting),
1050
- type: 'test meeting added type',
1051
- }
1052
- );
1156
+ const meeting = await webex.meetings.createMeeting(
1157
+ FAKE_LOCUS_MEETING,
1158
+ 'test type',
1159
+ true,
1160
+ infoExtraParams
1161
+ );
1053
1162
 
1054
- // When timer expires
1055
- clock.tick(FAKE_TIME_TO_START);
1056
- assert.calledWith(
1057
- webex.meetings.meetingInfo.fetchMeetingInfo,
1058
- FAKE_LOCUS_MEETING,
1059
- 'test type'
1060
- );
1163
+ assert.instanceOf(
1164
+ meeting,
1165
+ Meeting,
1166
+ 'createMeeting should eventually resolve to a Meeting Object'
1167
+ );
1168
+ assert.notCalled(webex.meetings.meetingInfo.fetchMeetingInfo);
1169
+ assert.calledOnce(setTimeoutSpy);
1170
+
1171
+ // Parse meeting info with locus object
1172
+ assert.equal(meeting.conversationUrl, 'locusConvURL');
1173
+ assert.equal(meeting.locusUrl, 'locusUrl');
1174
+ assert.equal(meeting.sipUri, 'locusSipUri');
1175
+ assert.equal(meeting.meetingNumber, 'locusMeetingId');
1176
+ assert.isUndefined(meeting.meetingJoinUrl);
1177
+ assert.equal(meeting.owner, 'locusOwner');
1178
+ assert.isUndefined(meeting.permissionToken);
1179
+
1180
+ // Add meeting and send trigger
1181
+ assert.calledWith(MeetingsUtil.getMeetingAddedType, 'test type');
1182
+ assert.calledTwice(TriggerProxy.trigger);
1183
+ assert.calledWith(
1184
+ TriggerProxy.trigger,
1185
+ sinon.match.instanceOf(Meetings),
1186
+ {
1187
+ file: 'meetings',
1188
+ function: 'createMeeting',
1189
+ },
1190
+ 'meeting:added',
1191
+ {
1192
+ meeting: sinon.match.instanceOf(Meeting),
1193
+ type: 'test meeting added type',
1194
+ }
1195
+ );
1061
1196
 
1062
- // Parse meeting info is called again with new meeting info
1063
- await testUtils.flushPromises();
1064
- assert.equal(meeting.conversationUrl, 'locusConvURL');
1065
- assert.equal(meeting.locusUrl, 'locusUrl');
1066
- assert.equal(meeting.sipUri, 'locusSipUri');
1067
- assert.equal(meeting.meetingNumber, 'locusMeetingId');
1068
- assert.equal(meeting.meetingJoinUrl, 'meetingJoinUrl');
1069
- assert.equal(meeting.owner, 'locusOwner');
1070
- assert.equal(meeting.permissionToken, 'PT');
1197
+ // When timer expires
1198
+ clock.tick(FAKE_TIME_TO_START);
1199
+ assert.calledWith(
1200
+ webex.meetings.meetingInfo.fetchMeetingInfo,
1201
+ FAKE_LOCUS_MEETING,
1202
+ 'test type',
1203
+ null,
1204
+ null,
1205
+ undefined,
1206
+ undefined,
1207
+ infoExtraParamsProvided ? infoExtraParams : {}
1208
+ );
1071
1209
 
1072
- assert.calledWith(
1073
- TriggerProxy.trigger,
1074
- meeting,
1075
- {file: 'meetings', function: 'fetchMeetingInfo'},
1076
- 'meeting:meetingInfoAvailable'
1077
- );
1078
- });
1210
+ // Parse meeting info is called again with new meeting info
1211
+ await testUtils.flushPromises();
1212
+ assert.equal(meeting.conversationUrl, 'locusConvURL');
1213
+ assert.equal(meeting.locusUrl, 'locusUrl');
1214
+ assert.equal(meeting.sipUri, 'locusSipUri');
1215
+ assert.equal(meeting.meetingNumber, 'locusMeetingId');
1216
+ assert.equal(meeting.meetingJoinUrl, 'meetingJoinUrl');
1217
+ assert.equal(meeting.owner, 'locusOwner');
1218
+ assert.equal(meeting.permissionToken, 'PT');
1219
+
1220
+ assert.calledWith(
1221
+ TriggerProxy.trigger,
1222
+ meeting,
1223
+ {file: 'meetings', function: 'fetchMeetingInfo'},
1224
+ 'meeting:meetingInfoAvailable'
1225
+ );
1226
+ });
1227
+ })
1079
1228
 
1080
1229
  it('creates the meeting from a successful meeting info fetch that has no random delay because it is active', async () => {
1081
1230
  const FAKE_LOCUS_MEETING = {
@@ -1174,6 +1323,16 @@ describe('plugin-meetings', () => {
1174
1323
  );
1175
1324
  checkCreateWithoutDelay(meeting, FAKE_LOCUS_MEETING, 'test type');
1176
1325
  });
1326
+
1327
+ it('creates meeting with the correlationId provided', async () => {
1328
+ const meeting = await webex.meetings.createMeeting('test destination', 'test type', false, {}, 'my-correlationId');
1329
+
1330
+ const expectedMeetingData = {
1331
+ correlationId: 'my-correlationId',
1332
+ };
1333
+
1334
+ checkCreateWithoutDelay(meeting, 'test destination', 'test type', {}, expectedMeetingData);
1335
+ })
1177
1336
  });
1178
1337
 
1179
1338
  describe('rejected MeetingInfo.#fetchMeetingInfo', () => {
@@ -1194,7 +1353,7 @@ describe('plugin-meetings', () => {
1194
1353
  );
1195
1354
  assert.calledOnce(webex.meetings.meetingInfo.fetchMeetingInfo);
1196
1355
  assert.calledOnce(MeetingsUtil.getMeetingAddedType);
1197
- assert.calledTwice(TriggerProxy.trigger);
1356
+ assert.calledThrice(TriggerProxy.trigger);
1198
1357
  assert.calledWith(
1199
1358
  webex.meetings.meetingInfo.fetchMeetingInfo,
1200
1359
  'test destination',
@@ -1351,6 +1510,9 @@ describe('plugin-meetings', () => {
1351
1510
  });
1352
1511
 
1353
1512
  describe('#fetchUserPreferredWebexSite', () => {
1513
+
1514
+ let loggerProxySpy;
1515
+
1354
1516
  it('should call request.getMeetingPreferences to get the preferred webex site ', async () => {
1355
1517
  assert.isDefined(webex.meetings.preferredWebexSite);
1356
1518
  await webex.meetings.fetchUserPreferredWebexSite();
@@ -1358,7 +1520,24 @@ describe('plugin-meetings', () => {
1358
1520
  assert.equal(webex.meetings.preferredWebexSite, 'go.webex.com');
1359
1521
  });
1360
1522
 
1523
+ const setup = ({user} = {}) => {
1524
+ loggerProxySpy = sinon.spy(LoggerProxy.logger, 'error');
1525
+
1526
+ Object.assign(webex.internal, {
1527
+ services: {
1528
+ getMeetingPreferences: sinon.stub().returns(Promise.resolve({})),
1529
+ },
1530
+ user: {
1531
+ get: sinon.stub().returns(
1532
+ Promise.resolve(user)
1533
+ ),
1534
+ },
1535
+ });
1536
+ }
1537
+
1361
1538
  it('should not fail if UserPreferred info is not fetched ', async () => {
1539
+ setup();
1540
+
1362
1541
  Object.assign(webex.internal, {
1363
1542
  services: {
1364
1543
  getMeetingPreferences: sinon.stub().returns(Promise.resolve({})),
@@ -1368,7 +1547,62 @@ describe('plugin-meetings', () => {
1368
1547
  await webex.meetings.fetchUserPreferredWebexSite().then(() => {
1369
1548
  assert.equal(webex.meetings.preferredWebexSite, '');
1370
1549
  });
1550
+ assert.calledOnceWithExactly(
1551
+ loggerProxySpy,
1552
+ 'Failed to fetch preferred site from user - no site will be set'
1553
+ );
1371
1554
  });
1555
+
1556
+ it('should fall back to fetching the site from the user', async () => {
1557
+ setup({
1558
+ user: {
1559
+ userPreferences: {
1560
+ userPreferencesItems: {
1561
+ preferredWebExSite: 'site.webex.com',
1562
+ },
1563
+ },
1564
+ },
1565
+ });
1566
+
1567
+ await webex.meetings.fetchUserPreferredWebexSite();
1568
+
1569
+ assert.equal(webex.meetings.preferredWebexSite, 'site.webex.com');
1570
+ assert.notCalled(loggerProxySpy);
1571
+ });
1572
+
1573
+ forEach([
1574
+ {user: undefined},
1575
+ {user: {userPreferences: {}}},
1576
+ {user: {userPreferences: {userPreferencesItems: {}}}},
1577
+ {user: {userPreferences: {userPreferencesItems: {preferredWebExSite: undefined}}}},
1578
+ ], ({user}) => {
1579
+ it(`should handle invalid user data ${user}`, async () => {
1580
+ setup({user});
1581
+
1582
+ await webex.meetings.fetchUserPreferredWebexSite();
1583
+
1584
+ assert.equal(webex.meetings.preferredWebexSite, '');
1585
+ assert.calledOnceWithExactly(
1586
+ loggerProxySpy,
1587
+ 'Failed to fetch preferred site from user - no site will be set'
1588
+ );
1589
+ });
1590
+ });
1591
+
1592
+ it('should handle a get user failure', async () => {
1593
+ setup();
1594
+
1595
+ webex.internal.user.get.rejects(new Error());
1596
+
1597
+ await webex.meetings.fetchUserPreferredWebexSite();
1598
+
1599
+ assert.equal(webex.meetings.preferredWebexSite, '');
1600
+ assert.calledOnceWithExactly(
1601
+ loggerProxySpy,
1602
+ 'Failed to fetch preferred site from user - no site will be set'
1603
+ );
1604
+ });
1605
+
1372
1606
  });
1373
1607
  });
1374
1608
 
@@ -1543,7 +1777,41 @@ describe('plugin-meetings', () => {
1543
1777
  assert.equal(result, false);
1544
1778
  assert.calledWith(
1545
1779
  LoggerProxy.logger.log,
1546
- 'Meetings:index#isNeedHandleMainLocus --> self moved main locus with self removed status, not need to handle'
1780
+ 'Meetings:index#isNeedHandleMainLocus --> self moved main locus with self removed status or with device resource moved, not need to handle'
1781
+ );
1782
+ });
1783
+
1784
+ it('check self is moved and device resource removed, return false', () => {
1785
+ webex.meetings.meetingCollection.getActiveBreakoutLocus = sinon.stub().returns(null);
1786
+ newLocus.self.state = 'LEFT';
1787
+ newLocus.self.reason = 'MOVED';
1788
+ sinon.stub(MeetingsUtil, 'getThisDevice').returns({
1789
+ state: 'LEFT',
1790
+ reason: 'MOVED',
1791
+ });
1792
+ LoggerProxy.logger.log = sinon.stub();
1793
+ const result = webex.meetings.isNeedHandleMainLocus(meeting, newLocus);
1794
+ assert.equal(result, false);
1795
+ assert.calledWith(
1796
+ LoggerProxy.logger.log,
1797
+ 'Meetings:index#isNeedHandleMainLocus --> self moved main locus with self removed status or with device resource moved, not need to handle'
1798
+ );
1799
+ });
1800
+
1801
+ it('check self is joined but device resource removed, return false', () => {
1802
+ webex.meetings.meetingCollection.getActiveBreakoutLocus = sinon.stub().returns(null);
1803
+ sinon.stub(MeetingsUtil, 'joinedOnThisDevice').returns(false);
1804
+ newLocus.self.state = 'JOINED';
1805
+ sinon.stub(MeetingsUtil, 'getThisDevice').returns({
1806
+ state: 'LEFT',
1807
+ reason: 'MOVED',
1808
+ });
1809
+ LoggerProxy.logger.log = sinon.stub();
1810
+ const result = webex.meetings.isNeedHandleMainLocus(meeting, newLocus);
1811
+ assert.equal(result, false);
1812
+ assert.calledWith(
1813
+ LoggerProxy.logger.log,
1814
+ 'Meetings:index#isNeedHandleMainLocus --> self device left&moved in main locus with self joined status, not need to handle'
1547
1815
  );
1548
1816
  });
1549
1817
  });
@@ -1606,5 +1874,223 @@ describe('plugin-meetings', () => {
1606
1874
  assert.equal(result, false);
1607
1875
  });
1608
1876
  });
1877
+
1878
+ describe('#getCorrespondingMeetingByLocus', () => {
1879
+ let locus;
1880
+ let mockReturnMeeting = {meeting: 'meeting1'};
1881
+ const mockGetByKey = (keyWillReturnMeeting) => {
1882
+ webex.meetings.meetingCollection.getByKey = sinon.stub().callsFake((key) => {
1883
+ if (key === keyWillReturnMeeting) {
1884
+ return mockReturnMeeting;
1885
+ }
1886
+ return null;
1887
+ });
1888
+ };
1889
+
1890
+ beforeEach(() => {
1891
+ locus = {
1892
+ controls: {},
1893
+ self: {
1894
+ callbackInfo: {
1895
+ callbackAddress: 'address1',
1896
+ }
1897
+ },
1898
+ info: {
1899
+ webExMeetingId: '123456',
1900
+ isUnifiedSpaceMeeting: false,
1901
+ },
1902
+ conversationUrl: 'conversationUrl1'
1903
+ };
1904
+
1905
+ sinon.stub(MeetingsUtil, 'checkForCorrelationId').returns('correlationId1');
1906
+ });
1907
+ afterEach(() => {
1908
+ sinon.restore();
1909
+ });
1910
+ it('check the calls when no meeting found in meetingCollection', () => {
1911
+ mockGetByKey();
1912
+ const result = webex.meetings.getCorrespondingMeetingByLocus({locus, locusUrl: url1});
1913
+ assert.isNull(result);
1914
+ assert.callCount(webex.meetings.meetingCollection.getByKey, 5);
1915
+ assert.calledWith(webex.meetings.meetingCollection.getByKey, 'locusUrl', url1);
1916
+ assert.calledWith(webex.meetings.meetingCollection.getByKey, 'correlationId', 'correlationId1');
1917
+ assert.calledWith(webex.meetings.meetingCollection.getByKey, 'sipUri', 'address1');
1918
+ assert.calledWith(webex.meetings.meetingCollection.getByKey, 'conversationUrl', 'conversationUrl1');
1919
+ assert.calledWith(webex.meetings.meetingCollection.getByKey, 'meetingNumber', '123456');
1920
+ });
1921
+
1922
+ it('not try getByKey "conversationUrl" when isUnifiedSpaceMeeting is true', () => {
1923
+ mockGetByKey();
1924
+ locus.info.isUnifiedSpaceMeeting = true;
1925
+ const result = webex.meetings.getCorrespondingMeetingByLocus({locus, locusUrl: url1});
1926
+ assert.isNull(result);
1927
+ assert.callCount(webex.meetings.meetingCollection.getByKey, 4);
1928
+ })
1929
+
1930
+ it('check the calls when meeting found by key: locusUrl', () => {
1931
+ mockGetByKey('locusUrl');
1932
+ const result = webex.meetings.getCorrespondingMeetingByLocus({locus, locusUrl: url1});
1933
+ assert.deepEqual(result, mockReturnMeeting);
1934
+ assert.callCount(webex.meetings.meetingCollection.getByKey, 1);
1935
+ assert.calledWith(webex.meetings.meetingCollection.getByKey, 'locusUrl', url1);
1936
+ });
1937
+
1938
+ it('check the calls when meeting found by key: correlationId', () => {
1939
+ mockGetByKey('correlationId');
1940
+ const result = webex.meetings.getCorrespondingMeetingByLocus({locus, locusUrl: url1});
1941
+ assert.deepEqual(result, mockReturnMeeting);
1942
+ assert.callCount(webex.meetings.meetingCollection.getByKey, 2);
1943
+ assert.calledWith(webex.meetings.meetingCollection.getByKey, 'locusUrl', url1);
1944
+ assert.calledWith(webex.meetings.meetingCollection.getByKey, 'correlationId', 'correlationId1');
1945
+ });
1946
+
1947
+ it('check the calls when meeting found by key: sipUri', () => {
1948
+ mockGetByKey('sipUri');
1949
+ const result = webex.meetings.getCorrespondingMeetingByLocus({locus, locusUrl: url1});
1950
+ assert.deepEqual(result, mockReturnMeeting);
1951
+ assert.callCount(webex.meetings.meetingCollection.getByKey, 3);
1952
+ assert.calledWith(webex.meetings.meetingCollection.getByKey, 'locusUrl', url1);
1953
+ assert.calledWith(webex.meetings.meetingCollection.getByKey, 'correlationId', 'correlationId1');
1954
+ assert.calledWith(webex.meetings.meetingCollection.getByKey, 'sipUri', 'address1');
1955
+ });
1956
+
1957
+ it('check the calls when meeting found by key: conversationUrl', () => {
1958
+ mockGetByKey('conversationUrl');
1959
+ const result = webex.meetings.getCorrespondingMeetingByLocus({locus, locusUrl: url1});
1960
+ assert.deepEqual(result, mockReturnMeeting);
1961
+ assert.callCount(webex.meetings.meetingCollection.getByKey, 4);
1962
+ assert.calledWith(webex.meetings.meetingCollection.getByKey, 'locusUrl', url1);
1963
+ assert.calledWith(webex.meetings.meetingCollection.getByKey, 'correlationId', 'correlationId1');
1964
+ assert.calledWith(webex.meetings.meetingCollection.getByKey, 'sipUri', 'address1');
1965
+ assert.calledWith(webex.meetings.meetingCollection.getByKey, 'conversationUrl', 'conversationUrl1');
1966
+ });
1967
+
1968
+ it('check the calls when meeting found by key: meetingNumber', () => {
1969
+ mockGetByKey('meetingNumber');
1970
+ const result = webex.meetings.getCorrespondingMeetingByLocus({locus, locusUrl: url1});
1971
+ assert.deepEqual(result, mockReturnMeeting);
1972
+ assert.callCount(webex.meetings.meetingCollection.getByKey, 5);
1973
+ assert.calledWith(webex.meetings.meetingCollection.getByKey, 'locusUrl', url1);
1974
+ assert.calledWith(webex.meetings.meetingCollection.getByKey, 'correlationId', 'correlationId1');
1975
+ assert.calledWith(webex.meetings.meetingCollection.getByKey, 'sipUri', 'address1');
1976
+ assert.calledWith(webex.meetings.meetingCollection.getByKey, 'conversationUrl', 'conversationUrl1');
1977
+ assert.calledWith(webex.meetings.meetingCollection.getByKey, 'meetingNumber', '123456');
1978
+ });
1979
+ });
1980
+
1981
+ describe('#sortLocusArrayToUpdate', () => {
1982
+ let lociArray;
1983
+ let mainLocus;
1984
+ let breakoutLocus;
1985
+ beforeEach(() => {
1986
+ mainLocus = {
1987
+ url: 'mainUrl1',
1988
+ controls: {
1989
+ breakout: {
1990
+ sessionType: 'MAIN',
1991
+ url: 'breakoutUnifiedUrl1'
1992
+ }
1993
+ }
1994
+ };
1995
+ breakoutLocus = {
1996
+ url: 'breakoutUrl1',
1997
+ controls: {
1998
+ breakout: {
1999
+ sessionType: 'BREAKOUT',
2000
+ url: 'breakoutUnifiedUrl1'
2001
+ }
2002
+ }
2003
+ };
2004
+ lociArray = [mainLocus, breakoutLocus];
2005
+
2006
+ sinon.stub(MeetingsUtil, 'isValidBreakoutLocus').callsFake((locus) => {
2007
+ return locus.url === 'breakoutUrl1';
2008
+ });
2009
+ });
2010
+ afterEach(() => {
2011
+ sinon.restore();
2012
+ });
2013
+
2014
+ it('if both main and breakout locus is in array for non-exist meeting, return main locus to create first', () => {
2015
+ webex.meetings.meetingCollection.getByKey = sinon.stub().returns(undefined);
2016
+ const result = webex.meetings.sortLocusArrayToUpdate(lociArray);
2017
+ assert.deepEqual(result, [mainLocus]);
2018
+ assert.deepEqual(webex.meetings.breakoutLocusForHandleLater, [breakoutLocus]);
2019
+ });
2020
+
2021
+ it('if both main and breakout locus is in array for an exist meeting, return all locus', () => {
2022
+ webex.meetings.meetingCollection.getByKey = sinon.stub().returns({});
2023
+ const result = webex.meetings.sortLocusArrayToUpdate(lociArray);
2024
+ assert.deepEqual(result, [mainLocus, breakoutLocus]);
2025
+ assert.deepEqual(webex.meetings.breakoutLocusForHandleLater, []);
2026
+ });
2027
+
2028
+ it('if the breakout locus has no associated main locus, return all', () => {
2029
+ webex.meetings.meetingCollection.getByKey = sinon.stub().returns({});
2030
+ breakoutLocus.controls.breakout.url = 'testUrl';
2031
+ const result = webex.meetings.sortLocusArrayToUpdate(lociArray);
2032
+ assert.deepEqual(result, [mainLocus, breakoutLocus]);
2033
+ });
2034
+ });
2035
+
2036
+ describe('#checkHandleBreakoutLocus', () => {
2037
+ let breakoutLocus;
2038
+ beforeEach(() => {
2039
+ breakoutLocus = {
2040
+ url: 'breakoutUrl1',
2041
+ controls: {
2042
+ breakout: {
2043
+ sessionType: 'BREAKOUT',
2044
+ url: 'breakoutUnifiedUrl1',
2045
+ }
2046
+ }
2047
+ };
2048
+
2049
+ webex.meetings.handleLocusEvent = sinon.stub();
2050
+ });
2051
+ afterEach(() => {
2052
+ sinon.restore();
2053
+ });
2054
+ it('do nothing if new created locus is null/no cached breakouts for updating', () => {
2055
+ webex.meetings.checkHandleBreakoutLocus(null);
2056
+ webex.meetings.breakoutLocusForHandleLater = null;
2057
+ webex.meetings.checkHandleBreakoutLocus({});
2058
+ webex.meetings.breakoutLocusForHandleLater = [];
2059
+ webex.meetings.checkHandleBreakoutLocus({});
2060
+ assert.notCalled(webex.meetings.handleLocusEvent);
2061
+ });
2062
+
2063
+ it('do nothing if new created locus is breakout locus', () => {
2064
+ webex.meetings.breakoutLocusForHandleLater = [breakoutLocus];
2065
+ webex.meetings.checkHandleBreakoutLocus(breakoutLocus);
2066
+ assert.notCalled(webex.meetings.handleLocusEvent);
2067
+ });
2068
+
2069
+ it('do nothing if no cached locus is associated with the new created locus', () => {
2070
+ webex.meetings.breakoutLocusForHandleLater = [breakoutLocus];
2071
+ webex.meetings.checkHandleBreakoutLocus({
2072
+ controls: {
2073
+ breakout: {
2074
+ sessionType: 'MAIN',
2075
+ url: 'breakoutUnifiedUrl2',
2076
+ }
2077
+ }
2078
+ });
2079
+ assert.notCalled(webex.meetings.handleLocusEvent);
2080
+ });
2081
+
2082
+ it('update the cached breakout locus which associate the new created locus', () => {
2083
+ webex.meetings.breakoutLocusForHandleLater = [breakoutLocus];
2084
+ webex.meetings.checkHandleBreakoutLocus({
2085
+ controls: {
2086
+ breakout: {
2087
+ sessionType: 'MAIN',
2088
+ url: 'breakoutUnifiedUrl1',
2089
+ }
2090
+ }
2091
+ });
2092
+ assert.calledWith(webex.meetings.handleLocusEvent, {locus: breakoutLocus, locusUrl: breakoutLocus.url});
2093
+ });
2094
+ });
1609
2095
  });
1610
2096
  });