@webex/plugin-meetings 3.0.0-beta.4 → 3.0.0-beta.40

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 (498) 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/edit-lock-error.js +52 -0
  8. package/dist/breakouts/edit-lock-error.js.map +1 -0
  9. package/dist/breakouts/index.js +546 -0
  10. package/dist/breakouts/index.js.map +1 -0
  11. package/dist/breakouts/request.js +78 -0
  12. package/dist/breakouts/request.js.map +1 -0
  13. package/dist/breakouts/utils.js +48 -0
  14. package/dist/breakouts/utils.js.map +1 -0
  15. package/dist/common/browser-detection.js +1 -20
  16. package/dist/common/browser-detection.js.map +1 -1
  17. package/dist/common/collection.js +5 -20
  18. package/dist/common/collection.js.map +1 -1
  19. package/dist/common/config.js +0 -7
  20. package/dist/common/config.js.map +1 -1
  21. package/dist/common/errors/captcha-error.js +10 -24
  22. package/dist/common/errors/captcha-error.js.map +1 -1
  23. package/dist/common/errors/intent-to-join.js +11 -24
  24. package/dist/common/errors/intent-to-join.js.map +1 -1
  25. package/dist/common/errors/join-meeting.js +12 -25
  26. package/dist/common/errors/join-meeting.js.map +1 -1
  27. package/dist/common/errors/media.js +10 -24
  28. package/dist/common/errors/media.js.map +1 -1
  29. package/dist/common/errors/parameter.js +5 -33
  30. package/dist/common/errors/parameter.js.map +1 -1
  31. package/dist/common/errors/password-error.js +10 -24
  32. package/dist/common/errors/password-error.js.map +1 -1
  33. package/dist/common/errors/permission.js +9 -23
  34. package/dist/common/errors/permission.js.map +1 -1
  35. package/dist/common/errors/reconnection-in-progress.js +0 -17
  36. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  37. package/dist/common/errors/reconnection.js +10 -24
  38. package/dist/common/errors/reconnection.js.map +1 -1
  39. package/dist/common/errors/stats.js +10 -24
  40. package/dist/common/errors/stats.js.map +1 -1
  41. package/dist/common/errors/webex-errors.js +6 -41
  42. package/dist/common/errors/webex-errors.js.map +1 -1
  43. package/dist/common/errors/webex-meetings-error.js +5 -25
  44. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  45. package/dist/common/events/events-scope.js +0 -22
  46. package/dist/common/events/events-scope.js.map +1 -1
  47. package/dist/common/events/events.js +0 -23
  48. package/dist/common/events/events.js.map +1 -1
  49. package/dist/common/events/trigger-proxy.js +0 -12
  50. package/dist/common/events/trigger-proxy.js.map +1 -1
  51. package/dist/common/events/util.js +0 -15
  52. package/dist/common/events/util.js.map +1 -1
  53. package/dist/common/logs/logger-config.js +0 -4
  54. package/dist/common/logs/logger-config.js.map +1 -1
  55. package/dist/common/logs/logger-proxy.js +1 -8
  56. package/dist/common/logs/logger-proxy.js.map +1 -1
  57. package/dist/common/logs/request.js +37 -60
  58. package/dist/common/logs/request.js.map +1 -1
  59. package/dist/common/queue.js +4 -14
  60. package/dist/common/queue.js.map +1 -1
  61. package/dist/config.js +6 -6
  62. package/dist/config.js.map +1 -1
  63. package/dist/constants.js +109 -49
  64. package/dist/constants.js.map +1 -1
  65. package/dist/controls-options-manager/constants.js +14 -0
  66. package/dist/controls-options-manager/constants.js.map +1 -0
  67. package/dist/controls-options-manager/enums.js +15 -0
  68. package/dist/controls-options-manager/enums.js.map +1 -0
  69. package/dist/controls-options-manager/index.js +203 -0
  70. package/dist/controls-options-manager/index.js.map +1 -0
  71. package/dist/controls-options-manager/util.js +28 -0
  72. package/dist/controls-options-manager/util.js.map +1 -0
  73. package/dist/index.js +11 -18
  74. package/dist/index.js.map +1 -1
  75. package/dist/locus-info/controlsUtils.js +12 -29
  76. package/dist/locus-info/controlsUtils.js.map +1 -1
  77. package/dist/locus-info/embeddedAppsUtils.js +3 -26
  78. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  79. package/dist/locus-info/fullState.js +0 -15
  80. package/dist/locus-info/fullState.js.map +1 -1
  81. package/dist/locus-info/hostUtils.js +4 -12
  82. package/dist/locus-info/hostUtils.js.map +1 -1
  83. package/dist/locus-info/index.js +186 -192
  84. package/dist/locus-info/index.js.map +1 -1
  85. package/dist/locus-info/infoUtils.js +3 -37
  86. package/dist/locus-info/infoUtils.js.map +1 -1
  87. package/dist/locus-info/mediaSharesUtils.js +12 -38
  88. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  89. package/dist/locus-info/parser.js +92 -118
  90. package/dist/locus-info/parser.js.map +1 -1
  91. package/dist/locus-info/selfUtils.js +34 -91
  92. package/dist/locus-info/selfUtils.js.map +1 -1
  93. package/dist/media/index.js +66 -153
  94. package/dist/media/index.js.map +1 -1
  95. package/dist/media/properties.js +83 -117
  96. package/dist/media/properties.js.map +1 -1
  97. package/dist/media/util.js +2 -9
  98. package/dist/media/util.js.map +1 -1
  99. package/dist/mediaQualityMetrics/config.js +505 -495
  100. package/dist/mediaQualityMetrics/config.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 +2141 -2210
  104. package/dist/meeting/index.js.map +1 -1
  105. package/dist/meeting/muteState.js +59 -82
  106. package/dist/meeting/muteState.js.map +1 -1
  107. package/dist/meeting/request.js +308 -264
  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 +45 -217
  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 +95 -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 +1 -13
  148. package/dist/metrics/config.js.map +1 -1
  149. package/dist/metrics/constants.js +1 -6
  150. package/dist/metrics/constants.js.map +1 -1
  151. package/dist/metrics/index.js +54 -156
  152. package/dist/metrics/index.js.map +1 -1
  153. package/dist/multistream/mediaRequestManager.js +74 -52
  154. package/dist/multistream/mediaRequestManager.js.map +1 -1
  155. package/dist/multistream/receiveSlot.js +48 -65
  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 +60 -76
  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 +147 -183
  174. package/dist/reachability/index.js.map +1 -1
  175. package/dist/reachability/request.js +15 -23
  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 -456
  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 +48 -70
  192. package/dist/roap/index.js.map +1 -1
  193. package/dist/roap/request.js +143 -131
  194. package/dist/roap/request.js.map +1 -1
  195. package/dist/roap/turnDiscovery.js +91 -98
  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 +361 -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/edit-lock-error.d.ts +15 -0
  208. package/dist/types/breakouts/index.d.ts +5 -0
  209. package/dist/types/breakouts/request.d.ts +22 -0
  210. package/dist/types/breakouts/utils.d.ts +8 -0
  211. package/dist/types/common/browser-detection.d.ts +9 -0
  212. package/dist/types/common/collection.d.ts +48 -0
  213. package/dist/types/common/config.d.ts +2 -0
  214. package/dist/types/common/errors/captcha-error.d.ts +15 -0
  215. package/dist/types/common/errors/intent-to-join.d.ts +16 -0
  216. package/dist/types/common/errors/join-meeting.d.ts +17 -0
  217. package/dist/types/common/errors/media.d.ts +15 -0
  218. package/dist/types/common/errors/parameter.d.ts +15 -0
  219. package/dist/types/common/errors/password-error.d.ts +15 -0
  220. package/dist/types/common/errors/permission.d.ts +14 -0
  221. package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
  222. package/dist/types/common/errors/reconnection.d.ts +15 -0
  223. package/dist/types/common/errors/stats.d.ts +15 -0
  224. package/dist/types/common/errors/webex-errors.d.ts +69 -0
  225. package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
  226. package/dist/types/common/events/events-scope.d.ts +17 -0
  227. package/dist/types/common/events/events.d.ts +12 -0
  228. package/dist/types/common/events/trigger-proxy.d.ts +2 -0
  229. package/dist/types/common/events/util.d.ts +2 -0
  230. package/dist/types/common/logs/logger-config.d.ts +2 -0
  231. package/dist/types/common/logs/logger-proxy.d.ts +2 -0
  232. package/dist/types/common/logs/request.d.ts +34 -0
  233. package/dist/types/common/queue.d.ts +32 -0
  234. package/dist/types/config.d.ts +77 -0
  235. package/dist/types/constants.d.ts +916 -0
  236. package/dist/types/controls-options-manager/constants.d.ts +4 -0
  237. package/dist/types/controls-options-manager/enums.d.ts +5 -0
  238. package/dist/types/controls-options-manager/index.d.ts +120 -0
  239. package/dist/types/controls-options-manager/util.d.ts +7 -0
  240. package/dist/types/index.d.ts +6 -0
  241. package/dist/types/locus-info/controlsUtils.d.ts +2 -0
  242. package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
  243. package/dist/types/locus-info/fullState.d.ts +2 -0
  244. package/dist/types/locus-info/hostUtils.d.ts +2 -0
  245. package/dist/types/locus-info/index.d.ts +269 -0
  246. package/dist/types/locus-info/infoUtils.d.ts +2 -0
  247. package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
  248. package/dist/types/locus-info/parser.d.ts +212 -0
  249. package/dist/types/locus-info/selfUtils.d.ts +2 -0
  250. package/dist/types/media/index.d.ts +32 -0
  251. package/dist/types/media/properties.d.ts +108 -0
  252. package/dist/types/media/util.d.ts +2 -0
  253. package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
  254. package/dist/types/meeting/in-meeting-actions.d.ts +83 -0
  255. package/dist/types/meeting/index.d.ts +1699 -0
  256. package/dist/types/meeting/muteState.d.ts +116 -0
  257. package/dist/types/meeting/request.d.ts +271 -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 +169 -0
  278. package/dist/types/metrics/constants.d.ts +53 -0
  279. package/dist/types/metrics/index.d.ts +152 -0
  280. package/dist/types/multistream/mediaRequestManager.d.ts +51 -0
  281. package/dist/types/multistream/receiveSlot.d.ts +64 -0
  282. package/dist/types/multistream/receiveSlotManager.d.ts +46 -0
  283. package/dist/types/multistream/remoteMedia.d.ts +100 -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 +37 -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 +38 -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 +27 -21
  308. package/src/breakouts/README.md +199 -0
  309. package/src/breakouts/breakout.ts +130 -0
  310. package/src/breakouts/collection.ts +19 -0
  311. package/src/breakouts/edit-lock-error.ts +25 -0
  312. package/src/breakouts/index.ts +504 -0
  313. package/src/breakouts/request.ts +55 -0
  314. package/src/breakouts/utils.ts +39 -0
  315. package/src/common/{browser-detection.js → browser-detection.ts} +9 -6
  316. package/src/common/collection.ts +9 -7
  317. package/src/common/{config.js → config.ts} +1 -1
  318. package/src/common/errors/{captcha-error.js → captcha-error.ts} +11 -7
  319. package/src/common/errors/{intent-to-join.js → intent-to-join.ts} +12 -7
  320. package/src/common/errors/{join-meeting.js → join-meeting.ts} +17 -8
  321. package/src/common/errors/{media.js → media.ts} +11 -7
  322. package/src/common/errors/parameter.ts +11 -7
  323. package/src/common/errors/{password-error.js → password-error.ts} +11 -7
  324. package/src/common/errors/{permission.js → permission.ts} +10 -6
  325. package/src/common/errors/{reconnection.js → reconnection.ts} +11 -7
  326. package/src/common/errors/{stats.js → stats.ts} +11 -7
  327. package/src/common/errors/{webex-errors.js → webex-errors.ts} +8 -7
  328. package/src/common/errors/{webex-meetings-error.js → webex-meetings-error.ts} +4 -2
  329. package/src/common/events/{events-scope.js → events-scope.ts} +6 -2
  330. package/src/common/events/{events.js → events.ts} +5 -1
  331. package/src/common/events/{trigger-proxy.js → trigger-proxy.ts} +9 -5
  332. package/src/common/events/{util.js → util.ts} +2 -3
  333. package/src/common/logs/{logger-config.js → logger-config.ts} +1 -2
  334. package/src/common/logs/logger-proxy.ts +44 -0
  335. package/src/common/logs/{request.js → request.ts} +22 -9
  336. package/src/common/queue.ts +1 -2
  337. package/src/{config.js → config.ts} +17 -12
  338. package/src/constants.ts +62 -5
  339. package/src/controls-options-manager/constants.ts +5 -0
  340. package/src/controls-options-manager/enums.ts +6 -0
  341. package/src/controls-options-manager/index.ts +183 -0
  342. package/src/controls-options-manager/util.ts +20 -0
  343. package/src/index.js +4 -1
  344. package/src/locus-info/controlsUtils.ts +114 -0
  345. package/src/locus-info/{embeddedAppsUtils.js → embeddedAppsUtils.ts} +5 -6
  346. package/src/locus-info/{fullState.js → fullState.ts} +16 -12
  347. package/src/locus-info/{hostUtils.js → hostUtils.ts} +9 -8
  348. package/src/locus-info/{index.js → index.ts} +150 -66
  349. package/src/locus-info/{infoUtils.js → infoUtils.ts} +19 -8
  350. package/src/locus-info/{mediaSharesUtils.js → mediaSharesUtils.ts} +17 -17
  351. package/src/locus-info/{parser.js → parser.ts} +67 -79
  352. package/src/locus-info/{selfUtils.js → selfUtils.ts} +123 -68
  353. package/src/media/{index.js → index.ts} +182 -173
  354. package/src/media/{properties.js → properties.ts} +60 -37
  355. package/src/media/{util.js → util.ts} +2 -2
  356. package/src/mediaQualityMetrics/config.ts +384 -0
  357. package/src/meeting/in-meeting-actions.ts +31 -3
  358. package/src/meeting/{index.js → index.ts} +2512 -1579
  359. package/src/meeting/{muteState.js → muteState.ts} +95 -49
  360. package/src/meeting/{request.js → request.ts} +326 -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} +117 -119
  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} +253 -92
  381. package/src/metrics/{constants.js → constants.ts} +0 -6
  382. package/src/metrics/{index.js → index.ts} +105 -94
  383. package/src/multistream/mediaRequestManager.ts +101 -39
  384. package/src/multistream/receiveSlot.ts +62 -26
  385. package/src/multistream/receiveSlotManager.ts +35 -21
  386. package/src/multistream/remoteMedia.ts +38 -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} +109 -85
  394. package/src/reachability/request.ts +46 -35
  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} +196 -103
  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} +77 -60
  403. package/src/roap/request.ts +172 -0
  404. package/src/roap/turnDiscovery.ts +81 -41
  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 +665 -464
  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/edit-lock-error.ts +30 -0
  416. package/test/unit/spec/breakouts/index.ts +707 -0
  417. package/test/unit/spec/breakouts/request.ts +104 -0
  418. package/test/unit/spec/breakouts/utils.js +47 -0
  419. package/test/unit/spec/common/browser-detection.js +9 -28
  420. package/test/unit/spec/controls-options-manager/index.js +124 -0
  421. package/test/unit/spec/controls-options-manager/util.js +66 -0
  422. package/test/unit/spec/fixture/locus.js +92 -90
  423. package/test/unit/spec/locus-info/controlsUtils.js +25 -5
  424. package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
  425. package/test/unit/spec/locus-info/index.js +104 -2
  426. package/test/unit/spec/locus-info/infoUtils.js +41 -32
  427. package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
  428. package/test/unit/spec/locus-info/lib/SeqCmp.json +513 -685
  429. package/test/unit/spec/locus-info/parser.js +3 -9
  430. package/test/unit/spec/locus-info/selfConstant.js +97 -103
  431. package/test/unit/spec/locus-info/selfUtils.js +105 -12
  432. package/test/unit/spec/media/index.ts +39 -53
  433. package/test/unit/spec/media/properties.ts +9 -9
  434. package/test/unit/spec/meeting/in-meeting-actions.ts +13 -2
  435. package/test/unit/spec/meeting/index.js +2253 -811
  436. package/test/unit/spec/meeting/muteState.js +74 -55
  437. package/test/unit/spec/meeting/request.js +141 -43
  438. package/test/unit/spec/meeting/utils.js +106 -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 +318 -64
  453. package/test/unit/spec/multistream/receiveSlot.ts +68 -17
  454. package/test/unit/spec/multistream/receiveSlotManager.ts +41 -13
  455. package/test/unit/spec/multistream/remoteMedia.ts +38 -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 +70 -27
  461. package/test/unit/spec/reachability/request.js +66 -0
  462. package/test/unit/spec/reconnection-manager/index.js +58 -30
  463. package/test/unit/spec/recording-controller/index.js +231 -0
  464. package/test/unit/spec/recording-controller/util.js +102 -0
  465. package/test/unit/spec/roap/index.ts +12 -8
  466. package/test/unit/spec/roap/request.ts +217 -0
  467. package/test/unit/spec/roap/turnDiscovery.ts +72 -49
  468. package/test/unit/spec/stats-analyzer/index.js +86 -57
  469. package/test/utils/cmr.js +44 -42
  470. package/test/utils/constants.js +9 -0
  471. package/test/utils/testUtils.js +98 -77
  472. package/test/utils/webex-config.js +22 -18
  473. package/test/utils/webex-test-users.js +57 -50
  474. package/tsconfig.json +6 -0
  475. package/dist/media/internal-media-core-wrapper.js +0 -22
  476. package/dist/media/internal-media-core-wrapper.js.map +0 -1
  477. package/dist/meeting/effectsState.js +0 -327
  478. package/dist/meeting/effectsState.js.map +0 -1
  479. package/dist/multistream/multistreamMedia.js +0 -116
  480. package/dist/multistream/multistreamMedia.js.map +0 -1
  481. package/dist/peer-connection-manager/util.js +0 -124
  482. package/dist/peer-connection-manager/util.js.map +0 -1
  483. package/src/common/logs/logger-proxy.js +0 -33
  484. package/src/locus-info/controlsUtils.js +0 -102
  485. package/src/media/internal-media-core-wrapper.ts +0 -9
  486. package/src/mediaQualityMetrics/config.js +0 -382
  487. package/src/meeting/effectsState.js +0 -205
  488. package/src/meeting-info/meeting-info-v2.js +0 -255
  489. package/src/meetings/index.js +0 -1015
  490. package/src/multistream/multistreamMedia.ts +0 -92
  491. package/src/peer-connection-manager/util.ts +0 -117
  492. package/src/roap/request.js +0 -127
  493. package/src/statsAnalyzer/global.js +0 -133
  494. package/src/statsAnalyzer/index.js +0 -1006
  495. package/src/statsAnalyzer/mqaUtil.js +0 -173
  496. package/test/unit/spec/meeting/effectsState.js +0 -291
  497. package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +0 -389
  498. /package/src/common/errors/{reconnection-in-progress.js → reconnection-in-progress.ts} +0 -0
@@ -1,78 +1,52 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
-
5
4
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
6
-
7
5
  _Object$defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
-
11
8
  exports.default = void 0;
12
-
13
9
  var _values = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/values"));
14
-
15
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
16
-
17
11
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
18
-
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
19
13
  var _includes2 = _interopRequireDefault(require("lodash/includes"));
20
-
21
14
  var _util = _interopRequireDefault(require("util"));
22
-
23
15
  var _uuid = _interopRequireDefault(require("uuid"));
24
-
25
16
  var _window = _interopRequireDefault(require("global/window"));
26
-
27
17
  var _ipAnonymize = _interopRequireDefault(require("ip-anonymize"));
28
-
18
+ var _internalPluginMetrics = require("@webex/internal-plugin-metrics");
29
19
  var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
30
-
31
20
  var _constants = require("../constants");
32
-
33
21
  var _browserDetection = _interopRequireDefault(require("../common/browser-detection"));
34
-
35
22
  var _config = require("./config");
36
-
37
23
  /*!
38
24
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
39
25
  */
40
- var OSMap = {
41
- 'Chrome OS': _config.OS_NAME.chrome,
42
- macOS: _config.OS_NAME.MAC,
43
- Windows: _config.OS_NAME.WINDOWS,
44
- iOS: _config.OS_NAME.IOS,
45
- Android: _config.OS_NAME.ANDROID,
46
- Linux: _config.OS_NAME.LINUX
47
- };
48
26
 
49
27
  var _BrowserDetection = (0, _browserDetection.default)(),
50
- getOSName = _BrowserDetection.getOSName,
51
- getOSVersion = _BrowserDetection.getOSVersion,
52
- getBrowserName = _BrowserDetection.getBrowserName,
53
- getBrowserVersion = _BrowserDetection.getBrowserVersion; // Apply a CIDR /28 format to the IPV4 and /96 to the IPV6 addresses
54
- // For reference : https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing
55
-
28
+ getOSName = _BrowserDetection.getOSName,
29
+ getOSVersion = _BrowserDetection.getOSVersion,
30
+ getBrowserName = _BrowserDetection.getBrowserName,
31
+ getBrowserVersion = _BrowserDetection.getBrowserVersion;
56
32
 
33
+ // Apply a CIDR /28 format to the IPV4 and /96 to the IPV6 addresses
34
+ // For reference : https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing
57
35
  var anonymizeIPAddress = function anonymizeIPAddress(localIp) {
58
36
  return (0, _ipAnonymize.default)(localIp, 28, 96);
59
37
  };
60
-
61
38
  var triggerTimers = function triggerTimers(_ref) {
62
39
  var event = _ref.event,
63
- meeting = _ref.meeting,
64
- data = _ref.data;
65
-
40
+ meeting = _ref.meeting,
41
+ data = _ref.data;
66
42
  switch (event) {
67
43
  case _config.eventType.CALL_INITIATED:
68
44
  meeting.setStartCallInitiateJoinReq();
69
45
  break;
70
-
71
46
  case _config.eventType.LOCUS_JOIN_REQUEST:
72
47
  meeting.setEndCallInitiateJoinReq();
73
48
  meeting.setStartJoinReqResp();
74
49
  break;
75
-
76
50
  case _config.eventType.LOCUS_JOIN_RESPONSE:
77
51
  meeting.setEndJoinReqResp();
78
52
  meeting.setStartSetupDelay(_config.mediaType.AUDIO);
@@ -80,44 +54,41 @@ var triggerTimers = function triggerTimers(_ref) {
80
54
  meeting.setStartSendingMediaDelay(_config.mediaType.AUDIO);
81
55
  meeting.setStartSendingMediaDelay(_config.mediaType.VIDEO);
82
56
  break;
83
-
84
57
  case _config.eventType.RECEIVING_MEDIA_START:
85
58
  meeting.setEndSetupDelay(data.mediaType);
86
59
  break;
87
-
88
60
  case _config.eventType.SENDING_MEDIA_START:
89
61
  meeting.setEndSendingMediaDelay(data.mediaType);
90
62
  break;
91
-
92
63
  case _config.eventType.LOCAL_SDP_GENERATED:
93
64
  meeting.setStartLocalSDPGenRemoteSDPRecvDelay();
94
65
  break;
95
-
96
66
  case _config.eventType.REMOTE_SDP_RECEIVED:
97
67
  meeting.setEndLocalSDPGenRemoteSDPRecvDelay();
98
68
  break;
99
-
100
69
  default:
101
70
  break;
102
71
  }
103
72
  };
73
+
104
74
  /**
105
75
  * @description Metrics handles all the call metrics events
106
76
  * @export
107
77
  * @class Metrics
108
78
  */
109
-
110
-
111
79
  var Metrics = /*#__PURE__*/function () {
112
80
  /**
113
- * Create Metrics Object
114
- * @constructor
115
- * @public
116
- * @memberof Meetings
117
- */
81
+ * Create Metrics Object
82
+ * @constructor
83
+ * @public
84
+ * @memberof Meetings
85
+ */
118
86
  function Metrics() {
119
87
  (0, _classCallCheck2.default)(this, Metrics);
120
-
88
+ (0, _defineProperty2.default)(this, "_events", void 0);
89
+ (0, _defineProperty2.default)(this, "keys", void 0);
90
+ (0, _defineProperty2.default)(this, "meetingCollection", void 0);
91
+ (0, _defineProperty2.default)(this, "webex", void 0);
121
92
  if (!Metrics.instance) {
122
93
  /**
123
94
  * @instance
@@ -127,20 +98,18 @@ var Metrics = /*#__PURE__*/function () {
127
98
  */
128
99
  this._events = [];
129
100
  /**
130
- * @instance
131
- * @type {MeetingCollection}
132
- * @private
133
- * @memberof Metrics
134
- */
135
-
101
+ * @instance
102
+ * @type {MeetingCollection}
103
+ * @private
104
+ * @memberof Metrics
105
+ */
136
106
  this.meetingCollection = null;
137
107
  /**
138
- * @instance
139
- * @type {MeetingCollection}
140
- * @private
141
- * @memberof Metrics
142
- */
143
-
108
+ * @instance
109
+ * @type {MeetingCollection}
110
+ * @private
111
+ * @memberof Metrics
112
+ */
144
113
  this.keys = (0, _values.default)(_config.eventType);
145
114
  /**
146
115
  * @instance
@@ -148,12 +117,13 @@ var Metrics = /*#__PURE__*/function () {
148
117
  * @private
149
118
  * @memberof Metrics
150
119
  */
151
-
152
120
  Metrics.instance = this;
153
121
  }
154
122
 
123
+ // eslint-disable-next-line no-constructor-return
155
124
  return Metrics.instance;
156
125
  }
126
+
157
127
  /**
158
128
  * Initializes the Metrics singleton with a meeting Collection.
159
129
  *
@@ -162,14 +132,13 @@ var Metrics = /*#__PURE__*/function () {
162
132
  *
163
133
  * @returns {void}
164
134
  */
165
-
166
-
167
135
  (0, _createClass2.default)(Metrics, [{
168
136
  key: "initialSetup",
169
137
  value: function initialSetup(meetingCollection, webex) {
170
138
  this.meetingCollection = meetingCollection;
171
139
  this.webex = webex;
172
140
  }
141
+
173
142
  /**
174
143
  * poste Meeting event metrics
175
144
  * @param {object} options {meetingId/meeting} as a json object
@@ -179,32 +148,26 @@ var Metrics = /*#__PURE__*/function () {
179
148
  * @param {object} options.event
180
149
  * @returns {object} null
181
150
  */
182
-
183
151
  }, {
184
152
  key: "postEvent",
185
153
  value: function postEvent(options) {
186
154
  var meetingId = options.meetingId,
187
- _options$data = options.data,
188
- data = _options$data === void 0 ? {} : _options$data,
189
- event = options.event;
155
+ _options$data = options.data,
156
+ data = _options$data === void 0 ? {} : _options$data,
157
+ event = options.event;
190
158
  var meeting = options.meeting;
191
-
192
159
  if (this.keys.indexOf(event) === -1) {
193
160
  _loggerProxy.default.logger.error("Metrics:index#postEvent --> Event ".concat(event, " doesn't exist in dictionary"));
194
161
  }
195
-
196
162
  if (!meeting && meetingId) {
197
163
  meeting = this.meetingCollection.get(meetingId);
198
164
  options.meeting = meeting;
199
165
  }
200
-
201
166
  if (meeting) {
202
167
  triggerTimers(options);
203
-
204
168
  if (!meeting.callEvents) {
205
169
  meeting.callEvents = [];
206
170
  }
207
-
208
171
  if (event === _config.eventType.MEDIA_QUALITY) {
209
172
  data.event = event;
210
173
  meeting.sendMediaQualityAnalyzerMetrics(data);
@@ -217,17 +180,18 @@ var Metrics = /*#__PURE__*/function () {
217
180
  _loggerProxy.default.logger.info("Metrics:index#postEvent --> Event received for meetingId:".concat(meetingId, ", but meeting not found in collection."));
218
181
  }
219
182
  }
183
+
220
184
  /**
221
185
  * Docs for Call analyzer metrics
222
- * https://sqbu-github.cisco.com/WebExSquared/call-analyzer/wiki
223
- * https://sqbu-github.cisco.com/WebExSquared/event-dictionary/blob/master/diagnostic-events.raml
224
- */
186
+ * https://sqbu-github.cisco.com/WebExSquared/call-analyzer/wiki
187
+ * https://sqbu-github.cisco.com/WebExSquared/event-dictionary/blob/master/diagnostic-events.raml
188
+ */
225
189
 
190
+ // eslint-disable-next-line @typescript-eslint/no-shadow
226
191
  }, {
227
192
  key: "initPayload",
228
193
  value: function initPayload(eventType, identifiers, options) {
229
194
  var _this$webex$meetings$, _this$webex$meetings$2;
230
-
231
195
  var payload = {
232
196
  eventId: _uuid.default.v4(),
233
197
  version: 1,
@@ -241,7 +205,7 @@ var Metrics = /*#__PURE__*/function () {
241
205
  localNetworkPrefix: anonymizeIPAddress((_this$webex$meetings$ = this.webex.meetings.geoHintInfo) === null || _this$webex$meetings$ === void 0 ? void 0 : _this$webex$meetings$.clientAddress),
242
206
  osVersion: getOSVersion() || 'unknown',
243
207
  subClientType: options.subClientType,
244
- os: this.getOsName(),
208
+ os: (0, _internalPluginMetrics.getOSNameInternal)(),
245
209
  browser: getBrowserName(),
246
210
  browserVersion: getBrowserVersion()
247
211
  }
@@ -258,63 +222,41 @@ var Metrics = /*#__PURE__*/function () {
258
222
  webClientDomain: _window.default.location.hostname
259
223
  }
260
224
  }
261
- }; // TODO: more options should be checked and some of them should be mandatory in certain conditions
225
+ };
262
226
 
227
+ // TODO: more options should be checked and some of them should be mandatory in certain conditions
263
228
  if (options) {
264
229
  if (Object.prototype.hasOwnProperty.call(options, 'canProceed')) {
265
230
  payload.event.canProceed = options.canProceed;
266
231
  }
267
-
268
232
  if (options.errors) {
269
233
  payload.event.errors = options.errors;
270
234
  }
271
-
272
235
  if (options.mediaType) {
273
236
  payload.event.mediaType = options.mediaType;
274
237
  }
275
-
276
238
  if (options.trigger) {
277
239
  payload.event.trigger = options.trigger;
278
240
  }
279
-
280
241
  if (options.pstnAudioType) {
281
242
  payload.event.pstnAudioType = options.pstnAudioType;
282
243
  }
283
-
284
244
  if (options.mediaCapabilities) {
285
245
  payload.event.mediaCapabilities = options.mediaCapabilities;
286
246
  }
287
-
288
247
  if (options.recoveredBy) {
289
248
  payload.event.recoveredBy = options.recoveredBy;
290
249
  }
291
-
292
250
  if (options.joinTimes) {
293
251
  payload.event.joinTimes = options.joinTimes;
294
252
  }
295
-
296
253
  if (options.isRoapCallEnabled) {
297
254
  payload.event.isRoapCallEnabled = options.isRoapCallEnabled;
298
255
  }
299
256
  }
300
-
301
257
  return payload;
302
258
  }
303
- /**
304
- * returns metrics friendly OS versions
305
- * @param {String} osName Os name
306
- * @returns {String}
307
- * @private
308
- * @memberof Metrics
309
- */
310
259
 
311
- }, {
312
- key: "getOsName",
313
- value: function getOsName() {
314
- var _OSMap$getOSName;
315
-
316
- return (_OSMap$getOSName = OSMap[getOSName()]) !== null && _OSMap$getOSName !== void 0 ? _OSMap$getOSName : _config.OS_NAME.OTHERS;
317
- }
318
260
  /**
319
261
  * get the payload specific for a media quality event through call analyzer
320
262
  * @param {String} eventType the event name
@@ -329,16 +271,16 @@ var Metrics = /*#__PURE__*/function () {
329
271
  * @public
330
272
  * @memberof Metrics
331
273
  */
332
-
333
274
  }, {
334
275
  key: "initMediaPayload",
335
- value: function initMediaPayload(eventType, identifiers) {
276
+ value: function initMediaPayload(
277
+ // eslint-disable-next-line @typescript-eslint/no-shadow
278
+ eventType, identifiers) {
336
279
  var _this$webex$meetings$3, _this$webex$meetings$4;
337
-
338
280
  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
339
281
  var audioSetupDelay = options.audioSetupDelay,
340
- videoSetupDelay = options.videoSetupDelay,
341
- joinTimes = options.joinTimes;
282
+ videoSetupDelay = options.videoSetupDelay,
283
+ joinTimes = options.joinTimes;
342
284
  var payload = {
343
285
  eventId: _uuid.default.v4(),
344
286
  version: 1,
@@ -353,7 +295,7 @@ var Metrics = /*#__PURE__*/function () {
353
295
  // TODO: Only clientType: 'TEAMS_CLIENT' is whitelisted
354
296
  clientVersion: "".concat(_config.CLIENT_NAME, "/").concat(this.webex.version),
355
297
  localNetworkPrefix: anonymizeIPAddress((_this$webex$meetings$3 = this.webex.meetings.geoHintInfo) === null || _this$webex$meetings$3 === void 0 ? void 0 : _this$webex$meetings$3.clientAddress),
356
- os: this.getOsName(),
298
+ os: (0, _internalPluginMetrics.getOSNameInternal)(),
357
299
  osVersion: getOSVersion() || _config.UNKNOWN,
358
300
  subClientType: options.subClientType,
359
301
  browser: getBrowserName(),
@@ -384,6 +326,7 @@ var Metrics = /*#__PURE__*/function () {
384
326
  };
385
327
  return payload;
386
328
  }
329
+
387
330
  /**
388
331
  * This function Parses a Locus error and returns a diagnostic event payload.
389
332
  * It should keep updating from:
@@ -394,12 +337,10 @@ var Metrics = /*#__PURE__*/function () {
394
337
  * @returns {{showToUser: boolean, category: string, errorDescription: string,
395
338
  * errorCode: number, errorData: *, fatal: boolean, name: string}}
396
339
  */
397
-
398
340
  }, {
399
341
  key: "parseLocusError",
400
342
  value: function parseLocusError(err, showToUser) {
401
343
  var errorCode;
402
-
403
344
  if (err && err.statusCode && err.statusCode >= 500) {
404
345
  errorCode = 1003;
405
346
  } else if (err && err.body && err.body.errorCode) {
@@ -408,132 +349,102 @@ var Metrics = /*#__PURE__*/function () {
408
349
  case _constants.MEETING_ERRORS.FREE_USER_MAX_PARTICIPANTS_EXCEEDED:
409
350
  errorCode = 3007;
410
351
  break;
411
-
412
352
  case _constants.MEETING_ERRORS.PAID_USER_MAX_PARTICIPANTS_EXCEEDED:
413
353
  case _constants.MEETING_ERRORS.SERVICE_MAX_PARTICIPANTS_EXCEEDED:
414
354
  errorCode = 3002;
415
355
  break;
416
-
417
356
  case _constants.MEETING_ERRORS.INACTIVE:
418
357
  errorCode = 4001;
419
358
  break;
420
-
421
359
  case _constants.MEETING_ERRORS.EXCEEDED_MAX_JOINED_PARTICIPANTS:
422
360
  case _constants.MEETING_ERRORS.EXCEEDED_SERVICE_MAX_PARTICIPANTS:
423
361
  errorCode = 3001;
424
362
  break;
425
-
426
363
  case _constants.MEETING_ERRORS.MEETING_IS_LOCKED:
427
364
  errorCode = 4002;
428
365
  break;
429
-
430
366
  case _constants.MEETING_ERRORS.MEETING_IS_TERMINATING:
431
367
  errorCode = 4003;
432
368
  break;
433
-
434
369
  case _constants.MEETING_ERRORS.MEETING_REQUIRE_MODERATOR_PIN_INTENT:
435
370
  errorCode = 4004;
436
371
  break;
437
-
438
372
  case _constants.MEETING_ERRORS.MEETING_REQUIRE_MODERATOR_PIN:
439
373
  errorCode = 4005;
440
374
  break;
441
-
442
375
  case _constants.MEETING_ERRORS.MEETING_REQUIRE_MODERATOR_ROLE:
443
376
  errorCode = 4006;
444
377
  break;
445
-
446
378
  case _constants.MEETING_ERRORS.JOIN_RESTRICTED_USER:
447
379
  case _constants.MEETING_ERRORS.GET_RESTRICTED_USER:
448
380
  case _constants.MEETING_ERRORS.CREATE_MEDIA_RESTRICTED_USER:
449
381
  errorCode = 3005;
450
382
  break;
451
-
452
383
  case _constants.MEETING_ERRORS.JOIN_RESTRICTED_USER_NOT_IN_ROOM:
453
384
  errorCode = 4007;
454
385
  break;
455
-
456
386
  case _constants.MEETING_ERRORS.MEETING_NOT_FOUND:
457
387
  errorCode = 4011;
458
388
  break;
459
-
460
389
  case _constants.MEETING_ERRORS.NOT_WEBEX_SITE:
461
390
  errorCode = 4012;
462
391
  break;
463
-
464
392
  case _constants.MEETING_ERRORS.INVALID_JOIN_TIME:
465
393
  errorCode = 4013;
466
394
  break;
467
-
468
395
  case _constants.MEETING_ERRORS.PHONE_NUMBER_NOT_A_NUMBER:
469
396
  errorCode = 4016;
470
397
  break;
471
-
472
398
  case _constants.MEETING_ERRORS.PHONE_NUMBER_TOO_LONG:
473
399
  errorCode = 4017;
474
400
  break;
475
-
476
401
  case _constants.MEETING_ERRORS.INVALID_DIALABLE_KEY:
477
402
  errorCode = 4018;
478
403
  break;
479
-
480
404
  case _constants.MEETING_ERRORS.ONE_ON_ONE_TO_SELF_NOT_ALLOWED:
481
405
  errorCode = 4019;
482
406
  break;
483
-
484
407
  case _constants.MEETING_ERRORS.REMOVED_PARTICIPANT:
485
408
  errorCode = 4020;
486
409
  break;
487
-
488
410
  case _constants.MEETING_ERRORS.MEETING_LINK_NOT_FOUND:
489
411
  errorCode = 4021;
490
412
  break;
491
-
492
413
  case _constants.MEETING_ERRORS.PHONE_NUMBER_TOO_SHORT_AFTER_IDD:
493
414
  errorCode = 4022;
494
415
  break;
495
-
496
416
  case _constants.MEETING_ERRORS.INVALID_INVITEE_ADDRESS:
497
417
  errorCode = 4023;
498
418
  break;
499
-
500
419
  case _constants.MEETING_ERRORS.PMR_ACCOUNT_LOCKED:
501
420
  errorCode = 4024;
502
421
  break;
503
-
504
422
  case _constants.MEETING_ERRORS.RESOURCE_GUEST_FORBIDDEN:
505
423
  errorCode = 4025;
506
424
  break;
507
-
508
425
  case _constants.MEETING_ERRORS.PMR_ACCOUNT_SUSPENDED:
509
426
  errorCode = 4026;
510
427
  break;
511
-
512
428
  case _constants.MEETING_ERRORS.EMPTY_PHONE_NUMBER_OR_COUNTRY_CODE:
513
429
  errorCode = 4027;
514
430
  break;
515
-
516
431
  case _constants.MEETING_ERRORS.INVALID_SINCE_OR_SEQUENCE_HASH_IN_REQUEST:
517
432
  errorCode = 1006;
518
433
  break;
519
-
520
434
  case _constants.MEETING_ERRORS.CONVERSATION_NOT_FOUND:
521
435
  errorCode = 4028;
522
436
  break;
523
-
524
437
  case _constants.MEETING_ERRORS.RECORDING_CONTROL_NOT_SUPPORTED:
525
438
  case _constants.MEETING_ERRORS.RECORDING_NOT_STARTED:
526
439
  case _constants.MEETING_ERRORS.RECORDING_NOT_ENABLED:
527
440
  errorCode = 4029;
528
441
  break;
529
-
530
442
  default:
531
443
  errorCode = 4008;
532
444
  }
533
445
  } else {
534
446
  errorCode = 4008;
535
447
  }
536
-
537
448
  return this.generateErrorPayload(errorCode, showToUser, _config.error.name.LOCUS_RESPONSE, err);
538
449
  }
539
450
  }, {
@@ -548,57 +459,46 @@ var Metrics = /*#__PURE__*/function () {
548
459
  fatal: !(0, _includes2.default)(_config.error.notFatalErrorList, errorCode),
549
460
  name: name || _config.error.name.OTHER
550
461
  };
551
-
552
462
  if (err && err.body) {
553
463
  errorPayload.errorData = err.body;
554
464
  }
555
-
556
465
  if (err && err.statusCode) {
557
466
  errorPayload.httpCode = err.statusCode;
558
467
  }
559
-
560
468
  return errorPayload;
561
469
  }
562
-
563
470
  return null;
564
471
  }
472
+
565
473
  /**
566
474
  * Returns a formated string of the user agent.
567
475
  *
568
476
  * @returns {string} formatted user agent information
569
477
  */
570
-
571
478
  }, {
572
479
  key: "userAgentToString",
573
480
  value: function userAgentToString() {
574
481
  var _this$webex$meetings, _this$webex$meetings$5;
575
-
576
482
  var userAgentOption;
577
483
  var browserInfo;
578
-
579
484
  var clientInfo = _util.default.format('client=%s', "".concat((_this$webex$meetings = this.webex.meetings) === null || _this$webex$meetings === void 0 ? void 0 : (_this$webex$meetings$5 = _this$webex$meetings.metrics) === null || _this$webex$meetings$5 === void 0 ? void 0 : _this$webex$meetings$5.clientName));
580
-
581
485
  if (['chrome', 'firefox', 'msie', 'msedge', 'safari'].indexOf(getBrowserName().toLowerCase()) !== -1) {
582
486
  browserInfo = _util.default.format('browser=%s', "".concat(getBrowserName().toLowerCase(), "/").concat(getBrowserVersion().split('.')[0]));
583
487
  }
584
-
585
488
  var osInfo = _util.default.format('os=%s', "".concat(getOSName(), "/").concat(getOSVersion().split('.')[0]));
586
-
587
489
  if (browserInfo) {
588
490
  userAgentOption = "(".concat(browserInfo);
589
491
  }
590
-
591
492
  if (osInfo) {
592
493
  userAgentOption = userAgentOption ? "".concat(userAgentOption, "; ").concat(clientInfo, "; ").concat(osInfo) : "".concat(clientInfo, "; (").concat(osInfo);
593
494
  }
594
-
595
495
  if (userAgentOption) {
596
496
  userAgentOption += ')';
597
497
  return _util.default.format('webex-js-sdk/%s %s', "".concat(process.env.NODE_ENV, "-").concat(this.webex.version), userAgentOption);
598
498
  }
599
-
600
499
  return _util.default.format('webex-js-sdk/%s', "".concat(process.env.NODE_ENV, "-").concat(this.webex.version));
601
500
  }
501
+
602
502
  /**
603
503
  * Uploads given metric to the Metrics service as an Behavioral metric.
604
504
  * Metadata about the environment such as browser, OS, SDK and their versions
@@ -614,7 +514,6 @@ var Metrics = /*#__PURE__*/function () {
614
514
  *
615
515
  * @returns {void}
616
516
  */
617
-
618
517
  }, {
619
518
  key: "sendBehavioralMetric",
620
519
  value: function sendBehavioralMetric(metricName) {
@@ -629,8 +528,7 @@ var Metrics = /*#__PURE__*/function () {
629
528
  }]);
630
529
  return Metrics;
631
530
  }(); // Export Metrics singleton ---------------------------------------------------
632
-
633
-
531
+ (0, _defineProperty2.default)(Metrics, "instance", void 0);
634
532
  var instance = new Metrics();
635
533
  var _default = instance;
636
534
  exports.default = _default;