@webex/plugin-meetings 3.0.0-beta.35 → 3.0.0-beta.350

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 (401) 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/edit-lock-error.js +52 -0
  11. package/dist/breakouts/edit-lock-error.js.map +1 -0
  12. package/dist/breakouts/events.js +45 -0
  13. package/dist/breakouts/events.js.map +1 -0
  14. package/dist/breakouts/index.js +709 -35
  15. package/dist/breakouts/index.js.map +1 -1
  16. package/dist/breakouts/utils.js +45 -1
  17. package/dist/breakouts/utils.js.map +1 -1
  18. package/dist/common/errors/no-meeting-info.js +51 -0
  19. package/dist/common/errors/no-meeting-info.js.map +1 -0
  20. package/dist/common/errors/reclaim-host-role-errors.js +158 -0
  21. package/dist/common/errors/reclaim-host-role-errors.js.map +1 -0
  22. package/dist/common/errors/webex-errors.js +48 -7
  23. package/dist/common/errors/webex-errors.js.map +1 -1
  24. package/dist/common/logs/logger-proxy.js +1 -1
  25. package/dist/common/logs/logger-proxy.js.map +1 -1
  26. package/dist/common/logs/request.js +5 -1
  27. package/dist/common/logs/request.js.map +1 -1
  28. package/dist/common/queue.js +24 -9
  29. package/dist/common/queue.js.map +1 -1
  30. package/dist/config.js +5 -10
  31. package/dist/config.js.map +1 -1
  32. package/dist/constants.js +231 -28
  33. package/dist/constants.js.map +1 -1
  34. package/dist/controls-options-manager/enums.js +14 -2
  35. package/dist/controls-options-manager/enums.js.map +1 -1
  36. package/dist/controls-options-manager/index.js +109 -15
  37. package/dist/controls-options-manager/index.js.map +1 -1
  38. package/dist/controls-options-manager/types.js +7 -0
  39. package/dist/controls-options-manager/types.js.map +1 -0
  40. package/dist/controls-options-manager/util.js +309 -18
  41. package/dist/controls-options-manager/util.js.map +1 -1
  42. package/dist/index.js +117 -2
  43. package/dist/index.js.map +1 -1
  44. package/dist/interceptors/index.js +15 -0
  45. package/dist/interceptors/index.js.map +1 -0
  46. package/dist/interceptors/locusRetry.js +93 -0
  47. package/dist/interceptors/locusRetry.js.map +1 -0
  48. package/dist/interpretation/collection.js +23 -0
  49. package/dist/interpretation/collection.js.map +1 -0
  50. package/dist/interpretation/index.js +366 -0
  51. package/dist/interpretation/index.js.map +1 -0
  52. package/dist/interpretation/siLanguage.js +25 -0
  53. package/dist/interpretation/siLanguage.js.map +1 -0
  54. package/dist/locus-info/controlsUtils.js +91 -2
  55. package/dist/locus-info/controlsUtils.js.map +1 -1
  56. package/dist/locus-info/index.js +383 -62
  57. package/dist/locus-info/index.js.map +1 -1
  58. package/dist/locus-info/infoUtils.js +7 -1
  59. package/dist/locus-info/infoUtils.js.map +1 -1
  60. package/dist/locus-info/mediaSharesUtils.js +57 -1
  61. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  62. package/dist/locus-info/parser.js +249 -72
  63. package/dist/locus-info/parser.js.map +1 -1
  64. package/dist/locus-info/selfUtils.js +89 -14
  65. package/dist/locus-info/selfUtils.js.map +1 -1
  66. package/dist/media/index.js +62 -116
  67. package/dist/media/index.js.map +1 -1
  68. package/dist/media/properties.js +73 -124
  69. package/dist/media/properties.js.map +1 -1
  70. package/dist/mediaQualityMetrics/config.js +1 -204
  71. package/dist/mediaQualityMetrics/config.js.map +1 -1
  72. package/dist/meeting/in-meeting-actions.js +86 -2
  73. package/dist/meeting/in-meeting-actions.js.map +1 -1
  74. package/dist/meeting/index.js +3931 -2960
  75. package/dist/meeting/index.js.map +1 -1
  76. package/dist/meeting/locusMediaRequest.js +292 -0
  77. package/dist/meeting/locusMediaRequest.js.map +1 -0
  78. package/dist/meeting/muteState.js +224 -131
  79. package/dist/meeting/muteState.js.map +1 -1
  80. package/dist/meeting/request.js +166 -152
  81. package/dist/meeting/request.js.map +1 -1
  82. package/dist/meeting/util.js +601 -417
  83. package/dist/meeting/util.js.map +1 -1
  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 +192 -51
  87. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  88. package/dist/meeting-info/util.js +1 -1
  89. package/dist/meeting-info/util.js.map +1 -1
  90. package/dist/meeting-info/utilv2.js +36 -36
  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 +437 -121
  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 +72 -6
  101. package/dist/meetings/util.js.map +1 -1
  102. package/dist/member/index.js +58 -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 +102 -6
  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 +16 -5
  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 +228 -58
  123. package/dist/multistream/mediaRequestManager.js.map +1 -1
  124. package/dist/multistream/receiveSlot.js +29 -16
  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 +44 -18
  129. package/dist/multistream/remoteMedia.js.map +1 -1
  130. package/dist/multistream/remoteMediaGroup.js +60 -3
  131. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  132. package/dist/multistream/remoteMediaManager.js +209 -59
  133. package/dist/multistream/remoteMediaManager.js.map +1 -1
  134. package/dist/multistream/sendSlotManager.js +233 -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 +265 -391
  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 +217 -171
  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 +62 -35
  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 +95 -38
  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 +142 -0
  159. package/dist/rtcMetrics/index.js.map +1 -0
  160. package/dist/statsAnalyzer/index.js +181 -214
  161. package/dist/statsAnalyzer/index.js.map +1 -1
  162. package/dist/statsAnalyzer/mqaUtil.js +22 -18
  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/edit-lock-error.d.ts +15 -0
  168. package/dist/types/breakouts/events.d.ts +8 -0
  169. package/dist/types/breakouts/utils.d.ts +14 -0
  170. package/dist/types/common/errors/no-meeting-info.d.ts +14 -0
  171. package/dist/types/common/errors/reclaim-host-role-errors.d.ts +60 -0
  172. package/dist/types/common/errors/webex-errors.d.ts +25 -1
  173. package/dist/types/common/logs/request.d.ts +2 -0
  174. package/dist/types/common/queue.d.ts +9 -7
  175. package/dist/types/config.d.ts +2 -7
  176. package/dist/types/constants.d.ts +199 -29
  177. package/dist/types/controls-options-manager/enums.d.ts +11 -1
  178. package/dist/types/controls-options-manager/index.d.ts +17 -1
  179. package/dist/types/controls-options-manager/types.d.ts +43 -0
  180. package/dist/types/controls-options-manager/util.d.ts +1 -7
  181. package/dist/types/index.d.ts +6 -4
  182. package/dist/types/interceptors/index.d.ts +2 -0
  183. package/dist/types/interceptors/locusRetry.d.ts +27 -0
  184. package/dist/types/interpretation/collection.d.ts +5 -0
  185. package/dist/types/interpretation/index.d.ts +5 -0
  186. package/dist/types/interpretation/siLanguage.d.ts +5 -0
  187. package/dist/types/locus-info/index.d.ts +57 -4
  188. package/dist/types/locus-info/parser.d.ts +66 -6
  189. package/dist/types/media/index.d.ts +2 -0
  190. package/dist/types/media/properties.d.ts +34 -48
  191. package/dist/types/mediaQualityMetrics/config.d.ts +0 -128
  192. package/dist/types/meeting/in-meeting-actions.d.ts +86 -2
  193. package/dist/types/meeting/index.d.ts +506 -512
  194. package/dist/types/meeting/locusMediaRequest.d.ts +74 -0
  195. package/dist/types/meeting/muteState.d.ts +93 -25
  196. package/dist/types/meeting/request.d.ts +62 -43
  197. package/dist/types/meeting/util.d.ts +101 -1
  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 +95 -22
  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 +15 -4
  211. package/dist/types/metrics/index.d.ts +4 -111
  212. package/dist/types/multistream/mediaRequestManager.d.ts +72 -5
  213. package/dist/types/multistream/receiveSlot.d.ts +13 -11
  214. package/dist/types/multistream/receiveSlotManager.d.ts +14 -4
  215. package/dist/types/multistream/remoteMedia.d.ts +8 -29
  216. package/dist/types/multistream/remoteMediaGroup.d.ts +0 -9
  217. package/dist/types/multistream/remoteMediaManager.d.ts +46 -2
  218. package/dist/types/multistream/sendSlotManager.d.ts +61 -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 +2 -1
  227. package/dist/types/roap/request.d.ts +9 -8
  228. package/dist/types/roap/turnDiscovery.d.ts +21 -3
  229. package/dist/types/rtcMetrics/constants.d.ts +4 -0
  230. package/dist/types/rtcMetrics/index.d.ts +54 -0
  231. package/dist/types/statsAnalyzer/index.d.ts +29 -11
  232. package/dist/types/webinar/collection.d.ts +16 -0
  233. package/dist/types/webinar/index.d.ts +5 -0
  234. package/dist/webinar/collection.js +44 -0
  235. package/dist/webinar/collection.js.map +1 -0
  236. package/dist/webinar/index.js +69 -0
  237. package/dist/webinar/index.js.map +1 -0
  238. package/package.json +22 -19
  239. package/src/annotation/annotation.types.ts +50 -0
  240. package/src/annotation/constants.ts +36 -0
  241. package/src/annotation/index.ts +328 -0
  242. package/src/breakouts/README.md +42 -12
  243. package/src/breakouts/breakout.ts +67 -9
  244. package/src/breakouts/edit-lock-error.ts +25 -0
  245. package/src/breakouts/events.ts +56 -0
  246. package/src/breakouts/index.ts +592 -20
  247. package/src/breakouts/utils.ts +42 -0
  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 +4 -9
  255. package/src/constants.ts +222 -19
  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 +44 -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 +332 -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 +413 -59
  269. package/src/locus-info/infoUtils.ts +10 -2
  270. package/src/locus-info/mediaSharesUtils.ts +64 -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 +102 -122
  274. package/src/media/properties.ts +87 -110
  275. package/src/mediaQualityMetrics/config.ts +0 -135
  276. package/src/meeting/in-meeting-actions.ts +171 -3
  277. package/src/meeting/index.ts +3284 -2555
  278. package/src/meeting/locusMediaRequest.ts +313 -0
  279. package/src/meeting/muteState.ts +223 -136
  280. package/src/meeting/request.ts +142 -120
  281. package/src/meeting/util.ts +588 -394
  282. package/src/meeting-info/index.ts +81 -8
  283. package/src/meeting-info/meeting-info-v2.ts +170 -14
  284. package/src/meeting-info/util.ts +1 -1
  285. package/src/meeting-info/utilv2.ts +23 -23
  286. package/src/meetings/collection.ts +33 -0
  287. package/src/meetings/index.ts +460 -128
  288. package/src/meetings/meetings.types.ts +12 -0
  289. package/src/meetings/request.ts +2 -0
  290. package/src/meetings/util.ts +80 -11
  291. package/src/member/index.ts +58 -0
  292. package/src/member/types.ts +38 -0
  293. package/src/member/util.ts +141 -25
  294. package/src/members/collection.ts +8 -0
  295. package/src/members/index.ts +134 -8
  296. package/src/members/request.ts +97 -17
  297. package/src/members/types.ts +29 -0
  298. package/src/members/util.ts +333 -240
  299. package/src/metrics/constants.ts +15 -4
  300. package/src/metrics/index.ts +1 -469
  301. package/src/multistream/mediaRequestManager.ts +277 -82
  302. package/src/multistream/receiveSlot.ts +31 -17
  303. package/src/multistream/receiveSlotManager.ts +34 -24
  304. package/src/multistream/remoteMedia.ts +27 -2
  305. package/src/multistream/remoteMediaGroup.ts +59 -0
  306. package/src/multistream/remoteMediaManager.ts +148 -30
  307. package/src/multistream/sendSlotManager.ts +170 -0
  308. package/src/reachability/clusterReachability.ts +320 -0
  309. package/src/reachability/index.ts +226 -340
  310. package/src/reachability/request.ts +8 -4
  311. package/src/reachability/util.ts +24 -0
  312. package/src/reconnection-manager/index.ts +128 -106
  313. package/src/recording-controller/index.ts +20 -3
  314. package/src/recording-controller/util.ts +26 -9
  315. package/src/roap/index.ts +63 -32
  316. package/src/roap/request.ts +48 -67
  317. package/src/roap/turnDiscovery.ts +48 -26
  318. package/src/rtcMetrics/constants.ts +3 -0
  319. package/src/rtcMetrics/index.ts +124 -0
  320. package/src/statsAnalyzer/index.ts +218 -289
  321. package/src/statsAnalyzer/mqaUtil.ts +28 -30
  322. package/src/webinar/collection.ts +31 -0
  323. package/src/webinar/index.ts +62 -0
  324. package/test/integration/spec/converged-space-meetings.js +60 -3
  325. package/test/integration/spec/journey.js +320 -261
  326. package/test/integration/spec/space-meeting.js +76 -3
  327. package/test/unit/spec/annotation/index.ts +418 -0
  328. package/test/unit/spec/breakouts/breakout.ts +118 -28
  329. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  330. package/test/unit/spec/breakouts/events.ts +89 -0
  331. package/test/unit/spec/breakouts/index.ts +1395 -69
  332. package/test/unit/spec/breakouts/utils.js +52 -1
  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 +589 -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 +1304 -33
  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 +32 -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 +208 -17
  349. package/test/unit/spec/media/index.ts +120 -37
  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 +5843 -2001
  353. package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
  354. package/test/unit/spec/meeting/muteState.js +402 -213
  355. package/test/unit/spec/meeting/request.js +459 -52
  356. package/test/unit/spec/meeting/utils.js +679 -64
  357. package/test/unit/spec/meeting-info/index.js +300 -0
  358. package/test/unit/spec/meeting-info/meetinginfov2.js +526 -5
  359. package/test/unit/spec/meeting-info/utilv2.js +21 -0
  360. package/test/unit/spec/meetings/collection.js +26 -0
  361. package/test/unit/spec/meetings/index.js +1301 -254
  362. package/test/unit/spec/meetings/utils.js +202 -2
  363. package/test/unit/spec/member/index.js +61 -6
  364. package/test/unit/spec/member/util.js +510 -34
  365. package/test/unit/spec/members/index.js +432 -1
  366. package/test/unit/spec/members/request.js +206 -27
  367. package/test/unit/spec/members/utils.js +210 -0
  368. package/test/unit/spec/metrics/index.js +1 -50
  369. package/test/unit/spec/multistream/mediaRequestManager.ts +776 -162
  370. package/test/unit/spec/multistream/receiveSlot.ts +28 -20
  371. package/test/unit/spec/multistream/receiveSlotManager.ts +32 -30
  372. package/test/unit/spec/multistream/remoteMedia.ts +30 -0
  373. package/test/unit/spec/multistream/remoteMediaGroup.ts +266 -0
  374. package/test/unit/spec/multistream/remoteMediaManager.ts +326 -0
  375. package/test/unit/spec/multistream/sendSlotManager.ts +242 -0
  376. package/test/unit/spec/reachability/clusterReachability.ts +279 -0
  377. package/test/unit/spec/reachability/index.ts +476 -14
  378. package/test/unit/spec/reachability/request.js +3 -1
  379. package/test/unit/spec/reachability/util.ts +40 -0
  380. package/test/unit/spec/reconnection-manager/index.js +118 -11
  381. package/test/unit/spec/recording-controller/index.js +294 -218
  382. package/test/unit/spec/recording-controller/util.js +223 -96
  383. package/test/unit/spec/roap/index.ts +174 -63
  384. package/test/unit/spec/roap/request.ts +100 -62
  385. package/test/unit/spec/roap/turnDiscovery.ts +76 -34
  386. package/test/unit/spec/rtcMetrics/index.ts +93 -0
  387. package/test/unit/spec/stats-analyzer/index.js +231 -7
  388. package/test/unit/spec/webinar/collection.ts +13 -0
  389. package/test/unit/spec/webinar/index.ts +60 -0
  390. package/test/utils/integrationTestUtils.js +46 -0
  391. package/test/utils/testUtils.js +0 -52
  392. package/dist/meeting/effectsState.js +0 -262
  393. package/dist/meeting/effectsState.js.map +0 -1
  394. package/dist/metrics/config.js +0 -289
  395. package/dist/metrics/config.js.map +0 -1
  396. package/dist/types/meeting/effectsState.d.ts +0 -42
  397. package/dist/types/metrics/config.d.ts +0 -169
  398. package/src/index.js +0 -16
  399. package/src/meeting/effectsState.ts +0 -211
  400. package/src/metrics/config.ts +0 -485
  401. package/test/unit/spec/meeting/effectsState.js +0 -285
@@ -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,33 @@ 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
+ if (locale) {
171
+ body.locale = locale;
151
172
  }
152
173
 
174
+ // add deviceCapabilities prop
175
+ if (deviceCapabilities.length) {
176
+ body.deviceCapabilities = deviceCapabilities;
177
+ }
153
178
  // @ts-ignore
154
- if (this.webex.meetings.clientRegion) {
179
+ if (this.webex.meetings.geoHintInfo) {
180
+ // @ts-ignore
181
+ body.device.countryCode = this.webex.meetings.geoHintInfo.countryCode;
155
182
  // @ts-ignore
156
- body.device.countryCode = this.webex.meetings.clientRegion.countryCode;
183
+ body.device.regionCode = this.webex.meetings.geoHintInfo.regionCode;
184
+ body.device.localIp =
157
185
  // @ts-ignore
158
- body.device.regionCode = this.webex.meetings.clientRegion.regionCode;
186
+ _internalPluginMetrics.CallDiagnosticUtils.anonymizeIPAddress(this.webex.meetings.geoHintInfo.clientAddress) || undefined;
159
187
  }
160
188
  if (moderator !== undefined) {
161
189
  body.moderator = moderator;
@@ -167,34 +195,44 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
167
195
  body.pin = pin;
168
196
  }
169
197
  if (!locusUrl) {
170
- _context2.next = 16;
198
+ _context2.next = 19;
171
199
  break;
172
200
  }
173
201
  url = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT);
174
- _context2.next = 28;
202
+ _context2.next = 36;
175
203
  break;
176
- case 16:
204
+ case 19:
177
205
  if (!(inviteeAddress || meetingNumber)) {
178
- _context2.next = 28;
206
+ _context2.next = 36;
207
+ break;
208
+ }
209
+ _context2.prev = 20;
210
+ if (!locusClusterUrl) {
211
+ _context2.next = 25;
179
212
  break;
180
213
  }
181
- _context2.prev = 17;
182
- _context2.next = 20;
214
+ clusterUrl = "https://".concat(locusClusterUrl, "/locus/api/v1");
215
+ _context2.next = 28;
216
+ break;
217
+ case 25:
218
+ _context2.next = 27;
183
219
  return this.webex.internal.services.waitForCatalog('postauth');
184
- case 20:
220
+ case 27:
185
221
  // @ts-ignore
186
- url = "".concat(this.webex.internal.services.get('locus'), "/").concat(_constants.LOCI, "/").concat(_constants.CALL);
222
+ clusterUrl = this.webex.internal.services.get('locus');
223
+ case 28:
224
+ url = "".concat(clusterUrl, "/").concat(_constants.LOCI, "/").concat(_constants.CALL);
187
225
  body.invitee = {
188
226
  address: inviteeAddress || "wbxmn:".concat(meetingNumber)
189
227
  };
190
- _context2.next = 28;
228
+ _context2.next = 36;
191
229
  break;
192
- case 24:
193
- _context2.prev = 24;
194
- _context2.t0 = _context2["catch"](17);
230
+ case 32:
231
+ _context2.prev = 32;
232
+ _context2.t0 = _context2["catch"](20);
195
233
  _loggerProxy.default.logger.error("Meeting:request#joinMeeting Error Joining ".concat(inviteeAddress || meetingNumber, " --> ").concat(_context2.t0));
196
234
  throw _context2.t0;
197
- case 28:
235
+ case 36:
198
236
  // TODO: -- this will be resolved in SDK request
199
237
  url = url.concat("?".concat(_constants.ALTERNATE_REDIRECT_TRUE));
200
238
  if (resourceId === inviteeAddress) {
@@ -212,11 +250,11 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
212
250
  uri: url,
213
251
  body: body
214
252
  }));
215
- case 32:
253
+ case 40:
216
254
  case "end":
217
255
  return _context2.stop();
218
256
  }
219
- }, _callee2, this, [[17, 24]]);
257
+ }, _callee2, this, [[20, 32]]);
220
258
  }));
221
259
  function joinMeeting(_x) {
222
260
  return _joinMeeting.apply(this, arguments);
@@ -281,7 +319,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
281
319
  };
282
320
 
283
321
  // @ts-ignore
284
- return this.request({
322
+ return this.locusDeltaRequest({
285
323
  method: _constants.HTTP_VERBS.POST,
286
324
  uri: uri,
287
325
  body: body
@@ -324,7 +362,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
324
362
  };
325
363
 
326
364
  // @ts-ignore
327
- return this.request({
365
+ return this.locusDeltaRequest({
328
366
  method: _constants.HTTP_VERBS.POST,
329
367
  uri: uri,
330
368
  body: body
@@ -335,60 +373,23 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
335
373
  }
336
374
 
337
375
  /**
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
376
+ * Sends a requests to get the latest locus DTO, it might be a full Locus or a delta, depending on the url provided
370
377
  * @param {Object} options
371
- * @param {boolean} options.desync flag to get partial or whole locus object
372
378
  * @param {String} options.locusUrl sync url to get ht elatest locus delta
373
379
  * @returns {Promise}
374
380
  */
375
381
  }, {
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
-
382
+ key: "getLocusDTO",
383
+ value: function getLocusDTO(options) {
384
+ var url = options.url;
385
+ if (url) {
385
386
  // @ts-ignore
386
387
  return this.request({
387
388
  method: _constants.HTTP_VERBS.GET,
388
- uri: locusUrl
389
+ uri: url
389
390
  }).catch(function (err) {
390
- _loggerProxy.default.logger.error("Meeting:request#getFullLocus --> Error getting full locus, error ".concat(err));
391
- return err;
391
+ _loggerProxy.default.logger.error("Meeting:request#getLocusDTO --> Error getting latest locus, error ".concat(err));
392
+ throw err;
392
393
  });
393
394
  }
394
395
  return _promise.default.reject();
@@ -422,7 +423,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
422
423
  };
423
424
 
424
425
  // @ts-ignore
425
- return this.request({
426
+ return this.locusDeltaRequest({
426
427
  method: _constants.HTTP_VERBS.PUT,
427
428
  uri: uri,
428
429
  body: body
@@ -433,24 +434,23 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
433
434
  }
434
435
 
435
436
  /**
436
- * Make a network request to leave a meeting
437
+ * Prepares request options to to leave a meeting
437
438
  * @param {Object} options
438
439
  * @param {Url} options.locusUrl
439
440
  * @param {String} options.selfId
440
441
  * @param {Url} options.deviceUrl
441
442
  * @param {String} options.resourceId,
442
443
  * @param {String} options.correlationId
443
- * @returns {Promise}
444
+ * @returns {Object} request options
444
445
  */
445
446
  }, {
446
- key: "leaveMeeting",
447
- value: function leaveMeeting(_ref6) {
447
+ key: "prepareLeaveMeetingRequestOptions",
448
+ value: function prepareLeaveMeetingRequestOptions(_ref6) {
448
449
  var locusUrl = _ref6.locusUrl,
449
450
  selfId = _ref6.selfId,
450
451
  url = _ref6.deviceUrl,
451
452
  resourceId = _ref6.resourceId,
452
453
  correlationId = _ref6.correlationId;
453
- _loggerProxy.default.logger.info('Meeting:request#leaveMeeting --> Leaving a meeting', correlationId);
454
454
  var uri = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT, "/").concat(selfId, "/").concat(_constants.LEAVE);
455
455
  var body = {
456
456
  device: {
@@ -461,15 +461,55 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
461
461
  usingResource: resourceId || null,
462
462
  correlationId: correlationId
463
463
  };
464
+ return {
465
+ method: _constants.HTTP_VERBS.PUT,
466
+ uri: uri,
467
+ body: body
468
+ };
469
+ }
464
470
 
465
- // @ts-ignore
466
- return this.request({
471
+ /**
472
+ * Make a network request to leave a meeting
473
+ * @param {Object} options
474
+ * @returns {Promise}
475
+ */
476
+ }, {
477
+ key: "leaveMeeting",
478
+ value: function leaveMeeting(_ref7) {
479
+ var locusUrl = _ref7.locusUrl,
480
+ selfId = _ref7.selfId,
481
+ url = _ref7.deviceUrl,
482
+ resourceId = _ref7.resourceId,
483
+ correlationId = _ref7.correlationId;
484
+ _loggerProxy.default.logger.info('Meeting:request#leaveMeeting --> Leaving a meeting', correlationId);
485
+ var uri = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT, "/").concat(selfId, "/").concat(_constants.LEAVE);
486
+ var body = {
487
+ device: {
488
+ // @ts-ignore
489
+ deviceType: this.config.meetings.deviceType,
490
+ url: url
491
+ },
492
+ usingResource: resourceId || null,
493
+ correlationId: correlationId
494
+ };
495
+ return this.locusDeltaRequest({
467
496
  method: _constants.HTTP_VERBS.PUT,
468
497
  uri: uri,
469
498
  body: body
470
499
  });
471
500
  }
472
501
 
502
+ /**
503
+ * Builds request options to leave a meeting
504
+ * @param {Object} options
505
+ * @returns {Object} request options
506
+ */
507
+ }, {
508
+ key: "buildLeaveMeetingRequestOptions",
509
+ value: function buildLeaveMeetingRequestOptions(options) {
510
+ return this.buildLocusDeltaRequestOptions(this.prepareLeaveMeetingRequestOptions(options));
511
+ }
512
+
473
513
  /**
474
514
  * Make a network request to acknowledge a meeting
475
515
  * @param {Object} options
@@ -490,14 +530,19 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
490
530
  },
491
531
  correlationId: options.correlationId
492
532
  };
493
-
494
- // @ts-ignore
495
- return this.request({
533
+ return this.locusDeltaRequest({
496
534
  method: _constants.HTTP_VERBS.PUT,
497
535
  uri: uri,
498
536
  body: body
499
537
  });
500
538
  }
539
+
540
+ /**
541
+ * Makes a network request to lock the meeting
542
+ * @param {Object} options
543
+ * @param {Boolean} options.lock Whether it is locked or not
544
+ * @returns {Promise}
545
+ */
501
546
  }, {
502
547
  key: "lockMeeting",
503
548
  value: function lockMeeting(options) {
@@ -507,9 +552,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
507
552
  locked: options.lock
508
553
  }
509
554
  };
510
-
511
- // @ts-ignore
512
- return this.request({
555
+ return this.locusDeltaRequest({
513
556
  method: _constants.HTTP_VERBS.PATCH,
514
557
  uri: uri,
515
558
  body: body
@@ -537,48 +580,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
537
580
  }, options.reason && {
538
581
  reason: options.reason
539
582
  });
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({
583
+ return this.locusDeltaRequest({
582
584
  method: _constants.HTTP_VERBS.PUT,
583
585
  uri: uri,
584
586
  body: body
@@ -626,6 +628,9 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
626
628
  if (options !== null && options !== void 0 && options.resourceToken) {
627
629
  body.resourceToken = options === null || options === void 0 ? void 0 : options.resourceToken;
628
630
  }
631
+ if (options !== null && options !== void 0 && options.annotationInfo) {
632
+ body.annotation = options === null || options === void 0 ? void 0 : options.annotationInfo;
633
+ }
629
634
 
630
635
  // @ts-ignore
631
636
  return this.request({
@@ -645,12 +650,12 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
645
650
  */
646
651
  }, {
647
652
  key: "sendDTMF",
648
- value: function sendDTMF(_ref7) {
649
- var locusUrl = _ref7.locusUrl,
650
- deviceUrl = _ref7.deviceUrl,
651
- tones = _ref7.tones;
653
+ value: function sendDTMF(_ref8) {
654
+ var locusUrl = _ref8.locusUrl,
655
+ deviceUrl = _ref8.deviceUrl,
656
+ tones = _ref8.tones;
652
657
  // @ts-ignore
653
- return this.request({
658
+ return this.locusDeltaRequest({
654
659
  method: _constants.HTTP_VERBS.POST,
655
660
  uri: "".concat(locusUrl, "/").concat(_constants.SEND_DTMF_ENDPOINT),
656
661
  body: {
@@ -679,12 +684,12 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
679
684
  */
680
685
  }, {
681
686
  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;
687
+ value: function changeVideoLayout(_ref9) {
688
+ var locusUrl = _ref9.locusUrl,
689
+ deviceUrl = _ref9.deviceUrl,
690
+ layoutType = _ref9.layoutType,
691
+ main = _ref9.main,
692
+ content = _ref9.content;
688
693
  // send main/content renderInfo only if both width and height are specified
689
694
  if (main && (!main.width || !main.height)) {
690
695
  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 +713,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
708
713
  } : undefined;
709
714
 
710
715
  // @ts-ignore
711
- return this.request({
716
+ return this.locusDeltaRequest({
712
717
  method: _constants.HTTP_VERBS.PUT,
713
718
  uri: "".concat(locusUrl, "/").concat(_constants.CONTROLS),
714
719
  body: {
@@ -729,12 +734,12 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
729
734
  */
730
735
  }, {
731
736
  key: "endMeetingForAll",
732
- value: function endMeetingForAll(_ref9) {
733
- var locusUrl = _ref9.locusUrl;
737
+ value: function endMeetingForAll(_ref10) {
738
+ var locusUrl = _ref10.locusUrl;
734
739
  var uri = "".concat(locusUrl, "/").concat(_constants.END);
735
740
 
736
741
  // @ts-ignore
737
- return this.request({
742
+ return this.locusDeltaRequest({
738
743
  method: _constants.HTTP_VERBS.POST,
739
744
  uri: uri
740
745
  });
@@ -748,8 +753,8 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
748
753
  */
749
754
  }, {
750
755
  key: "keepAlive",
751
- value: function keepAlive(_ref10) {
752
- var keepAliveUrl = _ref10.keepAliveUrl;
756
+ value: function keepAlive(_ref11) {
757
+ var keepAliveUrl = _ref11.keepAliveUrl;
753
758
  // @ts-ignore
754
759
  return this.request({
755
760
  method: _constants.HTTP_VERBS.GET,
@@ -767,10 +772,10 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
767
772
  */
768
773
  }, {
769
774
  key: "sendReaction",
770
- value: function sendReaction(_ref11) {
771
- var reactionChannelUrl = _ref11.reactionChannelUrl,
772
- reaction = _ref11.reaction,
773
- participantId = _ref11.participantId;
775
+ value: function sendReaction(_ref12) {
776
+ var reactionChannelUrl = _ref12.reactionChannelUrl,
777
+ reaction = _ref12.reaction,
778
+ participantId = _ref12.participantId;
774
779
  var uri = reactionChannelUrl;
775
780
 
776
781
  // @ts-ignore
@@ -794,14 +799,14 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
794
799
  */
795
800
  }, {
796
801
  key: "toggleReactions",
797
- value: function toggleReactions(_ref12) {
798
- var enable = _ref12.enable,
799
- locusUrl = _ref12.locusUrl,
800
- requestingParticipantId = _ref12.requestingParticipantId;
802
+ value: function toggleReactions(_ref13) {
803
+ var enable = _ref13.enable,
804
+ locusUrl = _ref13.locusUrl,
805
+ requestingParticipantId = _ref13.requestingParticipantId;
801
806
  var uri = "".concat(locusUrl, "/").concat(_constants.CONTROLS);
802
807
 
803
808
  // @ts-ignore
804
- return this.request({
809
+ return this.locusDeltaRequest({
805
810
  method: _constants.HTTP_VERBS.PUT,
806
811
  uri: uri,
807
812
  body: {
@@ -812,6 +817,15 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
812
817
  }
813
818
  });
814
819
  }
820
+ }, {
821
+ key: "getLocusStatusByUrl",
822
+ value: function getLocusStatusByUrl(locusUrl) {
823
+ // @ts-ignore
824
+ return this.request({
825
+ method: _constants.HTTP_VERBS.GET,
826
+ uri: locusUrl
827
+ });
828
+ }
815
829
  }]);
816
830
  return MeetingRequest;
817
831
  }(_webexCore.StatelessWebexPlugin);