@webex/plugin-meetings 3.0.0-beta.29 → 3.0.0-beta.290

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 (373) hide show
  1. package/README.md +46 -8
  2. package/dist/annotation/annotation.types.js +7 -0
  3. package/dist/annotation/annotation.types.js.map +1 -0
  4. package/dist/annotation/constants.js +49 -0
  5. package/dist/annotation/constants.js.map +1 -0
  6. package/dist/annotation/index.js +342 -0
  7. package/dist/annotation/index.js.map +1 -0
  8. package/dist/breakouts/breakout.js +94 -15
  9. package/dist/breakouts/breakout.js.map +1 -1
  10. package/dist/breakouts/edit-lock-error.js +52 -0
  11. package/dist/breakouts/edit-lock-error.js.map +1 -0
  12. package/dist/breakouts/events.js +45 -0
  13. package/dist/breakouts/events.js.map +1 -0
  14. package/dist/breakouts/index.js +709 -35
  15. package/dist/breakouts/index.js.map +1 -1
  16. package/dist/breakouts/utils.js +45 -1
  17. package/dist/breakouts/utils.js.map +1 -1
  18. package/dist/common/errors/no-meeting-info.js +51 -0
  19. package/dist/common/errors/no-meeting-info.js.map +1 -0
  20. package/dist/common/errors/webex-errors.js +28 -7
  21. package/dist/common/errors/webex-errors.js.map +1 -1
  22. package/dist/common/logs/logger-proxy.js +1 -1
  23. package/dist/common/logs/logger-proxy.js.map +1 -1
  24. package/dist/common/logs/request.js +5 -1
  25. package/dist/common/logs/request.js.map +1 -1
  26. package/dist/common/queue.js +24 -9
  27. package/dist/common/queue.js.map +1 -1
  28. package/dist/config.js +5 -10
  29. package/dist/config.js.map +1 -1
  30. package/dist/constants.js +206 -29
  31. package/dist/constants.js.map +1 -1
  32. package/dist/controls-options-manager/enums.js +14 -2
  33. package/dist/controls-options-manager/enums.js.map +1 -1
  34. package/dist/controls-options-manager/index.js +109 -15
  35. package/dist/controls-options-manager/index.js.map +1 -1
  36. package/dist/controls-options-manager/types.js +7 -0
  37. package/dist/controls-options-manager/types.js.map +1 -0
  38. package/dist/controls-options-manager/util.js +309 -18
  39. package/dist/controls-options-manager/util.js.map +1 -1
  40. package/dist/index.js +112 -1
  41. package/dist/index.js.map +1 -1
  42. package/dist/interpretation/collection.js +23 -0
  43. package/dist/interpretation/collection.js.map +1 -0
  44. package/dist/interpretation/index.js +366 -0
  45. package/dist/interpretation/index.js.map +1 -0
  46. package/dist/interpretation/siLanguage.js +25 -0
  47. package/dist/interpretation/siLanguage.js.map +1 -0
  48. package/dist/locus-info/controlsUtils.js +91 -2
  49. package/dist/locus-info/controlsUtils.js.map +1 -1
  50. package/dist/locus-info/index.js +383 -62
  51. package/dist/locus-info/index.js.map +1 -1
  52. package/dist/locus-info/infoUtils.js +7 -1
  53. package/dist/locus-info/infoUtils.js.map +1 -1
  54. package/dist/locus-info/mediaSharesUtils.js +57 -1
  55. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  56. package/dist/locus-info/parser.js +249 -72
  57. package/dist/locus-info/parser.js.map +1 -1
  58. package/dist/locus-info/selfUtils.js +89 -14
  59. package/dist/locus-info/selfUtils.js.map +1 -1
  60. package/dist/media/index.js +61 -116
  61. package/dist/media/index.js.map +1 -1
  62. package/dist/media/properties.js +73 -124
  63. package/dist/media/properties.js.map +1 -1
  64. package/dist/meeting/in-meeting-actions.js +82 -2
  65. package/dist/meeting/in-meeting-actions.js.map +1 -1
  66. package/dist/meeting/index.js +3576 -2946
  67. package/dist/meeting/index.js.map +1 -1
  68. package/dist/meeting/locusMediaRequest.js +292 -0
  69. package/dist/meeting/locusMediaRequest.js.map +1 -0
  70. package/dist/meeting/muteState.js +230 -124
  71. package/dist/meeting/muteState.js.map +1 -1
  72. package/dist/meeting/request.js +256 -196
  73. package/dist/meeting/request.js.map +1 -1
  74. package/dist/meeting/util.js +601 -417
  75. package/dist/meeting/util.js.map +1 -1
  76. package/dist/meeting-info/index.js +73 -7
  77. package/dist/meeting-info/index.js.map +1 -1
  78. package/dist/meeting-info/meeting-info-v2.js +192 -51
  79. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  80. package/dist/meeting-info/util.js +1 -1
  81. package/dist/meeting-info/util.js.map +1 -1
  82. package/dist/meeting-info/utilv2.js +36 -36
  83. package/dist/meeting-info/utilv2.js.map +1 -1
  84. package/dist/meetings/collection.js +22 -0
  85. package/dist/meetings/collection.js.map +1 -1
  86. package/dist/meetings/index.js +402 -98
  87. package/dist/meetings/index.js.map +1 -1
  88. package/dist/meetings/meetings.types.js +7 -0
  89. package/dist/meetings/meetings.types.js.map +1 -0
  90. package/dist/meetings/request.js +2 -0
  91. package/dist/meetings/request.js.map +1 -1
  92. package/dist/meetings/util.js +71 -1
  93. package/dist/meetings/util.js.map +1 -1
  94. package/dist/member/index.js +58 -0
  95. package/dist/member/index.js.map +1 -1
  96. package/dist/member/types.js +25 -0
  97. package/dist/member/types.js.map +1 -0
  98. package/dist/member/util.js +132 -25
  99. package/dist/member/util.js.map +1 -1
  100. package/dist/members/collection.js +10 -0
  101. package/dist/members/collection.js.map +1 -1
  102. package/dist/members/index.js +86 -6
  103. package/dist/members/index.js.map +1 -1
  104. package/dist/members/request.js +106 -38
  105. package/dist/members/request.js.map +1 -1
  106. package/dist/members/types.js +15 -0
  107. package/dist/members/types.js.map +1 -0
  108. package/dist/members/util.js +326 -232
  109. package/dist/members/util.js.map +1 -1
  110. package/dist/metrics/constants.js +12 -5
  111. package/dist/metrics/constants.js.map +1 -1
  112. package/dist/metrics/index.js +1 -468
  113. package/dist/metrics/index.js.map +1 -1
  114. package/dist/multistream/mediaRequestManager.js +238 -49
  115. package/dist/multistream/mediaRequestManager.js.map +1 -1
  116. package/dist/multistream/receiveSlot.js +40 -16
  117. package/dist/multistream/receiveSlot.js.map +1 -1
  118. package/dist/multistream/receiveSlotManager.js +39 -36
  119. package/dist/multistream/receiveSlotManager.js.map +1 -1
  120. package/dist/multistream/remoteMedia.js +44 -18
  121. package/dist/multistream/remoteMedia.js.map +1 -1
  122. package/dist/multistream/remoteMediaGroup.js +60 -3
  123. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  124. package/dist/multistream/remoteMediaManager.js +209 -59
  125. package/dist/multistream/remoteMediaManager.js.map +1 -1
  126. package/dist/multistream/sendSlotManager.js +233 -0
  127. package/dist/multistream/sendSlotManager.js.map +1 -0
  128. package/dist/reachability/index.js +225 -59
  129. package/dist/reachability/index.js.map +1 -1
  130. package/dist/reachability/request.js +17 -8
  131. package/dist/reachability/request.js.map +1 -1
  132. package/dist/reconnection-manager/index.js +199 -154
  133. package/dist/reconnection-manager/index.js.map +1 -1
  134. package/dist/recording-controller/index.js +21 -2
  135. package/dist/recording-controller/index.js.map +1 -1
  136. package/dist/recording-controller/util.js +9 -8
  137. package/dist/recording-controller/util.js.map +1 -1
  138. package/dist/roap/index.js +23 -29
  139. package/dist/roap/index.js.map +1 -1
  140. package/dist/roap/request.js +112 -97
  141. package/dist/roap/request.js.map +1 -1
  142. package/dist/roap/turnDiscovery.js +96 -36
  143. package/dist/roap/turnDiscovery.js.map +1 -1
  144. package/dist/rtcMetrics/constants.js +12 -0
  145. package/dist/rtcMetrics/constants.js.map +1 -0
  146. package/dist/rtcMetrics/index.js +117 -0
  147. package/dist/rtcMetrics/index.js.map +1 -0
  148. package/dist/statsAnalyzer/index.js +84 -73
  149. package/dist/statsAnalyzer/index.js.map +1 -1
  150. package/dist/statsAnalyzer/mqaUtil.js +11 -10
  151. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  152. package/dist/types/annotation/annotation.types.d.ts +42 -0
  153. package/dist/types/annotation/constants.d.ts +31 -0
  154. package/dist/types/annotation/index.d.ts +117 -0
  155. package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
  156. package/dist/types/breakouts/events.d.ts +8 -0
  157. package/dist/types/breakouts/utils.d.ts +14 -0
  158. package/dist/types/common/errors/no-meeting-info.d.ts +14 -0
  159. package/dist/types/common/errors/webex-errors.d.ts +13 -1
  160. package/dist/types/common/logs/request.d.ts +2 -0
  161. package/dist/types/common/queue.d.ts +9 -7
  162. package/dist/types/config.d.ts +1 -6
  163. package/dist/types/constants.d.ts +162 -21
  164. package/dist/types/controls-options-manager/enums.d.ts +11 -1
  165. package/dist/types/controls-options-manager/index.d.ts +17 -1
  166. package/dist/types/controls-options-manager/types.d.ts +43 -0
  167. package/dist/types/controls-options-manager/util.d.ts +1 -7
  168. package/dist/types/index.d.ts +6 -4
  169. package/dist/types/interpretation/collection.d.ts +5 -0
  170. package/dist/types/interpretation/index.d.ts +5 -0
  171. package/dist/types/interpretation/siLanguage.d.ts +5 -0
  172. package/dist/types/locus-info/index.d.ts +57 -4
  173. package/dist/types/locus-info/parser.d.ts +67 -6
  174. package/dist/types/media/index.d.ts +2 -0
  175. package/dist/types/media/properties.d.ts +34 -48
  176. package/dist/types/meeting/in-meeting-actions.d.ts +82 -2
  177. package/dist/types/meeting/index.d.ts +413 -508
  178. package/dist/types/meeting/locusMediaRequest.d.ts +74 -0
  179. package/dist/types/meeting/muteState.d.ts +99 -23
  180. package/dist/types/meeting/request.d.ts +72 -43
  181. package/dist/types/meeting/util.d.ts +101 -1
  182. package/dist/types/meeting-info/index.d.ts +13 -1
  183. package/dist/types/meeting-info/meeting-info-v2.d.ts +31 -1
  184. package/dist/types/meetings/collection.d.ts +8 -0
  185. package/dist/types/meetings/index.d.ts +90 -12
  186. package/dist/types/meetings/meetings.types.d.ts +4 -0
  187. package/dist/types/member/index.d.ts +14 -0
  188. package/dist/types/member/types.d.ts +32 -0
  189. package/dist/types/members/collection.d.ts +5 -0
  190. package/dist/types/members/index.d.ts +35 -2
  191. package/dist/types/members/request.d.ts +73 -9
  192. package/dist/types/members/types.d.ts +25 -0
  193. package/dist/types/members/util.d.ts +214 -1
  194. package/dist/types/metrics/constants.d.ts +11 -4
  195. package/dist/types/metrics/index.d.ts +4 -119
  196. package/dist/types/multistream/mediaRequestManager.d.ts +73 -5
  197. package/dist/types/multistream/receiveSlot.d.ts +13 -11
  198. package/dist/types/multistream/receiveSlotManager.d.ts +14 -4
  199. package/dist/types/multistream/remoteMedia.d.ts +8 -29
  200. package/dist/types/multistream/remoteMediaGroup.d.ts +0 -9
  201. package/dist/types/multistream/remoteMediaManager.d.ts +46 -2
  202. package/dist/types/multistream/sendSlotManager.d.ts +61 -0
  203. package/dist/types/reachability/index.d.ts +61 -7
  204. package/dist/types/reachability/request.d.ts +7 -3
  205. package/dist/types/reconnection-manager/index.d.ts +9 -0
  206. package/dist/types/recording-controller/index.d.ts +15 -1
  207. package/dist/types/recording-controller/util.d.ts +5 -4
  208. package/dist/types/roap/request.d.ts +15 -11
  209. package/dist/types/roap/turnDiscovery.d.ts +18 -1
  210. package/dist/types/rtcMetrics/constants.d.ts +4 -0
  211. package/dist/types/rtcMetrics/index.d.ts +47 -0
  212. package/dist/types/statsAnalyzer/index.d.ts +7 -1
  213. package/dist/types/webinar/collection.d.ts +16 -0
  214. package/dist/types/webinar/index.d.ts +5 -0
  215. package/dist/webinar/collection.js +44 -0
  216. package/dist/webinar/collection.js.map +1 -0
  217. package/dist/webinar/index.js +69 -0
  218. package/dist/webinar/index.js.map +1 -0
  219. package/package.json +23 -20
  220. package/src/annotation/annotation.types.ts +50 -0
  221. package/src/annotation/constants.ts +36 -0
  222. package/src/annotation/index.ts +328 -0
  223. package/src/breakouts/README.md +42 -12
  224. package/src/breakouts/breakout.ts +67 -9
  225. package/src/breakouts/edit-lock-error.ts +25 -0
  226. package/src/breakouts/events.ts +56 -0
  227. package/src/breakouts/index.ts +592 -20
  228. package/src/breakouts/utils.ts +42 -0
  229. package/src/common/errors/no-meeting-info.ts +24 -0
  230. package/src/common/errors/webex-errors.ts +27 -2
  231. package/src/common/logs/logger-proxy.ts +1 -1
  232. package/src/common/logs/request.ts +5 -1
  233. package/src/common/queue.ts +22 -8
  234. package/src/config.ts +4 -9
  235. package/src/constants.ts +185 -18
  236. package/src/controls-options-manager/enums.ts +12 -0
  237. package/src/controls-options-manager/index.ts +116 -21
  238. package/src/controls-options-manager/types.ts +59 -0
  239. package/src/controls-options-manager/util.ts +294 -14
  240. package/src/index.ts +40 -0
  241. package/src/interpretation/README.md +60 -0
  242. package/src/interpretation/collection.ts +19 -0
  243. package/src/interpretation/index.ts +332 -0
  244. package/src/interpretation/siLanguage.ts +18 -0
  245. package/src/locus-info/controlsUtils.ts +108 -0
  246. package/src/locus-info/index.ts +413 -59
  247. package/src/locus-info/infoUtils.ts +10 -2
  248. package/src/locus-info/mediaSharesUtils.ts +64 -0
  249. package/src/locus-info/parser.ts +258 -47
  250. package/src/locus-info/selfUtils.ts +81 -5
  251. package/src/media/index.ts +102 -122
  252. package/src/media/properties.ts +87 -110
  253. package/src/meeting/in-meeting-actions.ts +163 -3
  254. package/src/meeting/index.ts +2858 -2462
  255. package/src/meeting/locusMediaRequest.ts +313 -0
  256. package/src/meeting/muteState.ts +229 -131
  257. package/src/meeting/request.ts +172 -121
  258. package/src/meeting/util.ts +588 -394
  259. package/src/meeting-info/index.ts +81 -8
  260. package/src/meeting-info/meeting-info-v2.ts +170 -14
  261. package/src/meeting-info/util.ts +1 -1
  262. package/src/meeting-info/utilv2.ts +23 -23
  263. package/src/meetings/collection.ts +20 -0
  264. package/src/meetings/index.ts +434 -108
  265. package/src/meetings/meetings.types.ts +12 -0
  266. package/src/meetings/request.ts +2 -0
  267. package/src/meetings/util.ts +79 -4
  268. package/src/member/index.ts +58 -0
  269. package/src/member/types.ts +38 -0
  270. package/src/member/util.ts +141 -25
  271. package/src/members/collection.ts +8 -0
  272. package/src/members/index.ts +106 -7
  273. package/src/members/request.ts +97 -17
  274. package/src/members/types.ts +29 -0
  275. package/src/members/util.ts +333 -240
  276. package/src/metrics/constants.ts +11 -4
  277. package/src/metrics/index.ts +1 -490
  278. package/src/multistream/mediaRequestManager.ts +289 -79
  279. package/src/multistream/receiveSlot.ts +47 -17
  280. package/src/multistream/receiveSlotManager.ts +34 -24
  281. package/src/multistream/remoteMedia.ts +27 -2
  282. package/src/multistream/remoteMediaGroup.ts +59 -0
  283. package/src/multistream/remoteMediaManager.ts +148 -30
  284. package/src/multistream/sendSlotManager.ts +170 -0
  285. package/src/reachability/index.ts +228 -37
  286. package/src/reachability/request.ts +17 -8
  287. package/src/reconnection-manager/index.ts +81 -54
  288. package/src/recording-controller/index.ts +20 -3
  289. package/src/recording-controller/util.ts +26 -9
  290. package/src/roap/index.ts +23 -30
  291. package/src/roap/request.ts +100 -104
  292. package/src/roap/turnDiscovery.ts +51 -25
  293. package/src/rtcMetrics/constants.ts +3 -0
  294. package/src/rtcMetrics/index.ts +100 -0
  295. package/src/statsAnalyzer/index.ts +103 -87
  296. package/src/statsAnalyzer/mqaUtil.ts +13 -14
  297. package/src/webinar/collection.ts +31 -0
  298. package/src/webinar/index.ts +62 -0
  299. package/test/integration/spec/converged-space-meetings.js +60 -3
  300. package/test/integration/spec/journey.js +320 -261
  301. package/test/integration/spec/space-meeting.js +76 -3
  302. package/test/unit/spec/annotation/index.ts +418 -0
  303. package/test/unit/spec/breakouts/breakout.ts +118 -28
  304. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  305. package/test/unit/spec/breakouts/events.ts +89 -0
  306. package/test/unit/spec/breakouts/index.ts +1395 -69
  307. package/test/unit/spec/breakouts/utils.js +52 -1
  308. package/test/unit/spec/common/queue.js +31 -2
  309. package/test/unit/spec/controls-options-manager/index.js +163 -0
  310. package/test/unit/spec/controls-options-manager/util.js +576 -60
  311. package/test/unit/spec/fixture/locus.js +1 -0
  312. package/test/unit/spec/interpretation/collection.ts +15 -0
  313. package/test/unit/spec/interpretation/index.ts +589 -0
  314. package/test/unit/spec/interpretation/siLanguage.ts +28 -0
  315. package/test/unit/spec/locus-info/controlsUtils.js +316 -43
  316. package/test/unit/spec/locus-info/index.js +1304 -33
  317. package/test/unit/spec/locus-info/infoUtils.js +37 -15
  318. package/test/unit/spec/locus-info/lib/SeqCmp.json +16 -0
  319. package/test/unit/spec/locus-info/mediaSharesUtils.ts +32 -0
  320. package/test/unit/spec/locus-info/parser.js +116 -35
  321. package/test/unit/spec/locus-info/selfConstant.js +27 -4
  322. package/test/unit/spec/locus-info/selfUtils.js +208 -17
  323. package/test/unit/spec/media/index.ts +104 -37
  324. package/test/unit/spec/media/properties.ts +2 -2
  325. package/test/unit/spec/meeting/in-meeting-actions.ts +81 -3
  326. package/test/unit/spec/meeting/index.js +4721 -1930
  327. package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
  328. package/test/unit/spec/meeting/muteState.js +408 -208
  329. package/test/unit/spec/meeting/request.js +440 -45
  330. package/test/unit/spec/meeting/utils.js +679 -64
  331. package/test/unit/spec/meeting-info/index.js +295 -0
  332. package/test/unit/spec/meeting-info/meetinginfov2.js +521 -5
  333. package/test/unit/spec/meeting-info/utilv2.js +21 -0
  334. package/test/unit/spec/meetings/collection.js +14 -0
  335. package/test/unit/spec/meetings/index.js +1011 -177
  336. package/test/unit/spec/meetings/utils.js +206 -2
  337. package/test/unit/spec/member/index.js +61 -6
  338. package/test/unit/spec/member/util.js +510 -34
  339. package/test/unit/spec/members/index.js +319 -1
  340. package/test/unit/spec/members/request.js +206 -27
  341. package/test/unit/spec/members/utils.js +210 -0
  342. package/test/unit/spec/metrics/index.js +1 -50
  343. package/test/unit/spec/multistream/mediaRequestManager.ts +803 -162
  344. package/test/unit/spec/multistream/receiveSlot.ts +43 -20
  345. package/test/unit/spec/multistream/receiveSlotManager.ts +32 -30
  346. package/test/unit/spec/multistream/remoteMedia.ts +30 -0
  347. package/test/unit/spec/multistream/remoteMediaGroup.ts +266 -0
  348. package/test/unit/spec/multistream/remoteMediaManager.ts +326 -0
  349. package/test/unit/spec/multistream/sendSlotManager.ts +242 -0
  350. package/test/unit/spec/reachability/index.ts +549 -9
  351. package/test/unit/spec/reachability/request.js +68 -0
  352. package/test/unit/spec/reconnection-manager/index.js +84 -9
  353. package/test/unit/spec/recording-controller/index.js +294 -218
  354. package/test/unit/spec/recording-controller/util.js +223 -96
  355. package/test/unit/spec/roap/index.ts +31 -51
  356. package/test/unit/spec/roap/request.ts +203 -85
  357. package/test/unit/spec/roap/turnDiscovery.ts +48 -13
  358. package/test/unit/spec/rtcMetrics/index.ts +73 -0
  359. package/test/unit/spec/stats-analyzer/index.js +112 -2
  360. package/test/unit/spec/webinar/collection.ts +13 -0
  361. package/test/unit/spec/webinar/index.ts +60 -0
  362. package/test/utils/integrationTestUtils.js +46 -0
  363. package/test/utils/testUtils.js +0 -52
  364. package/dist/meeting/effectsState.js +0 -262
  365. package/dist/meeting/effectsState.js.map +0 -1
  366. package/dist/metrics/config.js +0 -299
  367. package/dist/metrics/config.js.map +0 -1
  368. package/dist/types/meeting/effectsState.d.ts +0 -42
  369. package/dist/types/metrics/config.d.ts +0 -178
  370. package/src/index.js +0 -16
  371. package/src/meeting/effectsState.ts +0 -211
  372. package/src/metrics/config.ts +0 -495
  373. package/test/unit/spec/meeting/effectsState.js +0 -285
@@ -6,10 +6,14 @@ _Object$defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.default = void 0;
9
+ var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
9
11
  var _webexCore = require("@webex/webex-core");
12
+ var _uuid = _interopRequireDefault(require("uuid"));
10
13
  var _constants = require("../constants");
11
14
  var _members = _interopRequireDefault(require("../members"));
12
15
  var _request = _interopRequireDefault(require("./request"));
16
+ var _events = _interopRequireDefault(require("./events"));
13
17
  /*!
14
18
  * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.
15
19
  */
@@ -38,11 +42,14 @@ var Breakout = _webexCore.WebexPlugin.extend({
38
42
  sessionId: 'string',
39
43
  sessionType: 'string',
40
44
  groupId: 'string',
41
- url: 'string' // where to send requests to
45
+ url: 'string',
46
+ // where to send requests to
47
+ requestedLastModifiedTime: 'string'
42
48
  },
43
-
44
49
  derived: {
45
50
  isMain: {
51
+ cache: false,
52
+ // fix issue: sometimes the derived will not change even if the deps changed
46
53
  deps: ['sessionType'],
47
54
  /**
48
55
  * If the breakout has no name, assume it is the main session
@@ -53,28 +60,66 @@ var Breakout = _webexCore.WebexPlugin.extend({
53
60
  }
54
61
  }
55
62
  },
63
+ /**
64
+ * initializer for the Breakout class
65
+ * @returns {void}
66
+ */
56
67
  initialize: function initialize() {
57
- this.members = new _members.default({}, {
58
- parent: this.webex
59
- });
60
68
  // @ts-ignore
61
69
  this.breakoutRequest = new _request.default({
62
70
  webex: this.webex
63
71
  });
72
+ this.breakoutRosterLocus = null;
64
73
  },
65
74
  /**
66
75
  * Joins the breakout session
67
76
  * @returns {Promise}
68
77
  */
69
78
  join: function join() {
70
- return this.request({
71
- method: _constants.HTTP_VERBS.POST,
72
- uri: "".concat(this.url, "/move"),
73
- body: {
74
- groupId: this.groupId,
75
- sessionId: this.sessionId
76
- }
77
- });
79
+ var _this = this;
80
+ return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
81
+ var breakoutMoveId, deviceUrl, meetingId, meeting, result;
82
+ return _regenerator.default.wrap(function _callee$(_context) {
83
+ while (1) switch (_context.prev = _context.next) {
84
+ case 0:
85
+ breakoutMoveId = _uuid.default.v4();
86
+ deviceUrl = _this.webex.internal.device.url;
87
+ meetingId = _this.collection.parent.meetingId;
88
+ meeting = _this.webex.meetings.getMeetingByType(_constants._ID_, meetingId);
89
+ _events.default.onBreakoutMoveRequest({
90
+ currentSession: _this,
91
+ meeting: meeting,
92
+ breakoutMoveId: breakoutMoveId
93
+ },
94
+ // @ts-ignore
95
+ _this.webex.internal.newMetrics.submitClientEvent.bind(_this.webex.internal.newMetrics));
96
+ _context.next = 7;
97
+ return _this.request({
98
+ method: _constants.HTTP_VERBS.POST,
99
+ uri: "".concat(_this.url, "/move"),
100
+ body: {
101
+ breakoutMoveId: breakoutMoveId,
102
+ deviceUrl: deviceUrl,
103
+ groupId: _this.groupId,
104
+ sessionId: _this.sessionId
105
+ }
106
+ });
107
+ case 7:
108
+ result = _context.sent;
109
+ _events.default.onBreakoutMoveResponse({
110
+ currentSession: _this,
111
+ meeting: meeting,
112
+ breakoutMoveId: breakoutMoveId
113
+ },
114
+ // @ts-ignore
115
+ _this.webex.internal.newMetrics.submitClientEvent.bind(_this.webex.internal.newMetrics));
116
+ return _context.abrupt("return", result);
117
+ case 10:
118
+ case "end":
119
+ return _context.stop();
120
+ }
121
+ }, _callee);
122
+ }))();
78
123
  },
79
124
  /**
80
125
  * Leaves the breakout session to return to the main session
@@ -107,12 +152,46 @@ var Breakout = _webexCore.WebexPlugin.extend({
107
152
  }
108
153
  });
109
154
  },
155
+ /**
156
+ * inits the members object
157
+ * @returns {void}
158
+ */
159
+ initMembers: function initMembers() {
160
+ var meetingId = this.collection.parent.meetingId;
161
+ var meeting = this.webex.meetings.getMeetingByType(_constants._ID_, meetingId);
162
+ this.members = new _members.default({
163
+ meeting: meeting
164
+ }, {
165
+ parent: this.webex
166
+ });
167
+ },
168
+ /**
169
+ * check sequence and determine whether to update the new roster or not
170
+ * @param {Object} locus Locus object
171
+ * @returns {Boolean}
172
+ */
173
+ isNeedHandleRoster: function isNeedHandleRoster(locus) {
174
+ var _this$breakoutRosterL, _this$breakoutRosterL2, _this$breakoutRosterL3, _locus$sequence, _locus$sequence$entri;
175
+ if (!((_this$breakoutRosterL = this.breakoutRosterLocus) !== null && _this$breakoutRosterL !== void 0 && (_this$breakoutRosterL2 = _this$breakoutRosterL.sequence) !== null && _this$breakoutRosterL2 !== void 0 && (_this$breakoutRosterL3 = _this$breakoutRosterL2.entries) !== null && _this$breakoutRosterL3 !== void 0 && _this$breakoutRosterL3.length) || !(locus !== null && locus !== void 0 && (_locus$sequence = locus.sequence) !== null && _locus$sequence !== void 0 && (_locus$sequence$entri = _locus$sequence.entries) !== null && _locus$sequence$entri !== void 0 && _locus$sequence$entri.length)) {
176
+ return true;
177
+ }
178
+ var prevSequence = this.breakoutRosterLocus.sequence.entries[0];
179
+ var currentSequence = locus.sequence.entries[0];
180
+ return currentSequence > prevSequence;
181
+ },
110
182
  /**
111
183
  * Parses the participants from the locus object
112
- * @param locus Locus object
184
+ * @param {Object} locus Locus object
113
185
  * @returns {void}
114
186
  */
115
187
  parseRoster: function parseRoster(locus) {
188
+ if (!this.members) {
189
+ this.initMembers();
190
+ }
191
+ if (!this.isNeedHandleRoster(locus)) {
192
+ return;
193
+ }
194
+ this.breakoutRosterLocus = locus;
116
195
  this.members.locusParticipantsUpdate(locus);
117
196
  },
118
197
  /**
@@ -130,7 +209,7 @@ var Breakout = _webexCore.WebexPlugin.extend({
130
209
  sessionId: this.sessionId
131
210
  });
132
211
  },
133
- version: "3.0.0-beta.29"
212
+ version: "3.0.0-beta.290"
134
213
  });
135
214
  var _default = Breakout;
136
215
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"names":["Breakout","WebexPlugin","extend","idAttribute","namespace","MEETINGS","breakoutRequest","BreakoutRequest","props","active","allowed","assigned","assignedCurrent","requested","current","name","sessionId","sessionType","groupId","url","derived","isMain","deps","fn","initialize","members","Members","parent","webex","join","request","method","HTTP_VERBS","POST","uri","body","leave","Error","mainSession","breakouts","filter","breakout","askForHelp","parseRoster","locus","locusParticipantsUpdate","broadcast","message","options"],"sources":["breakout.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {WebexPlugin} from '@webex/webex-core';\n\nimport {HTTP_VERBS, MEETINGS} from '../constants';\nimport LocusInfo from '../locus-info';\nimport Members from '../members';\nimport BreakoutRequest from './request';\n\n/**\n * @class\n */\nconst Breakout = WebexPlugin.extend({\n idAttribute: 'sessionId',\n\n namespace: MEETINGS,\n\n breakoutRequest: BreakoutRequest,\n props: {\n active: ['boolean', false, false], // this session is active\n allowed: ['boolean', false, false], // allowed to join this session\n assigned: ['boolean', false, false], // assigned to this session, but not necessarily joined yet\n assignedCurrent: ['boolean', false, false], // assigned AND current session\n requested: ['boolean', false, false], // requested by the host to join this session\n current: ['boolean', false, false], // the current joined session\n name: 'string',\n sessionId: 'string',\n sessionType: 'string',\n groupId: 'string',\n url: 'string', // where to send requests to\n },\n\n derived: {\n isMain: {\n deps: ['sessionType'],\n /**\n * If the breakout has no name, assume it is the main session\n * @returns {boolean}\n */\n fn() {\n return this.sessionType === 'MAIN';\n },\n },\n },\n\n initialize() {\n this.members = new Members({}, {parent: this.webex});\n // @ts-ignore\n this.breakoutRequest = new BreakoutRequest({webex: this.webex});\n },\n\n /**\n * Joins the breakout session\n * @returns {Promise}\n */\n join() {\n return this.request({\n method: HTTP_VERBS.POST,\n uri: `${this.url}/move`,\n body: {\n groupId: this.groupId,\n sessionId: this.sessionId,\n },\n });\n },\n\n /**\n * Leaves the breakout session to return to the main session\n * @returns {Promise}\n * @throws {Error} if an attempt is made to leave the main session or if the main session cannot be found\n */\n leave() {\n if (this.isMain) {\n throw new Error('Cannot leave the main session');\n }\n\n const mainSession = this.parent.breakouts.filter((breakout) => breakout.isMain)[0];\n\n if (!mainSession) {\n throw new Error('Cannot leave, no main session found');\n }\n\n return mainSession.join();\n },\n\n /**\n * Sends a help request for the current breakout\n * @returns {Promise}\n */\n askForHelp() {\n return this.request({\n method: HTTP_VERBS.POST,\n uri: `${this.url}/help`,\n body: {\n groupId: this.groupId,\n sessionId: this.sessionId,\n },\n });\n },\n\n /**\n * Parses the participants from the locus object\n * @param locus Locus object\n * @returns {void}\n */\n\n parseRoster(locus) {\n this.members.locusParticipantsUpdate(locus);\n },\n\n /**\n * Broadcast message to this breakout session's participants\n * @param {String} message\n * @param {Object} options\n * @returns {Promise}\n */\n broadcast(message, options) {\n return this.breakoutRequest.broadcast({\n url: this.url,\n message,\n options,\n groupId: this.groupId,\n sessionId: this.sessionId,\n });\n },\n});\n\nexport default Breakout;\n"],"mappings":"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"}
1
+ {"version":3,"names":["Breakout","WebexPlugin","extend","idAttribute","namespace","MEETINGS","breakoutRequest","BreakoutRequest","props","active","allowed","assigned","assignedCurrent","requested","current","name","sessionId","sessionType","groupId","url","requestedLastModifiedTime","derived","isMain","cache","deps","fn","initialize","webex","breakoutRosterLocus","join","breakoutMoveId","uuid","v4","deviceUrl","internal","device","meetingId","collection","parent","meeting","meetings","getMeetingByType","_ID_","breakoutEvent","onBreakoutMoveRequest","currentSession","newMetrics","submitClientEvent","bind","request","method","HTTP_VERBS","POST","uri","body","result","onBreakoutMoveResponse","leave","Error","mainSession","breakouts","filter","breakout","askForHelp","initMembers","members","Members","isNeedHandleRoster","locus","sequence","entries","length","prevSequence","currentSequence","parseRoster","locusParticipantsUpdate","broadcast","message","options"],"sources":["breakout.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {WebexPlugin} from '@webex/webex-core';\n\nimport uuid from 'uuid';\nimport {_ID_, HTTP_VERBS, MEETINGS} from '../constants';\nimport Members from '../members';\nimport BreakoutRequest from './request';\nimport breakoutEvent from './events';\n/**\n * @class\n */\nconst Breakout = WebexPlugin.extend({\n idAttribute: 'sessionId',\n\n namespace: MEETINGS,\n\n breakoutRequest: BreakoutRequest,\n props: {\n active: ['boolean', false, false], // this session is active\n allowed: ['boolean', false, false], // allowed to join this session\n assigned: ['boolean', false, false], // assigned to this session, but not necessarily joined yet\n assignedCurrent: ['boolean', false, false], // assigned AND current session\n requested: ['boolean', false, false], // requested by the host to join this session\n current: ['boolean', false, false], // the current joined session\n name: 'string',\n sessionId: 'string',\n sessionType: 'string',\n groupId: 'string',\n url: 'string', // where to send requests to\n requestedLastModifiedTime: 'string',\n },\n\n derived: {\n isMain: {\n cache: false, // fix issue: sometimes the derived will not change even if the deps changed\n deps: ['sessionType'],\n /**\n * If the breakout has no name, assume it is the main session\n * @returns {boolean}\n */\n fn() {\n return this.sessionType === 'MAIN';\n },\n },\n },\n /**\n * initializer for the Breakout class\n * @returns {void}\n */\n initialize() {\n // @ts-ignore\n this.breakoutRequest = new BreakoutRequest({webex: this.webex});\n this.breakoutRosterLocus = null;\n },\n\n /**\n * Joins the breakout session\n * @returns {Promise}\n */\n async join() {\n const breakoutMoveId = uuid.v4();\n const deviceUrl = this.webex.internal.device.url;\n const {meetingId} = this.collection.parent;\n const meeting = this.webex.meetings.getMeetingByType(_ID_, meetingId);\n breakoutEvent.onBreakoutMoveRequest(\n {currentSession: this, meeting, breakoutMoveId},\n // @ts-ignore\n this.webex.internal.newMetrics.submitClientEvent.bind(this.webex.internal.newMetrics)\n );\n const result = await this.request({\n method: HTTP_VERBS.POST,\n uri: `${this.url}/move`,\n body: {\n breakoutMoveId,\n deviceUrl,\n groupId: this.groupId,\n sessionId: this.sessionId,\n },\n });\n breakoutEvent.onBreakoutMoveResponse(\n {currentSession: this, meeting, breakoutMoveId},\n // @ts-ignore\n this.webex.internal.newMetrics.submitClientEvent.bind(this.webex.internal.newMetrics)\n );\n\n return result;\n },\n\n /**\n * Leaves the breakout session to return to the main session\n * @returns {Promise}\n * @throws {Error} if an attempt is made to leave the main session or if the main session cannot be found\n */\n leave() {\n if (this.isMain) {\n throw new Error('Cannot leave the main session');\n }\n\n const mainSession = this.parent.breakouts.filter((breakout) => breakout.isMain)[0];\n\n if (!mainSession) {\n throw new Error('Cannot leave, no main session found');\n }\n\n return mainSession.join();\n },\n\n /**\n * Sends a help request for the current breakout\n * @returns {Promise}\n */\n askForHelp() {\n return this.request({\n method: HTTP_VERBS.POST,\n uri: `${this.url}/help`,\n body: {\n groupId: this.groupId,\n sessionId: this.sessionId,\n },\n });\n },\n\n /**\n * inits the members object\n * @returns {void}\n */\n initMembers() {\n const {meetingId} = this.collection.parent;\n const meeting = this.webex.meetings.getMeetingByType(_ID_, meetingId);\n this.members = new Members(\n {\n meeting,\n },\n {parent: this.webex}\n );\n },\n\n /**\n * check sequence and determine whether to update the new roster or not\n * @param {Object} locus Locus object\n * @returns {Boolean}\n */\n isNeedHandleRoster(locus: any) {\n if (!this.breakoutRosterLocus?.sequence?.entries?.length || !locus?.sequence?.entries?.length) {\n return true;\n }\n const prevSequence = this.breakoutRosterLocus.sequence.entries[0];\n const currentSequence = locus.sequence.entries[0];\n\n return currentSequence > prevSequence;\n },\n /**\n * Parses the participants from the locus object\n * @param {Object} locus Locus object\n * @returns {void}\n */\n parseRoster(locus) {\n if (!this.members) {\n this.initMembers();\n }\n if (!this.isNeedHandleRoster(locus)) {\n return;\n }\n this.breakoutRosterLocus = locus;\n this.members.locusParticipantsUpdate(locus);\n },\n\n /**\n * Broadcast message to this breakout session's participants\n * @param {String} message\n * @param {Object} options\n * @returns {Promise}\n */\n broadcast(message, options) {\n return this.breakoutRequest.broadcast({\n url: this.url,\n message,\n options,\n groupId: this.groupId,\n sessionId: this.sessionId,\n });\n },\n});\n\nexport default Breakout;\n"],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
4
+ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
5
+ var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
6
+ _Object$defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
9
+ exports.default = void 0;
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
11
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
12
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/assertThisInitialized"));
13
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
14
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
15
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
16
+ var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/wrapNativeSuper"));
17
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
18
+ var _constants = require("../constants");
19
+ 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); }; }
20
+ 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; } }
21
+ /**
22
+ * Extended Error object to signify breakout related errors
23
+ */
24
+ var BreakoutEditLockedError = /*#__PURE__*/function (_Error) {
25
+ (0, _inherits2.default)(BreakoutEditLockedError, _Error);
26
+ var _super = _createSuper(BreakoutEditLockedError);
27
+ /**
28
+ *
29
+ * @constructor
30
+ * @param {String} [message]
31
+ * @param {Object} [error]
32
+ */
33
+ function BreakoutEditLockedError() {
34
+ var _this;
35
+ var message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _constants.ERROR_DICTIONARY.BREAKOUT_EDIT.MESSAGE;
36
+ var error = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
37
+ (0, _classCallCheck2.default)(this, BreakoutEditLockedError);
38
+ _this = _super.call(this, message);
39
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "code", void 0);
40
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "error", void 0);
41
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "sdkMessage", void 0);
42
+ _this.name = _constants.ERROR_DICTIONARY.BREAKOUT_EDIT.NAME;
43
+ _this.sdkMessage = _constants.ERROR_DICTIONARY.BREAKOUT_EDIT.MESSAGE;
44
+ _this.error = error;
45
+ _this.stack = error ? error.stack : new Error().stack;
46
+ _this.code = _constants.ERROR_DICTIONARY.BREAKOUT_EDIT.CODE;
47
+ return _this;
48
+ }
49
+ return (0, _createClass2.default)(BreakoutEditLockedError);
50
+ }( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Error));
51
+ exports.default = BreakoutEditLockedError;
52
+ //# sourceMappingURL=edit-lock-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["BreakoutEditLockedError","message","ERROR_DICTIONARY","BREAKOUT_EDIT","MESSAGE","error","name","NAME","sdkMessage","stack","Error","code","CODE"],"sources":["edit-lock-error.ts"],"sourcesContent":["import {ERROR_DICTIONARY} from '../constants';\n\n/**\n * Extended Error object to signify breakout related errors\n */\nexport default class BreakoutEditLockedError extends Error {\n code: any;\n error: any;\n sdkMessage: any;\n\n /**\n *\n * @constructor\n * @param {String} [message]\n * @param {Object} [error]\n */\n constructor(message: string = ERROR_DICTIONARY.BREAKOUT_EDIT.MESSAGE, error: any = null) {\n super(message);\n this.name = ERROR_DICTIONARY.BREAKOUT_EDIT.NAME;\n this.sdkMessage = ERROR_DICTIONARY.BREAKOUT_EDIT.MESSAGE;\n this.error = error;\n this.stack = error ? error.stack : new Error().stack;\n this.code = ERROR_DICTIONARY.BREAKOUT_EDIT.CODE;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAA8C;AAAA;AAE9C;AACA;AACA;AAFA,IAGqBA,uBAAuB;EAAA;EAAA;EAK1C;AACF;AACA;AACA;AACA;AACA;EACE,mCAAyF;IAAA;IAAA,IAA7EC,OAAe,uEAAGC,2BAAgB,CAACC,aAAa,CAACC,OAAO;IAAA,IAAEC,KAAU,uEAAG,IAAI;IAAA;IACrF,0BAAMJ,OAAO;IAAE;IAAA;IAAA;IACf,MAAKK,IAAI,GAAGJ,2BAAgB,CAACC,aAAa,CAACI,IAAI;IAC/C,MAAKC,UAAU,GAAGN,2BAAgB,CAACC,aAAa,CAACC,OAAO;IACxD,MAAKC,KAAK,GAAGA,KAAK;IAClB,MAAKI,KAAK,GAAGJ,KAAK,GAAGA,KAAK,CAACI,KAAK,GAAG,IAAIC,KAAK,EAAE,CAACD,KAAK;IACpD,MAAKE,IAAI,GAAGT,2BAAgB,CAACC,aAAa,CAACS,IAAI;IAAC;EAClD;EAAC;AAAA,+CAlBkDF,KAAK;AAAA"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
+ _Object$defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ // eslint-disable-next-line import/prefer-default-export
9
+
10
+ var breakoutEvent = {
11
+ onBreakoutMoveRequest: function onBreakoutMoveRequest(eventInfo, submitClientEvent) {
12
+ breakoutEvent.postMoveCallAnalyzer('client.breakout-session.move.request', eventInfo, submitClientEvent);
13
+ },
14
+ onBreakoutMoveResponse: function onBreakoutMoveResponse(eventInfo, submitClientEvent) {
15
+ breakoutEvent.postMoveCallAnalyzer('client.breakout-session.move.response', eventInfo, submitClientEvent);
16
+ },
17
+ onBreakoutJoinResponse: function onBreakoutJoinResponse(eventInfo, submitClientEvent) {
18
+ breakoutEvent.postMoveCallAnalyzer('client.breakout-session.join.response', eventInfo, submitClientEvent);
19
+ },
20
+ postMoveCallAnalyzer: function postMoveCallAnalyzer(event, eventInfo, submitClientEvent) {
21
+ var _eventInfo$meeting$me, _eventInfo$currentSes, _eventInfo$currentSes2;
22
+ if (!(eventInfo !== null && eventInfo !== void 0 && eventInfo.breakoutMoveId) || !(eventInfo !== null && eventInfo !== void 0 && eventInfo.meeting)) {
23
+ return;
24
+ }
25
+ if (!((_eventInfo$meeting$me = eventInfo.meeting.meetingInfo) !== null && _eventInfo$meeting$me !== void 0 && _eventInfo$meeting$me.enableConvergedArchitecture)) {
26
+ return;
27
+ }
28
+ submitClientEvent({
29
+ name: event,
30
+ payload: {
31
+ identifiers: {
32
+ breakoutMoveId: eventInfo.breakoutMoveId,
33
+ breakoutSessionId: eventInfo === null || eventInfo === void 0 ? void 0 : (_eventInfo$currentSes = eventInfo.currentSession) === null || _eventInfo$currentSes === void 0 ? void 0 : _eventInfo$currentSes.sessionId,
34
+ breakoutGroupId: eventInfo === null || eventInfo === void 0 ? void 0 : (_eventInfo$currentSes2 = eventInfo.currentSession) === null || _eventInfo$currentSes2 === void 0 ? void 0 : _eventInfo$currentSes2.groupId
35
+ }
36
+ },
37
+ options: {
38
+ meetingId: eventInfo.meeting.id
39
+ }
40
+ });
41
+ }
42
+ };
43
+ var _default = breakoutEvent;
44
+ exports.default = _default;
45
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["breakoutEvent","onBreakoutMoveRequest","eventInfo","submitClientEvent","postMoveCallAnalyzer","onBreakoutMoveResponse","onBreakoutJoinResponse","event","breakoutMoveId","meeting","meetingInfo","enableConvergedArchitecture","name","payload","identifiers","breakoutSessionId","currentSession","sessionId","breakoutGroupId","groupId","options","meetingId","id"],"sources":["events.ts"],"sourcesContent":["// eslint-disable-next-line import/prefer-default-export\nimport {ClientEvent} from '@webex/internal-plugin-metrics';\n\nconst breakoutEvent: {\n onBreakoutMoveRequest: (eventInfo: any, submitClientEvent: any) => void;\n onBreakoutMoveResponse: (eventInfo: any, submitClientEvent: any) => void;\n onBreakoutJoinResponse: (eventInfo: any, submitClientEvent: any) => void;\n postMoveCallAnalyzer: (\n event: ClientEvent['name'],\n eventInfo: any,\n submitClientEvent: any\n ) => void;\n} = {\n onBreakoutMoveRequest: (eventInfo, submitClientEvent) => {\n breakoutEvent.postMoveCallAnalyzer(\n 'client.breakout-session.move.request',\n eventInfo,\n submitClientEvent\n );\n },\n onBreakoutMoveResponse: (eventInfo, submitClientEvent) => {\n breakoutEvent.postMoveCallAnalyzer(\n 'client.breakout-session.move.response',\n eventInfo,\n submitClientEvent\n );\n },\n onBreakoutJoinResponse: (eventInfo, submitClientEvent) => {\n breakoutEvent.postMoveCallAnalyzer(\n 'client.breakout-session.join.response',\n eventInfo,\n submitClientEvent\n );\n },\n postMoveCallAnalyzer: (event: ClientEvent['name'], eventInfo: any, submitClientEvent) => {\n if (!eventInfo?.breakoutMoveId || !eventInfo?.meeting) {\n return;\n }\n if (!eventInfo.meeting.meetingInfo?.enableConvergedArchitecture) {\n return;\n }\n submitClientEvent({\n name: event,\n payload: {\n identifiers: {\n breakoutMoveId: eventInfo.breakoutMoveId,\n breakoutSessionId: eventInfo?.currentSession?.sessionId,\n breakoutGroupId: eventInfo?.currentSession?.groupId,\n },\n },\n options: {meetingId: eventInfo.meeting.id},\n });\n },\n};\n\nexport default breakoutEvent;\n"],"mappings":";;;;;;;AAAA;;AAGA,IAAMA,aASL,GAAG;EACFC,qBAAqB,EAAE,+BAACC,SAAS,EAAEC,iBAAiB,EAAK;IACvDH,aAAa,CAACI,oBAAoB,CAChC,sCAAsC,EACtCF,SAAS,EACTC,iBAAiB,CAClB;EACH,CAAC;EACDE,sBAAsB,EAAE,gCAACH,SAAS,EAAEC,iBAAiB,EAAK;IACxDH,aAAa,CAACI,oBAAoB,CAChC,uCAAuC,EACvCF,SAAS,EACTC,iBAAiB,CAClB;EACH,CAAC;EACDG,sBAAsB,EAAE,gCAACJ,SAAS,EAAEC,iBAAiB,EAAK;IACxDH,aAAa,CAACI,oBAAoB,CAChC,uCAAuC,EACvCF,SAAS,EACTC,iBAAiB,CAClB;EACH,CAAC;EACDC,oBAAoB,EAAE,8BAACG,KAA0B,EAAEL,SAAc,EAAEC,iBAAiB,EAAK;IAAA;IACvF,IAAI,EAACD,SAAS,aAATA,SAAS,eAATA,SAAS,CAAEM,cAAc,KAAI,EAACN,SAAS,aAATA,SAAS,eAATA,SAAS,CAAEO,OAAO,GAAE;MACrD;IACF;IACA,IAAI,2BAACP,SAAS,CAACO,OAAO,CAACC,WAAW,kDAA7B,sBAA+BC,2BAA2B,GAAE;MAC/D;IACF;IACAR,iBAAiB,CAAC;MAChBS,IAAI,EAAEL,KAAK;MACXM,OAAO,EAAE;QACPC,WAAW,EAAE;UACXN,cAAc,EAAEN,SAAS,CAACM,cAAc;UACxCO,iBAAiB,EAAEb,SAAS,aAATA,SAAS,gDAATA,SAAS,CAAEc,cAAc,0DAAzB,sBAA2BC,SAAS;UACvDC,eAAe,EAAEhB,SAAS,aAATA,SAAS,iDAATA,SAAS,CAAEc,cAAc,2DAAzB,uBAA2BG;QAC9C;MACF,CAAC;MACDC,OAAO,EAAE;QAACC,SAAS,EAAEnB,SAAS,CAACO,OAAO,CAACa;MAAE;IAC3C,CAAC,CAAC;EACJ;AACF,CAAC;AAAC,eAEatB,aAAa;AAAA"}