@webex/plugin-meetings 3.0.0-beta.3 → 3.0.0-beta.300

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