@webex/plugin-meetings 3.0.0-beta.39 → 3.0.0-beta.391

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 (393) hide show
  1. package/README.md +58 -8
  2. package/dist/annotation/annotation.types.js +7 -0
  3. package/dist/annotation/annotation.types.js.map +1 -0
  4. package/dist/annotation/constants.js +49 -0
  5. package/dist/annotation/constants.js.map +1 -0
  6. package/dist/annotation/index.js +342 -0
  7. package/dist/annotation/index.js.map +1 -0
  8. package/dist/breakouts/breakout.js +94 -15
  9. package/dist/breakouts/breakout.js.map +1 -1
  10. package/dist/breakouts/events.js +45 -0
  11. package/dist/breakouts/events.js.map +1 -0
  12. package/dist/breakouts/index.js +671 -81
  13. package/dist/breakouts/index.js.map +1 -1
  14. package/dist/breakouts/utils.js +45 -1
  15. package/dist/breakouts/utils.js.map +1 -1
  16. package/dist/common/errors/no-meeting-info.js +51 -0
  17. package/dist/common/errors/no-meeting-info.js.map +1 -0
  18. package/dist/common/errors/reclaim-host-role-errors.js +158 -0
  19. package/dist/common/errors/reclaim-host-role-errors.js.map +1 -0
  20. package/dist/common/errors/webex-errors.js +48 -7
  21. package/dist/common/errors/webex-errors.js.map +1 -1
  22. package/dist/common/logs/logger-proxy.js +1 -1
  23. package/dist/common/logs/logger-proxy.js.map +1 -1
  24. package/dist/common/logs/request.js +5 -1
  25. package/dist/common/logs/request.js.map +1 -1
  26. package/dist/common/queue.js +24 -9
  27. package/dist/common/queue.js.map +1 -1
  28. package/dist/config.js +5 -10
  29. package/dist/config.js.map +1 -1
  30. package/dist/constants.js +242 -33
  31. package/dist/constants.js.map +1 -1
  32. package/dist/controls-options-manager/enums.js +14 -2
  33. package/dist/controls-options-manager/enums.js.map +1 -1
  34. package/dist/controls-options-manager/index.js +109 -15
  35. package/dist/controls-options-manager/index.js.map +1 -1
  36. package/dist/controls-options-manager/types.js +7 -0
  37. package/dist/controls-options-manager/types.js.map +1 -0
  38. package/dist/controls-options-manager/util.js +309 -18
  39. package/dist/controls-options-manager/util.js.map +1 -1
  40. package/dist/index.js +110 -2
  41. package/dist/index.js.map +1 -1
  42. package/dist/interceptors/index.js +15 -0
  43. package/dist/interceptors/index.js.map +1 -0
  44. package/dist/interceptors/locusRetry.js +93 -0
  45. package/dist/interceptors/locusRetry.js.map +1 -0
  46. package/dist/interpretation/collection.js +23 -0
  47. package/dist/interpretation/collection.js.map +1 -0
  48. package/dist/interpretation/index.js +380 -0
  49. package/dist/interpretation/index.js.map +1 -0
  50. package/dist/interpretation/siLanguage.js +25 -0
  51. package/dist/interpretation/siLanguage.js.map +1 -0
  52. package/dist/locus-info/controlsUtils.js +91 -2
  53. package/dist/locus-info/controlsUtils.js.map +1 -1
  54. package/dist/locus-info/index.js +386 -62
  55. package/dist/locus-info/index.js.map +1 -1
  56. package/dist/locus-info/infoUtils.js +7 -1
  57. package/dist/locus-info/infoUtils.js.map +1 -1
  58. package/dist/locus-info/mediaSharesUtils.js +71 -1
  59. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  60. package/dist/locus-info/parser.js +249 -72
  61. package/dist/locus-info/parser.js.map +1 -1
  62. package/dist/locus-info/selfUtils.js +89 -14
  63. package/dist/locus-info/selfUtils.js.map +1 -1
  64. package/dist/media/index.js +65 -102
  65. package/dist/media/index.js.map +1 -1
  66. package/dist/media/properties.js +73 -124
  67. package/dist/media/properties.js.map +1 -1
  68. package/dist/mediaQualityMetrics/config.js +135 -330
  69. package/dist/mediaQualityMetrics/config.js.map +1 -1
  70. package/dist/meeting/in-meeting-actions.js +86 -2
  71. package/dist/meeting/in-meeting-actions.js.map +1 -1
  72. package/dist/meeting/index.js +4075 -2827
  73. package/dist/meeting/index.js.map +1 -1
  74. package/dist/meeting/locusMediaRequest.js +292 -0
  75. package/dist/meeting/locusMediaRequest.js.map +1 -0
  76. package/dist/meeting/muteState.js +224 -136
  77. package/dist/meeting/muteState.js.map +1 -1
  78. package/dist/meeting/request.js +177 -152
  79. package/dist/meeting/request.js.map +1 -1
  80. package/dist/meeting/util.js +672 -417
  81. package/dist/meeting/util.js.map +1 -1
  82. package/dist/meeting-info/index.js +73 -7
  83. package/dist/meeting-info/index.js.map +1 -1
  84. package/dist/meeting-info/meeting-info-v2.js +192 -51
  85. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  86. package/dist/meeting-info/util.js +1 -1
  87. package/dist/meeting-info/util.js.map +1 -1
  88. package/dist/meeting-info/utilv2.js +36 -36
  89. package/dist/meeting-info/utilv2.js.map +1 -1
  90. package/dist/meetings/collection.js +39 -0
  91. package/dist/meetings/collection.js.map +1 -1
  92. package/dist/meetings/index.js +484 -119
  93. package/dist/meetings/index.js.map +1 -1
  94. package/dist/meetings/meetings.types.js +7 -0
  95. package/dist/meetings/meetings.types.js.map +1 -0
  96. package/dist/meetings/request.js +2 -0
  97. package/dist/meetings/request.js.map +1 -1
  98. package/dist/meetings/util.js +73 -7
  99. package/dist/meetings/util.js.map +1 -1
  100. package/dist/member/index.js +58 -0
  101. package/dist/member/index.js.map +1 -1
  102. package/dist/member/types.js +25 -0
  103. package/dist/member/types.js.map +1 -0
  104. package/dist/member/util.js +132 -25
  105. package/dist/member/util.js.map +1 -1
  106. package/dist/members/collection.js +10 -0
  107. package/dist/members/collection.js.map +1 -1
  108. package/dist/members/index.js +102 -6
  109. package/dist/members/index.js.map +1 -1
  110. package/dist/members/request.js +106 -38
  111. package/dist/members/request.js.map +1 -1
  112. package/dist/members/types.js +15 -0
  113. package/dist/members/types.js.map +1 -0
  114. package/dist/members/util.js +326 -232
  115. package/dist/members/util.js.map +1 -1
  116. package/dist/metrics/constants.js +18 -1
  117. package/dist/metrics/constants.js.map +1 -1
  118. package/dist/metrics/index.js +1 -446
  119. package/dist/metrics/index.js.map +1 -1
  120. package/dist/multistream/mediaRequestManager.js +223 -32
  121. package/dist/multistream/mediaRequestManager.js.map +1 -1
  122. package/dist/multistream/receiveSlot.js +10 -0
  123. package/dist/multistream/receiveSlot.js.map +1 -1
  124. package/dist/multistream/receiveSlotManager.js +39 -36
  125. package/dist/multistream/receiveSlotManager.js.map +1 -1
  126. package/dist/multistream/remoteMedia.js +3 -1
  127. package/dist/multistream/remoteMedia.js.map +1 -1
  128. package/dist/multistream/remoteMediaGroup.js +76 -5
  129. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  130. package/dist/multistream/remoteMediaManager.js +366 -104
  131. package/dist/multistream/remoteMediaManager.js.map +1 -1
  132. package/dist/multistream/sendSlotManager.js +255 -0
  133. package/dist/multistream/sendSlotManager.js.map +1 -0
  134. package/dist/reachability/clusterReachability.js +356 -0
  135. package/dist/reachability/clusterReachability.js.map +1 -0
  136. package/dist/reachability/index.js +263 -390
  137. package/dist/reachability/index.js.map +1 -1
  138. package/dist/reachability/request.js +6 -4
  139. package/dist/reachability/request.js.map +1 -1
  140. package/dist/reachability/util.js +29 -0
  141. package/dist/reachability/util.js.map +1 -0
  142. package/dist/reconnection-manager/index.js +266 -202
  143. package/dist/reconnection-manager/index.js.map +1 -1
  144. package/dist/recording-controller/index.js +21 -2
  145. package/dist/recording-controller/index.js.map +1 -1
  146. package/dist/recording-controller/util.js +9 -8
  147. package/dist/recording-controller/util.js.map +1 -1
  148. package/dist/roap/index.js +51 -28
  149. package/dist/roap/index.js.map +1 -1
  150. package/dist/roap/request.js +48 -64
  151. package/dist/roap/request.js.map +1 -1
  152. package/dist/roap/turnDiscovery.js +220 -70
  153. package/dist/roap/turnDiscovery.js.map +1 -1
  154. package/dist/rtcMetrics/constants.js +12 -0
  155. package/dist/rtcMetrics/constants.js.map +1 -0
  156. package/dist/rtcMetrics/index.js +179 -0
  157. package/dist/rtcMetrics/index.js.map +1 -0
  158. package/dist/statsAnalyzer/index.js +357 -295
  159. package/dist/statsAnalyzer/index.js.map +1 -1
  160. package/dist/statsAnalyzer/mqaUtil.js +296 -156
  161. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  162. package/dist/types/annotation/annotation.types.d.ts +42 -0
  163. package/dist/types/annotation/constants.d.ts +31 -0
  164. package/dist/types/annotation/index.d.ts +117 -0
  165. package/dist/types/breakouts/events.d.ts +8 -0
  166. package/dist/types/breakouts/utils.d.ts +14 -0
  167. package/dist/types/common/errors/no-meeting-info.d.ts +14 -0
  168. package/dist/types/common/errors/reclaim-host-role-errors.d.ts +60 -0
  169. package/dist/types/common/errors/webex-errors.d.ts +25 -1
  170. package/dist/types/common/logs/request.d.ts +2 -0
  171. package/dist/types/common/queue.d.ts +9 -7
  172. package/dist/types/config.d.ts +2 -7
  173. package/dist/types/constants.d.ts +203 -31
  174. package/dist/types/controls-options-manager/enums.d.ts +11 -1
  175. package/dist/types/controls-options-manager/index.d.ts +17 -1
  176. package/dist/types/controls-options-manager/types.d.ts +43 -0
  177. package/dist/types/controls-options-manager/util.d.ts +1 -7
  178. package/dist/types/index.d.ts +6 -5
  179. package/dist/types/interceptors/index.d.ts +2 -0
  180. package/dist/types/interceptors/locusRetry.d.ts +27 -0
  181. package/dist/types/interpretation/collection.d.ts +5 -0
  182. package/dist/types/interpretation/index.d.ts +5 -0
  183. package/dist/types/interpretation/siLanguage.d.ts +5 -0
  184. package/dist/types/locus-info/index.d.ts +57 -4
  185. package/dist/types/locus-info/parser.d.ts +66 -6
  186. package/dist/types/media/index.d.ts +2 -0
  187. package/dist/types/media/properties.d.ts +34 -49
  188. package/dist/types/mediaQualityMetrics/config.d.ts +99 -223
  189. package/dist/types/meeting/in-meeting-actions.d.ts +86 -2
  190. package/dist/types/meeting/index.d.ts +567 -496
  191. package/dist/types/meeting/locusMediaRequest.d.ts +74 -0
  192. package/dist/types/meeting/muteState.d.ts +93 -25
  193. package/dist/types/meeting/request.d.ts +64 -43
  194. package/dist/types/meeting/util.d.ts +117 -1
  195. package/dist/types/meeting-info/index.d.ts +13 -1
  196. package/dist/types/meeting-info/meeting-info-v2.d.ts +31 -1
  197. package/dist/types/meetings/collection.d.ts +17 -0
  198. package/dist/types/meetings/index.d.ts +113 -21
  199. package/dist/types/meetings/meetings.types.d.ts +4 -0
  200. package/dist/types/member/index.d.ts +14 -0
  201. package/dist/types/member/types.d.ts +32 -0
  202. package/dist/types/members/collection.d.ts +5 -0
  203. package/dist/types/members/index.d.ts +35 -2
  204. package/dist/types/members/request.d.ts +73 -9
  205. package/dist/types/members/types.d.ts +25 -0
  206. package/dist/types/members/util.d.ts +214 -1
  207. package/dist/types/metrics/constants.d.ts +17 -0
  208. package/dist/types/metrics/index.d.ts +4 -111
  209. package/dist/types/multistream/mediaRequestManager.d.ts +72 -3
  210. package/dist/types/multistream/receiveSlot.d.ts +7 -3
  211. package/dist/types/multistream/receiveSlotManager.d.ts +14 -4
  212. package/dist/types/multistream/remoteMedia.d.ts +3 -31
  213. package/dist/types/multistream/remoteMediaGroup.d.ts +2 -9
  214. package/dist/types/multistream/remoteMediaManager.d.ts +62 -2
  215. package/dist/types/multistream/sendSlotManager.d.ts +70 -0
  216. package/dist/types/reachability/clusterReachability.d.ts +109 -0
  217. package/dist/types/reachability/index.d.ts +60 -95
  218. package/dist/types/reachability/request.d.ts +3 -1
  219. package/dist/types/reachability/util.d.ts +8 -0
  220. package/dist/types/reconnection-manager/index.d.ts +19 -0
  221. package/dist/types/recording-controller/index.d.ts +15 -1
  222. package/dist/types/recording-controller/util.d.ts +5 -4
  223. package/dist/types/roap/index.d.ts +2 -1
  224. package/dist/types/roap/request.d.ts +9 -8
  225. package/dist/types/roap/turnDiscovery.d.ts +39 -5
  226. package/dist/types/rtcMetrics/constants.d.ts +4 -0
  227. package/dist/types/rtcMetrics/index.d.ts +61 -0
  228. package/dist/types/statsAnalyzer/index.d.ts +34 -12
  229. package/dist/types/statsAnalyzer/mqaUtil.d.ts +28 -4
  230. package/dist/types/webinar/collection.d.ts +16 -0
  231. package/dist/types/webinar/index.d.ts +5 -0
  232. package/dist/webinar/collection.js +44 -0
  233. package/dist/webinar/collection.js.map +1 -0
  234. package/dist/webinar/index.js +69 -0
  235. package/dist/webinar/index.js.map +1 -0
  236. package/package.json +22 -19
  237. package/src/annotation/annotation.types.ts +50 -0
  238. package/src/annotation/constants.ts +36 -0
  239. package/src/annotation/index.ts +328 -0
  240. package/src/breakouts/README.md +35 -11
  241. package/src/breakouts/breakout.ts +67 -9
  242. package/src/breakouts/events.ts +56 -0
  243. package/src/breakouts/index.ts +558 -59
  244. package/src/breakouts/utils.ts +42 -0
  245. package/src/common/errors/no-meeting-info.ts +24 -0
  246. package/src/common/errors/reclaim-host-role-errors.ts +134 -0
  247. package/src/common/errors/webex-errors.ts +44 -2
  248. package/src/common/logs/logger-proxy.ts +1 -1
  249. package/src/common/logs/request.ts +5 -1
  250. package/src/common/queue.ts +22 -8
  251. package/src/config.ts +4 -9
  252. package/src/constants.ts +229 -21
  253. package/src/controls-options-manager/enums.ts +12 -0
  254. package/src/controls-options-manager/index.ts +116 -21
  255. package/src/controls-options-manager/types.ts +59 -0
  256. package/src/controls-options-manager/util.ts +294 -14
  257. package/src/index.ts +44 -0
  258. package/src/interceptors/index.ts +3 -0
  259. package/src/interceptors/locusRetry.ts +67 -0
  260. package/src/interpretation/README.md +60 -0
  261. package/src/interpretation/collection.ts +19 -0
  262. package/src/interpretation/index.ts +349 -0
  263. package/src/interpretation/siLanguage.ts +18 -0
  264. package/src/locus-info/controlsUtils.ts +108 -0
  265. package/src/locus-info/index.ts +417 -59
  266. package/src/locus-info/infoUtils.ts +10 -2
  267. package/src/locus-info/mediaSharesUtils.ts +80 -0
  268. package/src/locus-info/parser.ts +258 -47
  269. package/src/locus-info/selfUtils.ts +81 -5
  270. package/src/media/index.ts +100 -108
  271. package/src/media/properties.ts +88 -117
  272. package/src/mediaQualityMetrics/config.ts +103 -238
  273. package/src/meeting/in-meeting-actions.ts +171 -3
  274. package/src/meeting/index.ts +3411 -2435
  275. package/src/meeting/locusMediaRequest.ts +313 -0
  276. package/src/meeting/muteState.ts +223 -136
  277. package/src/meeting/request.ts +155 -120
  278. package/src/meeting/util.ts +685 -395
  279. package/src/meeting-info/index.ts +81 -8
  280. package/src/meeting-info/meeting-info-v2.ts +170 -14
  281. package/src/meeting-info/util.ts +1 -1
  282. package/src/meeting-info/utilv2.ts +23 -23
  283. package/src/meetings/collection.ts +33 -0
  284. package/src/meetings/index.ts +507 -127
  285. package/src/meetings/meetings.types.ts +12 -0
  286. package/src/meetings/request.ts +2 -0
  287. package/src/meetings/util.ts +81 -12
  288. package/src/member/index.ts +58 -0
  289. package/src/member/types.ts +38 -0
  290. package/src/member/util.ts +141 -25
  291. package/src/members/collection.ts +8 -0
  292. package/src/members/index.ts +134 -8
  293. package/src/members/request.ts +97 -17
  294. package/src/members/types.ts +29 -0
  295. package/src/members/util.ts +333 -240
  296. package/src/metrics/constants.ts +17 -0
  297. package/src/metrics/index.ts +1 -469
  298. package/src/multistream/mediaRequestManager.ts +271 -56
  299. package/src/multistream/receiveSlot.ts +11 -4
  300. package/src/multistream/receiveSlotManager.ts +34 -24
  301. package/src/multistream/remoteMedia.ts +5 -3
  302. package/src/multistream/remoteMediaGroup.ts +78 -0
  303. package/src/multistream/remoteMediaManager.ts +248 -44
  304. package/src/multistream/sendSlotManager.ts +199 -0
  305. package/src/reachability/clusterReachability.ts +320 -0
  306. package/src/reachability/index.ts +229 -346
  307. package/src/reachability/request.ts +8 -4
  308. package/src/reachability/util.ts +24 -0
  309. package/src/reconnection-manager/index.ts +128 -97
  310. package/src/recording-controller/index.ts +20 -3
  311. package/src/recording-controller/util.ts +26 -9
  312. package/src/roap/index.ts +52 -23
  313. package/src/roap/request.ts +48 -67
  314. package/src/roap/turnDiscovery.ts +147 -49
  315. package/src/rtcMetrics/constants.ts +3 -0
  316. package/src/rtcMetrics/index.ts +166 -0
  317. package/src/statsAnalyzer/index.ts +457 -416
  318. package/src/statsAnalyzer/mqaUtil.ts +317 -170
  319. package/src/webinar/collection.ts +31 -0
  320. package/src/webinar/index.ts +62 -0
  321. package/test/integration/spec/converged-space-meetings.js +60 -3
  322. package/test/integration/spec/journey.js +320 -261
  323. package/test/integration/spec/space-meeting.js +76 -3
  324. package/test/unit/spec/annotation/index.ts +418 -0
  325. package/test/unit/spec/breakouts/breakout.ts +118 -28
  326. package/test/unit/spec/breakouts/events.ts +89 -0
  327. package/test/unit/spec/breakouts/index.ts +1349 -114
  328. package/test/unit/spec/breakouts/utils.js +52 -1
  329. package/test/unit/spec/common/queue.js +31 -2
  330. package/test/unit/spec/controls-options-manager/index.js +163 -0
  331. package/test/unit/spec/controls-options-manager/util.js +576 -60
  332. package/test/unit/spec/fixture/locus.js +1 -0
  333. package/test/unit/spec/interceptors/locusRetry.ts +131 -0
  334. package/test/unit/spec/interpretation/collection.ts +15 -0
  335. package/test/unit/spec/interpretation/index.ts +625 -0
  336. package/test/unit/spec/interpretation/siLanguage.ts +28 -0
  337. package/test/unit/spec/locus-info/controlsUtils.js +316 -43
  338. package/test/unit/spec/locus-info/index.js +1363 -37
  339. package/test/unit/spec/locus-info/infoUtils.js +37 -15
  340. package/test/unit/spec/locus-info/lib/SeqCmp.json +16 -0
  341. package/test/unit/spec/locus-info/mediaSharesUtils.ts +41 -0
  342. package/test/unit/spec/locus-info/parser.js +116 -35
  343. package/test/unit/spec/locus-info/selfConstant.js +27 -4
  344. package/test/unit/spec/locus-info/selfUtils.js +208 -17
  345. package/test/unit/spec/media/index.ts +173 -81
  346. package/test/unit/spec/media/properties.ts +2 -2
  347. package/test/unit/spec/meeting/in-meeting-actions.ts +85 -3
  348. package/test/unit/spec/meeting/index.js +6821 -2172
  349. package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
  350. package/test/unit/spec/meeting/muteState.js +402 -212
  351. package/test/unit/spec/meeting/request.js +473 -54
  352. package/test/unit/spec/meeting/utils.js +773 -67
  353. package/test/unit/spec/meeting-info/index.js +300 -0
  354. package/test/unit/spec/meeting-info/meetinginfov2.js +526 -5
  355. package/test/unit/spec/meeting-info/utilv2.js +21 -0
  356. package/test/unit/spec/meetings/collection.js +26 -0
  357. package/test/unit/spec/meetings/index.js +1415 -213
  358. package/test/unit/spec/meetings/utils.js +229 -2
  359. package/test/unit/spec/member/index.js +61 -6
  360. package/test/unit/spec/member/util.js +510 -34
  361. package/test/unit/spec/members/index.js +432 -1
  362. package/test/unit/spec/members/request.js +206 -27
  363. package/test/unit/spec/members/utils.js +210 -0
  364. package/test/unit/spec/metrics/index.js +1 -50
  365. package/test/unit/spec/multistream/mediaRequestManager.ts +781 -114
  366. package/test/unit/spec/multistream/receiveSlot.ts +9 -1
  367. package/test/unit/spec/multistream/receiveSlotManager.ts +32 -30
  368. package/test/unit/spec/multistream/remoteMedia.ts +2 -0
  369. package/test/unit/spec/multistream/remoteMediaGroup.ts +345 -0
  370. package/test/unit/spec/multistream/remoteMediaManager.ts +525 -0
  371. package/test/unit/spec/multistream/sendSlotManager.ts +274 -0
  372. package/test/unit/spec/reachability/clusterReachability.ts +279 -0
  373. package/test/unit/spec/reachability/index.ts +551 -14
  374. package/test/unit/spec/reachability/request.js +3 -1
  375. package/test/unit/spec/reachability/util.ts +40 -0
  376. package/test/unit/spec/reconnection-manager/index.js +171 -11
  377. package/test/unit/spec/recording-controller/index.js +294 -218
  378. package/test/unit/spec/recording-controller/util.js +223 -96
  379. package/test/unit/spec/roap/index.ts +180 -83
  380. package/test/unit/spec/roap/request.ts +100 -62
  381. package/test/unit/spec/roap/turnDiscovery.ts +388 -96
  382. package/test/unit/spec/rtcMetrics/index.ts +122 -0
  383. package/test/unit/spec/stats-analyzer/index.js +1252 -12
  384. package/test/unit/spec/webinar/collection.ts +13 -0
  385. package/test/unit/spec/webinar/index.ts +60 -0
  386. package/test/utils/integrationTestUtils.js +46 -0
  387. package/test/utils/testUtils.js +0 -57
  388. package/test/utils/webex-test-users.js +12 -4
  389. package/dist/metrics/config.js +0 -289
  390. package/dist/metrics/config.js.map +0 -1
  391. package/dist/types/metrics/config.d.ts +0 -169
  392. package/src/index.js +0 -18
  393. package/src/metrics/config.ts +0 -485
@@ -1,4 +1,8 @@
1
1
  // eslint-disable-next-line import/prefer-default-export
2
+ import LoggerProxy from '../common/logs/logger-proxy';
3
+ import BreakoutEditLockedError from './edit-lock-error';
4
+ import {BREAKOUTS} from '../constants';
5
+
2
6
  export const getBroadcastRoles = (options): string[] => {
3
7
  const recipientRoles = [];
4
8
  if (!options || (!options.cohosts && !options.presenters)) {
@@ -13,3 +17,41 @@ export const getBroadcastRoles = (options): string[] => {
13
17
 
14
18
  return recipientRoles;
15
19
  };
20
+
21
+ /**
22
+ * Deals with all kinds of errors of breakout service
23
+ * @param {object} error // one of the breakout service error
24
+ * @param {string} position // position of the error occur
25
+ * @returns {object}
26
+ */
27
+ export const boServiceErrorHandler = (error: any, position: string): any => {
28
+ const errorCode = error?.body?.errorCode;
29
+ const {EDIT_LOCK_TOKEN_MISMATCH, EDIT_NOT_AUTHORIZED} = BREAKOUTS.ERROR_CODE;
30
+ let throwError;
31
+ switch (errorCode) {
32
+ case EDIT_LOCK_TOKEN_MISMATCH:
33
+ throwError = new BreakoutEditLockedError('Edit lock token mismatch', error);
34
+ break;
35
+ case EDIT_NOT_AUTHORIZED:
36
+ throwError = new BreakoutEditLockedError('Not authorized to interact with edit lock', error);
37
+ break;
38
+ default:
39
+ throwError = error;
40
+ }
41
+ LoggerProxy.logger.info(`${position} --> ${throwError?.message}`);
42
+
43
+ return throwError;
44
+ };
45
+
46
+ /**
47
+ *
48
+ * @param {object} breakout
49
+ * @param {string} newSessionType
50
+ * @returns {boolean}
51
+ */
52
+ export const isSessionTypeChangedFromSessionToMain = (breakout, newSessionType) => {
53
+ return (
54
+ breakout.previous('sessionType') === BREAKOUTS.SESSION_TYPES.BREAKOUT &&
55
+ newSessionType === BREAKOUTS.SESSION_TYPES.MAIN
56
+ );
57
+ };
@@ -0,0 +1,24 @@
1
+ import {ERROR_DICTIONARY} from '../../constants';
2
+
3
+ /**
4
+ * Extended Error object for general parameter errors
5
+ */
6
+ export default class NoMeetingInfoError extends Error {
7
+ code: any;
8
+ error: any;
9
+ sdkMessage: any;
10
+
11
+ /**
12
+ * @constructor
13
+ * @param {String} [message]
14
+ * @param {Object} [error]
15
+ */
16
+ constructor(message: string = ERROR_DICTIONARY.NO_MEETING_INFO.MESSAGE, error: any = null) {
17
+ super(message);
18
+ this.name = ERROR_DICTIONARY.NO_MEETING_INFO.NAME;
19
+ this.sdkMessage = ERROR_DICTIONARY.NO_MEETING_INFO.MESSAGE;
20
+ this.error = error;
21
+ this.stack = error ? error.stack : new Error().stack;
22
+ this.code = ERROR_DICTIONARY.NO_MEETING_INFO.CODE;
23
+ }
24
+ }
@@ -0,0 +1,134 @@
1
+ import * as MEETINGCONSTANTS from '../../constants';
2
+
3
+ /**
4
+ * Extended Error object for reclaim host role empty or wrong key
5
+ */
6
+ export class ReclaimHostEmptyWrongKeyError extends Error {
7
+ sdkMessage: string;
8
+ error: null;
9
+ code: number;
10
+
11
+ /**
12
+ *
13
+ * @constructor
14
+ * @param {String} [message]
15
+ * @param {Object} [error]
16
+ */
17
+ constructor(
18
+ message: string = MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_EMPTY_OR_WRONG_KEY
19
+ .MESSAGE,
20
+ error: any = null
21
+ ) {
22
+ super(message);
23
+
24
+ if (Error.captureStackTrace) {
25
+ Error.captureStackTrace(this, ReclaimHostEmptyWrongKeyError);
26
+ }
27
+
28
+ this.name = MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_EMPTY_OR_WRONG_KEY.NAME;
29
+ this.sdkMessage =
30
+ message || MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_EMPTY_OR_WRONG_KEY.MESSAGE;
31
+ this.error = error;
32
+
33
+ this.code = MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_EMPTY_OR_WRONG_KEY.CODE;
34
+ }
35
+ }
36
+
37
+ /**
38
+ * Extended Error object for reclaim host role not supported
39
+ */
40
+ export class ReclaimHostNotSupportedError extends Error {
41
+ sdkMessage: string;
42
+ error: null;
43
+ code: number;
44
+
45
+ /**
46
+ *
47
+ * @constructor
48
+ * @param {String} [message]
49
+ * @param {Object} [error]
50
+ */
51
+ constructor(
52
+ message: string = MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_NOT_SUPPORTED.MESSAGE,
53
+ error: any = null
54
+ ) {
55
+ super(message);
56
+
57
+ if (Error.captureStackTrace) {
58
+ Error.captureStackTrace(this, ReclaimHostNotSupportedError);
59
+ }
60
+
61
+ this.name = MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_NOT_SUPPORTED.NAME;
62
+ this.sdkMessage =
63
+ message || MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_NOT_SUPPORTED.MESSAGE;
64
+ this.error = error;
65
+
66
+ this.code = MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_NOT_SUPPORTED.CODE;
67
+ }
68
+ }
69
+
70
+ /**
71
+ * Extended Error object for reclaim host role not allowed for other participants
72
+ */
73
+ export class ReclaimHostNotAllowedError extends Error {
74
+ sdkMessage: string;
75
+ error: null;
76
+ code: number;
77
+
78
+ /**
79
+ *
80
+ * @constructor
81
+ * @param {String} [message]
82
+ * @param {Object} [error]
83
+ */
84
+ constructor(
85
+ message: string = MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_NOT_ALLOWED.MESSAGE,
86
+ error: any = null
87
+ ) {
88
+ super(message);
89
+
90
+ if (Error.captureStackTrace) {
91
+ Error.captureStackTrace(this, ReclaimHostNotAllowedError);
92
+ }
93
+
94
+ this.name = MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_NOT_ALLOWED.NAME;
95
+ this.sdkMessage =
96
+ message || MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_NOT_ALLOWED.MESSAGE;
97
+ this.error = error;
98
+
99
+ this.code = MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_NOT_ALLOWED.CODE;
100
+ }
101
+ }
102
+
103
+ /**
104
+ * Extended Error object for reclaim host role when user is host already
105
+ */
106
+ export class ReclaimHostIsHostAlreadyError extends Error {
107
+ sdkMessage: string;
108
+ error: null;
109
+ code: number;
110
+
111
+ /**
112
+ *
113
+ * @constructor
114
+ * @param {String} [message]
115
+ * @param {Object} [error]
116
+ */
117
+ constructor(
118
+ message: string = MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_IS_ALREADY_HOST.MESSAGE,
119
+ error: any = null
120
+ ) {
121
+ super(message);
122
+
123
+ if (Error.captureStackTrace) {
124
+ Error.captureStackTrace(this, ReclaimHostIsHostAlreadyError);
125
+ }
126
+
127
+ this.name = MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_IS_ALREADY_HOST.NAME;
128
+ this.sdkMessage =
129
+ message || MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_IS_ALREADY_HOST.MESSAGE;
130
+ this.error = error;
131
+
132
+ this.code = MEETINGCONSTANTS.ERROR_DICTIONARY.RECLAIM_HOST_ROLE_IS_ALREADY_HOST.CODE;
133
+ }
134
+ }
@@ -72,13 +72,17 @@ WebExMeetingsErrors[UserNotJoinedError.CODE] = UserNotJoinedError;
72
72
  * @classdesc Raised whenever the user has not established media yet.
73
73
  * @extends WebexMeetingsError
74
74
  * @property {number} code - 30103
75
- * @property {string} message - 'User has not established media yet'
75
+ * @property {string} message - error message
76
76
  */
77
77
  class NoMediaEstablishedYetError extends WebexMeetingsError {
78
78
  static CODE = 30103;
79
79
 
80
+ // eslint-disable-next-line require-jsdoc
80
81
  constructor() {
81
- super(NoMediaEstablishedYetError.CODE, 'User has not established media yet');
82
+ super(
83
+ NoMediaEstablishedYetError.CODE,
84
+ 'Webrtc media connection is missing, call addMedia() first'
85
+ );
82
86
  }
83
87
  }
84
88
 
@@ -103,6 +107,27 @@ class UserInLobbyError extends WebexMeetingsError {
103
107
  export {UserInLobbyError};
104
108
  WebExMeetingsErrors[UserInLobbyError.CODE] = UserInLobbyError;
105
109
 
110
+ /**
111
+ * @class SpaceIDDeprecatedError
112
+ * @classdesc Raised whenever the user passes Space ID as destination for create meeting.
113
+ * @extends WebexMeetingsError
114
+ * @property {number} code - 30105
115
+ * @property {string} message - Using the space ID as a destination is no longer supported. Please refer to the [migration guide](https://github.com/webex/webex-js-sdk/wiki/Migration-to-Unified-Space-Meetings) to migrate to use the meeting ID or SIP address.'
116
+ */
117
+ class SpaceIDDeprecatedError extends WebexMeetingsError {
118
+ static CODE = 30105;
119
+
120
+ constructor() {
121
+ super(
122
+ SpaceIDDeprecatedError.CODE,
123
+ 'Using the space ID as a destination is no longer supported. Please refer to the [migration guide](https://github.com/webex/webex-js-sdk/wiki/Migration-to-Unified-Space-Meetings) to migrate to use the meeting ID or SIP address.'
124
+ );
125
+ }
126
+ }
127
+
128
+ export {SpaceIDDeprecatedError};
129
+ WebExMeetingsErrors[SpaceIDDeprecatedError.CODE] = SpaceIDDeprecatedError;
130
+
106
131
  /**
107
132
  * @class IceGatheringFailed
108
133
  * @classdesc Raised whenever ice gathering fails.
@@ -120,3 +145,20 @@ class IceGatheringFailed extends WebexMeetingsError {
120
145
 
121
146
  export {IceGatheringFailed};
122
147
  WebExMeetingsErrors[IceGatheringFailed.CODE] = IceGatheringFailed;
148
+
149
+ /**
150
+ * @class AddMediaFailed
151
+ * @classdesc Raised whenever we fail to successfully add media to a meeting
152
+ * @extends WebexMeetingsError
153
+ * @property {number} code - 30203
154
+ * @property {string} message - 'Failed to add media'
155
+ */
156
+ class AddMediaFailed extends WebexMeetingsError {
157
+ static CODE = 30203;
158
+
159
+ constructor() {
160
+ super(AddMediaFailed.CODE, 'Failed to add media');
161
+ }
162
+ }
163
+ export {AddMediaFailed};
164
+ WebExMeetingsErrors[AddMediaFailed.CODE] = AddMediaFailed;
@@ -1,4 +1,4 @@
1
- /* eslint-disable no-unused-vars */
1
+ /* eslint-disable @typescript-eslint/no-unused-vars */
2
2
  import LoggerConfig from './logger-config';
3
3
 
4
4
  const LoggerProxy: any = {
@@ -32,6 +32,8 @@ export default class LogsRequest {
32
32
  */
33
33
  async uploadLogs(
34
34
  options: {
35
+ autoupload?: boolean;
36
+ locussessionid?: string;
35
37
  feedbackId?: string;
36
38
  locusId?: string;
37
39
  correlationId?: string;
@@ -40,7 +42,7 @@ export default class LogsRequest {
40
42
  } = {}
41
43
  ) {
42
44
  const id = options.feedbackId || uuid.v4();
43
- const {locusId, correlationId, meetingId, callStart} = options;
45
+ const {locusId, correlationId, meetingId, callStart, locussessionid, autoupload} = options;
44
46
 
45
47
  LoggerProxy.logger.info(
46
48
  `Logs:request#uploadLogs --> uploading user logs for feedbackId: ${id}`
@@ -48,6 +50,8 @@ export default class LogsRequest {
48
50
 
49
51
  try {
50
52
  await this.webex.internal.support.submitLogs({
53
+ autoupload,
54
+ locussessionid,
51
55
  feedbackId: id,
52
56
  locusId,
53
57
  correlationId,
@@ -1,13 +1,18 @@
1
1
  /**
2
- * Simple queue
2
+ * Simple queue in which the elements are always sorted
3
3
  */
4
- export default class SimpleQueue {
5
- queue: any[];
4
+ export default class SortedQueue<ItemType> {
5
+ queue: ItemType[];
6
+ // returns -1 if left < right, 0 if left === right, +1 if left > right
7
+ compareFunc: (left: ItemType, right: ItemType) => number;
8
+
6
9
  /**
7
- * @constructs SimpleQueue
10
+ * @constructs SortedQueue
11
+ * @param {Function} compareFunc comparison function used for sorting the elements of the queue
8
12
  */
9
- constructor() {
13
+ constructor(compareFunc: (left: ItemType, right: ItemType) => number) {
10
14
  this.queue = [];
15
+ this.compareFunc = compareFunc;
11
16
  }
12
17
 
13
18
  /**
@@ -23,8 +28,17 @@ export default class SimpleQueue {
23
28
  * @param {object} item
24
29
  * @returns {undefined}
25
30
  */
26
- enqueue(item: object) {
27
- this.queue.push(item);
31
+ enqueue(item: ItemType) {
32
+ // Find the index of the first item in the queue that's greater or equal to the new item.
33
+ // That's where we want to insert the new item.
34
+ const idx = this.queue.findIndex((existingItem) => {
35
+ return this.compareFunc(existingItem, item) >= 0;
36
+ });
37
+ if (idx >= 0) {
38
+ this.queue.splice(idx, 0, item);
39
+ } else {
40
+ this.queue.push(item);
41
+ }
28
42
  }
29
43
 
30
44
  /**
@@ -32,7 +46,7 @@ export default class SimpleQueue {
32
46
  * Returns null if the queue is empty.
33
47
  * @returns {(object|null)} Queue item or null.
34
48
  */
35
- dequeue() {
49
+ dequeue(): ItemType {
36
50
  if (this.queue.length === 0) {
37
51
  return null;
38
52
  }
package/src/config.ts CHANGED
@@ -10,13 +10,7 @@ export default {
10
10
  meetings: {
11
11
  deviceType: deviceType.WEB,
12
12
  mediaSettings: {
13
- sendAudio: true,
14
- sendVideo: true,
15
- receiveAudio: true,
16
- receiveVideo: true,
17
13
  pstn: false,
18
- sendShare: false,
19
- receiveShare: false,
20
14
  },
21
15
  reconnection: {
22
16
  enabled: false,
@@ -89,11 +83,12 @@ export default {
89
83
  receiveTranscription: false,
90
84
  enableExtmap: false,
91
85
  enableAutomaticLLM: false,
86
+ installedOrgID: undefined,
92
87
  experimental: {
93
88
  enableMediaNegotiatedEvent: false,
94
- enableUnifiedMeetings: false,
95
- enableAdhocMeetings: false,
96
- enableTurnDiscovery: true,
89
+ enableUnifiedMeetings: true,
90
+ enableAdhocMeetings: true,
91
+ enableTcpReachability: false,
97
92
  },
98
93
  degradationPreferences: {
99
94
  maxMacroblocksLimit: 8192,