@webex/plugin-meetings 3.0.0-beta.2 → 3.0.0-beta.200

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