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

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 (398) 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 +625 -123
  13. package/dist/breakouts/index.js.map +1 -1
  14. package/dist/breakouts/utils.js +27 -8
  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 +6 -10
  29. package/dist/config.js.map +1 -1
  30. package/dist/constants.js +247 -34
  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 +116 -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 +4509 -3000
  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 +236 -136
  77. package/dist/meeting/muteState.js.map +1 -1
  78. package/dist/meeting/request.js +185 -155
  79. package/dist/meeting/request.js.map +1 -1
  80. package/dist/meeting/util.js +676 -417
  81. package/dist/meeting/util.js.map +1 -1
  82. package/dist/meeting/voicea-meeting.js +172 -0
  83. package/dist/meeting/voicea-meeting.js.map +1 -0
  84. package/dist/meeting-info/index.js +73 -7
  85. package/dist/meeting-info/index.js.map +1 -1
  86. package/dist/meeting-info/meeting-info-v2.js +201 -57
  87. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  88. package/dist/meeting-info/util.js +8 -7
  89. package/dist/meeting-info/util.js.map +1 -1
  90. package/dist/meeting-info/utilv2.js +44 -40
  91. package/dist/meeting-info/utilv2.js.map +1 -1
  92. package/dist/meetings/collection.js +39 -0
  93. package/dist/meetings/collection.js.map +1 -1
  94. package/dist/meetings/index.js +484 -119
  95. package/dist/meetings/index.js.map +1 -1
  96. package/dist/meetings/meetings.types.js +7 -0
  97. package/dist/meetings/meetings.types.js.map +1 -0
  98. package/dist/meetings/request.js +2 -0
  99. package/dist/meetings/request.js.map +1 -1
  100. package/dist/meetings/util.js +73 -7
  101. package/dist/meetings/util.js.map +1 -1
  102. package/dist/member/index.js +57 -0
  103. package/dist/member/index.js.map +1 -1
  104. package/dist/member/types.js +25 -0
  105. package/dist/member/types.js.map +1 -0
  106. package/dist/member/util.js +132 -25
  107. package/dist/member/util.js.map +1 -1
  108. package/dist/members/collection.js +10 -0
  109. package/dist/members/collection.js.map +1 -1
  110. package/dist/members/index.js +100 -5
  111. package/dist/members/index.js.map +1 -1
  112. package/dist/members/request.js +106 -38
  113. package/dist/members/request.js.map +1 -1
  114. package/dist/members/types.js +15 -0
  115. package/dist/members/types.js.map +1 -0
  116. package/dist/members/util.js +326 -232
  117. package/dist/members/util.js.map +1 -1
  118. package/dist/metrics/constants.js +18 -1
  119. package/dist/metrics/constants.js.map +1 -1
  120. package/dist/metrics/index.js +1 -446
  121. package/dist/metrics/index.js.map +1 -1
  122. package/dist/multistream/mediaRequestManager.js +223 -32
  123. package/dist/multistream/mediaRequestManager.js.map +1 -1
  124. package/dist/multistream/receiveSlot.js +10 -0
  125. package/dist/multistream/receiveSlot.js.map +1 -1
  126. package/dist/multistream/receiveSlotManager.js +39 -36
  127. package/dist/multistream/receiveSlotManager.js.map +1 -1
  128. package/dist/multistream/remoteMedia.js +3 -1
  129. package/dist/multistream/remoteMedia.js.map +1 -1
  130. package/dist/multistream/remoteMediaGroup.js +76 -5
  131. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  132. package/dist/multistream/remoteMediaManager.js +366 -104
  133. package/dist/multistream/remoteMediaManager.js.map +1 -1
  134. package/dist/multistream/sendSlotManager.js +255 -0
  135. package/dist/multistream/sendSlotManager.js.map +1 -0
  136. package/dist/reachability/clusterReachability.js +356 -0
  137. package/dist/reachability/clusterReachability.js.map +1 -0
  138. package/dist/reachability/index.js +263 -390
  139. package/dist/reachability/index.js.map +1 -1
  140. package/dist/reachability/request.js +6 -4
  141. package/dist/reachability/request.js.map +1 -1
  142. package/dist/reachability/util.js +29 -0
  143. package/dist/reachability/util.js.map +1 -0
  144. package/dist/reconnection-manager/index.js +266 -202
  145. package/dist/reconnection-manager/index.js.map +1 -1
  146. package/dist/recording-controller/index.js +21 -2
  147. package/dist/recording-controller/index.js.map +1 -1
  148. package/dist/recording-controller/util.js +9 -8
  149. package/dist/recording-controller/util.js.map +1 -1
  150. package/dist/roap/index.js +66 -28
  151. package/dist/roap/index.js.map +1 -1
  152. package/dist/roap/request.js +48 -64
  153. package/dist/roap/request.js.map +1 -1
  154. package/dist/roap/turnDiscovery.js +407 -79
  155. package/dist/roap/turnDiscovery.js.map +1 -1
  156. package/dist/rtcMetrics/constants.js +12 -0
  157. package/dist/rtcMetrics/constants.js.map +1 -0
  158. package/dist/rtcMetrics/index.js +179 -0
  159. package/dist/rtcMetrics/index.js.map +1 -0
  160. package/dist/statsAnalyzer/index.js +357 -295
  161. package/dist/statsAnalyzer/index.js.map +1 -1
  162. package/dist/statsAnalyzer/mqaUtil.js +296 -156
  163. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  164. package/dist/types/annotation/annotation.types.d.ts +42 -0
  165. package/dist/types/annotation/constants.d.ts +31 -0
  166. package/dist/types/annotation/index.d.ts +117 -0
  167. package/dist/types/breakouts/events.d.ts +8 -0
  168. package/dist/types/breakouts/utils.d.ts +9 -2
  169. package/dist/types/common/errors/no-meeting-info.d.ts +14 -0
  170. package/dist/types/common/errors/reclaim-host-role-errors.d.ts +60 -0
  171. package/dist/types/common/errors/webex-errors.d.ts +25 -1
  172. package/dist/types/common/logs/request.d.ts +2 -0
  173. package/dist/types/common/queue.d.ts +9 -7
  174. package/dist/types/config.d.ts +2 -7
  175. package/dist/types/constants.d.ts +204 -32
  176. package/dist/types/controls-options-manager/enums.d.ts +11 -1
  177. package/dist/types/controls-options-manager/index.d.ts +17 -1
  178. package/dist/types/controls-options-manager/types.d.ts +43 -0
  179. package/dist/types/controls-options-manager/util.d.ts +1 -7
  180. package/dist/types/index.d.ts +6 -5
  181. package/dist/types/interceptors/index.d.ts +2 -0
  182. package/dist/types/interceptors/locusRetry.d.ts +27 -0
  183. package/dist/types/interpretation/collection.d.ts +5 -0
  184. package/dist/types/interpretation/index.d.ts +5 -0
  185. package/dist/types/interpretation/siLanguage.d.ts +5 -0
  186. package/dist/types/locus-info/index.d.ts +57 -4
  187. package/dist/types/locus-info/parser.d.ts +66 -6
  188. package/dist/types/media/index.d.ts +2 -0
  189. package/dist/types/media/properties.d.ts +34 -49
  190. package/dist/types/mediaQualityMetrics/config.d.ts +99 -223
  191. package/dist/types/meeting/in-meeting-actions.d.ts +86 -2
  192. package/dist/types/meeting/index.d.ts +630 -505
  193. package/dist/types/meeting/locusMediaRequest.d.ts +74 -0
  194. package/dist/types/meeting/muteState.d.ts +88 -26
  195. package/dist/types/meeting/request.d.ts +65 -43
  196. package/dist/types/meeting/util.d.ts +117 -1
  197. package/dist/types/meeting/voicea-meeting.d.ts +16 -0
  198. package/dist/types/meeting-info/index.d.ts +13 -1
  199. package/dist/types/meeting-info/meeting-info-v2.d.ts +31 -1
  200. package/dist/types/meetings/collection.d.ts +17 -0
  201. package/dist/types/meetings/index.d.ts +113 -21
  202. package/dist/types/meetings/meetings.types.d.ts +4 -0
  203. package/dist/types/member/index.d.ts +14 -0
  204. package/dist/types/member/types.d.ts +32 -0
  205. package/dist/types/members/collection.d.ts +5 -0
  206. package/dist/types/members/index.d.ts +35 -2
  207. package/dist/types/members/request.d.ts +73 -9
  208. package/dist/types/members/types.d.ts +25 -0
  209. package/dist/types/members/util.d.ts +214 -1
  210. package/dist/types/metrics/constants.d.ts +17 -0
  211. package/dist/types/metrics/index.d.ts +4 -111
  212. package/dist/types/multistream/mediaRequestManager.d.ts +72 -3
  213. package/dist/types/multistream/receiveSlot.d.ts +7 -3
  214. package/dist/types/multistream/receiveSlotManager.d.ts +14 -4
  215. package/dist/types/multistream/remoteMedia.d.ts +3 -31
  216. package/dist/types/multistream/remoteMediaGroup.d.ts +2 -9
  217. package/dist/types/multistream/remoteMediaManager.d.ts +62 -2
  218. package/dist/types/multistream/sendSlotManager.d.ts +70 -0
  219. package/dist/types/reachability/clusterReachability.d.ts +109 -0
  220. package/dist/types/reachability/index.d.ts +60 -95
  221. package/dist/types/reachability/request.d.ts +3 -1
  222. package/dist/types/reachability/util.d.ts +8 -0
  223. package/dist/types/reconnection-manager/index.d.ts +19 -0
  224. package/dist/types/recording-controller/index.d.ts +15 -1
  225. package/dist/types/recording-controller/util.d.ts +5 -4
  226. package/dist/types/roap/index.d.ts +11 -2
  227. package/dist/types/roap/request.d.ts +9 -8
  228. package/dist/types/roap/turnDiscovery.d.ts +90 -9
  229. package/dist/types/rtcMetrics/constants.d.ts +4 -0
  230. package/dist/types/rtcMetrics/index.d.ts +61 -0
  231. package/dist/types/statsAnalyzer/index.d.ts +34 -12
  232. package/dist/types/statsAnalyzer/mqaUtil.d.ts +28 -4
  233. package/dist/types/webinar/collection.d.ts +16 -0
  234. package/dist/types/webinar/index.d.ts +5 -0
  235. package/dist/webinar/collection.js +44 -0
  236. package/dist/webinar/collection.js.map +1 -0
  237. package/dist/webinar/index.js +69 -0
  238. package/dist/webinar/index.js.map +1 -0
  239. package/package.json +22 -19
  240. package/src/annotation/annotation.types.ts +50 -0
  241. package/src/annotation/constants.ts +36 -0
  242. package/src/annotation/index.ts +328 -0
  243. package/src/breakouts/README.md +27 -6
  244. package/src/breakouts/breakout.ts +67 -9
  245. package/src/breakouts/events.ts +56 -0
  246. package/src/breakouts/index.ts +494 -73
  247. package/src/breakouts/utils.ts +26 -8
  248. package/src/common/errors/no-meeting-info.ts +24 -0
  249. package/src/common/errors/reclaim-host-role-errors.ts +134 -0
  250. package/src/common/errors/webex-errors.ts +44 -2
  251. package/src/common/logs/logger-proxy.ts +1 -1
  252. package/src/common/logs/request.ts +5 -1
  253. package/src/common/queue.ts +22 -8
  254. package/src/config.ts +6 -13
  255. package/src/constants.ts +234 -22
  256. package/src/controls-options-manager/enums.ts +12 -0
  257. package/src/controls-options-manager/index.ts +116 -21
  258. package/src/controls-options-manager/types.ts +59 -0
  259. package/src/controls-options-manager/util.ts +294 -14
  260. package/src/index.ts +45 -0
  261. package/src/interceptors/index.ts +3 -0
  262. package/src/interceptors/locusRetry.ts +67 -0
  263. package/src/interpretation/README.md +60 -0
  264. package/src/interpretation/collection.ts +19 -0
  265. package/src/interpretation/index.ts +349 -0
  266. package/src/interpretation/siLanguage.ts +18 -0
  267. package/src/locus-info/controlsUtils.ts +108 -0
  268. package/src/locus-info/index.ts +417 -59
  269. package/src/locus-info/infoUtils.ts +10 -2
  270. package/src/locus-info/mediaSharesUtils.ts +80 -0
  271. package/src/locus-info/parser.ts +258 -47
  272. package/src/locus-info/selfUtils.ts +81 -5
  273. package/src/media/index.ts +100 -108
  274. package/src/media/properties.ts +88 -117
  275. package/src/mediaQualityMetrics/config.ts +103 -238
  276. package/src/meeting/in-meeting-actions.ts +171 -3
  277. package/src/meeting/index.ts +3899 -2622
  278. package/src/meeting/locusMediaRequest.ts +313 -0
  279. package/src/meeting/muteState.ts +237 -136
  280. package/src/meeting/request.ts +166 -122
  281. package/src/meeting/util.ts +690 -395
  282. package/src/meeting/voicea-meeting.ts +122 -0
  283. package/src/meeting-info/index.ts +81 -8
  284. package/src/meeting-info/meeting-info-v2.ts +166 -16
  285. package/src/meeting-info/util.ts +13 -10
  286. package/src/meeting-info/utilv2.ts +47 -37
  287. package/src/meetings/collection.ts +33 -0
  288. package/src/meetings/index.ts +507 -127
  289. package/src/meetings/meetings.types.ts +12 -0
  290. package/src/meetings/request.ts +2 -0
  291. package/src/meetings/util.ts +81 -12
  292. package/src/member/index.ts +57 -0
  293. package/src/member/types.ts +38 -0
  294. package/src/member/util.ts +141 -25
  295. package/src/members/collection.ts +8 -0
  296. package/src/members/index.ts +133 -7
  297. package/src/members/request.ts +97 -17
  298. package/src/members/types.ts +29 -0
  299. package/src/members/util.ts +333 -240
  300. package/src/metrics/constants.ts +17 -0
  301. package/src/metrics/index.ts +1 -469
  302. package/src/multistream/mediaRequestManager.ts +271 -56
  303. package/src/multistream/receiveSlot.ts +11 -4
  304. package/src/multistream/receiveSlotManager.ts +34 -24
  305. package/src/multistream/remoteMedia.ts +5 -3
  306. package/src/multistream/remoteMediaGroup.ts +78 -0
  307. package/src/multistream/remoteMediaManager.ts +248 -44
  308. package/src/multistream/sendSlotManager.ts +199 -0
  309. package/src/reachability/clusterReachability.ts +320 -0
  310. package/src/reachability/index.ts +229 -346
  311. package/src/reachability/request.ts +8 -4
  312. package/src/reachability/util.ts +24 -0
  313. package/src/reconnection-manager/index.ts +128 -97
  314. package/src/recording-controller/index.ts +20 -3
  315. package/src/recording-controller/util.ts +26 -9
  316. package/src/roap/index.ts +76 -25
  317. package/src/roap/request.ts +48 -67
  318. package/src/roap/turnDiscovery.ts +331 -67
  319. package/src/rtcMetrics/constants.ts +3 -0
  320. package/src/rtcMetrics/index.ts +166 -0
  321. package/src/statsAnalyzer/index.ts +457 -416
  322. package/src/statsAnalyzer/mqaUtil.ts +317 -170
  323. package/src/webinar/collection.ts +31 -0
  324. package/src/webinar/index.ts +62 -0
  325. package/test/integration/spec/converged-space-meetings.js +60 -3
  326. package/test/integration/spec/journey.js +321 -262
  327. package/test/integration/spec/space-meeting.js +76 -3
  328. package/test/unit/spec/annotation/index.ts +418 -0
  329. package/test/unit/spec/breakouts/breakout.ts +119 -28
  330. package/test/unit/spec/breakouts/events.ts +89 -0
  331. package/test/unit/spec/breakouts/index.ts +1204 -118
  332. package/test/unit/spec/breakouts/utils.js +27 -2
  333. package/test/unit/spec/common/queue.js +31 -2
  334. package/test/unit/spec/controls-options-manager/index.js +163 -0
  335. package/test/unit/spec/controls-options-manager/util.js +576 -60
  336. package/test/unit/spec/fixture/locus.js +1 -0
  337. package/test/unit/spec/interceptors/locusRetry.ts +131 -0
  338. package/test/unit/spec/interpretation/collection.ts +15 -0
  339. package/test/unit/spec/interpretation/index.ts +625 -0
  340. package/test/unit/spec/interpretation/siLanguage.ts +28 -0
  341. package/test/unit/spec/locus-info/controlsUtils.js +316 -43
  342. package/test/unit/spec/locus-info/index.js +1372 -37
  343. package/test/unit/spec/locus-info/infoUtils.js +37 -15
  344. package/test/unit/spec/locus-info/lib/SeqCmp.json +16 -0
  345. package/test/unit/spec/locus-info/mediaSharesUtils.ts +41 -0
  346. package/test/unit/spec/locus-info/parser.js +116 -35
  347. package/test/unit/spec/locus-info/selfConstant.js +27 -4
  348. package/test/unit/spec/locus-info/selfUtils.js +203 -17
  349. package/test/unit/spec/media/index.ts +178 -81
  350. package/test/unit/spec/media/properties.ts +2 -2
  351. package/test/unit/spec/meeting/in-meeting-actions.ts +85 -3
  352. package/test/unit/spec/meeting/index.js +7520 -2267
  353. package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
  354. package/test/unit/spec/meeting/muteState.js +549 -207
  355. package/test/unit/spec/meeting/request.js +476 -54
  356. package/test/unit/spec/meeting/utils.js +827 -74
  357. package/test/unit/spec/meeting/voicea-meeting.ts +266 -0
  358. package/test/unit/spec/meeting-info/index.js +300 -0
  359. package/test/unit/spec/meeting-info/meetinginfov2.js +535 -9
  360. package/test/unit/spec/meeting-info/utilv2.js +21 -0
  361. package/test/unit/spec/meetings/collection.js +26 -0
  362. package/test/unit/spec/meetings/index.js +1489 -219
  363. package/test/unit/spec/meetings/utils.js +229 -2
  364. package/test/unit/spec/member/index.js +61 -6
  365. package/test/unit/spec/member/util.js +510 -34
  366. package/test/unit/spec/members/index.js +432 -1
  367. package/test/unit/spec/members/request.js +206 -27
  368. package/test/unit/spec/members/utils.js +210 -0
  369. package/test/unit/spec/metrics/index.js +2 -52
  370. package/test/unit/spec/multistream/mediaRequestManager.ts +782 -114
  371. package/test/unit/spec/multistream/receiveSlot.ts +9 -1
  372. package/test/unit/spec/multistream/receiveSlotManager.ts +32 -30
  373. package/test/unit/spec/multistream/remoteMedia.ts +2 -0
  374. package/test/unit/spec/multistream/remoteMediaGroup.ts +345 -0
  375. package/test/unit/spec/multistream/remoteMediaManager.ts +525 -0
  376. package/test/unit/spec/multistream/sendSlotManager.ts +274 -0
  377. package/test/unit/spec/reachability/clusterReachability.ts +279 -0
  378. package/test/unit/spec/reachability/index.ts +551 -14
  379. package/test/unit/spec/reachability/request.js +3 -1
  380. package/test/unit/spec/reachability/util.ts +40 -0
  381. package/test/unit/spec/reconnection-manager/index.js +171 -11
  382. package/test/unit/spec/recording-controller/index.js +293 -218
  383. package/test/unit/spec/recording-controller/util.js +223 -96
  384. package/test/unit/spec/roap/index.ts +233 -81
  385. package/test/unit/spec/roap/request.ts +100 -62
  386. package/test/unit/spec/roap/turnDiscovery.ts +682 -108
  387. package/test/unit/spec/rtcMetrics/index.ts +122 -0
  388. package/test/unit/spec/stats-analyzer/index.js +1252 -12
  389. package/test/unit/spec/webinar/collection.ts +13 -0
  390. package/test/unit/spec/webinar/index.ts +60 -0
  391. package/test/utils/integrationTestUtils.js +46 -0
  392. package/test/utils/testUtils.js +0 -57
  393. package/test/utils/webex-test-users.js +12 -4
  394. package/dist/metrics/config.js +0 -289
  395. package/dist/metrics/config.js.map +0 -1
  396. package/dist/types/metrics/config.d.ts +0 -169
  397. package/src/index.js +0 -18
  398. package/src/metrics/config.ts +0 -485
@@ -12,10 +12,11 @@ _Object$defineProperty(exports, "__esModule", {
12
12
  value: true
13
13
  });
14
14
  exports.default = void 0;
15
- var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
16
15
  var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
16
+ var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
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, reachability, 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, reachability = options.reachability, 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);
151
169
  }
152
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;
179
+ }
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) {
155
187
  // @ts-ignore
156
- body.device.countryCode = this.webex.meetings.clientRegion.countryCode;
188
+ body.device.countryCode = this.webex.meetings.geoHintInfo.countryCode;
157
189
  // @ts-ignore
158
- body.device.regionCode = this.webex.meetings.clientRegion.regionCode;
190
+ body.device.regionCode = this.webex.meetings.geoHintInfo.regionCode;
191
+ body.device.localIp =
192
+ // @ts-ignore
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) {
@@ -202,8 +247,13 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
202
247
  requestedMedia: [_constants._SLIDES_]
203
248
  };
204
249
  }
205
- if (roapMessage) {
206
- body.localMedias = roapMessage.localMedias;
250
+ if (roapMessage || reachability) {
251
+ body.localMedias = [{
252
+ localSdp: (0, _stringify.default)({
253
+ roapMessage: roapMessage,
254
+ reachability: reachability
255
+ })
256
+ }];
207
257
  }
208
258
 
209
259
  /// @ts-ignore
@@ -212,11 +262,11 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
212
262
  uri: url,
213
263
  body: body
214
264
  }));
215
- case 32:
265
+ case 41:
216
266
  case "end":
217
267
  return _context2.stop();
218
268
  }
219
- }, _callee2, this, [[17, 24]]);
269
+ }, _callee2, this, [[21, 33]]);
220
270
  }));
221
271
  function joinMeeting(_x) {
222
272
  return _joinMeeting.apply(this, arguments);
@@ -281,7 +331,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
281
331
  };
282
332
 
283
333
  // @ts-ignore
284
- return this.request({
334
+ return this.locusDeltaRequest({
285
335
  method: _constants.HTTP_VERBS.POST,
286
336
  uri: uri,
287
337
  body: body
@@ -324,7 +374,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
324
374
  };
325
375
 
326
376
  // @ts-ignore
327
- return this.request({
377
+ return this.locusDeltaRequest({
328
378
  method: _constants.HTTP_VERBS.POST,
329
379
  uri: uri,
330
380
  body: body
@@ -335,60 +385,23 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
335
385
  }
336
386
 
337
387
  /**
338
- * Syns the missed delta event
388
+ * Sends a requests to get the latest locus DTO, it might be a full Locus or a delta, depending on the url provided
339
389
  * @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
370
- * @param {Object} options
371
- * @param {boolean} options.desync flag to get partial or whole locus object
372
390
  * @param {String} options.locusUrl sync url to get ht elatest locus delta
373
391
  * @returns {Promise}
374
392
  */
375
393
  }, {
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
-
394
+ key: "getLocusDTO",
395
+ value: function getLocusDTO(options) {
396
+ var url = options.url;
397
+ if (url) {
385
398
  // @ts-ignore
386
399
  return this.request({
387
400
  method: _constants.HTTP_VERBS.GET,
388
- uri: locusUrl
401
+ uri: url
389
402
  }).catch(function (err) {
390
- _loggerProxy.default.logger.error("Meeting:request#getFullLocus --> Error getting full locus, error ".concat(err));
391
- return err;
403
+ _loggerProxy.default.logger.error("Meeting:request#getLocusDTO --> Error getting latest locus, error ".concat(err));
404
+ throw err;
392
405
  });
393
406
  }
394
407
  return _promise.default.reject();
@@ -422,7 +435,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
422
435
  };
423
436
 
424
437
  // @ts-ignore
425
- return this.request({
438
+ return this.locusDeltaRequest({
426
439
  method: _constants.HTTP_VERBS.PUT,
427
440
  uri: uri,
428
441
  body: body
@@ -433,24 +446,23 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
433
446
  }
434
447
 
435
448
  /**
436
- * Make a network request to leave a meeting
449
+ * Prepares request options to to leave a meeting
437
450
  * @param {Object} options
438
451
  * @param {Url} options.locusUrl
439
452
  * @param {String} options.selfId
440
453
  * @param {Url} options.deviceUrl
441
454
  * @param {String} options.resourceId,
442
455
  * @param {String} options.correlationId
443
- * @returns {Promise}
456
+ * @returns {Object} request options
444
457
  */
445
458
  }, {
446
- key: "leaveMeeting",
447
- value: function leaveMeeting(_ref6) {
459
+ key: "prepareLeaveMeetingRequestOptions",
460
+ value: function prepareLeaveMeetingRequestOptions(_ref6) {
448
461
  var locusUrl = _ref6.locusUrl,
449
462
  selfId = _ref6.selfId,
450
463
  url = _ref6.deviceUrl,
451
464
  resourceId = _ref6.resourceId,
452
465
  correlationId = _ref6.correlationId;
453
- _loggerProxy.default.logger.info('Meeting:request#leaveMeeting --> Leaving a meeting', correlationId);
454
466
  var uri = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT, "/").concat(selfId, "/").concat(_constants.LEAVE);
455
467
  var body = {
456
468
  device: {
@@ -461,15 +473,55 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
461
473
  usingResource: resourceId || null,
462
474
  correlationId: correlationId
463
475
  };
476
+ return {
477
+ method: _constants.HTTP_VERBS.PUT,
478
+ uri: uri,
479
+ body: body
480
+ };
481
+ }
464
482
 
465
- // @ts-ignore
466
- return this.request({
483
+ /**
484
+ * Make a network request to leave a meeting
485
+ * @param {Object} options
486
+ * @returns {Promise}
487
+ */
488
+ }, {
489
+ key: "leaveMeeting",
490
+ value: function leaveMeeting(_ref7) {
491
+ var locusUrl = _ref7.locusUrl,
492
+ selfId = _ref7.selfId,
493
+ url = _ref7.deviceUrl,
494
+ resourceId = _ref7.resourceId,
495
+ correlationId = _ref7.correlationId;
496
+ _loggerProxy.default.logger.info('Meeting:request#leaveMeeting --> Leaving a meeting', correlationId);
497
+ var uri = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT, "/").concat(selfId, "/").concat(_constants.LEAVE);
498
+ var body = {
499
+ device: {
500
+ // @ts-ignore
501
+ deviceType: this.config.meetings.deviceType,
502
+ url: url
503
+ },
504
+ usingResource: resourceId || null,
505
+ correlationId: correlationId
506
+ };
507
+ return this.locusDeltaRequest({
467
508
  method: _constants.HTTP_VERBS.PUT,
468
509
  uri: uri,
469
510
  body: body
470
511
  });
471
512
  }
472
513
 
514
+ /**
515
+ * Builds request options to leave a meeting
516
+ * @param {Object} options
517
+ * @returns {Object} request options
518
+ */
519
+ }, {
520
+ key: "buildLeaveMeetingRequestOptions",
521
+ value: function buildLeaveMeetingRequestOptions(options) {
522
+ return this.buildLocusDeltaRequestOptions(this.prepareLeaveMeetingRequestOptions(options));
523
+ }
524
+
473
525
  /**
474
526
  * Make a network request to acknowledge a meeting
475
527
  * @param {Object} options
@@ -490,14 +542,19 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
490
542
  },
491
543
  correlationId: options.correlationId
492
544
  };
493
-
494
- // @ts-ignore
495
- return this.request({
545
+ return this.locusDeltaRequest({
496
546
  method: _constants.HTTP_VERBS.PUT,
497
547
  uri: uri,
498
548
  body: body
499
549
  });
500
550
  }
551
+
552
+ /**
553
+ * Makes a network request to lock the meeting
554
+ * @param {Object} options
555
+ * @param {Boolean} options.lock Whether it is locked or not
556
+ * @returns {Promise}
557
+ */
501
558
  }, {
502
559
  key: "lockMeeting",
503
560
  value: function lockMeeting(options) {
@@ -507,9 +564,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
507
564
  locked: options.lock
508
565
  }
509
566
  };
510
-
511
- // @ts-ignore
512
- return this.request({
567
+ return this.locusDeltaRequest({
513
568
  method: _constants.HTTP_VERBS.PATCH,
514
569
  uri: uri,
515
570
  body: body
@@ -537,48 +592,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
537
592
  }, options.reason && {
538
593
  reason: options.reason
539
594
  });
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({
595
+ return this.locusDeltaRequest({
582
596
  method: _constants.HTTP_VERBS.PUT,
583
597
  uri: uri,
584
598
  body: body
@@ -593,6 +607,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
593
607
  * @param {String} options.deviceUrl Url of a device
594
608
  * @param {String} options.resourceId Populated if you are paired to a device
595
609
  * @param {String} options.uri floor grant uri
610
+ * @param {String} options.shareInstanceId id for current share
596
611
  * @returns {Promise}
597
612
  */
598
613
  }, {
@@ -623,9 +638,15 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
623
638
  floor: floorReq,
624
639
  resourceUrl: options.resourceUrl
625
640
  };
641
+ if (options !== null && options !== void 0 && options.shareInstanceId) {
642
+ body.floor.shareInstanceId = options.shareInstanceId;
643
+ }
626
644
  if (options !== null && options !== void 0 && options.resourceToken) {
627
645
  body.resourceToken = options === null || options === void 0 ? void 0 : options.resourceToken;
628
646
  }
647
+ if (options !== null && options !== void 0 && options.annotationInfo) {
648
+ body.annotation = options === null || options === void 0 ? void 0 : options.annotationInfo;
649
+ }
629
650
 
630
651
  // @ts-ignore
631
652
  return this.request({
@@ -645,12 +666,12 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
645
666
  */
646
667
  }, {
647
668
  key: "sendDTMF",
648
- value: function sendDTMF(_ref7) {
649
- var locusUrl = _ref7.locusUrl,
650
- deviceUrl = _ref7.deviceUrl,
651
- tones = _ref7.tones;
669
+ value: function sendDTMF(_ref8) {
670
+ var locusUrl = _ref8.locusUrl,
671
+ deviceUrl = _ref8.deviceUrl,
672
+ tones = _ref8.tones;
652
673
  // @ts-ignore
653
- return this.request({
674
+ return this.locusDeltaRequest({
654
675
  method: _constants.HTTP_VERBS.POST,
655
676
  uri: "".concat(locusUrl, "/").concat(_constants.SEND_DTMF_ENDPOINT),
656
677
  body: {
@@ -679,12 +700,12 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
679
700
  */
680
701
  }, {
681
702
  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;
703
+ value: function changeVideoLayout(_ref9) {
704
+ var locusUrl = _ref9.locusUrl,
705
+ deviceUrl = _ref9.deviceUrl,
706
+ layoutType = _ref9.layoutType,
707
+ main = _ref9.main,
708
+ content = _ref9.content;
688
709
  // send main/content renderInfo only if both width and height are specified
689
710
  if (main && (!main.width || !main.height)) {
690
711
  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 +729,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
708
729
  } : undefined;
709
730
 
710
731
  // @ts-ignore
711
- return this.request({
732
+ return this.locusDeltaRequest({
712
733
  method: _constants.HTTP_VERBS.PUT,
713
734
  uri: "".concat(locusUrl, "/").concat(_constants.CONTROLS),
714
735
  body: {
@@ -729,12 +750,12 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
729
750
  */
730
751
  }, {
731
752
  key: "endMeetingForAll",
732
- value: function endMeetingForAll(_ref9) {
733
- var locusUrl = _ref9.locusUrl;
753
+ value: function endMeetingForAll(_ref10) {
754
+ var locusUrl = _ref10.locusUrl;
734
755
  var uri = "".concat(locusUrl, "/").concat(_constants.END);
735
756
 
736
757
  // @ts-ignore
737
- return this.request({
758
+ return this.locusDeltaRequest({
738
759
  method: _constants.HTTP_VERBS.POST,
739
760
  uri: uri
740
761
  });
@@ -748,8 +769,8 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
748
769
  */
749
770
  }, {
750
771
  key: "keepAlive",
751
- value: function keepAlive(_ref10) {
752
- var keepAliveUrl = _ref10.keepAliveUrl;
772
+ value: function keepAlive(_ref11) {
773
+ var keepAliveUrl = _ref11.keepAliveUrl;
753
774
  // @ts-ignore
754
775
  return this.request({
755
776
  method: _constants.HTTP_VERBS.GET,
@@ -767,10 +788,10 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
767
788
  */
768
789
  }, {
769
790
  key: "sendReaction",
770
- value: function sendReaction(_ref11) {
771
- var reactionChannelUrl = _ref11.reactionChannelUrl,
772
- reaction = _ref11.reaction,
773
- participantId = _ref11.participantId;
791
+ value: function sendReaction(_ref12) {
792
+ var reactionChannelUrl = _ref12.reactionChannelUrl,
793
+ reaction = _ref12.reaction,
794
+ participantId = _ref12.participantId;
774
795
  var uri = reactionChannelUrl;
775
796
 
776
797
  // @ts-ignore
@@ -794,14 +815,14 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
794
815
  */
795
816
  }, {
796
817
  key: "toggleReactions",
797
- value: function toggleReactions(_ref12) {
798
- var enable = _ref12.enable,
799
- locusUrl = _ref12.locusUrl,
800
- requestingParticipantId = _ref12.requestingParticipantId;
818
+ value: function toggleReactions(_ref13) {
819
+ var enable = _ref13.enable,
820
+ locusUrl = _ref13.locusUrl,
821
+ requestingParticipantId = _ref13.requestingParticipantId;
801
822
  var uri = "".concat(locusUrl, "/").concat(_constants.CONTROLS);
802
823
 
803
824
  // @ts-ignore
804
- return this.request({
825
+ return this.locusDeltaRequest({
805
826
  method: _constants.HTTP_VERBS.PUT,
806
827
  uri: uri,
807
828
  body: {
@@ -812,6 +833,15 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
812
833
  }
813
834
  });
814
835
  }
836
+ }, {
837
+ key: "getLocusStatusByUrl",
838
+ value: function getLocusStatusByUrl(locusUrl) {
839
+ // @ts-ignore
840
+ return this.request({
841
+ method: _constants.HTTP_VERBS.GET,
842
+ uri: locusUrl
843
+ });
844
+ }
815
845
  }]);
816
846
  return MeetingRequest;
817
847
  }(_webexCore.StatelessWebexPlugin);