@webex/plugin-meetings 3.0.0-beta.13 → 3.0.0-beta.131

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