@webex/plugin-meetings 2.60.0 → 2.60.1-next.2

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 (535) hide show
  1. package/README.md +46 -8
  2. package/dist/annotation/annotation.types.d.ts +42 -0
  3. package/dist/annotation/annotation.types.js +7 -0
  4. package/dist/annotation/annotation.types.js.map +1 -0
  5. package/dist/annotation/constants.d.ts +31 -0
  6. package/dist/annotation/constants.js +41 -0
  7. package/dist/annotation/constants.js.map +1 -0
  8. package/dist/annotation/index.d.ts +117 -0
  9. package/dist/annotation/index.js +357 -0
  10. package/dist/annotation/index.js.map +1 -0
  11. package/dist/breakouts/breakout.d.ts +8 -0
  12. package/dist/breakouts/breakout.js +215 -0
  13. package/dist/breakouts/breakout.js.map +1 -0
  14. package/dist/breakouts/collection.d.ts +5 -0
  15. package/dist/breakouts/collection.js +22 -0
  16. package/dist/breakouts/collection.js.map +1 -0
  17. package/dist/breakouts/edit-lock-error.d.ts +15 -0
  18. package/dist/breakouts/edit-lock-error.js +51 -0
  19. package/dist/breakouts/edit-lock-error.js.map +1 -0
  20. package/dist/breakouts/events.d.ts +8 -0
  21. package/dist/breakouts/events.js +44 -0
  22. package/dist/breakouts/events.js.map +1 -0
  23. package/dist/breakouts/index.d.ts +5 -0
  24. package/dist/breakouts/index.js +1047 -0
  25. package/dist/breakouts/index.js.map +1 -0
  26. package/dist/breakouts/request.d.ts +22 -0
  27. package/dist/breakouts/request.js +77 -0
  28. package/dist/breakouts/request.js.map +1 -0
  29. package/dist/breakouts/utils.d.ts +15 -0
  30. package/dist/breakouts/utils.js +64 -0
  31. package/dist/breakouts/utils.js.map +1 -0
  32. package/dist/common/browser-detection.js +2 -3
  33. package/dist/common/browser-detection.js.map +1 -1
  34. package/dist/common/collection.js +3 -4
  35. package/dist/common/collection.js.map +1 -1
  36. package/dist/common/config.js +1 -2
  37. package/dist/common/config.js.map +1 -1
  38. package/dist/common/errors/captcha-error.js +1 -2
  39. package/dist/common/errors/captcha-error.js.map +1 -1
  40. package/dist/common/errors/intent-to-join.js +1 -2
  41. package/dist/common/errors/intent-to-join.js.map +1 -1
  42. package/dist/common/errors/join-meeting.js +1 -2
  43. package/dist/common/errors/join-meeting.js.map +1 -1
  44. package/dist/common/errors/media.js +1 -2
  45. package/dist/common/errors/media.js.map +1 -1
  46. package/dist/common/errors/no-meeting-info.d.ts +14 -0
  47. package/dist/common/errors/no-meeting-info.js +50 -0
  48. package/dist/common/errors/no-meeting-info.js.map +1 -0
  49. package/dist/common/errors/parameter.js +3 -4
  50. package/dist/common/errors/parameter.js.map +1 -1
  51. package/dist/common/errors/password-error.js +1 -2
  52. package/dist/common/errors/password-error.js.map +1 -1
  53. package/dist/common/errors/permission.js +1 -2
  54. package/dist/common/errors/permission.js.map +1 -1
  55. package/dist/common/errors/{reclaim-host-role-error.js → reclaim-host-role-errors.js} +7 -11
  56. package/dist/common/errors/reclaim-host-role-errors.js.map +1 -0
  57. package/dist/common/errors/reconnection-in-progress.js +1 -2
  58. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  59. package/dist/common/errors/reconnection.js +1 -2
  60. package/dist/common/errors/reconnection.js.map +1 -1
  61. package/dist/common/errors/stats.js +1 -2
  62. package/dist/common/errors/stats.js.map +1 -1
  63. package/dist/common/errors/webex-errors.d.ts +20 -8
  64. package/dist/common/errors/webex-errors.js +48 -28
  65. package/dist/common/errors/webex-errors.js.map +1 -1
  66. package/dist/common/errors/webex-meetings-error.js +1 -2
  67. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  68. package/dist/common/events/events-scope.js +1 -2
  69. package/dist/common/events/events-scope.js.map +1 -1
  70. package/dist/common/events/events.js +1 -2
  71. package/dist/common/events/events.js.map +1 -1
  72. package/dist/common/events/trigger-proxy.js +1 -2
  73. package/dist/common/events/trigger-proxy.js.map +1 -1
  74. package/dist/common/events/util.js +1 -2
  75. package/dist/common/events/util.js.map +1 -1
  76. package/dist/common/logs/logger-config.js +1 -2
  77. package/dist/common/logs/logger-config.js.map +1 -1
  78. package/dist/common/logs/logger-proxy.js +2 -3
  79. package/dist/common/logs/logger-proxy.js.map +1 -1
  80. package/dist/common/logs/request.d.ts +3 -1
  81. package/dist/common/logs/request.js +8 -5
  82. package/dist/common/logs/request.js.map +1 -1
  83. package/dist/common/queue.d.ts +9 -7
  84. package/dist/common/queue.js +22 -9
  85. package/dist/common/queue.js.map +1 -1
  86. package/dist/config.d.ts +6 -7
  87. package/dist/config.js +8 -10
  88. package/dist/config.js.map +1 -1
  89. package/dist/constants.d.ts +217 -97
  90. package/dist/constants.js +416 -441
  91. package/dist/constants.js.map +1 -1
  92. package/dist/controls-options-manager/constants.js +3 -6
  93. package/dist/controls-options-manager/constants.js.map +1 -1
  94. package/dist/controls-options-manager/enums.d.ts +11 -1
  95. package/dist/controls-options-manager/enums.js +15 -6
  96. package/dist/controls-options-manager/enums.js.map +1 -1
  97. package/dist/controls-options-manager/index.d.ts +17 -1
  98. package/dist/controls-options-manager/index.js +127 -38
  99. package/dist/controls-options-manager/index.js.map +1 -1
  100. package/dist/controls-options-manager/types.d.ts +43 -0
  101. package/dist/controls-options-manager/types.js +7 -0
  102. package/dist/controls-options-manager/types.js.map +1 -0
  103. package/dist/controls-options-manager/util.d.ts +1 -7
  104. package/dist/controls-options-manager/util.js +309 -19
  105. package/dist/controls-options-manager/util.js.map +1 -1
  106. package/dist/index.d.ts +6 -3
  107. package/dist/index.js +121 -5
  108. package/dist/index.js.map +1 -1
  109. package/dist/interceptors/index.d.ts +2 -0
  110. package/dist/interceptors/index.js +15 -0
  111. package/dist/interceptors/index.js.map +1 -0
  112. package/dist/interceptors/locusRetry.d.ts +27 -0
  113. package/dist/interceptors/locusRetry.js +94 -0
  114. package/dist/interceptors/locusRetry.js.map +1 -0
  115. package/dist/interpretation/collection.d.ts +5 -0
  116. package/dist/interpretation/collection.js +22 -0
  117. package/dist/interpretation/collection.js.map +1 -0
  118. package/dist/interpretation/index.d.ts +5 -0
  119. package/dist/interpretation/index.js +365 -0
  120. package/dist/interpretation/index.js.map +1 -0
  121. package/dist/interpretation/siLanguage.d.ts +5 -0
  122. package/dist/interpretation/siLanguage.js +24 -0
  123. package/dist/interpretation/siLanguage.js.map +1 -0
  124. package/dist/locus-info/controlsUtils.js +100 -11
  125. package/dist/locus-info/controlsUtils.js.map +1 -1
  126. package/dist/locus-info/embeddedAppsUtils.js +3 -4
  127. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  128. package/dist/locus-info/fullState.js +1 -2
  129. package/dist/locus-info/fullState.js.map +1 -1
  130. package/dist/locus-info/hostUtils.js +1 -2
  131. package/dist/locus-info/hostUtils.js.map +1 -1
  132. package/dist/locus-info/index.d.ts +57 -4
  133. package/dist/locus-info/index.js +425 -84
  134. package/dist/locus-info/index.js.map +1 -1
  135. package/dist/locus-info/infoUtils.js +13 -5
  136. package/dist/locus-info/infoUtils.js.map +1 -1
  137. package/dist/locus-info/mediaSharesUtils.js +58 -3
  138. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  139. package/dist/locus-info/parser.d.ts +66 -6
  140. package/dist/locus-info/parser.js +253 -80
  141. package/dist/locus-info/parser.js.map +1 -1
  142. package/dist/locus-info/selfUtils.js +97 -13
  143. package/dist/locus-info/selfUtils.js.map +1 -1
  144. package/dist/media/index.d.ts +2 -0
  145. package/dist/media/index.js +107 -319
  146. package/dist/media/index.js.map +1 -1
  147. package/dist/media/properties.d.ts +38 -53
  148. package/dist/media/properties.js +96 -153
  149. package/dist/media/properties.js.map +1 -1
  150. package/dist/media/util.js +1 -22
  151. package/dist/media/util.js.map +1 -1
  152. package/dist/mediaQualityMetrics/config.d.ts +234 -230
  153. package/dist/mediaQualityMetrics/config.js +302 -498
  154. package/dist/mediaQualityMetrics/config.js.map +1 -1
  155. package/dist/meeting/in-meeting-actions.d.ts +88 -0
  156. package/dist/meeting/in-meeting-actions.js +94 -3
  157. package/dist/meeting/in-meeting-actions.js.map +1 -1
  158. package/dist/meeting/index.d.ts +591 -494
  159. package/dist/meeting/index.js +4732 -2990
  160. package/dist/meeting/index.js.map +1 -1
  161. package/dist/meeting/locusMediaRequest.d.ts +74 -0
  162. package/dist/meeting/locusMediaRequest.js +291 -0
  163. package/dist/meeting/locusMediaRequest.js.map +1 -0
  164. package/dist/meeting/muteState.d.ts +93 -25
  165. package/dist/meeting/muteState.js +224 -133
  166. package/dist/meeting/muteState.js.map +1 -1
  167. package/dist/meeting/request.d.ts +82 -47
  168. package/dist/meeting/request.js +297 -199
  169. package/dist/meeting/request.js.map +1 -1
  170. package/dist/meeting/request.type.d.ts +11 -0
  171. package/dist/meeting/request.type.js +7 -0
  172. package/dist/meeting/request.type.js.map +1 -0
  173. package/dist/meeting/state.js +1 -2
  174. package/dist/meeting/state.js.map +1 -1
  175. package/dist/meeting/util.d.ts +102 -1
  176. package/dist/meeting/util.js +605 -435
  177. package/dist/meeting/util.js.map +1 -1
  178. package/dist/meeting-info/collection.js +3 -4
  179. package/dist/meeting-info/collection.js.map +1 -1
  180. package/dist/meeting-info/index.d.ts +13 -1
  181. package/dist/meeting-info/index.js +74 -7
  182. package/dist/meeting-info/index.js.map +1 -1
  183. package/dist/meeting-info/meeting-info-v2.d.ts +31 -1
  184. package/dist/meeting-info/meeting-info-v2.js +200 -63
  185. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  186. package/dist/meeting-info/request.js +1 -2
  187. package/dist/meeting-info/request.js.map +1 -1
  188. package/dist/meeting-info/util.js +2 -3
  189. package/dist/meeting-info/util.js.map +1 -1
  190. package/dist/meeting-info/utilv2.js +39 -41
  191. package/dist/meeting-info/utilv2.js.map +1 -1
  192. package/dist/meetings/collection.d.ts +17 -0
  193. package/dist/meetings/collection.js +42 -4
  194. package/dist/meetings/collection.js.map +1 -1
  195. package/dist/meetings/index.d.ts +93 -21
  196. package/dist/meetings/index.js +490 -127
  197. package/dist/meetings/index.js.map +1 -1
  198. package/dist/meetings/meetings.types.d.ts +4 -0
  199. package/dist/meetings/meetings.types.js +7 -0
  200. package/dist/meetings/meetings.types.js.map +1 -0
  201. package/dist/meetings/request.js +4 -3
  202. package/dist/meetings/request.js.map +1 -1
  203. package/dist/meetings/util.js +107 -6
  204. package/dist/meetings/util.js.map +1 -1
  205. package/dist/member/index.d.ts +13 -1
  206. package/dist/member/index.js +45 -2
  207. package/dist/member/index.js.map +1 -1
  208. package/dist/member/member.types.js +3 -4
  209. package/dist/member/member.types.js.map +1 -1
  210. package/dist/member/types.d.ts +32 -0
  211. package/dist/member/types.js +23 -0
  212. package/dist/member/types.js.map +1 -0
  213. package/dist/member/util.js +120 -29
  214. package/dist/member/util.js.map +1 -1
  215. package/dist/members/collection.d.ts +5 -0
  216. package/dist/members/collection.js +11 -2
  217. package/dist/members/collection.js.map +1 -1
  218. package/dist/members/index.d.ts +56 -11
  219. package/dist/members/index.js +174 -47
  220. package/dist/members/index.js.map +1 -1
  221. package/dist/members/request.d.ts +67 -11
  222. package/dist/members/request.js +102 -54
  223. package/dist/members/request.js.map +1 -1
  224. package/dist/members/types.js +3 -4
  225. package/dist/members/types.js.map +1 -1
  226. package/dist/members/util.d.ts +214 -1
  227. package/dist/members/util.js +327 -284
  228. package/dist/members/util.js.map +1 -1
  229. package/dist/metrics/constants.d.ts +15 -6
  230. package/dist/metrics/constants.js +17 -9
  231. package/dist/metrics/constants.js.map +1 -1
  232. package/dist/metrics/index.d.ts +4 -111
  233. package/dist/metrics/index.js +4 -452
  234. package/dist/metrics/index.js.map +1 -1
  235. package/dist/multistream/mediaRequestManager.d.ts +118 -0
  236. package/dist/multistream/mediaRequestManager.js +344 -0
  237. package/dist/multistream/mediaRequestManager.js.map +1 -0
  238. package/dist/multistream/receiveSlot.d.ts +68 -0
  239. package/dist/multistream/receiveSlot.js +200 -0
  240. package/dist/multistream/receiveSlot.js.map +1 -0
  241. package/dist/multistream/receiveSlotManager.d.ts +56 -0
  242. package/dist/multistream/receiveSlotManager.js +174 -0
  243. package/dist/multistream/receiveSlotManager.js.map +1 -0
  244. package/dist/multistream/remoteMedia.d.ts +72 -0
  245. package/dist/multistream/remoteMedia.js +268 -0
  246. package/dist/multistream/remoteMedia.js.map +1 -0
  247. package/dist/multistream/remoteMediaGroup.d.ts +47 -0
  248. package/dist/multistream/remoteMediaGroup.js +267 -0
  249. package/dist/multistream/remoteMediaGroup.js.map +1 -0
  250. package/dist/multistream/remoteMediaManager.d.ts +285 -0
  251. package/dist/multistream/remoteMediaManager.js +1211 -0
  252. package/dist/multistream/remoteMediaManager.js.map +1 -0
  253. package/dist/multistream/sendSlotManager.d.ts +61 -0
  254. package/dist/multistream/sendSlotManager.js +236 -0
  255. package/dist/multistream/sendSlotManager.js.map +1 -0
  256. package/dist/networkQualityMonitor/index.js +5 -4
  257. package/dist/networkQualityMonitor/index.js.map +1 -1
  258. package/dist/personal-meeting-room/index.js +2 -3
  259. package/dist/personal-meeting-room/index.js.map +1 -1
  260. package/dist/personal-meeting-room/request.js +2 -3
  261. package/dist/personal-meeting-room/request.js.map +1 -1
  262. package/dist/personal-meeting-room/util.js +1 -2
  263. package/dist/personal-meeting-room/util.js.map +1 -1
  264. package/dist/reachability/clusterReachability.d.ts +109 -0
  265. package/dist/reachability/clusterReachability.js +357 -0
  266. package/dist/reachability/clusterReachability.js.map +1 -0
  267. package/dist/reachability/index.d.ts +61 -95
  268. package/dist/reachability/index.js +300 -393
  269. package/dist/reachability/index.js.map +1 -1
  270. package/dist/reachability/request.d.ts +7 -3
  271. package/dist/reachability/request.js +18 -10
  272. package/dist/reachability/request.js.map +1 -1
  273. package/dist/reachability/util.d.ts +8 -0
  274. package/dist/reachability/util.js +29 -0
  275. package/dist/reachability/util.js.map +1 -0
  276. package/dist/reactions/constants.d.ts +3 -0
  277. package/dist/reactions/constants.js +12 -0
  278. package/dist/reactions/constants.js.map +1 -0
  279. package/dist/reactions/reactions.d.ts +2 -2
  280. package/dist/reactions/reactions.js +4 -6
  281. package/dist/reactions/reactions.js.map +1 -1
  282. package/dist/reactions/reactions.type.d.ts +23 -3
  283. package/dist/reactions/reactions.type.js +21 -23
  284. package/dist/reactions/reactions.type.js.map +1 -1
  285. package/dist/reconnection-manager/index.d.ts +32 -8
  286. package/dist/reconnection-manager/index.js +282 -231
  287. package/dist/reconnection-manager/index.js.map +1 -1
  288. package/dist/recording-controller/enums.js +4 -5
  289. package/dist/recording-controller/enums.js.map +1 -1
  290. package/dist/recording-controller/index.d.ts +15 -1
  291. package/dist/recording-controller/index.js +57 -46
  292. package/dist/recording-controller/index.js.map +1 -1
  293. package/dist/recording-controller/util.d.ts +5 -4
  294. package/dist/recording-controller/util.js +10 -10
  295. package/dist/recording-controller/util.js.map +1 -1
  296. package/dist/roap/index.d.ts +9 -47
  297. package/dist/roap/index.js +101 -235
  298. package/dist/roap/index.js.map +1 -1
  299. package/dist/roap/request.d.ts +18 -12
  300. package/dist/roap/request.js +126 -180
  301. package/dist/roap/request.js.map +1 -1
  302. package/dist/roap/turnDiscovery.d.ts +27 -16
  303. package/dist/roap/turnDiscovery.js +115 -105
  304. package/dist/roap/turnDiscovery.js.map +1 -1
  305. package/dist/rtcMetrics/constants.d.ts +4 -0
  306. package/dist/rtcMetrics/constants.js +11 -0
  307. package/dist/rtcMetrics/constants.js.map +1 -0
  308. package/dist/rtcMetrics/index.d.ts +54 -0
  309. package/dist/rtcMetrics/index.js +140 -0
  310. package/dist/rtcMetrics/index.js.map +1 -0
  311. package/dist/statsAnalyzer/global.d.ts +1 -83
  312. package/dist/statsAnalyzer/global.js +2 -85
  313. package/dist/statsAnalyzer/global.js.map +1 -1
  314. package/dist/statsAnalyzer/index.d.ts +50 -30
  315. package/dist/statsAnalyzer/index.js +435 -510
  316. package/dist/statsAnalyzer/index.js.map +1 -1
  317. package/dist/statsAnalyzer/mqaUtil.d.ts +8 -6
  318. package/dist/statsAnalyzer/mqaUtil.js +120 -83
  319. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  320. package/dist/transcription/index.js +1 -2
  321. package/dist/transcription/index.js.map +1 -1
  322. package/dist/webinar/collection.d.ts +16 -0
  323. package/dist/webinar/collection.js +43 -0
  324. package/dist/webinar/collection.js.map +1 -0
  325. package/dist/webinar/index.d.ts +5 -0
  326. package/dist/webinar/index.js +68 -0
  327. package/dist/webinar/index.js.map +1 -0
  328. package/package.json +38 -26
  329. package/src/annotation/annotation.types.ts +50 -0
  330. package/src/annotation/constants.ts +36 -0
  331. package/src/annotation/index.ts +328 -0
  332. package/src/breakouts/README.md +220 -0
  333. package/src/breakouts/breakout.ts +188 -0
  334. package/src/breakouts/collection.ts +19 -0
  335. package/src/breakouts/edit-lock-error.ts +25 -0
  336. package/src/breakouts/events.ts +56 -0
  337. package/src/breakouts/index.ts +925 -0
  338. package/src/breakouts/request.ts +55 -0
  339. package/src/breakouts/utils.ts +57 -0
  340. package/src/common/errors/no-meeting-info.ts +24 -0
  341. package/src/common/errors/webex-errors.ts +36 -12
  342. package/src/common/logs/logger-proxy.ts +1 -1
  343. package/src/common/logs/request.ts +5 -1
  344. package/src/common/queue.ts +22 -8
  345. package/src/config.ts +6 -7
  346. package/src/constants.ts +244 -97
  347. package/src/controls-options-manager/enums.ts +12 -0
  348. package/src/controls-options-manager/index.ts +116 -21
  349. package/src/controls-options-manager/types.ts +59 -0
  350. package/src/controls-options-manager/util.ts +294 -14
  351. package/src/index.ts +44 -0
  352. package/src/interceptors/index.ts +3 -0
  353. package/src/interceptors/locusRetry.ts +67 -0
  354. package/src/interpretation/README.md +60 -0
  355. package/src/interpretation/collection.ts +19 -0
  356. package/src/interpretation/index.ts +332 -0
  357. package/src/interpretation/siLanguage.ts +18 -0
  358. package/src/locus-info/controlsUtils.ts +110 -0
  359. package/src/locus-info/index.ts +449 -61
  360. package/src/locus-info/infoUtils.ts +14 -2
  361. package/src/locus-info/mediaSharesUtils.ts +64 -0
  362. package/src/locus-info/parser.ts +258 -47
  363. package/src/locus-info/selfUtils.ts +85 -2
  364. package/src/media/index.ts +153 -370
  365. package/src/media/properties.ts +106 -136
  366. package/src/media/util.ts +0 -21
  367. package/src/mediaQualityMetrics/config.ts +244 -377
  368. package/src/meeting/in-meeting-actions.ts +176 -0
  369. package/src/meeting/index.ts +3944 -2489
  370. package/src/meeting/locusMediaRequest.ts +313 -0
  371. package/src/meeting/muteState.ts +224 -138
  372. package/src/meeting/request.ts +207 -127
  373. package/src/meeting/request.type.ts +13 -0
  374. package/src/meeting/util.ts +590 -423
  375. package/src/meeting-info/index.ts +81 -8
  376. package/src/meeting-info/meeting-info-v2.ts +163 -13
  377. package/src/meeting-info/util.ts +1 -1
  378. package/src/meeting-info/utilv2.ts +28 -28
  379. package/src/meetings/collection.ts +33 -0
  380. package/src/meetings/index.ts +487 -126
  381. package/src/meetings/meetings.types.ts +12 -0
  382. package/src/meetings/request.ts +2 -0
  383. package/src/meetings/util.ts +116 -5
  384. package/src/member/index.ts +43 -1
  385. package/src/member/types.ts +38 -0
  386. package/src/member/util.ts +125 -28
  387. package/src/members/collection.ts +8 -0
  388. package/src/members/index.ts +187 -52
  389. package/src/members/request.ts +87 -27
  390. package/src/members/util.ts +332 -291
  391. package/src/metrics/constants.ts +15 -6
  392. package/src/metrics/index.ts +1 -471
  393. package/src/multistream/mediaRequestManager.ts +440 -0
  394. package/src/multistream/receiveSlot.ts +184 -0
  395. package/src/multistream/receiveSlotManager.ts +166 -0
  396. package/src/multistream/remoteMedia.ts +254 -0
  397. package/src/multistream/remoteMediaGroup.ts +284 -0
  398. package/src/multistream/remoteMediaManager.ts +1145 -0
  399. package/src/multistream/sendSlotManager.ts +170 -0
  400. package/src/networkQualityMonitor/index.ts +6 -6
  401. package/src/reachability/clusterReachability.ts +320 -0
  402. package/src/reachability/index.ts +243 -347
  403. package/src/reachability/request.ts +17 -8
  404. package/src/reachability/util.ts +24 -0
  405. package/src/reactions/constants.ts +4 -0
  406. package/src/reactions/reactions.ts +4 -4
  407. package/src/reactions/reactions.type.ts +30 -4
  408. package/src/reconnection-manager/index.ts +168 -156
  409. package/src/recording-controller/index.ts +20 -3
  410. package/src/recording-controller/util.ts +26 -9
  411. package/src/roap/index.ts +98 -241
  412. package/src/roap/request.ts +74 -148
  413. package/src/roap/turnDiscovery.ts +62 -56
  414. package/src/rtcMetrics/constants.ts +3 -0
  415. package/src/rtcMetrics/index.ts +124 -0
  416. package/src/statsAnalyzer/global.ts +1 -84
  417. package/src/statsAnalyzer/index.ts +477 -643
  418. package/src/statsAnalyzer/mqaUtil.ts +115 -114
  419. package/src/webinar/collection.ts +31 -0
  420. package/src/webinar/index.ts +62 -0
  421. package/test/integration/spec/converged-space-meetings.js +233 -0
  422. package/test/integration/spec/journey.js +320 -264
  423. package/test/integration/spec/space-meeting.js +77 -4
  424. package/test/unit/spec/annotation/index.ts +418 -0
  425. package/test/unit/spec/breakouts/breakout.ts +237 -0
  426. package/test/unit/spec/breakouts/collection.ts +15 -0
  427. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  428. package/test/unit/spec/breakouts/events.ts +89 -0
  429. package/test/unit/spec/breakouts/index.ts +1790 -0
  430. package/test/unit/spec/breakouts/request.ts +104 -0
  431. package/test/unit/spec/breakouts/utils.js +72 -0
  432. package/test/unit/spec/common/queue.js +31 -2
  433. package/test/unit/spec/controls-options-manager/index.js +163 -0
  434. package/test/unit/spec/controls-options-manager/util.js +576 -60
  435. package/test/unit/spec/fixture/locus.js +1 -0
  436. package/test/unit/spec/interceptors/locusRetry.ts +131 -0
  437. package/test/unit/spec/interpretation/collection.ts +15 -0
  438. package/test/unit/spec/interpretation/index.ts +589 -0
  439. package/test/unit/spec/interpretation/siLanguage.ts +28 -0
  440. package/test/unit/spec/locus-info/controlsUtils.js +323 -30
  441. package/test/unit/spec/locus-info/index.js +1390 -16
  442. package/test/unit/spec/locus-info/infoUtils.js +54 -16
  443. package/test/unit/spec/locus-info/lib/SeqCmp.json +16 -0
  444. package/test/unit/spec/locus-info/lib/selfConstant.js +48 -0
  445. package/test/unit/spec/locus-info/mediaSharesUtils.ts +32 -0
  446. package/test/unit/spec/locus-info/parser.js +116 -35
  447. package/test/unit/spec/locus-info/selfUtils.js +275 -0
  448. package/test/unit/spec/media/index.ts +290 -0
  449. package/test/unit/spec/media/properties.ts +75 -84
  450. package/test/unit/spec/meeting/in-meeting-actions.ts +86 -0
  451. package/test/unit/spec/meeting/index.js +8187 -2769
  452. package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
  453. package/test/unit/spec/meeting/muteState.js +409 -213
  454. package/test/unit/spec/meeting/request.js +512 -42
  455. package/test/unit/spec/meeting/utils.js +741 -24
  456. package/test/unit/spec/meeting-info/index.js +300 -0
  457. package/test/unit/spec/meeting-info/meetinginfov2.js +527 -5
  458. package/test/unit/spec/meeting-info/utilv2.js +21 -0
  459. package/test/unit/spec/meetings/collection.js +26 -0
  460. package/test/unit/spec/meetings/index.js +1313 -243
  461. package/test/unit/spec/meetings/utils.js +202 -2
  462. package/test/unit/spec/member/index.js +32 -9
  463. package/test/unit/spec/member/util.js +499 -61
  464. package/test/unit/spec/members/index.js +394 -5
  465. package/test/unit/spec/members/request.js +206 -27
  466. package/test/unit/spec/members/utils.js +173 -38
  467. package/test/unit/spec/metrics/index.js +1 -50
  468. package/test/unit/spec/multistream/mediaRequestManager.ts +1418 -0
  469. package/test/unit/spec/multistream/receiveSlot.ts +163 -0
  470. package/test/unit/spec/multistream/receiveSlotManager.ts +203 -0
  471. package/test/unit/spec/multistream/remoteMedia.ts +255 -0
  472. package/test/unit/spec/multistream/remoteMediaGroup.ts +662 -0
  473. package/test/unit/spec/multistream/remoteMediaManager.ts +1924 -0
  474. package/test/unit/spec/multistream/sendSlotManager.ts +242 -0
  475. package/test/unit/spec/networkQualityMonitor/index.js +4 -4
  476. package/test/unit/spec/reachability/clusterReachability.ts +279 -0
  477. package/test/unit/spec/reachability/index.ts +531 -24
  478. package/test/unit/spec/reachability/request.js +68 -0
  479. package/test/unit/spec/reachability/util.ts +40 -0
  480. package/test/unit/spec/reconnection-manager/index.js +162 -24
  481. package/test/unit/spec/recording-controller/index.js +293 -218
  482. package/test/unit/spec/recording-controller/util.js +223 -96
  483. package/test/unit/spec/roap/index.ts +200 -76
  484. package/test/unit/spec/roap/request.ts +255 -0
  485. package/test/unit/spec/roap/turnDiscovery.ts +86 -48
  486. package/test/unit/spec/rtcMetrics/index.ts +93 -0
  487. package/test/unit/spec/stats-analyzer/index.js +261 -167
  488. package/test/unit/spec/webinar/collection.ts +13 -0
  489. package/test/unit/spec/webinar/index.ts +60 -0
  490. package/test/utils/constants.js +9 -0
  491. package/test/utils/integrationTestUtils.js +46 -0
  492. package/test/utils/testUtils.js +0 -45
  493. package/test/utils/webex-config.js +4 -0
  494. package/test/utils/webex-test-users.js +7 -3
  495. package/dist/common/errors/reclaim-host-role-error.js.map +0 -1
  496. package/dist/meeting/effectsState.d.ts +0 -42
  497. package/dist/meeting/effectsState.js +0 -260
  498. package/dist/meeting/effectsState.js.map +0 -1
  499. package/dist/metrics/config.d.ts +0 -169
  500. package/dist/metrics/config.js +0 -289
  501. package/dist/metrics/config.js.map +0 -1
  502. package/dist/peer-connection-manager/index.d.ts +0 -6
  503. package/dist/peer-connection-manager/index.js +0 -671
  504. package/dist/peer-connection-manager/index.js.map +0 -1
  505. package/dist/peer-connection-manager/util.d.ts +0 -6
  506. package/dist/peer-connection-manager/util.js +0 -110
  507. package/dist/peer-connection-manager/util.js.map +0 -1
  508. package/dist/roap/collection.d.ts +0 -10
  509. package/dist/roap/collection.js +0 -63
  510. package/dist/roap/collection.js.map +0 -1
  511. package/dist/roap/handler.d.ts +0 -47
  512. package/dist/roap/handler.js +0 -279
  513. package/dist/roap/handler.js.map +0 -1
  514. package/dist/roap/state.d.ts +0 -9
  515. package/dist/roap/state.js +0 -127
  516. package/dist/roap/state.js.map +0 -1
  517. package/dist/roap/util.d.ts +0 -2
  518. package/dist/roap/util.js +0 -76
  519. package/dist/roap/util.js.map +0 -1
  520. package/src/index.js +0 -15
  521. package/src/meeting/effectsState.ts +0 -209
  522. package/src/metrics/config.ts +0 -485
  523. package/src/peer-connection-manager/index.ts +0 -847
  524. package/src/peer-connection-manager/util.ts +0 -119
  525. package/src/roap/collection.ts +0 -62
  526. package/src/roap/handler.ts +0 -294
  527. package/src/roap/state.ts +0 -156
  528. package/src/roap/util.ts +0 -100
  529. package/test/unit/spec/meeting/effectsState.js +0 -281
  530. package/test/unit/spec/peerconnection-manager/index.js +0 -218
  531. package/test/unit/spec/peerconnection-manager/utils.js +0 -49
  532. package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +0 -388
  533. package/test/unit/spec/roap/util.js +0 -30
  534. /package/dist/common/errors/{reclaim-host-role-error.d.ts → reclaim-host-role-errors.d.ts} +0 -0
  535. /package/src/common/errors/{reclaim-host-role-error.ts → reclaim-host-role-errors.ts} +0 -0
@@ -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"));
@@ -23,60 +24,123 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/
23
24
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
24
25
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
25
26
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
26
- var _debounce2 = _interopRequireDefault(require("lodash/debounce"));
27
27
  var _uuid = _interopRequireDefault(require("uuid"));
28
+ var _lodash = require("lodash");
28
29
  var _webexCore = require("@webex/webex-core");
29
30
  var _common = require("@webex/common");
31
+ var _internalPluginMetrics = require("@webex/internal-plugin-metrics");
30
32
  var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
31
33
  var _constants = require("../constants");
32
- 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
- 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
+ var _util = _interopRequireDefault(require("./util"));
35
+ var _excluded = ["meeting"];
36
+ function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
37
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
34
38
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
35
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
39
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } // @ts-ignore
40
+ // @ts-ignore
36
41
  /**
37
42
  * @class MeetingRequest
38
43
  */
39
- var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
44
+ var MeetingRequest = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
40
45
  (0, _inherits2.default)(MeetingRequest, _StatelessWebexPlugin);
41
46
  var _super = _createSuper(MeetingRequest);
47
+ /**
48
+ * Constructor
49
+ * @param {Object} attrs
50
+ * @param {Object} options
51
+ */
42
52
  function MeetingRequest(attrs, options) {
43
53
  var _this;
44
54
  (0, _classCallCheck2.default)(this, MeetingRequest);
45
- _this = _super.call(this, attrs, options);
55
+ var meeting = attrs.meeting,
56
+ otherAttrs = (0, _objectWithoutProperties2.default)(attrs, _excluded);
57
+ _this = _super.call(this, otherAttrs, options);
46
58
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "changeVideoLayoutDebounced", void 0);
47
- _this.changeVideoLayoutDebounced = (0, _debounce2.default)(_this.changeVideoLayout, 2000, {
59
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "meetingRef", void 0);
60
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "locusDeltaRequest", void 0);
61
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "buildLocusDeltaRequestOptions", void 0);
62
+ /**
63
+ * Returns joinCookie from boundedStorage if present.
64
+ * @returns {Object} joinCookie
65
+ */
66
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getJoinCookie", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
67
+ var joinCookieRaw, joinCookie;
68
+ return _regenerator.default.wrap(function _callee$(_context) {
69
+ while (1) switch (_context.prev = _context.next) {
70
+ case 0:
71
+ _context.next = 2;
72
+ return _this.webex.boundedStorage.get(_constants.REACHABILITY.namespace, _constants.REACHABILITY.localStorageJoinCookie).catch(function () {});
73
+ case 2:
74
+ joinCookieRaw = _context.sent;
75
+ if (!joinCookieRaw) {
76
+ _context.next = 13;
77
+ break;
78
+ }
79
+ _context.prev = 4;
80
+ joinCookie = JSON.parse(joinCookieRaw);
81
+ if (!joinCookie) {
82
+ _context.next = 8;
83
+ break;
84
+ }
85
+ return _context.abrupt("return", joinCookie);
86
+ case 8:
87
+ _context.next = 13;
88
+ break;
89
+ case 10:
90
+ _context.prev = 10;
91
+ _context.t0 = _context["catch"](4);
92
+ _loggerProxy.default.logger.error("MeetingRequest#constructor --> Error in parsing join cookie data: ".concat(_context.t0));
93
+ case 13:
94
+ return _context.abrupt("return", null);
95
+ case 14:
96
+ case "end":
97
+ return _context.stop();
98
+ }
99
+ }, _callee, null, [[4, 10]]);
100
+ })));
101
+ _this.locusDeltaRequest = _util.default.generateLocusDeltaRequest(meeting);
102
+ _this.buildLocusDeltaRequestOptions = _util.default.generateBuildLocusDeltaRequestOptions(meeting);
103
+ _this.changeVideoLayoutDebounced = (0, _lodash.debounce)(_this.changeVideoLayout, 2000, {
48
104
  leading: true,
49
105
  trailing: true
50
106
  });
51
107
  return _this;
52
108
  }
53
-
54
- /**
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}
68
- */
69
109
  (0, _createClass2.default)(MeetingRequest, [{
70
110
  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) {
111
+ value: (
112
+ /**
113
+ * Make a network request to join a meeting
114
+ * @param {Object} options
115
+ * @param {String} options.sipUri
116
+ * @param {String} options.deviceUrl
117
+ * @param {String} options.locusUrl
118
+ * @param {String} options.resourceId,
119
+ * @param {String} options.correlationId
120
+ * @param {boolean} options.ensureConversation
121
+ * @param {boolean} options.moderator
122
+ * @param {boolean} options.pin
123
+ * @param {boolean} options.moveToResource
124
+ * @param {Object} options.roapMessage
125
+ * @param {boolean} options.breakoutsSupported
126
+ * @param {String} options.locale,
127
+ * @param {Array} options.deviceCapabilities
128
+ * @param {boolean} options.liveAnnotationSupported
129
+ * @returns {Promise}
130
+ */
131
+ function () {
132
+ var _joinMeeting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(options) {
133
+ var asResourceOccupant, inviteeAddress, meetingNumber, permissionToken, deviceUrl, locusUrl, locusClusterUrl, resourceId, correlationId, ensureConversation, moderator, pin, moveToResource, roapMessage, preferTranscoding, breakoutsSupported, locale, _options$deviceCapabi, deviceCapabilities, liveAnnotationSupported, ipVersion, url, joinCookie, body, clusterUrl;
134
+ return _regenerator.default.wrap(function _callee2$(_context2) {
135
+ while (1) switch (_context2.prev = _context2.next) {
76
136
  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;
137
+ asResourceOccupant = options.asResourceOccupant, inviteeAddress = options.inviteeAddress, meetingNumber = options.meetingNumber, permissionToken = options.permissionToken, deviceUrl = options.deviceUrl, locusUrl = options.locusUrl, locusClusterUrl = options.locusClusterUrl, resourceId = options.resourceId, correlationId = options.correlationId, ensureConversation = options.ensureConversation, moderator = options.moderator, pin = options.pin, moveToResource = options.moveToResource, roapMessage = options.roapMessage, preferTranscoding = options.preferTranscoding, breakoutsSupported = options.breakoutsSupported, locale = options.locale, _options$deviceCapabi = options.deviceCapabilities, deviceCapabilities = _options$deviceCapabi === void 0 ? [] : _options$deviceCapabi, liveAnnotationSupported = options.liveAnnotationSupported, ipVersion = options.ipVersion;
78
138
  _loggerProxy.default.logger.info('Meeting:request#joinMeeting --> Joining a meeting', correlationId);
79
139
  url = '';
140
+ _context2.next = 5;
141
+ return this.getJoinCookie();
142
+ case 5:
143
+ joinCookie = _context2.sent;
80
144
  body = {
81
145
  asResourceOccupant: asResourceOccupant,
82
146
  device: {
@@ -92,14 +156,34 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
92
156
  ensureConversation: ensureConversation || false,
93
157
  supportsNativeLobby: 1,
94
158
  clientMediaPreferences: {
95
- preferTranscoding: preferTranscoding !== null && preferTranscoding !== void 0 ? preferTranscoding : true
159
+ preferTranscoding: preferTranscoding !== null && preferTranscoding !== void 0 ? preferTranscoding : true,
160
+ joinCookie: joinCookie,
161
+ ipver: ipVersion
96
162
  }
97
- }; // @ts-ignore
98
- if (this.webex.meetings.clientRegion) {
163
+ };
164
+ if (breakoutsSupported) {
165
+ deviceCapabilities.push(_constants.BREAKOUTS.BREAKOUTS_SUPPORTED);
166
+ }
167
+ if (liveAnnotationSupported) {
168
+ deviceCapabilities.push(_constants.ANNOTATION.ANNOTATION_ON_SHARE_SUPPORTED);
169
+ }
170
+ if (locale) {
171
+ body.locale = locale;
172
+ }
173
+
174
+ // add deviceCapabilities prop
175
+ if (deviceCapabilities.length) {
176
+ body.deviceCapabilities = deviceCapabilities;
177
+ }
178
+ // @ts-ignore
179
+ if (this.webex.meetings.geoHintInfo) {
180
+ // @ts-ignore
181
+ body.device.countryCode = this.webex.meetings.geoHintInfo.countryCode;
99
182
  // @ts-ignore
100
- body.device.countryCode = this.webex.meetings.clientRegion.countryCode;
183
+ body.device.regionCode = this.webex.meetings.geoHintInfo.regionCode;
184
+ body.device.localIp =
101
185
  // @ts-ignore
102
- body.device.regionCode = this.webex.meetings.clientRegion.regionCode;
186
+ _internalPluginMetrics.CallDiagnosticUtils.anonymizeIPAddress(this.webex.meetings.geoHintInfo.clientAddress) || undefined;
103
187
  }
104
188
  if (moderator !== undefined) {
105
189
  body.moderator = moderator;
@@ -111,34 +195,44 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
111
195
  body.pin = pin;
112
196
  }
113
197
  if (!locusUrl) {
114
- _context.next = 12;
198
+ _context2.next = 19;
115
199
  break;
116
200
  }
117
201
  url = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT);
118
- _context.next = 24;
202
+ _context2.next = 36;
119
203
  break;
120
- case 12:
204
+ case 19:
121
205
  if (!(inviteeAddress || meetingNumber)) {
122
- _context.next = 24;
206
+ _context2.next = 36;
207
+ break;
208
+ }
209
+ _context2.prev = 20;
210
+ if (!locusClusterUrl) {
211
+ _context2.next = 25;
123
212
  break;
124
213
  }
125
- _context.prev = 13;
126
- _context.next = 16;
214
+ clusterUrl = "https://".concat(locusClusterUrl, "/locus/api/v1");
215
+ _context2.next = 28;
216
+ break;
217
+ case 25:
218
+ _context2.next = 27;
127
219
  return this.webex.internal.services.waitForCatalog('postauth');
128
- case 16:
220
+ case 27:
129
221
  // @ts-ignore
130
- url = "".concat(this.webex.internal.services.get('locus'), "/").concat(_constants.LOCI, "/").concat(_constants.CALL);
222
+ clusterUrl = this.webex.internal.services.get('locus');
223
+ case 28:
224
+ url = "".concat(clusterUrl, "/").concat(_constants.LOCI, "/").concat(_constants.CALL);
131
225
  body.invitee = {
132
226
  address: inviteeAddress || "wbxmn:".concat(meetingNumber)
133
227
  };
134
- _context.next = 24;
228
+ _context2.next = 36;
135
229
  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:
230
+ case 32:
231
+ _context2.prev = 32;
232
+ _context2.t0 = _context2["catch"](20);
233
+ _loggerProxy.default.logger.error("Meeting:request#joinMeeting Error Joining ".concat(inviteeAddress || meetingNumber, " --> ").concat(_context2.t0));
234
+ throw _context2.t0;
235
+ case 36:
142
236
  // TODO: -- this will be resolved in SDK request
143
237
  url = url.concat("?".concat(_constants.ALTERNATE_REDIRECT_TRUE));
144
238
  if (resourceId === inviteeAddress) {
@@ -151,16 +245,16 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
151
245
  }
152
246
 
153
247
  /// @ts-ignore
154
- return _context.abrupt("return", this.request({
248
+ return _context2.abrupt("return", this.request({
155
249
  method: _constants.HTTP_VERBS.POST,
156
250
  uri: url,
157
251
  body: body
158
252
  }));
159
- case 28:
253
+ case 40:
160
254
  case "end":
161
- return _context.stop();
255
+ return _context2.stop();
162
256
  }
163
- }, _callee, this, [[13, 20]]);
257
+ }, _callee2, this, [[20, 32]]);
164
258
  }));
165
259
  function joinMeeting(_x) {
166
260
  return _joinMeeting.apply(this, arguments);
@@ -175,11 +269,12 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
175
269
  * @returns {Promise}
176
270
  * @private
177
271
  */
272
+ )
178
273
  }, {
179
274
  key: "refreshCaptcha",
180
- value: function refreshCaptcha(_ref) {
181
- var captchaRefreshUrl = _ref.captchaRefreshUrl,
182
- captchaId = _ref.captchaId;
275
+ value: function refreshCaptcha(_ref2) {
276
+ var captchaRefreshUrl = _ref2.captchaRefreshUrl,
277
+ captchaId = _ref2.captchaId;
183
278
  var body = {
184
279
  captchaId: captchaId
185
280
  };
@@ -207,11 +302,11 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
207
302
  */
208
303
  }, {
209
304
  key: "dialIn",
210
- value: function dialIn(_ref2) {
211
- var locusUrl = _ref2.locusUrl,
212
- dialInUrl = _ref2.dialInUrl,
213
- clientUrl = _ref2.clientUrl,
214
- correlationId = _ref2.correlationId;
305
+ value: function dialIn(_ref3) {
306
+ var locusUrl = _ref3.locusUrl,
307
+ dialInUrl = _ref3.dialInUrl,
308
+ clientUrl = _ref3.clientUrl,
309
+ correlationId = _ref3.correlationId;
215
310
  _loggerProxy.default.logger.info('Meeting:request#dialIn --> Provisioning a dial in device', correlationId);
216
311
  var uri = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT);
217
312
  var body = {
@@ -225,7 +320,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
225
320
  };
226
321
 
227
322
  // @ts-ignore
228
- return this.request({
323
+ return this.locusDeltaRequest({
229
324
  method: _constants.HTTP_VERBS.POST,
230
325
  uri: uri,
231
326
  body: body
@@ -248,12 +343,12 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
248
343
  */
249
344
  }, {
250
345
  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;
346
+ value: function dialOut(_ref4) {
347
+ var locusUrl = _ref4.locusUrl,
348
+ dialOutUrl = _ref4.dialOutUrl,
349
+ phoneNumber = _ref4.phoneNumber,
350
+ clientUrl = _ref4.clientUrl,
351
+ correlationId = _ref4.correlationId;
257
352
  _loggerProxy.default.logger.info('Meeting:request#dialOut --> Provisioning a dial out device', correlationId);
258
353
  var uri = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT);
259
354
  var body = {
@@ -268,7 +363,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
268
363
  };
269
364
 
270
365
  // @ts-ignore
271
- return this.request({
366
+ return this.locusDeltaRequest({
272
367
  method: _constants.HTTP_VERBS.POST,
273
368
  uri: uri,
274
369
  body: body
@@ -279,60 +374,23 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
279
374
  }
280
375
 
281
376
  /**
282
- * Syns the missed delta event
283
- * @param {Object} options
284
- * @param {boolean} options.desync flag to get partial or whole locus object
285
- * @param {String} options.syncUrl sync url to get ht elatest locus delta
286
- * @returns {Promise}
287
- */
288
- }, {
289
- key: "syncMeeting",
290
- value: function syncMeeting(options) {
291
- /* eslint-disable no-else-return */
292
- var desync = options.desync;
293
- var syncUrl = options.syncUrl;
294
-
295
- /* istanbul ignore else */
296
- if (desync) {
297
- // check for existing URL parameters
298
- syncUrl = syncUrl.concat(syncUrl.split('?')[1] ? '&' : '?').concat("".concat(_constants.LOCUS.SYNCDEBUG, "=").concat(desync));
299
- }
300
-
301
- // @ts-ignore
302
- return this.request({
303
- method: _constants.HTTP_VERBS.GET,
304
- uri: syncUrl
305
- }) // TODO: Handle if delta sync failed . Get the full locus object
306
- .catch(function (err) {
307
- _loggerProxy.default.logger.error("Meeting:request#syncMeeting --> Error syncing meeting, error ".concat(err));
308
- return err;
309
- });
310
- }
311
-
312
- /**
313
- * Request to get the complete locus object
377
+ * Sends a requests to get the latest locus DTO, it might be a full Locus or a delta, depending on the url provided
314
378
  * @param {Object} options
315
- * @param {boolean} options.desync flag to get partial or whole locus object
316
379
  * @param {String} options.locusUrl sync url to get ht elatest locus delta
317
380
  * @returns {Promise}
318
381
  */
319
382
  }, {
320
- key: "getFullLocus",
321
- value: function getFullLocus(options) {
322
- var locusUrl = options.locusUrl;
323
- var desync = options.desync;
324
- if (locusUrl) {
325
- if (desync) {
326
- locusUrl += "?".concat(_constants.LOCUS.SYNCDEBUG, "=").concat(desync);
327
- }
328
-
383
+ key: "getLocusDTO",
384
+ value: function getLocusDTO(options) {
385
+ var url = options.url;
386
+ if (url) {
329
387
  // @ts-ignore
330
388
  return this.request({
331
389
  method: _constants.HTTP_VERBS.GET,
332
- uri: locusUrl
390
+ uri: url
333
391
  }).catch(function (err) {
334
- _loggerProxy.default.logger.error("Meeting:request#getFullLocus --> Error getting full locus, error ".concat(err));
335
- return err;
392
+ _loggerProxy.default.logger.error("Meeting:request#getLocusDTO --> Error getting latest locus, error ".concat(err));
393
+ throw err;
336
394
  });
337
395
  }
338
396
  return _promise.default.reject();
@@ -350,11 +408,11 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
350
408
  */
351
409
  }, {
352
410
  key: "disconnectPhoneAudio",
353
- value: function disconnectPhoneAudio(_ref4) {
354
- var locusUrl = _ref4.locusUrl,
355
- phoneUrl = _ref4.phoneUrl,
356
- correlationId = _ref4.correlationId,
357
- selfId = _ref4.selfId;
411
+ value: function disconnectPhoneAudio(_ref5) {
412
+ var locusUrl = _ref5.locusUrl,
413
+ phoneUrl = _ref5.phoneUrl,
414
+ correlationId = _ref5.correlationId,
415
+ selfId = _ref5.selfId;
358
416
  _loggerProxy.default.logger.info("Meeting:request#disconnectPhoneAudio --> request phone ".concat(phoneUrl, " to leave"), correlationId);
359
417
  var uri = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT, "/").concat(selfId, "/").concat(_constants.LEAVE);
360
418
  var body = {
@@ -366,7 +424,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
366
424
  };
367
425
 
368
426
  // @ts-ignore
369
- return this.request({
427
+ return this.locusDeltaRequest({
370
428
  method: _constants.HTTP_VERBS.PUT,
371
429
  uri: uri,
372
430
  body: body
@@ -377,23 +435,53 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
377
435
  }
378
436
 
379
437
  /**
380
- * Make a network request to leave a meeting
438
+ * Prepares request options to to leave a meeting
381
439
  * @param {Object} options
382
440
  * @param {Url} options.locusUrl
383
441
  * @param {String} options.selfId
384
442
  * @param {Url} options.deviceUrl
385
443
  * @param {String} options.resourceId,
386
444
  * @param {String} options.correlationId
445
+ * @returns {Object} request options
446
+ */
447
+ }, {
448
+ key: "prepareLeaveMeetingRequestOptions",
449
+ value: function prepareLeaveMeetingRequestOptions(_ref6) {
450
+ var locusUrl = _ref6.locusUrl,
451
+ selfId = _ref6.selfId,
452
+ url = _ref6.deviceUrl,
453
+ resourceId = _ref6.resourceId,
454
+ correlationId = _ref6.correlationId;
455
+ var uri = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT, "/").concat(selfId, "/").concat(_constants.LEAVE);
456
+ var body = {
457
+ device: {
458
+ // @ts-ignore
459
+ deviceType: this.config.meetings.deviceType,
460
+ url: url
461
+ },
462
+ usingResource: resourceId || null,
463
+ correlationId: correlationId
464
+ };
465
+ return {
466
+ method: _constants.HTTP_VERBS.PUT,
467
+ uri: uri,
468
+ body: body
469
+ };
470
+ }
471
+
472
+ /**
473
+ * Make a network request to leave a meeting
474
+ * @param {Object} options
387
475
  * @returns {Promise}
388
476
  */
389
477
  }, {
390
478
  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;
479
+ value: function leaveMeeting(_ref7) {
480
+ var locusUrl = _ref7.locusUrl,
481
+ selfId = _ref7.selfId,
482
+ url = _ref7.deviceUrl,
483
+ resourceId = _ref7.resourceId,
484
+ correlationId = _ref7.correlationId;
397
485
  _loggerProxy.default.logger.info('Meeting:request#leaveMeeting --> Leaving a meeting', correlationId);
398
486
  var uri = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT, "/").concat(selfId, "/").concat(_constants.LEAVE);
399
487
  var body = {
@@ -405,15 +493,24 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
405
493
  usingResource: resourceId || null,
406
494
  correlationId: correlationId
407
495
  };
408
-
409
- // @ts-ignore
410
- return this.request({
496
+ return this.locusDeltaRequest({
411
497
  method: _constants.HTTP_VERBS.PUT,
412
498
  uri: uri,
413
499
  body: body
414
500
  });
415
501
  }
416
502
 
503
+ /**
504
+ * Builds request options to leave a meeting
505
+ * @param {Object} options
506
+ * @returns {Object} request options
507
+ */
508
+ }, {
509
+ key: "buildLeaveMeetingRequestOptions",
510
+ value: function buildLeaveMeetingRequestOptions(options) {
511
+ return this.buildLocusDeltaRequestOptions(this.prepareLeaveMeetingRequestOptions(options));
512
+ }
513
+
417
514
  /**
418
515
  * Make a network request to acknowledge a meeting
419
516
  * @param {Object} options
@@ -434,14 +531,19 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
434
531
  },
435
532
  correlationId: options.correlationId
436
533
  };
437
-
438
- // @ts-ignore
439
- return this.request({
534
+ return this.locusDeltaRequest({
440
535
  method: _constants.HTTP_VERBS.PUT,
441
536
  uri: uri,
442
537
  body: body
443
538
  });
444
539
  }
540
+
541
+ /**
542
+ * Makes a network request to lock the meeting
543
+ * @param {Object} options
544
+ * @param {Boolean} options.lock Whether it is locked or not
545
+ * @returns {Promise}
546
+ */
445
547
  }, {
446
548
  key: "lockMeeting",
447
549
  value: function lockMeeting(options) {
@@ -451,9 +553,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
451
553
  locked: options.lock
452
554
  }
453
555
  };
454
-
455
- // @ts-ignore
456
- return this.request({
556
+ return this.locusDeltaRequest({
457
557
  method: _constants.HTTP_VERBS.PATCH,
458
558
  uri: uri,
459
559
  body: body
@@ -481,47 +581,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
481
581
  }, options.reason && {
482
582
  reason: options.reason
483
583
  });
484
-
485
- // @ts-ignore
486
- return this.request({
487
- method: _constants.HTTP_VERBS.PUT,
488
- uri: uri,
489
- body: body
490
- });
491
- }
492
-
493
- /**
494
- * Toggle remote audio and/or video
495
- * @param {Object} options options for toggling
496
- * @param {String} options.selfId Locus self id??
497
- * @param {String} options.locusUrl Locus url
498
- * @param {String} options.deviceUrl Url of a device
499
- * @param {String} options.resourceId Populated if you are paired to a device
500
- * @param {String} options.localMedias local sdps
501
- * @returns {Promise}
502
- */
503
- }, {
504
- key: "remoteAudioVideoToggle",
505
- value: function remoteAudioVideoToggle(options) {
506
- var _options$preferTransc;
507
- var uri = "".concat(options.locusUrl, "/").concat(_constants.PARTICIPANT, "/").concat(options.selfId, "/").concat(_constants.MEDIA);
508
- var body = {
509
- device: {
510
- // @ts-ignore
511
- deviceType: this.config.meetings.deviceType,
512
- url: options.deviceUrl
513
- },
514
- usingResource: options.resourceId || null,
515
- correlationId: options.correlationId,
516
- respOnlySdp: true,
517
- localMedias: options.localMedias,
518
- clientMediaPreferences: {
519
- preferTranscoding: (_options$preferTransc = options.preferTranscoding) !== null && _options$preferTransc !== void 0 ? _options$preferTransc : true
520
- }
521
- };
522
-
523
- // @ts-ignore
524
- return this.request({
584
+ return this.locusDeltaRequest({
525
585
  method: _constants.HTTP_VERBS.PUT,
526
586
  uri: uri,
527
587
  body: body
@@ -569,6 +629,9 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
569
629
  if (options !== null && options !== void 0 && options.resourceToken) {
570
630
  body.resourceToken = options === null || options === void 0 ? void 0 : options.resourceToken;
571
631
  }
632
+ if (options !== null && options !== void 0 && options.annotationInfo) {
633
+ body.annotation = options === null || options === void 0 ? void 0 : options.annotationInfo;
634
+ }
572
635
 
573
636
  // @ts-ignore
574
637
  return this.request({
@@ -588,12 +651,12 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
588
651
  */
589
652
  }, {
590
653
  key: "sendDTMF",
591
- value: function sendDTMF(_ref6) {
592
- var locusUrl = _ref6.locusUrl,
593
- deviceUrl = _ref6.deviceUrl,
594
- tones = _ref6.tones;
654
+ value: function sendDTMF(_ref8) {
655
+ var locusUrl = _ref8.locusUrl,
656
+ deviceUrl = _ref8.deviceUrl,
657
+ tones = _ref8.tones;
595
658
  // @ts-ignore
596
- return this.request({
659
+ return this.locusDeltaRequest({
597
660
  method: _constants.HTTP_VERBS.POST,
598
661
  uri: "".concat(locusUrl, "/").concat(_constants.SEND_DTMF_ENDPOINT),
599
662
  body: {
@@ -622,12 +685,12 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
622
685
  */
623
686
  }, {
624
687
  key: "changeVideoLayout",
625
- value: function changeVideoLayout(_ref7) {
626
- var locusUrl = _ref7.locusUrl,
627
- deviceUrl = _ref7.deviceUrl,
628
- layoutType = _ref7.layoutType,
629
- main = _ref7.main,
630
- content = _ref7.content;
688
+ value: function changeVideoLayout(_ref9) {
689
+ var locusUrl = _ref9.locusUrl,
690
+ deviceUrl = _ref9.deviceUrl,
691
+ layoutType = _ref9.layoutType,
692
+ main = _ref9.main,
693
+ content = _ref9.content;
631
694
  // send main/content renderInfo only if both width and height are specified
632
695
  if (main && (!main.width || !main.height)) {
633
696
  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))));
@@ -651,7 +714,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
651
714
  } : undefined;
652
715
 
653
716
  // @ts-ignore
654
- return this.request({
717
+ return this.locusDeltaRequest({
655
718
  method: _constants.HTTP_VERBS.PUT,
656
719
  uri: "".concat(locusUrl, "/").concat(_constants.CONTROLS),
657
720
  body: {
@@ -672,12 +735,12 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
672
735
  */
673
736
  }, {
674
737
  key: "endMeetingForAll",
675
- value: function endMeetingForAll(_ref8) {
676
- var locusUrl = _ref8.locusUrl;
738
+ value: function endMeetingForAll(_ref10) {
739
+ var locusUrl = _ref10.locusUrl;
677
740
  var uri = "".concat(locusUrl, "/").concat(_constants.END);
678
741
 
679
742
  // @ts-ignore
680
- return this.request({
743
+ return this.locusDeltaRequest({
681
744
  method: _constants.HTTP_VERBS.POST,
682
745
  uri: uri
683
746
  });
@@ -691,8 +754,8 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
691
754
  */
692
755
  }, {
693
756
  key: "keepAlive",
694
- value: function keepAlive(_ref9) {
695
- var keepAliveUrl = _ref9.keepAliveUrl;
757
+ value: function keepAlive(_ref11) {
758
+ var keepAliveUrl = _ref11.keepAliveUrl;
696
759
  // @ts-ignore
697
760
  return this.request({
698
761
  method: _constants.HTTP_VERBS.GET,
@@ -710,10 +773,10 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
710
773
  */
711
774
  }, {
712
775
  key: "sendReaction",
713
- value: function sendReaction(_ref10) {
714
- var reactionChannelUrl = _ref10.reactionChannelUrl,
715
- reaction = _ref10.reaction,
716
- participantId = _ref10.participantId;
776
+ value: function sendReaction(_ref12) {
777
+ var reactionChannelUrl = _ref12.reactionChannelUrl,
778
+ reaction = _ref12.reaction,
779
+ participantId = _ref12.participantId;
717
780
  var uri = reactionChannelUrl;
718
781
 
719
782
  // @ts-ignore
@@ -728,8 +791,43 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
728
791
  }
729
792
  });
730
793
  }
794
+
795
+ /**
796
+ * Make a network request to enable or disable reactions.
797
+ * @param {boolean} options.enable - determines if we need to enable or disable.
798
+ * @param {locusUrl} options.locusUrl
799
+ * @returns {Promise}
800
+ */
801
+ }, {
802
+ key: "toggleReactions",
803
+ value: function toggleReactions(_ref13) {
804
+ var enable = _ref13.enable,
805
+ locusUrl = _ref13.locusUrl,
806
+ requestingParticipantId = _ref13.requestingParticipantId;
807
+ var uri = "".concat(locusUrl, "/").concat(_constants.CONTROLS);
808
+
809
+ // @ts-ignore
810
+ return this.locusDeltaRequest({
811
+ method: _constants.HTTP_VERBS.PUT,
812
+ uri: uri,
813
+ body: {
814
+ reactions: {
815
+ enabled: enable
816
+ },
817
+ requestingParticipantId: requestingParticipantId
818
+ }
819
+ });
820
+ }
821
+ }, {
822
+ key: "getLocusStatusByUrl",
823
+ value: function getLocusStatusByUrl(locusUrl) {
824
+ // @ts-ignore
825
+ return this.request({
826
+ method: _constants.HTTP_VERBS.GET,
827
+ uri: locusUrl
828
+ });
829
+ }
731
830
  }]);
732
831
  return MeetingRequest;
733
832
  }(_webexCore.StatelessWebexPlugin);
734
- exports.default = MeetingRequest;
735
833
  //# sourceMappingURL=request.js.map