@webex/plugin-meetings 3.0.0-beta.17 → 3.0.0-beta.171

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 (427) 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 +359 -0
  7. package/dist/annotation/index.js.map +1 -0
  8. package/dist/breakouts/breakout.js +216 -0
  9. package/dist/breakouts/breakout.js.map +1 -0
  10. package/dist/breakouts/collection.js +23 -0
  11. package/dist/breakouts/collection.js.map +1 -0
  12. package/dist/breakouts/edit-lock-error.js +52 -0
  13. package/dist/breakouts/edit-lock-error.js.map +1 -0
  14. package/dist/breakouts/events.js +45 -0
  15. package/dist/breakouts/events.js.map +1 -0
  16. package/dist/breakouts/index.js +1048 -0
  17. package/dist/breakouts/index.js.map +1 -0
  18. package/dist/breakouts/request.js +78 -0
  19. package/dist/breakouts/request.js.map +1 -0
  20. package/dist/breakouts/utils.js +67 -0
  21. package/dist/breakouts/utils.js.map +1 -0
  22. package/dist/common/errors/webex-errors.js +3 -2
  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/config.js +6 -8
  27. package/dist/config.js.map +1 -1
  28. package/dist/constants.js +194 -28
  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 +300 -0
  39. package/dist/controls-options-manager/util.js.map +1 -0
  40. package/dist/index.js +107 -0
  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 +214 -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 +92 -2
  49. package/dist/locus-info/controlsUtils.js.map +1 -1
  50. package/dist/locus-info/index.js +350 -41
  51. package/dist/locus-info/index.js.map +1 -1
  52. package/dist/locus-info/mediaSharesUtils.js +43 -1
  53. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  54. package/dist/locus-info/parser.js +2 -1
  55. package/dist/locus-info/parser.js.map +1 -1
  56. package/dist/locus-info/selfUtils.js +97 -14
  57. package/dist/locus-info/selfUtils.js.map +1 -1
  58. package/dist/media/index.js +41 -136
  59. package/dist/media/index.js.map +1 -1
  60. package/dist/media/properties.js +33 -94
  61. package/dist/media/properties.js.map +1 -1
  62. package/dist/mediaQualityMetrics/config.js +505 -493
  63. package/dist/mediaQualityMetrics/config.js.map +1 -1
  64. package/dist/meeting/in-meeting-actions.js +76 -2
  65. package/dist/meeting/in-meeting-actions.js.map +1 -1
  66. package/dist/meeting/index.js +2757 -2439
  67. package/dist/meeting/index.js.map +1 -1
  68. package/dist/meeting/locusMediaRequest.js +291 -0
  69. package/dist/meeting/locusMediaRequest.js.map +1 -0
  70. package/dist/meeting/muteState.js +229 -124
  71. package/dist/meeting/muteState.js.map +1 -1
  72. package/dist/meeting/request.js +191 -167
  73. package/dist/meeting/request.js.map +1 -1
  74. package/dist/meeting/request.type.js.map +1 -1
  75. package/dist/meeting/util.js +477 -466
  76. package/dist/meeting/util.js.map +1 -1
  77. package/dist/meeting-info/index.js +48 -7
  78. package/dist/meeting-info/index.js.map +1 -1
  79. package/dist/meeting-info/meeting-info-v2.js +172 -50
  80. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  81. package/dist/meeting-info/utilv2.js +20 -5
  82. package/dist/meeting-info/utilv2.js.map +1 -1
  83. package/dist/meetings/collection.js +22 -0
  84. package/dist/meetings/collection.js.map +1 -1
  85. package/dist/meetings/index.js +377 -82
  86. package/dist/meetings/index.js.map +1 -1
  87. package/dist/meetings/meetings.types.js +7 -0
  88. package/dist/meetings/meetings.types.js.map +1 -0
  89. package/dist/meetings/request.js +16 -12
  90. package/dist/meetings/request.js.map +1 -1
  91. package/dist/meetings/util.js +88 -1
  92. package/dist/meetings/util.js.map +1 -1
  93. package/dist/member/index.js +43 -0
  94. package/dist/member/index.js.map +1 -1
  95. package/dist/member/types.js +15 -0
  96. package/dist/member/types.js.map +1 -0
  97. package/dist/member/util.js +97 -3
  98. package/dist/member/util.js.map +1 -1
  99. package/dist/members/collection.js +10 -0
  100. package/dist/members/collection.js.map +1 -1
  101. package/dist/members/index.js +94 -11
  102. package/dist/members/index.js.map +1 -1
  103. package/dist/members/request.js +109 -39
  104. package/dist/members/request.js.map +1 -1
  105. package/dist/members/types.js +15 -0
  106. package/dist/members/types.js.map +1 -0
  107. package/dist/members/util.js +316 -233
  108. package/dist/members/util.js.map +1 -1
  109. package/dist/metrics/constants.js +3 -5
  110. package/dist/metrics/constants.js.map +1 -1
  111. package/dist/metrics/index.js +1 -468
  112. package/dist/metrics/index.js.map +1 -1
  113. package/dist/multistream/mediaRequestManager.js +265 -36
  114. package/dist/multistream/mediaRequestManager.js.map +1 -1
  115. package/dist/multistream/receiveSlot.js +52 -19
  116. package/dist/multistream/receiveSlot.js.map +1 -1
  117. package/dist/multistream/receiveSlotManager.js +53 -33
  118. package/dist/multistream/receiveSlotManager.js.map +1 -1
  119. package/dist/multistream/remoteMedia.js +44 -18
  120. package/dist/multistream/remoteMedia.js.map +1 -1
  121. package/dist/multistream/remoteMediaGroup.js +60 -3
  122. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  123. package/dist/multistream/remoteMediaManager.js +322 -103
  124. package/dist/multistream/remoteMediaManager.js.map +1 -1
  125. package/dist/networkQualityMonitor/index.js +4 -2
  126. package/dist/networkQualityMonitor/index.js.map +1 -1
  127. package/dist/reachability/index.js +117 -60
  128. package/dist/reachability/index.js.map +1 -1
  129. package/dist/reachability/request.js +12 -5
  130. package/dist/reachability/request.js.map +1 -1
  131. package/dist/reactions/constants.js +13 -0
  132. package/dist/reactions/constants.js.map +1 -0
  133. package/dist/reactions/reactions.js +2 -2
  134. package/dist/reactions/reactions.js.map +1 -1
  135. package/dist/reactions/reactions.type.js +18 -18
  136. package/dist/reactions/reactions.type.js.map +1 -1
  137. package/dist/reconnection-manager/index.js +216 -162
  138. package/dist/reconnection-manager/index.js.map +1 -1
  139. package/dist/recording-controller/enums.js +17 -0
  140. package/dist/recording-controller/enums.js.map +1 -0
  141. package/dist/recording-controller/index.js +363 -0
  142. package/dist/recording-controller/index.js.map +1 -0
  143. package/dist/recording-controller/util.js +64 -0
  144. package/dist/recording-controller/util.js.map +1 -0
  145. package/dist/roap/index.js +21 -29
  146. package/dist/roap/index.js.map +1 -1
  147. package/dist/roap/request.js +135 -94
  148. package/dist/roap/request.js.map +1 -1
  149. package/dist/roap/turnDiscovery.js +135 -53
  150. package/dist/roap/turnDiscovery.js.map +1 -1
  151. package/dist/statsAnalyzer/global.js +1 -93
  152. package/dist/statsAnalyzer/global.js.map +1 -1
  153. package/dist/statsAnalyzer/index.js +329 -314
  154. package/dist/statsAnalyzer/index.js.map +1 -1
  155. package/dist/statsAnalyzer/mqaUtil.js +103 -54
  156. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  157. package/dist/types/annotation/annotation.types.d.ts +43 -0
  158. package/dist/types/annotation/constants.d.ts +31 -0
  159. package/dist/types/annotation/index.d.ts +124 -0
  160. package/dist/types/breakouts/breakout.d.ts +8 -0
  161. package/dist/types/breakouts/collection.d.ts +5 -0
  162. package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
  163. package/dist/types/breakouts/events.d.ts +8 -0
  164. package/dist/types/breakouts/index.d.ts +5 -0
  165. package/dist/types/breakouts/request.d.ts +22 -0
  166. package/dist/types/breakouts/utils.d.ts +15 -0
  167. package/dist/types/common/browser-detection.d.ts +9 -0
  168. package/dist/types/common/collection.d.ts +48 -0
  169. package/dist/types/common/config.d.ts +2 -0
  170. package/dist/types/common/errors/captcha-error.d.ts +15 -0
  171. package/dist/types/common/errors/intent-to-join.d.ts +16 -0
  172. package/dist/types/common/errors/join-meeting.d.ts +17 -0
  173. package/dist/types/common/errors/media.d.ts +15 -0
  174. package/dist/types/common/errors/parameter.d.ts +15 -0
  175. package/dist/types/common/errors/password-error.d.ts +15 -0
  176. package/dist/types/common/errors/permission.d.ts +14 -0
  177. package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
  178. package/dist/types/common/errors/reconnection.d.ts +15 -0
  179. package/dist/types/common/errors/stats.d.ts +15 -0
  180. package/dist/types/common/errors/webex-errors.d.ts +69 -0
  181. package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
  182. package/dist/types/common/events/events-scope.d.ts +17 -0
  183. package/dist/types/common/events/events.d.ts +12 -0
  184. package/dist/types/common/events/trigger-proxy.d.ts +2 -0
  185. package/dist/types/common/events/util.d.ts +2 -0
  186. package/dist/types/common/logs/logger-config.d.ts +2 -0
  187. package/dist/types/common/logs/logger-proxy.d.ts +2 -0
  188. package/dist/types/common/logs/request.d.ts +34 -0
  189. package/dist/types/common/queue.d.ts +32 -0
  190. package/dist/types/config.d.ts +72 -0
  191. package/dist/types/constants.d.ts +1007 -0
  192. package/dist/types/controls-options-manager/constants.d.ts +4 -0
  193. package/dist/types/controls-options-manager/enums.d.ts +15 -0
  194. package/dist/types/controls-options-manager/index.d.ts +136 -0
  195. package/dist/types/controls-options-manager/types.d.ts +43 -0
  196. package/dist/types/controls-options-manager/util.d.ts +1 -0
  197. package/dist/types/index.d.ts +7 -0
  198. package/dist/types/interpretation/collection.d.ts +5 -0
  199. package/dist/types/interpretation/index.d.ts +5 -0
  200. package/dist/types/interpretation/siLanguage.d.ts +5 -0
  201. package/dist/types/locus-info/controlsUtils.d.ts +2 -0
  202. package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
  203. package/dist/types/locus-info/fullState.d.ts +2 -0
  204. package/dist/types/locus-info/hostUtils.d.ts +2 -0
  205. package/dist/types/locus-info/index.d.ts +315 -0
  206. package/dist/types/locus-info/infoUtils.d.ts +2 -0
  207. package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
  208. package/dist/types/locus-info/parser.d.ts +212 -0
  209. package/dist/types/locus-info/selfUtils.d.ts +2 -0
  210. package/dist/types/media/index.d.ts +34 -0
  211. package/dist/types/media/properties.d.ts +93 -0
  212. package/dist/types/media/util.d.ts +2 -0
  213. package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
  214. package/dist/types/meeting/in-meeting-actions.d.ts +149 -0
  215. package/dist/types/meeting/index.d.ts +1462 -0
  216. package/dist/types/meeting/locusMediaRequest.d.ts +70 -0
  217. package/dist/types/meeting/muteState.d.ts +184 -0
  218. package/dist/types/meeting/request.d.ts +270 -0
  219. package/dist/types/meeting/request.type.d.ts +11 -0
  220. package/dist/types/meeting/state.d.ts +9 -0
  221. package/dist/types/meeting/util.d.ts +77 -0
  222. package/dist/types/meeting-info/collection.d.ts +20 -0
  223. package/dist/types/meeting-info/index.d.ts +62 -0
  224. package/dist/types/meeting-info/meeting-info-v2.d.ts +122 -0
  225. package/dist/types/meeting-info/request.d.ts +22 -0
  226. package/dist/types/meeting-info/util.d.ts +2 -0
  227. package/dist/types/meeting-info/utilv2.d.ts +2 -0
  228. package/dist/types/meetings/collection.d.ts +31 -0
  229. package/dist/types/meetings/index.d.ts +365 -0
  230. package/dist/types/meetings/meetings.types.d.ts +4 -0
  231. package/dist/types/meetings/request.d.ts +27 -0
  232. package/dist/types/meetings/util.d.ts +18 -0
  233. package/dist/types/member/index.d.ts +158 -0
  234. package/dist/types/member/types.d.ts +21 -0
  235. package/dist/types/member/util.d.ts +2 -0
  236. package/dist/types/members/collection.d.ts +29 -0
  237. package/dist/types/members/index.d.ts +353 -0
  238. package/dist/types/members/request.d.ts +114 -0
  239. package/dist/types/members/types.d.ts +24 -0
  240. package/dist/types/members/util.d.ts +210 -0
  241. package/dist/types/metrics/constants.d.ts +55 -0
  242. package/dist/types/metrics/index.d.ts +45 -0
  243. package/dist/types/multistream/mediaRequestManager.d.ts +118 -0
  244. package/dist/types/multistream/receiveSlot.d.ts +68 -0
  245. package/dist/types/multistream/receiveSlotManager.d.ts +56 -0
  246. package/dist/types/multistream/remoteMedia.d.ts +72 -0
  247. package/dist/types/multistream/remoteMediaGroup.d.ts +47 -0
  248. package/dist/types/multistream/remoteMediaManager.d.ts +277 -0
  249. package/dist/types/networkQualityMonitor/index.d.ts +70 -0
  250. package/dist/types/personal-meeting-room/index.d.ts +47 -0
  251. package/dist/types/personal-meeting-room/request.d.ts +14 -0
  252. package/dist/types/personal-meeting-room/util.d.ts +2 -0
  253. package/dist/types/reachability/index.d.ts +152 -0
  254. package/dist/types/reachability/request.d.ts +37 -0
  255. package/dist/types/reactions/constants.d.ts +3 -0
  256. package/dist/types/reactions/reactions.d.ts +4 -0
  257. package/dist/types/reactions/reactions.type.d.ts +52 -0
  258. package/dist/types/reconnection-manager/index.d.ts +126 -0
  259. package/dist/types/recording-controller/enums.d.ts +7 -0
  260. package/dist/types/recording-controller/index.d.ts +208 -0
  261. package/dist/types/recording-controller/util.d.ts +14 -0
  262. package/dist/types/roap/index.d.ts +77 -0
  263. package/dist/types/roap/request.d.ts +36 -0
  264. package/dist/types/roap/turnDiscovery.d.ts +91 -0
  265. package/dist/types/statsAnalyzer/global.d.ts +36 -0
  266. package/dist/types/statsAnalyzer/index.d.ts +200 -0
  267. package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
  268. package/dist/types/transcription/index.d.ts +64 -0
  269. package/package.json +29 -21
  270. package/src/annotation/annotation.types.ts +52 -0
  271. package/src/annotation/constants.ts +36 -0
  272. package/src/annotation/index.ts +343 -0
  273. package/src/breakouts/README.md +220 -0
  274. package/src/breakouts/breakout.ts +188 -0
  275. package/src/breakouts/collection.ts +19 -0
  276. package/src/breakouts/edit-lock-error.ts +25 -0
  277. package/src/breakouts/events.ts +56 -0
  278. package/src/breakouts/index.ts +925 -0
  279. package/src/breakouts/request.ts +55 -0
  280. package/src/breakouts/utils.ts +57 -0
  281. package/src/common/errors/webex-errors.ts +6 -2
  282. package/src/common/logs/logger-proxy.ts +1 -1
  283. package/src/config.ts +5 -7
  284. package/src/constants.ts +183 -22
  285. package/src/controls-options-manager/constants.ts +5 -0
  286. package/src/controls-options-manager/enums.ts +18 -0
  287. package/src/controls-options-manager/index.ts +278 -0
  288. package/src/controls-options-manager/types.ts +59 -0
  289. package/src/controls-options-manager/util.ts +286 -0
  290. package/src/index.ts +39 -0
  291. package/src/interpretation/README.md +51 -0
  292. package/src/interpretation/collection.ts +19 -0
  293. package/src/interpretation/index.ts +182 -0
  294. package/src/interpretation/siLanguage.ts +18 -0
  295. package/src/locus-info/controlsUtils.ts +110 -0
  296. package/src/locus-info/index.ts +374 -38
  297. package/src/locus-info/mediaSharesUtils.ts +48 -0
  298. package/src/locus-info/parser.ts +2 -1
  299. package/src/locus-info/selfUtils.ts +86 -2
  300. package/src/media/index.ts +78 -144
  301. package/src/media/properties.ts +55 -99
  302. package/src/mediaQualityMetrics/config.ts +379 -377
  303. package/src/meeting/in-meeting-actions.ts +151 -3
  304. package/src/meeting/index.ts +2181 -2052
  305. package/src/meeting/locusMediaRequest.ts +309 -0
  306. package/src/meeting/muteState.ts +228 -132
  307. package/src/meeting/request.ts +100 -91
  308. package/src/meeting/request.type.ts +2 -0
  309. package/src/meeting/util.ts +450 -439
  310. package/src/meeting-info/index.ts +54 -8
  311. package/src/meeting-info/meeting-info-v2.ts +150 -14
  312. package/src/meeting-info/utilv2.ts +13 -3
  313. package/src/meetings/collection.ts +20 -0
  314. package/src/meetings/index.ts +396 -89
  315. package/src/meetings/meetings.types.ts +12 -0
  316. package/src/meetings/request.ts +3 -1
  317. package/src/meetings/util.ts +103 -4
  318. package/src/member/index.ts +42 -0
  319. package/src/member/types.ts +24 -0
  320. package/src/member/util.ts +95 -1
  321. package/src/members/collection.ts +8 -0
  322. package/src/members/index.ts +108 -6
  323. package/src/members/request.ts +98 -17
  324. package/src/members/types.ts +28 -0
  325. package/src/members/util.ts +319 -240
  326. package/src/metrics/constants.ts +2 -4
  327. package/src/metrics/index.ts +1 -490
  328. package/src/multistream/mediaRequestManager.ts +337 -63
  329. package/src/multistream/receiveSlot.ts +68 -26
  330. package/src/multistream/receiveSlotManager.ts +61 -38
  331. package/src/multistream/remoteMedia.ts +29 -3
  332. package/src/multistream/remoteMediaGroup.ts +61 -2
  333. package/src/multistream/remoteMediaManager.ts +260 -66
  334. package/src/networkQualityMonitor/index.ts +6 -6
  335. package/src/reachability/index.ts +75 -25
  336. package/src/reachability/request.ts +10 -5
  337. package/src/reactions/constants.ts +4 -0
  338. package/src/reactions/reactions.ts +4 -4
  339. package/src/reactions/reactions.type.ts +28 -3
  340. package/src/reconnection-manager/index.ts +83 -49
  341. package/src/recording-controller/enums.ts +8 -0
  342. package/src/recording-controller/index.ts +333 -0
  343. package/src/recording-controller/util.ts +75 -0
  344. package/src/roap/index.ts +21 -30
  345. package/src/roap/request.ts +72 -61
  346. package/src/roap/turnDiscovery.ts +51 -27
  347. package/src/statsAnalyzer/global.ts +1 -94
  348. package/src/statsAnalyzer/index.ts +380 -390
  349. package/src/statsAnalyzer/mqaUtil.ts +106 -99
  350. package/test/integration/spec/converged-space-meetings.js +233 -0
  351. package/test/integration/spec/journey.js +336 -259
  352. package/test/integration/spec/space-meeting.js +77 -4
  353. package/test/unit/spec/annotation/index.ts +436 -0
  354. package/test/unit/spec/breakouts/breakout.ts +237 -0
  355. package/test/unit/spec/breakouts/collection.ts +15 -0
  356. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  357. package/test/unit/spec/breakouts/events.ts +89 -0
  358. package/test/unit/spec/breakouts/index.ts +1790 -0
  359. package/test/unit/spec/breakouts/request.ts +104 -0
  360. package/test/unit/spec/breakouts/utils.js +72 -0
  361. package/test/unit/spec/controls-options-manager/index.js +287 -0
  362. package/test/unit/spec/controls-options-manager/util.js +518 -0
  363. package/test/unit/spec/fixture/locus.js +1 -0
  364. package/test/unit/spec/interpretation/collection.ts +15 -0
  365. package/test/unit/spec/interpretation/index.ts +329 -0
  366. package/test/unit/spec/interpretation/siLanguage.ts +26 -0
  367. package/test/unit/spec/locus-info/controlsUtils.js +323 -30
  368. package/test/unit/spec/locus-info/index.js +792 -4
  369. package/test/unit/spec/locus-info/mediaSharesUtils.ts +22 -0
  370. package/test/unit/spec/locus-info/selfConstant.js +48 -0
  371. package/test/unit/spec/locus-info/selfUtils.js +275 -0
  372. package/test/unit/spec/media/index.ts +130 -24
  373. package/test/unit/spec/media/properties.ts +9 -9
  374. package/test/unit/spec/meeting/in-meeting-actions.ts +75 -3
  375. package/test/unit/spec/meeting/index.js +2834 -1442
  376. package/test/unit/spec/meeting/locusMediaRequest.ts +436 -0
  377. package/test/unit/spec/meeting/muteState.js +370 -208
  378. package/test/unit/spec/meeting/request.js +354 -42
  379. package/test/unit/spec/meeting/utils.js +384 -170
  380. package/test/unit/spec/meeting-info/index.js +181 -0
  381. package/test/unit/spec/meeting-info/meetinginfov2.js +383 -5
  382. package/test/unit/spec/meeting-info/utilv2.js +21 -0
  383. package/test/unit/spec/meetings/collection.js +14 -0
  384. package/test/unit/spec/meetings/index.js +847 -121
  385. package/test/unit/spec/meetings/utils.js +206 -2
  386. package/test/unit/spec/member/index.js +31 -0
  387. package/test/unit/spec/member/util.js +408 -32
  388. package/test/unit/spec/members/index.js +320 -1
  389. package/test/unit/spec/members/request.js +206 -27
  390. package/test/unit/spec/members/utils.js +184 -0
  391. package/test/unit/spec/metrics/index.js +1 -50
  392. package/test/unit/spec/multistream/mediaRequestManager.ts +1012 -109
  393. package/test/unit/spec/multistream/receiveSlot.ts +77 -18
  394. package/test/unit/spec/multistream/receiveSlotManager.ts +69 -39
  395. package/test/unit/spec/multistream/remoteMedia.ts +32 -2
  396. package/test/unit/spec/multistream/remoteMediaGroup.ts +271 -5
  397. package/test/unit/spec/multistream/remoteMediaManager.ts +672 -65
  398. package/test/unit/spec/networkQualityMonitor/index.js +4 -4
  399. package/test/unit/spec/reachability/index.ts +176 -25
  400. package/test/unit/spec/reachability/request.js +66 -0
  401. package/test/unit/spec/reconnection-manager/index.js +95 -13
  402. package/test/unit/spec/recording-controller/index.js +307 -0
  403. package/test/unit/spec/recording-controller/util.js +229 -0
  404. package/test/unit/spec/roap/index.ts +28 -52
  405. package/test/unit/spec/roap/request.ts +225 -0
  406. package/test/unit/spec/roap/turnDiscovery.ts +73 -34
  407. package/test/unit/spec/stats-analyzer/index.js +94 -43
  408. package/test/utils/constants.js +9 -0
  409. package/test/utils/integrationTestUtils.js +46 -0
  410. package/test/utils/testUtils.js +0 -45
  411. package/test/utils/webex-config.js +4 -0
  412. package/test/utils/webex-test-users.js +7 -3
  413. package/tsconfig.json +6 -0
  414. package/dist/media/internal-media-core-wrapper.js +0 -18
  415. package/dist/media/internal-media-core-wrapper.js.map +0 -1
  416. package/dist/meeting/effectsState.js +0 -262
  417. package/dist/meeting/effectsState.js.map +0 -1
  418. package/dist/metrics/config.js +0 -299
  419. package/dist/metrics/config.js.map +0 -1
  420. package/dist/multistream/multistreamMedia.js +0 -106
  421. package/dist/multistream/multistreamMedia.js.map +0 -1
  422. package/src/index.js +0 -15
  423. package/src/media/internal-media-core-wrapper.ts +0 -9
  424. package/src/meeting/effectsState.ts +0 -211
  425. package/src/metrics/config.ts +0 -495
  426. package/src/multistream/multistreamMedia.ts +0 -93
  427. package/test/unit/spec/meeting/effectsState.js +0 -281
@@ -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,31 +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
- * @returns {Promise}
103
+ * Returns joinCookie from boundedStorage if present.
104
+ * @returns {Object} joinCookie
68
105
  */
69
106
  (0, _createClass2.default)(MeetingRequest, [{
70
107
  key: "joinMeeting",
71
- value: function () {
72
- var _joinMeeting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(options) {
73
- var asResourceOccupant, inviteeAddress, meetingNumber, permissionToken, deviceUrl, locusUrl, resourceId, correlationId, ensureConversation, moderator, pin, moveToResource, roapMessage, preferTranscoding, url, body;
74
- return _regenerator.default.wrap(function _callee$(_context) {
75
- 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) {
76
133
  case 0:
77
- 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;
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;
78
135
  _loggerProxy.default.logger.info('Meeting:request#joinMeeting --> Joining a meeting', correlationId);
79
136
  url = '';
137
+ _context2.next = 5;
138
+ return this.getJoinCookie();
139
+ case 5:
140
+ joinCookie = _context2.sent;
80
141
  body = {
81
142
  asResourceOccupant: asResourceOccupant,
82
143
  device: {
@@ -92,9 +153,25 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
92
153
  ensureConversation: ensureConversation || false,
93
154
  supportsNativeLobby: 1,
94
155
  clientMediaPreferences: {
95
- preferTranscoding: preferTranscoding !== null && preferTranscoding !== void 0 ? preferTranscoding : true
156
+ preferTranscoding: preferTranscoding !== null && preferTranscoding !== void 0 ? preferTranscoding : true,
157
+ joinCookie: joinCookie
96
158
  }
97
- }; // @ts-ignore
159
+ };
160
+ if (breakoutsSupported) {
161
+ deviceCapabilities.push(_constants.BREAKOUTS.BREAKOUTS_SUPPORTED);
162
+ }
163
+ if (liveAnnotationSupported) {
164
+ deviceCapabilities.push(_constants.ANNOTATION.ANNOTATION_ON_SHARE_SUPPORTED);
165
+ }
166
+ if (locale) {
167
+ body.locale = locale;
168
+ }
169
+
170
+ // add deviceCapabilities prop
171
+ if (deviceCapabilities.length) {
172
+ body.deviceCapabilities = deviceCapabilities;
173
+ }
174
+ // @ts-ignore
98
175
  if (this.webex.meetings.clientRegion) {
99
176
  // @ts-ignore
100
177
  body.device.countryCode = this.webex.meetings.clientRegion.countryCode;
@@ -111,34 +188,34 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
111
188
  body.pin = pin;
112
189
  }
113
190
  if (!locusUrl) {
114
- _context.next = 12;
191
+ _context2.next = 19;
115
192
  break;
116
193
  }
117
194
  url = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT);
118
- _context.next = 24;
195
+ _context2.next = 31;
119
196
  break;
120
- case 12:
197
+ case 19:
121
198
  if (!(inviteeAddress || meetingNumber)) {
122
- _context.next = 24;
199
+ _context2.next = 31;
123
200
  break;
124
201
  }
125
- _context.prev = 13;
126
- _context.next = 16;
202
+ _context2.prev = 20;
203
+ _context2.next = 23;
127
204
  return this.webex.internal.services.waitForCatalog('postauth');
128
- case 16:
205
+ case 23:
129
206
  // @ts-ignore
130
207
  url = "".concat(this.webex.internal.services.get('locus'), "/").concat(_constants.LOCI, "/").concat(_constants.CALL);
131
208
  body.invitee = {
132
209
  address: inviteeAddress || "wbxmn:".concat(meetingNumber)
133
210
  };
134
- _context.next = 24;
211
+ _context2.next = 31;
135
212
  break;
136
- case 20:
137
- _context.prev = 20;
138
- _context.t0 = _context["catch"](13);
139
- _loggerProxy.default.logger.error("Meeting:request#joinMeeting Error Joining ".concat(inviteeAddress || meetingNumber, " --> ").concat(_context.t0));
140
- throw _context.t0;
141
- case 24:
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:
142
219
  // TODO: -- this will be resolved in SDK request
143
220
  url = url.concat("?".concat(_constants.ALTERNATE_REDIRECT_TRUE));
144
221
  if (resourceId === inviteeAddress) {
@@ -151,16 +228,16 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
151
228
  }
152
229
 
153
230
  /// @ts-ignore
154
- return _context.abrupt("return", this.request({
231
+ return _context2.abrupt("return", this.request({
155
232
  method: _constants.HTTP_VERBS.POST,
156
233
  uri: url,
157
234
  body: body
158
235
  }));
159
- case 28:
236
+ case 35:
160
237
  case "end":
161
- return _context.stop();
238
+ return _context2.stop();
162
239
  }
163
- }, _callee, this, [[13, 20]]);
240
+ }, _callee2, this, [[20, 27]]);
164
241
  }));
165
242
  function joinMeeting(_x) {
166
243
  return _joinMeeting.apply(this, arguments);
@@ -177,9 +254,9 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
177
254
  */
178
255
  }, {
179
256
  key: "refreshCaptcha",
180
- value: function refreshCaptcha(_ref) {
181
- var captchaRefreshUrl = _ref.captchaRefreshUrl,
182
- captchaId = _ref.captchaId;
257
+ value: function refreshCaptcha(_ref2) {
258
+ var captchaRefreshUrl = _ref2.captchaRefreshUrl,
259
+ captchaId = _ref2.captchaId;
183
260
  var body = {
184
261
  captchaId: captchaId
185
262
  };
@@ -207,11 +284,11 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
207
284
  */
208
285
  }, {
209
286
  key: "dialIn",
210
- value: function dialIn(_ref2) {
211
- var locusUrl = _ref2.locusUrl,
212
- dialInUrl = _ref2.dialInUrl,
213
- clientUrl = _ref2.clientUrl,
214
- 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;
215
292
  _loggerProxy.default.logger.info('Meeting:request#dialIn --> Provisioning a dial in device', correlationId);
216
293
  var uri = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT);
217
294
  var body = {
@@ -225,7 +302,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
225
302
  };
226
303
 
227
304
  // @ts-ignore
228
- return this.request({
305
+ return this.locusDeltaRequest({
229
306
  method: _constants.HTTP_VERBS.POST,
230
307
  uri: uri,
231
308
  body: body
@@ -248,12 +325,12 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
248
325
  */
249
326
  }, {
250
327
  key: "dialOut",
251
- value: function dialOut(_ref3) {
252
- var locusUrl = _ref3.locusUrl,
253
- dialOutUrl = _ref3.dialOutUrl,
254
- phoneNumber = _ref3.phoneNumber,
255
- clientUrl = _ref3.clientUrl,
256
- 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;
257
334
  _loggerProxy.default.logger.info('Meeting:request#dialOut --> Provisioning a dial out device', correlationId);
258
335
  var uri = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT);
259
336
  var body = {
@@ -268,7 +345,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
268
345
  };
269
346
 
270
347
  // @ts-ignore
271
- return this.request({
348
+ return this.locusDeltaRequest({
272
349
  method: _constants.HTTP_VERBS.POST,
273
350
  uri: uri,
274
351
  body: body
@@ -350,11 +427,11 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
350
427
  */
351
428
  }, {
352
429
  key: "disconnectPhoneAudio",
353
- value: function disconnectPhoneAudio(_ref4) {
354
- var locusUrl = _ref4.locusUrl,
355
- phoneUrl = _ref4.phoneUrl,
356
- correlationId = _ref4.correlationId,
357
- selfId = _ref4.selfId;
430
+ value: function disconnectPhoneAudio(_ref5) {
431
+ var locusUrl = _ref5.locusUrl,
432
+ phoneUrl = _ref5.phoneUrl,
433
+ correlationId = _ref5.correlationId,
434
+ selfId = _ref5.selfId;
358
435
  _loggerProxy.default.logger.info("Meeting:request#disconnectPhoneAudio --> request phone ".concat(phoneUrl, " to leave"), correlationId);
359
436
  var uri = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT, "/").concat(selfId, "/").concat(_constants.LEAVE);
360
437
  var body = {
@@ -366,7 +443,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
366
443
  };
367
444
 
368
445
  // @ts-ignore
369
- return this.request({
446
+ return this.locusDeltaRequest({
370
447
  method: _constants.HTTP_VERBS.PUT,
371
448
  uri: uri,
372
449
  body: body
@@ -388,12 +465,12 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
388
465
  */
389
466
  }, {
390
467
  key: "leaveMeeting",
391
- value: function leaveMeeting(_ref5) {
392
- var locusUrl = _ref5.locusUrl,
393
- selfId = _ref5.selfId,
394
- url = _ref5.deviceUrl,
395
- resourceId = _ref5.resourceId,
396
- correlationId = _ref5.correlationId;
468
+ value: function leaveMeeting(_ref6) {
469
+ var locusUrl = _ref6.locusUrl,
470
+ selfId = _ref6.selfId,
471
+ url = _ref6.deviceUrl,
472
+ resourceId = _ref6.resourceId,
473
+ correlationId = _ref6.correlationId;
397
474
  _loggerProxy.default.logger.info('Meeting:request#leaveMeeting --> Leaving a meeting', correlationId);
398
475
  var uri = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT, "/").concat(selfId, "/").concat(_constants.LEAVE);
399
476
  var body = {
@@ -405,9 +482,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
405
482
  usingResource: resourceId || null,
406
483
  correlationId: correlationId
407
484
  };
408
-
409
- // @ts-ignore
410
- return this.request({
485
+ return this.locusDeltaRequest({
411
486
  method: _constants.HTTP_VERBS.PUT,
412
487
  uri: uri,
413
488
  body: body
@@ -434,9 +509,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
434
509
  },
435
510
  correlationId: options.correlationId
436
511
  };
437
-
438
- // @ts-ignore
439
- return this.request({
512
+ return this.locusDeltaRequest({
440
513
  method: _constants.HTTP_VERBS.PUT,
441
514
  uri: uri,
442
515
  body: body
@@ -444,31 +517,11 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
444
517
  }
445
518
 
446
519
  /**
447
- * Make a network request to acknowledge a meeting
520
+ * Makes a network request to lock the meeting
448
521
  * @param {Object} options
449
- * @param {String} options.locusUrl
450
- * @param {String} options.deviceUrl
451
- * @param {String} options.id
522
+ * @param {Boolean} options.lock Whether it is locked or not
452
523
  * @returns {Promise}
453
524
  */
454
- }, {
455
- key: "recordMeeting",
456
- value: function recordMeeting(options) {
457
- var uri = "".concat(options.locusUrl, "/").concat(_constants.CONTROLS);
458
- var body = {
459
- record: {
460
- recording: options.recording,
461
- paused: options.paused
462
- }
463
- };
464
-
465
- // @ts-ignore
466
- return this.request({
467
- method: _constants.HTTP_VERBS.PATCH,
468
- uri: uri,
469
- body: body
470
- });
471
- }
472
525
  }, {
473
526
  key: "lockMeeting",
474
527
  value: function lockMeeting(options) {
@@ -478,9 +531,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
478
531
  locked: options.lock
479
532
  }
480
533
  };
481
-
482
- // @ts-ignore
483
- return this.request({
534
+ return this.locusDeltaRequest({
484
535
  method: _constants.HTTP_VERBS.PATCH,
485
536
  uri: uri,
486
537
  body: body
@@ -508,48 +559,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
508
559
  }, options.reason && {
509
560
  reason: options.reason
510
561
  });
511
-
512
- // @ts-ignore
513
- return this.request({
514
- method: _constants.HTTP_VERBS.PUT,
515
- uri: uri,
516
- body: body
517
- });
518
- }
519
-
520
- /**
521
- * Toggle remote audio and/or video
522
- * @param {Object} options options for toggling
523
- * @param {String} options.selfId Locus self id??
524
- * @param {String} options.locusUrl Locus url
525
- * @param {String} options.deviceUrl Url of a device
526
- * @param {String} options.resourceId Populated if you are paired to a device
527
- * @param {String} options.localMedias local sdps
528
- * @param {Boolean} options.preferTranscoding false for multistream (Homer), true for transcoded media (Edonus)
529
- * @returns {Promise}
530
- */
531
- }, {
532
- key: "remoteAudioVideoToggle",
533
- value: function remoteAudioVideoToggle(options) {
534
- var _options$preferTransc;
535
- var uri = "".concat(options.locusUrl, "/").concat(_constants.PARTICIPANT, "/").concat(options.selfId, "/").concat(_constants.MEDIA);
536
- var body = {
537
- device: {
538
- // @ts-ignore
539
- deviceType: this.config.meetings.deviceType,
540
- url: options.deviceUrl
541
- },
542
- usingResource: options.resourceId || null,
543
- correlationId: options.correlationId,
544
- respOnlySdp: true,
545
- localMedias: options.localMedias,
546
- clientMediaPreferences: {
547
- preferTranscoding: (_options$preferTransc = options.preferTranscoding) !== null && _options$preferTransc !== void 0 ? _options$preferTransc : true
548
- }
549
- };
550
-
551
- // @ts-ignore
552
- return this.request({
562
+ return this.locusDeltaRequest({
553
563
  method: _constants.HTTP_VERBS.PUT,
554
564
  uri: uri,
555
565
  body: body
@@ -597,6 +607,9 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
597
607
  if (options !== null && options !== void 0 && options.resourceToken) {
598
608
  body.resourceToken = options === null || options === void 0 ? void 0 : options.resourceToken;
599
609
  }
610
+ if (options !== null && options !== void 0 && options.annotationInfo) {
611
+ body.annotation = options === null || options === void 0 ? void 0 : options.annotationInfo;
612
+ }
600
613
 
601
614
  // @ts-ignore
602
615
  return this.request({
@@ -616,12 +629,12 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
616
629
  */
617
630
  }, {
618
631
  key: "sendDTMF",
619
- value: function sendDTMF(_ref6) {
620
- var locusUrl = _ref6.locusUrl,
621
- deviceUrl = _ref6.deviceUrl,
622
- tones = _ref6.tones;
632
+ value: function sendDTMF(_ref7) {
633
+ var locusUrl = _ref7.locusUrl,
634
+ deviceUrl = _ref7.deviceUrl,
635
+ tones = _ref7.tones;
623
636
  // @ts-ignore
624
- return this.request({
637
+ return this.locusDeltaRequest({
625
638
  method: _constants.HTTP_VERBS.POST,
626
639
  uri: "".concat(locusUrl, "/").concat(_constants.SEND_DTMF_ENDPOINT),
627
640
  body: {
@@ -650,12 +663,12 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
650
663
  */
651
664
  }, {
652
665
  key: "changeVideoLayout",
653
- value: function changeVideoLayout(_ref7) {
654
- var locusUrl = _ref7.locusUrl,
655
- deviceUrl = _ref7.deviceUrl,
656
- layoutType = _ref7.layoutType,
657
- main = _ref7.main,
658
- content = _ref7.content;
666
+ value: function changeVideoLayout(_ref8) {
667
+ var locusUrl = _ref8.locusUrl,
668
+ deviceUrl = _ref8.deviceUrl,
669
+ layoutType = _ref8.layoutType,
670
+ main = _ref8.main,
671
+ content = _ref8.content;
659
672
  // send main/content renderInfo only if both width and height are specified
660
673
  if (main && (!main.width || !main.height)) {
661
674
  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))));
@@ -679,7 +692,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
679
692
  } : undefined;
680
693
 
681
694
  // @ts-ignore
682
- return this.request({
695
+ return this.locusDeltaRequest({
683
696
  method: _constants.HTTP_VERBS.PUT,
684
697
  uri: "".concat(locusUrl, "/").concat(_constants.CONTROLS),
685
698
  body: {
@@ -700,12 +713,12 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
700
713
  */
701
714
  }, {
702
715
  key: "endMeetingForAll",
703
- value: function endMeetingForAll(_ref8) {
704
- var locusUrl = _ref8.locusUrl;
716
+ value: function endMeetingForAll(_ref9) {
717
+ var locusUrl = _ref9.locusUrl;
705
718
  var uri = "".concat(locusUrl, "/").concat(_constants.END);
706
719
 
707
720
  // @ts-ignore
708
- return this.request({
721
+ return this.locusDeltaRequest({
709
722
  method: _constants.HTTP_VERBS.POST,
710
723
  uri: uri
711
724
  });
@@ -719,8 +732,8 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
719
732
  */
720
733
  }, {
721
734
  key: "keepAlive",
722
- value: function keepAlive(_ref9) {
723
- var keepAliveUrl = _ref9.keepAliveUrl;
735
+ value: function keepAlive(_ref10) {
736
+ var keepAliveUrl = _ref10.keepAliveUrl;
724
737
  // @ts-ignore
725
738
  return this.request({
726
739
  method: _constants.HTTP_VERBS.GET,
@@ -738,10 +751,10 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
738
751
  */
739
752
  }, {
740
753
  key: "sendReaction",
741
- value: function sendReaction(_ref10) {
742
- var reactionChannelUrl = _ref10.reactionChannelUrl,
743
- reaction = _ref10.reaction,
744
- participantId = _ref10.participantId;
754
+ value: function sendReaction(_ref11) {
755
+ var reactionChannelUrl = _ref11.reactionChannelUrl,
756
+ reaction = _ref11.reaction,
757
+ participantId = _ref11.participantId;
745
758
  var uri = reactionChannelUrl;
746
759
 
747
760
  // @ts-ignore
@@ -765,12 +778,14 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
765
778
  */
766
779
  }, {
767
780
  key: "toggleReactions",
768
- value: function toggleReactions(_ref11) {
769
- var enable = _ref11.enable,
770
- locusUrl = _ref11.locusUrl,
771
- requestingParticipantId = _ref11.requestingParticipantId;
781
+ value: function toggleReactions(_ref12) {
782
+ var enable = _ref12.enable,
783
+ locusUrl = _ref12.locusUrl,
784
+ requestingParticipantId = _ref12.requestingParticipantId;
772
785
  var uri = "".concat(locusUrl, "/").concat(_constants.CONTROLS);
773
- return this.request({
786
+
787
+ // @ts-ignore
788
+ return this.locusDeltaRequest({
774
789
  method: _constants.HTTP_VERBS.PUT,
775
790
  uri: uri,
776
791
  body: {
@@ -781,6 +796,15 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
781
796
  }
782
797
  });
783
798
  }
799
+ }, {
800
+ key: "getLocusStatusByUrl",
801
+ value: function getLocusStatusByUrl(locusUrl) {
802
+ // @ts-ignore
803
+ return this.request({
804
+ method: _constants.HTTP_VERBS.GET,
805
+ uri: locusUrl
806
+ });
807
+ }
784
808
  }]);
785
809
  return MeetingRequest;
786
810
  }(_webexCore.StatelessWebexPlugin);