@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,92 +1,66 @@
1
1
  "use strict";
2
2
 
3
3
  var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
4
-
5
- var _Object$keys = require("@babel/runtime-corejs2/core-js/object/keys");
6
-
4
+ var _Object$keys2 = require("@babel/runtime-corejs2/core-js/object/keys");
7
5
  var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
8
-
9
6
  var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
10
-
11
7
  var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
12
-
13
8
  var _Object$defineProperties = require("@babel/runtime-corejs2/core-js/object/define-properties");
14
-
15
9
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
16
-
17
10
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
18
-
19
11
  _Object$defineProperty(exports, "__esModule", {
20
12
  value: true
21
13
  });
22
-
23
- exports.default = exports.MeetingInfoV2PasswordError = exports.MeetingInfoV2CaptchaError = exports.MeetingInfoV2AdhocMeetingError = void 0;
24
-
14
+ exports.default = exports.MeetingInfoV2PolicyError = exports.MeetingInfoV2PasswordError = exports.MeetingInfoV2CaptchaError = exports.MeetingInfoV2AdhocMeetingError = void 0;
15
+ var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
25
16
  var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
26
-
27
17
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
28
-
29
18
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
30
-
31
19
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
32
-
33
20
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/assertThisInitialized"));
34
-
35
21
  var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
36
-
37
22
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
38
-
39
23
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
40
-
41
24
  var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/wrapNativeSuper"));
42
-
43
25
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
44
-
26
+ var _difference2 = _interopRequireDefault(require("lodash/difference"));
45
27
  var _constants = require("../constants");
46
-
47
28
  var _metrics = _interopRequireDefault(require("../metrics"));
48
-
29
+ var _config = require("../metrics/config");
49
30
  var _constants2 = _interopRequireDefault(require("../metrics/constants"));
50
-
51
31
  var _utilv = _interopRequireDefault(require("./utilv2"));
52
-
53
- function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
54
-
32
+ function ownKeys(object, enumerableOnly) { var keys = _Object$keys2(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
55
33
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
56
-
57
34
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
58
-
59
35
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
60
-
61
36
  var PASSWORD_ERROR_DEFAULT_MESSAGE = 'Password required. Call fetchMeetingInfo() with password argument';
62
37
  var CAPTCHA_ERROR_DEFAULT_MESSAGE = 'Captcha required. Call fetchMeetingInfo() with captchaInfo argument';
63
38
  var ADHOC_MEETING_DEFAULT_ERROR = 'Failed starting the adhoc meeting, Please contact support team ';
64
39
  var CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES = [423005, 423006];
40
+ var POLICY_ERROR_CODES = [403049, 403104, 403103, 403048, 403102, 403101];
41
+
65
42
  /**
66
43
  * Error to indicate that wbxappapi requires a password
67
44
  */
68
-
69
45
  var MeetingInfoV2PasswordError = /*#__PURE__*/function (_Error) {
70
46
  (0, _inherits2.default)(MeetingInfoV2PasswordError, _Error);
71
-
72
47
  var _super = _createSuper(MeetingInfoV2PasswordError);
73
-
74
48
  /**
75
- *
76
- * @constructor
77
- * @param {Number} [wbxAppApiErrorCode]
78
- * @param {Object} [meetingInfo]
79
- * @param {String} [message]
80
- */
49
+ *
50
+ * @constructor
51
+ * @param {Number} [wbxAppApiErrorCode]
52
+ * @param {Object} [meetingInfo]
53
+ * @param {String} [message]
54
+ */
81
55
  function MeetingInfoV2PasswordError(wbxAppApiErrorCode, meetingInfo) {
82
56
  var _this;
83
-
84
57
  var message = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : PASSWORD_ERROR_DEFAULT_MESSAGE;
85
58
  (0, _classCallCheck2.default)(this, MeetingInfoV2PasswordError);
86
59
  _this = _super.call(this, "".concat(message, ", code=").concat(wbxAppApiErrorCode));
87
60
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "meetingInfo", void 0);
88
61
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "sdkMessage", void 0);
89
62
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "wbxAppApiCode", void 0);
63
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "body", void 0);
90
64
  _this.name = 'MeetingInfoV2PasswordError';
91
65
  _this.sdkMessage = message;
92
66
  _this.stack = new Error().stack;
@@ -94,30 +68,23 @@ var MeetingInfoV2PasswordError = /*#__PURE__*/function (_Error) {
94
68
  _this.meetingInfo = meetingInfo;
95
69
  return _this;
96
70
  }
97
-
98
71
  return (0, _createClass2.default)(MeetingInfoV2PasswordError);
99
72
  }( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Error));
100
73
  /**
101
74
  * Error generating a adhoc space meeting
102
75
  */
103
-
104
-
105
76
  exports.MeetingInfoV2PasswordError = MeetingInfoV2PasswordError;
106
-
107
77
  var MeetingInfoV2AdhocMeetingError = /*#__PURE__*/function (_Error2) {
108
78
  (0, _inherits2.default)(MeetingInfoV2AdhocMeetingError, _Error2);
109
-
110
79
  var _super2 = _createSuper(MeetingInfoV2AdhocMeetingError);
111
-
112
80
  /**
113
- *
114
- * @constructor
115
- * @param {Number} [wbxAppApiErrorCode]
116
- * @param {String} [message]
117
- */
81
+ *
82
+ * @constructor
83
+ * @param {Number} [wbxAppApiErrorCode]
84
+ * @param {String} [message]
85
+ */
118
86
  function MeetingInfoV2AdhocMeetingError(wbxAppApiErrorCode) {
119
87
  var _this2;
120
-
121
88
  var message = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ADHOC_MEETING_DEFAULT_ERROR;
122
89
  (0, _classCallCheck2.default)(this, MeetingInfoV2AdhocMeetingError);
123
90
  _this2 = _super2.call(this, "".concat(message, ", code=").concat(wbxAppApiErrorCode));
@@ -129,76 +96,108 @@ var MeetingInfoV2AdhocMeetingError = /*#__PURE__*/function (_Error2) {
129
96
  _this2.wbxAppApiCode = wbxAppApiErrorCode;
130
97
  return _this2;
131
98
  }
132
-
133
99
  return (0, _createClass2.default)(MeetingInfoV2AdhocMeetingError);
134
100
  }( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Error));
135
101
  /**
136
- * Error to indicate that preferred webex site not present to start adhoc meeting
137
- */
138
-
139
-
102
+ * Error preventing join because of a meeting policy
103
+ */
140
104
  exports.MeetingInfoV2AdhocMeetingError = MeetingInfoV2AdhocMeetingError;
141
-
142
- var MeetingInfoV2CaptchaError = /*#__PURE__*/function (_Error3) {
143
- (0, _inherits2.default)(MeetingInfoV2CaptchaError, _Error3);
144
-
145
- var _super3 = _createSuper(MeetingInfoV2CaptchaError);
146
-
105
+ var MeetingInfoV2PolicyError = /*#__PURE__*/function (_Error3) {
106
+ (0, _inherits2.default)(MeetingInfoV2PolicyError, _Error3);
107
+ var _super3 = _createSuper(MeetingInfoV2PolicyError);
147
108
  /**
148
- *
149
- * @constructor
150
- * @param {Number} [wbxAppApiErrorCode]
151
- * @param {Object} [captchaInfo]
152
- * @param {String} [message]
153
- */
154
- function MeetingInfoV2CaptchaError(wbxAppApiErrorCode, captchaInfo) {
109
+ *
110
+ * @constructor
111
+ * @param {Number} [wbxAppApiErrorCode]
112
+ * @param {Object} [meetingInfo]
113
+ * @param {String} [message]
114
+ */
115
+ function MeetingInfoV2PolicyError(wbxAppApiErrorCode, meetingInfo, message) {
155
116
  var _this3;
156
-
157
- var message = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : CAPTCHA_ERROR_DEFAULT_MESSAGE;
158
- (0, _classCallCheck2.default)(this, MeetingInfoV2CaptchaError);
117
+ (0, _classCallCheck2.default)(this, MeetingInfoV2PolicyError);
159
118
  _this3 = _super3.call(this, "".concat(message, ", code=").concat(wbxAppApiErrorCode));
160
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this3), "captchaInfo", void 0);
161
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this3), "isPasswordRequired", void 0);
119
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this3), "meetingInfo", void 0);
162
120
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this3), "sdkMessage", void 0);
163
121
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this3), "wbxAppApiCode", void 0);
164
- _this3.name = 'MeetingInfoV2PasswordError';
122
+ _this3.name = 'MeetingInfoV2AdhocMeetingError';
165
123
  _this3.sdkMessage = message;
166
124
  _this3.stack = new Error().stack;
167
125
  _this3.wbxAppApiCode = wbxAppApiErrorCode;
168
- _this3.isPasswordRequired = CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES.includes(wbxAppApiErrorCode);
169
- _this3.captchaInfo = captchaInfo;
126
+ _this3.meetingInfo = meetingInfo;
170
127
  return _this3;
171
128
  }
172
-
173
- return (0, _createClass2.default)(MeetingInfoV2CaptchaError);
129
+ return (0, _createClass2.default)(MeetingInfoV2PolicyError);
174
130
  }( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Error));
175
131
  /**
176
- * @class MeetingInfo
132
+ * Error to indicate that preferred webex site not present to start adhoc meeting
133
+ */
134
+ exports.MeetingInfoV2PolicyError = MeetingInfoV2PolicyError;
135
+ var MeetingInfoV2CaptchaError = /*#__PURE__*/function (_Error4) {
136
+ (0, _inherits2.default)(MeetingInfoV2CaptchaError, _Error4);
137
+ var _super4 = _createSuper(MeetingInfoV2CaptchaError);
138
+ /**
139
+ *
140
+ * @constructor
141
+ * @param {Number} [wbxAppApiErrorCode]
142
+ * @param {Object} [captchaInfo]
143
+ * @param {String} [message]
177
144
  */
178
-
179
-
145
+ function MeetingInfoV2CaptchaError(wbxAppApiErrorCode, captchaInfo) {
146
+ var _this4;
147
+ var message = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : CAPTCHA_ERROR_DEFAULT_MESSAGE;
148
+ (0, _classCallCheck2.default)(this, MeetingInfoV2CaptchaError);
149
+ _this4 = _super4.call(this, "".concat(message, ", code=").concat(wbxAppApiErrorCode));
150
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this4), "captchaInfo", void 0);
151
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this4), "isPasswordRequired", void 0);
152
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this4), "sdkMessage", void 0);
153
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this4), "wbxAppApiCode", void 0);
154
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this4), "body", void 0);
155
+ _this4.name = 'MeetingInfoV2PasswordError';
156
+ _this4.sdkMessage = message;
157
+ _this4.stack = new Error().stack;
158
+ _this4.wbxAppApiCode = wbxAppApiErrorCode;
159
+ _this4.isPasswordRequired = CAPTCHA_ERROR_REQUIRES_PASSWORD_CODES.includes(wbxAppApiErrorCode);
160
+ _this4.captchaInfo = captchaInfo;
161
+ return _this4;
162
+ }
163
+ return (0, _createClass2.default)(MeetingInfoV2CaptchaError);
164
+ }( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Error));
165
+ /**
166
+ * @class MeetingInfo
167
+ */
180
168
  exports.MeetingInfoV2CaptchaError = MeetingInfoV2CaptchaError;
181
-
182
169
  var MeetingInfoV2 = /*#__PURE__*/function () {
183
170
  /**
184
- *
185
- * @param {WebexSDK} webex
186
- */
171
+ *
172
+ * @param {WebexSDK} webex
173
+ */
187
174
  function MeetingInfoV2(webex) {
188
175
  (0, _classCallCheck2.default)(this, MeetingInfoV2);
189
176
  (0, _defineProperty2.default)(this, "webex", void 0);
177
+ (0, _defineProperty2.default)(this, "handlePolicyError", function (err) {
178
+ var _err$body;
179
+ if (!err.body) {
180
+ return;
181
+ }
182
+ if (POLICY_ERROR_CODES.includes((_err$body = err.body) === null || _err$body === void 0 ? void 0 : _err$body.code)) {
183
+ var _err$body2, _err$body3, _err$body4, _err$body4$data, _err$body5;
184
+ _metrics.default.sendBehavioralMetric(_constants2.default.MEETING_INFO_POLICY_ERROR, {
185
+ code: (_err$body2 = err.body) === null || _err$body2 === void 0 ? void 0 : _err$body2.code
186
+ });
187
+ throw new MeetingInfoV2PolicyError((_err$body3 = err.body) === null || _err$body3 === void 0 ? void 0 : _err$body3.code, (_err$body4 = err.body) === null || _err$body4 === void 0 ? void 0 : (_err$body4$data = _err$body4.data) === null || _err$body4$data === void 0 ? void 0 : _err$body4$data.meetingInfo, (_err$body5 = err.body) === null || _err$body5 === void 0 ? void 0 : _err$body5.message);
188
+ }
189
+ });
190
190
  this.webex = webex;
191
191
  }
192
- /**
193
- * converts hydra id into conversation url and persons Id
194
- * @param {String} destination one of many different types of destinations to look up info for
195
- * @param {String} [type] to match up with the destination value
196
- * @returns {Promise} destination and type
197
- * @public
198
- * @memberof MeetingInfo
199
- */
200
-
201
192
 
193
+ /**
194
+ * converts hydra id into conversation url and persons Id
195
+ * @param {String} destination one of many different types of destinations to look up info for
196
+ * @param {String} [type] to match up with the destination value
197
+ * @returns {Promise} destination and type
198
+ * @public
199
+ * @memberof MeetingInfo
200
+ */
202
201
  (0, _createClass2.default)(MeetingInfoV2, [{
203
202
  key: "fetchInfoOptions",
204
203
  value: function fetchInfoOptions(destination) {
@@ -209,230 +208,250 @@ var MeetingInfoV2 = /*#__PURE__*/function () {
209
208
  webex: this.webex
210
209
  });
211
210
  }
212
- /**
213
- * Creates adhoc space meetings for a space by fetching the conversation infomation
214
- * @param {String} conversationUrl conversationUrl to start adhoc meeting on
215
- * @returns {Promise} returns a meeting info object
216
- * @public
217
- * @memberof MeetingInfo
218
- */
219
211
 
212
+ /**
213
+ * Raises a MeetingInfoV2PolicyError for policy error codes
214
+ * @param {any} err the error from the request
215
+ * @returns {void}
216
+ */
220
217
  }, {
221
218
  key: "createAdhocSpaceMeeting",
222
- value: function () {
223
- var _createAdhocSpaceMeeting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(conversationUrl) {
224
- var _this4 = this;
225
-
219
+ value:
220
+ /**
221
+ * Creates adhoc space meetings for a space by fetching the conversation infomation
222
+ * @param {String} conversationUrl conversationUrl to start adhoc meeting on
223
+ * @param {String} installedOrgID org ID of user's machine
224
+ * @returns {Promise} returns a meeting info object
225
+ * @public
226
+ * @memberof MeetingInfo
227
+ */
228
+ function () {
229
+ var _createAdhocSpaceMeeting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(conversationUrl, installedOrgID) {
230
+ var _this5 = this;
226
231
  var getInvitees;
227
232
  return _regenerator.default.wrap(function _callee$(_context) {
228
- while (1) {
229
- switch (_context.prev = _context.next) {
230
- case 0:
231
- if (this.webex.meetings.preferredWebexSite) {
232
- _context.next = 2;
233
- break;
234
- }
235
-
236
- throw Error('No preferred webex site found');
237
-
238
- case 2:
239
- getInvitees = function getInvitees() {
240
- var particpants = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
241
- var invitees = [];
242
-
243
- if (particpants) {
244
- particpants.forEach(function (participant) {
245
- invitees.push({
246
- email: participant.emailAddress,
247
- ciUserUuid: participant.entryUUID
248
- });
233
+ while (1) switch (_context.prev = _context.next) {
234
+ case 0:
235
+ if (this.webex.meetings.preferredWebexSite) {
236
+ _context.next = 2;
237
+ break;
238
+ }
239
+ throw Error('No preferred webex site found');
240
+ case 2:
241
+ getInvitees = function getInvitees() {
242
+ var particpants = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
243
+ var invitees = [];
244
+ if (particpants) {
245
+ particpants.forEach(function (participant) {
246
+ invitees.push({
247
+ email: participant.emailAddress,
248
+ ciUserUuid: participant.entryUUID
249
249
  });
250
- }
251
-
252
- return invitees;
253
- };
254
-
255
- return _context.abrupt("return", this.webex.internal.conversation.get({
256
- url: conversationUrl
257
- }, {
258
- includeParticipants: true,
259
- disableTransform: true
260
- }).then(function (conversation) {
261
- var _conversation$partici;
262
-
263
- var body = {
264
- title: conversation.displayName,
265
- spaceUrl: conversation.url,
266
- keyUrl: conversation.encryptionKeyUrl,
267
- kroUrl: conversation.kmsResourceObjectUrl,
268
- invitees: getInvitees((_conversation$partici = conversation.participants) === null || _conversation$partici === void 0 ? void 0 : _conversation$partici.items)
269
- };
270
- var uri = _this4.webex.meetings.preferredWebexSite ? "https://".concat(_this4.webex.meetings.preferredWebexSite, "/wbxappapi/v2/meetings/spaceInstant") : '';
271
-
272
- _metrics.default.sendBehavioralMetric(_constants2.default.ADHOC_MEETING_SUCCESS);
273
-
274
- return _this4.webex.request({
275
- method: _constants.HTTP_VERBS.POST,
276
- uri: uri,
277
- body: body
278
- });
279
- }).catch(function (err) {
280
- var _err$body, _err$body2;
281
-
282
- _metrics.default.sendBehavioralMetric(_constants2.default.ADHOC_MEETING_FAILURE, {
283
- reason: err.message,
284
- stack: err.stack
285
250
  });
286
-
287
- throw new MeetingInfoV2AdhocMeetingError((_err$body = err.body) === null || _err$body === void 0 ? void 0 : _err$body.code, (_err$body2 = err.body) === null || _err$body2 === void 0 ? void 0 : _err$body2.message);
288
- }));
289
-
290
- case 4:
291
- case "end":
292
- return _context.stop();
293
- }
251
+ }
252
+ return invitees;
253
+ };
254
+ return _context.abrupt("return", this.webex.internal.conversation.get({
255
+ url: conversationUrl
256
+ }, {
257
+ includeParticipants: true,
258
+ disableTransform: true
259
+ }).then(function (conversation) {
260
+ var _conversation$partici;
261
+ var body = {
262
+ title: conversation.displayName,
263
+ spaceUrl: conversation.url,
264
+ keyUrl: conversation.encryptionKeyUrl,
265
+ kroUrl: conversation.kmsResourceObjectUrl,
266
+ invitees: getInvitees((_conversation$partici = conversation.participants) === null || _conversation$partici === void 0 ? void 0 : _conversation$partici.items)
267
+ };
268
+ if (installedOrgID) {
269
+ body.installedOrgID = installedOrgID;
270
+ }
271
+ var uri = _this5.webex.meetings.preferredWebexSite ? "https://".concat(_this5.webex.meetings.preferredWebexSite, "/wbxappapi/v2/meetings/spaceInstant") : '';
272
+ return _this5.webex.request({
273
+ method: _constants.HTTP_VERBS.POST,
274
+ uri: uri,
275
+ body: body
276
+ });
277
+ }).then(function (requestResult) {
278
+ _metrics.default.sendBehavioralMetric(_constants2.default.ADHOC_MEETING_SUCCESS);
279
+ return requestResult;
280
+ }).catch(function (err) {
281
+ var _err$body6, _err$body7;
282
+ _this5.handlePolicyError(err);
283
+ _metrics.default.sendBehavioralMetric(_constants2.default.ADHOC_MEETING_FAILURE, {
284
+ reason: err.message,
285
+ stack: err.stack
286
+ });
287
+ throw new MeetingInfoV2AdhocMeetingError((_err$body6 = err.body) === null || _err$body6 === void 0 ? void 0 : _err$body6.code, (_err$body7 = err.body) === null || _err$body7 === void 0 ? void 0 : _err$body7.message);
288
+ }));
289
+ case 4:
290
+ case "end":
291
+ return _context.stop();
294
292
  }
295
293
  }, _callee, this);
296
294
  }));
297
-
298
- function createAdhocSpaceMeeting(_x) {
295
+ function createAdhocSpaceMeeting(_x, _x2) {
299
296
  return _createAdhocSpaceMeeting.apply(this, arguments);
300
297
  }
301
-
302
298
  return createAdhocSpaceMeeting;
303
299
  }()
304
300
  /**
305
- * Fetches meeting info from the server
306
- * @param {String} destination one of many different types of destinations to look up info for
307
- * @param {String} [type] to match up with the destination value
308
- * @param {String} password
309
- * @param {Object} captchaInfo
310
- * @param {String} captchaInfo.code
311
- * @param {String} captchaInfo.id
312
- * @returns {Promise} returns a meeting info object
313
- * @public
314
- * @memberof MeetingInfo
315
- */
316
-
301
+ * Fetches meeting info from the server
302
+ * @param {String} destination one of many different types of destinations to look up info for
303
+ * @param {String} [type] to match up with the destination value
304
+ * @param {String} password
305
+ * @param {Object} captchaInfo
306
+ * @param {String} captchaInfo.code
307
+ * @param {String} captchaInfo.id
308
+ * @param {String} installedOrgID org ID of user's machine
309
+ * @param {String} locusId
310
+ * @param {Object} extraParams
311
+ * @param {Object} options
312
+ * @returns {Promise} returns a meeting info object
313
+ * @public
314
+ * @memberof MeetingInfo
315
+ */
317
316
  }, {
318
317
  key: "fetchMeetingInfo",
319
318
  value: function () {
320
319
  var _fetchMeetingInfo = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(destination) {
320
+ var _this6 = this;
321
321
  var type,
322
- password,
323
- captchaInfo,
324
- destinationType,
325
- body,
326
- options,
327
- directURI,
328
- _args2 = arguments;
322
+ password,
323
+ captchaInfo,
324
+ installedOrgID,
325
+ locusId,
326
+ extraParams,
327
+ options,
328
+ meetingId,
329
+ destinationType,
330
+ body,
331
+ _destinationType$info,
332
+ _destinationType$info2,
333
+ err,
334
+ requestOptions,
335
+ directURI,
336
+ _args2 = arguments;
329
337
  return _regenerator.default.wrap(function _callee2$(_context2) {
330
- while (1) {
331
- switch (_context2.prev = _context2.next) {
332
- case 0:
333
- type = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : null;
334
- password = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : null;
335
- captchaInfo = _args2.length > 3 && _args2[3] !== undefined ? _args2[3] : null;
336
- _context2.next = 5;
337
- return _utilv.default.getDestinationType({
338
- destination: destination,
339
- type: type,
340
- webex: this.webex
341
- });
342
-
343
- case 5:
344
- destinationType = _context2.sent;
345
-
346
- if (!(destinationType.type === _constants._CONVERSATION_URL_ && this.webex.config.meetings.experimental.enableAdhocMeetings && this.webex.meetings.preferredWebexSite)) {
347
- _context2.next = 8;
348
- break;
338
+ while (1) switch (_context2.prev = _context2.next) {
339
+ case 0:
340
+ type = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : null;
341
+ password = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : null;
342
+ captchaInfo = _args2.length > 3 && _args2[3] !== undefined ? _args2[3] : null;
343
+ installedOrgID = _args2.length > 4 && _args2[4] !== undefined ? _args2[4] : null;
344
+ locusId = _args2.length > 5 && _args2[5] !== undefined ? _args2[5] : null;
345
+ extraParams = _args2.length > 6 && _args2[6] !== undefined ? _args2[6] : {};
346
+ options = _args2.length > 7 && _args2[7] !== undefined ? _args2[7] : {};
347
+ meetingId = options.meetingId;
348
+ _context2.next = 10;
349
+ return _utilv.default.getDestinationType({
350
+ destination: destination,
351
+ type: type,
352
+ webex: this.webex
353
+ });
354
+ case 10:
355
+ destinationType = _context2.sent;
356
+ if (!(destinationType.type === _constants._CONVERSATION_URL_ && this.webex.config.meetings.experimental.enableAdhocMeetings && this.webex.meetings.preferredWebexSite)) {
357
+ _context2.next = 13;
358
+ break;
359
+ }
360
+ return _context2.abrupt("return", this.createAdhocSpaceMeeting(destinationType.destination, installedOrgID));
361
+ case 13:
362
+ _context2.next = 15;
363
+ return _utilv.default.getRequestBody(_objectSpread(_objectSpread({}, destinationType), {}, {
364
+ password: password,
365
+ captchaInfo: captchaInfo,
366
+ installedOrgID: installedOrgID,
367
+ locusId: locusId,
368
+ extraParams: extraParams
369
+ }));
370
+ case 15:
371
+ body = _context2.sent;
372
+ if ((0, _difference2.default)((0, _keys.default)(body), (0, _keys.default)(_constants.DEFAULT_MEETING_INFO_REQUEST_BODY)).length) {
373
+ _context2.next = 20;
374
+ break;
375
+ }
376
+ err = new Error('Not enough information to fetch meeting info');
377
+ _metrics.default.sendBehavioralMetric(_constants2.default.FETCH_MEETING_INFO_V1_FAILURE, {
378
+ reason: err.message,
379
+ destinationType: destinationType === null || destinationType === void 0 ? void 0 : destinationType.type,
380
+ webExMeetingId: destinationType === null || destinationType === void 0 ? void 0 : (_destinationType$info = destinationType.info) === null || _destinationType$info === void 0 ? void 0 : _destinationType$info.webExMeetingId,
381
+ sipUri: destinationType === null || destinationType === void 0 ? void 0 : (_destinationType$info2 = destinationType.info) === null || _destinationType$info2 === void 0 ? void 0 : _destinationType$info2.sipUri
382
+ });
383
+ throw err;
384
+ case 20:
385
+ requestOptions = {
386
+ method: _constants.HTTP_VERBS.POST,
387
+ body: body
388
+ };
389
+ _context2.next = 23;
390
+ return _utilv.default.getDirectMeetingInfoURI(destinationType);
391
+ case 23:
392
+ directURI = _context2.sent;
393
+ if (directURI) {
394
+ requestOptions.uri = directURI;
395
+ } else {
396
+ requestOptions.service = _constants.WBXAPPAPI_SERVICE;
397
+ requestOptions.resource = 'meetingInfo';
398
+ }
399
+ return _context2.abrupt("return", this.webex.request(requestOptions).then(function (response) {
400
+ _metrics.default.sendBehavioralMetric(_constants2.default.FETCH_MEETING_INFO_V1_SUCCESS);
401
+ return response;
402
+ }).catch(function (err) {
403
+ if (meetingId) {
404
+ var parsedError = _metrics.default.parseWebexApiError(err, true);
405
+ _metrics.default.postEvent({
406
+ event: _config.eventType.MEETING_INFO_RESPONSE,
407
+ meetingId: meetingId,
408
+ data: {
409
+ errors: parsedError ? [parsedError] : undefined,
410
+ meetingLookupUrl: err === null || err === void 0 ? void 0 : err.url
411
+ }
412
+ });
349
413
  }
350
-
351
- return _context2.abrupt("return", this.createAdhocSpaceMeeting(destinationType.destination));
352
-
353
- case 8:
354
- _context2.next = 10;
355
- return _utilv.default.getRequestBody(_objectSpread(_objectSpread({}, destinationType), {}, {
356
- password: password,
357
- captchaInfo: captchaInfo
358
- }));
359
-
360
- case 10:
361
- body = _context2.sent;
362
- options = {
363
- method: _constants.HTTP_VERBS.POST,
364
- body: body
365
- };
366
- _context2.next = 14;
367
- return _utilv.default.getDirectMeetingInfoURI(destinationType);
368
-
369
- case 14:
370
- directURI = _context2.sent;
371
-
372
- if (directURI) {
373
- options.uri = directURI;
374
- } else {
375
- options.service = _constants.WBXAPPAPI_SERVICE;
376
- options.resource = 'meetingInfo';
414
+ if ((err === null || err === void 0 ? void 0 : err.statusCode) === 403) {
415
+ var _err$body8, _err$body9, _err$body9$data;
416
+ _this6.handlePolicyError(err);
417
+ _metrics.default.sendBehavioralMetric(_constants2.default.VERIFY_PASSWORD_ERROR, {
418
+ reason: err.message,
419
+ stack: err.stack
420
+ });
421
+ throw new MeetingInfoV2PasswordError((_err$body8 = err.body) === null || _err$body8 === void 0 ? void 0 : _err$body8.code, (_err$body9 = err.body) === null || _err$body9 === void 0 ? void 0 : (_err$body9$data = _err$body9.data) === null || _err$body9$data === void 0 ? void 0 : _err$body9$data.meetingInfo);
377
422
  }
378
-
379
- return _context2.abrupt("return", this.webex.request(options).then(function (response) {
380
- _metrics.default.sendBehavioralMetric(_constants2.default.FETCH_MEETING_INFO_V1_SUCCESS);
381
-
382
- return response;
383
- }).catch(function (err) {
384
- if ((err === null || err === void 0 ? void 0 : err.statusCode) === 403) {
385
- var _err$body3, _err$body4, _err$body4$data;
386
-
387
- _metrics.default.sendBehavioralMetric(_constants2.default.VERIFY_PASSWORD_ERROR, {
388
- reason: err.message,
389
- stack: err.stack
390
- });
391
-
392
- throw new MeetingInfoV2PasswordError((_err$body3 = err.body) === null || _err$body3 === void 0 ? void 0 : _err$body3.code, (_err$body4 = err.body) === null || _err$body4 === void 0 ? void 0 : (_err$body4$data = _err$body4.data) === null || _err$body4$data === void 0 ? void 0 : _err$body4$data.meetingInfo);
393
- }
394
-
395
- if ((err === null || err === void 0 ? void 0 : err.statusCode) === 423) {
396
- var _err$body5;
397
-
398
- _metrics.default.sendBehavioralMetric(_constants2.default.VERIFY_CAPTCHA_ERROR, {
399
- reason: err.message,
400
- stack: err.stack
401
- });
402
-
403
- throw new MeetingInfoV2CaptchaError((_err$body5 = err.body) === null || _err$body5 === void 0 ? void 0 : _err$body5.code, {
404
- captchaId: err.body.captchaID,
405
- verificationImageURL: err.body.verificationImageURL,
406
- verificationAudioURL: err.body.verificationAudioURL,
407
- refreshURL: err.body.refreshURL
408
- });
409
- }
410
-
411
- _metrics.default.sendBehavioralMetric(_constants2.default.FETCH_MEETING_INFO_V1_FAILURE, {
423
+ if ((err === null || err === void 0 ? void 0 : err.statusCode) === 423) {
424
+ var _err$body10;
425
+ _metrics.default.sendBehavioralMetric(_constants2.default.VERIFY_CAPTCHA_ERROR, {
412
426
  reason: err.message,
413
427
  stack: err.stack
414
428
  });
415
-
416
- throw err;
417
- }));
418
-
419
- case 17:
420
- case "end":
421
- return _context2.stop();
422
- }
429
+ throw new MeetingInfoV2CaptchaError((_err$body10 = err.body) === null || _err$body10 === void 0 ? void 0 : _err$body10.code, {
430
+ captchaId: err.body.captchaID,
431
+ verificationImageURL: err.body.verificationImageURL,
432
+ verificationAudioURL: err.body.verificationAudioURL,
433
+ refreshURL: err.body.refreshURL
434
+ });
435
+ }
436
+ _metrics.default.sendBehavioralMetric(_constants2.default.FETCH_MEETING_INFO_V1_FAILURE, {
437
+ reason: err.message,
438
+ stack: err.stack
439
+ });
440
+ throw err;
441
+ }));
442
+ case 26:
443
+ case "end":
444
+ return _context2.stop();
423
445
  }
424
446
  }, _callee2, this);
425
447
  }));
426
-
427
- function fetchMeetingInfo(_x2) {
448
+ function fetchMeetingInfo(_x3) {
428
449
  return _fetchMeetingInfo.apply(this, arguments);
429
450
  }
430
-
431
451
  return fetchMeetingInfo;
432
452
  }()
433
453
  }]);
434
454
  return MeetingInfoV2;
435
455
  }();
436
-
437
456
  exports.default = MeetingInfoV2;
438
457
  //# sourceMappingURL=meeting-info-v2.js.map