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

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 (539) hide show
  1. package/README.md +58 -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 +234 -100
  90. package/dist/constants.js +433 -444
  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 +705 -520
  159. package/dist/meeting/index.js +5047 -3089
  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 +304 -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 +118 -1
  176. package/dist/meeting/util.js +676 -435
  177. package/dist/meeting/util.js.map +1 -1
  178. package/dist/meeting/voicea-meeting.d.ts +20 -0
  179. package/dist/meeting/voicea-meeting.js +201 -0
  180. package/dist/meeting/voicea-meeting.js.map +1 -0
  181. package/dist/meeting-info/collection.js +3 -4
  182. package/dist/meeting-info/collection.js.map +1 -1
  183. package/dist/meeting-info/index.d.ts +13 -1
  184. package/dist/meeting-info/index.js +74 -7
  185. package/dist/meeting-info/index.js.map +1 -1
  186. package/dist/meeting-info/meeting-info-v2.d.ts +31 -1
  187. package/dist/meeting-info/meeting-info-v2.js +200 -63
  188. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  189. package/dist/meeting-info/request.js +1 -2
  190. package/dist/meeting-info/request.js.map +1 -1
  191. package/dist/meeting-info/util.js +2 -3
  192. package/dist/meeting-info/util.js.map +1 -1
  193. package/dist/meeting-info/utilv2.js +39 -41
  194. package/dist/meeting-info/utilv2.js.map +1 -1
  195. package/dist/meetings/collection.d.ts +17 -0
  196. package/dist/meetings/collection.js +42 -4
  197. package/dist/meetings/collection.js.map +1 -1
  198. package/dist/meetings/index.d.ts +114 -20
  199. package/dist/meetings/index.js +540 -126
  200. package/dist/meetings/index.js.map +1 -1
  201. package/dist/meetings/meetings.types.d.ts +4 -0
  202. package/dist/meetings/meetings.types.js +7 -0
  203. package/dist/meetings/meetings.types.js.map +1 -0
  204. package/dist/meetings/request.js +4 -3
  205. package/dist/meetings/request.js.map +1 -1
  206. package/dist/meetings/util.js +107 -6
  207. package/dist/meetings/util.js.map +1 -1
  208. package/dist/member/index.d.ts +13 -1
  209. package/dist/member/index.js +45 -2
  210. package/dist/member/index.js.map +1 -1
  211. package/dist/member/member.types.js +3 -4
  212. package/dist/member/member.types.js.map +1 -1
  213. package/dist/member/types.d.ts +32 -0
  214. package/dist/member/types.js +23 -0
  215. package/dist/member/types.js.map +1 -0
  216. package/dist/member/util.js +120 -29
  217. package/dist/member/util.js.map +1 -1
  218. package/dist/members/collection.d.ts +5 -0
  219. package/dist/members/collection.js +11 -2
  220. package/dist/members/collection.js.map +1 -1
  221. package/dist/members/index.d.ts +56 -11
  222. package/dist/members/index.js +174 -47
  223. package/dist/members/index.js.map +1 -1
  224. package/dist/members/request.d.ts +67 -11
  225. package/dist/members/request.js +102 -54
  226. package/dist/members/request.js.map +1 -1
  227. package/dist/members/types.js +3 -4
  228. package/dist/members/types.js.map +1 -1
  229. package/dist/members/util.d.ts +214 -1
  230. package/dist/members/util.js +327 -284
  231. package/dist/members/util.js.map +1 -1
  232. package/dist/metrics/constants.d.ts +15 -6
  233. package/dist/metrics/constants.js +17 -9
  234. package/dist/metrics/constants.js.map +1 -1
  235. package/dist/metrics/index.d.ts +4 -111
  236. package/dist/metrics/index.js +4 -452
  237. package/dist/metrics/index.js.map +1 -1
  238. package/dist/multistream/mediaRequestManager.d.ts +118 -0
  239. package/dist/multistream/mediaRequestManager.js +344 -0
  240. package/dist/multistream/mediaRequestManager.js.map +1 -0
  241. package/dist/multistream/receiveSlot.d.ts +68 -0
  242. package/dist/multistream/receiveSlot.js +200 -0
  243. package/dist/multistream/receiveSlot.js.map +1 -0
  244. package/dist/multistream/receiveSlotManager.d.ts +56 -0
  245. package/dist/multistream/receiveSlotManager.js +174 -0
  246. package/dist/multistream/receiveSlotManager.js.map +1 -0
  247. package/dist/multistream/remoteMedia.d.ts +72 -0
  248. package/dist/multistream/remoteMedia.js +268 -0
  249. package/dist/multistream/remoteMedia.js.map +1 -0
  250. package/dist/multistream/remoteMediaGroup.d.ts +47 -0
  251. package/dist/multistream/remoteMediaGroup.js +267 -0
  252. package/dist/multistream/remoteMediaGroup.js.map +1 -0
  253. package/dist/multistream/remoteMediaManager.d.ts +285 -0
  254. package/dist/multistream/remoteMediaManager.js +1211 -0
  255. package/dist/multistream/remoteMediaManager.js.map +1 -0
  256. package/dist/multistream/sendSlotManager.d.ts +61 -0
  257. package/dist/multistream/sendSlotManager.js +236 -0
  258. package/dist/multistream/sendSlotManager.js.map +1 -0
  259. package/dist/networkQualityMonitor/index.js +5 -4
  260. package/dist/networkQualityMonitor/index.js.map +1 -1
  261. package/dist/personal-meeting-room/index.js +2 -3
  262. package/dist/personal-meeting-room/index.js.map +1 -1
  263. package/dist/personal-meeting-room/request.js +2 -3
  264. package/dist/personal-meeting-room/request.js.map +1 -1
  265. package/dist/personal-meeting-room/util.js +1 -2
  266. package/dist/personal-meeting-room/util.js.map +1 -1
  267. package/dist/reachability/clusterReachability.d.ts +109 -0
  268. package/dist/reachability/clusterReachability.js +357 -0
  269. package/dist/reachability/clusterReachability.js.map +1 -0
  270. package/dist/reachability/index.d.ts +61 -95
  271. package/dist/reachability/index.js +304 -392
  272. package/dist/reachability/index.js.map +1 -1
  273. package/dist/reachability/request.d.ts +7 -3
  274. package/dist/reachability/request.js +18 -10
  275. package/dist/reachability/request.js.map +1 -1
  276. package/dist/reachability/util.d.ts +8 -0
  277. package/dist/reachability/util.js +29 -0
  278. package/dist/reachability/util.js.map +1 -0
  279. package/dist/reactions/constants.d.ts +3 -0
  280. package/dist/reactions/constants.js +12 -0
  281. package/dist/reactions/constants.js.map +1 -0
  282. package/dist/reactions/reactions.d.ts +2 -2
  283. package/dist/reactions/reactions.js +4 -6
  284. package/dist/reactions/reactions.js.map +1 -1
  285. package/dist/reactions/reactions.type.d.ts +23 -3
  286. package/dist/reactions/reactions.type.js +21 -23
  287. package/dist/reactions/reactions.type.js.map +1 -1
  288. package/dist/reconnection-manager/index.d.ts +32 -8
  289. package/dist/reconnection-manager/index.js +285 -232
  290. package/dist/reconnection-manager/index.js.map +1 -1
  291. package/dist/recording-controller/enums.js +4 -5
  292. package/dist/recording-controller/enums.js.map +1 -1
  293. package/dist/recording-controller/index.d.ts +15 -1
  294. package/dist/recording-controller/index.js +57 -46
  295. package/dist/recording-controller/index.js.map +1 -1
  296. package/dist/recording-controller/util.d.ts +5 -4
  297. package/dist/recording-controller/util.js +10 -10
  298. package/dist/recording-controller/util.js.map +1 -1
  299. package/dist/roap/index.d.ts +9 -47
  300. package/dist/roap/index.js +100 -238
  301. package/dist/roap/index.js.map +1 -1
  302. package/dist/roap/request.d.ts +18 -12
  303. package/dist/roap/request.js +126 -180
  304. package/dist/roap/request.js.map +1 -1
  305. package/dist/roap/turnDiscovery.d.ts +27 -16
  306. package/dist/roap/turnDiscovery.js +115 -105
  307. package/dist/roap/turnDiscovery.js.map +1 -1
  308. package/dist/rtcMetrics/constants.d.ts +4 -0
  309. package/dist/rtcMetrics/constants.js +11 -0
  310. package/dist/rtcMetrics/constants.js.map +1 -0
  311. package/dist/rtcMetrics/index.d.ts +54 -0
  312. package/dist/rtcMetrics/index.js +140 -0
  313. package/dist/rtcMetrics/index.js.map +1 -0
  314. package/dist/statsAnalyzer/global.d.ts +1 -83
  315. package/dist/statsAnalyzer/global.js +2 -85
  316. package/dist/statsAnalyzer/global.js.map +1 -1
  317. package/dist/statsAnalyzer/index.d.ts +50 -30
  318. package/dist/statsAnalyzer/index.js +436 -511
  319. package/dist/statsAnalyzer/index.js.map +1 -1
  320. package/dist/statsAnalyzer/mqaUtil.d.ts +8 -6
  321. package/dist/statsAnalyzer/mqaUtil.js +130 -90
  322. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  323. package/dist/transcription/index.js +1 -2
  324. package/dist/transcription/index.js.map +1 -1
  325. package/dist/webinar/collection.d.ts +16 -0
  326. package/dist/webinar/collection.js +43 -0
  327. package/dist/webinar/collection.js.map +1 -0
  328. package/dist/webinar/index.d.ts +5 -0
  329. package/dist/webinar/index.js +68 -0
  330. package/dist/webinar/index.js.map +1 -0
  331. package/package.json +39 -26
  332. package/src/annotation/annotation.types.ts +50 -0
  333. package/src/annotation/constants.ts +36 -0
  334. package/src/annotation/index.ts +328 -0
  335. package/src/breakouts/README.md +220 -0
  336. package/src/breakouts/breakout.ts +188 -0
  337. package/src/breakouts/collection.ts +19 -0
  338. package/src/breakouts/edit-lock-error.ts +25 -0
  339. package/src/breakouts/events.ts +56 -0
  340. package/src/breakouts/index.ts +925 -0
  341. package/src/breakouts/request.ts +55 -0
  342. package/src/breakouts/utils.ts +57 -0
  343. package/src/common/errors/no-meeting-info.ts +24 -0
  344. package/src/common/errors/webex-errors.ts +36 -12
  345. package/src/common/logs/logger-proxy.ts +1 -1
  346. package/src/common/logs/request.ts +5 -1
  347. package/src/common/queue.ts +22 -8
  348. package/src/config.ts +6 -7
  349. package/src/constants.ts +265 -100
  350. package/src/controls-options-manager/enums.ts +12 -0
  351. package/src/controls-options-manager/index.ts +116 -21
  352. package/src/controls-options-manager/types.ts +59 -0
  353. package/src/controls-options-manager/util.ts +294 -14
  354. package/src/index.ts +44 -0
  355. package/src/interceptors/index.ts +3 -0
  356. package/src/interceptors/locusRetry.ts +67 -0
  357. package/src/interpretation/README.md +60 -0
  358. package/src/interpretation/collection.ts +19 -0
  359. package/src/interpretation/index.ts +332 -0
  360. package/src/interpretation/siLanguage.ts +18 -0
  361. package/src/locus-info/controlsUtils.ts +110 -0
  362. package/src/locus-info/index.ts +450 -61
  363. package/src/locus-info/infoUtils.ts +14 -2
  364. package/src/locus-info/mediaSharesUtils.ts +64 -0
  365. package/src/locus-info/parser.ts +258 -47
  366. package/src/locus-info/selfUtils.ts +85 -2
  367. package/src/media/index.ts +153 -370
  368. package/src/media/properties.ts +106 -136
  369. package/src/media/util.ts +0 -21
  370. package/src/mediaQualityMetrics/config.ts +244 -377
  371. package/src/meeting/in-meeting-actions.ts +176 -0
  372. package/src/meeting/index.ts +4306 -2581
  373. package/src/meeting/locusMediaRequest.ts +313 -0
  374. package/src/meeting/muteState.ts +224 -138
  375. package/src/meeting/request.ts +214 -127
  376. package/src/meeting/request.type.ts +13 -0
  377. package/src/meeting/util.ts +687 -423
  378. package/src/meeting/voicea-meeting.ts +161 -0
  379. package/src/meeting-info/index.ts +81 -8
  380. package/src/meeting-info/meeting-info-v2.ts +163 -13
  381. package/src/meeting-info/util.ts +1 -1
  382. package/src/meeting-info/utilv2.ts +28 -28
  383. package/src/meetings/collection.ts +33 -0
  384. package/src/meetings/index.ts +529 -127
  385. package/src/meetings/meetings.types.ts +12 -0
  386. package/src/meetings/request.ts +2 -0
  387. package/src/meetings/util.ts +116 -5
  388. package/src/member/index.ts +43 -1
  389. package/src/member/types.ts +38 -0
  390. package/src/member/util.ts +125 -28
  391. package/src/members/collection.ts +8 -0
  392. package/src/members/index.ts +187 -52
  393. package/src/members/request.ts +87 -27
  394. package/src/members/util.ts +332 -291
  395. package/src/metrics/constants.ts +15 -6
  396. package/src/metrics/index.ts +1 -471
  397. package/src/multistream/mediaRequestManager.ts +440 -0
  398. package/src/multistream/receiveSlot.ts +184 -0
  399. package/src/multistream/receiveSlotManager.ts +166 -0
  400. package/src/multistream/remoteMedia.ts +254 -0
  401. package/src/multistream/remoteMediaGroup.ts +284 -0
  402. package/src/multistream/remoteMediaManager.ts +1145 -0
  403. package/src/multistream/sendSlotManager.ts +170 -0
  404. package/src/networkQualityMonitor/index.ts +6 -6
  405. package/src/reachability/clusterReachability.ts +320 -0
  406. package/src/reachability/index.ts +246 -347
  407. package/src/reachability/request.ts +17 -8
  408. package/src/reachability/util.ts +24 -0
  409. package/src/reactions/constants.ts +4 -0
  410. package/src/reactions/reactions.ts +4 -4
  411. package/src/reactions/reactions.type.ts +30 -4
  412. package/src/reconnection-manager/index.ts +168 -156
  413. package/src/recording-controller/index.ts +20 -3
  414. package/src/recording-controller/util.ts +26 -9
  415. package/src/roap/index.ts +96 -241
  416. package/src/roap/request.ts +74 -148
  417. package/src/roap/turnDiscovery.ts +62 -56
  418. package/src/rtcMetrics/constants.ts +3 -0
  419. package/src/rtcMetrics/index.ts +124 -0
  420. package/src/statsAnalyzer/global.ts +1 -84
  421. package/src/statsAnalyzer/index.ts +479 -645
  422. package/src/statsAnalyzer/mqaUtil.ts +128 -126
  423. package/src/webinar/collection.ts +31 -0
  424. package/src/webinar/index.ts +62 -0
  425. package/test/integration/spec/converged-space-meetings.js +233 -0
  426. package/test/integration/spec/journey.js +320 -264
  427. package/test/integration/spec/space-meeting.js +77 -4
  428. package/test/unit/spec/annotation/index.ts +418 -0
  429. package/test/unit/spec/breakouts/breakout.ts +237 -0
  430. package/test/unit/spec/breakouts/collection.ts +15 -0
  431. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  432. package/test/unit/spec/breakouts/events.ts +89 -0
  433. package/test/unit/spec/breakouts/index.ts +1790 -0
  434. package/test/unit/spec/breakouts/request.ts +104 -0
  435. package/test/unit/spec/breakouts/utils.js +72 -0
  436. package/test/unit/spec/common/queue.js +31 -2
  437. package/test/unit/spec/controls-options-manager/index.js +163 -0
  438. package/test/unit/spec/controls-options-manager/util.js +576 -60
  439. package/test/unit/spec/fixture/locus.js +1 -0
  440. package/test/unit/spec/interceptors/locusRetry.ts +131 -0
  441. package/test/unit/spec/interpretation/collection.ts +15 -0
  442. package/test/unit/spec/interpretation/index.ts +589 -0
  443. package/test/unit/spec/interpretation/siLanguage.ts +28 -0
  444. package/test/unit/spec/locus-info/controlsUtils.js +323 -30
  445. package/test/unit/spec/locus-info/index.js +1438 -16
  446. package/test/unit/spec/locus-info/infoUtils.js +54 -16
  447. package/test/unit/spec/locus-info/lib/SeqCmp.json +16 -0
  448. package/test/unit/spec/locus-info/lib/selfConstant.js +48 -0
  449. package/test/unit/spec/locus-info/mediaSharesUtils.ts +32 -0
  450. package/test/unit/spec/locus-info/parser.js +116 -35
  451. package/test/unit/spec/locus-info/selfUtils.js +275 -0
  452. package/test/unit/spec/media/index.ts +290 -0
  453. package/test/unit/spec/media/properties.ts +75 -84
  454. package/test/unit/spec/meeting/in-meeting-actions.ts +86 -0
  455. package/test/unit/spec/meeting/index.js +8886 -2815
  456. package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
  457. package/test/unit/spec/meeting/muteState.js +409 -213
  458. package/test/unit/spec/meeting/request.js +523 -43
  459. package/test/unit/spec/meeting/utils.js +834 -24
  460. package/test/unit/spec/meeting-info/index.js +300 -0
  461. package/test/unit/spec/meeting-info/meetinginfov2.js +527 -5
  462. package/test/unit/spec/meeting-info/utilv2.js +21 -0
  463. package/test/unit/spec/meetings/collection.js +26 -0
  464. package/test/unit/spec/meetings/index.js +1446 -217
  465. package/test/unit/spec/meetings/utils.js +202 -2
  466. package/test/unit/spec/member/index.js +32 -9
  467. package/test/unit/spec/member/util.js +499 -61
  468. package/test/unit/spec/members/index.js +394 -5
  469. package/test/unit/spec/members/request.js +206 -27
  470. package/test/unit/spec/members/utils.js +173 -38
  471. package/test/unit/spec/metrics/index.js +1 -50
  472. package/test/unit/spec/multistream/mediaRequestManager.ts +1418 -0
  473. package/test/unit/spec/multistream/receiveSlot.ts +163 -0
  474. package/test/unit/spec/multistream/receiveSlotManager.ts +203 -0
  475. package/test/unit/spec/multistream/remoteMedia.ts +255 -0
  476. package/test/unit/spec/multistream/remoteMediaGroup.ts +662 -0
  477. package/test/unit/spec/multistream/remoteMediaManager.ts +1924 -0
  478. package/test/unit/spec/multistream/sendSlotManager.ts +242 -0
  479. package/test/unit/spec/networkQualityMonitor/index.js +4 -4
  480. package/test/unit/spec/reachability/clusterReachability.ts +279 -0
  481. package/test/unit/spec/reachability/index.ts +532 -24
  482. package/test/unit/spec/reachability/request.js +68 -0
  483. package/test/unit/spec/reachability/util.ts +40 -0
  484. package/test/unit/spec/reconnection-manager/index.js +163 -24
  485. package/test/unit/spec/recording-controller/index.js +293 -218
  486. package/test/unit/spec/recording-controller/util.js +223 -96
  487. package/test/unit/spec/roap/index.ts +187 -77
  488. package/test/unit/spec/roap/request.ts +255 -0
  489. package/test/unit/spec/roap/turnDiscovery.ts +86 -48
  490. package/test/unit/spec/rtcMetrics/index.ts +93 -0
  491. package/test/unit/spec/stats-analyzer/index.js +644 -165
  492. package/test/unit/spec/webinar/collection.ts +13 -0
  493. package/test/unit/spec/webinar/index.ts +60 -0
  494. package/test/utils/constants.js +9 -0
  495. package/test/utils/integrationTestUtils.js +46 -0
  496. package/test/utils/testUtils.js +0 -45
  497. package/test/utils/webex-config.js +4 -0
  498. package/test/utils/webex-test-users.js +7 -3
  499. package/dist/common/errors/reclaim-host-role-error.js.map +0 -1
  500. package/dist/meeting/effectsState.d.ts +0 -42
  501. package/dist/meeting/effectsState.js +0 -260
  502. package/dist/meeting/effectsState.js.map +0 -1
  503. package/dist/metrics/config.d.ts +0 -169
  504. package/dist/metrics/config.js +0 -289
  505. package/dist/metrics/config.js.map +0 -1
  506. package/dist/peer-connection-manager/index.d.ts +0 -6
  507. package/dist/peer-connection-manager/index.js +0 -671
  508. package/dist/peer-connection-manager/index.js.map +0 -1
  509. package/dist/peer-connection-manager/util.d.ts +0 -6
  510. package/dist/peer-connection-manager/util.js +0 -110
  511. package/dist/peer-connection-manager/util.js.map +0 -1
  512. package/dist/roap/collection.d.ts +0 -10
  513. package/dist/roap/collection.js +0 -63
  514. package/dist/roap/collection.js.map +0 -1
  515. package/dist/roap/handler.d.ts +0 -47
  516. package/dist/roap/handler.js +0 -279
  517. package/dist/roap/handler.js.map +0 -1
  518. package/dist/roap/state.d.ts +0 -9
  519. package/dist/roap/state.js +0 -127
  520. package/dist/roap/state.js.map +0 -1
  521. package/dist/roap/util.d.ts +0 -2
  522. package/dist/roap/util.js +0 -76
  523. package/dist/roap/util.js.map +0 -1
  524. package/src/index.js +0 -15
  525. package/src/meeting/effectsState.ts +0 -209
  526. package/src/metrics/config.ts +0 -485
  527. package/src/peer-connection-manager/index.ts +0 -847
  528. package/src/peer-connection-manager/util.ts +0 -119
  529. package/src/roap/collection.ts +0 -62
  530. package/src/roap/handler.ts +0 -294
  531. package/src/roap/state.ts +0 -156
  532. package/src/roap/util.ts +0 -100
  533. package/test/unit/spec/meeting/effectsState.js +0 -281
  534. package/test/unit/spec/peerconnection-manager/index.js +0 -218
  535. package/test/unit/spec/peerconnection-manager/utils.js +0 -49
  536. package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +0 -388
  537. package/test/unit/spec/roap/util.js +0 -30
  538. /package/dist/common/errors/{reclaim-host-role-error.d.ts → reclaim-host-role-errors.d.ts} +0 -0
  539. /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,41 @@ 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
+
171
+ // append installationId to device config if it exists
172
+ // @ts-ignore
173
+ if (this.webex.internal.device.config.installationId) {
174
+ // @ts-ignore
175
+ body.device.installationId = this.webex.internal.device.config.installationId;
176
+ }
177
+ if (locale) {
178
+ body.locale = locale;
179
+ }
180
+
181
+ // add deviceCapabilities prop
182
+ if (deviceCapabilities.length) {
183
+ body.deviceCapabilities = deviceCapabilities;
184
+ }
185
+ // @ts-ignore
186
+ if (this.webex.meetings.geoHintInfo) {
187
+ // @ts-ignore
188
+ body.device.countryCode = this.webex.meetings.geoHintInfo.countryCode;
99
189
  // @ts-ignore
100
- body.device.countryCode = this.webex.meetings.clientRegion.countryCode;
190
+ body.device.regionCode = this.webex.meetings.geoHintInfo.regionCode;
191
+ body.device.localIp =
101
192
  // @ts-ignore
102
- body.device.regionCode = this.webex.meetings.clientRegion.regionCode;
193
+ _internalPluginMetrics.CallDiagnosticUtils.anonymizeIPAddress(this.webex.meetings.geoHintInfo.clientAddress) || undefined;
103
194
  }
104
195
  if (moderator !== undefined) {
105
196
  body.moderator = moderator;
@@ -111,34 +202,44 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
111
202
  body.pin = pin;
112
203
  }
113
204
  if (!locusUrl) {
114
- _context.next = 12;
205
+ _context2.next = 20;
115
206
  break;
116
207
  }
117
208
  url = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT);
118
- _context.next = 24;
209
+ _context2.next = 37;
119
210
  break;
120
- case 12:
211
+ case 20:
121
212
  if (!(inviteeAddress || meetingNumber)) {
122
- _context.next = 24;
213
+ _context2.next = 37;
214
+ break;
215
+ }
216
+ _context2.prev = 21;
217
+ if (!locusClusterUrl) {
218
+ _context2.next = 26;
123
219
  break;
124
220
  }
125
- _context.prev = 13;
126
- _context.next = 16;
221
+ clusterUrl = "https://".concat(locusClusterUrl, "/locus/api/v1");
222
+ _context2.next = 29;
223
+ break;
224
+ case 26:
225
+ _context2.next = 28;
127
226
  return this.webex.internal.services.waitForCatalog('postauth');
128
- case 16:
227
+ case 28:
129
228
  // @ts-ignore
130
- url = "".concat(this.webex.internal.services.get('locus'), "/").concat(_constants.LOCI, "/").concat(_constants.CALL);
229
+ clusterUrl = this.webex.internal.services.get('locus');
230
+ case 29:
231
+ url = "".concat(clusterUrl, "/").concat(_constants.LOCI, "/").concat(_constants.CALL);
131
232
  body.invitee = {
132
233
  address: inviteeAddress || "wbxmn:".concat(meetingNumber)
133
234
  };
134
- _context.next = 24;
235
+ _context2.next = 37;
135
236
  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:
237
+ case 33:
238
+ _context2.prev = 33;
239
+ _context2.t0 = _context2["catch"](21);
240
+ _loggerProxy.default.logger.error("Meeting:request#joinMeeting Error Joining ".concat(inviteeAddress || meetingNumber, " --> ").concat(_context2.t0));
241
+ throw _context2.t0;
242
+ case 37:
142
243
  // TODO: -- this will be resolved in SDK request
143
244
  url = url.concat("?".concat(_constants.ALTERNATE_REDIRECT_TRUE));
144
245
  if (resourceId === inviteeAddress) {
@@ -151,16 +252,16 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
151
252
  }
152
253
 
153
254
  /// @ts-ignore
154
- return _context.abrupt("return", this.request({
255
+ return _context2.abrupt("return", this.request({
155
256
  method: _constants.HTTP_VERBS.POST,
156
257
  uri: url,
157
258
  body: body
158
259
  }));
159
- case 28:
260
+ case 41:
160
261
  case "end":
161
- return _context.stop();
262
+ return _context2.stop();
162
263
  }
163
- }, _callee, this, [[13, 20]]);
264
+ }, _callee2, this, [[21, 33]]);
164
265
  }));
165
266
  function joinMeeting(_x) {
166
267
  return _joinMeeting.apply(this, arguments);
@@ -175,11 +276,12 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
175
276
  * @returns {Promise}
176
277
  * @private
177
278
  */
279
+ )
178
280
  }, {
179
281
  key: "refreshCaptcha",
180
- value: function refreshCaptcha(_ref) {
181
- var captchaRefreshUrl = _ref.captchaRefreshUrl,
182
- captchaId = _ref.captchaId;
282
+ value: function refreshCaptcha(_ref2) {
283
+ var captchaRefreshUrl = _ref2.captchaRefreshUrl,
284
+ captchaId = _ref2.captchaId;
183
285
  var body = {
184
286
  captchaId: captchaId
185
287
  };
@@ -207,11 +309,11 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
207
309
  */
208
310
  }, {
209
311
  key: "dialIn",
210
- value: function dialIn(_ref2) {
211
- var locusUrl = _ref2.locusUrl,
212
- dialInUrl = _ref2.dialInUrl,
213
- clientUrl = _ref2.clientUrl,
214
- correlationId = _ref2.correlationId;
312
+ value: function dialIn(_ref3) {
313
+ var locusUrl = _ref3.locusUrl,
314
+ dialInUrl = _ref3.dialInUrl,
315
+ clientUrl = _ref3.clientUrl,
316
+ correlationId = _ref3.correlationId;
215
317
  _loggerProxy.default.logger.info('Meeting:request#dialIn --> Provisioning a dial in device', correlationId);
216
318
  var uri = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT);
217
319
  var body = {
@@ -225,7 +327,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
225
327
  };
226
328
 
227
329
  // @ts-ignore
228
- return this.request({
330
+ return this.locusDeltaRequest({
229
331
  method: _constants.HTTP_VERBS.POST,
230
332
  uri: uri,
231
333
  body: body
@@ -248,12 +350,12 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
248
350
  */
249
351
  }, {
250
352
  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;
353
+ value: function dialOut(_ref4) {
354
+ var locusUrl = _ref4.locusUrl,
355
+ dialOutUrl = _ref4.dialOutUrl,
356
+ phoneNumber = _ref4.phoneNumber,
357
+ clientUrl = _ref4.clientUrl,
358
+ correlationId = _ref4.correlationId;
257
359
  _loggerProxy.default.logger.info('Meeting:request#dialOut --> Provisioning a dial out device', correlationId);
258
360
  var uri = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT);
259
361
  var body = {
@@ -268,7 +370,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
268
370
  };
269
371
 
270
372
  // @ts-ignore
271
- return this.request({
373
+ return this.locusDeltaRequest({
272
374
  method: _constants.HTTP_VERBS.POST,
273
375
  uri: uri,
274
376
  body: body
@@ -279,60 +381,23 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
279
381
  }
280
382
 
281
383
  /**
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
384
+ * Sends a requests to get the latest locus DTO, it might be a full Locus or a delta, depending on the url provided
314
385
  * @param {Object} options
315
- * @param {boolean} options.desync flag to get partial or whole locus object
316
386
  * @param {String} options.locusUrl sync url to get ht elatest locus delta
317
387
  * @returns {Promise}
318
388
  */
319
389
  }, {
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
-
390
+ key: "getLocusDTO",
391
+ value: function getLocusDTO(options) {
392
+ var url = options.url;
393
+ if (url) {
329
394
  // @ts-ignore
330
395
  return this.request({
331
396
  method: _constants.HTTP_VERBS.GET,
332
- uri: locusUrl
397
+ uri: url
333
398
  }).catch(function (err) {
334
- _loggerProxy.default.logger.error("Meeting:request#getFullLocus --> Error getting full locus, error ".concat(err));
335
- return err;
399
+ _loggerProxy.default.logger.error("Meeting:request#getLocusDTO --> Error getting latest locus, error ".concat(err));
400
+ throw err;
336
401
  });
337
402
  }
338
403
  return _promise.default.reject();
@@ -350,11 +415,11 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
350
415
  */
351
416
  }, {
352
417
  key: "disconnectPhoneAudio",
353
- value: function disconnectPhoneAudio(_ref4) {
354
- var locusUrl = _ref4.locusUrl,
355
- phoneUrl = _ref4.phoneUrl,
356
- correlationId = _ref4.correlationId,
357
- selfId = _ref4.selfId;
418
+ value: function disconnectPhoneAudio(_ref5) {
419
+ var locusUrl = _ref5.locusUrl,
420
+ phoneUrl = _ref5.phoneUrl,
421
+ correlationId = _ref5.correlationId,
422
+ selfId = _ref5.selfId;
358
423
  _loggerProxy.default.logger.info("Meeting:request#disconnectPhoneAudio --> request phone ".concat(phoneUrl, " to leave"), correlationId);
359
424
  var uri = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT, "/").concat(selfId, "/").concat(_constants.LEAVE);
360
425
  var body = {
@@ -366,7 +431,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
366
431
  };
367
432
 
368
433
  // @ts-ignore
369
- return this.request({
434
+ return this.locusDeltaRequest({
370
435
  method: _constants.HTTP_VERBS.PUT,
371
436
  uri: uri,
372
437
  body: body
@@ -377,23 +442,53 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
377
442
  }
378
443
 
379
444
  /**
380
- * Make a network request to leave a meeting
445
+ * Prepares request options to to leave a meeting
381
446
  * @param {Object} options
382
447
  * @param {Url} options.locusUrl
383
448
  * @param {String} options.selfId
384
449
  * @param {Url} options.deviceUrl
385
450
  * @param {String} options.resourceId,
386
451
  * @param {String} options.correlationId
452
+ * @returns {Object} request options
453
+ */
454
+ }, {
455
+ key: "prepareLeaveMeetingRequestOptions",
456
+ value: function prepareLeaveMeetingRequestOptions(_ref6) {
457
+ var locusUrl = _ref6.locusUrl,
458
+ selfId = _ref6.selfId,
459
+ url = _ref6.deviceUrl,
460
+ resourceId = _ref6.resourceId,
461
+ correlationId = _ref6.correlationId;
462
+ var uri = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT, "/").concat(selfId, "/").concat(_constants.LEAVE);
463
+ var body = {
464
+ device: {
465
+ // @ts-ignore
466
+ deviceType: this.config.meetings.deviceType,
467
+ url: url
468
+ },
469
+ usingResource: resourceId || null,
470
+ correlationId: correlationId
471
+ };
472
+ return {
473
+ method: _constants.HTTP_VERBS.PUT,
474
+ uri: uri,
475
+ body: body
476
+ };
477
+ }
478
+
479
+ /**
480
+ * Make a network request to leave a meeting
481
+ * @param {Object} options
387
482
  * @returns {Promise}
388
483
  */
389
484
  }, {
390
485
  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;
486
+ value: function leaveMeeting(_ref7) {
487
+ var locusUrl = _ref7.locusUrl,
488
+ selfId = _ref7.selfId,
489
+ url = _ref7.deviceUrl,
490
+ resourceId = _ref7.resourceId,
491
+ correlationId = _ref7.correlationId;
397
492
  _loggerProxy.default.logger.info('Meeting:request#leaveMeeting --> Leaving a meeting', correlationId);
398
493
  var uri = "".concat(locusUrl, "/").concat(_constants.PARTICIPANT, "/").concat(selfId, "/").concat(_constants.LEAVE);
399
494
  var body = {
@@ -405,15 +500,24 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
405
500
  usingResource: resourceId || null,
406
501
  correlationId: correlationId
407
502
  };
408
-
409
- // @ts-ignore
410
- return this.request({
503
+ return this.locusDeltaRequest({
411
504
  method: _constants.HTTP_VERBS.PUT,
412
505
  uri: uri,
413
506
  body: body
414
507
  });
415
508
  }
416
509
 
510
+ /**
511
+ * Builds request options to leave a meeting
512
+ * @param {Object} options
513
+ * @returns {Object} request options
514
+ */
515
+ }, {
516
+ key: "buildLeaveMeetingRequestOptions",
517
+ value: function buildLeaveMeetingRequestOptions(options) {
518
+ return this.buildLocusDeltaRequestOptions(this.prepareLeaveMeetingRequestOptions(options));
519
+ }
520
+
417
521
  /**
418
522
  * Make a network request to acknowledge a meeting
419
523
  * @param {Object} options
@@ -434,14 +538,19 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
434
538
  },
435
539
  correlationId: options.correlationId
436
540
  };
437
-
438
- // @ts-ignore
439
- return this.request({
541
+ return this.locusDeltaRequest({
440
542
  method: _constants.HTTP_VERBS.PUT,
441
543
  uri: uri,
442
544
  body: body
443
545
  });
444
546
  }
547
+
548
+ /**
549
+ * Makes a network request to lock the meeting
550
+ * @param {Object} options
551
+ * @param {Boolean} options.lock Whether it is locked or not
552
+ * @returns {Promise}
553
+ */
445
554
  }, {
446
555
  key: "lockMeeting",
447
556
  value: function lockMeeting(options) {
@@ -451,9 +560,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
451
560
  locked: options.lock
452
561
  }
453
562
  };
454
-
455
- // @ts-ignore
456
- return this.request({
563
+ return this.locusDeltaRequest({
457
564
  method: _constants.HTTP_VERBS.PATCH,
458
565
  uri: uri,
459
566
  body: body
@@ -481,47 +588,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
481
588
  }, options.reason && {
482
589
  reason: options.reason
483
590
  });
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({
591
+ return this.locusDeltaRequest({
525
592
  method: _constants.HTTP_VERBS.PUT,
526
593
  uri: uri,
527
594
  body: body
@@ -569,6 +636,9 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
569
636
  if (options !== null && options !== void 0 && options.resourceToken) {
570
637
  body.resourceToken = options === null || options === void 0 ? void 0 : options.resourceToken;
571
638
  }
639
+ if (options !== null && options !== void 0 && options.annotationInfo) {
640
+ body.annotation = options === null || options === void 0 ? void 0 : options.annotationInfo;
641
+ }
572
642
 
573
643
  // @ts-ignore
574
644
  return this.request({
@@ -588,12 +658,12 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
588
658
  */
589
659
  }, {
590
660
  key: "sendDTMF",
591
- value: function sendDTMF(_ref6) {
592
- var locusUrl = _ref6.locusUrl,
593
- deviceUrl = _ref6.deviceUrl,
594
- tones = _ref6.tones;
661
+ value: function sendDTMF(_ref8) {
662
+ var locusUrl = _ref8.locusUrl,
663
+ deviceUrl = _ref8.deviceUrl,
664
+ tones = _ref8.tones;
595
665
  // @ts-ignore
596
- return this.request({
666
+ return this.locusDeltaRequest({
597
667
  method: _constants.HTTP_VERBS.POST,
598
668
  uri: "".concat(locusUrl, "/").concat(_constants.SEND_DTMF_ENDPOINT),
599
669
  body: {
@@ -622,12 +692,12 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
622
692
  */
623
693
  }, {
624
694
  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;
695
+ value: function changeVideoLayout(_ref9) {
696
+ var locusUrl = _ref9.locusUrl,
697
+ deviceUrl = _ref9.deviceUrl,
698
+ layoutType = _ref9.layoutType,
699
+ main = _ref9.main,
700
+ content = _ref9.content;
631
701
  // send main/content renderInfo only if both width and height are specified
632
702
  if (main && (!main.width || !main.height)) {
633
703
  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 +721,7 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
651
721
  } : undefined;
652
722
 
653
723
  // @ts-ignore
654
- return this.request({
724
+ return this.locusDeltaRequest({
655
725
  method: _constants.HTTP_VERBS.PUT,
656
726
  uri: "".concat(locusUrl, "/").concat(_constants.CONTROLS),
657
727
  body: {
@@ -672,12 +742,12 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
672
742
  */
673
743
  }, {
674
744
  key: "endMeetingForAll",
675
- value: function endMeetingForAll(_ref8) {
676
- var locusUrl = _ref8.locusUrl;
745
+ value: function endMeetingForAll(_ref10) {
746
+ var locusUrl = _ref10.locusUrl;
677
747
  var uri = "".concat(locusUrl, "/").concat(_constants.END);
678
748
 
679
749
  // @ts-ignore
680
- return this.request({
750
+ return this.locusDeltaRequest({
681
751
  method: _constants.HTTP_VERBS.POST,
682
752
  uri: uri
683
753
  });
@@ -691,8 +761,8 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
691
761
  */
692
762
  }, {
693
763
  key: "keepAlive",
694
- value: function keepAlive(_ref9) {
695
- var keepAliveUrl = _ref9.keepAliveUrl;
764
+ value: function keepAlive(_ref11) {
765
+ var keepAliveUrl = _ref11.keepAliveUrl;
696
766
  // @ts-ignore
697
767
  return this.request({
698
768
  method: _constants.HTTP_VERBS.GET,
@@ -710,10 +780,10 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
710
780
  */
711
781
  }, {
712
782
  key: "sendReaction",
713
- value: function sendReaction(_ref10) {
714
- var reactionChannelUrl = _ref10.reactionChannelUrl,
715
- reaction = _ref10.reaction,
716
- participantId = _ref10.participantId;
783
+ value: function sendReaction(_ref12) {
784
+ var reactionChannelUrl = _ref12.reactionChannelUrl,
785
+ reaction = _ref12.reaction,
786
+ participantId = _ref12.participantId;
717
787
  var uri = reactionChannelUrl;
718
788
 
719
789
  // @ts-ignore
@@ -728,8 +798,43 @@ var MeetingRequest = /*#__PURE__*/function (_StatelessWebexPlugin) {
728
798
  }
729
799
  });
730
800
  }
801
+
802
+ /**
803
+ * Make a network request to enable or disable reactions.
804
+ * @param {boolean} options.enable - determines if we need to enable or disable.
805
+ * @param {locusUrl} options.locusUrl
806
+ * @returns {Promise}
807
+ */
808
+ }, {
809
+ key: "toggleReactions",
810
+ value: function toggleReactions(_ref13) {
811
+ var enable = _ref13.enable,
812
+ locusUrl = _ref13.locusUrl,
813
+ requestingParticipantId = _ref13.requestingParticipantId;
814
+ var uri = "".concat(locusUrl, "/").concat(_constants.CONTROLS);
815
+
816
+ // @ts-ignore
817
+ return this.locusDeltaRequest({
818
+ method: _constants.HTTP_VERBS.PUT,
819
+ uri: uri,
820
+ body: {
821
+ reactions: {
822
+ enabled: enable
823
+ },
824
+ requestingParticipantId: requestingParticipantId
825
+ }
826
+ });
827
+ }
828
+ }, {
829
+ key: "getLocusStatusByUrl",
830
+ value: function getLocusStatusByUrl(locusUrl) {
831
+ // @ts-ignore
832
+ return this.request({
833
+ method: _constants.HTTP_VERBS.GET,
834
+ uri: locusUrl
835
+ });
836
+ }
731
837
  }]);
732
838
  return MeetingRequest;
733
839
  }(_webexCore.StatelessWebexPlugin);
734
- exports.default = MeetingRequest;
735
840
  //# sourceMappingURL=request.js.map