@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
@@ -0,0 +1,70 @@
1
+ import { WebexPlugin } from '@webex/webex-core';
2
+ export type MediaRequestType = 'RoapMessage' | 'LocalMute';
3
+ export type RequestResult = any;
4
+ export type RoapRequest = {
5
+ type: 'RoapMessage';
6
+ selfUrl: string;
7
+ mediaId: string;
8
+ roapMessage: any;
9
+ reachability: any;
10
+ sequence?: any;
11
+ joinCookie: any;
12
+ };
13
+ export type LocalMuteRequest = {
14
+ type: 'LocalMute';
15
+ selfUrl: string;
16
+ mediaId: string;
17
+ sequence?: any;
18
+ muteOptions: {
19
+ audioMuted?: boolean;
20
+ videoMuted?: boolean;
21
+ };
22
+ };
23
+ export type Request = RoapRequest | LocalMuteRequest;
24
+ export type Config = {
25
+ device: {
26
+ url: string;
27
+ deviceType: string;
28
+ };
29
+ correlationId: string;
30
+ preferTranscoding: boolean;
31
+ };
32
+ /**
33
+ * This class manages all /media API requests to Locus. Every call to that
34
+ * Locus API has to go through this class.
35
+ */
36
+ export declare class LocusMediaRequest extends WebexPlugin {
37
+ private config;
38
+ private latestAudioMuted?;
39
+ private latestVideoMuted?;
40
+ private isRequestInProgress;
41
+ private queuedRequests;
42
+ private confluenceState;
43
+ /**
44
+ * Constructor
45
+ */
46
+ constructor(config: Config, options: any);
47
+ /**
48
+ * Add a request to the internal queue.
49
+ */
50
+ private addToQueue;
51
+ /**
52
+ * Takes the next request from the queue and executes it. Once that
53
+ * request is completed, the next one will be taken from the queue
54
+ * and executed and this is repeated until the queue is empty.
55
+ */
56
+ private executeNextQueuedRequest;
57
+ /**
58
+ * Returns latest requested audio and video mute values. If they have never been
59
+ * requested, we assume audio/video to be muted.
60
+ */
61
+ private getLatestMuteState;
62
+ /**
63
+ * Prepares the uri and body for the media request to be sent to Locus
64
+ */
65
+ private sendHttpRequest;
66
+ /**
67
+ * Sends a media request to Locus
68
+ */
69
+ send(request: Request): Promise<RequestResult>;
70
+ }
@@ -0,0 +1,184 @@
1
+ import { ServerMuteReason } from '@webex/media-helpers';
2
+ export declare const createMuteState: (type: any, meeting: any, enabled: boolean) => MuteState;
3
+ /** The purpose of this class is to manage the local and remote mute state and make sure that the server state always matches
4
+ the last requested state by the client.
5
+
6
+ More info about Locus muting API: https://sqbu-github.cisco.com/pages/WebExSquared/locus/guides/mute.html#
7
+
8
+ This class is exported only for unit tests. It should never be instantiated directly with new MuteState(), instead createMuteState() should be called
9
+ */
10
+ export declare class MuteState {
11
+ state: {
12
+ client: {
13
+ enabled: boolean;
14
+ localMute: boolean;
15
+ };
16
+ server: {
17
+ localMute: boolean;
18
+ remoteMute: boolean;
19
+ unmuteAllowed: boolean;
20
+ };
21
+ syncToServerInProgress: boolean;
22
+ };
23
+ type: any;
24
+ ignoreMuteStateChange: boolean;
25
+ /**
26
+ * Constructor
27
+ *
28
+ * @param {String} type - audio or video
29
+ * @param {Object} meeting - the meeting object (used for reading current remote mute status)
30
+ * @param {boolean} enabled - whether the client audio/video is enabled at all
31
+ */
32
+ constructor(type: string, meeting: any, enabled: boolean);
33
+ /**
34
+ * Starts the mute state machine. Needs to be called after a new MuteState instance is created.
35
+ *
36
+ * @param {Object} meeting - the meeting object
37
+ * @returns {void}
38
+ */
39
+ init(meeting: any): void;
40
+ /**
41
+ * This method needs to be called whenever the local audio/video track has changed.
42
+ * It reapplies the remote mute state onto the new track and also reads the current
43
+ * local mute state from the track and updates the internal state machine and sends
44
+ * any required requests to the server.
45
+ *
46
+ * @param {Object} meeting - the meeting object
47
+ * @returns {void}
48
+ */
49
+ handleLocalTrackChange(meeting: any): void;
50
+ /**
51
+ * Enables/disables audio/video
52
+ *
53
+ * @param {Object} meeting - the meeting object
54
+ * @param {boolean} enable
55
+ * @returns {void}
56
+ */
57
+ enable(meeting: any, enable: boolean): void;
58
+ /**
59
+ * Mutes/unmutes local track
60
+ *
61
+ * @param {Object} meeting - the meeting object
62
+ * @param {Boolean} mute - true to mute the track, false to unmute it
63
+ * @param {ServerMuteReason} reason - reason for muting/unmuting
64
+ * @returns {void}
65
+ */
66
+ private muteLocalTrack;
67
+ /**
68
+ * This method should be called when the local track mute state is changed
69
+ * @public
70
+ * @memberof MuteState
71
+ * @param {Object} [meeting] the meeting object
72
+ * @param {Boolean} [mute] true for muting, false for unmuting request
73
+ * @returns {void}
74
+ */
75
+ handleLocalTrackMuteStateChange(meeting?: object, mute?: boolean): void;
76
+ /**
77
+ * Applies the current mute state to the local track (by enabling or disabling it accordingly)
78
+ *
79
+ * @public
80
+ * @param {Object} [meeting] the meeting object
81
+ * @param {ServerMuteReason} reason - reason why we're applying our client state to the local track
82
+ * @memberof MuteState
83
+ * @returns {void}
84
+ */
85
+ applyClientStateLocally(meeting?: any, reason?: ServerMuteReason): void;
86
+ /** Returns true if client is locally muted - it takes into account not just the client local mute state,
87
+ * but also whether audio/video is enabled at all
88
+ *
89
+ * @returns {boolean}
90
+ */
91
+ private getClientLocalMuteState;
92
+ /**
93
+ * Updates the server local and remote mute values so that they match the current client desired state.
94
+ *
95
+ * @private
96
+ * @param {Object} [meeting] the meeting object
97
+ * @memberof MuteState
98
+ * @returns {void}
99
+ */
100
+ private applyClientStateToServer;
101
+ /**
102
+ * Sets the local mute value in the server
103
+ *
104
+ * @private
105
+ * @param {Object} [meeting] the meeting object
106
+ * @memberof MuteState
107
+ * @returns {Promise}
108
+ */
109
+ private sendLocalMuteRequestToServer;
110
+ /**
111
+ * Sets the remote mute value in the server
112
+ *
113
+ * @private
114
+ * @param {Object} [meeting] the meeting object
115
+ * @memberof MuteState
116
+ * @returns {Promise}
117
+ */
118
+ private sendRemoteMuteRequestToServer;
119
+ /** Sets the mute state of the local track according to what server thinks is our state
120
+ * @param {Object} meeting - the meeting object
121
+ * @param {ServerMuteReason} serverMuteReason - reason why we're applying server mute to the local track
122
+ * @returns {void}
123
+ */
124
+ private applyServerMuteToLocalTrack;
125
+ /** Applies the current value for unmute allowed to the underlying track
126
+ *
127
+ * @param {Meeting} meeting
128
+ * @returns {void}
129
+ */
130
+ private applyUnmuteAllowedToTrack;
131
+ /**
132
+ * This method should be called whenever the server remote mute state is changed
133
+ *
134
+ * @public
135
+ * @memberof MuteState
136
+ * @param {Meeting} meeting
137
+ * @param {Boolean} [muted] true if user is remotely muted, false otherwise
138
+ * @param {Boolean} [unmuteAllowed] indicates if user is allowed to unmute self (false when "hard mute" feature is used)
139
+ * @returns {undefined}
140
+ */
141
+ handleServerRemoteMuteUpdate(meeting: any, muted?: boolean, unmuteAllowed?: boolean): void;
142
+ /**
143
+ * This method should be called whenever we receive from the server a requirement to locally unmute
144
+ *
145
+ * @public
146
+ * @memberof MuteState
147
+ * @param {Object} [meeting] the meeting object
148
+ * @returns {undefined}
149
+ */
150
+ handleServerLocalUnmuteRequired(meeting?: object): void;
151
+ /**
152
+ * Returns true if the user is locally or remotely muted.
153
+ * It only checks the mute status, ignoring the fact whether audio/video is enabled.
154
+ *
155
+ * @public
156
+ * @memberof MuteState
157
+ * @returns {Boolean}
158
+ */
159
+ isMuted(): boolean;
160
+ /**
161
+ * Returns true if the user is remotely muted
162
+ *
163
+ * @public
164
+ * @memberof MuteState
165
+ * @returns {Boolean}
166
+ */
167
+ isRemotelyMuted(): boolean;
168
+ /**
169
+ * Returns true if unmute is allowed
170
+ *
171
+ * @public
172
+ * @memberof MuteState
173
+ * @returns {Boolean}
174
+ */
175
+ isUnmuteAllowed(): boolean;
176
+ /**
177
+ * Returns true if the user is locally muted or audio/video is disabled
178
+ *
179
+ * @public
180
+ * @memberof MuteState
181
+ * @returns {Boolean}
182
+ */
183
+ isLocallyMuted(): boolean;
184
+ }
@@ -0,0 +1,270 @@
1
+ import { StatelessWebexPlugin } from '@webex/webex-core';
2
+ import { SendReactionOptions, ToggleReactionsOptions } from './request.type';
3
+ import { AnnotationInfo } from '../annotation/annotation.types';
4
+ /**
5
+ * @class MeetingRequest
6
+ */
7
+ export default class MeetingRequest extends StatelessWebexPlugin {
8
+ changeVideoLayoutDebounced: any;
9
+ meetingRef: WeakRef<any>;
10
+ locusDeltaRequest: (options: object) => Promise<any>;
11
+ /**
12
+ * Constructor
13
+ * @param {Object} attrs
14
+ * @param {Object} options
15
+ */
16
+ constructor(attrs: any, options: any);
17
+ /**
18
+ * Returns joinCookie from boundedStorage if present.
19
+ * @returns {Object} joinCookie
20
+ */
21
+ private getJoinCookie;
22
+ /**
23
+ * Make a network request to join a meeting
24
+ * @param {Object} options
25
+ * @param {String} options.sipUri
26
+ * @param {String} options.deviceUrl
27
+ * @param {String} options.locusUrl
28
+ * @param {String} options.resourceId,
29
+ * @param {String} options.correlationId
30
+ * @param {boolean} options.ensureConversation
31
+ * @param {boolean} options.moderator
32
+ * @param {boolean} options.pin
33
+ * @param {boolean} options.moveToResource
34
+ * @param {Object} options.roapMessage
35
+ * @param {boolean} options.breakoutsSupported
36
+ * @param {String} options.locale,
37
+ * @param {Array} options.deviceCapabilities
38
+ * @param {boolean} options.liveAnnotationSupported
39
+ * @returns {Promise}
40
+ */
41
+ joinMeeting(options: {
42
+ sipUri: string;
43
+ deviceUrl: string;
44
+ locusUrl: string;
45
+ resourceId: string;
46
+ correlationId: string;
47
+ ensureConversation: boolean;
48
+ moderator: boolean;
49
+ pin: boolean;
50
+ moveToResource: boolean;
51
+ roapMessage: any;
52
+ asResourceOccupant: any;
53
+ inviteeAddress: any;
54
+ meetingNumber: any;
55
+ permissionToken: any;
56
+ preferTranscoding: any;
57
+ breakoutsSupported: boolean;
58
+ locale?: string;
59
+ deviceCapabilities?: Array<string>;
60
+ liveAnnotationSupported: boolean;
61
+ }): Promise<any>;
62
+ /**
63
+ * Send a request to refresh the captcha
64
+ * @param {Object} options
65
+ * @param {String} options.captchaRefreshUrl
66
+ * @param {String} options.captchaId
67
+ * @returns {Promise}
68
+ * @private
69
+ */
70
+ private refreshCaptcha;
71
+ /**
72
+ * Make a network request to add a dial in device
73
+ * @param {Object} options
74
+ * @param {String} options.correlationId
75
+ * @param {String} options.locusUrl url for the meeting
76
+ * @param {String} options.dialInUrl identifier for the to-be provisioned device
77
+ * @param {String} options.clientUrl identifier for the web device
78
+ * @returns {Promise}
79
+ * @private
80
+ */
81
+ private dialIn;
82
+ /**
83
+ * Make a network request to add a dial out device
84
+ * @param {Object} options
85
+ * @param {String} options.correlationId
86
+ * @param {String} options.locusUrl url for the meeting
87
+ * @param {String} options.dialOutUrl identifier for the to-be provisioned device
88
+ * @param {String} options.phoneNumber phone number to dial out to
89
+ * @param {String} options.clientUrl identifier for the web device
90
+ * @returns {Promise}
91
+ * @private
92
+ */
93
+ private dialOut;
94
+ /**
95
+ * Syns the missed delta event
96
+ * @param {Object} options
97
+ * @param {boolean} options.desync flag to get partial or whole locus object
98
+ * @param {String} options.syncUrl sync url to get ht elatest locus delta
99
+ * @returns {Promise}
100
+ */
101
+ syncMeeting(options: {
102
+ desync: boolean;
103
+ syncUrl: string;
104
+ }): any;
105
+ /**
106
+ * Request to get the complete locus object
107
+ * @param {Object} options
108
+ * @param {boolean} options.desync flag to get partial or whole locus object
109
+ * @param {String} options.locusUrl sync url to get ht elatest locus delta
110
+ * @returns {Promise}
111
+ */
112
+ getFullLocus(options: {
113
+ desync: boolean;
114
+ locusUrl: string;
115
+ }): any;
116
+ /**
117
+ * Make a network request to make a provisioned phone leave the meeting
118
+ * @param {Object} options
119
+ * @param {String} options.locusUrl
120
+ * @param {String} options.phoneUrl
121
+ * @param {String} options.correlationId
122
+ * @param {String} options.selfId
123
+ * @returns {Promise}
124
+ * @private
125
+ */
126
+ private disconnectPhoneAudio;
127
+ /**
128
+ * Make a network request to leave a meeting
129
+ * @param {Object} options
130
+ * @param {Url} options.locusUrl
131
+ * @param {String} options.selfId
132
+ * @param {Url} options.deviceUrl
133
+ * @param {String} options.resourceId,
134
+ * @param {String} options.correlationId
135
+ * @returns {Promise}
136
+ */
137
+ leaveMeeting({ locusUrl, selfId, deviceUrl: url, resourceId, correlationId, }: {
138
+ locusUrl: string;
139
+ selfId: string;
140
+ deviceUrl: string;
141
+ resourceId: string;
142
+ correlationId: string;
143
+ }): Promise<any>;
144
+ /**
145
+ * Make a network request to acknowledge a meeting
146
+ * @param {Object} options
147
+ * @param {String} options.locusUrl
148
+ * @param {String} options.deviceUrl
149
+ * @param {String} options.correlationId
150
+ * @returns {Promise}
151
+ */
152
+ acknowledgeMeeting(options: {
153
+ locusUrl: string;
154
+ deviceUrl: string;
155
+ correlationId: string;
156
+ }): Promise<any>;
157
+ /**
158
+ * Makes a network request to lock the meeting
159
+ * @param {Object} options
160
+ * @param {Boolean} options.lock Whether it is locked or not
161
+ * @returns {Promise}
162
+ */
163
+ lockMeeting(options: any): Promise<any>;
164
+ /**
165
+ * Make a network request to decline a meeting
166
+ * @param {Object} options
167
+ * @param {String} options.locusUrl
168
+ * @param {String} options.deviceUrl
169
+ * @param {String} options.reason
170
+ * @returns {Promise}
171
+ */
172
+ declineMeeting(options: {
173
+ locusUrl: string;
174
+ deviceUrl: string;
175
+ reason: string;
176
+ }): Promise<any>;
177
+ /**
178
+ * change the content floor grant
179
+ * @param {Object} options options for floor grant
180
+ * @param {String} options.disposition floor action (granted/released)
181
+ * @param {String} options.personUrl personUrl who is requesting floor
182
+ * @param {String} options.deviceUrl Url of a device
183
+ * @param {String} options.resourceId Populated if you are paired to a device
184
+ * @param {String} options.uri floor grant uri
185
+ * @returns {Promise}
186
+ */
187
+ changeMeetingFloor(options: {
188
+ disposition: string;
189
+ personUrl: string;
190
+ deviceUrl: string;
191
+ resourceId: string;
192
+ uri: string;
193
+ annotationInfo: AnnotationInfo;
194
+ } | any): any;
195
+ /**
196
+ * Sends a request to the DTMF endpoint to send tones
197
+ * @param {Object} options
198
+ * @param {String} options.locusUrl
199
+ * @param {String} options.deviceUrl
200
+ * @param {String} options.tones a string of one or more DTMF tones to send
201
+ * @returns {Promise}
202
+ */
203
+ sendDTMF({ locusUrl, deviceUrl, tones }: {
204
+ locusUrl: string;
205
+ deviceUrl: string;
206
+ tones: string;
207
+ }): Promise<any>;
208
+ /**
209
+ * Sends a request to the controls endpoint to set the video layout
210
+ * @param {Object} options
211
+ * @param {String} options.locusUrl
212
+ * @param {String} options.deviceUrl
213
+ * @param {String} options.layoutType a layout type that should be available in meeting constants {@link #layout_types}
214
+ * @param {Object} options.main preferred dimensions for the remote main video stream
215
+ * @param {Number} options.main.width preferred width of main video stream
216
+ * @param {Number} options.main.height preferred height of main video stream
217
+ * @param {Object} options.content preferred dimensions for the remote content share stream
218
+ * @param {Number} options.content.width preferred width of content share stream
219
+ * @param {Number} options.content.height preferred height of content share stream
220
+ * @returns {Promise}
221
+ */
222
+ changeVideoLayout({ locusUrl, deviceUrl, layoutType, main, content, }: {
223
+ locusUrl: string;
224
+ deviceUrl: string;
225
+ layoutType: string;
226
+ main: {
227
+ width: number;
228
+ height: number;
229
+ };
230
+ content: {
231
+ width: number;
232
+ height: number;
233
+ };
234
+ }): Promise<any>;
235
+ /**
236
+ * Make a network request to end meeting for all
237
+ * @param {Object} options
238
+ * @param {Url} options.locusUrl
239
+ * @returns {Promise}
240
+ */
241
+ endMeetingForAll({ locusUrl }: {
242
+ locusUrl: string;
243
+ }): Promise<any>;
244
+ /**
245
+ * Send a locus keepAlive (used in lobby)
246
+ * @param {Object} options
247
+ * @param {Url} options.keepAliveUrl
248
+ * @returns {Promise}
249
+ */
250
+ keepAlive({ keepAliveUrl }: {
251
+ keepAliveUrl: string;
252
+ }): any;
253
+ /**
254
+ * Make a network request to send a reaction.
255
+ * @param {Object} options
256
+ * @param {Url} options.reactionChannelUrl
257
+ * @param {Reaction} options.reaction
258
+ * @param {string} options.senderID
259
+ * @returns {Promise}
260
+ */
261
+ sendReaction({ reactionChannelUrl, reaction, participantId }: SendReactionOptions): any;
262
+ /**
263
+ * Make a network request to enable or disable reactions.
264
+ * @param {boolean} options.enable - determines if we need to enable or disable.
265
+ * @param {locusUrl} options.locusUrl
266
+ * @returns {Promise}
267
+ */
268
+ toggleReactions({ enable, locusUrl, requestingParticipantId }: ToggleReactionsOptions): Promise<any>;
269
+ getLocusStatusByUrl(locusUrl: string): any;
270
+ }
@@ -0,0 +1,11 @@
1
+ import { Reaction } from '../reactions/reactions.type';
2
+ export type SendReactionOptions = {
3
+ reactionChannelUrl: string;
4
+ reaction: Reaction;
5
+ participantId: string;
6
+ };
7
+ export type ToggleReactionsOptions = {
8
+ enable: boolean;
9
+ locusUrl: string;
10
+ requestingParticipantId: string;
11
+ };
@@ -0,0 +1,9 @@
1
+ declare const MeetingStateMachine: {
2
+ /**
3
+ * Initializes the StateMachine for the meeting
4
+ * @param {Meeting} meetingRef A reference to a meeting instance
5
+ * @returns {StateMachine}
6
+ */
7
+ create(meetingRef: any): any;
8
+ };
9
+ export default MeetingStateMachine;
@@ -0,0 +1,75 @@
1
+ declare const MeetingUtil: {
2
+ parseLocusJoin: (response: any) => any;
3
+ remoteUpdateAudioVideo: (meeting: any, audioMuted?: boolean, videoMuted?: boolean) => any;
4
+ hasOwner: (info: any) => any;
5
+ isOwnerSelf: (owner: any, selfId: any) => boolean;
6
+ isPinOrGuest: (err: any) => boolean;
7
+ joinMeeting: (meeting: any, options: any) => any;
8
+ cleanUp: (meeting: any) => any;
9
+ disconnectPhoneAudio: (meeting: any, phoneUrl: any) => any;
10
+ leaveMeeting: (meeting: any, options?: any) => any;
11
+ declineMeeting: (meeting: any, reason: any) => any;
12
+ isUserInLeftState: (locusInfo: any) => boolean;
13
+ isUserInIdleState: (locusInfo: any) => boolean;
14
+ isUserInJoinedState: (locusInfo: any) => boolean;
15
+ isMediaEstablished: (currentMediaStatus: any) => any;
16
+ joinMeetingOptions: (meeting: any, options?: any) => any;
17
+ getTrack: (stream: any) => {
18
+ audioTrack: any;
19
+ videoTrack: any;
20
+ };
21
+ getModeratorFromLocusInfo: (locusInfo: any) => any;
22
+ getPolicyFromLocusInfo: (locusInfo: any) => any;
23
+ getUserDisplayHintsFromLocusInfo: (locusInfo: any) => any;
24
+ canInviteNewParticipants: (displayHints: any) => any;
25
+ canAdmitParticipant: (displayHints: any) => any;
26
+ canUserLock: (displayHints: any) => any;
27
+ canUserUnlock: (displayHints: any) => any;
28
+ canUserRaiseHand: (displayHints: any) => any;
29
+ canUserLowerAllHands: (displayHints: any) => any;
30
+ canUserLowerSomeoneElsesHand: (displayHints: any) => any;
31
+ bothLeaveAndEndMeetingAvailable: (displayHints: any) => any;
32
+ canManageBreakout: (displayHints: any) => any;
33
+ canBroadcastMessageToBreakout: (displayHints: any) => any;
34
+ isSuppressBreakoutSupport: (displayHints: any) => any;
35
+ canAdmitLobbyToBreakout: (displayHints: any) => boolean;
36
+ isBreakoutPreassignmentsEnabled: (displayHints: any) => boolean;
37
+ canUserAskForHelp: (displayHints: any) => boolean;
38
+ lockMeeting: (actions: any, request: any, locusUrl: any) => any;
39
+ unlockMeeting: (actions: any, request: any, locusUrl: any) => any;
40
+ handleAudioLogging: (audioTrack?: LocalMicrophoneTrack) => void;
41
+ handleVideoLogging: (videoTrack?: LocalCameraTrack) => void;
42
+ handleDeviceLogging: (devices?: any[]) => void;
43
+ endMeetingForAll: (meeting: any) => any;
44
+ canEnableClosedCaption: (displayHints: any) => any;
45
+ isSaveTranscriptsEnabled: (displayHints: any) => any;
46
+ canStartTranscribing: (displayHints: any) => any;
47
+ canStopTranscribing: (displayHints: any) => any;
48
+ isClosedCaptionActive: (displayHints: any) => any;
49
+ isWebexAssistantActive: (displayHints: any) => any;
50
+ canViewCaptionPanel: (displayHints: any) => any;
51
+ isRealTimeTranslationEnabled: (displayHints: any) => any;
52
+ canSelectSpokenLanguages: (displayHints: any) => any;
53
+ waitingForOthersToJoin: (displayHints: any) => any;
54
+ canSendReactions: (originalValue: any, displayHints: any) => any;
55
+ canUserRenameSelfAndObserved: (displayHints: any) => any;
56
+ canUserRenameOthers: (displayHints: any) => any;
57
+ /**
58
+ * Adds the current locus sequence information to a request body
59
+ * @param {Object} meeting The meeting object
60
+ * @param {Object} requestBody The body of a request to locus
61
+ * @returns {void}
62
+ */
63
+ addSequence: (meeting: any, requestBody: any) => void;
64
+ /**
65
+ * Updates the locus info for the meeting with the delta locus
66
+ * returned from requests that include the sequence information
67
+ * Returns the original response object
68
+ * @param {Object} meeting The meeting object
69
+ * @param {Object} response The response of the http request
70
+ * @returns {Object}
71
+ */
72
+ updateLocusWithDelta: (meeting: any, response: any) => any;
73
+ generateLocusDeltaRequest: (originalMeeting: any) => (originalOptions: any) => any;
74
+ };
75
+ export default MeetingUtil;
@@ -0,0 +1,20 @@
1
+ import Collection from '../common/collection';
2
+ /**
3
+ * @class MeetingInfoCollection
4
+ */
5
+ export default class MeetingInfoCollection extends Collection {
6
+ namespace: string;
7
+ /**
8
+ * @memberof MeetingInfoCollection
9
+ * @constructor
10
+ * @public
11
+ */
12
+ constructor();
13
+ /**
14
+ * @param {String} id ID of the meeting info you wish to retreive
15
+ * @returns {MeetingInfo} returns a meeting info instance
16
+ * @public
17
+ * @memberof MeetingInfoCollection
18
+ */
19
+ get(id: string): any;
20
+ }
@@ -0,0 +1,57 @@
1
+ /*!
2
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
3
+ */
4
+ /**
5
+ * @class MeetingInfo
6
+ */
7
+ export default class MeetingInfo {
8
+ meetingInfoCollection: any;
9
+ meetingInfoRequest: any;
10
+ webex: any;
11
+ /**
12
+ *
13
+ * @param {WebexSDK} webex
14
+ */
15
+ constructor(webex: any);
16
+ /**
17
+ * @param {string} id
18
+ * @returns {object}
19
+ * @public
20
+ * @memberof MeetingInfo
21
+ */
22
+ getMeetingInfo(id: string): any;
23
+ /**
24
+ * @param {string} id
25
+ * @param {object} info
26
+ * @returns {null}
27
+ * @public
28
+ * @memberof MeetingInfo
29
+ */
30
+ setMeetingInfo(id: string, info: object): void;
31
+ /**
32
+ * Helper to make the actual MeetingInfo request and set the meetingInfo if successful, else reject
33
+ * @param {Object} options
34
+ * @returns {Promise}
35
+ * @private
36
+ * @memberof MeetingInfo
37
+ */
38
+ private requestFetchInfo;
39
+ /**
40
+ * Helper to generate the options for the MeetingInfo request
41
+ * @param {String} destination
42
+ * @param {String} type
43
+ * @returns {Promise}
44
+ * @private
45
+ * @memberof MeetingInfo
46
+ */
47
+ private fetchInfoOptions;
48
+ /**
49
+ * Fetches meeting info from the server
50
+ * @param {String} destination one of many different types of destinations to look up info for
51
+ * @param {String} [type] to match up with the destination value
52
+ * @returns {Promise} returns a meeting info object
53
+ * @public
54
+ * @memberof MeetingInfo
55
+ */
56
+ fetchMeetingInfo(destination: string, type?: string): any;
57
+ }