@webex/plugin-meetings 3.0.0-beta.15 → 3.0.0-beta.151

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 (480) hide show
  1. package/README.md +45 -1
  2. package/dist/annotation/annotation.types.js +7 -0
  3. package/dist/annotation/annotation.types.js.map +1 -0
  4. package/dist/annotation/constants.js +49 -0
  5. package/dist/annotation/constants.js.map +1 -0
  6. package/dist/annotation/index.js +359 -0
  7. package/dist/annotation/index.js.map +1 -0
  8. package/dist/breakouts/breakout.js +193 -0
  9. package/dist/breakouts/breakout.js.map +1 -0
  10. package/dist/breakouts/collection.js +23 -0
  11. package/dist/breakouts/collection.js.map +1 -0
  12. package/dist/breakouts/edit-lock-error.js +52 -0
  13. package/dist/breakouts/edit-lock-error.js.map +1 -0
  14. package/dist/breakouts/events.js +43 -0
  15. package/dist/breakouts/events.js.map +1 -0
  16. package/dist/breakouts/index.js +1046 -0
  17. package/dist/breakouts/index.js.map +1 -0
  18. package/dist/breakouts/request.js +78 -0
  19. package/dist/breakouts/request.js.map +1 -0
  20. package/dist/breakouts/utils.js +67 -0
  21. package/dist/breakouts/utils.js.map +1 -0
  22. package/dist/common/browser-detection.js +1 -21
  23. package/dist/common/browser-detection.js.map +1 -1
  24. package/dist/common/collection.js +5 -20
  25. package/dist/common/collection.js.map +1 -1
  26. package/dist/common/config.js +0 -7
  27. package/dist/common/config.js.map +1 -1
  28. package/dist/common/errors/captcha-error.js +0 -21
  29. package/dist/common/errors/captcha-error.js.map +1 -1
  30. package/dist/common/errors/intent-to-join.js +0 -21
  31. package/dist/common/errors/intent-to-join.js.map +1 -1
  32. package/dist/common/errors/join-meeting.js +0 -21
  33. package/dist/common/errors/join-meeting.js.map +1 -1
  34. package/dist/common/errors/media.js +0 -21
  35. package/dist/common/errors/media.js.map +1 -1
  36. package/dist/common/errors/parameter.js +0 -28
  37. package/dist/common/errors/parameter.js.map +1 -1
  38. package/dist/common/errors/password-error.js +0 -21
  39. package/dist/common/errors/password-error.js.map +1 -1
  40. package/dist/common/errors/permission.js +0 -21
  41. package/dist/common/errors/permission.js.map +1 -1
  42. package/dist/common/errors/reconnection-in-progress.js +0 -17
  43. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  44. package/dist/common/errors/reconnection.js +0 -21
  45. package/dist/common/errors/reconnection.js.map +1 -1
  46. package/dist/common/errors/stats.js +0 -21
  47. package/dist/common/errors/stats.js.map +1 -1
  48. package/dist/common/errors/webex-errors.js +9 -43
  49. package/dist/common/errors/webex-errors.js.map +1 -1
  50. package/dist/common/errors/webex-meetings-error.js +1 -24
  51. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  52. package/dist/common/events/events-scope.js +0 -22
  53. package/dist/common/events/events-scope.js.map +1 -1
  54. package/dist/common/events/events.js +0 -23
  55. package/dist/common/events/events.js.map +1 -1
  56. package/dist/common/events/trigger-proxy.js +0 -12
  57. package/dist/common/events/trigger-proxy.js.map +1 -1
  58. package/dist/common/events/util.js +0 -15
  59. package/dist/common/events/util.js.map +1 -1
  60. package/dist/common/logs/logger-config.js +0 -4
  61. package/dist/common/logs/logger-config.js.map +1 -1
  62. package/dist/common/logs/logger-proxy.js +1 -8
  63. package/dist/common/logs/logger-proxy.js.map +1 -1
  64. package/dist/common/logs/request.js +35 -61
  65. package/dist/common/logs/request.js.map +1 -1
  66. package/dist/common/queue.js +4 -14
  67. package/dist/common/queue.js.map +1 -1
  68. package/dist/config.js +7 -13
  69. package/dist/config.js.map +1 -1
  70. package/dist/constants.js +208 -64
  71. package/dist/constants.js.map +1 -1
  72. package/dist/controls-options-manager/constants.js +14 -0
  73. package/dist/controls-options-manager/constants.js.map +1 -0
  74. package/dist/controls-options-manager/enums.js +27 -0
  75. package/dist/controls-options-manager/enums.js.map +1 -0
  76. package/dist/controls-options-manager/index.js +297 -0
  77. package/dist/controls-options-manager/index.js.map +1 -0
  78. package/dist/controls-options-manager/types.js +7 -0
  79. package/dist/controls-options-manager/types.js.map +1 -0
  80. package/dist/controls-options-manager/util.js +300 -0
  81. package/dist/controls-options-manager/util.js.map +1 -0
  82. package/dist/index.js +78 -17
  83. package/dist/index.js.map +1 -1
  84. package/dist/locus-info/controlsUtils.js +100 -29
  85. package/dist/locus-info/controlsUtils.js.map +1 -1
  86. package/dist/locus-info/embeddedAppsUtils.js +3 -26
  87. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  88. package/dist/locus-info/fullState.js +0 -15
  89. package/dist/locus-info/fullState.js.map +1 -1
  90. package/dist/locus-info/hostUtils.js +4 -12
  91. package/dist/locus-info/hostUtils.js.map +1 -1
  92. package/dist/locus-info/index.js +387 -208
  93. package/dist/locus-info/index.js.map +1 -1
  94. package/dist/locus-info/infoUtils.js +0 -38
  95. package/dist/locus-info/infoUtils.js.map +1 -1
  96. package/dist/locus-info/mediaSharesUtils.js +54 -38
  97. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  98. package/dist/locus-info/parser.js +90 -126
  99. package/dist/locus-info/parser.js.map +1 -1
  100. package/dist/locus-info/selfUtils.js +93 -92
  101. package/dist/locus-info/selfUtils.js.map +1 -1
  102. package/dist/media/index.js +70 -219
  103. package/dist/media/index.js.map +1 -1
  104. package/dist/media/properties.js +74 -198
  105. package/dist/media/properties.js.map +1 -1
  106. package/dist/media/util.js +1 -8
  107. package/dist/media/util.js.map +1 -1
  108. package/dist/mediaQualityMetrics/config.js +505 -495
  109. package/dist/mediaQualityMetrics/config.js.map +1 -1
  110. package/dist/meeting/in-meeting-actions.js +79 -14
  111. package/dist/meeting/in-meeting-actions.js.map +1 -1
  112. package/dist/meeting/index.js +2685 -3324
  113. package/dist/meeting/index.js.map +1 -1
  114. package/dist/meeting/locusMediaRequest.js +291 -0
  115. package/dist/meeting/locusMediaRequest.js.map +1 -0
  116. package/dist/meeting/muteState.js +243 -185
  117. package/dist/meeting/muteState.js.map +1 -1
  118. package/dist/meeting/request.js +296 -342
  119. package/dist/meeting/request.js.map +1 -1
  120. package/dist/meeting/request.type.js +0 -1
  121. package/dist/meeting/request.type.js.map +1 -1
  122. package/dist/meeting/state.js +16 -26
  123. package/dist/meeting/state.js.map +1 -1
  124. package/dist/meeting/util.js +446 -585
  125. package/dist/meeting/util.js.map +1 -1
  126. package/dist/meeting-info/collection.js +3 -25
  127. package/dist/meeting-info/collection.js.map +1 -1
  128. package/dist/meeting-info/index.js +8 -31
  129. package/dist/meeting-info/index.js.map +1 -1
  130. package/dist/meeting-info/meeting-info-v2.js +261 -242
  131. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  132. package/dist/meeting-info/request.js +1 -16
  133. package/dist/meeting-info/request.js.map +1 -1
  134. package/dist/meeting-info/util.js +98 -183
  135. package/dist/meeting-info/util.js.map +1 -1
  136. package/dist/meeting-info/utilv2.js +156 -232
  137. package/dist/meeting-info/utilv2.js.map +1 -1
  138. package/dist/meetings/collection.js +24 -20
  139. package/dist/meetings/collection.js.map +1 -1
  140. package/dist/meetings/index.js +526 -372
  141. package/dist/meetings/index.js.map +1 -1
  142. package/dist/meetings/meetings.types.js +7 -0
  143. package/dist/meetings/meetings.types.js.map +1 -0
  144. package/dist/meetings/request.js +21 -40
  145. package/dist/meetings/request.js.map +1 -1
  146. package/dist/meetings/util.js +172 -141
  147. package/dist/meetings/util.js.map +1 -1
  148. package/dist/member/index.js +58 -57
  149. package/dist/member/index.js.map +1 -1
  150. package/dist/member/types.js +15 -0
  151. package/dist/member/types.js.map +1 -0
  152. package/dist/member/util.js +101 -69
  153. package/dist/member/util.js.map +1 -1
  154. package/dist/members/collection.js +12 -12
  155. package/dist/members/collection.js.map +1 -1
  156. package/dist/members/index.js +123 -162
  157. package/dist/members/index.js.map +1 -1
  158. package/dist/members/request.js +120 -85
  159. package/dist/members/request.js.map +1 -1
  160. package/dist/members/types.js +15 -0
  161. package/dist/members/types.js.map +1 -0
  162. package/dist/members/util.js +314 -260
  163. package/dist/members/util.js.map +1 -1
  164. package/dist/metrics/config.js +50 -16
  165. package/dist/metrics/config.js.map +1 -1
  166. package/dist/metrics/constants.js +4 -7
  167. package/dist/metrics/constants.js.map +1 -1
  168. package/dist/metrics/index.js +75 -147
  169. package/dist/metrics/index.js.map +1 -1
  170. package/dist/multistream/mediaRequestManager.js +170 -50
  171. package/dist/multistream/mediaRequestManager.js.map +1 -1
  172. package/dist/multistream/receiveSlot.js +58 -65
  173. package/dist/multistream/receiveSlot.js.map +1 -1
  174. package/dist/multistream/receiveSlotManager.js +73 -94
  175. package/dist/multistream/receiveSlotManager.js.map +1 -1
  176. package/dist/multistream/remoteMedia.js +55 -74
  177. package/dist/multistream/remoteMedia.js.map +1 -1
  178. package/dist/multistream/remoteMediaGroup.js +66 -43
  179. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  180. package/dist/multistream/remoteMediaManager.js +502 -442
  181. package/dist/multistream/remoteMediaManager.js.map +1 -1
  182. package/dist/networkQualityMonitor/index.js +24 -51
  183. package/dist/networkQualityMonitor/index.js.map +1 -1
  184. package/dist/personal-meeting-room/index.js +3 -38
  185. package/dist/personal-meeting-room/index.js.map +1 -1
  186. package/dist/personal-meeting-room/request.js +2 -33
  187. package/dist/personal-meeting-room/request.js.map +1 -1
  188. package/dist/personal-meeting-room/util.js +0 -13
  189. package/dist/personal-meeting-room/util.js.map +1 -1
  190. package/dist/reachability/index.js +190 -199
  191. package/dist/reachability/index.js.map +1 -1
  192. package/dist/reachability/request.js +14 -23
  193. package/dist/reachability/request.js.map +1 -1
  194. package/dist/reactions/constants.js +13 -0
  195. package/dist/reactions/constants.js.map +1 -0
  196. package/dist/reactions/reactions.js +2 -4
  197. package/dist/reactions/reactions.js.map +1 -1
  198. package/dist/reactions/reactions.type.js +18 -24
  199. package/dist/reactions/reactions.type.js.map +1 -1
  200. package/dist/reconnection-manager/index.js +356 -476
  201. package/dist/reconnection-manager/index.js.map +1 -1
  202. package/dist/recording-controller/enums.js +17 -0
  203. package/dist/recording-controller/enums.js.map +1 -0
  204. package/dist/recording-controller/index.js +343 -0
  205. package/dist/recording-controller/index.js.map +1 -0
  206. package/dist/recording-controller/util.js +63 -0
  207. package/dist/recording-controller/util.js.map +1 -0
  208. package/dist/roap/index.js +32 -75
  209. package/dist/roap/index.js.map +1 -1
  210. package/dist/roap/request.js +129 -136
  211. package/dist/roap/request.js.map +1 -1
  212. package/dist/roap/turnDiscovery.js +143 -103
  213. package/dist/roap/turnDiscovery.js.map +1 -1
  214. package/dist/statsAnalyzer/global.js +1 -95
  215. package/dist/statsAnalyzer/global.js.map +1 -1
  216. package/dist/statsAnalyzer/index.js +369 -462
  217. package/dist/statsAnalyzer/index.js.map +1 -1
  218. package/dist/statsAnalyzer/mqaUtil.js +144 -94
  219. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  220. package/dist/transcription/index.js +9 -44
  221. package/dist/transcription/index.js.map +1 -1
  222. package/dist/types/annotation/annotation.types.d.ts +43 -0
  223. package/dist/types/annotation/constants.d.ts +31 -0
  224. package/dist/types/annotation/index.d.ts +124 -0
  225. package/dist/types/breakouts/breakout.d.ts +8 -0
  226. package/dist/types/breakouts/collection.d.ts +5 -0
  227. package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
  228. package/dist/types/breakouts/events.d.ts +2 -0
  229. package/dist/types/breakouts/index.d.ts +5 -0
  230. package/dist/types/breakouts/request.d.ts +22 -0
  231. package/dist/types/breakouts/utils.d.ts +15 -0
  232. package/dist/types/common/browser-detection.d.ts +9 -0
  233. package/dist/types/common/collection.d.ts +48 -0
  234. package/dist/types/common/config.d.ts +2 -0
  235. package/dist/types/common/errors/captcha-error.d.ts +15 -0
  236. package/dist/types/common/errors/intent-to-join.d.ts +16 -0
  237. package/dist/types/common/errors/join-meeting.d.ts +17 -0
  238. package/dist/types/common/errors/media.d.ts +15 -0
  239. package/dist/types/common/errors/parameter.d.ts +15 -0
  240. package/dist/types/common/errors/password-error.d.ts +15 -0
  241. package/dist/types/common/errors/permission.d.ts +14 -0
  242. package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
  243. package/dist/types/common/errors/reconnection.d.ts +15 -0
  244. package/dist/types/common/errors/stats.d.ts +15 -0
  245. package/dist/types/common/errors/webex-errors.d.ts +69 -0
  246. package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
  247. package/dist/types/common/events/events-scope.d.ts +17 -0
  248. package/dist/types/common/events/events.d.ts +12 -0
  249. package/dist/types/common/events/trigger-proxy.d.ts +2 -0
  250. package/dist/types/common/events/util.d.ts +2 -0
  251. package/dist/types/common/logs/logger-config.d.ts +2 -0
  252. package/dist/types/common/logs/logger-proxy.d.ts +2 -0
  253. package/dist/types/common/logs/request.d.ts +34 -0
  254. package/dist/types/common/queue.d.ts +32 -0
  255. package/dist/types/config.d.ts +72 -0
  256. package/dist/types/constants.d.ts +978 -0
  257. package/dist/types/controls-options-manager/constants.d.ts +4 -0
  258. package/dist/types/controls-options-manager/enums.d.ts +15 -0
  259. package/dist/types/controls-options-manager/index.d.ts +136 -0
  260. package/dist/types/controls-options-manager/types.d.ts +43 -0
  261. package/dist/types/controls-options-manager/util.d.ts +1 -0
  262. package/dist/types/index.d.ts +7 -0
  263. package/dist/types/locus-info/controlsUtils.d.ts +2 -0
  264. package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
  265. package/dist/types/locus-info/fullState.d.ts +2 -0
  266. package/dist/types/locus-info/hostUtils.d.ts +2 -0
  267. package/dist/types/locus-info/index.d.ts +315 -0
  268. package/dist/types/locus-info/infoUtils.d.ts +2 -0
  269. package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
  270. package/dist/types/locus-info/parser.d.ts +212 -0
  271. package/dist/types/locus-info/selfUtils.d.ts +2 -0
  272. package/dist/types/media/index.d.ts +34 -0
  273. package/dist/types/media/properties.d.ts +86 -0
  274. package/dist/types/media/util.d.ts +2 -0
  275. package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
  276. package/dist/types/meeting/in-meeting-actions.d.ts +149 -0
  277. package/dist/types/meeting/index.d.ts +1509 -0
  278. package/dist/types/meeting/locusMediaRequest.d.ts +70 -0
  279. package/dist/types/meeting/muteState.d.ts +184 -0
  280. package/dist/types/meeting/request.d.ts +270 -0
  281. package/dist/types/meeting/request.type.d.ts +11 -0
  282. package/dist/types/meeting/state.d.ts +9 -0
  283. package/dist/types/meeting/util.d.ts +75 -0
  284. package/dist/types/meeting-info/collection.d.ts +20 -0
  285. package/dist/types/meeting-info/index.d.ts +57 -0
  286. package/dist/types/meeting-info/meeting-info-v2.d.ts +122 -0
  287. package/dist/types/meeting-info/request.d.ts +22 -0
  288. package/dist/types/meeting-info/util.d.ts +2 -0
  289. package/dist/types/meeting-info/utilv2.d.ts +2 -0
  290. package/dist/types/meetings/collection.d.ts +31 -0
  291. package/dist/types/meetings/index.d.ts +364 -0
  292. package/dist/types/meetings/meetings.types.d.ts +4 -0
  293. package/dist/types/meetings/request.d.ts +27 -0
  294. package/dist/types/meetings/util.d.ts +18 -0
  295. package/dist/types/member/index.d.ts +157 -0
  296. package/dist/types/member/types.d.ts +21 -0
  297. package/dist/types/member/util.d.ts +2 -0
  298. package/dist/types/members/collection.d.ts +29 -0
  299. package/dist/types/members/index.d.ts +353 -0
  300. package/dist/types/members/request.d.ts +114 -0
  301. package/dist/types/members/types.d.ts +24 -0
  302. package/dist/types/members/util.d.ts +210 -0
  303. package/dist/types/metrics/config.d.ts +195 -0
  304. package/dist/types/metrics/constants.d.ts +55 -0
  305. package/dist/types/metrics/index.d.ts +169 -0
  306. package/dist/types/multistream/mediaRequestManager.d.ts +104 -0
  307. package/dist/types/multistream/receiveSlot.d.ts +68 -0
  308. package/dist/types/multistream/receiveSlotManager.d.ts +56 -0
  309. package/dist/types/multistream/remoteMedia.d.ts +72 -0
  310. package/dist/types/multistream/remoteMediaGroup.d.ts +47 -0
  311. package/dist/types/multistream/remoteMediaManager.d.ts +277 -0
  312. package/dist/types/networkQualityMonitor/index.d.ts +70 -0
  313. package/dist/types/personal-meeting-room/index.d.ts +47 -0
  314. package/dist/types/personal-meeting-room/request.d.ts +14 -0
  315. package/dist/types/personal-meeting-room/util.d.ts +2 -0
  316. package/dist/types/reachability/index.d.ts +152 -0
  317. package/dist/types/reachability/request.d.ts +37 -0
  318. package/dist/types/reactions/constants.d.ts +3 -0
  319. package/dist/types/reactions/reactions.d.ts +4 -0
  320. package/dist/types/reactions/reactions.type.d.ts +52 -0
  321. package/dist/types/reconnection-manager/index.d.ts +126 -0
  322. package/dist/types/recording-controller/enums.d.ts +7 -0
  323. package/dist/types/recording-controller/index.d.ts +193 -0
  324. package/dist/types/recording-controller/util.d.ts +13 -0
  325. package/dist/types/roap/index.d.ts +77 -0
  326. package/dist/types/roap/request.d.ts +36 -0
  327. package/dist/types/roap/turnDiscovery.d.ts +91 -0
  328. package/dist/types/statsAnalyzer/global.d.ts +36 -0
  329. package/dist/types/statsAnalyzer/index.d.ts +200 -0
  330. package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
  331. package/dist/types/transcription/index.d.ts +64 -0
  332. package/package.json +28 -21
  333. package/src/annotation/annotation.types.ts +52 -0
  334. package/src/annotation/constants.ts +36 -0
  335. package/src/annotation/index.ts +343 -0
  336. package/src/breakouts/README.md +220 -0
  337. package/src/breakouts/breakout.ts +163 -0
  338. package/src/breakouts/collection.ts +19 -0
  339. package/src/breakouts/edit-lock-error.ts +25 -0
  340. package/src/breakouts/events.ts +37 -0
  341. package/src/breakouts/index.ts +921 -0
  342. package/src/breakouts/request.ts +55 -0
  343. package/src/breakouts/utils.ts +57 -0
  344. package/src/common/errors/webex-errors.ts +6 -2
  345. package/src/common/logs/logger-proxy.ts +1 -1
  346. package/src/config.ts +5 -7
  347. package/src/constants.ts +155 -20
  348. package/src/controls-options-manager/constants.ts +5 -0
  349. package/src/controls-options-manager/enums.ts +18 -0
  350. package/src/controls-options-manager/index.ts +278 -0
  351. package/src/controls-options-manager/types.ts +59 -0
  352. package/src/controls-options-manager/util.ts +286 -0
  353. package/src/index.ts +34 -0
  354. package/src/locus-info/controlsUtils.ts +108 -0
  355. package/src/locus-info/index.ts +310 -21
  356. package/src/locus-info/mediaSharesUtils.ts +48 -0
  357. package/src/locus-info/parser.ts +2 -1
  358. package/src/locus-info/selfUtils.ts +71 -1
  359. package/src/media/index.ts +70 -142
  360. package/src/media/properties.ts +41 -104
  361. package/src/mediaQualityMetrics/config.ts +379 -377
  362. package/src/meeting/in-meeting-actions.ts +156 -0
  363. package/src/meeting/index.ts +1730 -1768
  364. package/src/meeting/locusMediaRequest.ts +309 -0
  365. package/src/meeting/muteState.ts +228 -132
  366. package/src/meeting/request.ts +100 -91
  367. package/src/meeting/request.type.ts +2 -0
  368. package/src/meeting/util.ts +421 -421
  369. package/src/meeting-info/meeting-info-v2.ts +134 -13
  370. package/src/meeting-info/utilv2.ts +13 -3
  371. package/src/meetings/collection.ts +20 -0
  372. package/src/meetings/index.ts +375 -83
  373. package/src/meetings/meetings.types.ts +9 -0
  374. package/src/meetings/request.ts +3 -1
  375. package/src/meetings/util.ts +103 -4
  376. package/src/member/index.ts +40 -0
  377. package/src/member/types.ts +24 -0
  378. package/src/member/util.ts +81 -1
  379. package/src/members/collection.ts +8 -0
  380. package/src/members/index.ts +108 -6
  381. package/src/members/request.ts +98 -17
  382. package/src/members/types.ts +28 -0
  383. package/src/members/util.ts +319 -240
  384. package/src/metrics/config.ts +49 -10
  385. package/src/metrics/constants.ts +2 -4
  386. package/src/metrics/index.ts +43 -27
  387. package/src/multistream/mediaRequestManager.ts +210 -45
  388. package/src/multistream/receiveSlot.ts +68 -26
  389. package/src/multistream/receiveSlotManager.ts +61 -38
  390. package/src/multistream/remoteMedia.ts +29 -3
  391. package/src/multistream/remoteMediaGroup.ts +61 -2
  392. package/src/multistream/remoteMediaManager.ts +260 -66
  393. package/src/networkQualityMonitor/index.ts +6 -6
  394. package/src/reachability/index.ts +75 -25
  395. package/src/reachability/request.ts +10 -5
  396. package/src/reactions/constants.ts +4 -0
  397. package/src/reactions/reactions.ts +4 -4
  398. package/src/reactions/reactions.type.ts +28 -3
  399. package/src/reconnection-manager/index.ts +53 -32
  400. package/src/recording-controller/enums.ts +8 -0
  401. package/src/recording-controller/index.ts +315 -0
  402. package/src/recording-controller/util.ts +58 -0
  403. package/src/roap/index.ts +21 -30
  404. package/src/roap/request.ts +51 -52
  405. package/src/roap/turnDiscovery.ts +51 -27
  406. package/src/statsAnalyzer/global.ts +1 -94
  407. package/src/statsAnalyzer/index.ts +380 -390
  408. package/src/statsAnalyzer/mqaUtil.ts +106 -99
  409. package/test/integration/spec/converged-space-meetings.js +233 -0
  410. package/test/integration/spec/journey.js +332 -255
  411. package/test/integration/spec/space-meeting.js +78 -5
  412. package/test/integration/spec/transcription.js +1 -1
  413. package/test/unit/spec/annotation/index.ts +436 -0
  414. package/test/unit/spec/breakouts/breakout.ts +203 -0
  415. package/test/unit/spec/breakouts/collection.ts +15 -0
  416. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  417. package/test/unit/spec/breakouts/events.ts +77 -0
  418. package/test/unit/spec/breakouts/index.ts +1790 -0
  419. package/test/unit/spec/breakouts/request.ts +104 -0
  420. package/test/unit/spec/breakouts/utils.js +72 -0
  421. package/test/unit/spec/controls-options-manager/index.js +287 -0
  422. package/test/unit/spec/controls-options-manager/util.js +518 -0
  423. package/test/unit/spec/fixture/locus.js +1 -0
  424. package/test/unit/spec/locus-info/controlsUtils.js +303 -30
  425. package/test/unit/spec/locus-info/index.js +615 -4
  426. package/test/unit/spec/locus-info/mediaSharesUtils.ts +22 -0
  427. package/test/unit/spec/locus-info/selfConstant.js +38 -0
  428. package/test/unit/spec/locus-info/selfUtils.js +200 -0
  429. package/test/unit/spec/media/index.ts +118 -22
  430. package/test/unit/spec/media/properties.ts +9 -9
  431. package/test/unit/spec/meeting/in-meeting-actions.ts +76 -0
  432. package/test/unit/spec/meeting/index.js +2394 -1381
  433. package/test/unit/spec/meeting/locusMediaRequest.ts +436 -0
  434. package/test/unit/spec/meeting/muteState.js +370 -208
  435. package/test/unit/spec/meeting/request.js +354 -42
  436. package/test/unit/spec/meeting/utils.js +268 -156
  437. package/test/unit/spec/meeting-info/meetinginfov2.js +383 -5
  438. package/test/unit/spec/meeting-info/utilv2.js +21 -0
  439. package/test/unit/spec/meetings/collection.js +14 -0
  440. package/test/unit/spec/meetings/index.js +842 -128
  441. package/test/unit/spec/meetings/utils.js +206 -2
  442. package/test/unit/spec/member/index.js +24 -0
  443. package/test/unit/spec/member/util.js +384 -32
  444. package/test/unit/spec/members/index.js +320 -1
  445. package/test/unit/spec/members/request.js +206 -27
  446. package/test/unit/spec/members/utils.js +184 -0
  447. package/test/unit/spec/metrics/index.js +98 -0
  448. package/test/unit/spec/multistream/mediaRequestManager.ts +676 -105
  449. package/test/unit/spec/multistream/receiveSlot.ts +77 -18
  450. package/test/unit/spec/multistream/receiveSlotManager.ts +69 -39
  451. package/test/unit/spec/multistream/remoteMedia.ts +32 -2
  452. package/test/unit/spec/multistream/remoteMediaGroup.ts +271 -5
  453. package/test/unit/spec/multistream/remoteMediaManager.ts +672 -65
  454. package/test/unit/spec/networkQualityMonitor/index.js +4 -4
  455. package/test/unit/spec/reachability/index.ts +176 -25
  456. package/test/unit/spec/reachability/request.js +66 -0
  457. package/test/unit/spec/reconnection-manager/index.js +46 -13
  458. package/test/unit/spec/recording-controller/index.js +231 -0
  459. package/test/unit/spec/recording-controller/util.js +102 -0
  460. package/test/unit/spec/roap/index.ts +21 -51
  461. package/test/unit/spec/roap/request.ts +187 -0
  462. package/test/unit/spec/roap/turnDiscovery.ts +73 -34
  463. package/test/unit/spec/stats-analyzer/index.js +94 -43
  464. package/test/utils/constants.js +9 -0
  465. package/test/utils/integrationTestUtils.js +46 -0
  466. package/test/utils/testUtils.js +0 -45
  467. package/test/utils/webex-config.js +4 -0
  468. package/test/utils/webex-test-users.js +7 -3
  469. package/tsconfig.json +6 -0
  470. package/dist/media/internal-media-core-wrapper.js +0 -22
  471. package/dist/media/internal-media-core-wrapper.js.map +0 -1
  472. package/dist/meeting/effectsState.js +0 -334
  473. package/dist/meeting/effectsState.js.map +0 -1
  474. package/dist/multistream/multistreamMedia.js +0 -117
  475. package/dist/multistream/multistreamMedia.js.map +0 -1
  476. package/src/index.js +0 -15
  477. package/src/media/internal-media-core-wrapper.ts +0 -9
  478. package/src/meeting/effectsState.ts +0 -211
  479. package/src/multistream/multistreamMedia.ts +0 -93
  480. package/test/unit/spec/meeting/effectsState.js +0 -281
@@ -9,6 +9,7 @@ import LoggerProxy from '../common/logs/logger-proxy';
9
9
  import {
10
10
  ALERT,
11
11
  ALTERNATE_REDIRECT_TRUE,
12
+ BREAKOUTS,
12
13
  CALL,
13
14
  CONTROLS,
14
15
  DECLINE,
@@ -18,30 +19,70 @@ import {
18
19
  LEAVE,
19
20
  LOCI,
20
21
  LOCUS,
21
- MEDIA,
22
22
  PARTICIPANT,
23
23
  PROVISIONAL_TYPE_DIAL_IN,
24
24
  PROVISIONAL_TYPE_DIAL_OUT,
25
+ REACHABILITY,
25
26
  SEND_DTMF_ENDPOINT,
26
27
  _SLIDES_,
28
+ ANNOTATION,
27
29
  } from '../constants';
28
- import {Reaction} from '../reactions/reactions.type';
29
30
  import {SendReactionOptions, ToggleReactionsOptions} from './request.type';
31
+ import MeetingUtil from './util';
32
+ import {AnnotationInfo} from '../annotation/annotation.types';
30
33
 
31
34
  /**
32
35
  * @class MeetingRequest
33
36
  */
34
37
  export default class MeetingRequest extends StatelessWebexPlugin {
35
38
  changeVideoLayoutDebounced: any;
39
+ meetingRef: WeakRef<any>;
40
+ locusDeltaRequest: (options: object) => Promise<any>;
36
41
 
42
+ /**
43
+ * Constructor
44
+ * @param {Object} attrs
45
+ * @param {Object} options
46
+ */
37
47
  constructor(attrs: any, options: any) {
38
- super(attrs, options);
48
+ const {meeting, ...otherAttrs} = attrs;
49
+
50
+ super(otherAttrs, options);
51
+
52
+ this.locusDeltaRequest = MeetingUtil.generateLocusDeltaRequest(meeting);
53
+
39
54
  this.changeVideoLayoutDebounced = debounce(this.changeVideoLayout, 2000, {
40
55
  leading: true,
41
56
  trailing: true,
42
57
  });
43
58
  }
44
59
 
60
+ /**
61
+ * Returns joinCookie from boundedStorage if present.
62
+ * @returns {Object} joinCookie
63
+ */
64
+ private getJoinCookie = async () => {
65
+ // @ts-ignore
66
+ const joinCookieRaw = await this.webex.boundedStorage
67
+ .get(REACHABILITY.namespace, REACHABILITY.localStorageJoinCookie)
68
+ .catch(() => {});
69
+
70
+ if (joinCookieRaw) {
71
+ try {
72
+ const joinCookie = JSON.parse(joinCookieRaw);
73
+ if (joinCookie) {
74
+ return joinCookie;
75
+ }
76
+ } catch (e) {
77
+ LoggerProxy.logger.error(
78
+ `MeetingRequest#constructor --> Error in parsing join cookie data: ${e}`
79
+ );
80
+ }
81
+ }
82
+
83
+ return null;
84
+ };
85
+
45
86
  /**
46
87
  * Make a network request to join a meeting
47
88
  * @param {Object} options
@@ -55,6 +96,10 @@ export default class MeetingRequest extends StatelessWebexPlugin {
55
96
  * @param {boolean} options.pin
56
97
  * @param {boolean} options.moveToResource
57
98
  * @param {Object} options.roapMessage
99
+ * @param {boolean} options.breakoutsSupported
100
+ * @param {String} options.locale,
101
+ * @param {Array} options.deviceCapabilities
102
+ * @param {boolean} options.liveAnnotationSupported
58
103
  * @returns {Promise}
59
104
  */
60
105
  async joinMeeting(options: {
@@ -73,6 +118,10 @@ export default class MeetingRequest extends StatelessWebexPlugin {
73
118
  meetingNumber: any;
74
119
  permissionToken: any;
75
120
  preferTranscoding: any;
121
+ breakoutsSupported: boolean;
122
+ locale?: string;
123
+ deviceCapabilities?: Array<string>;
124
+ liveAnnotationSupported: boolean;
76
125
  }) {
77
126
  const {
78
127
  asResourceOccupant,
@@ -89,12 +138,18 @@ export default class MeetingRequest extends StatelessWebexPlugin {
89
138
  moveToResource,
90
139
  roapMessage,
91
140
  preferTranscoding,
141
+ breakoutsSupported,
142
+ locale,
143
+ deviceCapabilities = [],
144
+ liveAnnotationSupported,
92
145
  } = options;
93
146
 
94
147
  LoggerProxy.logger.info('Meeting:request#joinMeeting --> Joining a meeting', correlationId);
95
148
 
96
149
  let url = '';
97
150
 
151
+ const joinCookie = await this.getJoinCookie();
152
+
98
153
  const body: any = {
99
154
  asResourceOccupant,
100
155
  device: {
@@ -111,9 +166,25 @@ export default class MeetingRequest extends StatelessWebexPlugin {
111
166
  supportsNativeLobby: 1,
112
167
  clientMediaPreferences: {
113
168
  preferTranscoding: preferTranscoding ?? true,
169
+ joinCookie,
114
170
  },
115
171
  };
116
172
 
173
+ if (breakoutsSupported) {
174
+ deviceCapabilities.push(BREAKOUTS.BREAKOUTS_SUPPORTED);
175
+ }
176
+ if (liveAnnotationSupported) {
177
+ deviceCapabilities.push(ANNOTATION.ANNOTATION_ON_SHARE_SUPPORTED);
178
+ }
179
+
180
+ if (locale) {
181
+ body.locale = locale;
182
+ }
183
+
184
+ // add deviceCapabilities prop
185
+ if (deviceCapabilities.length) {
186
+ body.deviceCapabilities = deviceCapabilities;
187
+ }
117
188
  // @ts-ignore
118
189
  if (this.webex.meetings.clientRegion) {
119
190
  // @ts-ignore
@@ -243,7 +314,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
243
314
  };
244
315
 
245
316
  // @ts-ignore
246
- return this.request({
317
+ return this.locusDeltaRequest({
247
318
  method: HTTP_VERBS.POST,
248
319
  uri,
249
320
  body,
@@ -298,7 +369,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
298
369
  };
299
370
 
300
371
  // @ts-ignore
301
- return this.request({
372
+ return this.locusDeltaRequest({
302
373
  method: HTTP_VERBS.POST,
303
374
  uri,
304
375
  body,
@@ -413,7 +484,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
413
484
  };
414
485
 
415
486
  // @ts-ignore
416
- return this.request({
487
+ return this.locusDeltaRequest({
417
488
  method: HTTP_VERBS.PUT,
418
489
  uri,
419
490
  body,
@@ -462,8 +533,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
462
533
  correlationId,
463
534
  };
464
535
 
465
- // @ts-ignore
466
- return this.request({
536
+ return this.locusDeltaRequest({
467
537
  method: HTTP_VERBS.PUT,
468
538
  uri,
469
539
  body,
@@ -489,8 +559,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
489
559
  correlationId: options.correlationId,
490
560
  };
491
561
 
492
- // @ts-ignore
493
- return this.request({
562
+ return this.locusDeltaRequest({
494
563
  method: HTTP_VERBS.PUT,
495
564
  uri,
496
565
  body,
@@ -498,36 +567,11 @@ export default class MeetingRequest extends StatelessWebexPlugin {
498
567
  }
499
568
 
500
569
  /**
501
- * Make a network request to acknowledge a meeting
570
+ * Makes a network request to lock the meeting
502
571
  * @param {Object} options
503
- * @param {String} options.locusUrl
504
- * @param {String} options.deviceUrl
505
- * @param {String} options.id
572
+ * @param {Boolean} options.lock Whether it is locked or not
506
573
  * @returns {Promise}
507
574
  */
508
- recordMeeting(options: {
509
- locusUrl: string;
510
- deviceUrl: string;
511
- id: string;
512
- recording: any;
513
- paused: any;
514
- }) {
515
- const uri = `${options.locusUrl}/${CONTROLS}`;
516
- const body = {
517
- record: {
518
- recording: options.recording,
519
- paused: options.paused,
520
- },
521
- };
522
-
523
- // @ts-ignore
524
- return this.request({
525
- method: HTTP_VERBS.PATCH,
526
- uri,
527
- body,
528
- });
529
- }
530
-
531
575
  lockMeeting(options) {
532
576
  const uri = `${options.locusUrl}/${CONTROLS}`;
533
577
  const body = {
@@ -536,8 +580,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
536
580
  },
537
581
  };
538
582
 
539
- // @ts-ignore
540
- return this.request({
583
+ return this.locusDeltaRequest({
541
584
  method: HTTP_VERBS.PATCH,
542
585
  uri,
543
586
  body,
@@ -563,54 +606,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
563
606
  ...(options.reason && {reason: options.reason}),
564
607
  };
565
608
 
566
- // @ts-ignore
567
- return this.request({
568
- method: HTTP_VERBS.PUT,
569
- uri,
570
- body,
571
- });
572
- }
573
-
574
- /**
575
- * Toggle remote audio and/or video
576
- * @param {Object} options options for toggling
577
- * @param {String} options.selfId Locus self id??
578
- * @param {String} options.locusUrl Locus url
579
- * @param {String} options.deviceUrl Url of a device
580
- * @param {String} options.resourceId Populated if you are paired to a device
581
- * @param {String} options.localMedias local sdps
582
- * @param {Boolean} options.preferTranscoding false for multistream (Homer), true for transcoded media (Edonus)
583
- * @returns {Promise}
584
- */
585
- remoteAudioVideoToggle(
586
- options:
587
- | {
588
- selfId: string;
589
- locusUrl: string;
590
- deviceUrl: string;
591
- resourceId: string;
592
- localMedias: string;
593
- }
594
- | any
595
- ) {
596
- const uri = `${options.locusUrl}/${PARTICIPANT}/${options.selfId}/${MEDIA}`;
597
- const body = {
598
- device: {
599
- // @ts-ignore
600
- deviceType: this.config.meetings.deviceType,
601
- url: options.deviceUrl,
602
- },
603
- usingResource: options.resourceId || null,
604
- correlationId: options.correlationId,
605
- respOnlySdp: true,
606
- localMedias: options.localMedias,
607
- clientMediaPreferences: {
608
- preferTranscoding: options.preferTranscoding ?? true,
609
- },
610
- };
611
-
612
- // @ts-ignore
613
- return this.request({
609
+ return this.locusDeltaRequest({
614
610
  method: HTTP_VERBS.PUT,
615
611
  uri,
616
612
  body,
@@ -635,6 +631,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
635
631
  deviceUrl: string;
636
632
  resourceId: string;
637
633
  uri: string;
634
+ annotationInfo: AnnotationInfo;
638
635
  }
639
636
  | any
640
637
  ) {
@@ -668,6 +665,9 @@ export default class MeetingRequest extends StatelessWebexPlugin {
668
665
  if (options?.resourceToken) {
669
666
  body.resourceToken = options?.resourceToken;
670
667
  }
668
+ if (options?.annotationInfo) {
669
+ body.annotation = options?.annotationInfo;
670
+ }
671
671
 
672
672
  // @ts-ignore
673
673
  return this.request({
@@ -687,7 +687,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
687
687
  */
688
688
  sendDTMF({locusUrl, deviceUrl, tones}: {locusUrl: string; deviceUrl: string; tones: string}) {
689
689
  // @ts-ignore
690
- return this.request({
690
+ return this.locusDeltaRequest({
691
691
  method: HTTP_VERBS.POST,
692
692
  uri: `${locusUrl}/${SEND_DTMF_ENDPOINT}`,
693
693
  body: {
@@ -768,7 +768,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
768
768
  : undefined;
769
769
 
770
770
  // @ts-ignore
771
- return this.request({
771
+ return this.locusDeltaRequest({
772
772
  method: HTTP_VERBS.PUT,
773
773
  uri: `${locusUrl}/${CONTROLS}`,
774
774
  body: {
@@ -791,7 +791,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
791
791
  const uri = `${locusUrl}/${END}`;
792
792
 
793
793
  // @ts-ignore
794
- return this.request({
794
+ return this.locusDeltaRequest({
795
795
  method: HTTP_VERBS.POST,
796
796
  uri,
797
797
  });
@@ -842,7 +842,8 @@ export default class MeetingRequest extends StatelessWebexPlugin {
842
842
  toggleReactions({enable, locusUrl, requestingParticipantId}: ToggleReactionsOptions) {
843
843
  const uri = `${locusUrl}/${CONTROLS}`;
844
844
 
845
- return this.request({
845
+ // @ts-ignore
846
+ return this.locusDeltaRequest({
846
847
  method: HTTP_VERBS.PUT,
847
848
  uri,
848
849
  body: {
@@ -853,4 +854,12 @@ export default class MeetingRequest extends StatelessWebexPlugin {
853
854
  },
854
855
  });
855
856
  }
857
+
858
+ getLocusStatusByUrl(locusUrl: string) {
859
+ // @ts-ignore
860
+ return this.request({
861
+ method: HTTP_VERBS.GET,
862
+ uri: locusUrl,
863
+ });
864
+ }
856
865
  }
@@ -1,3 +1,5 @@
1
+ import {Reaction} from '../reactions/reactions.type';
2
+
1
3
  export type SendReactionOptions = {
2
4
  reactionChannelUrl: string;
3
5
  reaction: Reaction;