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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (498) hide show
  1. package/UPGRADING.md +9 -9
  2. package/browsers.js +19 -24
  3. package/dist/breakouts/breakout.js +137 -0
  4. package/dist/breakouts/breakout.js.map +1 -0
  5. package/dist/breakouts/collection.js +23 -0
  6. package/dist/breakouts/collection.js.map +1 -0
  7. package/dist/breakouts/edit-lock-error.js +52 -0
  8. package/dist/breakouts/edit-lock-error.js.map +1 -0
  9. package/dist/breakouts/index.js +546 -0
  10. package/dist/breakouts/index.js.map +1 -0
  11. package/dist/breakouts/request.js +78 -0
  12. package/dist/breakouts/request.js.map +1 -0
  13. package/dist/breakouts/utils.js +48 -0
  14. package/dist/breakouts/utils.js.map +1 -0
  15. package/dist/common/browser-detection.js +1 -20
  16. package/dist/common/browser-detection.js.map +1 -1
  17. package/dist/common/collection.js +5 -20
  18. package/dist/common/collection.js.map +1 -1
  19. package/dist/common/config.js +0 -7
  20. package/dist/common/config.js.map +1 -1
  21. package/dist/common/errors/captcha-error.js +10 -24
  22. package/dist/common/errors/captcha-error.js.map +1 -1
  23. package/dist/common/errors/intent-to-join.js +11 -24
  24. package/dist/common/errors/intent-to-join.js.map +1 -1
  25. package/dist/common/errors/join-meeting.js +12 -25
  26. package/dist/common/errors/join-meeting.js.map +1 -1
  27. package/dist/common/errors/media.js +10 -24
  28. package/dist/common/errors/media.js.map +1 -1
  29. package/dist/common/errors/parameter.js +5 -33
  30. package/dist/common/errors/parameter.js.map +1 -1
  31. package/dist/common/errors/password-error.js +10 -24
  32. package/dist/common/errors/password-error.js.map +1 -1
  33. package/dist/common/errors/permission.js +9 -23
  34. package/dist/common/errors/permission.js.map +1 -1
  35. package/dist/common/errors/reconnection-in-progress.js +0 -17
  36. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  37. package/dist/common/errors/reconnection.js +10 -24
  38. package/dist/common/errors/reconnection.js.map +1 -1
  39. package/dist/common/errors/stats.js +10 -24
  40. package/dist/common/errors/stats.js.map +1 -1
  41. package/dist/common/errors/webex-errors.js +6 -41
  42. package/dist/common/errors/webex-errors.js.map +1 -1
  43. package/dist/common/errors/webex-meetings-error.js +5 -25
  44. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  45. package/dist/common/events/events-scope.js +0 -22
  46. package/dist/common/events/events-scope.js.map +1 -1
  47. package/dist/common/events/events.js +0 -23
  48. package/dist/common/events/events.js.map +1 -1
  49. package/dist/common/events/trigger-proxy.js +0 -12
  50. package/dist/common/events/trigger-proxy.js.map +1 -1
  51. package/dist/common/events/util.js +0 -15
  52. package/dist/common/events/util.js.map +1 -1
  53. package/dist/common/logs/logger-config.js +0 -4
  54. package/dist/common/logs/logger-config.js.map +1 -1
  55. package/dist/common/logs/logger-proxy.js +1 -8
  56. package/dist/common/logs/logger-proxy.js.map +1 -1
  57. package/dist/common/logs/request.js +37 -60
  58. package/dist/common/logs/request.js.map +1 -1
  59. package/dist/common/queue.js +4 -14
  60. package/dist/common/queue.js.map +1 -1
  61. package/dist/config.js +6 -6
  62. package/dist/config.js.map +1 -1
  63. package/dist/constants.js +109 -49
  64. package/dist/constants.js.map +1 -1
  65. package/dist/controls-options-manager/constants.js +14 -0
  66. package/dist/controls-options-manager/constants.js.map +1 -0
  67. package/dist/controls-options-manager/enums.js +15 -0
  68. package/dist/controls-options-manager/enums.js.map +1 -0
  69. package/dist/controls-options-manager/index.js +203 -0
  70. package/dist/controls-options-manager/index.js.map +1 -0
  71. package/dist/controls-options-manager/util.js +28 -0
  72. package/dist/controls-options-manager/util.js.map +1 -0
  73. package/dist/index.js +11 -18
  74. package/dist/index.js.map +1 -1
  75. package/dist/locus-info/controlsUtils.js +12 -29
  76. package/dist/locus-info/controlsUtils.js.map +1 -1
  77. package/dist/locus-info/embeddedAppsUtils.js +3 -26
  78. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  79. package/dist/locus-info/fullState.js +0 -15
  80. package/dist/locus-info/fullState.js.map +1 -1
  81. package/dist/locus-info/hostUtils.js +4 -12
  82. package/dist/locus-info/hostUtils.js.map +1 -1
  83. package/dist/locus-info/index.js +186 -192
  84. package/dist/locus-info/index.js.map +1 -1
  85. package/dist/locus-info/infoUtils.js +3 -37
  86. package/dist/locus-info/infoUtils.js.map +1 -1
  87. package/dist/locus-info/mediaSharesUtils.js +12 -38
  88. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  89. package/dist/locus-info/parser.js +92 -118
  90. package/dist/locus-info/parser.js.map +1 -1
  91. package/dist/locus-info/selfUtils.js +34 -91
  92. package/dist/locus-info/selfUtils.js.map +1 -1
  93. package/dist/media/index.js +66 -153
  94. package/dist/media/index.js.map +1 -1
  95. package/dist/media/properties.js +83 -117
  96. package/dist/media/properties.js.map +1 -1
  97. package/dist/media/util.js +2 -9
  98. package/dist/media/util.js.map +1 -1
  99. package/dist/mediaQualityMetrics/config.js +505 -495
  100. package/dist/mediaQualityMetrics/config.js.map +1 -1
  101. package/dist/meeting/in-meeting-actions.js +13 -14
  102. package/dist/meeting/in-meeting-actions.js.map +1 -1
  103. package/dist/meeting/index.js +2141 -2210
  104. package/dist/meeting/index.js.map +1 -1
  105. package/dist/meeting/muteState.js +59 -82
  106. package/dist/meeting/muteState.js.map +1 -1
  107. package/dist/meeting/request.js +308 -264
  108. package/dist/meeting/request.js.map +1 -1
  109. package/dist/meeting/request.type.js +7 -0
  110. package/dist/meeting/request.type.js.map +1 -0
  111. package/dist/meeting/state.js +21 -31
  112. package/dist/meeting/state.js.map +1 -1
  113. package/dist/meeting/util.js +45 -217
  114. package/dist/meeting/util.js.map +1 -1
  115. package/dist/meeting-info/collection.js +6 -25
  116. package/dist/meeting-info/collection.js.map +1 -1
  117. package/dist/meeting-info/index.js +14 -32
  118. package/dist/meeting-info/index.js.map +1 -1
  119. package/dist/meeting-info/meeting-info-v2.js +193 -268
  120. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  121. package/dist/meeting-info/request.js +3 -15
  122. package/dist/meeting-info/request.js.map +1 -1
  123. package/dist/meeting-info/util.js +98 -183
  124. package/dist/meeting-info/util.js.map +1 -1
  125. package/dist/meeting-info/utilv2.js +137 -228
  126. package/dist/meeting-info/utilv2.js.map +1 -1
  127. package/dist/meetings/collection.js +5 -20
  128. package/dist/meetings/collection.js.map +1 -1
  129. package/dist/meetings/index.js +490 -560
  130. package/dist/meetings/index.js.map +1 -1
  131. package/dist/meetings/request.js +24 -41
  132. package/dist/meetings/request.js.map +1 -1
  133. package/dist/meetings/util.js +116 -155
  134. package/dist/meetings/util.js.map +1 -1
  135. package/dist/member/index.js +78 -86
  136. package/dist/member/index.js.map +1 -1
  137. package/dist/member/util.js +31 -68
  138. package/dist/member/util.js.map +1 -1
  139. package/dist/members/collection.js +3 -12
  140. package/dist/members/collection.js.map +1 -1
  141. package/dist/members/index.js +95 -200
  142. package/dist/members/index.js.map +1 -1
  143. package/dist/members/request.js +16 -39
  144. package/dist/members/request.js.map +1 -1
  145. package/dist/members/util.js +9 -38
  146. package/dist/members/util.js.map +1 -1
  147. package/dist/metrics/config.js +1 -13
  148. package/dist/metrics/config.js.map +1 -1
  149. package/dist/metrics/constants.js +1 -6
  150. package/dist/metrics/constants.js.map +1 -1
  151. package/dist/metrics/index.js +54 -156
  152. package/dist/metrics/index.js.map +1 -1
  153. package/dist/multistream/mediaRequestManager.js +74 -52
  154. package/dist/multistream/mediaRequestManager.js.map +1 -1
  155. package/dist/multistream/receiveSlot.js +48 -65
  156. package/dist/multistream/receiveSlot.js.map +1 -1
  157. package/dist/multistream/receiveSlotManager.js +60 -82
  158. package/dist/multistream/receiveSlotManager.js.map +1 -1
  159. package/dist/multistream/remoteMedia.js +60 -76
  160. package/dist/multistream/remoteMedia.js.map +1 -1
  161. package/dist/multistream/remoteMediaGroup.js +6 -40
  162. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  163. package/dist/multistream/remoteMediaManager.js +360 -413
  164. package/dist/multistream/remoteMediaManager.js.map +1 -1
  165. package/dist/networkQualityMonitor/index.js +40 -59
  166. package/dist/networkQualityMonitor/index.js.map +1 -1
  167. package/dist/personal-meeting-room/index.js +21 -45
  168. package/dist/personal-meeting-room/index.js.map +1 -1
  169. package/dist/personal-meeting-room/request.js +1 -31
  170. package/dist/personal-meeting-room/request.js.map +1 -1
  171. package/dist/personal-meeting-room/util.js +0 -13
  172. package/dist/personal-meeting-room/util.js.map +1 -1
  173. package/dist/reachability/index.js +147 -183
  174. package/dist/reachability/index.js.map +1 -1
  175. package/dist/reachability/request.js +15 -23
  176. package/dist/reachability/request.js.map +1 -1
  177. package/dist/reactions/constants.js +13 -0
  178. package/dist/reactions/constants.js.map +1 -0
  179. package/dist/reactions/reactions.js +109 -0
  180. package/dist/reactions/reactions.js.map +1 -0
  181. package/dist/reactions/reactions.type.js +36 -0
  182. package/dist/reactions/reactions.type.js.map +1 -0
  183. package/dist/reconnection-manager/index.js +322 -456
  184. package/dist/reconnection-manager/index.js.map +1 -1
  185. package/dist/recording-controller/enums.js +17 -0
  186. package/dist/recording-controller/enums.js.map +1 -0
  187. package/dist/recording-controller/index.js +343 -0
  188. package/dist/recording-controller/index.js.map +1 -0
  189. package/dist/recording-controller/util.js +63 -0
  190. package/dist/recording-controller/util.js.map +1 -0
  191. package/dist/roap/index.js +48 -70
  192. package/dist/roap/index.js.map +1 -1
  193. package/dist/roap/request.js +143 -131
  194. package/dist/roap/request.js.map +1 -1
  195. package/dist/roap/turnDiscovery.js +91 -98
  196. package/dist/roap/turnDiscovery.js.map +1 -1
  197. package/dist/statsAnalyzer/global.js +1 -95
  198. package/dist/statsAnalyzer/global.js.map +1 -1
  199. package/dist/statsAnalyzer/index.js +361 -449
  200. package/dist/statsAnalyzer/index.js.map +1 -1
  201. package/dist/statsAnalyzer/mqaUtil.js +137 -81
  202. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  203. package/dist/transcription/index.js +22 -47
  204. package/dist/transcription/index.js.map +1 -1
  205. package/dist/types/breakouts/breakout.d.ts +8 -0
  206. package/dist/types/breakouts/collection.d.ts +5 -0
  207. package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
  208. package/dist/types/breakouts/index.d.ts +5 -0
  209. package/dist/types/breakouts/request.d.ts +22 -0
  210. package/dist/types/breakouts/utils.d.ts +8 -0
  211. package/dist/types/common/browser-detection.d.ts +9 -0
  212. package/dist/types/common/collection.d.ts +48 -0
  213. package/dist/types/common/config.d.ts +2 -0
  214. package/dist/types/common/errors/captcha-error.d.ts +15 -0
  215. package/dist/types/common/errors/intent-to-join.d.ts +16 -0
  216. package/dist/types/common/errors/join-meeting.d.ts +17 -0
  217. package/dist/types/common/errors/media.d.ts +15 -0
  218. package/dist/types/common/errors/parameter.d.ts +15 -0
  219. package/dist/types/common/errors/password-error.d.ts +15 -0
  220. package/dist/types/common/errors/permission.d.ts +14 -0
  221. package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
  222. package/dist/types/common/errors/reconnection.d.ts +15 -0
  223. package/dist/types/common/errors/stats.d.ts +15 -0
  224. package/dist/types/common/errors/webex-errors.d.ts +69 -0
  225. package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
  226. package/dist/types/common/events/events-scope.d.ts +17 -0
  227. package/dist/types/common/events/events.d.ts +12 -0
  228. package/dist/types/common/events/trigger-proxy.d.ts +2 -0
  229. package/dist/types/common/events/util.d.ts +2 -0
  230. package/dist/types/common/logs/logger-config.d.ts +2 -0
  231. package/dist/types/common/logs/logger-proxy.d.ts +2 -0
  232. package/dist/types/common/logs/request.d.ts +34 -0
  233. package/dist/types/common/queue.d.ts +32 -0
  234. package/dist/types/config.d.ts +77 -0
  235. package/dist/types/constants.d.ts +916 -0
  236. package/dist/types/controls-options-manager/constants.d.ts +4 -0
  237. package/dist/types/controls-options-manager/enums.d.ts +5 -0
  238. package/dist/types/controls-options-manager/index.d.ts +120 -0
  239. package/dist/types/controls-options-manager/util.d.ts +7 -0
  240. package/dist/types/index.d.ts +6 -0
  241. package/dist/types/locus-info/controlsUtils.d.ts +2 -0
  242. package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
  243. package/dist/types/locus-info/fullState.d.ts +2 -0
  244. package/dist/types/locus-info/hostUtils.d.ts +2 -0
  245. package/dist/types/locus-info/index.d.ts +269 -0
  246. package/dist/types/locus-info/infoUtils.d.ts +2 -0
  247. package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
  248. package/dist/types/locus-info/parser.d.ts +212 -0
  249. package/dist/types/locus-info/selfUtils.d.ts +2 -0
  250. package/dist/types/media/index.d.ts +32 -0
  251. package/dist/types/media/properties.d.ts +108 -0
  252. package/dist/types/media/util.d.ts +2 -0
  253. package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
  254. package/dist/types/meeting/in-meeting-actions.d.ts +83 -0
  255. package/dist/types/meeting/index.d.ts +1699 -0
  256. package/dist/types/meeting/muteState.d.ts +116 -0
  257. package/dist/types/meeting/request.d.ts +271 -0
  258. package/dist/types/meeting/request.type.d.ts +11 -0
  259. package/dist/types/meeting/state.d.ts +9 -0
  260. package/dist/types/meeting/util.d.ts +2 -0
  261. package/dist/types/meeting-info/collection.d.ts +20 -0
  262. package/dist/types/meeting-info/index.d.ts +57 -0
  263. package/dist/types/meeting-info/meeting-info-v2.d.ts +93 -0
  264. package/dist/types/meeting-info/request.d.ts +22 -0
  265. package/dist/types/meeting-info/util.d.ts +2 -0
  266. package/dist/types/meeting-info/utilv2.d.ts +2 -0
  267. package/dist/types/meetings/collection.d.ts +23 -0
  268. package/dist/types/meetings/index.d.ts +297 -0
  269. package/dist/types/meetings/request.d.ts +27 -0
  270. package/dist/types/meetings/util.d.ts +18 -0
  271. package/dist/types/member/index.d.ts +146 -0
  272. package/dist/types/member/util.d.ts +2 -0
  273. package/dist/types/members/collection.d.ts +24 -0
  274. package/dist/types/members/index.d.ts +320 -0
  275. package/dist/types/members/request.d.ts +50 -0
  276. package/dist/types/members/util.d.ts +2 -0
  277. package/dist/types/metrics/config.d.ts +169 -0
  278. package/dist/types/metrics/constants.d.ts +53 -0
  279. package/dist/types/metrics/index.d.ts +152 -0
  280. package/dist/types/multistream/mediaRequestManager.d.ts +51 -0
  281. package/dist/types/multistream/receiveSlot.d.ts +64 -0
  282. package/dist/types/multistream/receiveSlotManager.d.ts +46 -0
  283. package/dist/types/multistream/remoteMedia.d.ts +100 -0
  284. package/dist/types/multistream/remoteMediaGroup.d.ts +56 -0
  285. package/dist/types/multistream/remoteMediaManager.d.ts +241 -0
  286. package/dist/types/networkQualityMonitor/index.d.ts +70 -0
  287. package/dist/types/personal-meeting-room/index.d.ts +47 -0
  288. package/dist/types/personal-meeting-room/request.d.ts +14 -0
  289. package/dist/types/personal-meeting-room/util.d.ts +2 -0
  290. package/dist/types/reachability/index.d.ts +140 -0
  291. package/dist/types/reachability/request.d.ts +37 -0
  292. package/dist/types/reactions/constants.d.ts +3 -0
  293. package/dist/types/reactions/reactions.d.ts +4 -0
  294. package/dist/types/reactions/reactions.type.d.ts +52 -0
  295. package/dist/types/reconnection-manager/index.d.ts +117 -0
  296. package/dist/types/recording-controller/enums.d.ts +7 -0
  297. package/dist/types/recording-controller/index.d.ts +193 -0
  298. package/dist/types/recording-controller/util.d.ts +13 -0
  299. package/dist/types/roap/index.d.ts +77 -0
  300. package/dist/types/roap/request.d.ts +38 -0
  301. package/dist/types/roap/turnDiscovery.d.ts +74 -0
  302. package/dist/types/statsAnalyzer/global.d.ts +36 -0
  303. package/dist/types/statsAnalyzer/index.d.ts +195 -0
  304. package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
  305. package/dist/types/transcription/index.d.ts +64 -0
  306. package/internal-README.md +7 -6
  307. package/package.json +27 -21
  308. package/src/breakouts/README.md +199 -0
  309. package/src/breakouts/breakout.ts +130 -0
  310. package/src/breakouts/collection.ts +19 -0
  311. package/src/breakouts/edit-lock-error.ts +25 -0
  312. package/src/breakouts/index.ts +504 -0
  313. package/src/breakouts/request.ts +55 -0
  314. package/src/breakouts/utils.ts +39 -0
  315. package/src/common/{browser-detection.js → browser-detection.ts} +9 -6
  316. package/src/common/collection.ts +9 -7
  317. package/src/common/{config.js → config.ts} +1 -1
  318. package/src/common/errors/{captcha-error.js → captcha-error.ts} +11 -7
  319. package/src/common/errors/{intent-to-join.js → intent-to-join.ts} +12 -7
  320. package/src/common/errors/{join-meeting.js → join-meeting.ts} +17 -8
  321. package/src/common/errors/{media.js → media.ts} +11 -7
  322. package/src/common/errors/parameter.ts +11 -7
  323. package/src/common/errors/{password-error.js → password-error.ts} +11 -7
  324. package/src/common/errors/{permission.js → permission.ts} +10 -6
  325. package/src/common/errors/{reconnection.js → reconnection.ts} +11 -7
  326. package/src/common/errors/{stats.js → stats.ts} +11 -7
  327. package/src/common/errors/{webex-errors.js → webex-errors.ts} +8 -7
  328. package/src/common/errors/{webex-meetings-error.js → webex-meetings-error.ts} +4 -2
  329. package/src/common/events/{events-scope.js → events-scope.ts} +6 -2
  330. package/src/common/events/{events.js → events.ts} +5 -1
  331. package/src/common/events/{trigger-proxy.js → trigger-proxy.ts} +9 -5
  332. package/src/common/events/{util.js → util.ts} +2 -3
  333. package/src/common/logs/{logger-config.js → logger-config.ts} +1 -2
  334. package/src/common/logs/logger-proxy.ts +44 -0
  335. package/src/common/logs/{request.js → request.ts} +22 -9
  336. package/src/common/queue.ts +1 -2
  337. package/src/{config.js → config.ts} +17 -12
  338. package/src/constants.ts +62 -5
  339. package/src/controls-options-manager/constants.ts +5 -0
  340. package/src/controls-options-manager/enums.ts +6 -0
  341. package/src/controls-options-manager/index.ts +183 -0
  342. package/src/controls-options-manager/util.ts +20 -0
  343. package/src/index.js +4 -1
  344. package/src/locus-info/controlsUtils.ts +114 -0
  345. package/src/locus-info/{embeddedAppsUtils.js → embeddedAppsUtils.ts} +5 -6
  346. package/src/locus-info/{fullState.js → fullState.ts} +16 -12
  347. package/src/locus-info/{hostUtils.js → hostUtils.ts} +9 -8
  348. package/src/locus-info/{index.js → index.ts} +150 -66
  349. package/src/locus-info/{infoUtils.js → infoUtils.ts} +19 -8
  350. package/src/locus-info/{mediaSharesUtils.js → mediaSharesUtils.ts} +17 -17
  351. package/src/locus-info/{parser.js → parser.ts} +67 -79
  352. package/src/locus-info/{selfUtils.js → selfUtils.ts} +123 -68
  353. package/src/media/{index.js → index.ts} +182 -173
  354. package/src/media/{properties.js → properties.ts} +60 -37
  355. package/src/media/{util.js → util.ts} +2 -2
  356. package/src/mediaQualityMetrics/config.ts +384 -0
  357. package/src/meeting/in-meeting-actions.ts +31 -3
  358. package/src/meeting/{index.js → index.ts} +2512 -1579
  359. package/src/meeting/{muteState.js → muteState.ts} +95 -49
  360. package/src/meeting/{request.js → request.ts} +326 -142
  361. package/src/meeting/request.type.ts +13 -0
  362. package/src/meeting/{state.js → state.ts} +50 -35
  363. package/src/meeting/{util.js → util.ts} +117 -119
  364. package/src/meeting-info/{collection.js → collection.ts} +6 -2
  365. package/src/meeting-info/{index.js → index.ts} +42 -36
  366. package/src/meeting-info/meeting-info-v2.ts +273 -0
  367. package/src/meeting-info/{request.js → request.ts} +14 -4
  368. package/src/meeting-info/{util.js → util.ts} +60 -51
  369. package/src/meeting-info/{utilv2.js → utilv2.ts} +65 -58
  370. package/src/meetings/{collection.js → collection.ts} +6 -3
  371. package/src/meetings/index.ts +1159 -0
  372. package/src/meetings/{request.js → request.ts} +32 -25
  373. package/src/meetings/{util.js → util.ts} +58 -32
  374. package/src/member/{index.js → index.ts} +102 -56
  375. package/src/member/{util.js → util.ts} +52 -25
  376. package/src/members/{collection.js → collection.ts} +2 -2
  377. package/src/members/{index.js → index.ts} +221 -142
  378. package/src/members/{request.js → request.ts} +60 -16
  379. package/src/members/{util.js → util.ts} +50 -48
  380. package/src/metrics/{config.js → config.ts} +253 -92
  381. package/src/metrics/{constants.js → constants.ts} +0 -6
  382. package/src/metrics/{index.js → index.ts} +105 -94
  383. package/src/multistream/mediaRequestManager.ts +101 -39
  384. package/src/multistream/receiveSlot.ts +62 -26
  385. package/src/multistream/receiveSlotManager.ts +35 -21
  386. package/src/multistream/remoteMedia.ts +38 -5
  387. package/src/multistream/remoteMediaGroup.ts +4 -3
  388. package/src/multistream/remoteMediaManager.ts +152 -36
  389. package/src/networkQualityMonitor/{index.js → index.ts} +41 -29
  390. package/src/personal-meeting-room/{index.js → index.ts} +28 -19
  391. package/src/personal-meeting-room/{request.js → request.ts} +13 -4
  392. package/src/personal-meeting-room/{util.js → util.ts} +4 -4
  393. package/src/reachability/{index.js → index.ts} +109 -85
  394. package/src/reachability/request.ts +46 -35
  395. package/src/reactions/constants.ts +4 -0
  396. package/src/reactions/reactions.ts +104 -0
  397. package/src/reactions/reactions.type.ts +62 -0
  398. package/src/reconnection-manager/{index.js → index.ts} +196 -103
  399. package/src/recording-controller/enums.ts +8 -0
  400. package/src/recording-controller/index.ts +315 -0
  401. package/src/recording-controller/util.ts +58 -0
  402. package/src/roap/{index.js → index.ts} +77 -60
  403. package/src/roap/request.ts +172 -0
  404. package/src/roap/turnDiscovery.ts +81 -41
  405. package/src/statsAnalyzer/global.ts +37 -0
  406. package/src/statsAnalyzer/index.ts +1234 -0
  407. package/src/statsAnalyzer/mqaUtil.ts +293 -0
  408. package/src/transcription/{index.js → index.ts} +46 -39
  409. package/test/integration/spec/converged-space-meetings.js +176 -0
  410. package/test/integration/spec/journey.js +665 -464
  411. package/test/integration/spec/space-meeting.js +320 -206
  412. package/test/integration/spec/transcription.js +7 -8
  413. package/test/unit/spec/breakouts/breakout.ts +147 -0
  414. package/test/unit/spec/breakouts/collection.ts +15 -0
  415. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  416. package/test/unit/spec/breakouts/index.ts +707 -0
  417. package/test/unit/spec/breakouts/request.ts +104 -0
  418. package/test/unit/spec/breakouts/utils.js +47 -0
  419. package/test/unit/spec/common/browser-detection.js +9 -28
  420. package/test/unit/spec/controls-options-manager/index.js +124 -0
  421. package/test/unit/spec/controls-options-manager/util.js +66 -0
  422. package/test/unit/spec/fixture/locus.js +92 -90
  423. package/test/unit/spec/locus-info/controlsUtils.js +25 -5
  424. package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
  425. package/test/unit/spec/locus-info/index.js +104 -2
  426. package/test/unit/spec/locus-info/infoUtils.js +41 -32
  427. package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
  428. package/test/unit/spec/locus-info/lib/SeqCmp.json +513 -685
  429. package/test/unit/spec/locus-info/parser.js +3 -9
  430. package/test/unit/spec/locus-info/selfConstant.js +97 -103
  431. package/test/unit/spec/locus-info/selfUtils.js +105 -12
  432. package/test/unit/spec/media/index.ts +39 -53
  433. package/test/unit/spec/media/properties.ts +9 -9
  434. package/test/unit/spec/meeting/in-meeting-actions.ts +13 -2
  435. package/test/unit/spec/meeting/index.js +2253 -811
  436. package/test/unit/spec/meeting/muteState.js +74 -55
  437. package/test/unit/spec/meeting/request.js +141 -43
  438. package/test/unit/spec/meeting/utils.js +106 -171
  439. package/test/unit/spec/meeting-info/meetinginfov2.js +100 -73
  440. package/test/unit/spec/meeting-info/request.js +7 -9
  441. package/test/unit/spec/meeting-info/util.js +11 -12
  442. package/test/unit/spec/meeting-info/utilv2.js +110 -74
  443. package/test/unit/spec/meetings/collection.js +1 -1
  444. package/test/unit/spec/meetings/index.js +439 -257
  445. package/test/unit/spec/meetings/utils.js +14 -12
  446. package/test/unit/spec/member/index.js +0 -1
  447. package/test/unit/spec/member/util.js +31 -7
  448. package/test/unit/spec/members/index.js +104 -54
  449. package/test/unit/spec/members/request.js +29 -20
  450. package/test/unit/spec/members/utils.js +8 -5
  451. package/test/unit/spec/metrics/index.js +16 -21
  452. package/test/unit/spec/multistream/mediaRequestManager.ts +318 -64
  453. package/test/unit/spec/multistream/receiveSlot.ts +68 -17
  454. package/test/unit/spec/multistream/receiveSlotManager.ts +41 -13
  455. package/test/unit/spec/multistream/remoteMedia.ts +38 -2
  456. package/test/unit/spec/multistream/remoteMediaGroup.ts +5 -5
  457. package/test/unit/spec/multistream/remoteMediaManager.ts +412 -65
  458. package/test/unit/spec/networkQualityMonitor/index.js +24 -18
  459. package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
  460. package/test/unit/spec/reachability/index.ts +70 -27
  461. package/test/unit/spec/reachability/request.js +66 -0
  462. package/test/unit/spec/reconnection-manager/index.js +58 -30
  463. package/test/unit/spec/recording-controller/index.js +231 -0
  464. package/test/unit/spec/recording-controller/util.js +102 -0
  465. package/test/unit/spec/roap/index.ts +12 -8
  466. package/test/unit/spec/roap/request.ts +217 -0
  467. package/test/unit/spec/roap/turnDiscovery.ts +72 -49
  468. package/test/unit/spec/stats-analyzer/index.js +86 -57
  469. package/test/utils/cmr.js +44 -42
  470. package/test/utils/constants.js +9 -0
  471. package/test/utils/testUtils.js +98 -77
  472. package/test/utils/webex-config.js +22 -18
  473. package/test/utils/webex-test-users.js +57 -50
  474. package/tsconfig.json +6 -0
  475. package/dist/media/internal-media-core-wrapper.js +0 -22
  476. package/dist/media/internal-media-core-wrapper.js.map +0 -1
  477. package/dist/meeting/effectsState.js +0 -327
  478. package/dist/meeting/effectsState.js.map +0 -1
  479. package/dist/multistream/multistreamMedia.js +0 -116
  480. package/dist/multistream/multistreamMedia.js.map +0 -1
  481. package/dist/peer-connection-manager/util.js +0 -124
  482. package/dist/peer-connection-manager/util.js.map +0 -1
  483. package/src/common/logs/logger-proxy.js +0 -33
  484. package/src/locus-info/controlsUtils.js +0 -102
  485. package/src/media/internal-media-core-wrapper.ts +0 -9
  486. package/src/mediaQualityMetrics/config.js +0 -382
  487. package/src/meeting/effectsState.js +0 -205
  488. package/src/meeting-info/meeting-info-v2.js +0 -255
  489. package/src/meetings/index.js +0 -1015
  490. package/src/multistream/multistreamMedia.ts +0 -92
  491. package/src/peer-connection-manager/util.ts +0 -117
  492. package/src/roap/request.js +0 -127
  493. package/src/statsAnalyzer/global.js +0 -133
  494. package/src/statsAnalyzer/index.js +0 -1006
  495. package/src/statsAnalyzer/mqaUtil.js +0 -173
  496. package/test/unit/spec/meeting/effectsState.js +0 -291
  497. package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +0 -389
  498. /package/src/common/errors/{reconnection-in-progress.js → reconnection-in-progress.ts} +0 -0
@@ -1,219 +1,226 @@
1
1
  "use strict";
2
2
 
3
3
  var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
4
-
5
4
  var _Object$keys = require("@babel/runtime-corejs2/core-js/object/keys");
6
-
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
14
  exports.default = void 0;
24
-
25
15
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
26
-
27
16
  var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
28
-
29
17
  var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
30
-
31
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
32
-
33
18
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
34
-
35
19
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
36
-
37
20
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
38
-
21
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/assertThisInitialized"));
39
22
  var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
40
-
41
23
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
42
-
43
24
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
44
-
25
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
45
26
  var _debounce2 = _interopRequireDefault(require("lodash/debounce"));
46
-
47
27
  var _uuid = _interopRequireDefault(require("uuid"));
48
-
49
28
  var _webexCore = require("@webex/webex-core");
50
-
51
29
  var _common = require("@webex/common");
52
-
53
30
  var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
54
-
55
31
  var _constants = require("../constants");
56
-
57
32
  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; }
58
-
59
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; }
60
-
61
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); }; }
62
-
63
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; } }
64
-
65
36
  /**
66
37
  * @class MeetingRequest
67
38
  */
68
39
  var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
69
40
  (0, _inherits2.default)(MeetingRequest, _StatelessWebexPlugin);
70
-
71
41
  var _super = _createSuper(MeetingRequest);
72
-
42
+ /**
43
+ * Constructor
44
+ * @param {Object} attrs
45
+ * @param {Object} options
46
+ */
73
47
  function MeetingRequest(attrs, options) {
74
48
  var _this;
75
-
76
49
  (0, _classCallCheck2.default)(this, MeetingRequest);
77
50
  _this = _super.call(this, attrs, options);
51
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "changeVideoLayoutDebounced", void 0);
52
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getJoinCookie", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
53
+ var joinCookieRaw, joinCookie;
54
+ return _regenerator.default.wrap(function _callee$(_context) {
55
+ while (1) switch (_context.prev = _context.next) {
56
+ case 0:
57
+ _context.next = 2;
58
+ return _this.webex.boundedStorage.get(_constants.REACHABILITY.namespace, _constants.REACHABILITY.localStorageJoinCookie).catch(function () {});
59
+ case 2:
60
+ joinCookieRaw = _context.sent;
61
+ if (!joinCookieRaw) {
62
+ _context.next = 13;
63
+ break;
64
+ }
65
+ _context.prev = 4;
66
+ joinCookie = JSON.parse(joinCookieRaw);
67
+ if (!joinCookie) {
68
+ _context.next = 8;
69
+ break;
70
+ }
71
+ return _context.abrupt("return", joinCookie);
72
+ case 8:
73
+ _context.next = 13;
74
+ break;
75
+ case 10:
76
+ _context.prev = 10;
77
+ _context.t0 = _context["catch"](4);
78
+ _loggerProxy.default.logger.error("MeetingRequest#constructor --> Error in parsing join cookie data: ".concat(_context.t0));
79
+ case 13:
80
+ return _context.abrupt("return", null);
81
+ case 14:
82
+ case "end":
83
+ return _context.stop();
84
+ }
85
+ }, _callee, null, [[4, 10]]);
86
+ })));
78
87
  _this.changeVideoLayoutDebounced = (0, _debounce2.default)(_this.changeVideoLayout, 2000, {
79
88
  leading: true,
80
89
  trailing: true
81
90
  });
82
91
  return _this;
83
92
  }
93
+
84
94
  /**
85
- * Make a network request to join a meeting
86
- * @param {Object} options
87
- * @param {String} options.sipUri
88
- * @param {String} options.deviceUrl
89
- * @param {String} options.locusUrl
90
- * @param {String} options.resourceId,
91
- * @param {String} options.correlationId
92
- * @param {boolean} options.ensureConversation
93
- * @param {boolean} options.moderator
94
- * @param {boolean} options.pin
95
- * @param {boolean} options.moveToResource
96
- * @param {Object} options.roapMessage
97
- * @returns {Promise}
95
+ * Returns joinCookie from boundedStorage if present.
96
+ * @returns {Object} joinCookie
98
97
  */
99
-
100
-
101
98
  (0, _createClass2.default)(MeetingRequest, [{
102
99
  key: "joinMeeting",
103
- value: function () {
104
- var _joinMeeting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(options) {
105
- var asResourceOccupant, inviteeAddress, meetingNumber, permissionToken, deviceUrl, locusUrl, resourceId, correlationId, ensureConversation, moderator, pin, moveToResource, roapMessage, preferTranscoding, url, body;
106
- return _regenerator.default.wrap(function _callee$(_context) {
107
- while (1) {
108
- switch (_context.prev = _context.next) {
109
- case 0:
110
- asResourceOccupant = options.asResourceOccupant, inviteeAddress = options.inviteeAddress, meetingNumber = options.meetingNumber, permissionToken = options.permissionToken, deviceUrl = options.deviceUrl, locusUrl = options.locusUrl, resourceId = options.resourceId, correlationId = options.correlationId, ensureConversation = options.ensureConversation, moderator = options.moderator, pin = options.pin, moveToResource = options.moveToResource, roapMessage = options.roapMessage, preferTranscoding = options.preferTranscoding;
111
-
112
- _loggerProxy.default.logger.info('Meeting:request#joinMeeting --> Joining a meeting', correlationId);
113
-
114
- url = '';
115
- body = {
116
- asResourceOccupant: asResourceOccupant,
117
- device: {
118
- url: deviceUrl,
119
- deviceType: this.config.meetings.deviceType
120
- },
121
- usingResource: resourceId || null,
122
- moveMediaToResource: resourceId && moveToResource || false,
123
- correlationId: correlationId,
124
- respOnlySdp: true,
125
- allowMultiDevice: true,
126
- ensureConversation: ensureConversation || false,
127
- supportsNativeLobby: 1,
128
- clientMediaPreferences: {
129
- preferTranscoding: preferTranscoding !== null && preferTranscoding !== void 0 ? preferTranscoding : true
130
- }
131
- };
132
-
133
- if (this.webex.meetings.clientRegion) {
134
- body.device.countryCode = this.webex.meetings.clientRegion.countryCode;
135
- body.device.regionCode = this.webex.meetings.clientRegion.regionCode;
136
- }
137
-
138
- if (moderator !== undefined) {
139
- body.moderator = moderator;
140
- }
141
-
142
- if (permissionToken) {
143
- body.permissionToken = permissionToken;
144
- }
145
-
146
- if (pin !== undefined) {
147
- body.pin = pin;
148
- }
149
-
150
- if (!locusUrl) {
151
- _context.next = 12;
152
- break;
100
+ value:
101
+ /**
102
+ * Make a network request to join a meeting
103
+ * @param {Object} options
104
+ * @param {String} options.sipUri
105
+ * @param {String} options.deviceUrl
106
+ * @param {String} options.locusUrl
107
+ * @param {String} options.resourceId,
108
+ * @param {String} options.correlationId
109
+ * @param {boolean} options.ensureConversation
110
+ * @param {boolean} options.moderator
111
+ * @param {boolean} options.pin
112
+ * @param {boolean} options.moveToResource
113
+ * @param {Object} options.roapMessage
114
+ * @param {boolean} options.breakoutsSupported
115
+ * @returns {Promise}
116
+ */
117
+ function () {
118
+ var _joinMeeting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(options) {
119
+ var asResourceOccupant, inviteeAddress, meetingNumber, permissionToken, deviceUrl, locusUrl, resourceId, correlationId, ensureConversation, moderator, pin, moveToResource, roapMessage, preferTranscoding, breakoutsSupported, url, joinCookie, body;
120
+ return _regenerator.default.wrap(function _callee2$(_context2) {
121
+ while (1) switch (_context2.prev = _context2.next) {
122
+ case 0:
123
+ asResourceOccupant = options.asResourceOccupant, inviteeAddress = options.inviteeAddress, meetingNumber = options.meetingNumber, permissionToken = options.permissionToken, deviceUrl = options.deviceUrl, locusUrl = options.locusUrl, resourceId = options.resourceId, correlationId = options.correlationId, ensureConversation = options.ensureConversation, moderator = options.moderator, pin = options.pin, moveToResource = options.moveToResource, roapMessage = options.roapMessage, preferTranscoding = options.preferTranscoding, breakoutsSupported = options.breakoutsSupported;
124
+ _loggerProxy.default.logger.info('Meeting:request#joinMeeting --> Joining a meeting', correlationId);
125
+ url = '';
126
+ _context2.next = 5;
127
+ return this.getJoinCookie();
128
+ case 5:
129
+ joinCookie = _context2.sent;
130
+ body = {
131
+ asResourceOccupant: asResourceOccupant,
132
+ device: {
133
+ url: deviceUrl,
134
+ // @ts-ignore - config comes from registerPlugin
135
+ deviceType: this.config.meetings.deviceType
136
+ },
137
+ usingResource: resourceId || null,
138
+ moveMediaToResource: resourceId && moveToResource || false,
139
+ correlationId: correlationId,
140
+ respOnlySdp: true,
141
+ allowMultiDevice: true,
142
+ ensureConversation: ensureConversation || false,
143
+ supportsNativeLobby: 1,
144
+ clientMediaPreferences: {
145
+ preferTranscoding: preferTranscoding !== null && preferTranscoding !== void 0 ? preferTranscoding : true,
146
+ joinCookie: joinCookie
153
147
  }
154
-
155
- url = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT);
156
- _context.next = 24;
148
+ };
149
+ if (breakoutsSupported) {
150
+ body.deviceCapabilities = [_constants.BREAKOUTS.BREAKOUTS_SUPPORTED];
151
+ }
152
+
153
+ // @ts-ignore
154
+ if (this.webex.meetings.clientRegion) {
155
+ // @ts-ignore
156
+ body.device.countryCode = this.webex.meetings.clientRegion.countryCode;
157
+ // @ts-ignore
158
+ body.device.regionCode = this.webex.meetings.clientRegion.regionCode;
159
+ }
160
+ if (moderator !== undefined) {
161
+ body.moderator = moderator;
162
+ }
163
+ if (permissionToken) {
164
+ body.permissionToken = permissionToken;
165
+ }
166
+ if (pin !== undefined) {
167
+ body.pin = pin;
168
+ }
169
+ if (!locusUrl) {
170
+ _context2.next = 16;
157
171
  break;
158
-
159
- case 12:
160
- if (!(inviteeAddress || meetingNumber)) {
161
- _context.next = 24;
162
- break;
163
- }
164
-
165
- _context.prev = 13;
166
- _context.next = 16;
167
- return this.webex.internal.services.waitForCatalog('postauth');
168
-
169
- case 16:
170
- url = "".concat(this.webex.internal.services.get('locus'), "/").concat(_constants.LOCI, "/").concat(_constants.CALL);
171
- body.invitee = {
172
- address: inviteeAddress || "wbxmn:".concat(meetingNumber)
173
- };
174
- _context.next = 24;
172
+ }
173
+ url = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT);
174
+ _context2.next = 28;
175
+ break;
176
+ case 16:
177
+ if (!(inviteeAddress || meetingNumber)) {
178
+ _context2.next = 28;
175
179
  break;
176
-
177
- case 20:
178
- _context.prev = 20;
179
- _context.t0 = _context["catch"](13);
180
-
181
- _loggerProxy.default.logger.error("Meeting:request#joinMeeting Error Joining ".concat(inviteeAddress || meetingNumber, " --> ").concat(_context.t0));
182
-
183
- throw _context.t0;
184
-
185
- case 24:
186
- // TODO: -- this will be resolved in SDK request
187
- url = url.concat("?".concat(_constants.ALTERNATE_REDIRECT_TRUE));
188
-
189
- if (resourceId === inviteeAddress) {
190
- body.callPreferences = {
191
- requestedMedia: [_constants._SLIDES_]
192
- };
193
- }
194
-
195
- if (roapMessage) {
196
- body.localMedias = roapMessage.localMedias;
197
- }
198
-
199
- return _context.abrupt("return", this.request({
200
- method: _constants.HTTP_VERBS.POST,
201
- uri: url,
202
- body: body
203
- }));
204
-
205
- case 28:
206
- case "end":
207
- return _context.stop();
208
- }
180
+ }
181
+ _context2.prev = 17;
182
+ _context2.next = 20;
183
+ return this.webex.internal.services.waitForCatalog('postauth');
184
+ case 20:
185
+ // @ts-ignore
186
+ url = "".concat(this.webex.internal.services.get('locus'), "/").concat(_constants.LOCI, "/").concat(_constants.CALL);
187
+ body.invitee = {
188
+ address: inviteeAddress || "wbxmn:".concat(meetingNumber)
189
+ };
190
+ _context2.next = 28;
191
+ break;
192
+ case 24:
193
+ _context2.prev = 24;
194
+ _context2.t0 = _context2["catch"](17);
195
+ _loggerProxy.default.logger.error("Meeting:request#joinMeeting Error Joining ".concat(inviteeAddress || meetingNumber, " --> ").concat(_context2.t0));
196
+ throw _context2.t0;
197
+ case 28:
198
+ // TODO: -- this will be resolved in SDK request
199
+ url = url.concat("?".concat(_constants.ALTERNATE_REDIRECT_TRUE));
200
+ if (resourceId === inviteeAddress) {
201
+ body.callPreferences = {
202
+ requestedMedia: [_constants._SLIDES_]
203
+ };
204
+ }
205
+ if (roapMessage) {
206
+ body.localMedias = roapMessage.localMedias;
207
+ }
208
+
209
+ /// @ts-ignore
210
+ return _context2.abrupt("return", this.request({
211
+ method: _constants.HTTP_VERBS.POST,
212
+ uri: url,
213
+ body: body
214
+ }));
215
+ case 32:
216
+ case "end":
217
+ return _context2.stop();
209
218
  }
210
- }, _callee, this, [[13, 20]]);
219
+ }, _callee2, this, [[17, 24]]);
211
220
  }));
212
-
213
221
  function joinMeeting(_x) {
214
222
  return _joinMeeting.apply(this, arguments);
215
223
  }
216
-
217
224
  return joinMeeting;
218
225
  }()
219
226
  /**
@@ -224,46 +231,44 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
224
231
  * @returns {Promise}
225
232
  * @private
226
233
  */
227
-
228
234
  }, {
229
235
  key: "refreshCaptcha",
230
- value: function refreshCaptcha(_ref) {
231
- var captchaRefreshUrl = _ref.captchaRefreshUrl,
232
- captchaId = _ref.captchaId;
236
+ value: function refreshCaptcha(_ref2) {
237
+ var captchaRefreshUrl = _ref2.captchaRefreshUrl,
238
+ captchaId = _ref2.captchaId;
233
239
  var body = {
234
240
  captchaId: captchaId
235
241
  };
242
+
243
+ // @ts-ignore
236
244
  return this.request({
237
245
  method: _constants.HTTP_VERBS.POST,
238
246
  uri: captchaRefreshUrl,
239
247
  body: body
240
248
  }).catch(function (err) {
241
249
  _loggerProxy.default.logger.error("Meeting:request#refreshCaptcha --> Error: ".concat(err));
242
-
243
250
  throw err;
244
251
  });
245
252
  }
253
+
246
254
  /**
247
255
  * Make a network request to add a dial in device
248
256
  * @param {Object} options
249
257
  * @param {String} options.correlationId
250
- * @param {String} options.localUrl url for the meeting
258
+ * @param {String} options.locusUrl url for the meeting
251
259
  * @param {String} options.dialInUrl identifier for the to-be provisioned device
252
260
  * @param {String} options.clientUrl identifier for the web device
253
261
  * @returns {Promise}
254
262
  * @private
255
263
  */
256
-
257
264
  }, {
258
265
  key: "dialIn",
259
- value: function dialIn(_ref2) {
260
- var locusUrl = _ref2.locusUrl,
261
- dialInUrl = _ref2.dialInUrl,
262
- clientUrl = _ref2.clientUrl,
263
- correlationId = _ref2.correlationId;
264
-
266
+ value: function dialIn(_ref3) {
267
+ var locusUrl = _ref3.locusUrl,
268
+ dialInUrl = _ref3.dialInUrl,
269
+ clientUrl = _ref3.clientUrl,
270
+ correlationId = _ref3.correlationId;
265
271
  _loggerProxy.default.logger.info('Meeting:request#dialIn --> Provisioning a dial in device', correlationId);
266
-
267
272
  var uri = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT);
268
273
  var body = {
269
274
  device: {
@@ -274,39 +279,38 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
274
279
  },
275
280
  correlationId: correlationId
276
281
  };
282
+
283
+ // @ts-ignore
277
284
  return this.request({
278
285
  method: _constants.HTTP_VERBS.POST,
279
286
  uri: uri,
280
287
  body: body
281
288
  }).catch(function (err) {
282
289
  _loggerProxy.default.logger.error("Meeting:request#dialIn --> Error provisioning a dial in device, error ".concat(err));
283
-
284
290
  throw err;
285
291
  });
286
292
  }
293
+
287
294
  /**
288
295
  * Make a network request to add a dial out device
289
296
  * @param {Object} options
290
297
  * @param {String} options.correlationId
291
- * @param {String} options.localUrl url for the meeting
298
+ * @param {String} options.locusUrl url for the meeting
292
299
  * @param {String} options.dialOutUrl identifier for the to-be provisioned device
293
300
  * @param {String} options.phoneNumber phone number to dial out to
294
301
  * @param {String} options.clientUrl identifier for the web device
295
302
  * @returns {Promise}
296
303
  * @private
297
304
  */
298
-
299
305
  }, {
300
306
  key: "dialOut",
301
- value: function dialOut(_ref3) {
302
- var locusUrl = _ref3.locusUrl,
303
- dialOutUrl = _ref3.dialOutUrl,
304
- phoneNumber = _ref3.phoneNumber,
305
- clientUrl = _ref3.clientUrl,
306
- correlationId = _ref3.correlationId;
307
-
307
+ value: function dialOut(_ref4) {
308
+ var locusUrl = _ref4.locusUrl,
309
+ dialOutUrl = _ref4.dialOutUrl,
310
+ phoneNumber = _ref4.phoneNumber,
311
+ clientUrl = _ref4.clientUrl,
312
+ correlationId = _ref4.correlationId;
308
313
  _loggerProxy.default.logger.info('Meeting:request#dialOut --> Provisioning a dial out device', correlationId);
309
-
310
314
  var uri = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT);
311
315
  var body = {
312
316
  device: {
@@ -318,78 +322,78 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
318
322
  },
319
323
  correlationId: correlationId
320
324
  };
325
+
326
+ // @ts-ignore
321
327
  return this.request({
322
328
  method: _constants.HTTP_VERBS.POST,
323
329
  uri: uri,
324
330
  body: body
325
331
  }).catch(function (err) {
326
332
  _loggerProxy.default.logger.error("Meeting:request#dialOut --> Error provisioning a dial out device, error ".concat(err));
327
-
328
333
  throw err;
329
334
  });
330
335
  }
336
+
331
337
  /**
332
338
  * Syns the missed delta event
333
339
  * @param {Object} options
334
- * @param {boolen} options.desync flag to get partial or whole locus object
340
+ * @param {boolean} options.desync flag to get partial or whole locus object
335
341
  * @param {String} options.syncUrl sync url to get ht elatest locus delta
336
342
  * @returns {Promise}
337
343
  */
338
-
339
344
  }, {
340
345
  key: "syncMeeting",
341
346
  value: function syncMeeting(options) {
342
347
  /* eslint-disable no-else-return */
343
348
  var desync = options.desync;
344
349
  var syncUrl = options.syncUrl;
345
- /* istanbul ignore else */
346
350
 
351
+ /* istanbul ignore else */
347
352
  if (desync) {
348
353
  // check for existing URL parameters
349
354
  syncUrl = syncUrl.concat(syncUrl.split('?')[1] ? '&' : '?').concat("".concat(_constants.LOCUS.SYNCDEBUG, "=").concat(desync));
350
355
  }
351
356
 
357
+ // @ts-ignore
352
358
  return this.request({
353
359
  method: _constants.HTTP_VERBS.GET,
354
360
  uri: syncUrl
355
361
  }) // TODO: Handle if delta sync failed . Get the full locus object
356
362
  .catch(function (err) {
357
363
  _loggerProxy.default.logger.error("Meeting:request#syncMeeting --> Error syncing meeting, error ".concat(err));
358
-
359
364
  return err;
360
365
  });
361
366
  }
367
+
362
368
  /**
363
369
  * Request to get the complete locus object
364
370
  * @param {Object} options
365
- * @param {boolen} options.desync flag to get partial or whole locus object
371
+ * @param {boolean} options.desync flag to get partial or whole locus object
366
372
  * @param {String} options.locusUrl sync url to get ht elatest locus delta
367
373
  * @returns {Promise}
368
374
  */
369
-
370
375
  }, {
371
376
  key: "getFullLocus",
372
377
  value: function getFullLocus(options) {
373
378
  var locusUrl = options.locusUrl;
374
379
  var desync = options.desync;
375
-
376
380
  if (locusUrl) {
377
381
  if (desync) {
378
382
  locusUrl += "?".concat(_constants.LOCUS.SYNCDEBUG, "=").concat(desync);
379
383
  }
380
384
 
385
+ // @ts-ignore
381
386
  return this.request({
382
387
  method: _constants.HTTP_VERBS.GET,
383
388
  uri: locusUrl
384
389
  }).catch(function (err) {
385
390
  _loggerProxy.default.logger.error("Meeting:request#getFullLocus --> Error getting full locus, error ".concat(err));
386
-
387
391
  return err;
388
392
  });
389
393
  }
390
-
391
394
  return _promise.default.reject();
392
395
  }
396
+
393
397
  /**
394
398
  * Make a network request to make a provisioned phone leave the meeting
395
399
  * @param {Object} options
@@ -400,17 +404,14 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
400
404
  * @returns {Promise}
401
405
  * @private
402
406
  */
403
-
404
407
  }, {
405
408
  key: "disconnectPhoneAudio",
406
- value: function disconnectPhoneAudio(_ref4) {
407
- var locusUrl = _ref4.locusUrl,
408
- phoneUrl = _ref4.phoneUrl,
409
- correlationId = _ref4.correlationId,
410
- selfId = _ref4.selfId;
411
-
409
+ value: function disconnectPhoneAudio(_ref5) {
410
+ var locusUrl = _ref5.locusUrl,
411
+ phoneUrl = _ref5.phoneUrl,
412
+ correlationId = _ref5.correlationId,
413
+ selfId = _ref5.selfId;
412
414
  _loggerProxy.default.logger.info("Meeting:request#disconnectPhoneAudio --> request phone ".concat(phoneUrl, " to leave"), correlationId);
413
-
414
415
  var uri = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT, "/").concat(selfId, "/").concat(_constants.LEAVE);
415
416
  var body = {
416
417
  device: {
@@ -419,16 +420,18 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
419
420
  },
420
421
  correlationId: correlationId
421
422
  };
423
+
424
+ // @ts-ignore
422
425
  return this.request({
423
426
  method: _constants.HTTP_VERBS.PUT,
424
427
  uri: uri,
425
428
  body: body
426
429
  }).catch(function (err) {
427
430
  _loggerProxy.default.logger.error("Meeting:request#disconnectPhoneAudio --> Error when requesting phone ".concat(phoneUrl, " to leave, error ").concat(err));
428
-
429
431
  throw err;
430
432
  });
431
433
  }
434
+
432
435
  /**
433
436
  * Make a network request to leave a meeting
434
437
  * @param {Object} options
@@ -439,33 +442,34 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
439
442
  * @param {String} options.correlationId
440
443
  * @returns {Promise}
441
444
  */
442
-
443
445
  }, {
444
446
  key: "leaveMeeting",
445
- value: function leaveMeeting(_ref5) {
446
- var locusUrl = _ref5.locusUrl,
447
- selfId = _ref5.selfId,
448
- url = _ref5.deviceUrl,
449
- resourceId = _ref5.resourceId,
450
- correlationId = _ref5.correlationId;
451
-
447
+ value: function leaveMeeting(_ref6) {
448
+ var locusUrl = _ref6.locusUrl,
449
+ selfId = _ref6.selfId,
450
+ url = _ref6.deviceUrl,
451
+ resourceId = _ref6.resourceId,
452
+ correlationId = _ref6.correlationId;
452
453
  _loggerProxy.default.logger.info('Meeting:request#leaveMeeting --> Leaving a meeting', correlationId);
453
-
454
454
  var uri = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT, "/").concat(selfId, "/").concat(_constants.LEAVE);
455
455
  var body = {
456
456
  device: {
457
+ // @ts-ignore
457
458
  deviceType: this.config.meetings.deviceType,
458
459
  url: url
459
460
  },
460
461
  usingResource: resourceId || null,
461
462
  correlationId: correlationId
462
463
  };
464
+
465
+ // @ts-ignore
463
466
  return this.request({
464
467
  method: _constants.HTTP_VERBS.PUT,
465
468
  uri: uri,
466
469
  body: body
467
470
  });
468
471
  }
472
+
469
473
  /**
470
474
  * Make a network request to acknowledge a meeting
471
475
  * @param {Object} options
@@ -474,45 +478,22 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
474
478
  * @param {String} options.correlationId
475
479
  * @returns {Promise}
476
480
  */
477
-
478
481
  }, {
479
482
  key: "acknowledgeMeeting",
480
483
  value: function acknowledgeMeeting(options) {
481
484
  var uri = "".concat(options.locusUrl, "/").concat(_constants.PARTICIPANT, "/").concat(_constants.ALERT);
482
485
  var body = {
483
486
  device: {
487
+ // @ts-ignore
484
488
  deviceType: this.config.meetings.deviceType,
485
489
  url: options.deviceUrl
486
490
  },
487
491
  correlationId: options.correlationId
488
492
  };
489
- return this.request({
490
- method: _constants.HTTP_VERBS.PUT,
491
- uri: uri,
492
- body: body
493
- });
494
- }
495
- /**
496
- * Make a network request to acknowledge a meeting
497
- * @param {Object} options
498
- * @param {String} options.locusUrl
499
- * @param {String} options.deviceUrl
500
- * @param {String} options.id
501
- * @returns {Promise}
502
- */
503
493
 
504
- }, {
505
- key: "recordMeeting",
506
- value: function recordMeeting(options) {
507
- var uri = "".concat(options.locusUrl, "/").concat(_constants.CONTROLS);
508
- var body = {
509
- record: {
510
- recording: options.recording,
511
- paused: options.paused
512
- }
513
- };
494
+ // @ts-ignore
514
495
  return this.request({
515
- method: _constants.HTTP_VERBS.PATCH,
496
+ method: _constants.HTTP_VERBS.PUT,
516
497
  uri: uri,
517
498
  body: body
518
499
  });
@@ -526,12 +507,15 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
526
507
  locked: options.lock
527
508
  }
528
509
  };
510
+
511
+ // @ts-ignore
529
512
  return this.request({
530
513
  method: _constants.HTTP_VERBS.PATCH,
531
514
  uri: uri,
532
515
  body: body
533
516
  });
534
517
  }
518
+
535
519
  /**
536
520
  * Make a network request to decline a meeting
537
521
  * @param {Object} options
@@ -540,14 +524,13 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
540
524
  * @param {String} options.reason
541
525
  * @returns {Promise}
542
526
  */
543
-
544
527
  }, {
545
528
  key: "declineMeeting",
546
529
  value: function declineMeeting(options) {
547
530
  var uri = "".concat(options.locusUrl, "/").concat(_constants.PARTICIPANT, "/").concat(_constants.DECLINE);
548
-
549
531
  var body = _objectSpread({
550
532
  device: {
533
+ // @ts-ignore
551
534
  deviceType: this.config.meetings.deviceType,
552
535
  url: options.deviceUrl
553
536
  }
@@ -555,12 +538,14 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
555
538
  reason: options.reason
556
539
  });
557
540
 
541
+ // @ts-ignore
558
542
  return this.request({
559
543
  method: _constants.HTTP_VERBS.PUT,
560
544
  uri: uri,
561
545
  body: body
562
546
  });
563
547
  }
548
+
564
549
  /**
565
550
  * Toggle remote audio and/or video
566
551
  * @param {Object} options options for toggling
@@ -572,15 +557,14 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
572
557
  * @param {Boolean} options.preferTranscoding false for multistream (Homer), true for transcoded media (Edonus)
573
558
  * @returns {Promise}
574
559
  */
575
-
576
560
  }, {
577
561
  key: "remoteAudioVideoToggle",
578
562
  value: function remoteAudioVideoToggle(options) {
579
563
  var _options$preferTransc;
580
-
581
564
  var uri = "".concat(options.locusUrl, "/").concat(_constants.PARTICIPANT, "/").concat(options.selfId, "/").concat(_constants.MEDIA);
582
565
  var body = {
583
566
  device: {
567
+ // @ts-ignore
584
568
  deviceType: this.config.meetings.deviceType,
585
569
  url: options.deviceUrl
586
570
  },
@@ -592,12 +576,15 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
592
576
  preferTranscoding: (_options$preferTransc = options.preferTranscoding) !== null && _options$preferTransc !== void 0 ? _options$preferTransc : true
593
577
  }
594
578
  };
579
+
580
+ // @ts-ignore
595
581
  return this.request({
596
582
  method: _constants.HTTP_VERBS.PUT,
597
583
  uri: uri,
598
584
  body: body
599
585
  });
600
586
  }
587
+
601
588
  /**
602
589
  * change the content floor grant
603
590
  * @param {Object} options options for floor grant
@@ -608,20 +595,20 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
608
595
  * @param {String} options.uri floor grant uri
609
596
  * @returns {Promise}
610
597
  */
611
-
612
598
  }, {
613
599
  key: "changeMeetingFloor",
614
600
  value: function changeMeetingFloor(options) {
615
601
  var floorReq = {
616
602
  disposition: options.disposition
617
603
  };
618
- /* istanbul ignore else */
619
604
 
605
+ /* istanbul ignore else */
620
606
  if (options.disposition === _constants.FLOOR_ACTION.GRANTED) {
621
607
  floorReq = {
622
608
  beneficiary: {
623
609
  url: options.personUrl,
624
610
  devices: [{
611
+ // @ts-ignore
625
612
  deviceType: this.config.meetings.deviceType,
626
613
  url: options.deviceUrl
627
614
  }]
@@ -632,22 +619,22 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
632
619
  }
633
620
  };
634
621
  }
635
-
636
622
  var body = {
637
623
  floor: floorReq,
638
624
  resourceUrl: options.resourceUrl
639
625
  };
640
-
641
626
  if (options !== null && options !== void 0 && options.resourceToken) {
642
627
  body.resourceToken = options === null || options === void 0 ? void 0 : options.resourceToken;
643
628
  }
644
629
 
630
+ // @ts-ignore
645
631
  return this.request({
646
632
  uri: options.uri,
647
633
  method: _constants.HTTP_VERBS.PUT,
648
634
  body: body
649
635
  });
650
636
  }
637
+
651
638
  /**
652
639
  * Sends a request to the DTMF endpoint to send tones
653
640
  * @param {Object} options
@@ -656,13 +643,13 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
656
643
  * @param {String} options.tones a string of one or more DTMF tones to send
657
644
  * @returns {Promise}
658
645
  */
659
-
660
646
  }, {
661
647
  key: "sendDTMF",
662
- value: function sendDTMF(_ref6) {
663
- var locusUrl = _ref6.locusUrl,
664
- deviceUrl = _ref6.deviceUrl,
665
- tones = _ref6.tones;
648
+ value: function sendDTMF(_ref7) {
649
+ var locusUrl = _ref7.locusUrl,
650
+ deviceUrl = _ref7.deviceUrl,
651
+ tones = _ref7.tones;
652
+ // @ts-ignore
666
653
  return this.request({
667
654
  method: _constants.HTTP_VERBS.POST,
668
655
  uri: "".concat(locusUrl, "/").concat(_constants.SEND_DTMF_ENDPOINT),
@@ -675,6 +662,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
675
662
  }
676
663
  });
677
664
  }
665
+
678
666
  /**
679
667
  * Sends a request to the controls endpoint to set the video layout
680
668
  * @param {Object} options
@@ -689,25 +677,21 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
689
677
  * @param {Number} options.content.height preferred height of content share stream
690
678
  * @returns {Promise}
691
679
  */
692
-
693
680
  }, {
694
681
  key: "changeVideoLayout",
695
- value: function changeVideoLayout(_ref7) {
696
- var locusUrl = _ref7.locusUrl,
697
- deviceUrl = _ref7.deviceUrl,
698
- layoutType = _ref7.layoutType,
699
- main = _ref7.main,
700
- content = _ref7.content;
701
-
682
+ value: function changeVideoLayout(_ref8) {
683
+ var locusUrl = _ref8.locusUrl,
684
+ deviceUrl = _ref8.deviceUrl,
685
+ layoutType = _ref8.layoutType,
686
+ main = _ref8.main,
687
+ content = _ref8.content;
702
688
  // send main/content renderInfo only if both width and height are specified
703
689
  if (main && (!main.width || !main.height)) {
704
690
  return _promise.default.reject(new Error("Both width and height must be specified. One of them is missing for main: ".concat((0, _stringify.default)(main))));
705
691
  }
706
-
707
692
  if (content && (!content.width || !content.height)) {
708
693
  return _promise.default.reject(new Error("Both width and height must be specified. One of them is missing for content: ".concat((0, _stringify.default)(content))));
709
694
  }
710
-
711
695
  var renderInfoMain = main ? {
712
696
  width: main.width,
713
697
  height: main.height
@@ -722,6 +706,8 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
722
706
  content: renderInfoContent
723
707
  }
724
708
  } : undefined;
709
+
710
+ // @ts-ignore
725
711
  return this.request({
726
712
  method: _constants.HTTP_VERBS.PUT,
727
713
  uri: "".concat(locusUrl, "/").concat(_constants.CONTROLS),
@@ -734,42 +720,100 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
734
720
  }
735
721
  });
736
722
  }
723
+
737
724
  /**
738
725
  * Make a network request to end meeting for all
739
726
  * @param {Object} options
740
727
  * @param {Url} options.locusUrl
741
728
  * @returns {Promise}
742
729
  */
743
-
744
730
  }, {
745
731
  key: "endMeetingForAll",
746
- value: function endMeetingForAll(_ref8) {
747
- var locusUrl = _ref8.locusUrl;
732
+ value: function endMeetingForAll(_ref9) {
733
+ var locusUrl = _ref9.locusUrl;
748
734
  var uri = "".concat(locusUrl, "/").concat(_constants.END);
735
+
736
+ // @ts-ignore
749
737
  return this.request({
750
738
  method: _constants.HTTP_VERBS.POST,
751
739
  uri: uri
752
740
  });
753
741
  }
742
+
754
743
  /**
755
744
  * Send a locus keepAlive (used in lobby)
756
745
  * @param {Object} options
757
746
  * @param {Url} options.keepAliveUrl
758
747
  * @returns {Promise}
759
748
  */
760
-
761
749
  }, {
762
750
  key: "keepAlive",
763
- value: function keepAlive(_ref9) {
764
- var keepAliveUrl = _ref9.keepAliveUrl;
751
+ value: function keepAlive(_ref10) {
752
+ var keepAliveUrl = _ref10.keepAliveUrl;
753
+ // @ts-ignore
765
754
  return this.request({
766
755
  method: _constants.HTTP_VERBS.GET,
767
756
  uri: keepAliveUrl
768
757
  });
769
758
  }
759
+
760
+ /**
761
+ * Make a network request to send a reaction.
762
+ * @param {Object} options
763
+ * @param {Url} options.reactionChannelUrl
764
+ * @param {Reaction} options.reaction
765
+ * @param {string} options.senderID
766
+ * @returns {Promise}
767
+ */
768
+ }, {
769
+ key: "sendReaction",
770
+ value: function sendReaction(_ref11) {
771
+ var reactionChannelUrl = _ref11.reactionChannelUrl,
772
+ reaction = _ref11.reaction,
773
+ participantId = _ref11.participantId;
774
+ var uri = reactionChannelUrl;
775
+
776
+ // @ts-ignore
777
+ return this.request({
778
+ method: _constants.HTTP_VERBS.POST,
779
+ uri: uri,
780
+ body: {
781
+ sender: {
782
+ participantId: participantId
783
+ },
784
+ reaction: reaction
785
+ }
786
+ });
787
+ }
788
+
789
+ /**
790
+ * Make a network request to enable or disable reactions.
791
+ * @param {boolean} options.enable - determines if we need to enable or disable.
792
+ * @param {locusUrl} options.locusUrl
793
+ * @returns {Promise}
794
+ */
795
+ }, {
796
+ key: "toggleReactions",
797
+ value: function toggleReactions(_ref12) {
798
+ var enable = _ref12.enable,
799
+ locusUrl = _ref12.locusUrl,
800
+ requestingParticipantId = _ref12.requestingParticipantId;
801
+ var uri = "".concat(locusUrl, "/").concat(_constants.CONTROLS);
802
+
803
+ // @ts-ignore
804
+ return this.request({
805
+ method: _constants.HTTP_VERBS.PUT,
806
+ uri: uri,
807
+ body: {
808
+ reactions: {
809
+ enabled: enable
810
+ },
811
+ requestingParticipantId: requestingParticipantId
812
+ }
813
+ });
814
+ }
770
815
  }]);
771
816
  return MeetingRequest;
772
817
  }(_webexCore.StatelessWebexPlugin);
773
-
774
818
  exports.default = MeetingRequest;
775
819
  //# sourceMappingURL=request.js.map