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