@webex/plugin-meetings 3.0.0-beta.3 → 3.0.0-beta.30

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 (493) hide show
  1. package/UPGRADING.md +9 -9
  2. package/browsers.js +19 -24
  3. package/dist/breakouts/breakout.js +137 -0
  4. package/dist/breakouts/breakout.js.map +1 -0
  5. package/dist/breakouts/collection.js +23 -0
  6. package/dist/breakouts/collection.js.map +1 -0
  7. package/dist/breakouts/index.js +374 -0
  8. package/dist/breakouts/index.js.map +1 -0
  9. package/dist/breakouts/request.js +78 -0
  10. package/dist/breakouts/request.js.map +1 -0
  11. package/dist/breakouts/utils.js +23 -0
  12. package/dist/breakouts/utils.js.map +1 -0
  13. package/dist/common/browser-detection.js +1 -20
  14. package/dist/common/browser-detection.js.map +1 -1
  15. package/dist/common/collection.js +5 -20
  16. package/dist/common/collection.js.map +1 -1
  17. package/dist/common/config.js +0 -7
  18. package/dist/common/config.js.map +1 -1
  19. package/dist/common/errors/captcha-error.js +10 -24
  20. package/dist/common/errors/captcha-error.js.map +1 -1
  21. package/dist/common/errors/intent-to-join.js +11 -24
  22. package/dist/common/errors/intent-to-join.js.map +1 -1
  23. package/dist/common/errors/join-meeting.js +12 -25
  24. package/dist/common/errors/join-meeting.js.map +1 -1
  25. package/dist/common/errors/media.js +10 -24
  26. package/dist/common/errors/media.js.map +1 -1
  27. package/dist/common/errors/parameter.js +5 -33
  28. package/dist/common/errors/parameter.js.map +1 -1
  29. package/dist/common/errors/password-error.js +10 -24
  30. package/dist/common/errors/password-error.js.map +1 -1
  31. package/dist/common/errors/permission.js +9 -23
  32. package/dist/common/errors/permission.js.map +1 -1
  33. package/dist/common/errors/reconnection-in-progress.js +0 -17
  34. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  35. package/dist/common/errors/reconnection.js +10 -24
  36. package/dist/common/errors/reconnection.js.map +1 -1
  37. package/dist/common/errors/stats.js +10 -24
  38. package/dist/common/errors/stats.js.map +1 -1
  39. package/dist/common/errors/webex-errors.js +6 -41
  40. package/dist/common/errors/webex-errors.js.map +1 -1
  41. package/dist/common/errors/webex-meetings-error.js +5 -25
  42. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  43. package/dist/common/events/events-scope.js +0 -22
  44. package/dist/common/events/events-scope.js.map +1 -1
  45. package/dist/common/events/events.js +0 -23
  46. package/dist/common/events/events.js.map +1 -1
  47. package/dist/common/events/trigger-proxy.js +0 -12
  48. package/dist/common/events/trigger-proxy.js.map +1 -1
  49. package/dist/common/events/util.js +0 -15
  50. package/dist/common/events/util.js.map +1 -1
  51. package/dist/common/logs/logger-config.js +0 -4
  52. package/dist/common/logs/logger-config.js.map +1 -1
  53. package/dist/common/logs/logger-proxy.js +1 -8
  54. package/dist/common/logs/logger-proxy.js.map +1 -1
  55. package/dist/common/logs/request.js +37 -60
  56. package/dist/common/logs/request.js.map +1 -1
  57. package/dist/common/queue.js +4 -14
  58. package/dist/common/queue.js.map +1 -1
  59. package/dist/config.js +6 -6
  60. package/dist/config.js.map +1 -1
  61. package/dist/constants.js +92 -49
  62. package/dist/constants.js.map +1 -1
  63. package/dist/controls-options-manager/constants.js +14 -0
  64. package/dist/controls-options-manager/constants.js.map +1 -0
  65. package/dist/controls-options-manager/enums.js +15 -0
  66. package/dist/controls-options-manager/enums.js.map +1 -0
  67. package/dist/controls-options-manager/index.js +203 -0
  68. package/dist/controls-options-manager/index.js.map +1 -0
  69. package/dist/controls-options-manager/util.js +28 -0
  70. package/dist/controls-options-manager/util.js.map +1 -0
  71. package/dist/index.js +4 -18
  72. package/dist/index.js.map +1 -1
  73. package/dist/locus-info/controlsUtils.js +12 -29
  74. package/dist/locus-info/controlsUtils.js.map +1 -1
  75. package/dist/locus-info/embeddedAppsUtils.js +3 -26
  76. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  77. package/dist/locus-info/fullState.js +0 -15
  78. package/dist/locus-info/fullState.js.map +1 -1
  79. package/dist/locus-info/hostUtils.js +4 -12
  80. package/dist/locus-info/hostUtils.js.map +1 -1
  81. package/dist/locus-info/index.js +186 -192
  82. package/dist/locus-info/index.js.map +1 -1
  83. package/dist/locus-info/infoUtils.js +3 -37
  84. package/dist/locus-info/infoUtils.js.map +1 -1
  85. package/dist/locus-info/mediaSharesUtils.js +12 -38
  86. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  87. package/dist/locus-info/parser.js +92 -118
  88. package/dist/locus-info/parser.js.map +1 -1
  89. package/dist/locus-info/selfUtils.js +34 -91
  90. package/dist/locus-info/selfUtils.js.map +1 -1
  91. package/dist/media/index.js +64 -137
  92. package/dist/media/index.js.map +1 -1
  93. package/dist/media/properties.js +80 -114
  94. package/dist/media/properties.js.map +1 -1
  95. package/dist/media/util.js +2 -9
  96. package/dist/media/util.js.map +1 -1
  97. package/dist/mediaQualityMetrics/config.js +505 -495
  98. package/dist/mediaQualityMetrics/config.js.map +1 -1
  99. package/dist/meeting/effectsState.js +125 -190
  100. package/dist/meeting/effectsState.js.map +1 -1
  101. package/dist/meeting/in-meeting-actions.js +13 -14
  102. package/dist/meeting/in-meeting-actions.js.map +1 -1
  103. package/dist/meeting/index.js +2142 -2101
  104. package/dist/meeting/index.js.map +1 -1
  105. package/dist/meeting/muteState.js +39 -80
  106. package/dist/meeting/muteState.js.map +1 -1
  107. package/dist/meeting/request.js +224 -230
  108. package/dist/meeting/request.js.map +1 -1
  109. package/dist/meeting/request.type.js +7 -0
  110. package/dist/meeting/request.type.js.map +1 -0
  111. package/dist/meeting/state.js +21 -31
  112. package/dist/meeting/state.js.map +1 -1
  113. package/dist/meeting/util.js +43 -215
  114. package/dist/meeting/util.js.map +1 -1
  115. package/dist/meeting-info/collection.js +6 -25
  116. package/dist/meeting-info/collection.js.map +1 -1
  117. package/dist/meeting-info/index.js +14 -32
  118. package/dist/meeting-info/index.js.map +1 -1
  119. package/dist/meeting-info/meeting-info-v2.js +193 -268
  120. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  121. package/dist/meeting-info/request.js +3 -15
  122. package/dist/meeting-info/request.js.map +1 -1
  123. package/dist/meeting-info/util.js +98 -183
  124. package/dist/meeting-info/util.js.map +1 -1
  125. package/dist/meeting-info/utilv2.js +137 -228
  126. package/dist/meeting-info/utilv2.js.map +1 -1
  127. package/dist/meetings/collection.js +5 -20
  128. package/dist/meetings/collection.js.map +1 -1
  129. package/dist/meetings/index.js +490 -560
  130. package/dist/meetings/index.js.map +1 -1
  131. package/dist/meetings/request.js +24 -41
  132. package/dist/meetings/request.js.map +1 -1
  133. package/dist/meetings/util.js +116 -155
  134. package/dist/meetings/util.js.map +1 -1
  135. package/dist/member/index.js +78 -86
  136. package/dist/member/index.js.map +1 -1
  137. package/dist/member/util.js +31 -68
  138. package/dist/member/util.js.map +1 -1
  139. package/dist/members/collection.js +3 -12
  140. package/dist/members/collection.js.map +1 -1
  141. package/dist/members/index.js +94 -200
  142. package/dist/members/index.js.map +1 -1
  143. package/dist/members/request.js +16 -39
  144. package/dist/members/request.js.map +1 -1
  145. package/dist/members/util.js +9 -38
  146. package/dist/members/util.js.map +1 -1
  147. package/dist/metrics/config.js +0 -2
  148. package/dist/metrics/config.js.map +1 -1
  149. package/dist/metrics/constants.js +1 -2
  150. package/dist/metrics/constants.js.map +1 -1
  151. package/dist/metrics/index.js +55 -135
  152. package/dist/metrics/index.js.map +1 -1
  153. package/dist/multistream/mediaRequestManager.js +57 -33
  154. package/dist/multistream/mediaRequestManager.js.map +1 -1
  155. package/dist/multistream/receiveSlot.js +30 -50
  156. package/dist/multistream/receiveSlot.js.map +1 -1
  157. package/dist/multistream/receiveSlotManager.js +60 -82
  158. package/dist/multistream/receiveSlotManager.js.map +1 -1
  159. package/dist/multistream/remoteMedia.js +18 -58
  160. package/dist/multistream/remoteMedia.js.map +1 -1
  161. package/dist/multistream/remoteMediaGroup.js +6 -40
  162. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  163. package/dist/multistream/remoteMediaManager.js +360 -413
  164. package/dist/multistream/remoteMediaManager.js.map +1 -1
  165. package/dist/networkQualityMonitor/index.js +40 -59
  166. package/dist/networkQualityMonitor/index.js.map +1 -1
  167. package/dist/personal-meeting-room/index.js +21 -45
  168. package/dist/personal-meeting-room/index.js.map +1 -1
  169. package/dist/personal-meeting-room/request.js +1 -31
  170. package/dist/personal-meeting-room/request.js.map +1 -1
  171. package/dist/personal-meeting-room/util.js +0 -13
  172. package/dist/personal-meeting-room/util.js.map +1 -1
  173. package/dist/reachability/index.js +138 -182
  174. package/dist/reachability/index.js.map +1 -1
  175. package/dist/reachability/request.js +3 -18
  176. package/dist/reachability/request.js.map +1 -1
  177. package/dist/reactions/constants.js +13 -0
  178. package/dist/reactions/constants.js.map +1 -0
  179. package/dist/reactions/reactions.js +109 -0
  180. package/dist/reactions/reactions.js.map +1 -0
  181. package/dist/reactions/reactions.type.js +36 -0
  182. package/dist/reactions/reactions.type.js.map +1 -0
  183. package/dist/reconnection-manager/index.js +322 -455
  184. package/dist/reconnection-manager/index.js.map +1 -1
  185. package/dist/recording-controller/enums.js +17 -0
  186. package/dist/recording-controller/enums.js.map +1 -0
  187. package/dist/recording-controller/index.js +343 -0
  188. package/dist/recording-controller/index.js.map +1 -0
  189. package/dist/recording-controller/util.js +63 -0
  190. package/dist/recording-controller/util.js.map +1 -0
  191. package/dist/roap/index.js +39 -64
  192. package/dist/roap/index.js.map +1 -1
  193. package/dist/roap/request.js +94 -113
  194. package/dist/roap/request.js.map +1 -1
  195. package/dist/roap/turnDiscovery.js +85 -94
  196. package/dist/roap/turnDiscovery.js.map +1 -1
  197. package/dist/statsAnalyzer/global.js +1 -95
  198. package/dist/statsAnalyzer/global.js.map +1 -1
  199. package/dist/statsAnalyzer/index.js +357 -449
  200. package/dist/statsAnalyzer/index.js.map +1 -1
  201. package/dist/statsAnalyzer/mqaUtil.js +137 -81
  202. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  203. package/dist/transcription/index.js +22 -47
  204. package/dist/transcription/index.js.map +1 -1
  205. package/dist/types/breakouts/breakout.d.ts +8 -0
  206. package/dist/types/breakouts/collection.d.ts +5 -0
  207. package/dist/types/breakouts/index.d.ts +5 -0
  208. package/dist/types/breakouts/request.d.ts +22 -0
  209. package/dist/types/breakouts/utils.d.ts +1 -0
  210. package/dist/types/common/browser-detection.d.ts +9 -0
  211. package/dist/types/common/collection.d.ts +48 -0
  212. package/dist/types/common/config.d.ts +2 -0
  213. package/dist/types/common/errors/captcha-error.d.ts +15 -0
  214. package/dist/types/common/errors/intent-to-join.d.ts +16 -0
  215. package/dist/types/common/errors/join-meeting.d.ts +17 -0
  216. package/dist/types/common/errors/media.d.ts +15 -0
  217. package/dist/types/common/errors/parameter.d.ts +15 -0
  218. package/dist/types/common/errors/password-error.d.ts +15 -0
  219. package/dist/types/common/errors/permission.d.ts +14 -0
  220. package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
  221. package/dist/types/common/errors/reconnection.d.ts +15 -0
  222. package/dist/types/common/errors/stats.d.ts +15 -0
  223. package/dist/types/common/errors/webex-errors.d.ts +69 -0
  224. package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
  225. package/dist/types/common/events/events-scope.d.ts +17 -0
  226. package/dist/types/common/events/events.d.ts +12 -0
  227. package/dist/types/common/events/trigger-proxy.d.ts +2 -0
  228. package/dist/types/common/events/util.d.ts +2 -0
  229. package/dist/types/common/logs/logger-config.d.ts +2 -0
  230. package/dist/types/common/logs/logger-proxy.d.ts +2 -0
  231. package/dist/types/common/logs/request.d.ts +34 -0
  232. package/dist/types/common/queue.d.ts +32 -0
  233. package/dist/types/config.d.ts +77 -0
  234. package/dist/types/constants.d.ts +899 -0
  235. package/dist/types/controls-options-manager/constants.d.ts +4 -0
  236. package/dist/types/controls-options-manager/enums.d.ts +5 -0
  237. package/dist/types/controls-options-manager/index.d.ts +120 -0
  238. package/dist/types/controls-options-manager/util.d.ts +7 -0
  239. package/dist/types/index.d.ts +5 -0
  240. package/dist/types/locus-info/controlsUtils.d.ts +2 -0
  241. package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
  242. package/dist/types/locus-info/fullState.d.ts +2 -0
  243. package/dist/types/locus-info/hostUtils.d.ts +2 -0
  244. package/dist/types/locus-info/index.d.ts +269 -0
  245. package/dist/types/locus-info/infoUtils.d.ts +2 -0
  246. package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
  247. package/dist/types/locus-info/parser.d.ts +212 -0
  248. package/dist/types/locus-info/selfUtils.d.ts +2 -0
  249. package/dist/types/media/index.d.ts +32 -0
  250. package/dist/types/media/properties.d.ts +107 -0
  251. package/dist/types/media/util.d.ts +2 -0
  252. package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
  253. package/dist/types/meeting/effectsState.d.ts +42 -0
  254. package/dist/types/meeting/in-meeting-actions.d.ts +83 -0
  255. package/dist/types/meeting/index.d.ts +1724 -0
  256. package/dist/types/meeting/muteState.d.ts +108 -0
  257. package/dist/types/meeting/request.d.ts +261 -0
  258. package/dist/types/meeting/request.type.d.ts +11 -0
  259. package/dist/types/meeting/state.d.ts +9 -0
  260. package/dist/types/meeting/util.d.ts +2 -0
  261. package/dist/types/meeting-info/collection.d.ts +20 -0
  262. package/dist/types/meeting-info/index.d.ts +57 -0
  263. package/dist/types/meeting-info/meeting-info-v2.d.ts +93 -0
  264. package/dist/types/meeting-info/request.d.ts +22 -0
  265. package/dist/types/meeting-info/util.d.ts +2 -0
  266. package/dist/types/meeting-info/utilv2.d.ts +2 -0
  267. package/dist/types/meetings/collection.d.ts +23 -0
  268. package/dist/types/meetings/index.d.ts +297 -0
  269. package/dist/types/meetings/request.d.ts +27 -0
  270. package/dist/types/meetings/util.d.ts +18 -0
  271. package/dist/types/member/index.d.ts +146 -0
  272. package/dist/types/member/util.d.ts +2 -0
  273. package/dist/types/members/collection.d.ts +24 -0
  274. package/dist/types/members/index.d.ts +320 -0
  275. package/dist/types/members/request.d.ts +50 -0
  276. package/dist/types/members/util.d.ts +2 -0
  277. package/dist/types/metrics/config.d.ts +178 -0
  278. package/dist/types/metrics/constants.d.ts +57 -0
  279. package/dist/types/metrics/index.d.ts +160 -0
  280. package/dist/types/multistream/mediaRequestManager.d.ts +50 -0
  281. package/dist/types/multistream/receiveSlot.d.ts +66 -0
  282. package/dist/types/multistream/receiveSlotManager.d.ts +46 -0
  283. package/dist/types/multistream/remoteMedia.d.ts +93 -0
  284. package/dist/types/multistream/remoteMediaGroup.d.ts +56 -0
  285. package/dist/types/multistream/remoteMediaManager.d.ts +241 -0
  286. package/dist/types/networkQualityMonitor/index.d.ts +70 -0
  287. package/dist/types/personal-meeting-room/index.d.ts +47 -0
  288. package/dist/types/personal-meeting-room/request.d.ts +14 -0
  289. package/dist/types/personal-meeting-room/util.d.ts +2 -0
  290. package/dist/types/reachability/index.d.ts +140 -0
  291. package/dist/types/reachability/request.d.ts +35 -0
  292. package/dist/types/reactions/constants.d.ts +3 -0
  293. package/dist/types/reactions/reactions.d.ts +4 -0
  294. package/dist/types/reactions/reactions.type.d.ts +52 -0
  295. package/dist/types/reconnection-manager/index.d.ts +117 -0
  296. package/dist/types/recording-controller/enums.d.ts +7 -0
  297. package/dist/types/recording-controller/index.d.ts +193 -0
  298. package/dist/types/recording-controller/util.d.ts +13 -0
  299. package/dist/types/roap/index.d.ts +77 -0
  300. package/dist/types/roap/request.d.ts +35 -0
  301. package/dist/types/roap/turnDiscovery.d.ts +74 -0
  302. package/dist/types/statsAnalyzer/global.d.ts +36 -0
  303. package/dist/types/statsAnalyzer/index.d.ts +195 -0
  304. package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
  305. package/dist/types/transcription/index.d.ts +64 -0
  306. package/internal-README.md +7 -6
  307. package/package.json +25 -20
  308. package/src/breakouts/README.md +190 -0
  309. package/src/breakouts/breakout.ts +130 -0
  310. package/src/breakouts/collection.ts +19 -0
  311. package/src/breakouts/index.ts +353 -0
  312. package/src/breakouts/request.ts +55 -0
  313. package/src/breakouts/utils.ts +15 -0
  314. package/src/common/{browser-detection.js → browser-detection.ts} +9 -6
  315. package/src/common/collection.ts +9 -7
  316. package/src/common/{config.js → config.ts} +1 -1
  317. package/src/common/errors/{captcha-error.js → captcha-error.ts} +11 -7
  318. package/src/common/errors/{intent-to-join.js → intent-to-join.ts} +12 -7
  319. package/src/common/errors/{join-meeting.js → join-meeting.ts} +17 -8
  320. package/src/common/errors/{media.js → media.ts} +11 -7
  321. package/src/common/errors/parameter.ts +11 -7
  322. package/src/common/errors/{password-error.js → password-error.ts} +11 -7
  323. package/src/common/errors/{permission.js → permission.ts} +10 -6
  324. package/src/common/errors/{reconnection.js → reconnection.ts} +11 -7
  325. package/src/common/errors/{stats.js → stats.ts} +11 -7
  326. package/src/common/errors/{webex-errors.js → webex-errors.ts} +8 -7
  327. package/src/common/errors/{webex-meetings-error.js → webex-meetings-error.ts} +4 -2
  328. package/src/common/events/{events-scope.js → events-scope.ts} +6 -2
  329. package/src/common/events/{events.js → events.ts} +5 -1
  330. package/src/common/events/{trigger-proxy.js → trigger-proxy.ts} +9 -5
  331. package/src/common/events/{util.js → util.ts} +2 -3
  332. package/src/common/logs/{logger-config.js → logger-config.ts} +1 -2
  333. package/src/common/logs/logger-proxy.ts +44 -0
  334. package/src/common/logs/{request.js → request.ts} +22 -9
  335. package/src/common/queue.ts +1 -2
  336. package/src/{config.js → config.ts} +17 -12
  337. package/src/constants.ts +44 -4
  338. package/src/controls-options-manager/constants.ts +5 -0
  339. package/src/controls-options-manager/enums.ts +6 -0
  340. package/src/controls-options-manager/index.ts +183 -0
  341. package/src/controls-options-manager/util.ts +20 -0
  342. package/src/index.js +2 -1
  343. package/src/locus-info/controlsUtils.ts +114 -0
  344. package/src/locus-info/{embeddedAppsUtils.js → embeddedAppsUtils.ts} +5 -6
  345. package/src/locus-info/{fullState.js → fullState.ts} +16 -12
  346. package/src/locus-info/{hostUtils.js → hostUtils.ts} +9 -8
  347. package/src/locus-info/{index.js → index.ts} +150 -66
  348. package/src/locus-info/{infoUtils.js → infoUtils.ts} +19 -8
  349. package/src/locus-info/{mediaSharesUtils.js → mediaSharesUtils.ts} +17 -17
  350. package/src/locus-info/{parser.js → parser.ts} +67 -79
  351. package/src/locus-info/{selfUtils.js → selfUtils.ts} +123 -68
  352. package/src/media/{index.js → index.ts} +176 -157
  353. package/src/media/{properties.js → properties.ts} +48 -31
  354. package/src/media/{util.js → util.ts} +2 -2
  355. package/src/mediaQualityMetrics/config.ts +384 -0
  356. package/src/meeting/{effectsState.js → effectsState.ts} +47 -41
  357. package/src/meeting/in-meeting-actions.ts +31 -3
  358. package/src/meeting/{index.js → index.ts} +2479 -1466
  359. package/src/meeting/{muteState.js → muteState.ts} +80 -45
  360. package/src/meeting/{request.js → request.ts} +292 -142
  361. package/src/meeting/request.type.ts +13 -0
  362. package/src/meeting/{state.js → state.ts} +50 -35
  363. package/src/meeting/{util.js → util.ts} +112 -115
  364. package/src/meeting-info/{collection.js → collection.ts} +6 -2
  365. package/src/meeting-info/{index.js → index.ts} +42 -36
  366. package/src/meeting-info/meeting-info-v2.ts +273 -0
  367. package/src/meeting-info/{request.js → request.ts} +14 -4
  368. package/src/meeting-info/{util.js → util.ts} +60 -51
  369. package/src/meeting-info/{utilv2.js → utilv2.ts} +65 -58
  370. package/src/meetings/{collection.js → collection.ts} +6 -3
  371. package/src/meetings/index.ts +1159 -0
  372. package/src/meetings/{request.js → request.ts} +32 -25
  373. package/src/meetings/{util.js → util.ts} +58 -32
  374. package/src/member/{index.js → index.ts} +102 -56
  375. package/src/member/{util.js → util.ts} +52 -25
  376. package/src/members/{collection.js → collection.ts} +2 -2
  377. package/src/members/{index.js → index.ts} +221 -142
  378. package/src/members/{request.js → request.ts} +60 -16
  379. package/src/members/{util.js → util.ts} +50 -48
  380. package/src/metrics/{config.js → config.ts} +254 -83
  381. package/src/metrics/{constants.js → constants.ts} +0 -2
  382. package/src/metrics/{index.js → index.ts} +106 -74
  383. package/src/multistream/mediaRequestManager.ts +79 -15
  384. package/src/multistream/receiveSlot.ts +42 -13
  385. package/src/multistream/receiveSlotManager.ts +35 -21
  386. package/src/multistream/remoteMedia.ts +15 -5
  387. package/src/multistream/remoteMediaGroup.ts +4 -3
  388. package/src/multistream/remoteMediaManager.ts +152 -36
  389. package/src/networkQualityMonitor/{index.js → index.ts} +41 -29
  390. package/src/personal-meeting-room/{index.js → index.ts} +28 -19
  391. package/src/personal-meeting-room/{request.js → request.ts} +13 -4
  392. package/src/personal-meeting-room/{util.js → util.ts} +4 -4
  393. package/src/reachability/{index.js → index.ts} +99 -83
  394. package/src/reachability/request.ts +39 -33
  395. package/src/reactions/constants.ts +4 -0
  396. package/src/reactions/reactions.ts +104 -0
  397. package/src/reactions/reactions.type.ts +62 -0
  398. package/src/reconnection-manager/{index.js → index.ts} +195 -102
  399. package/src/recording-controller/enums.ts +8 -0
  400. package/src/recording-controller/index.ts +315 -0
  401. package/src/recording-controller/util.ts +58 -0
  402. package/src/roap/{index.js → index.ts} +73 -56
  403. package/src/roap/request.ts +157 -0
  404. package/src/roap/turnDiscovery.ts +77 -37
  405. package/src/statsAnalyzer/global.ts +37 -0
  406. package/src/statsAnalyzer/index.ts +1234 -0
  407. package/src/statsAnalyzer/mqaUtil.ts +293 -0
  408. package/src/transcription/{index.js → index.ts} +46 -39
  409. package/test/integration/spec/converged-space-meetings.js +176 -0
  410. package/test/integration/spec/journey.js +664 -463
  411. package/test/integration/spec/space-meeting.js +320 -206
  412. package/test/integration/spec/transcription.js +7 -8
  413. package/test/unit/spec/breakouts/breakout.ts +147 -0
  414. package/test/unit/spec/breakouts/collection.ts +15 -0
  415. package/test/unit/spec/breakouts/index.ts +464 -0
  416. package/test/unit/spec/breakouts/request.ts +104 -0
  417. package/test/unit/spec/breakouts/utils.js +21 -0
  418. package/test/unit/spec/common/browser-detection.js +9 -28
  419. package/test/unit/spec/controls-options-manager/index.js +124 -0
  420. package/test/unit/spec/controls-options-manager/util.js +66 -0
  421. package/test/unit/spec/fixture/locus.js +92 -90
  422. package/test/unit/spec/locus-info/controlsUtils.js +25 -5
  423. package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
  424. package/test/unit/spec/locus-info/index.js +104 -2
  425. package/test/unit/spec/locus-info/infoUtils.js +41 -32
  426. package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
  427. package/test/unit/spec/locus-info/lib/SeqCmp.json +513 -685
  428. package/test/unit/spec/locus-info/parser.js +3 -9
  429. package/test/unit/spec/locus-info/selfConstant.js +97 -103
  430. package/test/unit/spec/locus-info/selfUtils.js +105 -12
  431. package/test/unit/spec/media/index.ts +31 -47
  432. package/test/unit/spec/media/properties.ts +9 -9
  433. package/test/unit/spec/meeting/effectsState.js +39 -45
  434. package/test/unit/spec/meeting/in-meeting-actions.ts +13 -2
  435. package/test/unit/spec/meeting/index.js +2214 -746
  436. package/test/unit/spec/meeting/muteState.js +43 -34
  437. package/test/unit/spec/meeting/request.js +115 -44
  438. package/test/unit/spec/meeting/utils.js +104 -171
  439. package/test/unit/spec/meeting-info/meetinginfov2.js +100 -73
  440. package/test/unit/spec/meeting-info/request.js +7 -9
  441. package/test/unit/spec/meeting-info/util.js +11 -12
  442. package/test/unit/spec/meeting-info/utilv2.js +110 -74
  443. package/test/unit/spec/meetings/collection.js +1 -1
  444. package/test/unit/spec/meetings/index.js +439 -257
  445. package/test/unit/spec/meetings/utils.js +14 -12
  446. package/test/unit/spec/member/index.js +0 -1
  447. package/test/unit/spec/member/util.js +31 -7
  448. package/test/unit/spec/members/index.js +104 -54
  449. package/test/unit/spec/members/request.js +29 -20
  450. package/test/unit/spec/members/utils.js +8 -5
  451. package/test/unit/spec/metrics/index.js +16 -21
  452. package/test/unit/spec/multistream/mediaRequestManager.ts +312 -50
  453. package/test/unit/spec/multistream/receiveSlot.ts +57 -6
  454. package/test/unit/spec/multistream/receiveSlotManager.ts +41 -13
  455. package/test/unit/spec/multistream/remoteMedia.ts +10 -2
  456. package/test/unit/spec/multistream/remoteMediaGroup.ts +5 -5
  457. package/test/unit/spec/multistream/remoteMediaManager.ts +412 -65
  458. package/test/unit/spec/networkQualityMonitor/index.js +24 -18
  459. package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
  460. package/test/unit/spec/reachability/index.ts +58 -26
  461. package/test/unit/spec/reconnection-manager/index.js +102 -9
  462. package/test/unit/spec/recording-controller/index.js +231 -0
  463. package/test/unit/spec/recording-controller/util.js +102 -0
  464. package/test/unit/spec/roap/index.ts +2 -1
  465. package/test/unit/spec/roap/request.ts +114 -0
  466. package/test/unit/spec/roap/turnDiscovery.ts +64 -45
  467. package/test/unit/spec/stats-analyzer/index.js +86 -57
  468. package/test/utils/cmr.js +44 -42
  469. package/test/utils/constants.js +9 -0
  470. package/test/utils/testUtils.js +96 -80
  471. package/test/utils/webex-config.js +22 -18
  472. package/test/utils/webex-test-users.js +57 -50
  473. package/tsconfig.json +6 -0
  474. package/dist/media/internal-media-core-wrapper.js +0 -22
  475. package/dist/media/internal-media-core-wrapper.js.map +0 -1
  476. package/dist/multistream/multistreamMedia.js +0 -116
  477. package/dist/multistream/multistreamMedia.js.map +0 -1
  478. package/dist/peer-connection-manager/util.js +0 -124
  479. package/dist/peer-connection-manager/util.js.map +0 -1
  480. package/src/common/logs/logger-proxy.js +0 -33
  481. package/src/locus-info/controlsUtils.js +0 -102
  482. package/src/media/internal-media-core-wrapper.ts +0 -9
  483. package/src/mediaQualityMetrics/config.js +0 -382
  484. package/src/meeting-info/meeting-info-v2.js +0 -255
  485. package/src/meetings/index.js +0 -1015
  486. package/src/multistream/multistreamMedia.ts +0 -92
  487. package/src/peer-connection-manager/util.ts +0 -117
  488. package/src/roap/request.js +0 -127
  489. package/src/statsAnalyzer/global.js +0 -133
  490. package/src/statsAnalyzer/index.js +0 -1006
  491. package/src/statsAnalyzer/mqaUtil.js +0 -173
  492. package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +0 -389
  493. /package/src/common/errors/{reconnection-in-progress.js → reconnection-in-progress.ts} +0 -0
package/test/utils/cmr.js CHANGED
@@ -1,4 +1,3 @@
1
-
2
1
  import uuid from 'uuid';
3
2
  import retry from '@webex/test-helper-retry';
4
3
 
@@ -23,16 +22,16 @@ CMR.reserve = (webex, claimed) => {
23
22
  authorization: `Bearer ${webex.credentials.supertoken.access_token}`,
24
23
  'cisco-no-http-redirect': null,
25
24
  'spark-user-agent': null,
26
- trackingid: `ITCLIENT_${uuid.v4()}_0_imi:true`
25
+ trackingid: `ITCLIENT_${uuid.v4()}_0_imi:true`,
27
26
  },
28
27
  body: {
29
28
  resourceType,
30
29
  requestMetaData: {
31
30
  emailAddress: `test${uuid.v4()}@wx2.example.com`,
32
- loginType: 'loginGuest'
31
+ loginType: 'loginGuest',
33
32
  },
34
- reservedBy: 'Webex JavaScript SDK Test Suite'
35
- }
33
+ reservedBy: 'Webex JavaScript SDK Test Suite',
34
+ },
36
35
  };
37
36
 
38
37
  if (claimed) {
@@ -40,7 +39,8 @@ CMR.reserve = (webex, claimed) => {
40
39
  }
41
40
  console.log('USER ID ', webex.internal.device.userId);
42
41
 
43
- return webex.request(requestBody)
42
+ return webex
43
+ .request(requestBody)
44
44
  .then((response) => {
45
45
  const cmr = response.body;
46
46
 
@@ -56,47 +56,49 @@ CMR.reserve = (webex, claimed) => {
56
56
  CMR.release = (webex, reservationUrl) => {
57
57
  console.log('releasing cmr');
58
58
 
59
- return webex.request({
60
- method: 'DELETE',
61
- uri: reservationUrl,
62
- headers: {
63
- authorization: `Bearer ${webex.credentials.supertoken.access_token}`,
64
- 'cisco-no-http-redirect': null,
65
- 'spark-user-agent': null
66
- }
67
- })
59
+ return webex
60
+ .request({
61
+ method: 'DELETE',
62
+ uri: reservationUrl,
63
+ headers: {
64
+ authorization: `Bearer ${webex.credentials.supertoken.access_token}`,
65
+ 'cisco-no-http-redirect': null,
66
+ 'spark-user-agent': null,
67
+ },
68
+ })
68
69
  .then(() => console.log('released cmr'));
69
70
  };
70
71
 
71
- CMR.waitForHostToJoin = (webex, resourceUrl) => retry(() => {
72
- console.log('checking if the host has joined');
73
-
74
- return webex.request({
75
- method: 'GET',
76
- uri: resourceUrl,
77
- headers: {
78
- authorization: `Bearer ${webex.credentials.supertoken.access_token}`,
79
- 'cisco-no-http-redirect': null,
80
- 'spark-user-agent': null
81
- }
72
+ CMR.waitForHostToJoin = (webex, resourceUrl) =>
73
+ retry(() => {
74
+ console.log('checking if the host has joined');
75
+
76
+ return webex
77
+ .request({
78
+ method: 'GET',
79
+ uri: resourceUrl,
80
+ headers: {
81
+ authorization: `Bearer ${webex.credentials.supertoken.access_token}`,
82
+ 'cisco-no-http-redirect': null,
83
+ 'spark-user-agent': null,
84
+ },
85
+ })
86
+ .then((res) => {
87
+ if (res.body && res.body.meeting.hostPresent) {
88
+ console.log('the host has joined');
89
+
90
+ return;
91
+ }
92
+
93
+ console.log('the host has not joined');
94
+ throw new Error('Meeting host has not yet joined');
95
+ });
82
96
  })
83
- .then((res) => {
84
- if (res.body && res.body.meeting.hostPresent) {
85
- console.log('the host has joined');
97
+ .then(() => true)
98
+ .catch((reason) => {
99
+ console.warn(reason);
86
100
 
87
- return;
88
- }
89
-
90
- console.log('the host has not joined');
91
- throw new Error('Meeting host has not yet joined');
101
+ return false;
92
102
  });
93
- })
94
- .then(() => true)
95
- .catch((reason) => {
96
- console.warn(reason);
97
-
98
- return false;
99
- });
100
-
101
103
 
102
104
  export default CMR;
@@ -0,0 +1,9 @@
1
+ // MOVE TO TEST CONSTANTS
2
+ export const MEDIA_SERVERS = {
3
+ // The homer media server for converged multistream meetings.
4
+ HOMER: 'homer',
5
+ // The linus media server
6
+ LINUS: 'linus',
7
+ // The calliope media server for transcoded meetings
8
+ CALLIOPE: 'calliope',
9
+ };
@@ -19,7 +19,7 @@ const waitForSpy = (spy, event) => {
19
19
  resolve(spy.args[0][0]);
20
20
  }
21
21
  }, 1000);
22
- })
22
+ }),
23
23
  ]);
24
24
  };
25
25
 
@@ -40,7 +40,7 @@ const waitForStateChange = (meeting, state) => {
40
40
  resolve(meeting.locusInfo.parsedLocus.states);
41
41
  }
42
42
  }, 1000);
43
- })
43
+ }),
44
44
  ]);
45
45
  };
46
46
 
@@ -59,44 +59,46 @@ const waitForCallEnded = (user, email) => {
59
59
  clearTimeout(timer);
60
60
  clearInterval(interval);
61
61
  resolve();
62
- }
63
- else {
62
+ } else {
64
63
  console.log('MEETING STILL EXISTS!', user.webex.meetings.getAllMeetings());
65
64
  }
66
65
  }, 3000);
67
- })
66
+ }),
68
67
  ]);
69
68
  };
70
69
 
71
- const syncAndEndMeeting = (user) => user.webex.meetings.syncMeetings()
72
- .then(() => {
73
- const promise = [];
74
- const meetings = user.webex.meetings.getAllMeetings();
70
+ const syncAndEndMeeting = (user) =>
71
+ user.webex.meetings
72
+ .syncMeetings()
73
+ .then(() => {
74
+ const promise = [];
75
+ const meetings = user.webex.meetings.getAllMeetings();
75
76
 
76
- if (Object.keys(meetings).length === 0) {
77
- return Promise.resolve();
78
- }
79
- Object.keys(meetings)
80
- .forEach((key) => {
77
+ if (Object.keys(meetings).length === 0) {
78
+ return Promise.resolve();
79
+ }
80
+ Object.keys(meetings).forEach((key) => {
81
81
  promise.push(meetings[key].leave());
82
82
  });
83
83
 
84
- return Promise.all(promise);
85
- })
86
- .then(() => new Promise((resolve) => {
87
- const interval = setInterval(() => {
88
- if (Object.keys(user.webex.meetings.getAllMeetings()).length === 0) {
89
- clearInterval(interval);
90
- resolve();
91
- }
92
- else {
93
- console.log('End Meetings before test failed');
94
- }
95
- }, 3000);
96
- }))
97
- .catch((e) => {
98
- console.log('ERROR on syncMeeting', e);
99
- });
84
+ return Promise.all(promise);
85
+ })
86
+ .then(
87
+ () =>
88
+ new Promise((resolve) => {
89
+ const interval = setInterval(() => {
90
+ if (Object.keys(user.webex.meetings.getAllMeetings()).length === 0) {
91
+ clearInterval(interval);
92
+ resolve();
93
+ } else {
94
+ console.log('End Meetings before test failed');
95
+ }
96
+ }, 3000);
97
+ })
98
+ )
99
+ .catch((e) => {
100
+ console.log('ERROR on syncMeeting', e);
101
+ });
100
102
 
101
103
  //
102
104
  const waitForEvents = (scopeEvents, timeout = max) => {
@@ -125,11 +127,12 @@ const waitForEvents = (scopeEvents, timeout = max) => {
125
127
  obj.user.memberId = value.meeting.locusInfo.parsedLocus.selfId;
126
128
  }
127
129
  if (obj.event === 'meeting:removed') {
128
- console.log(`MEETING:REMOVED ${obj.user.name} ID ${obj.user.meeting.id} correlationID ${obj.user.meeting.correlationId}`);
130
+ console.log(
131
+ `MEETING:REMOVED ${obj.user.name} ID ${obj.user.meeting.id} correlationID ${obj.user.meeting.correlationId}`
132
+ );
129
133
  if (obj.user.meeting.id === value.meetingId) {
130
134
  obj.user.meeting = null;
131
- }
132
- else {
135
+ } else {
133
136
  console.log('MEETING EXISTING ', obj.user.webex.meetings.getAllMeetings());
134
137
  reject(new Error(`Different Meeting Object ${value}`));
135
138
  }
@@ -142,8 +145,7 @@ const waitForEvents = (scopeEvents, timeout = max) => {
142
145
 
143
146
  resolve(result);
144
147
  }
145
- }
146
- else if (result.length === scopeEvents.length) {
148
+ } else if (result.length === scopeEvents.length) {
147
149
  resolve(result);
148
150
  obj.scope.off(obj.event, handler);
149
151
  clearTimeout(timer);
@@ -152,12 +154,11 @@ const waitForEvents = (scopeEvents, timeout = max) => {
152
154
 
153
155
  obj.scope.on(obj.event, handler);
154
156
  });
155
- }
156
- catch (e) {
157
+ } catch (e) {
157
158
  console.error('waitForEvents', e);
158
159
  reject(e);
159
160
  }
160
- })
161
+ }),
161
162
  ]);
162
163
  };
163
164
 
@@ -172,32 +173,41 @@ const delayedPromise = (promise) => {
172
173
  }),
173
174
  new Promise((resolve, reject) => {
174
175
  setTimeout(() => {
175
- promise.then((res) => {
176
- resolve(res);
177
- clearTimeout(timer);
178
- })
176
+ promise
177
+ .then((res) => {
178
+ resolve(res);
179
+ clearTimeout(timer);
180
+ })
179
181
  .catch((e) => {
180
182
  console.error('delayedPromise', e);
181
183
  reject(e);
182
184
  });
183
185
  }, 2000);
184
- })
186
+ }),
185
187
  ]);
186
188
  };
187
189
 
188
- const delayedTest = (callback, timeout) => new Promise((resolve) => {
189
- setTimeout(() => {
190
- callback();
191
- resolve();
192
- }, timeout);
193
- });
190
+ const delayedTest = (callback, timeout) =>
191
+ new Promise((resolve) => {
192
+ setTimeout(() => {
193
+ callback();
194
+ resolve();
195
+ }, timeout);
196
+ });
197
+
198
+ const addMedia = (user, options = {}) => {
199
+ const mediaReadyPromises = Array.isArray(options.expectedMediaReadyTypes)
200
+ ? options.expectedMediaReadyTypes.reduce((output, expectedMediaReadyType) => {
201
+ if (typeof expectedMediaReadyType !== 'string') {
202
+ return output;
203
+ }
204
+
205
+ output[expectedMediaReadyType] = new Defer();
206
+
207
+ return output;
208
+ }, {})
209
+ : {local: new Defer(), remoteAudio: new Defer(), remoteVideo: new Defer()};
194
210
 
195
- const addMedia = (user) => {
196
- const mediaReadyPromises = {
197
- local: new Defer(),
198
- remoteAudio: new Defer(),
199
- remoteVideo: new Defer(),
200
- };
201
211
  const mediaReady = (media) => {
202
212
  if (!media) {
203
213
  return;
@@ -209,23 +219,26 @@ const addMedia = (user) => {
209
219
 
210
220
  user.meeting.on('media:ready', mediaReady);
211
221
 
212
- return user.meeting.getMediaStreams({
213
- sendAudio: true,
214
- sendVideo: true,
215
- sendShare: false
216
- })
217
- .then(([localStream, localShare]) => user.meeting.addMedia({
218
- mediaSettings: {
219
- sendAudio: true,
220
- sendVideo: true,
221
- sendShare: false,
222
- receiveShare: true,
223
- receiveAudio: true,
224
- receiveVideo: true
225
- },
226
- localShare,
227
- localStream
228
- }))
222
+ return user.meeting
223
+ .getMediaStreams({
224
+ sendAudio: true,
225
+ sendVideo: true,
226
+ sendShare: false,
227
+ })
228
+ .then(([localStream, localShare]) =>
229
+ user.meeting.addMedia({
230
+ mediaSettings: {
231
+ sendAudio: true,
232
+ sendVideo: true,
233
+ sendShare: false,
234
+ receiveShare: true,
235
+ receiveAudio: true,
236
+ receiveVideo: true,
237
+ },
238
+ localShare,
239
+ localStream,
240
+ })
241
+ )
229
242
  .then(() => Promise.all(Object.values(mediaReadyPromises).map((defer) => defer.promise)))
230
243
  .then(() => {
231
244
  assert.exists(user.meeting.mediaProperties.audioTrack, 'audioTrack not present');
@@ -233,11 +246,12 @@ const addMedia = (user) => {
233
246
  });
234
247
  };
235
248
 
236
- const waitUntil = (waitTime) => new Promise((resolve) => {
237
- setTimeout(() => {
238
- resolve();
239
- }, waitTime);
240
- });
249
+ const waitUntil = (waitTime) =>
250
+ new Promise((resolve) => {
251
+ setTimeout(() => {
252
+ resolve();
253
+ }, waitTime);
254
+ });
241
255
 
242
256
  const flushPromises = () => new Promise(setImmediate);
243
257
 
@@ -259,7 +273,10 @@ const getCircularReplacer = () => {
259
273
 
260
274
  // this function is meant to be used as the "match" callback with waitForEvents()
261
275
  // when you want to wait for a particular users's status to reach a certain value
262
- const checkParticipantUpdatedStatus = (user, expectedStatus) => (event) => !!event.delta.updated.find((member) => user.meeting.members.selfId === member.id && member.status === expectedStatus);
276
+ const checkParticipantUpdatedStatus = (user, expectedStatus) => (event) =>
277
+ !!event.delta.updated.find(
278
+ (member) => user.meeting.members.selfId === member.id && member.status === expectedStatus
279
+ );
263
280
 
264
281
  export default {
265
282
  waitForSpy,
@@ -273,6 +290,5 @@ export default {
273
290
  waitUntil,
274
291
  delayedTest,
275
292
  flushPromises,
276
- getCircularReplacer
293
+ getCircularReplacer,
277
294
  };
278
-
@@ -8,29 +8,29 @@ const SCOPE = [
8
8
  'spark:memberships_read',
9
9
  'spark:memberships_write',
10
10
  'spark:messages_read',
11
- 'spark:messages_write'
11
+ 'spark:messages_write',
12
12
  ].join(' ');
13
13
 
14
14
  const Config = {
15
- version: (() => process.env.BUILD_VERSION || -1),
16
- appType: (() => {
15
+ version: () => process.env.BUILD_VERSION || -1,
16
+ appType: () => {
17
17
  const type = 'Web';
18
18
 
19
19
  return type;
20
- }),
20
+ },
21
21
  clientId: process.env.WEBEX_CLIENT_ID,
22
- clientSecret: process.env.WEBEX_CLIENT_SECRET
22
+ clientSecret: process.env.WEBEX_CLIENT_SECRET,
23
23
  };
24
24
 
25
25
  Config.allowedOutboundTags = {
26
- 'webex-mention': ['data-object-type', 'data-object-id', 'data-group-type', 'data-object-url']
26
+ 'webex-mention': ['data-object-type', 'data-object-id', 'data-group-type', 'data-object-url'],
27
27
  };
28
28
 
29
29
  Config.webex = {
30
30
  maxReconnectAttempts: 5,
31
31
  conversation: {
32
32
  allowedInboundTags: Config.allowedInboundTags,
33
- allowedOutboundTags: Config.allowedOutboundTags
33
+ allowedOutboundTags: Config.allowedOutboundTags,
34
34
  },
35
35
  credentials: {
36
36
  clientType: 'confidential',
@@ -39,39 +39,43 @@ Config.webex = {
39
39
  client_id: Config.clientId,
40
40
  client_secret: Config.clientSecret,
41
41
  redirect_uri: process.env.LAUNCH_URL,
42
- scope: SCOPE
43
- }
42
+ scope: SCOPE,
43
+ },
44
44
  },
45
45
  encryption: {
46
- decryptionFailureMessage: 'This message cannot be decrypted'
46
+ decryptionFailureMessage: 'This message cannot be decrypted',
47
47
  },
48
48
  logger: {
49
- level: process.env.NODE_ENV === 'test' ? 'error' : 'error'
49
+ level: process.env.NODE_ENV === 'test' ? 'error' : 'error',
50
50
  },
51
51
  meetings: {
52
52
  metrics: {
53
- autoSendMQA: true
53
+ autoSendMQA: true,
54
54
  },
55
55
  autoUploadLogs: false,
56
56
  reconnection: {
57
- enabled: true
57
+ enabled: true,
58
+ },
59
+ enableRtx: true,
60
+ experimental: {
61
+ enableMediaNegotiatedEvent: true,
62
+ enableUnifiedMeetings: true,
58
63
  },
59
- enableRtx: true
60
64
  },
61
65
  people: {
62
- showAllTypes: true
66
+ showAllTypes: true,
63
67
  },
64
68
  metrics: {
65
69
  appVersion: Config.version,
66
- appType: Config.appType
70
+ appType: Config.appType,
67
71
  },
68
72
  support: {
69
73
  appVersion: Config.version,
70
74
  appType: Config.appType,
71
- languageCode: 'en'
75
+ languageCode: 'en',
72
76
  },
73
77
  trackingIdPrefix: 'ITCLIENT',
74
- trackingIdSuffix: 'imu:false_imi:true'
78
+ trackingIdSuffix: 'imu:false_imi:true',
75
79
  };
76
80
 
77
81
  module.exports = Config;
@@ -8,6 +8,7 @@ const config = require('./webex-config');
8
8
 
9
9
  // Include the plugins which you feel will be used by the webex instance
10
10
  require('@webex/internal-plugin-mercury');
11
+ require('@webex/internal-plugin-llm');
11
12
  require('@webex/internal-plugin-user');
12
13
  require('@webex/internal-plugin-device');
13
14
  require('@webex/internal-plugin-conversation');
@@ -16,64 +17,70 @@ require('@webex/plugin-people');
16
17
  require('@webex/plugin-rooms');
17
18
  require('@webex/plugin-meetings');
18
19
 
19
- const generateTestUsers = (options) => testUser.create({count: options.count})
20
- .then(async (userSet) => {
21
- if (userSet.length !== options.count) {
22
- return Promise.reject(new Error('Test users not created'));
23
- }
20
+ const generateTestUsers = (options = {}) => {
21
+ options.config = options.config || {};
22
+ options.config.orgId = options.config.orgId || process.env.WEBEX_CONVERGED_ORG_ID;
24
23
 
25
- // Pause for 5 seconds for CI
26
- await new Promise((done) => setTimeout(done, 5000));
24
+ return testUser.create(options)
25
+ .then(async (userSet) => {
26
+ if (userSet.length !== options.count) {
27
+ return Promise.reject(new Error('Test users not created'));
28
+ }
27
29
 
28
- const userRegisterPromises = [];
30
+ // Pause for 5 seconds for CI
31
+ await new Promise((done) => setTimeout(done, 5000));
29
32
 
30
- userSet.forEach((user) => {
31
- // eslint-disable-next-line no-param-reassign
32
- user.webex = new WebexCore({
33
- config: config.webex,
34
- credentials: {
35
- authorization: user.token
36
- },
37
- meetings: {
38
- autoUploadLogs: false
39
- }
40
- });
33
+ const userRegisterPromises = [];
41
34
 
42
- user.webex.internal.support.submitLogs = sinon.stub().returns(Promise.resolve());
35
+ userSet.forEach((user) => {
36
+ // eslint-disable-next-line no-param-reassign
37
+ user.webex = new WebexCore({
38
+ config: config.webex,
39
+ credentials: {
40
+ authorization: user.token,
41
+ },
42
+ meetings: {
43
+ autoUploadLogs: false,
44
+ },
45
+ });
43
46
 
44
- userRegisterPromises.push(user.webex.meetings.register());
45
- });
47
+ user.webex.internal.support.submitLogs = sinon.stub().returns(Promise.resolve());
46
48
 
47
- return Promise.all(userRegisterPromises)
48
- .then(() => userSet);
49
- })
50
- .catch((error) => {
51
- console.error('#generateTestUsers=>ERROR', error);
52
- });
49
+ userRegisterPromises.push(user.webex.meetings.register());
50
+ });
53
51
 
54
- const reserveCMR = (user) => user.webex.request({
55
- method: 'POST',
56
- uri: 'https://whistler-prod.allnint.ciscospark.com/api/v1/reservations',
57
- headers: {
58
- authorization: `Bearer ${user.webex.credentials.supertoken.access_token}`,
59
- 'cisco-no-http-redirect': null,
60
- 'spark-user-agent': null,
61
- trackingid: `ITCLIENT_ ${user.id} _0_imi:true`
62
- },
63
- body: {
64
- resourceType: 'CMR_3',
65
- reservedBy: 'SDK_TEST_USER',
66
- requestMetaData: {
67
- emailAddress: user.emailAddress,
68
- loginType: 'loginGuest'
69
- }
70
- }
71
- })
72
- .then((res) => {
73
- console.log('SUCCESS ', res);
74
- });
52
+ return Promise.all(userRegisterPromises).then(() => userSet);
53
+ })
54
+ .catch((error) => {
55
+ console.error('#generateTestUsers=>ERROR', error);
56
+ });
57
+ };
58
+
59
+ const reserveCMR = (user) =>
60
+ user.webex
61
+ .request({
62
+ method: 'POST',
63
+ uri: 'https://whistler-prod.allnint.ciscospark.com/api/v1/reservations',
64
+ headers: {
65
+ authorization: `Bearer ${user.webex.credentials.supertoken.access_token}`,
66
+ 'cisco-no-http-redirect': null,
67
+ 'spark-user-agent': null,
68
+ trackingid: `ITCLIENT_ ${user.id} _0_imi:true`,
69
+ },
70
+ body: {
71
+ resourceType: 'CMR_3',
72
+ reservedBy: 'SDK_TEST_USER',
73
+ requestMetaData: {
74
+ emailAddress: user.emailAddress,
75
+ loginType: 'loginGuest',
76
+ },
77
+ },
78
+ })
79
+ .then((res) => {
80
+ console.log('SUCCESS ', res);
81
+ });
75
82
 
76
83
  module.exports = {
77
84
  generateTestUsers,
78
- reserveCMR
85
+ reserveCMR,
79
86
  };
package/tsconfig.json ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "extends": "../../../tsconfig.json",
3
+ "include": [
4
+ "src"
5
+ ],
6
+ }
@@ -1,22 +0,0 @@
1
- "use strict";
2
-
3
- var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
-
5
- _Object$defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
-
9
- exports.RoapMediaConnection = exports.MultistreamRoapMediaConnection = void 0;
10
-
11
- var _internalMediaCore = require("@webex/internal-media-core");
12
-
13
- /* We have this wrapper just because otherwise it's impossible to mock
14
- * RoapMediaConnection and MultistreamRoapMediaConnection constructors in unit tests,
15
- * because they are exported by @webex/internal-media-core as non-writable, non-configurable
16
- * properties of MediaConnection and sinon doesn't allow spying on them or stubbing them.
17
- */
18
- var RoapMediaConnection = _internalMediaCore.MediaConnection.RoapMediaConnection;
19
- exports.RoapMediaConnection = RoapMediaConnection;
20
- var MultistreamRoapMediaConnection = _internalMediaCore.MediaConnection.MultistreamRoapMediaConnection;
21
- exports.MultistreamRoapMediaConnection = MultistreamRoapMediaConnection;
22
- //# sourceMappingURL=internal-media-core-wrapper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["RoapMediaConnection","MC","MultistreamRoapMediaConnection"],"sources":["internal-media-core-wrapper.ts"],"sourcesContent":["import {MediaConnection as MC} from '@webex/internal-media-core';\n\n/* We have this wrapper just because otherwise it's impossible to mock\n * RoapMediaConnection and MultistreamRoapMediaConnection constructors in unit tests,\n * because they are exported by @webex/internal-media-core as non-writable, non-configurable\n * properties of MediaConnection and sinon doesn't allow spying on them or stubbing them.\n */\nexport const RoapMediaConnection = MC.RoapMediaConnection;\nexport const MultistreamRoapMediaConnection = MC.MultistreamRoapMediaConnection;\n"],"mappings":";;;;;;;;;;AAAA;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,mBAAmB,GAAGC,kCAAA,CAAGD,mBAA/B;;AACA,IAAME,8BAA8B,GAAGD,kCAAA,CAAGC,8BAA1C"}