@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,76 +1,50 @@
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
49
  *
76
50
  * @constructor
@@ -80,13 +54,13 @@ var MeetingInfoV2PasswordError = /*#__PURE__*/function (_Error) {
80
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,21 +68,15 @@ 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
81
  *
114
82
  * @constructor
@@ -117,7 +85,6 @@ var MeetingInfoV2AdhocMeetingError = /*#__PURE__*/function (_Error2) {
117
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,56 +96,76 @@ 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
102
+ * Error preventing join because of a meeting policy
137
103
  */
138
-
139
-
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
109
  *
149
110
  * @constructor
150
111
  * @param {Number} [wbxAppApiErrorCode]
151
- * @param {Object} [captchaInfo]
112
+ * @param {Object} [meetingInfo]
152
113
  * @param {String} [message]
153
114
  */
154
- function MeetingInfoV2CaptchaError(wbxAppApiErrorCode, captchaInfo) {
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
-
129
+ return (0, _createClass2.default)(MeetingInfoV2PolicyError);
130
+ }( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Error));
131
+ /**
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]
144
+ */
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
+ }
173
163
  return (0, _createClass2.default)(MeetingInfoV2CaptchaError);
174
164
  }( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Error));
175
165
  /**
176
166
  * @class MeetingInfo
177
167
  */
178
-
179
-
180
168
  exports.MeetingInfoV2CaptchaError = MeetingInfoV2CaptchaError;
181
-
182
169
  var MeetingInfoV2 = /*#__PURE__*/function () {
183
170
  /**
184
171
  *
@@ -187,8 +174,22 @@ var MeetingInfoV2 = /*#__PURE__*/function () {
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
+
192
193
  /**
193
194
  * converts hydra id into conversation url and persons Id
194
195
  * @param {String} destination one of many different types of destinations to look up info for
@@ -197,8 +198,6 @@ var MeetingInfoV2 = /*#__PURE__*/function () {
197
198
  * @public
198
199
  * @memberof MeetingInfo
199
200
  */
200
-
201
-
202
201
  (0, _createClass2.default)(MeetingInfoV2, [{
203
202
  key: "fetchInfoOptions",
204
203
  value: function fetchInfoOptions(destination) {
@@ -209,96 +208,93 @@ var MeetingInfoV2 = /*#__PURE__*/function () {
209
208
  webex: this.webex
210
209
  });
211
210
  }
211
+
212
+ /**
213
+ * Raises a MeetingInfoV2PolicyError for policy error codes
214
+ * @param {any} err the error from the request
215
+ * @returns {void}
216
+ */
217
+ }, {
218
+ key: "createAdhocSpaceMeeting",
219
+ value:
212
220
  /**
213
221
  * Creates adhoc space meetings for a space by fetching the conversation infomation
214
222
  * @param {String} conversationUrl conversationUrl to start adhoc meeting on
223
+ * @param {String} installedOrgID org ID of user's machine
215
224
  * @returns {Promise} returns a meeting info object
216
225
  * @public
217
226
  * @memberof MeetingInfo
218
227
  */
219
-
220
- }, {
221
- key: "createAdhocSpaceMeeting",
222
- value: function () {
223
- var _createAdhocSpaceMeeting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(conversationUrl) {
224
- var _this4 = this;
225
-
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
250
  });
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
- });
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
  /**
@@ -309,130 +305,153 @@ var MeetingInfoV2 = /*#__PURE__*/function () {
309
305
  * @param {Object} captchaInfo
310
306
  * @param {String} captchaInfo.code
311
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
312
  * @returns {Promise} returns a meeting info object
313
313
  * @public
314
314
  * @memberof MeetingInfo
315
315
  */
316
-
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