@webex/plugin-meetings 3.0.0-beta.1 → 3.0.0-beta.104

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 (548) hide show
  1. package/UPGRADING.md +9 -9
  2. package/browsers.js +19 -24
  3. package/dist/annotation/annotation.types.js +7 -0
  4. package/dist/annotation/annotation.types.js.map +1 -0
  5. package/dist/annotation/constants.js +48 -0
  6. package/dist/annotation/constants.js.map +1 -0
  7. package/dist/annotation/index.js +357 -0
  8. package/dist/annotation/index.js.map +1 -0
  9. package/dist/breakouts/breakout.js +176 -0
  10. package/dist/breakouts/breakout.js.map +1 -0
  11. package/dist/breakouts/collection.js +23 -0
  12. package/dist/breakouts/collection.js.map +1 -0
  13. package/dist/breakouts/edit-lock-error.js +52 -0
  14. package/dist/breakouts/edit-lock-error.js.map +1 -0
  15. package/dist/breakouts/events.js +43 -0
  16. package/dist/breakouts/events.js.map +1 -0
  17. package/dist/breakouts/index.js +919 -0
  18. package/dist/breakouts/index.js.map +1 -0
  19. package/dist/breakouts/request.js +78 -0
  20. package/dist/breakouts/request.js.map +1 -0
  21. package/dist/breakouts/utils.js +67 -0
  22. package/dist/breakouts/utils.js.map +1 -0
  23. package/dist/common/browser-detection.js +1 -20
  24. package/dist/common/browser-detection.js.map +1 -1
  25. package/dist/common/collection.js +5 -20
  26. package/dist/common/collection.js.map +1 -1
  27. package/dist/common/config.js +0 -7
  28. package/dist/common/config.js.map +1 -1
  29. package/dist/common/errors/captcha-error.js +10 -24
  30. package/dist/common/errors/captcha-error.js.map +1 -1
  31. package/dist/common/errors/intent-to-join.js +11 -24
  32. package/dist/common/errors/intent-to-join.js.map +1 -1
  33. package/dist/common/errors/join-meeting.js +12 -25
  34. package/dist/common/errors/join-meeting.js.map +1 -1
  35. package/dist/common/errors/media.js +10 -24
  36. package/dist/common/errors/media.js.map +1 -1
  37. package/dist/common/errors/parameter.js +5 -33
  38. package/dist/common/errors/parameter.js.map +1 -1
  39. package/dist/common/errors/password-error.js +10 -24
  40. package/dist/common/errors/password-error.js.map +1 -1
  41. package/dist/common/errors/permission.js +9 -23
  42. package/dist/common/errors/permission.js.map +1 -1
  43. package/dist/common/errors/reconnection-in-progress.js +0 -17
  44. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  45. package/dist/common/errors/reconnection.js +10 -24
  46. package/dist/common/errors/reconnection.js.map +1 -1
  47. package/dist/common/errors/stats.js +10 -24
  48. package/dist/common/errors/stats.js.map +1 -1
  49. package/dist/common/errors/webex-errors.js +10 -69
  50. package/dist/common/errors/webex-errors.js.map +1 -1
  51. package/dist/common/errors/webex-meetings-error.js +5 -25
  52. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  53. package/dist/common/events/events-scope.js +0 -22
  54. package/dist/common/events/events-scope.js.map +1 -1
  55. package/dist/common/events/events.js +0 -23
  56. package/dist/common/events/events.js.map +1 -1
  57. package/dist/common/events/trigger-proxy.js +0 -12
  58. package/dist/common/events/trigger-proxy.js.map +1 -1
  59. package/dist/common/events/util.js +0 -15
  60. package/dist/common/events/util.js.map +1 -1
  61. package/dist/common/logs/logger-config.js +0 -4
  62. package/dist/common/logs/logger-config.js.map +1 -1
  63. package/dist/common/logs/logger-proxy.js +1 -8
  64. package/dist/common/logs/logger-proxy.js.map +1 -1
  65. package/dist/common/logs/request.js +37 -60
  66. package/dist/common/logs/request.js.map +1 -1
  67. package/dist/common/queue.js +4 -14
  68. package/dist/common/queue.js.map +1 -1
  69. package/dist/config.js +7 -6
  70. package/dist/config.js.map +1 -1
  71. package/dist/constants.js +184 -122
  72. package/dist/constants.js.map +1 -1
  73. package/dist/controls-options-manager/constants.js +14 -0
  74. package/dist/controls-options-manager/constants.js.map +1 -0
  75. package/dist/controls-options-manager/enums.js +25 -0
  76. package/dist/controls-options-manager/enums.js.map +1 -0
  77. package/dist/controls-options-manager/index.js +297 -0
  78. package/dist/controls-options-manager/index.js.map +1 -0
  79. package/dist/controls-options-manager/types.js +7 -0
  80. package/dist/controls-options-manager/types.js.map +1 -0
  81. package/dist/controls-options-manager/util.js +250 -0
  82. package/dist/controls-options-manager/util.js.map +1 -0
  83. package/dist/index.js +72 -17
  84. package/dist/index.js.map +1 -1
  85. package/dist/locus-info/controlsUtils.js +56 -29
  86. package/dist/locus-info/controlsUtils.js.map +1 -1
  87. package/dist/locus-info/embeddedAppsUtils.js +3 -26
  88. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  89. package/dist/locus-info/fullState.js +0 -15
  90. package/dist/locus-info/fullState.js.map +1 -1
  91. package/dist/locus-info/hostUtils.js +4 -12
  92. package/dist/locus-info/hostUtils.js.map +1 -1
  93. package/dist/locus-info/index.js +362 -208
  94. package/dist/locus-info/index.js.map +1 -1
  95. package/dist/locus-info/infoUtils.js +3 -37
  96. package/dist/locus-info/infoUtils.js.map +1 -1
  97. package/dist/locus-info/mediaSharesUtils.js +12 -38
  98. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  99. package/dist/locus-info/parser.js +92 -118
  100. package/dist/locus-info/parser.js.map +1 -1
  101. package/dist/locus-info/selfUtils.js +99 -91
  102. package/dist/locus-info/selfUtils.js.map +1 -1
  103. package/dist/media/index.js +113 -337
  104. package/dist/media/index.js.map +1 -1
  105. package/dist/media/properties.js +96 -135
  106. package/dist/media/properties.js.map +1 -1
  107. package/dist/media/util.js +1 -35
  108. package/dist/media/util.js.map +1 -1
  109. package/dist/mediaQualityMetrics/config.js +505 -495
  110. package/dist/mediaQualityMetrics/config.js.map +1 -1
  111. package/dist/meeting/in-meeting-actions.js +59 -14
  112. package/dist/meeting/in-meeting-actions.js.map +1 -1
  113. package/dist/meeting/index.js +2909 -2398
  114. package/dist/meeting/index.js.map +1 -1
  115. package/dist/meeting/muteState.js +257 -112
  116. package/dist/meeting/muteState.js.map +1 -1
  117. package/dist/meeting/request.js +330 -264
  118. package/dist/meeting/request.js.map +1 -1
  119. package/dist/meeting/request.type.js +7 -0
  120. package/dist/meeting/request.type.js.map +1 -0
  121. package/dist/meeting/state.js +21 -31
  122. package/dist/meeting/state.js.map +1 -1
  123. package/dist/meeting/util.js +63 -261
  124. package/dist/meeting/util.js.map +1 -1
  125. package/dist/meeting-info/collection.js +6 -25
  126. package/dist/meeting-info/collection.js.map +1 -1
  127. package/dist/meeting-info/index.js +14 -32
  128. package/dist/meeting-info/index.js.map +1 -1
  129. package/dist/meeting-info/meeting-info-v2.js +273 -280
  130. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  131. package/dist/meeting-info/request.js +3 -15
  132. package/dist/meeting-info/request.js.map +1 -1
  133. package/dist/meeting-info/util.js +98 -183
  134. package/dist/meeting-info/util.js.map +1 -1
  135. package/dist/meeting-info/utilv2.js +155 -232
  136. package/dist/meeting-info/utilv2.js.map +1 -1
  137. package/dist/meetings/collection.js +26 -19
  138. package/dist/meetings/collection.js.map +1 -1
  139. package/dist/meetings/index.js +741 -548
  140. package/dist/meetings/index.js.map +1 -1
  141. package/dist/meetings/request.js +26 -41
  142. package/dist/meetings/request.js.map +1 -1
  143. package/dist/meetings/util.js +194 -149
  144. package/dist/meetings/util.js.map +1 -1
  145. package/dist/member/index.js +100 -85
  146. package/dist/member/index.js.map +1 -1
  147. package/dist/member/types.js +15 -0
  148. package/dist/member/types.js.map +1 -0
  149. package/dist/member/util.js +90 -68
  150. package/dist/member/util.js.map +1 -1
  151. package/dist/members/collection.js +13 -12
  152. package/dist/members/collection.js.map +1 -1
  153. package/dist/members/index.js +227 -188
  154. package/dist/members/index.js.map +1 -1
  155. package/dist/members/request.js +54 -39
  156. package/dist/members/request.js.map +1 -1
  157. package/dist/members/types.js +15 -0
  158. package/dist/members/types.js.map +1 -0
  159. package/dist/members/util.js +107 -44
  160. package/dist/members/util.js.map +1 -1
  161. package/dist/metrics/config.js +5 -14
  162. package/dist/metrics/config.js.map +1 -1
  163. package/dist/metrics/constants.js +3 -7
  164. package/dist/metrics/constants.js.map +1 -1
  165. package/dist/metrics/index.js +67 -159
  166. package/dist/metrics/index.js.map +1 -1
  167. package/dist/multistream/mediaRequestManager.js +250 -0
  168. package/dist/multistream/mediaRequestManager.js.map +1 -0
  169. package/dist/multistream/receiveSlot.js +202 -0
  170. package/dist/multistream/receiveSlot.js.map +1 -0
  171. package/dist/multistream/receiveSlotManager.js +176 -0
  172. package/dist/multistream/receiveSlotManager.js.map +1 -0
  173. package/dist/multistream/remoteMedia.js +270 -0
  174. package/dist/multistream/remoteMedia.js.map +1 -0
  175. package/dist/multistream/remoteMediaGroup.js +209 -0
  176. package/dist/multistream/remoteMediaGroup.js.map +1 -0
  177. package/dist/multistream/remoteMediaManager.js +1137 -0
  178. package/dist/multistream/remoteMediaManager.js.map +1 -0
  179. package/dist/networkQualityMonitor/index.js +40 -59
  180. package/dist/networkQualityMonitor/index.js.map +1 -1
  181. package/dist/personal-meeting-room/index.js +21 -45
  182. package/dist/personal-meeting-room/index.js.map +1 -1
  183. package/dist/personal-meeting-room/request.js +1 -31
  184. package/dist/personal-meeting-room/request.js.map +1 -1
  185. package/dist/personal-meeting-room/util.js +0 -13
  186. package/dist/personal-meeting-room/util.js.map +1 -1
  187. package/dist/reachability/index.js +192 -191
  188. package/dist/reachability/index.js.map +1 -1
  189. package/dist/reachability/request.js +15 -23
  190. package/dist/reachability/request.js.map +1 -1
  191. package/dist/reactions/constants.js +13 -0
  192. package/dist/reactions/constants.js.map +1 -0
  193. package/dist/reactions/reactions.js +109 -0
  194. package/dist/reactions/reactions.js.map +1 -0
  195. package/dist/reactions/reactions.type.js +36 -0
  196. package/dist/reactions/reactions.type.js.map +1 -0
  197. package/dist/reconnection-manager/index.js +386 -527
  198. package/dist/reconnection-manager/index.js.map +1 -1
  199. package/dist/recording-controller/enums.js +17 -0
  200. package/dist/recording-controller/enums.js.map +1 -0
  201. package/dist/recording-controller/index.js +343 -0
  202. package/dist/recording-controller/index.js.map +1 -0
  203. package/dist/recording-controller/util.js +63 -0
  204. package/dist/recording-controller/util.js.map +1 -0
  205. package/dist/roap/index.js +84 -286
  206. package/dist/roap/index.js.map +1 -1
  207. package/dist/roap/request.js +138 -238
  208. package/dist/roap/request.js.map +1 -1
  209. package/dist/roap/turnDiscovery.js +164 -102
  210. package/dist/roap/turnDiscovery.js.map +1 -1
  211. package/dist/statsAnalyzer/global.js +1 -93
  212. package/dist/statsAnalyzer/global.js.map +1 -1
  213. package/dist/statsAnalyzer/index.js +399 -470
  214. package/dist/statsAnalyzer/index.js.map +1 -1
  215. package/dist/statsAnalyzer/mqaUtil.js +143 -87
  216. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  217. package/dist/transcription/index.js +22 -47
  218. package/dist/transcription/index.js.map +1 -1
  219. package/dist/types/annotation/annotation.types.d.ts +34 -0
  220. package/dist/types/annotation/constants.d.ts +31 -0
  221. package/dist/types/annotation/index.d.ts +124 -0
  222. package/dist/types/breakouts/breakout.d.ts +8 -0
  223. package/dist/types/breakouts/collection.d.ts +5 -0
  224. package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
  225. package/dist/types/breakouts/events.d.ts +2 -0
  226. package/dist/types/breakouts/index.d.ts +5 -0
  227. package/dist/types/breakouts/request.d.ts +22 -0
  228. package/dist/types/breakouts/utils.d.ts +15 -0
  229. package/dist/types/common/browser-detection.d.ts +9 -0
  230. package/dist/types/common/collection.d.ts +48 -0
  231. package/dist/types/common/config.d.ts +2 -0
  232. package/dist/types/common/errors/captcha-error.d.ts +15 -0
  233. package/dist/types/common/errors/intent-to-join.d.ts +16 -0
  234. package/dist/types/common/errors/join-meeting.d.ts +17 -0
  235. package/dist/types/common/errors/media.d.ts +15 -0
  236. package/dist/types/common/errors/parameter.d.ts +15 -0
  237. package/dist/types/common/errors/password-error.d.ts +15 -0
  238. package/dist/types/common/errors/permission.d.ts +14 -0
  239. package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
  240. package/dist/types/common/errors/reconnection.d.ts +15 -0
  241. package/dist/types/common/errors/stats.d.ts +15 -0
  242. package/dist/types/common/errors/webex-errors.d.ts +69 -0
  243. package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
  244. package/dist/types/common/events/events-scope.d.ts +17 -0
  245. package/dist/types/common/events/events.d.ts +12 -0
  246. package/dist/types/common/events/trigger-proxy.d.ts +2 -0
  247. package/dist/types/common/events/util.d.ts +2 -0
  248. package/dist/types/common/logs/logger-config.d.ts +2 -0
  249. package/dist/types/common/logs/logger-proxy.d.ts +2 -0
  250. package/dist/types/common/logs/request.d.ts +34 -0
  251. package/dist/types/common/queue.d.ts +32 -0
  252. package/dist/types/config.d.ts +78 -0
  253. package/dist/types/constants.d.ts +968 -0
  254. package/dist/types/controls-options-manager/constants.d.ts +4 -0
  255. package/dist/types/controls-options-manager/enums.d.ts +13 -0
  256. package/dist/types/controls-options-manager/index.d.ts +136 -0
  257. package/dist/types/controls-options-manager/types.d.ts +37 -0
  258. package/dist/types/controls-options-manager/util.d.ts +1 -0
  259. package/dist/types/index.d.ts +7 -0
  260. package/dist/types/locus-info/controlsUtils.d.ts +2 -0
  261. package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
  262. package/dist/types/locus-info/fullState.d.ts +2 -0
  263. package/dist/types/locus-info/hostUtils.d.ts +2 -0
  264. package/dist/types/locus-info/index.d.ts +315 -0
  265. package/dist/types/locus-info/infoUtils.d.ts +2 -0
  266. package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
  267. package/dist/types/locus-info/parser.d.ts +212 -0
  268. package/dist/types/locus-info/selfUtils.d.ts +2 -0
  269. package/dist/types/media/index.d.ts +34 -0
  270. package/dist/types/media/properties.d.ts +108 -0
  271. package/dist/types/media/util.d.ts +2 -0
  272. package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
  273. package/dist/types/meeting/in-meeting-actions.d.ts +129 -0
  274. package/dist/types/meeting/index.d.ts +1748 -0
  275. package/dist/types/meeting/muteState.d.ts +185 -0
  276. package/dist/types/meeting/request.d.ts +275 -0
  277. package/dist/types/meeting/request.type.d.ts +11 -0
  278. package/dist/types/meeting/state.d.ts +9 -0
  279. package/dist/types/meeting/util.d.ts +2 -0
  280. package/dist/types/meeting-info/collection.d.ts +20 -0
  281. package/dist/types/meeting-info/index.d.ts +57 -0
  282. package/dist/types/meeting-info/meeting-info-v2.d.ts +112 -0
  283. package/dist/types/meeting-info/request.d.ts +22 -0
  284. package/dist/types/meeting-info/util.d.ts +2 -0
  285. package/dist/types/meeting-info/utilv2.d.ts +2 -0
  286. package/dist/types/meetings/collection.d.ts +31 -0
  287. package/dist/types/meetings/index.d.ts +345 -0
  288. package/dist/types/meetings/request.d.ts +27 -0
  289. package/dist/types/meetings/util.d.ts +18 -0
  290. package/dist/types/member/index.d.ts +156 -0
  291. package/dist/types/member/types.d.ts +21 -0
  292. package/dist/types/member/util.d.ts +2 -0
  293. package/dist/types/members/collection.d.ts +29 -0
  294. package/dist/types/members/index.d.ts +353 -0
  295. package/dist/types/members/request.d.ts +69 -0
  296. package/dist/types/members/types.d.ts +24 -0
  297. package/dist/types/members/util.d.ts +2 -0
  298. package/dist/types/metrics/config.d.ts +172 -0
  299. package/dist/types/metrics/constants.d.ts +54 -0
  300. package/dist/types/metrics/index.d.ts +152 -0
  301. package/dist/types/multistream/mediaRequestManager.d.ts +101 -0
  302. package/dist/types/multistream/receiveSlot.d.ts +68 -0
  303. package/dist/types/multistream/receiveSlotManager.d.ts +56 -0
  304. package/dist/types/multistream/remoteMedia.d.ts +72 -0
  305. package/dist/types/multistream/remoteMediaGroup.d.ts +47 -0
  306. package/dist/types/multistream/remoteMediaManager.d.ts +263 -0
  307. package/dist/types/networkQualityMonitor/index.d.ts +70 -0
  308. package/dist/types/personal-meeting-room/index.d.ts +47 -0
  309. package/dist/types/personal-meeting-room/request.d.ts +14 -0
  310. package/dist/types/personal-meeting-room/util.d.ts +2 -0
  311. package/dist/types/reachability/index.d.ts +152 -0
  312. package/dist/types/reachability/request.d.ts +37 -0
  313. package/dist/types/reactions/constants.d.ts +3 -0
  314. package/dist/types/reactions/reactions.d.ts +4 -0
  315. package/dist/types/reactions/reactions.type.d.ts +52 -0
  316. package/dist/types/reconnection-manager/index.d.ts +126 -0
  317. package/dist/types/recording-controller/enums.d.ts +7 -0
  318. package/dist/types/recording-controller/index.d.ts +193 -0
  319. package/dist/types/recording-controller/util.d.ts +13 -0
  320. package/dist/types/roap/index.d.ts +77 -0
  321. package/dist/types/roap/request.d.ts +38 -0
  322. package/dist/types/roap/turnDiscovery.d.ts +88 -0
  323. package/dist/types/statsAnalyzer/global.d.ts +36 -0
  324. package/dist/types/statsAnalyzer/index.d.ts +200 -0
  325. package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
  326. package/dist/types/transcription/index.d.ts +64 -0
  327. package/internal-README.md +7 -6
  328. package/package.json +29 -21
  329. package/src/annotation/annotation.types.ts +41 -0
  330. package/src/annotation/constants.ts +36 -0
  331. package/src/annotation/index.ts +339 -0
  332. package/src/breakouts/README.md +219 -0
  333. package/src/breakouts/breakout.ts +141 -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 +37 -0
  337. package/src/breakouts/index.ts +823 -0
  338. package/src/breakouts/request.ts +55 -0
  339. package/src/breakouts/utils.ts +57 -0
  340. package/src/common/{browser-detection.js → browser-detection.ts} +9 -6
  341. package/src/common/collection.ts +9 -7
  342. package/src/common/{config.js → config.ts} +1 -1
  343. package/src/common/errors/{captcha-error.js → captcha-error.ts} +11 -7
  344. package/src/common/errors/{intent-to-join.js → intent-to-join.ts} +12 -7
  345. package/src/common/errors/{join-meeting.js → join-meeting.ts} +17 -8
  346. package/src/common/errors/{media.js → media.ts} +11 -7
  347. package/src/common/errors/parameter.ts +11 -7
  348. package/src/common/errors/{password-error.js → password-error.ts} +11 -7
  349. package/src/common/errors/{permission.js → permission.ts} +10 -6
  350. package/src/common/errors/{reconnection.js → reconnection.ts} +11 -7
  351. package/src/common/errors/{stats.js → stats.ts} +11 -7
  352. package/src/common/errors/{webex-errors.js → webex-errors.ts} +8 -25
  353. package/src/common/errors/{webex-meetings-error.js → webex-meetings-error.ts} +4 -2
  354. package/src/common/events/{events-scope.js → events-scope.ts} +6 -2
  355. package/src/common/events/{events.js → events.ts} +5 -1
  356. package/src/common/events/{trigger-proxy.js → trigger-proxy.ts} +9 -5
  357. package/src/common/events/{util.js → util.ts} +2 -3
  358. package/src/common/logs/{logger-config.js → logger-config.ts} +1 -2
  359. package/src/common/logs/logger-proxy.ts +44 -0
  360. package/src/common/logs/{request.js → request.ts} +22 -9
  361. package/src/common/queue.ts +1 -2
  362. package/src/{config.js → config.ts} +18 -12
  363. package/src/constants.ts +256 -183
  364. package/src/controls-options-manager/constants.ts +5 -0
  365. package/src/controls-options-manager/enums.ts +16 -0
  366. package/src/controls-options-manager/index.ts +278 -0
  367. package/src/controls-options-manager/types.ts +49 -0
  368. package/src/controls-options-manager/util.ts +229 -0
  369. package/src/index.ts +33 -0
  370. package/src/locus-info/controlsUtils.ts +169 -0
  371. package/src/locus-info/{embeddedAppsUtils.js → embeddedAppsUtils.ts} +5 -6
  372. package/src/locus-info/{fullState.js → fullState.ts} +16 -12
  373. package/src/locus-info/{hostUtils.js → hostUtils.ts} +9 -8
  374. package/src/locus-info/{index.js → index.ts} +331 -80
  375. package/src/locus-info/{infoUtils.js → infoUtils.ts} +19 -8
  376. package/src/locus-info/{mediaSharesUtils.js → mediaSharesUtils.ts} +17 -17
  377. package/src/locus-info/{parser.js → parser.ts} +67 -79
  378. package/src/locus-info/{selfUtils.js → selfUtils.ts} +196 -67
  379. package/src/media/index.ts +488 -0
  380. package/src/media/{properties.js → properties.ts} +67 -54
  381. package/src/media/util.ts +16 -0
  382. package/src/mediaQualityMetrics/config.ts +384 -0
  383. package/src/meeting/in-meeting-actions.ts +123 -3
  384. package/src/meeting/{index.js → index.ts} +3334 -1775
  385. package/src/meeting/muteState.ts +526 -0
  386. package/src/meeting/{request.js → request.ts} +350 -142
  387. package/src/meeting/request.type.ts +13 -0
  388. package/src/meeting/{state.js → state.ts} +50 -35
  389. package/src/meeting/{util.js → util.ts} +126 -159
  390. package/src/meeting-info/{collection.js → collection.ts} +6 -2
  391. package/src/meeting-info/{index.js → index.ts} +42 -36
  392. package/src/meeting-info/meeting-info-v2.ts +345 -0
  393. package/src/meeting-info/{request.js → request.ts} +14 -4
  394. package/src/meeting-info/{util.js → util.ts} +60 -51
  395. package/src/meeting-info/{utilv2.js → utilv2.ts} +76 -60
  396. package/src/meetings/{collection.js → collection.ts} +26 -3
  397. package/src/meetings/index.ts +1394 -0
  398. package/src/meetings/{request.js → request.ts} +34 -25
  399. package/src/meetings/util.ts +288 -0
  400. package/src/member/{index.js → index.ts} +124 -56
  401. package/src/member/types.ts +24 -0
  402. package/src/member/{util.js → util.ts} +105 -25
  403. package/src/members/{collection.js → collection.ts} +10 -2
  404. package/src/members/{index.js → index.ts} +359 -139
  405. package/src/members/request.ts +215 -0
  406. package/src/members/types.ts +28 -0
  407. package/src/members/{util.js → util.ts} +145 -54
  408. package/src/metrics/{config.js → config.ts} +256 -92
  409. package/src/metrics/{constants.js → constants.ts} +1 -6
  410. package/src/metrics/{index.js → index.ts} +116 -97
  411. package/src/multistream/mediaRequestManager.ts +324 -0
  412. package/src/multistream/receiveSlot.ts +184 -0
  413. package/src/multistream/receiveSlotManager.ts +166 -0
  414. package/src/multistream/remoteMedia.ts +254 -0
  415. package/src/multistream/remoteMediaGroup.ts +225 -0
  416. package/src/multistream/remoteMediaManager.ts +1075 -0
  417. package/src/networkQualityMonitor/{index.js → index.ts} +41 -29
  418. package/src/personal-meeting-room/{index.js → index.ts} +28 -19
  419. package/src/personal-meeting-room/{request.js → request.ts} +13 -4
  420. package/src/personal-meeting-room/{util.js → util.ts} +4 -4
  421. package/src/reachability/{index.js → index.ts} +157 -94
  422. package/src/reachability/request.ts +46 -35
  423. package/src/reactions/constants.ts +4 -0
  424. package/src/reactions/reactions.ts +104 -0
  425. package/src/reactions/reactions.type.ts +62 -0
  426. package/src/reconnection-manager/{index.js → index.ts} +261 -163
  427. package/src/recording-controller/enums.ts +8 -0
  428. package/src/recording-controller/index.ts +315 -0
  429. package/src/recording-controller/util.ts +58 -0
  430. package/src/roap/index.ts +241 -0
  431. package/src/roap/request.ts +172 -0
  432. package/src/roap/turnDiscovery.ts +127 -53
  433. package/src/statsAnalyzer/global.ts +37 -0
  434. package/src/statsAnalyzer/index.ts +1273 -0
  435. package/src/statsAnalyzer/mqaUtil.ts +291 -0
  436. package/src/transcription/{index.js → index.ts} +46 -39
  437. package/test/integration/spec/converged-space-meetings.js +177 -0
  438. package/test/integration/spec/journey.js +666 -464
  439. package/test/integration/spec/space-meeting.js +321 -206
  440. package/test/integration/spec/transcription.js +7 -8
  441. package/test/unit/spec/annotation/index.ts +435 -0
  442. package/test/unit/spec/breakouts/breakout.ts +184 -0
  443. package/test/unit/spec/breakouts/collection.ts +15 -0
  444. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  445. package/test/unit/spec/breakouts/events.ts +77 -0
  446. package/test/unit/spec/breakouts/index.ts +1504 -0
  447. package/test/unit/spec/breakouts/request.ts +104 -0
  448. package/test/unit/spec/breakouts/utils.js +72 -0
  449. package/test/unit/spec/common/browser-detection.js +9 -28
  450. package/test/unit/spec/controls-options-manager/index.js +287 -0
  451. package/test/unit/spec/controls-options-manager/util.js +403 -0
  452. package/test/unit/spec/fixture/locus.js +92 -90
  453. package/test/unit/spec/locus-info/controlsUtils.js +177 -32
  454. package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
  455. package/test/unit/spec/locus-info/index.js +493 -3
  456. package/test/unit/spec/locus-info/infoUtils.js +41 -32
  457. package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
  458. package/test/unit/spec/locus-info/lib/SeqCmp.json +513 -685
  459. package/test/unit/spec/locus-info/parser.js +3 -9
  460. package/test/unit/spec/locus-info/selfConstant.js +110 -103
  461. package/test/unit/spec/locus-info/selfUtils.js +236 -12
  462. package/test/unit/spec/media/index.ts +303 -0
  463. package/test/unit/spec/media/properties.ts +73 -82
  464. package/test/unit/spec/meeting/in-meeting-actions.ts +58 -3
  465. package/test/unit/spec/meeting/index.js +3127 -975
  466. package/test/unit/spec/meeting/muteState.js +375 -70
  467. package/test/unit/spec/meeting/request.js +217 -43
  468. package/test/unit/spec/meeting/utils.js +205 -163
  469. package/test/unit/spec/meeting-info/meetinginfov2.js +268 -74
  470. package/test/unit/spec/meeting-info/request.js +7 -9
  471. package/test/unit/spec/meeting-info/util.js +11 -12
  472. package/test/unit/spec/meeting-info/utilv2.js +131 -74
  473. package/test/unit/spec/meetings/collection.js +15 -1
  474. package/test/unit/spec/meetings/index.js +1052 -333
  475. package/test/unit/spec/meetings/utils.js +163 -14
  476. package/test/unit/spec/member/index.js +24 -1
  477. package/test/unit/spec/member/util.js +359 -32
  478. package/test/unit/spec/members/index.js +547 -37
  479. package/test/unit/spec/members/request.js +76 -20
  480. package/test/unit/spec/members/utils.js +191 -4
  481. package/test/unit/spec/metrics/index.js +46 -20
  482. package/test/unit/spec/multistream/mediaRequestManager.ts +1060 -0
  483. package/test/unit/spec/multistream/receiveSlot.ts +163 -0
  484. package/test/unit/spec/multistream/receiveSlotManager.ts +203 -0
  485. package/test/unit/spec/multistream/remoteMedia.ts +255 -0
  486. package/test/unit/spec/multistream/remoteMediaGroup.ts +396 -0
  487. package/test/unit/spec/multistream/remoteMediaManager.ts +1793 -0
  488. package/test/unit/spec/networkQualityMonitor/index.js +24 -18
  489. package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
  490. package/test/unit/spec/reachability/index.ts +176 -27
  491. package/test/unit/spec/reachability/request.js +66 -0
  492. package/test/unit/spec/reconnection-manager/index.js +106 -9
  493. package/test/unit/spec/recording-controller/index.js +231 -0
  494. package/test/unit/spec/recording-controller/util.js +102 -0
  495. package/test/unit/spec/roap/index.ts +78 -45
  496. package/test/unit/spec/roap/request.ts +217 -0
  497. package/test/unit/spec/roap/turnDiscovery.ts +93 -49
  498. package/test/unit/spec/stats-analyzer/index.js +118 -65
  499. package/test/utils/cmr.js +44 -42
  500. package/test/utils/constants.js +9 -0
  501. package/test/utils/integrationTestUtils.js +64 -0
  502. package/test/utils/testUtils.js +63 -99
  503. package/test/utils/webex-config.js +22 -18
  504. package/test/utils/webex-test-users.js +57 -50
  505. package/tsconfig.json +6 -0
  506. package/dist/meeting/effectsState.js +0 -327
  507. package/dist/meeting/effectsState.js.map +0 -1
  508. package/dist/peer-connection-manager/index.js +0 -794
  509. package/dist/peer-connection-manager/index.js.map +0 -1
  510. package/dist/peer-connection-manager/util.js +0 -124
  511. package/dist/peer-connection-manager/util.js.map +0 -1
  512. package/dist/roap/collection.js +0 -73
  513. package/dist/roap/collection.js.map +0 -1
  514. package/dist/roap/handler.js +0 -337
  515. package/dist/roap/handler.js.map +0 -1
  516. package/dist/roap/state.js +0 -164
  517. package/dist/roap/state.js.map +0 -1
  518. package/dist/roap/util.js +0 -102
  519. package/dist/roap/util.js.map +0 -1
  520. package/src/common/logs/logger-proxy.js +0 -33
  521. package/src/index.js +0 -15
  522. package/src/locus-info/controlsUtils.js +0 -102
  523. package/src/media/index.js +0 -593
  524. package/src/media/util.js +0 -38
  525. package/src/mediaQualityMetrics/config.js +0 -382
  526. package/src/meeting/effectsState.js +0 -205
  527. package/src/meeting/muteState.js +0 -318
  528. package/src/meeting-info/meeting-info-v2.js +0 -255
  529. package/src/meetings/index.js +0 -986
  530. package/src/meetings/util.js +0 -176
  531. package/src/members/request.js +0 -131
  532. package/src/peer-connection-manager/index.js +0 -723
  533. package/src/peer-connection-manager/util.ts +0 -117
  534. package/src/roap/collection.js +0 -63
  535. package/src/roap/handler.js +0 -252
  536. package/src/roap/index.js +0 -380
  537. package/src/roap/request.js +0 -198
  538. package/src/roap/state.js +0 -149
  539. package/src/roap/util.js +0 -93
  540. package/src/statsAnalyzer/global.js +0 -131
  541. package/src/statsAnalyzer/index.js +0 -1020
  542. package/src/statsAnalyzer/mqaUtil.js +0 -173
  543. package/test/unit/spec/meeting/effectsState.js +0 -293
  544. package/test/unit/spec/peerconnection-manager/index.js +0 -188
  545. package/test/unit/spec/peerconnection-manager/utils.js +0 -48
  546. package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +0 -389
  547. package/test/unit/spec/roap/util.js +0 -30
  548. /package/src/common/errors/{reconnection-in-progress.js → reconnection-in-progress.ts} +0 -0
@@ -1,74 +1,47 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$keys = require("@babel/runtime-corejs2/core-js/object/keys");
4
-
5
4
  var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
6
-
7
5
  var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
8
-
9
6
  var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
10
-
11
7
  var _Object$defineProperties = require("@babel/runtime-corejs2/core-js/object/define-properties");
12
-
13
8
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
14
-
15
9
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
16
-
17
10
  _Object$defineProperty(exports, "__esModule", {
18
11
  value: true
19
12
  });
20
-
21
13
  exports.default = void 0;
22
-
23
14
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
24
-
25
15
  var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
26
-
27
16
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/slicedToArray"));
28
-
29
17
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
30
-
31
18
  var _isEmpty2 = _interopRequireDefault(require("lodash/isEmpty"));
32
-
33
19
  var _webexErrors = require("../common/errors/webex-errors");
34
-
35
20
  var _metrics = _interopRequireDefault(require("../metrics"));
36
-
37
21
  var _config = require("../metrics/config");
38
-
39
22
  var _media = _interopRequireDefault(require("../media"));
40
-
41
23
  var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
42
-
43
24
  var _constants = require("../constants");
44
-
45
25
  var _intentToJoin = _interopRequireDefault(require("../common/errors/intent-to-join"));
46
-
47
26
  var _joinMeeting = _interopRequireDefault(require("../common/errors/join-meeting"));
48
-
49
27
  var _parameter = _interopRequireDefault(require("../common/errors/parameter"));
50
-
51
28
  var _permission = _interopRequireDefault(require("../common/errors/permission"));
52
-
53
29
  var _passwordError = _interopRequireDefault(require("../common/errors/password-error"));
54
-
55
30
  var _captchaError = _interopRequireDefault(require("../common/errors/captcha-error"));
56
-
57
31
  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; }
58
-
59
32
  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; }
60
-
61
33
  var MeetingUtil = {};
62
-
63
34
  MeetingUtil.parseLocusJoin = function (response) {
64
- var parsed = {}; // First todo: add check for existance
35
+ var parsed = {};
65
36
 
37
+ // First todo: add check for existance
66
38
  parsed.locus = response.body.locus;
67
39
  parsed.mediaConnections = response.body.mediaConnections;
68
40
  parsed.locusUrl = parsed.locus.url;
69
41
  parsed.locusId = parsed.locus.url.split('/').pop();
70
- parsed.selfId = parsed.locus.self.id; // we need mediaId before making roap calls
42
+ parsed.selfId = parsed.locus.self.id;
71
43
 
44
+ // we need mediaId before making roap calls
72
45
  parsed.mediaConnections.forEach(function (mediaConnection) {
73
46
  if (mediaConnection.mediaId) {
74
47
  parsed.mediaId = mediaConnection.mediaId;
@@ -76,66 +49,55 @@ MeetingUtil.parseLocusJoin = function (response) {
76
49
  });
77
50
  return parsed;
78
51
  };
79
-
80
52
  MeetingUtil.remoteUpdateAudioVideo = function (audioMuted, videoMuted, meeting) {
81
53
  if (!meeting) {
82
54
  return _promise.default.reject(new _parameter.default('You need a meeting object.'));
83
55
  }
84
-
85
56
  var localMedias = _media.default.generateLocalMedias(meeting.mediaId, audioMuted, videoMuted);
86
-
87
57
  if ((0, _isEmpty2.default)(localMedias)) {
88
58
  return _promise.default.reject(new _parameter.default('You need a media id on the meeting to change remote audio.'));
89
59
  }
90
-
91
60
  _metrics.default.postEvent({
92
61
  event: _config.eventType.MEDIA_REQUEST,
93
62
  meeting: meeting
94
63
  });
95
-
96
64
  return meeting.meetingRequest.remoteAudioVideoToggle({
97
65
  locusUrl: meeting.locusUrl,
98
66
  selfId: meeting.selfId,
99
67
  localMedias: localMedias,
100
68
  deviceUrl: meeting.deviceUrl,
101
- correlationId: meeting.correlationId
69
+ correlationId: meeting.correlationId,
70
+ preferTranscoding: !meeting.isMultistream
102
71
  }).then(function (response) {
103
72
  _metrics.default.postEvent({
104
73
  event: _config.eventType.MEDIA_RESPONSE,
105
74
  meeting: meeting
106
75
  });
107
-
108
76
  return response.body.locus;
109
77
  });
110
78
  };
111
-
112
79
  MeetingUtil.hasOwner = function (info) {
113
80
  return info && info.owner;
114
81
  };
115
-
116
82
  MeetingUtil.isOwnerSelf = function (owner, selfId) {
117
83
  return owner === selfId;
118
84
  };
119
-
120
85
  MeetingUtil.isPinOrGuest = function (err) {
121
86
  var _err$body;
122
-
123
87
  return (err === null || err === void 0 ? void 0 : (_err$body = err.body) === null || _err$body === void 0 ? void 0 : _err$body.errorCode) && _constants.INTENT_TO_JOIN.includes(err.body.errorCode);
124
88
  };
125
-
126
89
  MeetingUtil.joinMeeting = function (meeting, options) {
127
90
  if (!meeting) {
128
91
  return _promise.default.reject(new _parameter.default('You need a meeting object.'));
129
92
  }
130
-
131
93
  _metrics.default.postEvent({
132
94
  event: _config.eventType.LOCUS_JOIN_REQUEST,
133
95
  meeting: meeting
134
- }); // eslint-disable-next-line no-warning-comments
96
+ });
97
+
98
+ // eslint-disable-next-line no-warning-comments
135
99
  // TODO: check if the meeting is in JOINING state
136
100
  // if Joining state termintate the request as user might click multiple times
137
-
138
-
139
101
  return meeting.meetingRequest.joinMeeting({
140
102
  inviteeAddress: meeting.meetingJoinUrl || meeting.sipUri,
141
103
  meetingNumber: meeting.meetingNumber,
@@ -148,8 +110,9 @@ MeetingUtil.joinMeeting = function (meeting, options) {
148
110
  moderator: options.moderator,
149
111
  pin: options.pin,
150
112
  moveToResource: options.moveToResource,
151
- preferTranscoding: options.preferTranscoding,
152
- asResourceOccupant: options.asResourceOccupant
113
+ preferTranscoding: !meeting.isMultistream,
114
+ asResourceOccupant: options.asResourceOccupant,
115
+ breakoutsSupported: options.breakoutsSupported
153
116
  }).then(function (res) {
154
117
  _metrics.default.postEvent({
155
118
  event: _config.eventType.LOCUS_JOIN_RESPONSE,
@@ -161,12 +124,12 @@ MeetingUtil.joinMeeting = function (meeting, options) {
161
124
  trackingId: res.headers.trackingid
162
125
  }
163
126
  });
164
-
165
127
  return MeetingUtil.parseLocusJoin(res);
166
128
  });
167
129
  };
168
-
169
130
  MeetingUtil.cleanUp = function (meeting) {
131
+ meeting.breakouts.cleanUp();
132
+
170
133
  // make sure we send last metrics before we close the peerconnection
171
134
  var stopStatsAnalyzer = meeting.statsAnalyzer ? meeting.statsAnalyzer.stopAnalyzer() : _promise.default.resolve();
172
135
  return stopStatsAnalyzer.then(function () {
@@ -183,18 +146,16 @@ MeetingUtil.cleanUp = function (meeting) {
183
146
  meeting.unsetRemoteTracks();
184
147
  meeting.unsetPeerConnections();
185
148
  meeting.reconnectionManager.cleanUp();
186
- }).then(function () {
187
- return meeting.roap.stop(meeting.correlationId, meeting.roapSeq);
188
149
  }).then(function () {
189
150
  return meeting.stopKeepAlive();
151
+ }).then(function () {
152
+ return meeting.updateLLMConnection();
190
153
  });
191
154
  };
192
-
193
155
  MeetingUtil.disconnectPhoneAudio = function (meeting, phoneUrl) {
194
156
  if (meeting.meetingState === _constants.FULL_STATE.INACTIVE) {
195
157
  return _promise.default.reject(new _webexErrors.MeetingNotActiveError());
196
158
  }
197
-
198
159
  var options = {
199
160
  locusUrl: meeting.locusUrl,
200
161
  selfId: meeting.selfId,
@@ -203,33 +164,28 @@ MeetingUtil.disconnectPhoneAudio = function (meeting, phoneUrl) {
203
164
  };
204
165
  return meeting.meetingRequest.disconnectPhoneAudio(options).then(function (response) {
205
166
  var _response$body;
206
-
207
167
  if (response !== null && response !== void 0 && (_response$body = response.body) !== null && _response$body !== void 0 && _response$body.locus) {
208
168
  meeting.locusInfo.onFullLocus(response.body.locus);
209
169
  }
210
170
  }).catch(function (err) {
211
171
  _loggerProxy.default.logger.error("Meeting:util#disconnectPhoneAudio --> An error occured while disconnecting phone audio in meeting ".concat(meeting.id, ", error: ").concat(err));
212
-
213
172
  return _promise.default.reject(err);
214
173
  });
215
- }; // by default will leave on meeting's resourceId
174
+ };
175
+
176
+ // by default will leave on meeting's resourceId
216
177
  // if you explicity want it not to leave on resource id, pass
217
178
  // {resourceId: null}
218
179
  // TODO: chris, you can modify this however you want
219
-
220
-
221
180
  MeetingUtil.leaveMeeting = function (meeting) {
222
181
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
223
-
224
182
  if (meeting.meetingState === _constants.FULL_STATE.INACTIVE) {
225
183
  // TODO: clean up if the meeting is already inactive
226
184
  return _promise.default.reject(new _webexErrors.MeetingNotActiveError());
227
185
  }
228
-
229
186
  if (MeetingUtil.isUserInLeftState(meeting.locusInfo)) {
230
187
  return _promise.default.reject(new _webexErrors.UserNotJoinedError());
231
188
  }
232
-
233
189
  var defaultOptions = {
234
190
  locusUrl: meeting.locusUrl,
235
191
  selfId: meeting.selfId,
@@ -237,32 +193,26 @@ MeetingUtil.leaveMeeting = function (meeting) {
237
193
  resourceId: meeting.resourceId,
238
194
  deviceUrl: meeting.deviceUrl
239
195
  };
240
-
241
196
  var leaveOptions = _objectSpread(_objectSpread({}, defaultOptions), options);
242
-
243
197
  return meeting.meetingRequest.leaveMeeting(leaveOptions).then(function (response) {
244
198
  if (response && response.body && response.body.locus) {
245
199
  // && !options.moveMeeting) {
246
200
  meeting.locusInfo.onFullLocus(response.body.locus);
247
201
  }
248
-
249
202
  return _promise.default.resolve();
250
203
  }).then(function () {
251
204
  if (options.moveMeeting) {
252
205
  return _promise.default.resolve();
253
206
  }
254
-
255
207
  return MeetingUtil.cleanUp(meeting);
256
208
  }).catch(function (err) {
257
209
  // TODO: If the meeting state comes as LEFT or INACTIVE as response then
258
210
  // 1) on leave clean up the meeting or simply do a sync on the meeting
259
211
  // 2) If the error says meeting is inactive then destroy the meeting object
260
212
  _loggerProxy.default.logger.error("Meeting:util#leaveMeeting --> An error occured while trying to leave meeting with an id of ".concat(meeting.id, ", error: ").concat(err));
261
-
262
213
  return _promise.default.reject(err);
263
214
  });
264
215
  };
265
-
266
216
  MeetingUtil.declineMeeting = function (meeting, reason) {
267
217
  return meeting.meetingRequest.declineMeeting({
268
218
  locusUrl: meeting.locusUrl,
@@ -270,49 +220,38 @@ MeetingUtil.declineMeeting = function (meeting, reason) {
270
220
  reason: reason
271
221
  });
272
222
  };
273
-
274
223
  MeetingUtil.isUserInLeftState = function (locusInfo) {
275
224
  var _locusInfo$parsedLocu, _locusInfo$parsedLocu2;
276
-
277
225
  return ((_locusInfo$parsedLocu = locusInfo.parsedLocus) === null || _locusInfo$parsedLocu === void 0 ? void 0 : (_locusInfo$parsedLocu2 = _locusInfo$parsedLocu.self) === null || _locusInfo$parsedLocu2 === void 0 ? void 0 : _locusInfo$parsedLocu2.state) === _constants._LEFT_;
278
226
  };
279
-
280
227
  MeetingUtil.isUserInIdleState = function (locusInfo) {
281
228
  var _locusInfo$parsedLocu3, _locusInfo$parsedLocu4;
282
-
283
229
  return ((_locusInfo$parsedLocu3 = locusInfo.parsedLocus) === null || _locusInfo$parsedLocu3 === void 0 ? void 0 : (_locusInfo$parsedLocu4 = _locusInfo$parsedLocu3.self) === null || _locusInfo$parsedLocu4 === void 0 ? void 0 : _locusInfo$parsedLocu4.state) === _constants._IDLE_;
284
230
  };
285
-
286
231
  MeetingUtil.isUserInJoinedState = function (locusInfo) {
287
232
  var _locusInfo$parsedLocu5, _locusInfo$parsedLocu6;
288
-
289
233
  return ((_locusInfo$parsedLocu5 = locusInfo.parsedLocus) === null || _locusInfo$parsedLocu5 === void 0 ? void 0 : (_locusInfo$parsedLocu6 = _locusInfo$parsedLocu5.self) === null || _locusInfo$parsedLocu6 === void 0 ? void 0 : _locusInfo$parsedLocu6.state) === _constants._JOINED_;
290
234
  };
291
-
292
235
  MeetingUtil.isMediaEstablished = function (currentMediaStatus) {
293
236
  return currentMediaStatus && (currentMediaStatus.audio || currentMediaStatus.video || currentMediaStatus.share);
294
237
  };
295
-
296
238
  MeetingUtil.joinMeetingOptions = function (meeting) {
297
239
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
298
240
  meeting.resourceId = meeting.resourceId || options.resourceId;
299
-
300
241
  if (meeting.requiredCaptcha) {
301
242
  return _promise.default.reject(new _captchaError.default());
302
243
  }
303
-
304
244
  if (meeting.passwordStatus === _constants.PASSWORD_STATUS.REQUIRED) {
305
245
  return _promise.default.reject(new _passwordError.default());
306
246
  }
307
-
308
247
  if (options.pin) {
309
248
  _metrics.default.postEvent({
310
249
  event: _config.eventType.PIN_COLLECTED,
311
250
  meeting: meeting
312
251
  });
313
- } // normal join meeting, scenario A, D
314
-
252
+ }
315
253
 
254
+ // normal join meeting, scenario A, D
316
255
  return MeetingUtil.joinMeeting(meeting, options).then(function (response) {
317
256
  meeting.setLocus(response);
318
257
  return _promise.default.resolve(response);
@@ -322,242 +261,114 @@ MeetingUtil.joinMeetingOptions = function (meeting) {
322
261
  _metrics.default.postEvent({
323
262
  event: _config.eventType.PIN_PROMPT,
324
263
  meeting: meeting
325
- }); // request host pin or non host for unclaimed PMR, start of Scenario C
326
- // see https://sqbu-github.cisco.com/WebExSquared/locus/wiki/Locus-Lobby-and--IVR-Feature
327
-
264
+ });
328
265
 
266
+ // request host pin or non host for unclaimed PMR, start of Scenario C
267
+ // see https://sqbu-github.cisco.com/WebExSquared/locus/wiki/Locus-Lobby-and--IVR-Feature
329
268
  return _promise.default.reject(new _intentToJoin.default('Error Joining Meeting', err));
330
269
  }
331
-
332
270
  _loggerProxy.default.logger.error('Meeting:util#joinMeetingOptions --> Error joining the call, ', err);
333
-
334
271
  return _promise.default.reject(new _joinMeeting.default(options, 'Error Joining Meeting', err));
335
272
  });
336
273
  };
337
-
338
- MeetingUtil.updateTransceiver = function (options, meetingOptions) {
339
- var type = options.type,
340
- sendTrack = options.sendTrack,
341
- receiveTrack = options.receiveTrack,
342
- track = options.track,
343
- transceiver = options.transceiver,
344
- peerConnection = options.peerConnection,
345
- previousMediaDirection = options.previousMediaDirection;
346
-
347
- if (sendTrack !== undefined && sendTrack !== previousMediaDirection.sendTrack || receiveTrack !== undefined && receiveTrack !== previousMediaDirection.receiveTrack) {
348
- return _media.default.updateTransceiver({
349
- meetingId: meetingOptions.meeting.id,
350
- remoteQualityLevel: meetingOptions.mediaProperties.remoteQualityLevel,
351
- enableRtx: meetingOptions.meeting.config.enableRtx,
352
- enableExtmap: meetingOptions.meeting.config.enableExtmap
353
- }, peerConnection, transceiver, {
354
- track: track,
355
- type: type,
356
- receiveTrack: receiveTrack,
357
- sendTrack: sendTrack
358
- }).then(function () {
359
- return meetingOptions.meeting.roap.sendRoapMediaRequest({
360
- sdp: meetingOptions.mediaProperties.peerConnection.sdp,
361
- roapSeq: meetingOptions.meeting.roapSeq,
362
- meeting: meetingOptions.meeting // or can pass meeting ID
363
-
364
- });
365
- }).catch(function (e) {
366
- _loggerProxy.default.logger.error("Meeting:util#updateTransceiver --> Error updating the ".concat(type, " streams with error: ").concat(e));
367
- });
368
- }
369
-
370
- if (track) {
371
- transceiver.sender.replaceTrack(track);
372
- return _promise.default.resolve();
373
- }
374
-
375
- return _promise.default.reject(new _parameter.default('update Failed: please pass valid parameter'));
376
- };
377
-
378
274
  MeetingUtil.validateOptions = function (options) {
379
275
  var sendVideo = options.sendVideo,
380
- sendAudio = options.sendAudio,
381
- sendShare = options.sendShare,
382
- localStream = options.localStream,
383
- localShare = options.localShare;
384
-
276
+ sendAudio = options.sendAudio,
277
+ sendShare = options.sendShare,
278
+ localStream = options.localStream,
279
+ localShare = options.localShare;
385
280
  if (sendVideo && !MeetingUtil.getTrack(localStream).videoTrack) {
386
281
  return _promise.default.reject(new _parameter.default('please pass valid video streams'));
387
282
  }
388
-
389
283
  if (sendAudio && !MeetingUtil.getTrack(localStream).audioTrack) {
390
284
  return _promise.default.reject(new _parameter.default('please pass valid audio streams'));
391
285
  }
392
-
393
286
  if (sendShare && !MeetingUtil.getTrack(localShare).videoTrack) {
394
287
  return _promise.default.reject(new _parameter.default('please pass valid share streams'));
395
288
  }
396
-
397
289
  return _promise.default.resolve();
398
290
  };
399
-
400
291
  MeetingUtil.getTrack = function (stream) {
401
292
  var audioTrack = null;
402
293
  var videoTrack = null;
403
294
  var audioTracks = null;
404
295
  var videoTracks = null;
405
-
406
296
  if (!stream) {
407
297
  return {
408
298
  audioTrack: null,
409
299
  videoTrack: null
410
300
  };
411
301
  }
412
-
413
302
  if (stream.getAudioTracks) {
414
303
  audioTracks = stream.getAudioTracks();
415
304
  }
416
-
417
305
  if (stream.getVideoTracks) {
418
306
  videoTracks = stream.getVideoTracks();
419
307
  }
420
-
421
308
  if (audioTracks && audioTracks.length > 0) {
422
309
  var _audioTracks = audioTracks;
423
-
424
310
  var _audioTracks2 = (0, _slicedToArray2.default)(_audioTracks, 1);
425
-
426
311
  audioTrack = _audioTracks2[0];
427
312
  }
428
-
429
313
  if (videoTracks && videoTracks.length > 0) {
430
314
  var _videoTracks = videoTracks;
431
-
432
315
  var _videoTracks2 = (0, _slicedToArray2.default)(_videoTracks, 1);
433
-
434
316
  videoTrack = _videoTracks2[0];
435
317
  }
436
-
437
318
  return {
438
319
  audioTrack: audioTrack,
439
320
  videoTrack: videoTrack
440
321
  };
441
322
  };
442
-
443
323
  MeetingUtil.getModeratorFromLocusInfo = function (locusInfo) {
444
324
  return locusInfo && locusInfo.parsedLocus && locusInfo.parsedLocus.info && locusInfo.parsedLocus.info && locusInfo.parsedLocus.info.moderator;
445
325
  };
446
-
447
326
  MeetingUtil.getPolicyFromLocusInfo = function (locusInfo) {
448
327
  return locusInfo && locusInfo.parsedLocus && locusInfo.parsedLocus.info && locusInfo.parsedLocus.info && locusInfo.parsedLocus.info.policy;
449
328
  };
450
-
451
329
  MeetingUtil.getUserDisplayHintsFromLocusInfo = function (locusInfo) {
452
330
  var _locusInfo$parsedLocu7, _locusInfo$parsedLocu8;
453
-
454
331
  return (locusInfo === null || locusInfo === void 0 ? void 0 : (_locusInfo$parsedLocu7 = locusInfo.parsedLocus) === null || _locusInfo$parsedLocu7 === void 0 ? void 0 : (_locusInfo$parsedLocu8 = _locusInfo$parsedLocu7.info) === null || _locusInfo$parsedLocu8 === void 0 ? void 0 : _locusInfo$parsedLocu8.userDisplayHints) || [];
455
332
  };
456
-
457
333
  MeetingUtil.canInviteNewParticipants = function (displayHints) {
458
334
  return displayHints.includes(_constants.DISPLAY_HINTS.ADD_GUEST);
459
335
  };
460
-
461
336
  MeetingUtil.canAdmitParticipant = function (displayHints) {
462
337
  return displayHints.includes(_constants.DISPLAY_HINTS.ROSTER_WAITING_TO_JOIN);
463
338
  };
464
-
465
339
  MeetingUtil.canUserLock = function (displayHints) {
466
340
  return displayHints.includes(_constants.DISPLAY_HINTS.LOCK_CONTROL_LOCK) && displayHints.includes(_constants.DISPLAY_HINTS.LOCK_STATUS_UNLOCKED);
467
341
  };
468
-
469
342
  MeetingUtil.canUserUnlock = function (displayHints) {
470
343
  return displayHints.includes(_constants.DISPLAY_HINTS.LOCK_CONTROL_UNLOCK) && displayHints.includes(_constants.DISPLAY_HINTS.LOCK_STATUS_LOCKED);
471
344
  };
472
-
473
- MeetingUtil.canUserRecord = function (displayHints) {
474
- return displayHints.includes(_constants.DISPLAY_HINTS.RECORDING_CONTROL_START);
475
- };
476
-
477
- MeetingUtil.canUserPause = function (displayHints) {
478
- return displayHints.includes(_constants.DISPLAY_HINTS.RECORDING_CONTROL_PAUSE);
479
- };
480
-
481
- MeetingUtil.canUserResume = function (displayHints) {
482
- return displayHints.includes(_constants.DISPLAY_HINTS.RECORDING_CONTROL_RESUME);
483
- };
484
-
485
- MeetingUtil.canUserStop = function (displayHints) {
486
- return displayHints.includes(_constants.DISPLAY_HINTS.RECORDING_CONTROL_STOP);
487
- };
488
-
489
- MeetingUtil.startRecording = function (request, locusUrl, locusInfo) {
490
- var displayHints = MeetingUtil.getUserDisplayHintsFromLocusInfo(locusInfo);
491
-
492
- if (MeetingUtil.canUserRecord(displayHints)) {
493
- return request.recordMeeting({
494
- locusUrl: locusUrl,
495
- recording: true,
496
- paused: false
497
- });
498
- }
499
-
500
- return _promise.default.reject(new _permission.default('Start recording not allowed, due to moderator property.'));
501
- };
502
-
503
- MeetingUtil.pauseRecording = function (request, locusUrl, locusInfo) {
504
- var displayHints = MeetingUtil.getUserDisplayHintsFromLocusInfo(locusInfo);
505
-
506
- if (MeetingUtil.canUserPause(displayHints)) {
507
- return request.recordMeeting({
508
- locusUrl: locusUrl,
509
- recording: true,
510
- paused: true
511
- });
512
- }
513
-
514
- return _promise.default.reject(new _permission.default('Pause recording not allowed, due to moderator property.'));
515
- };
516
-
517
- MeetingUtil.resumeRecording = function (request, locusUrl, locusInfo) {
518
- var displayHints = MeetingUtil.getUserDisplayHintsFromLocusInfo(locusInfo);
519
-
520
- if (MeetingUtil.canUserResume(displayHints)) {
521
- return request.recordMeeting({
522
- locusUrl: locusUrl,
523
- recording: true,
524
- paused: false
525
- });
526
- }
527
-
528
- return _promise.default.reject(new _permission.default('Resume recording not allowed, due to moderator property.'));
529
- };
530
-
531
- MeetingUtil.stopRecording = function (request, locusUrl, locusInfo) {
532
- var displayHints = MeetingUtil.getUserDisplayHintsFromLocusInfo(locusInfo);
533
-
534
- if (MeetingUtil.canUserStop(displayHints)) {
535
- return request.recordMeeting({
536
- locusUrl: locusUrl,
537
- recording: false,
538
- paused: false
539
- });
540
- }
541
-
542
- return _promise.default.reject(new _permission.default('Stop recording not allowed, due to moderator property.'));
543
- };
544
-
545
345
  MeetingUtil.canUserRaiseHand = function (displayHints) {
546
346
  return displayHints.includes(_constants.DISPLAY_HINTS.RAISE_HAND);
547
347
  };
548
-
549
348
  MeetingUtil.canUserLowerAllHands = function (displayHints) {
550
349
  return displayHints.includes(_constants.DISPLAY_HINTS.LOWER_ALL_HANDS);
551
350
  };
552
-
553
351
  MeetingUtil.canUserLowerSomeoneElsesHand = function (displayHints) {
554
352
  return displayHints.includes(_constants.DISPLAY_HINTS.LOWER_SOMEONE_ELSES_HAND);
555
353
  };
556
-
557
354
  MeetingUtil.bothLeaveAndEndMeetingAvailable = function (displayHints) {
558
355
  return displayHints.includes(_constants.DISPLAY_HINTS.LEAVE_TRANSFER_HOST_END_MEETING) || displayHints.includes(_constants.DISPLAY_HINTS.LEAVE_END_MEETING);
559
356
  };
560
-
357
+ MeetingUtil.canManageBreakout = function (displayHints) {
358
+ return displayHints.includes(_constants.DISPLAY_HINTS.BREAKOUT_MANAGEMENT);
359
+ };
360
+ MeetingUtil.isSuppressBreakoutSupport = function (displayHints) {
361
+ return displayHints.includes(_constants.DISPLAY_HINTS.UCF_SUPPRESS_BREAKOUTS_SUPPORT);
362
+ };
363
+ MeetingUtil.canAdmitLobbyToBreakout = function (displayHints) {
364
+ return !displayHints.includes(_constants.DISPLAY_HINTS.DISABLE_LOBBY_TO_BREAKOUT);
365
+ };
366
+ MeetingUtil.isBreakoutPreassignmentsEnabled = function (displayHints) {
367
+ return !displayHints.includes(_constants.DISPLAY_HINTS.DISABLE_BREAKOUT_PREASSIGNMENTS);
368
+ };
369
+ MeetingUtil.canUserAskForHelp = function (displayHints) {
370
+ return !displayHints.includes(_constants.DISPLAY_HINTS.DISABLE_ASK_FOR_HELP);
371
+ };
561
372
  MeetingUtil.lockMeeting = function (actions, request, locusUrl) {
562
373
  if (actions && actions.canLock) {
563
374
  return request.lockMeeting({
@@ -565,10 +376,8 @@ MeetingUtil.lockMeeting = function (actions, request, locusUrl) {
565
376
  lock: true
566
377
  });
567
378
  }
568
-
569
379
  return _promise.default.reject(new _permission.default('Lock not allowed, due to joined property.'));
570
380
  };
571
-
572
381
  MeetingUtil.unlockMeeting = function (actions, request, locusUrl) {
573
382
  if (actions && actions.canUnlock) {
574
383
  return request.lockMeeting({
@@ -576,51 +385,38 @@ MeetingUtil.unlockMeeting = function (actions, request, locusUrl) {
576
385
  lock: false
577
386
  });
578
387
  }
579
-
580
388
  return _promise.default.reject(new _permission.default('Unlock not allowed, due to joined property.'));
581
389
  };
582
-
583
390
  MeetingUtil.handleAudioLogging = function (audioTrack) {
584
391
  var LOG_HEADER = 'MeetingUtil#handleAudioLogging -->';
585
-
586
392
  if (audioTrack) {
587
- var settings = audioTrack.getSettings();
393
+ var settings = audioTrack.underlyingTrack.getSettings();
588
394
  var deviceId = settings.deviceId;
589
-
590
395
  _loggerProxy.default.logger.log(LOG_HEADER, "deviceId = ".concat(deviceId));
591
-
592
396
  _loggerProxy.default.logger.log(LOG_HEADER, 'settings =', (0, _stringify.default)(settings));
593
397
  }
594
398
  };
595
-
596
399
  MeetingUtil.handleVideoLogging = function (videoTrack) {
597
400
  var LOG_HEADER = 'MeetingUtil#handleVideoLogging -->';
598
-
599
401
  if (videoTrack) {
600
- var settings = videoTrack.getSettings();
402
+ var settings = videoTrack.underlyingTrack.getSettings();
601
403
  var deviceId = settings.deviceId;
602
-
603
404
  _loggerProxy.default.logger.log(LOG_HEADER, "deviceId = ".concat(deviceId));
604
-
605
405
  _loggerProxy.default.logger.log(LOG_HEADER, 'settings =', (0, _stringify.default)(settings));
606
406
  }
607
407
  };
608
-
609
408
  MeetingUtil.handleDeviceLogging = function () {
610
409
  var devices = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
611
410
  var LOG_HEADER = 'MeetingUtil#handleDeviceLogging -->';
612
411
  devices.forEach(function (device) {
613
412
  _loggerProxy.default.logger.log(LOG_HEADER, "deviceId = ".concat(device.deviceId));
614
-
615
413
  _loggerProxy.default.logger.log(LOG_HEADER, 'settings', (0, _stringify.default)(device));
616
414
  });
617
415
  };
618
-
619
416
  MeetingUtil.endMeetingForAll = function (meeting) {
620
417
  if (meeting.meetingState === _constants.FULL_STATE.INACTIVE) {
621
418
  return _promise.default.reject(new _webexErrors.MeetingNotActiveError());
622
419
  }
623
-
624
420
  var endOptions = {
625
421
  locusUrl: meeting.locusUrl
626
422
  };
@@ -628,53 +424,59 @@ MeetingUtil.endMeetingForAll = function (meeting) {
628
424
  if (response && response.body && response.body.locus) {
629
425
  meeting.locusInfo.onFullLocus(response.body.locus);
630
426
  }
631
-
632
427
  return _promise.default.resolve();
633
428
  }).then(function () {
634
429
  return MeetingUtil.cleanUp(meeting);
635
430
  }).catch(function (err) {
636
431
  _loggerProxy.default.logger.error("Meeting:util#endMeetingForAll An error occured while trying to end meeting for all with an id of ".concat(meeting.id, ", error: ").concat(err));
637
-
638
432
  return _promise.default.reject(err);
639
433
  });
640
434
  };
641
-
642
435
  MeetingUtil.canEnableClosedCaption = function (displayHints) {
643
436
  return displayHints.includes(_constants.DISPLAY_HINTS.CAPTION_START);
644
437
  };
645
-
438
+ MeetingUtil.isSaveTranscriptsEnabled = function (displayHints) {
439
+ return displayHints.includes(_constants.DISPLAY_HINTS.SAVE_TRANSCRIPTS_ENABLED);
440
+ };
646
441
  MeetingUtil.canStartTranscribing = function (displayHints) {
647
442
  return displayHints.includes(_constants.DISPLAY_HINTS.TRANSCRIPTION_CONTROL_START);
648
443
  };
649
-
650
444
  MeetingUtil.canStopTranscribing = function (displayHints) {
651
445
  return displayHints.includes(_constants.DISPLAY_HINTS.TRANSCRIPTION_CONTROL_STOP);
652
446
  };
653
-
654
447
  MeetingUtil.isClosedCaptionActive = function (displayHints) {
655
448
  return displayHints.includes(_constants.DISPLAY_HINTS.CAPTION_STATUS_ACTIVE);
656
449
  };
657
-
658
450
  MeetingUtil.isWebexAssistantActive = function (displayHints) {
659
451
  return displayHints.includes(_constants.DISPLAY_HINTS.WEBEX_ASSISTANT_STATUS_ACTIVE);
660
452
  };
661
-
662
453
  MeetingUtil.canViewCaptionPanel = function (displayHints) {
663
454
  return displayHints.includes(_constants.DISPLAY_HINTS.ENABLE_CAPTION_PANEL);
664
455
  };
665
-
666
456
  MeetingUtil.isRealTimeTranslationEnabled = function (displayHints) {
667
457
  return displayHints.includes(_constants.DISPLAY_HINTS.DISPLAY_REAL_TIME_TRANSLATION);
668
458
  };
669
-
670
459
  MeetingUtil.canSelectSpokenLanguages = function (displayHints) {
671
460
  return displayHints.includes(_constants.DISPLAY_HINTS.DISPLAY_NON_ENGLISH_ASR);
672
461
  };
673
-
674
462
  MeetingUtil.waitingForOthersToJoin = function (displayHints) {
675
463
  return displayHints.includes(_constants.DISPLAY_HINTS.WAITING_FOR_OTHERS);
676
464
  };
677
-
465
+ MeetingUtil.canSendReactions = function (originalValue, displayHints) {
466
+ if (displayHints.includes(_constants.DISPLAY_HINTS.REACTIONS_ACTIVE)) {
467
+ return true;
468
+ }
469
+ if (displayHints.includes(_constants.DISPLAY_HINTS.REACTIONS_INACTIVE)) {
470
+ return false;
471
+ }
472
+ return originalValue;
473
+ };
474
+ MeetingUtil.canUserRenameSelfAndObserved = function (displayHints) {
475
+ return displayHints.includes(_constants.DISPLAY_HINTS.CAN_RENAME_SELF_AND_OBSERVED);
476
+ };
477
+ MeetingUtil.canUserRenameOthers = function (displayHints) {
478
+ return displayHints.includes(_constants.DISPLAY_HINTS.CAN_RENAME_OTHERS);
479
+ };
678
480
  var _default = MeetingUtil;
679
481
  exports.default = _default;
680
482
  //# sourceMappingURL=util.js.map