@webex/plugin-meetings 3.0.0-beta.15 → 3.0.0-beta.151

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