@webex/plugin-meetings 3.0.0-beta.21 → 3.0.0-beta.211

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 (422) hide show
  1. package/README.md +45 -7
  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 +114 -14
  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 +841 -19
  15. package/dist/breakouts/index.js.map +1 -1
  16. package/dist/breakouts/request.js +78 -0
  17. package/dist/breakouts/request.js.map +1 -0
  18. package/dist/breakouts/utils.js +67 -0
  19. package/dist/breakouts/utils.js.map +1 -0
  20. package/dist/common/errors/webex-errors.js +3 -2
  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/queue.js +24 -9
  25. package/dist/common/queue.js.map +1 -1
  26. package/dist/config.js +3 -8
  27. package/dist/config.js.map +1 -1
  28. package/dist/constants.js +179 -30
  29. package/dist/constants.js.map +1 -1
  30. package/dist/controls-options-manager/constants.js +14 -0
  31. package/dist/controls-options-manager/constants.js.map +1 -0
  32. package/dist/controls-options-manager/enums.js +27 -0
  33. package/dist/controls-options-manager/enums.js.map +1 -0
  34. package/dist/controls-options-manager/index.js +297 -0
  35. package/dist/controls-options-manager/index.js.map +1 -0
  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 +319 -0
  39. package/dist/controls-options-manager/util.js.map +1 -0
  40. package/dist/index.js +106 -1
  41. package/dist/index.js.map +1 -1
  42. package/dist/interpretation/collection.js +23 -0
  43. package/dist/interpretation/collection.js.map +1 -0
  44. package/dist/interpretation/index.js +366 -0
  45. package/dist/interpretation/index.js.map +1 -0
  46. package/dist/interpretation/siLanguage.js +25 -0
  47. package/dist/interpretation/siLanguage.js.map +1 -0
  48. package/dist/locus-info/controlsUtils.js +91 -2
  49. package/dist/locus-info/controlsUtils.js.map +1 -1
  50. package/dist/locus-info/index.js +359 -64
  51. package/dist/locus-info/index.js.map +1 -1
  52. package/dist/locus-info/infoUtils.js +7 -1
  53. package/dist/locus-info/infoUtils.js.map +1 -1
  54. package/dist/locus-info/mediaSharesUtils.js +43 -1
  55. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  56. package/dist/locus-info/parser.js +219 -63
  57. package/dist/locus-info/parser.js.map +1 -1
  58. package/dist/locus-info/selfUtils.js +89 -14
  59. package/dist/locus-info/selfUtils.js.map +1 -1
  60. package/dist/media/index.js +48 -135
  61. package/dist/media/index.js.map +1 -1
  62. package/dist/media/properties.js +29 -90
  63. package/dist/media/properties.js.map +1 -1
  64. package/dist/mediaQualityMetrics/config.js +505 -493
  65. package/dist/mediaQualityMetrics/config.js.map +1 -1
  66. package/dist/meeting/in-meeting-actions.js +90 -2
  67. package/dist/meeting/in-meeting-actions.js.map +1 -1
  68. package/dist/meeting/index.js +2770 -2547
  69. package/dist/meeting/index.js.map +1 -1
  70. package/dist/meeting/locusMediaRequest.js +291 -0
  71. package/dist/meeting/locusMediaRequest.js.map +1 -0
  72. package/dist/meeting/muteState.js +229 -124
  73. package/dist/meeting/muteState.js.map +1 -1
  74. package/dist/meeting/request.js +199 -193
  75. package/dist/meeting/request.js.map +1 -1
  76. package/dist/meeting/util.js +532 -414
  77. package/dist/meeting/util.js.map +1 -1
  78. package/dist/meeting-info/index.js +48 -7
  79. package/dist/meeting-info/index.js.map +1 -1
  80. package/dist/meeting-info/meeting-info-v2.js +171 -51
  81. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  82. package/dist/meeting-info/utilv2.js +20 -5
  83. package/dist/meeting-info/utilv2.js.map +1 -1
  84. package/dist/meetings/collection.js +22 -0
  85. package/dist/meetings/collection.js.map +1 -1
  86. package/dist/meetings/index.js +357 -66
  87. package/dist/meetings/index.js.map +1 -1
  88. package/dist/meetings/meetings.types.js +7 -0
  89. package/dist/meetings/meetings.types.js.map +1 -0
  90. package/dist/meetings/request.js +2 -0
  91. package/dist/meetings/request.js.map +1 -1
  92. package/dist/meetings/util.js +88 -1
  93. package/dist/meetings/util.js.map +1 -1
  94. package/dist/member/index.js +49 -0
  95. package/dist/member/index.js.map +1 -1
  96. package/dist/member/types.js +25 -0
  97. package/dist/member/types.js.map +1 -0
  98. package/dist/member/util.js +121 -25
  99. package/dist/member/util.js.map +1 -1
  100. package/dist/members/collection.js +10 -0
  101. package/dist/members/collection.js.map +1 -1
  102. package/dist/members/index.js +86 -5
  103. package/dist/members/index.js.map +1 -1
  104. package/dist/members/request.js +106 -38
  105. package/dist/members/request.js.map +1 -1
  106. package/dist/members/types.js +15 -0
  107. package/dist/members/types.js.map +1 -0
  108. package/dist/members/util.js +316 -233
  109. package/dist/members/util.js.map +1 -1
  110. package/dist/metrics/constants.js +3 -5
  111. package/dist/metrics/constants.js.map +1 -1
  112. package/dist/metrics/index.js +1 -468
  113. package/dist/metrics/index.js.map +1 -1
  114. package/dist/multistream/mediaRequestManager.js +238 -49
  115. package/dist/multistream/mediaRequestManager.js.map +1 -1
  116. package/dist/multistream/receiveSlot.js +49 -16
  117. package/dist/multistream/receiveSlot.js.map +1 -1
  118. package/dist/multistream/receiveSlotManager.js +52 -34
  119. package/dist/multistream/receiveSlotManager.js.map +1 -1
  120. package/dist/multistream/remoteMedia.js +44 -18
  121. package/dist/multistream/remoteMedia.js.map +1 -1
  122. package/dist/multistream/remoteMediaGroup.js +60 -3
  123. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  124. package/dist/multistream/remoteMediaManager.js +173 -59
  125. package/dist/multistream/remoteMediaManager.js.map +1 -1
  126. package/dist/networkQualityMonitor/index.js +4 -2
  127. package/dist/networkQualityMonitor/index.js.map +1 -1
  128. package/dist/reachability/index.js +72 -27
  129. package/dist/reachability/index.js.map +1 -1
  130. package/dist/reachability/request.js +12 -5
  131. package/dist/reachability/request.js.map +1 -1
  132. package/dist/reconnection-manager/index.js +196 -155
  133. package/dist/reconnection-manager/index.js.map +1 -1
  134. package/dist/recording-controller/index.js +21 -2
  135. package/dist/recording-controller/index.js.map +1 -1
  136. package/dist/recording-controller/util.js +9 -8
  137. package/dist/recording-controller/util.js.map +1 -1
  138. package/dist/roap/index.js +21 -29
  139. package/dist/roap/index.js.map +1 -1
  140. package/dist/roap/request.js +110 -89
  141. package/dist/roap/request.js.map +1 -1
  142. package/dist/roap/turnDiscovery.js +93 -36
  143. package/dist/roap/turnDiscovery.js.map +1 -1
  144. package/dist/rtcMetrics/constants.js +12 -0
  145. package/dist/rtcMetrics/constants.js.map +1 -0
  146. package/dist/rtcMetrics/index.js +117 -0
  147. package/dist/rtcMetrics/index.js.map +1 -0
  148. package/dist/statsAnalyzer/global.js +1 -93
  149. package/dist/statsAnalyzer/global.js.map +1 -1
  150. package/dist/statsAnalyzer/index.js +326 -311
  151. package/dist/statsAnalyzer/index.js.map +1 -1
  152. package/dist/statsAnalyzer/mqaUtil.js +90 -53
  153. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  154. package/dist/types/annotation/annotation.types.d.ts +42 -0
  155. package/dist/types/annotation/constants.d.ts +31 -0
  156. package/dist/types/annotation/index.d.ts +117 -0
  157. package/dist/types/breakouts/breakout.d.ts +8 -0
  158. package/dist/types/breakouts/collection.d.ts +5 -0
  159. package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
  160. package/dist/types/breakouts/events.d.ts +8 -0
  161. package/dist/types/breakouts/index.d.ts +5 -0
  162. package/dist/types/breakouts/request.d.ts +22 -0
  163. package/dist/types/breakouts/utils.d.ts +15 -0
  164. package/dist/types/common/browser-detection.d.ts +9 -0
  165. package/dist/types/common/collection.d.ts +48 -0
  166. package/dist/types/common/config.d.ts +2 -0
  167. package/dist/types/common/errors/captcha-error.d.ts +15 -0
  168. package/dist/types/common/errors/intent-to-join.d.ts +16 -0
  169. package/dist/types/common/errors/join-meeting.d.ts +17 -0
  170. package/dist/types/common/errors/media.d.ts +15 -0
  171. package/dist/types/common/errors/parameter.d.ts +15 -0
  172. package/dist/types/common/errors/password-error.d.ts +15 -0
  173. package/dist/types/common/errors/permission.d.ts +14 -0
  174. package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
  175. package/dist/types/common/errors/reconnection.d.ts +15 -0
  176. package/dist/types/common/errors/stats.d.ts +15 -0
  177. package/dist/types/common/errors/webex-errors.d.ts +69 -0
  178. package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
  179. package/dist/types/common/events/events-scope.d.ts +17 -0
  180. package/dist/types/common/events/events.d.ts +12 -0
  181. package/dist/types/common/events/trigger-proxy.d.ts +2 -0
  182. package/dist/types/common/events/util.d.ts +2 -0
  183. package/dist/types/common/logs/logger-config.d.ts +2 -0
  184. package/dist/types/common/logs/logger-proxy.d.ts +2 -0
  185. package/dist/types/common/logs/request.d.ts +34 -0
  186. package/dist/types/common/queue.d.ts +34 -0
  187. package/dist/types/config.d.ts +72 -0
  188. package/dist/types/constants.d.ts +1020 -0
  189. package/dist/types/controls-options-manager/constants.d.ts +4 -0
  190. package/dist/types/controls-options-manager/enums.d.ts +15 -0
  191. package/dist/types/controls-options-manager/index.d.ts +136 -0
  192. package/dist/types/controls-options-manager/types.d.ts +43 -0
  193. package/dist/types/controls-options-manager/util.d.ts +1 -0
  194. package/dist/types/index.d.ts +7 -0
  195. package/dist/types/interpretation/collection.d.ts +5 -0
  196. package/dist/types/interpretation/index.d.ts +5 -0
  197. package/dist/types/interpretation/siLanguage.d.ts +5 -0
  198. package/dist/types/locus-info/controlsUtils.d.ts +2 -0
  199. package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
  200. package/dist/types/locus-info/fullState.d.ts +2 -0
  201. package/dist/types/locus-info/hostUtils.d.ts +2 -0
  202. package/dist/types/locus-info/index.d.ts +322 -0
  203. package/dist/types/locus-info/infoUtils.d.ts +2 -0
  204. package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
  205. package/dist/types/locus-info/parser.d.ts +271 -0
  206. package/dist/types/locus-info/selfUtils.d.ts +2 -0
  207. package/dist/types/media/index.d.ts +34 -0
  208. package/dist/types/media/properties.d.ts +93 -0
  209. package/dist/types/media/util.d.ts +2 -0
  210. package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
  211. package/dist/types/meeting/in-meeting-actions.d.ts +163 -0
  212. package/dist/types/meeting/index.d.ts +1482 -0
  213. package/dist/types/meeting/locusMediaRequest.d.ts +72 -0
  214. package/dist/types/meeting/muteState.d.ts +184 -0
  215. package/dist/types/meeting/request.d.ts +257 -0
  216. package/dist/types/meeting/request.type.d.ts +11 -0
  217. package/dist/types/meeting/state.d.ts +9 -0
  218. package/dist/types/meeting/util.d.ts +79 -0
  219. package/dist/types/meeting-info/collection.d.ts +20 -0
  220. package/dist/types/meeting-info/index.d.ts +62 -0
  221. package/dist/types/meeting-info/meeting-info-v2.d.ts +122 -0
  222. package/dist/types/meeting-info/request.d.ts +22 -0
  223. package/dist/types/meeting-info/util.d.ts +2 -0
  224. package/dist/types/meeting-info/utilv2.d.ts +2 -0
  225. package/dist/types/meetings/collection.d.ts +31 -0
  226. package/dist/types/meetings/index.d.ts +367 -0
  227. package/dist/types/meetings/meetings.types.d.ts +4 -0
  228. package/dist/types/meetings/request.d.ts +27 -0
  229. package/dist/types/meetings/util.d.ts +18 -0
  230. package/dist/types/member/index.d.ts +159 -0
  231. package/dist/types/member/types.d.ts +32 -0
  232. package/dist/types/member/util.d.ts +2 -0
  233. package/dist/types/members/collection.d.ts +29 -0
  234. package/dist/types/members/index.d.ts +353 -0
  235. package/dist/types/members/request.d.ts +114 -0
  236. package/dist/types/members/types.d.ts +24 -0
  237. package/dist/types/members/util.d.ts +210 -0
  238. package/dist/types/metrics/constants.d.ts +55 -0
  239. package/dist/types/metrics/index.d.ts +45 -0
  240. package/dist/types/multistream/mediaRequestManager.d.ts +118 -0
  241. package/dist/types/multistream/receiveSlot.d.ts +68 -0
  242. package/dist/types/multistream/receiveSlotManager.d.ts +56 -0
  243. package/dist/types/multistream/remoteMedia.d.ts +72 -0
  244. package/dist/types/multistream/remoteMediaGroup.d.ts +47 -0
  245. package/dist/types/multistream/remoteMediaManager.d.ts +277 -0
  246. package/dist/types/networkQualityMonitor/index.d.ts +70 -0
  247. package/dist/types/personal-meeting-room/index.d.ts +47 -0
  248. package/dist/types/personal-meeting-room/request.d.ts +14 -0
  249. package/dist/types/personal-meeting-room/util.d.ts +2 -0
  250. package/dist/types/reachability/index.d.ts +152 -0
  251. package/dist/types/reachability/request.d.ts +37 -0
  252. package/dist/types/reactions/constants.d.ts +3 -0
  253. package/dist/types/reactions/reactions.d.ts +4 -0
  254. package/dist/types/reactions/reactions.type.d.ts +52 -0
  255. package/dist/types/reconnection-manager/index.d.ts +126 -0
  256. package/dist/types/recording-controller/enums.d.ts +7 -0
  257. package/dist/types/recording-controller/index.d.ts +207 -0
  258. package/dist/types/recording-controller/util.d.ts +14 -0
  259. package/dist/types/roap/index.d.ts +77 -0
  260. package/dist/types/roap/request.d.ts +36 -0
  261. package/dist/types/roap/turnDiscovery.d.ts +91 -0
  262. package/dist/types/rtcMetrics/constants.d.ts +4 -0
  263. package/dist/types/rtcMetrics/index.d.ts +46 -0
  264. package/dist/types/statsAnalyzer/global.d.ts +36 -0
  265. package/dist/types/statsAnalyzer/index.d.ts +200 -0
  266. package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
  267. package/dist/types/transcription/index.d.ts +64 -0
  268. package/package.json +23 -20
  269. package/src/annotation/annotation.types.ts +50 -0
  270. package/src/annotation/constants.ts +36 -0
  271. package/src/annotation/index.ts +328 -0
  272. package/src/breakouts/README.md +44 -14
  273. package/src/breakouts/breakout.ts +87 -9
  274. package/src/breakouts/edit-lock-error.ts +25 -0
  275. package/src/breakouts/events.ts +56 -0
  276. package/src/breakouts/index.ts +710 -10
  277. package/src/breakouts/request.ts +55 -0
  278. package/src/breakouts/utils.ts +57 -0
  279. package/src/common/errors/webex-errors.ts +6 -2
  280. package/src/common/logs/logger-proxy.ts +1 -1
  281. package/src/common/queue.ts +22 -8
  282. package/src/config.ts +2 -7
  283. package/src/constants.ts +165 -21
  284. package/src/controls-options-manager/constants.ts +5 -0
  285. package/src/controls-options-manager/enums.ts +18 -0
  286. package/src/controls-options-manager/index.ts +278 -0
  287. package/src/controls-options-manager/types.ts +59 -0
  288. package/src/controls-options-manager/util.ts +300 -0
  289. package/src/index.ts +39 -0
  290. package/src/interpretation/README.md +60 -0
  291. package/src/interpretation/collection.ts +19 -0
  292. package/src/interpretation/index.ts +332 -0
  293. package/src/interpretation/siLanguage.ts +18 -0
  294. package/src/locus-info/controlsUtils.ts +108 -0
  295. package/src/locus-info/index.ts +383 -61
  296. package/src/locus-info/infoUtils.ts +10 -2
  297. package/src/locus-info/mediaSharesUtils.ts +48 -0
  298. package/src/locus-info/parser.ts +224 -39
  299. package/src/locus-info/selfUtils.ts +81 -5
  300. package/src/media/index.ts +87 -140
  301. package/src/media/properties.ts +49 -90
  302. package/src/mediaQualityMetrics/config.ts +379 -377
  303. package/src/meeting/in-meeting-actions.ts +179 -3
  304. package/src/meeting/index.ts +2099 -2083
  305. package/src/meeting/locusMediaRequest.ts +311 -0
  306. package/src/meeting/muteState.ts +228 -132
  307. package/src/meeting/request.ts +105 -115
  308. package/src/meeting/util.ts +511 -397
  309. package/src/meeting-info/index.ts +54 -8
  310. package/src/meeting-info/meeting-info-v2.ts +148 -14
  311. package/src/meeting-info/utilv2.ts +13 -3
  312. package/src/meetings/collection.ts +20 -0
  313. package/src/meetings/index.ts +392 -84
  314. package/src/meetings/meetings.types.ts +12 -0
  315. package/src/meetings/request.ts +2 -0
  316. package/src/meetings/util.ts +103 -4
  317. package/src/member/index.ts +49 -0
  318. package/src/member/types.ts +38 -0
  319. package/src/member/util.ts +127 -25
  320. package/src/members/collection.ts +8 -0
  321. package/src/members/index.ts +107 -6
  322. package/src/members/request.ts +97 -17
  323. package/src/members/types.ts +28 -0
  324. package/src/members/util.ts +319 -240
  325. package/src/metrics/constants.ts +2 -4
  326. package/src/metrics/index.ts +1 -490
  327. package/src/multistream/mediaRequestManager.ts +289 -79
  328. package/src/multistream/receiveSlot.ts +55 -18
  329. package/src/multistream/receiveSlotManager.ts +46 -24
  330. package/src/multistream/remoteMedia.ts +27 -2
  331. package/src/multistream/remoteMediaGroup.ts +59 -0
  332. package/src/multistream/remoteMediaManager.ts +113 -32
  333. package/src/networkQualityMonitor/index.ts +6 -6
  334. package/src/reachability/index.ts +62 -15
  335. package/src/reachability/request.ts +10 -5
  336. package/src/reconnection-manager/index.ts +68 -43
  337. package/src/recording-controller/index.ts +20 -3
  338. package/src/recording-controller/util.ts +26 -9
  339. package/src/roap/index.ts +21 -30
  340. package/src/roap/request.ts +101 -95
  341. package/src/roap/turnDiscovery.ts +47 -25
  342. package/src/rtcMetrics/constants.ts +3 -0
  343. package/src/rtcMetrics/index.ts +100 -0
  344. package/src/statsAnalyzer/global.ts +1 -94
  345. package/src/statsAnalyzer/index.ts +376 -386
  346. package/src/statsAnalyzer/mqaUtil.ts +100 -99
  347. package/test/integration/spec/converged-space-meetings.js +233 -0
  348. package/test/integration/spec/journey.js +336 -259
  349. package/test/integration/spec/space-meeting.js +77 -4
  350. package/test/unit/spec/annotation/index.ts +418 -0
  351. package/test/unit/spec/breakouts/breakout.ts +142 -24
  352. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  353. package/test/unit/spec/breakouts/events.ts +89 -0
  354. package/test/unit/spec/breakouts/index.ts +1545 -48
  355. package/test/unit/spec/breakouts/request.ts +104 -0
  356. package/test/unit/spec/breakouts/utils.js +72 -0
  357. package/test/unit/spec/common/queue.js +31 -2
  358. package/test/unit/spec/controls-options-manager/index.js +287 -0
  359. package/test/unit/spec/controls-options-manager/util.js +582 -0
  360. package/test/unit/spec/fixture/locus.js +1 -0
  361. package/test/unit/spec/interpretation/collection.ts +15 -0
  362. package/test/unit/spec/interpretation/index.ts +589 -0
  363. package/test/unit/spec/interpretation/siLanguage.ts +28 -0
  364. package/test/unit/spec/locus-info/controlsUtils.js +316 -43
  365. package/test/unit/spec/locus-info/index.js +1169 -36
  366. package/test/unit/spec/locus-info/infoUtils.js +37 -15
  367. package/test/unit/spec/locus-info/mediaSharesUtils.ts +22 -0
  368. package/test/unit/spec/locus-info/parser.js +62 -22
  369. package/test/unit/spec/locus-info/selfConstant.js +27 -4
  370. package/test/unit/spec/locus-info/selfUtils.js +208 -17
  371. package/test/unit/spec/media/index.ts +138 -28
  372. package/test/unit/spec/meeting/in-meeting-actions.ts +89 -3
  373. package/test/unit/spec/meeting/index.js +3573 -1663
  374. package/test/unit/spec/meeting/locusMediaRequest.ts +438 -0
  375. package/test/unit/spec/meeting/muteState.js +370 -208
  376. package/test/unit/spec/meeting/request.js +339 -44
  377. package/test/unit/spec/meeting/utils.js +456 -53
  378. package/test/unit/spec/meeting-info/index.js +181 -0
  379. package/test/unit/spec/meeting-info/meetinginfov2.js +383 -5
  380. package/test/unit/spec/meeting-info/utilv2.js +21 -0
  381. package/test/unit/spec/meetings/collection.js +14 -0
  382. package/test/unit/spec/meetings/index.js +867 -125
  383. package/test/unit/spec/meetings/utils.js +206 -2
  384. package/test/unit/spec/member/index.js +58 -4
  385. package/test/unit/spec/member/util.js +479 -35
  386. package/test/unit/spec/members/index.js +319 -1
  387. package/test/unit/spec/members/request.js +206 -27
  388. package/test/unit/spec/members/utils.js +184 -0
  389. package/test/unit/spec/metrics/index.js +1 -50
  390. package/test/unit/spec/multistream/mediaRequestManager.ts +803 -162
  391. package/test/unit/spec/multistream/receiveSlot.ts +72 -13
  392. package/test/unit/spec/multistream/receiveSlotManager.ts +58 -28
  393. package/test/unit/spec/multistream/remoteMedia.ts +30 -0
  394. package/test/unit/spec/multistream/remoteMediaGroup.ts +266 -0
  395. package/test/unit/spec/multistream/remoteMediaManager.ts +318 -0
  396. package/test/unit/spec/networkQualityMonitor/index.js +4 -4
  397. package/test/unit/spec/reachability/index.ts +125 -8
  398. package/test/unit/spec/reachability/request.js +66 -0
  399. package/test/unit/spec/reconnection-manager/index.js +59 -6
  400. package/test/unit/spec/recording-controller/index.js +294 -218
  401. package/test/unit/spec/recording-controller/util.js +223 -96
  402. package/test/unit/spec/roap/index.ts +26 -51
  403. package/test/unit/spec/roap/request.ts +196 -85
  404. package/test/unit/spec/roap/turnDiscovery.ts +30 -7
  405. package/test/unit/spec/rtcMetrics/index.ts +60 -0
  406. package/test/unit/spec/stats-analyzer/index.js +92 -41
  407. package/test/utils/constants.js +9 -0
  408. package/test/utils/integrationTestUtils.js +46 -0
  409. package/test/utils/testUtils.js +0 -45
  410. package/test/utils/webex-config.js +4 -0
  411. package/test/utils/webex-test-users.js +6 -3
  412. package/dist/meeting/effectsState.js +0 -262
  413. package/dist/meeting/effectsState.js.map +0 -1
  414. package/dist/metrics/config.js +0 -299
  415. package/dist/metrics/config.js.map +0 -1
  416. package/dist/multistream/multistreamMedia.js +0 -110
  417. package/dist/multistream/multistreamMedia.js.map +0 -1
  418. package/src/index.js +0 -16
  419. package/src/meeting/effectsState.ts +0 -211
  420. package/src/metrics/config.ts +0 -495
  421. package/src/multistream/multistreamMedia.ts +0 -97
  422. 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"));
@@ -29,6 +30,8 @@ var _webexCore = require("@webex/webex-core");
29
30
  var _common = require("@webex/common");
30
31
  var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
31
32
  var _constants = require("../constants");
33
+ var _util = _interopRequireDefault(require("./util"));
34
+ var _excluded = ["meeting"];
32
35
  function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
33
36
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
34
37
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
@@ -39,11 +42,56 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_R
39
42
  var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
40
43
  (0, _inherits2.default)(MeetingRequest, _StatelessWebexPlugin);
41
44
  var _super = _createSuper(MeetingRequest);
45
+ /**
46
+ * Constructor
47
+ * @param {Object} attrs
48
+ * @param {Object} options
49
+ */
42
50
  function MeetingRequest(attrs, options) {
43
51
  var _this;
44
52
  (0, _classCallCheck2.default)(this, MeetingRequest);
45
- _this = _super.call(this, attrs, options);
53
+ var meeting = attrs.meeting,
54
+ otherAttrs = (0, _objectWithoutProperties2.default)(attrs, _excluded);
55
+ _this = _super.call(this, otherAttrs, options);
46
56
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "changeVideoLayoutDebounced", void 0);
57
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "meetingRef", void 0);
58
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "locusDeltaRequest", void 0);
59
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getJoinCookie", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
60
+ var joinCookieRaw, joinCookie;
61
+ return _regenerator.default.wrap(function _callee$(_context) {
62
+ while (1) switch (_context.prev = _context.next) {
63
+ case 0:
64
+ _context.next = 2;
65
+ return _this.webex.boundedStorage.get(_constants.REACHABILITY.namespace, _constants.REACHABILITY.localStorageJoinCookie).catch(function () {});
66
+ case 2:
67
+ joinCookieRaw = _context.sent;
68
+ if (!joinCookieRaw) {
69
+ _context.next = 13;
70
+ break;
71
+ }
72
+ _context.prev = 4;
73
+ joinCookie = JSON.parse(joinCookieRaw);
74
+ if (!joinCookie) {
75
+ _context.next = 8;
76
+ break;
77
+ }
78
+ return _context.abrupt("return", joinCookie);
79
+ case 8:
80
+ _context.next = 13;
81
+ break;
82
+ case 10:
83
+ _context.prev = 10;
84
+ _context.t0 = _context["catch"](4);
85
+ _loggerProxy.default.logger.error("MeetingRequest#constructor --> Error in parsing join cookie data: ".concat(_context.t0));
86
+ case 13:
87
+ return _context.abrupt("return", null);
88
+ case 14:
89
+ case "end":
90
+ return _context.stop();
91
+ }
92
+ }, _callee, null, [[4, 10]]);
93
+ })));
94
+ _this.locusDeltaRequest = _util.default.generateLocusDeltaRequest(meeting);
47
95
  _this.changeVideoLayoutDebounced = (0, _debounce2.default)(_this.changeVideoLayout, 2000, {
48
96
  leading: true,
49
97
  trailing: true
@@ -52,32 +100,44 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
52
100
  }
53
101
 
54
102
  /**
55
- * Make a network request to join a meeting
56
- * @param {Object} options
57
- * @param {String} options.sipUri
58
- * @param {String} options.deviceUrl
59
- * @param {String} options.locusUrl
60
- * @param {String} options.resourceId,
61
- * @param {String} options.correlationId
62
- * @param {boolean} options.ensureConversation
63
- * @param {boolean} options.moderator
64
- * @param {boolean} options.pin
65
- * @param {boolean} options.moveToResource
66
- * @param {Object} options.roapMessage
67
- * @param {boolean} options.breakoutsSupported
68
- * @returns {Promise}
103
+ * Returns joinCookie from boundedStorage if present.
104
+ * @returns {Object} joinCookie
69
105
  */
70
106
  (0, _createClass2.default)(MeetingRequest, [{
71
107
  key: "joinMeeting",
72
- value: function () {
73
- var _joinMeeting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(options) {
74
- var asResourceOccupant, inviteeAddress, meetingNumber, permissionToken, deviceUrl, locusUrl, resourceId, correlationId, ensureConversation, moderator, pin, moveToResource, roapMessage, preferTranscoding, breakoutsSupported, url, body;
75
- return _regenerator.default.wrap(function _callee$(_context) {
76
- while (1) switch (_context.prev = _context.next) {
108
+ value:
109
+ /**
110
+ * Make a network request to join a meeting
111
+ * @param {Object} options
112
+ * @param {String} options.sipUri
113
+ * @param {String} options.deviceUrl
114
+ * @param {String} options.locusUrl
115
+ * @param {String} options.resourceId,
116
+ * @param {String} options.correlationId
117
+ * @param {boolean} options.ensureConversation
118
+ * @param {boolean} options.moderator
119
+ * @param {boolean} options.pin
120
+ * @param {boolean} options.moveToResource
121
+ * @param {Object} options.roapMessage
122
+ * @param {boolean} options.breakoutsSupported
123
+ * @param {String} options.locale,
124
+ * @param {Array} options.deviceCapabilities
125
+ * @param {boolean} options.liveAnnotationSupported
126
+ * @returns {Promise}
127
+ */
128
+ function () {
129
+ var _joinMeeting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(options) {
130
+ var asResourceOccupant, inviteeAddress, meetingNumber, permissionToken, deviceUrl, locusUrl, resourceId, correlationId, ensureConversation, moderator, pin, moveToResource, roapMessage, preferTranscoding, breakoutsSupported, locale, _options$deviceCapabi, deviceCapabilities, liveAnnotationSupported, url, joinCookie, body;
131
+ return _regenerator.default.wrap(function _callee2$(_context2) {
132
+ while (1) switch (_context2.prev = _context2.next) {
77
133
  case 0:
78
- 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;
134
+ asResourceOccupant = options.asResourceOccupant, inviteeAddress = options.inviteeAddress, meetingNumber = options.meetingNumber, permissionToken = options.permissionToken, deviceUrl = options.deviceUrl, locusUrl = options.locusUrl, resourceId = options.resourceId, correlationId = options.correlationId, ensureConversation = options.ensureConversation, moderator = options.moderator, pin = options.pin, moveToResource = options.moveToResource, roapMessage = options.roapMessage, preferTranscoding = options.preferTranscoding, breakoutsSupported = options.breakoutsSupported, locale = options.locale, _options$deviceCapabi = options.deviceCapabilities, deviceCapabilities = _options$deviceCapabi === void 0 ? [] : _options$deviceCapabi, liveAnnotationSupported = options.liveAnnotationSupported;
79
135
  _loggerProxy.default.logger.info('Meeting:request#joinMeeting --> Joining a meeting', correlationId);
80
136
  url = '';
137
+ _context2.next = 5;
138
+ return this.getJoinCookie();
139
+ case 5:
140
+ joinCookie = _context2.sent;
81
141
  body = {
82
142
  asResourceOccupant: asResourceOccupant,
83
143
  device: {
@@ -93,19 +153,30 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
93
153
  ensureConversation: ensureConversation || false,
94
154
  supportsNativeLobby: 1,
95
155
  clientMediaPreferences: {
96
- preferTranscoding: preferTranscoding !== null && preferTranscoding !== void 0 ? preferTranscoding : true
156
+ preferTranscoding: preferTranscoding !== null && preferTranscoding !== void 0 ? preferTranscoding : true,
157
+ joinCookie: joinCookie
97
158
  }
98
159
  };
99
160
  if (breakoutsSupported) {
100
- body.deviceCapabilities = [_constants.BREAKOUTS.BREAKOUTS_SUPPORTED];
161
+ deviceCapabilities.push(_constants.BREAKOUTS.BREAKOUTS_SUPPORTED);
162
+ }
163
+ if (liveAnnotationSupported) {
164
+ deviceCapabilities.push(_constants.ANNOTATION.ANNOTATION_ON_SHARE_SUPPORTED);
165
+ }
166
+ if (locale) {
167
+ body.locale = locale;
101
168
  }
102
169
 
170
+ // add deviceCapabilities prop
171
+ if (deviceCapabilities.length) {
172
+ body.deviceCapabilities = deviceCapabilities;
173
+ }
103
174
  // @ts-ignore
104
- if (this.webex.meetings.clientRegion) {
175
+ if (this.webex.meetings.geoHintInfo) {
105
176
  // @ts-ignore
106
- body.device.countryCode = this.webex.meetings.clientRegion.countryCode;
177
+ body.device.countryCode = this.webex.meetings.geoHintInfo.countryCode;
107
178
  // @ts-ignore
108
- body.device.regionCode = this.webex.meetings.clientRegion.regionCode;
179
+ body.device.regionCode = this.webex.meetings.geoHintInfo.regionCode;
109
180
  }
110
181
  if (moderator !== undefined) {
111
182
  body.moderator = moderator;
@@ -117,34 +188,34 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
117
188
  body.pin = pin;
118
189
  }
119
190
  if (!locusUrl) {
120
- _context.next = 13;
191
+ _context2.next = 19;
121
192
  break;
122
193
  }
123
194
  url = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT);
124
- _context.next = 25;
195
+ _context2.next = 31;
125
196
  break;
126
- case 13:
197
+ case 19:
127
198
  if (!(inviteeAddress || meetingNumber)) {
128
- _context.next = 25;
199
+ _context2.next = 31;
129
200
  break;
130
201
  }
131
- _context.prev = 14;
132
- _context.next = 17;
202
+ _context2.prev = 20;
203
+ _context2.next = 23;
133
204
  return this.webex.internal.services.waitForCatalog('postauth');
134
- case 17:
205
+ case 23:
135
206
  // @ts-ignore
136
207
  url = "".concat(this.webex.internal.services.get('locus'), "/").concat(_constants.LOCI, "/").concat(_constants.CALL);
137
208
  body.invitee = {
138
209
  address: inviteeAddress || "wbxmn:".concat(meetingNumber)
139
210
  };
140
- _context.next = 25;
211
+ _context2.next = 31;
141
212
  break;
142
- case 21:
143
- _context.prev = 21;
144
- _context.t0 = _context["catch"](14);
145
- _loggerProxy.default.logger.error("Meeting:request#joinMeeting Error Joining ".concat(inviteeAddress || meetingNumber, " --> ").concat(_context.t0));
146
- throw _context.t0;
147
- case 25:
213
+ case 27:
214
+ _context2.prev = 27;
215
+ _context2.t0 = _context2["catch"](20);
216
+ _loggerProxy.default.logger.error("Meeting:request#joinMeeting Error Joining ".concat(inviteeAddress || meetingNumber, " --> ").concat(_context2.t0));
217
+ throw _context2.t0;
218
+ case 31:
148
219
  // TODO: -- this will be resolved in SDK request
149
220
  url = url.concat("?".concat(_constants.ALTERNATE_REDIRECT_TRUE));
150
221
  if (resourceId === inviteeAddress) {
@@ -157,16 +228,16 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
157
228
  }
158
229
 
159
230
  /// @ts-ignore
160
- return _context.abrupt("return", this.request({
231
+ return _context2.abrupt("return", this.request({
161
232
  method: _constants.HTTP_VERBS.POST,
162
233
  uri: url,
163
234
  body: body
164
235
  }));
165
- case 29:
236
+ case 35:
166
237
  case "end":
167
- return _context.stop();
238
+ return _context2.stop();
168
239
  }
169
- }, _callee, this, [[14, 21]]);
240
+ }, _callee2, this, [[20, 27]]);
170
241
  }));
171
242
  function joinMeeting(_x) {
172
243
  return _joinMeeting.apply(this, arguments);
@@ -183,9 +254,9 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
183
254
  */
184
255
  }, {
185
256
  key: "refreshCaptcha",
186
- value: function refreshCaptcha(_ref) {
187
- var captchaRefreshUrl = _ref.captchaRefreshUrl,
188
- captchaId = _ref.captchaId;
257
+ value: function refreshCaptcha(_ref2) {
258
+ var captchaRefreshUrl = _ref2.captchaRefreshUrl,
259
+ captchaId = _ref2.captchaId;
189
260
  var body = {
190
261
  captchaId: captchaId
191
262
  };
@@ -213,11 +284,11 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
213
284
  */
214
285
  }, {
215
286
  key: "dialIn",
216
- value: function dialIn(_ref2) {
217
- var locusUrl = _ref2.locusUrl,
218
- dialInUrl = _ref2.dialInUrl,
219
- clientUrl = _ref2.clientUrl,
220
- correlationId = _ref2.correlationId;
287
+ value: function dialIn(_ref3) {
288
+ var locusUrl = _ref3.locusUrl,
289
+ dialInUrl = _ref3.dialInUrl,
290
+ clientUrl = _ref3.clientUrl,
291
+ correlationId = _ref3.correlationId;
221
292
  _loggerProxy.default.logger.info('Meeting:request#dialIn --> Provisioning a dial in device', correlationId);
222
293
  var uri = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT);
223
294
  var body = {
@@ -231,7 +302,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
231
302
  };
232
303
 
233
304
  // @ts-ignore
234
- return this.request({
305
+ return this.locusDeltaRequest({
235
306
  method: _constants.HTTP_VERBS.POST,
236
307
  uri: uri,
237
308
  body: body
@@ -254,12 +325,12 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
254
325
  */
255
326
  }, {
256
327
  key: "dialOut",
257
- value: function dialOut(_ref3) {
258
- var locusUrl = _ref3.locusUrl,
259
- dialOutUrl = _ref3.dialOutUrl,
260
- phoneNumber = _ref3.phoneNumber,
261
- clientUrl = _ref3.clientUrl,
262
- correlationId = _ref3.correlationId;
328
+ value: function dialOut(_ref4) {
329
+ var locusUrl = _ref4.locusUrl,
330
+ dialOutUrl = _ref4.dialOutUrl,
331
+ phoneNumber = _ref4.phoneNumber,
332
+ clientUrl = _ref4.clientUrl,
333
+ correlationId = _ref4.correlationId;
263
334
  _loggerProxy.default.logger.info('Meeting:request#dialOut --> Provisioning a dial out device', correlationId);
264
335
  var uri = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT);
265
336
  var body = {
@@ -274,7 +345,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
274
345
  };
275
346
 
276
347
  // @ts-ignore
277
- return this.request({
348
+ return this.locusDeltaRequest({
278
349
  method: _constants.HTTP_VERBS.POST,
279
350
  uri: uri,
280
351
  body: body
@@ -285,59 +356,22 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
285
356
  }
286
357
 
287
358
  /**
288
- * Syns the missed delta event
359
+ * Sends a requests to get the latest locus DTO, it might be a full Locus or a delta, depending on the url provided
289
360
  * @param {Object} options
290
- * @param {boolean} options.desync flag to get partial or whole locus object
291
- * @param {String} options.syncUrl sync url to get ht elatest locus delta
292
- * @returns {Promise}
293
- */
294
- }, {
295
- key: "syncMeeting",
296
- value: function syncMeeting(options) {
297
- /* eslint-disable no-else-return */
298
- var desync = options.desync;
299
- var syncUrl = options.syncUrl;
300
-
301
- /* istanbul ignore else */
302
- if (desync) {
303
- // check for existing URL parameters
304
- syncUrl = syncUrl.concat(syncUrl.split('?')[1] ? '&' : '?').concat("".concat(_constants.LOCUS.SYNCDEBUG, "=").concat(desync));
305
- }
306
-
307
- // @ts-ignore
308
- return this.request({
309
- method: _constants.HTTP_VERBS.GET,
310
- uri: syncUrl
311
- }) // TODO: Handle if delta sync failed . Get the full locus object
312
- .catch(function (err) {
313
- _loggerProxy.default.logger.error("Meeting:request#syncMeeting --> Error syncing meeting, error ".concat(err));
314
- return err;
315
- });
316
- }
317
-
318
- /**
319
- * Request to get the complete locus object
320
- * @param {Object} options
321
- * @param {boolean} options.desync flag to get partial or whole locus object
322
361
  * @param {String} options.locusUrl sync url to get ht elatest locus delta
323
362
  * @returns {Promise}
324
363
  */
325
364
  }, {
326
- key: "getFullLocus",
327
- value: function getFullLocus(options) {
328
- var locusUrl = options.locusUrl;
329
- var desync = options.desync;
330
- if (locusUrl) {
331
- if (desync) {
332
- locusUrl += "?".concat(_constants.LOCUS.SYNCDEBUG, "=").concat(desync);
333
- }
334
-
365
+ key: "getLocusDTO",
366
+ value: function getLocusDTO(options) {
367
+ var url = options.url;
368
+ if (url) {
335
369
  // @ts-ignore
336
370
  return this.request({
337
371
  method: _constants.HTTP_VERBS.GET,
338
- uri: locusUrl
372
+ uri: url
339
373
  }).catch(function (err) {
340
- _loggerProxy.default.logger.error("Meeting:request#getFullLocus --> Error getting full locus, error ".concat(err));
374
+ _loggerProxy.default.logger.error("Meeting:request#getLocusDTO --> Error getting latest locus, error ".concat(err));
341
375
  return err;
342
376
  });
343
377
  }
@@ -356,11 +390,11 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
356
390
  */
357
391
  }, {
358
392
  key: "disconnectPhoneAudio",
359
- value: function disconnectPhoneAudio(_ref4) {
360
- var locusUrl = _ref4.locusUrl,
361
- phoneUrl = _ref4.phoneUrl,
362
- correlationId = _ref4.correlationId,
363
- selfId = _ref4.selfId;
393
+ value: function disconnectPhoneAudio(_ref5) {
394
+ var locusUrl = _ref5.locusUrl,
395
+ phoneUrl = _ref5.phoneUrl,
396
+ correlationId = _ref5.correlationId,
397
+ selfId = _ref5.selfId;
364
398
  _loggerProxy.default.logger.info("Meeting:request#disconnectPhoneAudio --> request phone ".concat(phoneUrl, " to leave"), correlationId);
365
399
  var uri = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT, "/").concat(selfId, "/").concat(_constants.LEAVE);
366
400
  var body = {
@@ -372,7 +406,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
372
406
  };
373
407
 
374
408
  // @ts-ignore
375
- return this.request({
409
+ return this.locusDeltaRequest({
376
410
  method: _constants.HTTP_VERBS.PUT,
377
411
  uri: uri,
378
412
  body: body
@@ -394,12 +428,12 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
394
428
  */
395
429
  }, {
396
430
  key: "leaveMeeting",
397
- value: function leaveMeeting(_ref5) {
398
- var locusUrl = _ref5.locusUrl,
399
- selfId = _ref5.selfId,
400
- url = _ref5.deviceUrl,
401
- resourceId = _ref5.resourceId,
402
- correlationId = _ref5.correlationId;
431
+ value: function leaveMeeting(_ref6) {
432
+ var locusUrl = _ref6.locusUrl,
433
+ selfId = _ref6.selfId,
434
+ url = _ref6.deviceUrl,
435
+ resourceId = _ref6.resourceId,
436
+ correlationId = _ref6.correlationId;
403
437
  _loggerProxy.default.logger.info('Meeting:request#leaveMeeting --> Leaving a meeting', correlationId);
404
438
  var uri = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT, "/").concat(selfId, "/").concat(_constants.LEAVE);
405
439
  var body = {
@@ -411,9 +445,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
411
445
  usingResource: resourceId || null,
412
446
  correlationId: correlationId
413
447
  };
414
-
415
- // @ts-ignore
416
- return this.request({
448
+ return this.locusDeltaRequest({
417
449
  method: _constants.HTTP_VERBS.PUT,
418
450
  uri: uri,
419
451
  body: body
@@ -440,14 +472,19 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
440
472
  },
441
473
  correlationId: options.correlationId
442
474
  };
443
-
444
- // @ts-ignore
445
- return this.request({
475
+ return this.locusDeltaRequest({
446
476
  method: _constants.HTTP_VERBS.PUT,
447
477
  uri: uri,
448
478
  body: body
449
479
  });
450
480
  }
481
+
482
+ /**
483
+ * Makes a network request to lock the meeting
484
+ * @param {Object} options
485
+ * @param {Boolean} options.lock Whether it is locked or not
486
+ * @returns {Promise}
487
+ */
451
488
  }, {
452
489
  key: "lockMeeting",
453
490
  value: function lockMeeting(options) {
@@ -457,9 +494,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
457
494
  locked: options.lock
458
495
  }
459
496
  };
460
-
461
- // @ts-ignore
462
- return this.request({
497
+ return this.locusDeltaRequest({
463
498
  method: _constants.HTTP_VERBS.PATCH,
464
499
  uri: uri,
465
500
  body: body
@@ -487,48 +522,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
487
522
  }, options.reason && {
488
523
  reason: options.reason
489
524
  });
490
-
491
- // @ts-ignore
492
- return this.request({
493
- method: _constants.HTTP_VERBS.PUT,
494
- uri: uri,
495
- body: body
496
- });
497
- }
498
-
499
- /**
500
- * Toggle remote audio and/or video
501
- * @param {Object} options options for toggling
502
- * @param {String} options.selfId Locus self id??
503
- * @param {String} options.locusUrl Locus url
504
- * @param {String} options.deviceUrl Url of a device
505
- * @param {String} options.resourceId Populated if you are paired to a device
506
- * @param {String} options.localMedias local sdps
507
- * @param {Boolean} options.preferTranscoding false for multistream (Homer), true for transcoded media (Edonus)
508
- * @returns {Promise}
509
- */
510
- }, {
511
- key: "remoteAudioVideoToggle",
512
- value: function remoteAudioVideoToggle(options) {
513
- var _options$preferTransc;
514
- var uri = "".concat(options.locusUrl, "/").concat(_constants.PARTICIPANT, "/").concat(options.selfId, "/").concat(_constants.MEDIA);
515
- var body = {
516
- device: {
517
- // @ts-ignore
518
- deviceType: this.config.meetings.deviceType,
519
- url: options.deviceUrl
520
- },
521
- usingResource: options.resourceId || null,
522
- correlationId: options.correlationId,
523
- respOnlySdp: true,
524
- localMedias: options.localMedias,
525
- clientMediaPreferences: {
526
- preferTranscoding: (_options$preferTransc = options.preferTranscoding) !== null && _options$preferTransc !== void 0 ? _options$preferTransc : true
527
- }
528
- };
529
-
530
- // @ts-ignore
531
- return this.request({
525
+ return this.locusDeltaRequest({
532
526
  method: _constants.HTTP_VERBS.PUT,
533
527
  uri: uri,
534
528
  body: body
@@ -576,6 +570,9 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
576
570
  if (options !== null && options !== void 0 && options.resourceToken) {
577
571
  body.resourceToken = options === null || options === void 0 ? void 0 : options.resourceToken;
578
572
  }
573
+ if (options !== null && options !== void 0 && options.annotationInfo) {
574
+ body.annotation = options === null || options === void 0 ? void 0 : options.annotationInfo;
575
+ }
579
576
 
580
577
  // @ts-ignore
581
578
  return this.request({
@@ -595,12 +592,12 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
595
592
  */
596
593
  }, {
597
594
  key: "sendDTMF",
598
- value: function sendDTMF(_ref6) {
599
- var locusUrl = _ref6.locusUrl,
600
- deviceUrl = _ref6.deviceUrl,
601
- tones = _ref6.tones;
595
+ value: function sendDTMF(_ref7) {
596
+ var locusUrl = _ref7.locusUrl,
597
+ deviceUrl = _ref7.deviceUrl,
598
+ tones = _ref7.tones;
602
599
  // @ts-ignore
603
- return this.request({
600
+ return this.locusDeltaRequest({
604
601
  method: _constants.HTTP_VERBS.POST,
605
602
  uri: "".concat(locusUrl, "/").concat(_constants.SEND_DTMF_ENDPOINT),
606
603
  body: {
@@ -629,12 +626,12 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
629
626
  */
630
627
  }, {
631
628
  key: "changeVideoLayout",
632
- value: function changeVideoLayout(_ref7) {
633
- var locusUrl = _ref7.locusUrl,
634
- deviceUrl = _ref7.deviceUrl,
635
- layoutType = _ref7.layoutType,
636
- main = _ref7.main,
637
- content = _ref7.content;
629
+ value: function changeVideoLayout(_ref8) {
630
+ var locusUrl = _ref8.locusUrl,
631
+ deviceUrl = _ref8.deviceUrl,
632
+ layoutType = _ref8.layoutType,
633
+ main = _ref8.main,
634
+ content = _ref8.content;
638
635
  // send main/content renderInfo only if both width and height are specified
639
636
  if (main && (!main.width || !main.height)) {
640
637
  return _promise.default.reject(new Error("Both width and height must be specified. One of them is missing for main: ".concat((0, _stringify.default)(main))));
@@ -658,7 +655,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
658
655
  } : undefined;
659
656
 
660
657
  // @ts-ignore
661
- return this.request({
658
+ return this.locusDeltaRequest({
662
659
  method: _constants.HTTP_VERBS.PUT,
663
660
  uri: "".concat(locusUrl, "/").concat(_constants.CONTROLS),
664
661
  body: {
@@ -679,12 +676,12 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
679
676
  */
680
677
  }, {
681
678
  key: "endMeetingForAll",
682
- value: function endMeetingForAll(_ref8) {
683
- var locusUrl = _ref8.locusUrl;
679
+ value: function endMeetingForAll(_ref9) {
680
+ var locusUrl = _ref9.locusUrl;
684
681
  var uri = "".concat(locusUrl, "/").concat(_constants.END);
685
682
 
686
683
  // @ts-ignore
687
- return this.request({
684
+ return this.locusDeltaRequest({
688
685
  method: _constants.HTTP_VERBS.POST,
689
686
  uri: uri
690
687
  });
@@ -698,8 +695,8 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
698
695
  */
699
696
  }, {
700
697
  key: "keepAlive",
701
- value: function keepAlive(_ref9) {
702
- var keepAliveUrl = _ref9.keepAliveUrl;
698
+ value: function keepAlive(_ref10) {
699
+ var keepAliveUrl = _ref10.keepAliveUrl;
703
700
  // @ts-ignore
704
701
  return this.request({
705
702
  method: _constants.HTTP_VERBS.GET,
@@ -717,10 +714,10 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
717
714
  */
718
715
  }, {
719
716
  key: "sendReaction",
720
- value: function sendReaction(_ref10) {
721
- var reactionChannelUrl = _ref10.reactionChannelUrl,
722
- reaction = _ref10.reaction,
723
- participantId = _ref10.participantId;
717
+ value: function sendReaction(_ref11) {
718
+ var reactionChannelUrl = _ref11.reactionChannelUrl,
719
+ reaction = _ref11.reaction,
720
+ participantId = _ref11.participantId;
724
721
  var uri = reactionChannelUrl;
725
722
 
726
723
  // @ts-ignore
@@ -744,14 +741,14 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
744
741
  */
745
742
  }, {
746
743
  key: "toggleReactions",
747
- value: function toggleReactions(_ref11) {
748
- var enable = _ref11.enable,
749
- locusUrl = _ref11.locusUrl,
750
- requestingParticipantId = _ref11.requestingParticipantId;
744
+ value: function toggleReactions(_ref12) {
745
+ var enable = _ref12.enable,
746
+ locusUrl = _ref12.locusUrl,
747
+ requestingParticipantId = _ref12.requestingParticipantId;
751
748
  var uri = "".concat(locusUrl, "/").concat(_constants.CONTROLS);
752
749
 
753
750
  // @ts-ignore
754
- return this.request({
751
+ return this.locusDeltaRequest({
755
752
  method: _constants.HTTP_VERBS.PUT,
756
753
  uri: uri,
757
754
  body: {
@@ -762,6 +759,15 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
762
759
  }
763
760
  });
764
761
  }
762
+ }, {
763
+ key: "getLocusStatusByUrl",
764
+ value: function getLocusStatusByUrl(locusUrl) {
765
+ // @ts-ignore
766
+ return this.request({
767
+ method: _constants.HTTP_VERBS.GET,
768
+ uri: locusUrl
769
+ });
770
+ }
765
771
  }]);
766
772
  return MeetingRequest;
767
773
  }(_webexCore.StatelessWebexPlugin);