@webex/plugin-meetings 3.0.0-beta.39 → 3.0.0-beta.391

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 (393) hide show
  1. package/README.md +58 -8
  2. package/dist/annotation/annotation.types.js +7 -0
  3. package/dist/annotation/annotation.types.js.map +1 -0
  4. package/dist/annotation/constants.js +49 -0
  5. package/dist/annotation/constants.js.map +1 -0
  6. package/dist/annotation/index.js +342 -0
  7. package/dist/annotation/index.js.map +1 -0
  8. package/dist/breakouts/breakout.js +94 -15
  9. package/dist/breakouts/breakout.js.map +1 -1
  10. package/dist/breakouts/events.js +45 -0
  11. package/dist/breakouts/events.js.map +1 -0
  12. package/dist/breakouts/index.js +671 -81
  13. package/dist/breakouts/index.js.map +1 -1
  14. package/dist/breakouts/utils.js +45 -1
  15. package/dist/breakouts/utils.js.map +1 -1
  16. package/dist/common/errors/no-meeting-info.js +51 -0
  17. package/dist/common/errors/no-meeting-info.js.map +1 -0
  18. package/dist/common/errors/reclaim-host-role-errors.js +158 -0
  19. package/dist/common/errors/reclaim-host-role-errors.js.map +1 -0
  20. package/dist/common/errors/webex-errors.js +48 -7
  21. package/dist/common/errors/webex-errors.js.map +1 -1
  22. package/dist/common/logs/logger-proxy.js +1 -1
  23. package/dist/common/logs/logger-proxy.js.map +1 -1
  24. package/dist/common/logs/request.js +5 -1
  25. package/dist/common/logs/request.js.map +1 -1
  26. package/dist/common/queue.js +24 -9
  27. package/dist/common/queue.js.map +1 -1
  28. package/dist/config.js +5 -10
  29. package/dist/config.js.map +1 -1
  30. package/dist/constants.js +242 -33
  31. package/dist/constants.js.map +1 -1
  32. package/dist/controls-options-manager/enums.js +14 -2
  33. package/dist/controls-options-manager/enums.js.map +1 -1
  34. package/dist/controls-options-manager/index.js +109 -15
  35. package/dist/controls-options-manager/index.js.map +1 -1
  36. package/dist/controls-options-manager/types.js +7 -0
  37. package/dist/controls-options-manager/types.js.map +1 -0
  38. package/dist/controls-options-manager/util.js +309 -18
  39. package/dist/controls-options-manager/util.js.map +1 -1
  40. package/dist/index.js +110 -2
  41. package/dist/index.js.map +1 -1
  42. package/dist/interceptors/index.js +15 -0
  43. package/dist/interceptors/index.js.map +1 -0
  44. package/dist/interceptors/locusRetry.js +93 -0
  45. package/dist/interceptors/locusRetry.js.map +1 -0
  46. package/dist/interpretation/collection.js +23 -0
  47. package/dist/interpretation/collection.js.map +1 -0
  48. package/dist/interpretation/index.js +380 -0
  49. package/dist/interpretation/index.js.map +1 -0
  50. package/dist/interpretation/siLanguage.js +25 -0
  51. package/dist/interpretation/siLanguage.js.map +1 -0
  52. package/dist/locus-info/controlsUtils.js +91 -2
  53. package/dist/locus-info/controlsUtils.js.map +1 -1
  54. package/dist/locus-info/index.js +386 -62
  55. package/dist/locus-info/index.js.map +1 -1
  56. package/dist/locus-info/infoUtils.js +7 -1
  57. package/dist/locus-info/infoUtils.js.map +1 -1
  58. package/dist/locus-info/mediaSharesUtils.js +71 -1
  59. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  60. package/dist/locus-info/parser.js +249 -72
  61. package/dist/locus-info/parser.js.map +1 -1
  62. package/dist/locus-info/selfUtils.js +89 -14
  63. package/dist/locus-info/selfUtils.js.map +1 -1
  64. package/dist/media/index.js +65 -102
  65. package/dist/media/index.js.map +1 -1
  66. package/dist/media/properties.js +73 -124
  67. package/dist/media/properties.js.map +1 -1
  68. package/dist/mediaQualityMetrics/config.js +135 -330
  69. package/dist/mediaQualityMetrics/config.js.map +1 -1
  70. package/dist/meeting/in-meeting-actions.js +86 -2
  71. package/dist/meeting/in-meeting-actions.js.map +1 -1
  72. package/dist/meeting/index.js +4075 -2827
  73. package/dist/meeting/index.js.map +1 -1
  74. package/dist/meeting/locusMediaRequest.js +292 -0
  75. package/dist/meeting/locusMediaRequest.js.map +1 -0
  76. package/dist/meeting/muteState.js +224 -136
  77. package/dist/meeting/muteState.js.map +1 -1
  78. package/dist/meeting/request.js +177 -152
  79. package/dist/meeting/request.js.map +1 -1
  80. package/dist/meeting/util.js +672 -417
  81. package/dist/meeting/util.js.map +1 -1
  82. package/dist/meeting-info/index.js +73 -7
  83. package/dist/meeting-info/index.js.map +1 -1
  84. package/dist/meeting-info/meeting-info-v2.js +192 -51
  85. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  86. package/dist/meeting-info/util.js +1 -1
  87. package/dist/meeting-info/util.js.map +1 -1
  88. package/dist/meeting-info/utilv2.js +36 -36
  89. package/dist/meeting-info/utilv2.js.map +1 -1
  90. package/dist/meetings/collection.js +39 -0
  91. package/dist/meetings/collection.js.map +1 -1
  92. package/dist/meetings/index.js +484 -119
  93. package/dist/meetings/index.js.map +1 -1
  94. package/dist/meetings/meetings.types.js +7 -0
  95. package/dist/meetings/meetings.types.js.map +1 -0
  96. package/dist/meetings/request.js +2 -0
  97. package/dist/meetings/request.js.map +1 -1
  98. package/dist/meetings/util.js +73 -7
  99. package/dist/meetings/util.js.map +1 -1
  100. package/dist/member/index.js +58 -0
  101. package/dist/member/index.js.map +1 -1
  102. package/dist/member/types.js +25 -0
  103. package/dist/member/types.js.map +1 -0
  104. package/dist/member/util.js +132 -25
  105. package/dist/member/util.js.map +1 -1
  106. package/dist/members/collection.js +10 -0
  107. package/dist/members/collection.js.map +1 -1
  108. package/dist/members/index.js +102 -6
  109. package/dist/members/index.js.map +1 -1
  110. package/dist/members/request.js +106 -38
  111. package/dist/members/request.js.map +1 -1
  112. package/dist/members/types.js +15 -0
  113. package/dist/members/types.js.map +1 -0
  114. package/dist/members/util.js +326 -232
  115. package/dist/members/util.js.map +1 -1
  116. package/dist/metrics/constants.js +18 -1
  117. package/dist/metrics/constants.js.map +1 -1
  118. package/dist/metrics/index.js +1 -446
  119. package/dist/metrics/index.js.map +1 -1
  120. package/dist/multistream/mediaRequestManager.js +223 -32
  121. package/dist/multistream/mediaRequestManager.js.map +1 -1
  122. package/dist/multistream/receiveSlot.js +10 -0
  123. package/dist/multistream/receiveSlot.js.map +1 -1
  124. package/dist/multistream/receiveSlotManager.js +39 -36
  125. package/dist/multistream/receiveSlotManager.js.map +1 -1
  126. package/dist/multistream/remoteMedia.js +3 -1
  127. package/dist/multistream/remoteMedia.js.map +1 -1
  128. package/dist/multistream/remoteMediaGroup.js +76 -5
  129. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  130. package/dist/multistream/remoteMediaManager.js +366 -104
  131. package/dist/multistream/remoteMediaManager.js.map +1 -1
  132. package/dist/multistream/sendSlotManager.js +255 -0
  133. package/dist/multistream/sendSlotManager.js.map +1 -0
  134. package/dist/reachability/clusterReachability.js +356 -0
  135. package/dist/reachability/clusterReachability.js.map +1 -0
  136. package/dist/reachability/index.js +263 -390
  137. package/dist/reachability/index.js.map +1 -1
  138. package/dist/reachability/request.js +6 -4
  139. package/dist/reachability/request.js.map +1 -1
  140. package/dist/reachability/util.js +29 -0
  141. package/dist/reachability/util.js.map +1 -0
  142. package/dist/reconnection-manager/index.js +266 -202
  143. package/dist/reconnection-manager/index.js.map +1 -1
  144. package/dist/recording-controller/index.js +21 -2
  145. package/dist/recording-controller/index.js.map +1 -1
  146. package/dist/recording-controller/util.js +9 -8
  147. package/dist/recording-controller/util.js.map +1 -1
  148. package/dist/roap/index.js +51 -28
  149. package/dist/roap/index.js.map +1 -1
  150. package/dist/roap/request.js +48 -64
  151. package/dist/roap/request.js.map +1 -1
  152. package/dist/roap/turnDiscovery.js +220 -70
  153. package/dist/roap/turnDiscovery.js.map +1 -1
  154. package/dist/rtcMetrics/constants.js +12 -0
  155. package/dist/rtcMetrics/constants.js.map +1 -0
  156. package/dist/rtcMetrics/index.js +179 -0
  157. package/dist/rtcMetrics/index.js.map +1 -0
  158. package/dist/statsAnalyzer/index.js +357 -295
  159. package/dist/statsAnalyzer/index.js.map +1 -1
  160. package/dist/statsAnalyzer/mqaUtil.js +296 -156
  161. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  162. package/dist/types/annotation/annotation.types.d.ts +42 -0
  163. package/dist/types/annotation/constants.d.ts +31 -0
  164. package/dist/types/annotation/index.d.ts +117 -0
  165. package/dist/types/breakouts/events.d.ts +8 -0
  166. package/dist/types/breakouts/utils.d.ts +14 -0
  167. package/dist/types/common/errors/no-meeting-info.d.ts +14 -0
  168. package/dist/types/common/errors/reclaim-host-role-errors.d.ts +60 -0
  169. package/dist/types/common/errors/webex-errors.d.ts +25 -1
  170. package/dist/types/common/logs/request.d.ts +2 -0
  171. package/dist/types/common/queue.d.ts +9 -7
  172. package/dist/types/config.d.ts +2 -7
  173. package/dist/types/constants.d.ts +203 -31
  174. package/dist/types/controls-options-manager/enums.d.ts +11 -1
  175. package/dist/types/controls-options-manager/index.d.ts +17 -1
  176. package/dist/types/controls-options-manager/types.d.ts +43 -0
  177. package/dist/types/controls-options-manager/util.d.ts +1 -7
  178. package/dist/types/index.d.ts +6 -5
  179. package/dist/types/interceptors/index.d.ts +2 -0
  180. package/dist/types/interceptors/locusRetry.d.ts +27 -0
  181. package/dist/types/interpretation/collection.d.ts +5 -0
  182. package/dist/types/interpretation/index.d.ts +5 -0
  183. package/dist/types/interpretation/siLanguage.d.ts +5 -0
  184. package/dist/types/locus-info/index.d.ts +57 -4
  185. package/dist/types/locus-info/parser.d.ts +66 -6
  186. package/dist/types/media/index.d.ts +2 -0
  187. package/dist/types/media/properties.d.ts +34 -49
  188. package/dist/types/mediaQualityMetrics/config.d.ts +99 -223
  189. package/dist/types/meeting/in-meeting-actions.d.ts +86 -2
  190. package/dist/types/meeting/index.d.ts +567 -496
  191. package/dist/types/meeting/locusMediaRequest.d.ts +74 -0
  192. package/dist/types/meeting/muteState.d.ts +93 -25
  193. package/dist/types/meeting/request.d.ts +64 -43
  194. package/dist/types/meeting/util.d.ts +117 -1
  195. package/dist/types/meeting-info/index.d.ts +13 -1
  196. package/dist/types/meeting-info/meeting-info-v2.d.ts +31 -1
  197. package/dist/types/meetings/collection.d.ts +17 -0
  198. package/dist/types/meetings/index.d.ts +113 -21
  199. package/dist/types/meetings/meetings.types.d.ts +4 -0
  200. package/dist/types/member/index.d.ts +14 -0
  201. package/dist/types/member/types.d.ts +32 -0
  202. package/dist/types/members/collection.d.ts +5 -0
  203. package/dist/types/members/index.d.ts +35 -2
  204. package/dist/types/members/request.d.ts +73 -9
  205. package/dist/types/members/types.d.ts +25 -0
  206. package/dist/types/members/util.d.ts +214 -1
  207. package/dist/types/metrics/constants.d.ts +17 -0
  208. package/dist/types/metrics/index.d.ts +4 -111
  209. package/dist/types/multistream/mediaRequestManager.d.ts +72 -3
  210. package/dist/types/multistream/receiveSlot.d.ts +7 -3
  211. package/dist/types/multistream/receiveSlotManager.d.ts +14 -4
  212. package/dist/types/multistream/remoteMedia.d.ts +3 -31
  213. package/dist/types/multistream/remoteMediaGroup.d.ts +2 -9
  214. package/dist/types/multistream/remoteMediaManager.d.ts +62 -2
  215. package/dist/types/multistream/sendSlotManager.d.ts +70 -0
  216. package/dist/types/reachability/clusterReachability.d.ts +109 -0
  217. package/dist/types/reachability/index.d.ts +60 -95
  218. package/dist/types/reachability/request.d.ts +3 -1
  219. package/dist/types/reachability/util.d.ts +8 -0
  220. package/dist/types/reconnection-manager/index.d.ts +19 -0
  221. package/dist/types/recording-controller/index.d.ts +15 -1
  222. package/dist/types/recording-controller/util.d.ts +5 -4
  223. package/dist/types/roap/index.d.ts +2 -1
  224. package/dist/types/roap/request.d.ts +9 -8
  225. package/dist/types/roap/turnDiscovery.d.ts +39 -5
  226. package/dist/types/rtcMetrics/constants.d.ts +4 -0
  227. package/dist/types/rtcMetrics/index.d.ts +61 -0
  228. package/dist/types/statsAnalyzer/index.d.ts +34 -12
  229. package/dist/types/statsAnalyzer/mqaUtil.d.ts +28 -4
  230. package/dist/types/webinar/collection.d.ts +16 -0
  231. package/dist/types/webinar/index.d.ts +5 -0
  232. package/dist/webinar/collection.js +44 -0
  233. package/dist/webinar/collection.js.map +1 -0
  234. package/dist/webinar/index.js +69 -0
  235. package/dist/webinar/index.js.map +1 -0
  236. package/package.json +22 -19
  237. package/src/annotation/annotation.types.ts +50 -0
  238. package/src/annotation/constants.ts +36 -0
  239. package/src/annotation/index.ts +328 -0
  240. package/src/breakouts/README.md +35 -11
  241. package/src/breakouts/breakout.ts +67 -9
  242. package/src/breakouts/events.ts +56 -0
  243. package/src/breakouts/index.ts +558 -59
  244. package/src/breakouts/utils.ts +42 -0
  245. package/src/common/errors/no-meeting-info.ts +24 -0
  246. package/src/common/errors/reclaim-host-role-errors.ts +134 -0
  247. package/src/common/errors/webex-errors.ts +44 -2
  248. package/src/common/logs/logger-proxy.ts +1 -1
  249. package/src/common/logs/request.ts +5 -1
  250. package/src/common/queue.ts +22 -8
  251. package/src/config.ts +4 -9
  252. package/src/constants.ts +229 -21
  253. package/src/controls-options-manager/enums.ts +12 -0
  254. package/src/controls-options-manager/index.ts +116 -21
  255. package/src/controls-options-manager/types.ts +59 -0
  256. package/src/controls-options-manager/util.ts +294 -14
  257. package/src/index.ts +44 -0
  258. package/src/interceptors/index.ts +3 -0
  259. package/src/interceptors/locusRetry.ts +67 -0
  260. package/src/interpretation/README.md +60 -0
  261. package/src/interpretation/collection.ts +19 -0
  262. package/src/interpretation/index.ts +349 -0
  263. package/src/interpretation/siLanguage.ts +18 -0
  264. package/src/locus-info/controlsUtils.ts +108 -0
  265. package/src/locus-info/index.ts +417 -59
  266. package/src/locus-info/infoUtils.ts +10 -2
  267. package/src/locus-info/mediaSharesUtils.ts +80 -0
  268. package/src/locus-info/parser.ts +258 -47
  269. package/src/locus-info/selfUtils.ts +81 -5
  270. package/src/media/index.ts +100 -108
  271. package/src/media/properties.ts +88 -117
  272. package/src/mediaQualityMetrics/config.ts +103 -238
  273. package/src/meeting/in-meeting-actions.ts +171 -3
  274. package/src/meeting/index.ts +3411 -2435
  275. package/src/meeting/locusMediaRequest.ts +313 -0
  276. package/src/meeting/muteState.ts +223 -136
  277. package/src/meeting/request.ts +155 -120
  278. package/src/meeting/util.ts +685 -395
  279. package/src/meeting-info/index.ts +81 -8
  280. package/src/meeting-info/meeting-info-v2.ts +170 -14
  281. package/src/meeting-info/util.ts +1 -1
  282. package/src/meeting-info/utilv2.ts +23 -23
  283. package/src/meetings/collection.ts +33 -0
  284. package/src/meetings/index.ts +507 -127
  285. package/src/meetings/meetings.types.ts +12 -0
  286. package/src/meetings/request.ts +2 -0
  287. package/src/meetings/util.ts +81 -12
  288. package/src/member/index.ts +58 -0
  289. package/src/member/types.ts +38 -0
  290. package/src/member/util.ts +141 -25
  291. package/src/members/collection.ts +8 -0
  292. package/src/members/index.ts +134 -8
  293. package/src/members/request.ts +97 -17
  294. package/src/members/types.ts +29 -0
  295. package/src/members/util.ts +333 -240
  296. package/src/metrics/constants.ts +17 -0
  297. package/src/metrics/index.ts +1 -469
  298. package/src/multistream/mediaRequestManager.ts +271 -56
  299. package/src/multistream/receiveSlot.ts +11 -4
  300. package/src/multistream/receiveSlotManager.ts +34 -24
  301. package/src/multistream/remoteMedia.ts +5 -3
  302. package/src/multistream/remoteMediaGroup.ts +78 -0
  303. package/src/multistream/remoteMediaManager.ts +248 -44
  304. package/src/multistream/sendSlotManager.ts +199 -0
  305. package/src/reachability/clusterReachability.ts +320 -0
  306. package/src/reachability/index.ts +229 -346
  307. package/src/reachability/request.ts +8 -4
  308. package/src/reachability/util.ts +24 -0
  309. package/src/reconnection-manager/index.ts +128 -97
  310. package/src/recording-controller/index.ts +20 -3
  311. package/src/recording-controller/util.ts +26 -9
  312. package/src/roap/index.ts +52 -23
  313. package/src/roap/request.ts +48 -67
  314. package/src/roap/turnDiscovery.ts +147 -49
  315. package/src/rtcMetrics/constants.ts +3 -0
  316. package/src/rtcMetrics/index.ts +166 -0
  317. package/src/statsAnalyzer/index.ts +457 -416
  318. package/src/statsAnalyzer/mqaUtil.ts +317 -170
  319. package/src/webinar/collection.ts +31 -0
  320. package/src/webinar/index.ts +62 -0
  321. package/test/integration/spec/converged-space-meetings.js +60 -3
  322. package/test/integration/spec/journey.js +320 -261
  323. package/test/integration/spec/space-meeting.js +76 -3
  324. package/test/unit/spec/annotation/index.ts +418 -0
  325. package/test/unit/spec/breakouts/breakout.ts +118 -28
  326. package/test/unit/spec/breakouts/events.ts +89 -0
  327. package/test/unit/spec/breakouts/index.ts +1349 -114
  328. package/test/unit/spec/breakouts/utils.js +52 -1
  329. package/test/unit/spec/common/queue.js +31 -2
  330. package/test/unit/spec/controls-options-manager/index.js +163 -0
  331. package/test/unit/spec/controls-options-manager/util.js +576 -60
  332. package/test/unit/spec/fixture/locus.js +1 -0
  333. package/test/unit/spec/interceptors/locusRetry.ts +131 -0
  334. package/test/unit/spec/interpretation/collection.ts +15 -0
  335. package/test/unit/spec/interpretation/index.ts +625 -0
  336. package/test/unit/spec/interpretation/siLanguage.ts +28 -0
  337. package/test/unit/spec/locus-info/controlsUtils.js +316 -43
  338. package/test/unit/spec/locus-info/index.js +1363 -37
  339. package/test/unit/spec/locus-info/infoUtils.js +37 -15
  340. package/test/unit/spec/locus-info/lib/SeqCmp.json +16 -0
  341. package/test/unit/spec/locus-info/mediaSharesUtils.ts +41 -0
  342. package/test/unit/spec/locus-info/parser.js +116 -35
  343. package/test/unit/spec/locus-info/selfConstant.js +27 -4
  344. package/test/unit/spec/locus-info/selfUtils.js +208 -17
  345. package/test/unit/spec/media/index.ts +173 -81
  346. package/test/unit/spec/media/properties.ts +2 -2
  347. package/test/unit/spec/meeting/in-meeting-actions.ts +85 -3
  348. package/test/unit/spec/meeting/index.js +6821 -2172
  349. package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
  350. package/test/unit/spec/meeting/muteState.js +402 -212
  351. package/test/unit/spec/meeting/request.js +473 -54
  352. package/test/unit/spec/meeting/utils.js +773 -67
  353. package/test/unit/spec/meeting-info/index.js +300 -0
  354. package/test/unit/spec/meeting-info/meetinginfov2.js +526 -5
  355. package/test/unit/spec/meeting-info/utilv2.js +21 -0
  356. package/test/unit/spec/meetings/collection.js +26 -0
  357. package/test/unit/spec/meetings/index.js +1415 -213
  358. package/test/unit/spec/meetings/utils.js +229 -2
  359. package/test/unit/spec/member/index.js +61 -6
  360. package/test/unit/spec/member/util.js +510 -34
  361. package/test/unit/spec/members/index.js +432 -1
  362. package/test/unit/spec/members/request.js +206 -27
  363. package/test/unit/spec/members/utils.js +210 -0
  364. package/test/unit/spec/metrics/index.js +1 -50
  365. package/test/unit/spec/multistream/mediaRequestManager.ts +781 -114
  366. package/test/unit/spec/multistream/receiveSlot.ts +9 -1
  367. package/test/unit/spec/multistream/receiveSlotManager.ts +32 -30
  368. package/test/unit/spec/multistream/remoteMedia.ts +2 -0
  369. package/test/unit/spec/multistream/remoteMediaGroup.ts +345 -0
  370. package/test/unit/spec/multistream/remoteMediaManager.ts +525 -0
  371. package/test/unit/spec/multistream/sendSlotManager.ts +274 -0
  372. package/test/unit/spec/reachability/clusterReachability.ts +279 -0
  373. package/test/unit/spec/reachability/index.ts +551 -14
  374. package/test/unit/spec/reachability/request.js +3 -1
  375. package/test/unit/spec/reachability/util.ts +40 -0
  376. package/test/unit/spec/reconnection-manager/index.js +171 -11
  377. package/test/unit/spec/recording-controller/index.js +294 -218
  378. package/test/unit/spec/recording-controller/util.js +223 -96
  379. package/test/unit/spec/roap/index.ts +180 -83
  380. package/test/unit/spec/roap/request.ts +100 -62
  381. package/test/unit/spec/roap/turnDiscovery.ts +388 -96
  382. package/test/unit/spec/rtcMetrics/index.ts +122 -0
  383. package/test/unit/spec/stats-analyzer/index.js +1252 -12
  384. package/test/unit/spec/webinar/collection.ts +13 -0
  385. package/test/unit/spec/webinar/index.ts +60 -0
  386. package/test/utils/integrationTestUtils.js +46 -0
  387. package/test/utils/testUtils.js +0 -57
  388. package/test/utils/webex-test-users.js +12 -4
  389. package/dist/metrics/config.js +0 -289
  390. package/dist/metrics/config.js.map +0 -1
  391. package/dist/types/metrics/config.d.ts +0 -169
  392. package/src/index.js +0 -18
  393. package/src/metrics/config.ts +0 -485
@@ -16,6 +16,7 @@ var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/pr
16
16
  var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
17
17
  var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
18
18
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
19
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/objectWithoutProperties"));
19
20
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
20
21
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
21
22
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/assertThisInitialized"));
@@ -27,8 +28,11 @@ var _debounce2 = _interopRequireDefault(require("lodash/debounce"));
27
28
  var _uuid = _interopRequireDefault(require("uuid"));
28
29
  var _webexCore = require("@webex/webex-core");
29
30
  var _common = require("@webex/common");
31
+ var _internalPluginMetrics = require("@webex/internal-plugin-metrics");
30
32
  var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
31
33
  var _constants = require("../constants");
34
+ var _util = _interopRequireDefault(require("./util"));
35
+ var _excluded = ["meeting"];
32
36
  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; }
33
37
  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; }
34
38
  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); }; }
@@ -47,8 +51,13 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
47
51
  function MeetingRequest(attrs, options) {
48
52
  var _this;
49
53
  (0, _classCallCheck2.default)(this, MeetingRequest);
50
- _this = _super.call(this, attrs, options);
54
+ var meeting = attrs.meeting,
55
+ otherAttrs = (0, _objectWithoutProperties2.default)(attrs, _excluded);
56
+ _this = _super.call(this, otherAttrs, options);
51
57
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "changeVideoLayoutDebounced", void 0);
58
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "meetingRef", void 0);
59
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "locusDeltaRequest", void 0);
60
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "buildLocusDeltaRequestOptions", void 0);
52
61
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getJoinCookie", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
53
62
  var joinCookieRaw, joinCookie;
54
63
  return _regenerator.default.wrap(function _callee$(_context) {
@@ -84,6 +93,8 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
84
93
  }
85
94
  }, _callee, null, [[4, 10]]);
86
95
  })));
96
+ _this.locusDeltaRequest = _util.default.generateLocusDeltaRequest(meeting);
97
+ _this.buildLocusDeltaRequestOptions = _util.default.generateBuildLocusDeltaRequestOptions(meeting);
87
98
  _this.changeVideoLayoutDebounced = (0, _debounce2.default)(_this.changeVideoLayout, 2000, {
88
99
  leading: true,
89
100
  trailing: true
@@ -112,15 +123,18 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
112
123
  * @param {boolean} options.moveToResource
113
124
  * @param {Object} options.roapMessage
114
125
  * @param {boolean} options.breakoutsSupported
126
+ * @param {String} options.locale,
127
+ * @param {Array} options.deviceCapabilities
128
+ * @param {boolean} options.liveAnnotationSupported
115
129
  * @returns {Promise}
116
130
  */
117
131
  function () {
118
132
  var _joinMeeting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(options) {
119
- var asResourceOccupant, inviteeAddress, meetingNumber, permissionToken, deviceUrl, locusUrl, resourceId, correlationId, ensureConversation, moderator, pin, moveToResource, roapMessage, preferTranscoding, breakoutsSupported, url, joinCookie, body;
133
+ 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;
120
134
  return _regenerator.default.wrap(function _callee2$(_context2) {
121
135
  while (1) switch (_context2.prev = _context2.next) {
122
136
  case 0:
123
- asResourceOccupant = options.asResourceOccupant, inviteeAddress = options.inviteeAddress, meetingNumber = options.meetingNumber, permissionToken = options.permissionToken, deviceUrl = options.deviceUrl, locusUrl = options.locusUrl, resourceId = options.resourceId, correlationId = options.correlationId, ensureConversation = options.ensureConversation, moderator = options.moderator, pin = options.pin, moveToResource = options.moveToResource, roapMessage = options.roapMessage, preferTranscoding = options.preferTranscoding, breakoutsSupported = options.breakoutsSupported;
137
+ 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;
124
138
  _loggerProxy.default.logger.info('Meeting:request#joinMeeting --> Joining a meeting', correlationId);
125
139
  url = '';
126
140
  _context2.next = 5;
@@ -143,19 +157,40 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
143
157
  supportsNativeLobby: 1,
144
158
  clientMediaPreferences: {
145
159
  preferTranscoding: preferTranscoding !== null && preferTranscoding !== void 0 ? preferTranscoding : true,
146
- joinCookie: joinCookie
160
+ joinCookie: joinCookie,
161
+ ipver: ipVersion
147
162
  }
148
163
  };
149
164
  if (breakoutsSupported) {
150
- body.deviceCapabilities = [_constants.BREAKOUTS.BREAKOUTS_SUPPORTED];
165
+ deviceCapabilities.push(_constants.BREAKOUTS.BREAKOUTS_SUPPORTED);
166
+ }
167
+ if (liveAnnotationSupported) {
168
+ deviceCapabilities.push(_constants.ANNOTATION.ANNOTATION_ON_SHARE_SUPPORTED);
169
+ }
170
+
171
+ // append installationId to device config if it exists
172
+ // @ts-ignore
173
+ if (this.webex.internal.device.config.installationId) {
174
+ // @ts-ignore
175
+ body.device.installationId = this.webex.internal.device.config.installationId;
176
+ }
177
+ if (locale) {
178
+ body.locale = locale;
151
179
  }
152
180
 
181
+ // add deviceCapabilities prop
182
+ if (deviceCapabilities.length) {
183
+ body.deviceCapabilities = deviceCapabilities;
184
+ }
153
185
  // @ts-ignore
154
- if (this.webex.meetings.clientRegion) {
186
+ if (this.webex.meetings.geoHintInfo) {
187
+ // @ts-ignore
188
+ body.device.countryCode = this.webex.meetings.geoHintInfo.countryCode;
155
189
  // @ts-ignore
156
- body.device.countryCode = this.webex.meetings.clientRegion.countryCode;
190
+ body.device.regionCode = this.webex.meetings.geoHintInfo.regionCode;
191
+ body.device.localIp =
157
192
  // @ts-ignore
158
- body.device.regionCode = this.webex.meetings.clientRegion.regionCode;
193
+ _internalPluginMetrics.CallDiagnosticUtils.anonymizeIPAddress(this.webex.meetings.geoHintInfo.clientAddress) || undefined;
159
194
  }
160
195
  if (moderator !== undefined) {
161
196
  body.moderator = moderator;
@@ -167,34 +202,44 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
167
202
  body.pin = pin;
168
203
  }
169
204
  if (!locusUrl) {
170
- _context2.next = 16;
205
+ _context2.next = 20;
171
206
  break;
172
207
  }
173
208
  url = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT);
174
- _context2.next = 28;
209
+ _context2.next = 37;
175
210
  break;
176
- case 16:
211
+ case 20:
177
212
  if (!(inviteeAddress || meetingNumber)) {
178
- _context2.next = 28;
213
+ _context2.next = 37;
214
+ break;
215
+ }
216
+ _context2.prev = 21;
217
+ if (!locusClusterUrl) {
218
+ _context2.next = 26;
179
219
  break;
180
220
  }
181
- _context2.prev = 17;
182
- _context2.next = 20;
221
+ clusterUrl = "https://".concat(locusClusterUrl, "/locus/api/v1");
222
+ _context2.next = 29;
223
+ break;
224
+ case 26:
225
+ _context2.next = 28;
183
226
  return this.webex.internal.services.waitForCatalog('postauth');
184
- case 20:
227
+ case 28:
185
228
  // @ts-ignore
186
- url = "".concat(this.webex.internal.services.get('locus'), "/").concat(_constants.LOCI, "/").concat(_constants.CALL);
229
+ clusterUrl = this.webex.internal.services.get('locus');
230
+ case 29:
231
+ url = "".concat(clusterUrl, "/").concat(_constants.LOCI, "/").concat(_constants.CALL);
187
232
  body.invitee = {
188
233
  address: inviteeAddress || "wbxmn:".concat(meetingNumber)
189
234
  };
190
- _context2.next = 28;
235
+ _context2.next = 37;
191
236
  break;
192
- case 24:
193
- _context2.prev = 24;
194
- _context2.t0 = _context2["catch"](17);
237
+ case 33:
238
+ _context2.prev = 33;
239
+ _context2.t0 = _context2["catch"](21);
195
240
  _loggerProxy.default.logger.error("Meeting:request#joinMeeting Error Joining ".concat(inviteeAddress || meetingNumber, " --> ").concat(_context2.t0));
196
241
  throw _context2.t0;
197
- case 28:
242
+ case 37:
198
243
  // TODO: -- this will be resolved in SDK request
199
244
  url = url.concat("?".concat(_constants.ALTERNATE_REDIRECT_TRUE));
200
245
  if (resourceId === inviteeAddress) {
@@ -212,11 +257,11 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
212
257
  uri: url,
213
258
  body: body
214
259
  }));
215
- case 32:
260
+ case 41:
216
261
  case "end":
217
262
  return _context2.stop();
218
263
  }
219
- }, _callee2, this, [[17, 24]]);
264
+ }, _callee2, this, [[21, 33]]);
220
265
  }));
221
266
  function joinMeeting(_x) {
222
267
  return _joinMeeting.apply(this, arguments);
@@ -281,7 +326,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
281
326
  };
282
327
 
283
328
  // @ts-ignore
284
- return this.request({
329
+ return this.locusDeltaRequest({
285
330
  method: _constants.HTTP_VERBS.POST,
286
331
  uri: uri,
287
332
  body: body
@@ -324,7 +369,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
324
369
  };
325
370
 
326
371
  // @ts-ignore
327
- return this.request({
372
+ return this.locusDeltaRequest({
328
373
  method: _constants.HTTP_VERBS.POST,
329
374
  uri: uri,
330
375
  body: body
@@ -335,60 +380,23 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
335
380
  }
336
381
 
337
382
  /**
338
- * Syns the missed delta event
339
- * @param {Object} options
340
- * @param {boolean} options.desync flag to get partial or whole locus object
341
- * @param {String} options.syncUrl sync url to get ht elatest locus delta
342
- * @returns {Promise}
343
- */
344
- }, {
345
- key: "syncMeeting",
346
- value: function syncMeeting(options) {
347
- /* eslint-disable no-else-return */
348
- var desync = options.desync;
349
- var syncUrl = options.syncUrl;
350
-
351
- /* istanbul ignore else */
352
- if (desync) {
353
- // check for existing URL parameters
354
- syncUrl = syncUrl.concat(syncUrl.split('?')[1] ? '&' : '?').concat("".concat(_constants.LOCUS.SYNCDEBUG, "=").concat(desync));
355
- }
356
-
357
- // @ts-ignore
358
- return this.request({
359
- method: _constants.HTTP_VERBS.GET,
360
- uri: syncUrl
361
- }) // TODO: Handle if delta sync failed . Get the full locus object
362
- .catch(function (err) {
363
- _loggerProxy.default.logger.error("Meeting:request#syncMeeting --> Error syncing meeting, error ".concat(err));
364
- return err;
365
- });
366
- }
367
-
368
- /**
369
- * Request to get the complete locus object
383
+ * Sends a requests to get the latest locus DTO, it might be a full Locus or a delta, depending on the url provided
370
384
  * @param {Object} options
371
- * @param {boolean} options.desync flag to get partial or whole locus object
372
385
  * @param {String} options.locusUrl sync url to get ht elatest locus delta
373
386
  * @returns {Promise}
374
387
  */
375
388
  }, {
376
- key: "getFullLocus",
377
- value: function getFullLocus(options) {
378
- var locusUrl = options.locusUrl;
379
- var desync = options.desync;
380
- if (locusUrl) {
381
- if (desync) {
382
- locusUrl += "?".concat(_constants.LOCUS.SYNCDEBUG, "=").concat(desync);
383
- }
384
-
389
+ key: "getLocusDTO",
390
+ value: function getLocusDTO(options) {
391
+ var url = options.url;
392
+ if (url) {
385
393
  // @ts-ignore
386
394
  return this.request({
387
395
  method: _constants.HTTP_VERBS.GET,
388
- uri: locusUrl
396
+ uri: url
389
397
  }).catch(function (err) {
390
- _loggerProxy.default.logger.error("Meeting:request#getFullLocus --> Error getting full locus, error ".concat(err));
391
- return err;
398
+ _loggerProxy.default.logger.error("Meeting:request#getLocusDTO --> Error getting latest locus, error ".concat(err));
399
+ throw err;
392
400
  });
393
401
  }
394
402
  return _promise.default.reject();
@@ -422,7 +430,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
422
430
  };
423
431
 
424
432
  // @ts-ignore
425
- return this.request({
433
+ return this.locusDeltaRequest({
426
434
  method: _constants.HTTP_VERBS.PUT,
427
435
  uri: uri,
428
436
  body: body
@@ -433,24 +441,23 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
433
441
  }
434
442
 
435
443
  /**
436
- * Make a network request to leave a meeting
444
+ * Prepares request options to to leave a meeting
437
445
  * @param {Object} options
438
446
  * @param {Url} options.locusUrl
439
447
  * @param {String} options.selfId
440
448
  * @param {Url} options.deviceUrl
441
449
  * @param {String} options.resourceId,
442
450
  * @param {String} options.correlationId
443
- * @returns {Promise}
451
+ * @returns {Object} request options
444
452
  */
445
453
  }, {
446
- key: "leaveMeeting",
447
- value: function leaveMeeting(_ref6) {
454
+ key: "prepareLeaveMeetingRequestOptions",
455
+ value: function prepareLeaveMeetingRequestOptions(_ref6) {
448
456
  var locusUrl = _ref6.locusUrl,
449
457
  selfId = _ref6.selfId,
450
458
  url = _ref6.deviceUrl,
451
459
  resourceId = _ref6.resourceId,
452
460
  correlationId = _ref6.correlationId;
453
- _loggerProxy.default.logger.info('Meeting:request#leaveMeeting --> Leaving a meeting', correlationId);
454
461
  var uri = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT, "/").concat(selfId, "/").concat(_constants.LEAVE);
455
462
  var body = {
456
463
  device: {
@@ -461,15 +468,55 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
461
468
  usingResource: resourceId || null,
462
469
  correlationId: correlationId
463
470
  };
471
+ return {
472
+ method: _constants.HTTP_VERBS.PUT,
473
+ uri: uri,
474
+ body: body
475
+ };
476
+ }
464
477
 
465
- // @ts-ignore
466
- return this.request({
478
+ /**
479
+ * Make a network request to leave a meeting
480
+ * @param {Object} options
481
+ * @returns {Promise}
482
+ */
483
+ }, {
484
+ key: "leaveMeeting",
485
+ value: function leaveMeeting(_ref7) {
486
+ var locusUrl = _ref7.locusUrl,
487
+ selfId = _ref7.selfId,
488
+ url = _ref7.deviceUrl,
489
+ resourceId = _ref7.resourceId,
490
+ correlationId = _ref7.correlationId;
491
+ _loggerProxy.default.logger.info('Meeting:request#leaveMeeting --> Leaving a meeting', correlationId);
492
+ var uri = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT, "/").concat(selfId, "/").concat(_constants.LEAVE);
493
+ var body = {
494
+ device: {
495
+ // @ts-ignore
496
+ deviceType: this.config.meetings.deviceType,
497
+ url: url
498
+ },
499
+ usingResource: resourceId || null,
500
+ correlationId: correlationId
501
+ };
502
+ return this.locusDeltaRequest({
467
503
  method: _constants.HTTP_VERBS.PUT,
468
504
  uri: uri,
469
505
  body: body
470
506
  });
471
507
  }
472
508
 
509
+ /**
510
+ * Builds request options to leave a meeting
511
+ * @param {Object} options
512
+ * @returns {Object} request options
513
+ */
514
+ }, {
515
+ key: "buildLeaveMeetingRequestOptions",
516
+ value: function buildLeaveMeetingRequestOptions(options) {
517
+ return this.buildLocusDeltaRequestOptions(this.prepareLeaveMeetingRequestOptions(options));
518
+ }
519
+
473
520
  /**
474
521
  * Make a network request to acknowledge a meeting
475
522
  * @param {Object} options
@@ -490,14 +537,19 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
490
537
  },
491
538
  correlationId: options.correlationId
492
539
  };
493
-
494
- // @ts-ignore
495
- return this.request({
540
+ return this.locusDeltaRequest({
496
541
  method: _constants.HTTP_VERBS.PUT,
497
542
  uri: uri,
498
543
  body: body
499
544
  });
500
545
  }
546
+
547
+ /**
548
+ * Makes a network request to lock the meeting
549
+ * @param {Object} options
550
+ * @param {Boolean} options.lock Whether it is locked or not
551
+ * @returns {Promise}
552
+ */
501
553
  }, {
502
554
  key: "lockMeeting",
503
555
  value: function lockMeeting(options) {
@@ -507,9 +559,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
507
559
  locked: options.lock
508
560
  }
509
561
  };
510
-
511
- // @ts-ignore
512
- return this.request({
562
+ return this.locusDeltaRequest({
513
563
  method: _constants.HTTP_VERBS.PATCH,
514
564
  uri: uri,
515
565
  body: body
@@ -537,48 +587,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
537
587
  }, options.reason && {
538
588
  reason: options.reason
539
589
  });
540
-
541
- // @ts-ignore
542
- return this.request({
543
- method: _constants.HTTP_VERBS.PUT,
544
- uri: uri,
545
- body: body
546
- });
547
- }
548
-
549
- /**
550
- * Toggle remote audio and/or video
551
- * @param {Object} options options for toggling
552
- * @param {String} options.selfId Locus self id??
553
- * @param {String} options.locusUrl Locus url
554
- * @param {String} options.deviceUrl Url of a device
555
- * @param {String} options.resourceId Populated if you are paired to a device
556
- * @param {String} options.localMedias local sdps
557
- * @param {Boolean} options.preferTranscoding false for multistream (Homer), true for transcoded media (Edonus)
558
- * @returns {Promise}
559
- */
560
- }, {
561
- key: "remoteAudioVideoToggle",
562
- value: function remoteAudioVideoToggle(options) {
563
- var _options$preferTransc;
564
- var uri = "".concat(options.locusUrl, "/").concat(_constants.PARTICIPANT, "/").concat(options.selfId, "/").concat(_constants.MEDIA);
565
- var body = {
566
- device: {
567
- // @ts-ignore
568
- deviceType: this.config.meetings.deviceType,
569
- url: options.deviceUrl
570
- },
571
- usingResource: options.resourceId || null,
572
- correlationId: options.correlationId,
573
- respOnlySdp: true,
574
- localMedias: options.localMedias,
575
- clientMediaPreferences: {
576
- preferTranscoding: (_options$preferTransc = options.preferTranscoding) !== null && _options$preferTransc !== void 0 ? _options$preferTransc : true
577
- }
578
- };
579
-
580
- // @ts-ignore
581
- return this.request({
590
+ return this.locusDeltaRequest({
582
591
  method: _constants.HTTP_VERBS.PUT,
583
592
  uri: uri,
584
593
  body: body
@@ -593,6 +602,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
593
602
  * @param {String} options.deviceUrl Url of a device
594
603
  * @param {String} options.resourceId Populated if you are paired to a device
595
604
  * @param {String} options.uri floor grant uri
605
+ * @param {String} options.shareInstanceId id for current share
596
606
  * @returns {Promise}
597
607
  */
598
608
  }, {
@@ -623,9 +633,15 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
623
633
  floor: floorReq,
624
634
  resourceUrl: options.resourceUrl
625
635
  };
636
+ if (options !== null && options !== void 0 && options.shareInstanceId) {
637
+ body.floor.shareInstanceId = options.shareInstanceId;
638
+ }
626
639
  if (options !== null && options !== void 0 && options.resourceToken) {
627
640
  body.resourceToken = options === null || options === void 0 ? void 0 : options.resourceToken;
628
641
  }
642
+ if (options !== null && options !== void 0 && options.annotationInfo) {
643
+ body.annotation = options === null || options === void 0 ? void 0 : options.annotationInfo;
644
+ }
629
645
 
630
646
  // @ts-ignore
631
647
  return this.request({
@@ -645,12 +661,12 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
645
661
  */
646
662
  }, {
647
663
  key: "sendDTMF",
648
- value: function sendDTMF(_ref7) {
649
- var locusUrl = _ref7.locusUrl,
650
- deviceUrl = _ref7.deviceUrl,
651
- tones = _ref7.tones;
664
+ value: function sendDTMF(_ref8) {
665
+ var locusUrl = _ref8.locusUrl,
666
+ deviceUrl = _ref8.deviceUrl,
667
+ tones = _ref8.tones;
652
668
  // @ts-ignore
653
- return this.request({
669
+ return this.locusDeltaRequest({
654
670
  method: _constants.HTTP_VERBS.POST,
655
671
  uri: "".concat(locusUrl, "/").concat(_constants.SEND_DTMF_ENDPOINT),
656
672
  body: {
@@ -679,12 +695,12 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
679
695
  */
680
696
  }, {
681
697
  key: "changeVideoLayout",
682
- value: function changeVideoLayout(_ref8) {
683
- var locusUrl = _ref8.locusUrl,
684
- deviceUrl = _ref8.deviceUrl,
685
- layoutType = _ref8.layoutType,
686
- main = _ref8.main,
687
- content = _ref8.content;
698
+ value: function changeVideoLayout(_ref9) {
699
+ var locusUrl = _ref9.locusUrl,
700
+ deviceUrl = _ref9.deviceUrl,
701
+ layoutType = _ref9.layoutType,
702
+ main = _ref9.main,
703
+ content = _ref9.content;
688
704
  // send main/content renderInfo only if both width and height are specified
689
705
  if (main && (!main.width || !main.height)) {
690
706
  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))));
@@ -708,7 +724,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
708
724
  } : undefined;
709
725
 
710
726
  // @ts-ignore
711
- return this.request({
727
+ return this.locusDeltaRequest({
712
728
  method: _constants.HTTP_VERBS.PUT,
713
729
  uri: "".concat(locusUrl, "/").concat(_constants.CONTROLS),
714
730
  body: {
@@ -729,12 +745,12 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
729
745
  */
730
746
  }, {
731
747
  key: "endMeetingForAll",
732
- value: function endMeetingForAll(_ref9) {
733
- var locusUrl = _ref9.locusUrl;
748
+ value: function endMeetingForAll(_ref10) {
749
+ var locusUrl = _ref10.locusUrl;
734
750
  var uri = "".concat(locusUrl, "/").concat(_constants.END);
735
751
 
736
752
  // @ts-ignore
737
- return this.request({
753
+ return this.locusDeltaRequest({
738
754
  method: _constants.HTTP_VERBS.POST,
739
755
  uri: uri
740
756
  });
@@ -748,8 +764,8 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
748
764
  */
749
765
  }, {
750
766
  key: "keepAlive",
751
- value: function keepAlive(_ref10) {
752
- var keepAliveUrl = _ref10.keepAliveUrl;
767
+ value: function keepAlive(_ref11) {
768
+ var keepAliveUrl = _ref11.keepAliveUrl;
753
769
  // @ts-ignore
754
770
  return this.request({
755
771
  method: _constants.HTTP_VERBS.GET,
@@ -767,10 +783,10 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
767
783
  */
768
784
  }, {
769
785
  key: "sendReaction",
770
- value: function sendReaction(_ref11) {
771
- var reactionChannelUrl = _ref11.reactionChannelUrl,
772
- reaction = _ref11.reaction,
773
- participantId = _ref11.participantId;
786
+ value: function sendReaction(_ref12) {
787
+ var reactionChannelUrl = _ref12.reactionChannelUrl,
788
+ reaction = _ref12.reaction,
789
+ participantId = _ref12.participantId;
774
790
  var uri = reactionChannelUrl;
775
791
 
776
792
  // @ts-ignore
@@ -794,14 +810,14 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
794
810
  */
795
811
  }, {
796
812
  key: "toggleReactions",
797
- value: function toggleReactions(_ref12) {
798
- var enable = _ref12.enable,
799
- locusUrl = _ref12.locusUrl,
800
- requestingParticipantId = _ref12.requestingParticipantId;
813
+ value: function toggleReactions(_ref13) {
814
+ var enable = _ref13.enable,
815
+ locusUrl = _ref13.locusUrl,
816
+ requestingParticipantId = _ref13.requestingParticipantId;
801
817
  var uri = "".concat(locusUrl, "/").concat(_constants.CONTROLS);
802
818
 
803
819
  // @ts-ignore
804
- return this.request({
820
+ return this.locusDeltaRequest({
805
821
  method: _constants.HTTP_VERBS.PUT,
806
822
  uri: uri,
807
823
  body: {
@@ -812,6 +828,15 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
812
828
  }
813
829
  });
814
830
  }
831
+ }, {
832
+ key: "getLocusStatusByUrl",
833
+ value: function getLocusStatusByUrl(locusUrl) {
834
+ // @ts-ignore
835
+ return this.request({
836
+ method: _constants.HTTP_VERBS.GET,
837
+ uri: locusUrl
838
+ });
839
+ }
815
840
  }]);
816
841
  return MeetingRequest;
817
842
  }(_webexCore.StatelessWebexPlugin);