@webex/plugin-meetings 3.8.0 → 3.8.1-next.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (361) hide show
  1. package/README.md +26 -13
  2. package/dist/breakouts/breakout.js +1 -1
  3. package/dist/breakouts/index.js +70 -6
  4. package/dist/breakouts/index.js.map +1 -1
  5. package/dist/common/errors/webex-errors.js +12 -2
  6. package/dist/common/errors/webex-errors.js.map +1 -1
  7. package/dist/config.js +5 -1
  8. package/dist/config.js.map +1 -1
  9. package/dist/constants.js +28 -123
  10. package/dist/constants.js.map +1 -1
  11. package/dist/controls-options-manager/enums.js +3 -0
  12. package/dist/controls-options-manager/enums.js.map +1 -1
  13. package/dist/controls-options-manager/types.js.map +1 -1
  14. package/dist/controls-options-manager/util.js +78 -0
  15. package/dist/controls-options-manager/util.js.map +1 -1
  16. package/dist/interpretation/index.js +4 -4
  17. package/dist/interpretation/index.js.map +1 -1
  18. package/dist/interpretation/siLanguage.js +1 -1
  19. package/dist/locus-info/controlsUtils.js +37 -11
  20. package/dist/locus-info/controlsUtils.js.map +1 -1
  21. package/dist/locus-info/index.js +92 -12
  22. package/dist/locus-info/index.js.map +1 -1
  23. package/dist/locus-info/selfUtils.js +432 -418
  24. package/dist/locus-info/selfUtils.js.map +1 -1
  25. package/dist/media/index.js +17 -17
  26. package/dist/media/index.js.map +1 -1
  27. package/dist/media/properties.js +94 -6
  28. package/dist/media/properties.js.map +1 -1
  29. package/dist/meeting/brbState.js +9 -2
  30. package/dist/meeting/brbState.js.map +1 -1
  31. package/dist/meeting/in-meeting-actions.js +21 -1
  32. package/dist/meeting/in-meeting-actions.js.map +1 -1
  33. package/dist/meeting/index.js +678 -344
  34. package/dist/meeting/index.js.map +1 -1
  35. package/dist/meeting/locusMediaRequest.js +21 -22
  36. package/dist/meeting/locusMediaRequest.js.map +1 -1
  37. package/dist/meeting/muteState.js +4 -4
  38. package/dist/meeting/muteState.js.map +1 -1
  39. package/dist/meeting/request.js +30 -0
  40. package/dist/meeting/request.js.map +1 -1
  41. package/dist/meeting/request.type.js.map +1 -1
  42. package/dist/meeting/util.js +13 -2
  43. package/dist/meeting/util.js.map +1 -1
  44. package/dist/meeting-info/meeting-info-v2.js +373 -68
  45. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  46. package/dist/meeting-info/utilv2.js +5 -1
  47. package/dist/meeting-info/utilv2.js.map +1 -1
  48. package/dist/meetings/index.js +136 -1
  49. package/dist/meetings/index.js.map +1 -1
  50. package/dist/meetings/util.js +14 -0
  51. package/dist/meetings/util.js.map +1 -1
  52. package/dist/member/index.js +55 -9
  53. package/dist/member/index.js.map +1 -1
  54. package/dist/member/types.js +3 -0
  55. package/dist/member/types.js.map +1 -1
  56. package/dist/member/util.js +335 -353
  57. package/dist/member/util.js.map +1 -1
  58. package/dist/members/collection.js.map +1 -1
  59. package/dist/members/index.js +137 -29
  60. package/dist/members/index.js.map +1 -1
  61. package/dist/members/request.js +38 -0
  62. package/dist/members/request.js.map +1 -1
  63. package/dist/members/util.js +36 -1
  64. package/dist/members/util.js.map +1 -1
  65. package/dist/metrics/constants.js +10 -0
  66. package/dist/metrics/constants.js.map +1 -1
  67. package/dist/multistream/remoteMediaManager.js +40 -8
  68. package/dist/multistream/remoteMediaManager.js.map +1 -1
  69. package/dist/reachability/clusterReachability.js +63 -27
  70. package/dist/reachability/clusterReachability.js.map +1 -1
  71. package/dist/reachability/index.js +107 -47
  72. package/dist/reachability/index.js.map +1 -1
  73. package/dist/reachability/reachability.types.js +14 -0
  74. package/dist/reachability/reachability.types.js.map +1 -1
  75. package/dist/reachability/request.js +19 -3
  76. package/dist/reachability/request.js.map +1 -1
  77. package/dist/reconnection-manager/index.js +2 -2
  78. package/dist/reconnection-manager/index.js.map +1 -1
  79. package/dist/recording-controller/util.js +5 -5
  80. package/dist/recording-controller/util.js.map +1 -1
  81. package/dist/roap/index.js.map +1 -1
  82. package/dist/roap/turnDiscovery.js +45 -27
  83. package/dist/roap/turnDiscovery.js.map +1 -1
  84. package/dist/roap/types.js +17 -0
  85. package/dist/roap/types.js.map +1 -0
  86. package/dist/types/common/errors/webex-errors.d.ts +7 -1
  87. package/dist/types/config.d.ts +3 -0
  88. package/dist/types/constants.d.ts +20 -85
  89. package/dist/types/controls-options-manager/enums.d.ts +4 -1
  90. package/dist/types/controls-options-manager/types.d.ts +10 -1
  91. package/dist/types/locus-info/index.d.ts +3 -3
  92. package/dist/types/locus-info/selfUtils.d.ts +216 -1
  93. package/dist/types/media/properties.d.ts +15 -0
  94. package/dist/types/meeting/in-meeting-actions.d.ts +20 -0
  95. package/dist/types/meeting/index.d.ts +65 -1
  96. package/dist/types/meeting/muteState.d.ts +0 -1
  97. package/dist/types/meeting/request.d.ts +12 -1
  98. package/dist/types/meeting/request.type.d.ts +6 -0
  99. package/dist/types/meeting/util.d.ts +3 -1
  100. package/dist/types/meeting-info/meeting-info-v2.d.ts +82 -1
  101. package/dist/types/meetings/index.d.ts +57 -0
  102. package/dist/types/member/index.d.ts +21 -6
  103. package/dist/types/member/types.d.ts +73 -14
  104. package/dist/types/member/util.d.ts +156 -1
  105. package/dist/types/members/collection.d.ts +6 -5
  106. package/dist/types/members/index.d.ts +32 -43
  107. package/dist/types/members/request.d.ts +26 -0
  108. package/dist/types/members/util.d.ts +27 -0
  109. package/dist/types/metrics/constants.d.ts +10 -0
  110. package/dist/types/multistream/remoteMediaManager.d.ts +10 -1
  111. package/dist/types/reachability/clusterReachability.d.ts +15 -7
  112. package/dist/types/reachability/index.d.ts +10 -1
  113. package/dist/types/reachability/reachability.types.d.ts +5 -0
  114. package/dist/types/roap/index.d.ts +3 -2
  115. package/dist/types/roap/turnDiscovery.d.ts +5 -17
  116. package/dist/types/roap/types.d.ts +16 -0
  117. package/dist/webinar/index.js +2 -2
  118. package/dist/webinar/index.js.map +1 -1
  119. package/package.json +24 -23
  120. package/src/breakouts/index.ts +69 -0
  121. package/src/common/errors/webex-errors.ts +8 -1
  122. package/src/config.ts +3 -0
  123. package/src/constants.ts +30 -90
  124. package/src/controls-options-manager/enums.ts +3 -0
  125. package/src/controls-options-manager/types.ts +16 -1
  126. package/src/controls-options-manager/util.ts +93 -0
  127. package/src/interpretation/index.ts +3 -3
  128. package/src/locus-info/controlsUtils.ts +59 -14
  129. package/src/locus-info/index.ts +97 -13
  130. package/src/locus-info/selfUtils.ts +496 -442
  131. package/src/media/index.ts +23 -21
  132. package/src/media/properties.ts +96 -0
  133. package/src/meeting/brbState.ts +11 -2
  134. package/src/meeting/in-meeting-actions.ts +40 -0
  135. package/src/meeting/index.ts +470 -105
  136. package/src/meeting/locusMediaRequest.ts +27 -22
  137. package/src/meeting/muteState.ts +4 -4
  138. package/src/meeting/request.ts +36 -1
  139. package/src/meeting/request.type.ts +7 -0
  140. package/src/meeting/util.ts +11 -2
  141. package/src/meeting-info/meeting-info-v2.ts +254 -8
  142. package/src/meeting-info/utilv2.ts +5 -0
  143. package/src/meetings/index.ts +148 -1
  144. package/src/meetings/util.ts +18 -0
  145. package/src/member/index.ts +68 -22
  146. package/src/member/types.ts +82 -16
  147. package/src/member/util.ts +357 -350
  148. package/src/members/collection.ts +4 -3
  149. package/src/members/index.ts +137 -18
  150. package/src/members/request.ts +44 -0
  151. package/src/members/util.ts +43 -1
  152. package/src/metrics/constants.ts +10 -0
  153. package/src/multistream/remoteMediaManager.ts +32 -10
  154. package/src/reachability/clusterReachability.ts +73 -26
  155. package/src/reachability/index.ts +62 -1
  156. package/src/reachability/reachability.types.ts +6 -0
  157. package/src/reachability/request.ts +7 -0
  158. package/src/reconnection-manager/index.ts +2 -2
  159. package/src/recording-controller/util.ts +17 -13
  160. package/src/roap/index.ts +3 -7
  161. package/src/roap/turnDiscovery.ts +34 -39
  162. package/src/roap/types.ts +23 -0
  163. package/src/webinar/index.ts +1 -1
  164. package/test/unit/spec/breakouts/index.ts +167 -95
  165. package/test/unit/spec/controls-options-manager/util.js +178 -0
  166. package/test/unit/spec/interpretation/index.ts +39 -1
  167. package/test/unit/spec/locus-info/controlsUtils.js +155 -9
  168. package/test/unit/spec/locus-info/index.js +209 -73
  169. package/test/unit/spec/locus-info/selfUtils.js +98 -24
  170. package/test/unit/spec/media/index.ts +150 -18
  171. package/test/unit/spec/media/properties.ts +130 -0
  172. package/test/unit/spec/meeting/brbState.ts +40 -2
  173. package/test/unit/spec/meeting/in-meeting-actions.ts +23 -4
  174. package/test/unit/spec/meeting/index.js +804 -139
  175. package/test/unit/spec/meeting/locusMediaRequest.ts +95 -87
  176. package/test/unit/spec/meeting/muteState.js +73 -2
  177. package/test/unit/spec/meeting/request.js +32 -1
  178. package/test/unit/spec/meeting/utils.js +119 -18
  179. package/test/unit/spec/meeting-info/meetinginfov2.js +484 -114
  180. package/test/unit/spec/meeting-info/utilv2.js +19 -0
  181. package/test/unit/spec/meetings/index.js +146 -2
  182. package/test/unit/spec/member/index.js +7 -0
  183. package/test/unit/spec/member/util.js +24 -0
  184. package/test/unit/spec/members/index.js +304 -78
  185. package/test/unit/spec/members/request.js +68 -22
  186. package/test/unit/spec/members/utils.js +75 -0
  187. package/test/unit/spec/multistream/remoteMediaManager.ts +397 -118
  188. package/test/unit/spec/reachability/clusterReachability.ts +88 -56
  189. package/test/unit/spec/reachability/index.ts +97 -0
  190. package/test/unit/spec/reachability/request.js +47 -2
  191. package/test/unit/spec/reconnection-manager/index.js +4 -4
  192. package/test/unit/spec/roap/turnDiscovery.ts +110 -28
  193. package/test/unit/spec/webinar/index.ts +5 -0
  194. package/dist/annotation/annotation.types.d.ts +0 -42
  195. package/dist/annotation/constants.d.ts +0 -31
  196. package/dist/annotation/index.d.ts +0 -117
  197. package/dist/breakouts/breakout.d.ts +0 -8
  198. package/dist/breakouts/collection.d.ts +0 -5
  199. package/dist/breakouts/edit-lock-error.d.ts +0 -15
  200. package/dist/breakouts/events.d.ts +0 -8
  201. package/dist/breakouts/index.d.ts +0 -5
  202. package/dist/breakouts/request.d.ts +0 -22
  203. package/dist/breakouts/utils.d.ts +0 -15
  204. package/dist/common/browser-detection.d.ts +0 -9
  205. package/dist/common/collection.d.ts +0 -48
  206. package/dist/common/config.d.ts +0 -2
  207. package/dist/common/errors/captcha-error.d.ts +0 -15
  208. package/dist/common/errors/intent-to-join.d.ts +0 -16
  209. package/dist/common/errors/join-meeting.d.ts +0 -17
  210. package/dist/common/errors/media.d.ts +0 -15
  211. package/dist/common/errors/no-meeting-info.d.ts +0 -14
  212. package/dist/common/errors/parameter.d.ts +0 -15
  213. package/dist/common/errors/password-error.d.ts +0 -15
  214. package/dist/common/errors/permission.d.ts +0 -14
  215. package/dist/common/errors/reclaim-host-role-error.js +0 -149
  216. package/dist/common/errors/reclaim-host-role-error.js.map +0 -1
  217. package/dist/common/errors/reclaim-host-role-errors.d.ts +0 -60
  218. package/dist/common/errors/reconnection-in-progress.d.ts +0 -9
  219. package/dist/common/errors/reconnection-in-progress.js +0 -33
  220. package/dist/common/errors/reconnection-in-progress.js.map +0 -1
  221. package/dist/common/errors/reconnection.d.ts +0 -15
  222. package/dist/common/errors/stats.d.ts +0 -15
  223. package/dist/common/errors/webex-errors.d.ts +0 -93
  224. package/dist/common/errors/webex-meetings-error.d.ts +0 -20
  225. package/dist/common/events/events-scope.d.ts +0 -17
  226. package/dist/common/events/events.d.ts +0 -12
  227. package/dist/common/events/trigger-proxy.d.ts +0 -2
  228. package/dist/common/events/util.d.ts +0 -2
  229. package/dist/common/logs/logger-config.d.ts +0 -2
  230. package/dist/common/logs/logger-proxy.d.ts +0 -2
  231. package/dist/common/logs/request.d.ts +0 -36
  232. package/dist/common/queue.d.ts +0 -34
  233. package/dist/config.d.ts +0 -72
  234. package/dist/constants.d.ts +0 -1088
  235. package/dist/controls-options-manager/constants.d.ts +0 -4
  236. package/dist/controls-options-manager/enums.d.ts +0 -15
  237. package/dist/controls-options-manager/index.d.ts +0 -136
  238. package/dist/controls-options-manager/types.d.ts +0 -43
  239. package/dist/controls-options-manager/util.d.ts +0 -1
  240. package/dist/index.d.ts +0 -7
  241. package/dist/interceptors/index.d.ts +0 -2
  242. package/dist/interceptors/locusRetry.d.ts +0 -27
  243. package/dist/interpretation/collection.d.ts +0 -5
  244. package/dist/interpretation/index.d.ts +0 -5
  245. package/dist/interpretation/siLanguage.d.ts +0 -5
  246. package/dist/locus-info/controlsUtils.d.ts +0 -2
  247. package/dist/locus-info/embeddedAppsUtils.d.ts +0 -2
  248. package/dist/locus-info/fullState.d.ts +0 -2
  249. package/dist/locus-info/hostUtils.d.ts +0 -2
  250. package/dist/locus-info/index.d.ts +0 -322
  251. package/dist/locus-info/infoUtils.d.ts +0 -2
  252. package/dist/locus-info/mediaSharesUtils.d.ts +0 -2
  253. package/dist/locus-info/parser.d.ts +0 -272
  254. package/dist/locus-info/selfUtils.d.ts +0 -2
  255. package/dist/media/index.d.ts +0 -34
  256. package/dist/media/properties.d.ts +0 -93
  257. package/dist/media/util.d.ts +0 -2
  258. package/dist/mediaQualityMetrics/config.d.ts +0 -241
  259. package/dist/mediaQualityMetrics/config.js +0 -502
  260. package/dist/mediaQualityMetrics/config.js.map +0 -1
  261. package/dist/meeting/effectsState.js +0 -260
  262. package/dist/meeting/effectsState.js.map +0 -1
  263. package/dist/meeting/in-meeting-actions.d.ts +0 -167
  264. package/dist/meeting/index.d.ts +0 -1825
  265. package/dist/meeting/locusMediaRequest.d.ts +0 -74
  266. package/dist/meeting/muteState.d.ts +0 -178
  267. package/dist/meeting/request.d.ts +0 -295
  268. package/dist/meeting/request.type.d.ts +0 -11
  269. package/dist/meeting/state.d.ts +0 -9
  270. package/dist/meeting/util.d.ts +0 -119
  271. package/dist/meeting/voicea-meeting.d.ts +0 -16
  272. package/dist/meeting-info/collection.d.ts +0 -20
  273. package/dist/meeting-info/index.d.ts +0 -69
  274. package/dist/meeting-info/meeting-info-v2.d.ts +0 -123
  275. package/dist/meeting-info/request.d.ts +0 -22
  276. package/dist/meeting-info/util.d.ts +0 -2
  277. package/dist/meeting-info/utilv2.d.ts +0 -2
  278. package/dist/meetings/collection.d.ts +0 -40
  279. package/dist/meetings/index.d.ts +0 -390
  280. package/dist/meetings/meetings.types.d.ts +0 -4
  281. package/dist/meetings/request.d.ts +0 -27
  282. package/dist/meetings/util.d.ts +0 -18
  283. package/dist/member/index.d.ts +0 -160
  284. package/dist/member/member.types.js +0 -17
  285. package/dist/member/member.types.js.map +0 -1
  286. package/dist/member/types.d.ts +0 -32
  287. package/dist/member/util.d.ts +0 -2
  288. package/dist/members/collection.d.ts +0 -29
  289. package/dist/members/index.d.ts +0 -353
  290. package/dist/members/request.d.ts +0 -114
  291. package/dist/members/types.d.ts +0 -25
  292. package/dist/members/util.d.ts +0 -215
  293. package/dist/metrics/config.js +0 -276
  294. package/dist/metrics/config.js.map +0 -1
  295. package/dist/metrics/constants.d.ts +0 -70
  296. package/dist/metrics/index.d.ts +0 -45
  297. package/dist/multistream/mediaRequestManager.d.ts +0 -119
  298. package/dist/multistream/receiveSlot.d.ts +0 -68
  299. package/dist/multistream/receiveSlotManager.d.ts +0 -56
  300. package/dist/multistream/remoteMedia.d.ts +0 -72
  301. package/dist/multistream/remoteMediaGroup.d.ts +0 -49
  302. package/dist/multistream/remoteMediaManager.d.ts +0 -300
  303. package/dist/multistream/sendSlotManager.d.ts +0 -69
  304. package/dist/networkQualityMonitor/index.d.ts +0 -70
  305. package/dist/networkQualityMonitor/index.js +0 -221
  306. package/dist/networkQualityMonitor/index.js.map +0 -1
  307. package/dist/peer-connection-manager/index.js +0 -671
  308. package/dist/peer-connection-manager/index.js.map +0 -1
  309. package/dist/peer-connection-manager/util.js +0 -109
  310. package/dist/peer-connection-manager/util.js.map +0 -1
  311. package/dist/personal-meeting-room/index.d.ts +0 -47
  312. package/dist/personal-meeting-room/request.d.ts +0 -14
  313. package/dist/personal-meeting-room/util.d.ts +0 -2
  314. package/dist/reachability/clusterReachability.d.ts +0 -109
  315. package/dist/reachability/index.d.ts +0 -105
  316. package/dist/reachability/request.d.ts +0 -39
  317. package/dist/reachability/util.d.ts +0 -8
  318. package/dist/reactions/constants.d.ts +0 -3
  319. package/dist/reactions/reactions.d.ts +0 -4
  320. package/dist/reactions/reactions.type.d.ts +0 -52
  321. package/dist/reconnection-manager/index.d.ts +0 -136
  322. package/dist/recording-controller/enums.d.ts +0 -7
  323. package/dist/recording-controller/index.d.ts +0 -207
  324. package/dist/recording-controller/util.d.ts +0 -14
  325. package/dist/roap/collection.js +0 -62
  326. package/dist/roap/collection.js.map +0 -1
  327. package/dist/roap/handler.js +0 -275
  328. package/dist/roap/handler.js.map +0 -1
  329. package/dist/roap/index.d.ts +0 -86
  330. package/dist/roap/request.d.ts +0 -39
  331. package/dist/roap/state.js +0 -126
  332. package/dist/roap/state.js.map +0 -1
  333. package/dist/roap/turnDiscovery.d.ts +0 -155
  334. package/dist/roap/util.js +0 -75
  335. package/dist/roap/util.js.map +0 -1
  336. package/dist/rtcMetrics/constants.d.ts +0 -4
  337. package/dist/rtcMetrics/constants.js +0 -11
  338. package/dist/rtcMetrics/constants.js.map +0 -1
  339. package/dist/rtcMetrics/index.d.ts +0 -61
  340. package/dist/rtcMetrics/index.js +0 -197
  341. package/dist/rtcMetrics/index.js.map +0 -1
  342. package/dist/statsAnalyzer/global.d.ts +0 -36
  343. package/dist/statsAnalyzer/global.js +0 -126
  344. package/dist/statsAnalyzer/global.js.map +0 -1
  345. package/dist/statsAnalyzer/index.d.ts +0 -217
  346. package/dist/statsAnalyzer/index.js +0 -1013
  347. package/dist/statsAnalyzer/index.js.map +0 -1
  348. package/dist/statsAnalyzer/mqaUtil.d.ts +0 -48
  349. package/dist/statsAnalyzer/mqaUtil.js +0 -179
  350. package/dist/statsAnalyzer/mqaUtil.js.map +0 -1
  351. package/dist/transcription/index.d.ts +0 -64
  352. package/dist/types/common/errors/reconnection-in-progress.d.ts +0 -9
  353. package/dist/types/mediaQualityMetrics/config.d.ts +0 -241
  354. package/dist/types/networkQualityMonitor/index.d.ts +0 -70
  355. package/dist/types/rtcMetrics/constants.d.ts +0 -4
  356. package/dist/types/rtcMetrics/index.d.ts +0 -71
  357. package/dist/types/statsAnalyzer/global.d.ts +0 -36
  358. package/dist/types/statsAnalyzer/index.d.ts +0 -217
  359. package/dist/types/statsAnalyzer/mqaUtil.d.ts +0 -48
  360. package/dist/webinar/collection.d.ts +0 -16
  361. package/dist/webinar/index.d.ts +0 -5
@@ -1,74 +0,0 @@
1
- import { WebexPlugin } from '@webex/webex-core';
2
- import { IP_VERSION } from '../constants';
3
- export type MediaRequestType = 'RoapMessage' | 'LocalMute';
4
- export type RequestResult = any;
5
- export type RoapRequest = {
6
- type: 'RoapMessage';
7
- selfUrl: string;
8
- mediaId: string;
9
- roapMessage: any;
10
- reachability: any;
11
- sequence?: any;
12
- joinCookie: any;
13
- ipVersion?: IP_VERSION;
14
- };
15
- export type LocalMuteRequest = {
16
- type: 'LocalMute';
17
- selfUrl: string;
18
- mediaId: string;
19
- sequence?: any;
20
- muteOptions: {
21
- audioMuted?: boolean;
22
- videoMuted?: boolean;
23
- };
24
- };
25
- export type Request = RoapRequest | LocalMuteRequest;
26
- export type Config = {
27
- device: {
28
- url: string;
29
- deviceType: string;
30
- countryCode?: string;
31
- regionCode?: string;
32
- };
33
- correlationId: string;
34
- preferTranscoding: boolean;
35
- };
36
- /**
37
- * This class manages all /media API requests to Locus. Every call to that
38
- * Locus API has to go through this class.
39
- */
40
- export declare class LocusMediaRequest extends WebexPlugin {
41
- private config;
42
- private latestAudioMuted?;
43
- private latestVideoMuted?;
44
- private isRequestInProgress;
45
- private queuedRequests;
46
- private confluenceState;
47
- /**
48
- * Constructor
49
- */
50
- constructor(config: Config, options: any);
51
- /**
52
- * Add a request to the internal queue.
53
- */
54
- private addToQueue;
55
- /**
56
- * Takes the next request from the queue and executes it. Once that
57
- * request is completed, the next one will be taken from the queue
58
- * and executed and this is repeated until the queue is empty.
59
- */
60
- private executeNextQueuedRequest;
61
- /**
62
- * Returns latest requested audio and video mute values. If they have never been
63
- * requested, we assume audio/video to be muted.
64
- */
65
- private getLatestMuteState;
66
- /**
67
- * Prepares the uri and body for the media request to be sent to Locus
68
- */
69
- private sendHttpRequest;
70
- /**
71
- * Sends a media request to Locus
72
- */
73
- send(request: Request): Promise<RequestResult>;
74
- }
@@ -1,178 +0,0 @@
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 stream has changed.
42
- * It reapplies the remote mute state onto the new stream and also reads the current
43
- * local mute state from the stream 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
- handleLocalStreamChange(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 stream
60
- *
61
- * @param {Object} meeting - the meeting object
62
- * @param {Boolean} mute - true to mute the stream, false to unmute it
63
- * @param {ServerMuteReason} reason - reason for muting/unmuting
64
- * @returns {void}
65
- */
66
- private muteLocalStream;
67
- /**
68
- * This method should be called when the local stream 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
- handleLocalStreamMuteStateChange(meeting?: any): void;
76
- /**
77
- * Applies the current mute state to the local stream (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 stream
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
- /** Applies the current value for unmute allowed to the underlying stream
120
- *
121
- * @param {Meeting} meeting
122
- * @returns {void}
123
- */
124
- private applyUnmuteAllowedToStream;
125
- /**
126
- * This method should be called whenever the server remote mute state is changed
127
- *
128
- * @public
129
- * @memberof MuteState
130
- * @param {Meeting} meeting
131
- * @param {Boolean} [muted] true if user is remotely muted, false otherwise
132
- * @param {Boolean} [unmuteAllowed] indicates if user is allowed to unmute self (false when "hard mute" feature is used)
133
- * @returns {undefined}
134
- */
135
- handleServerRemoteMuteUpdate(meeting: any, muted?: boolean, unmuteAllowed?: boolean): void;
136
- /**
137
- * This method should be called whenever we receive from the server a requirement to locally unmute
138
- *
139
- * @public
140
- * @memberof MuteState
141
- * @param {Object} [meeting] the meeting object
142
- * @returns {undefined}
143
- */
144
- handleServerLocalUnmuteRequired(meeting?: any): void;
145
- /**
146
- * Returns true if the user is locally or remotely muted.
147
- * It only checks the mute status, ignoring the fact whether audio/video is enabled.
148
- *
149
- * @public
150
- * @memberof MuteState
151
- * @returns {Boolean}
152
- */
153
- isMuted(): boolean;
154
- /**
155
- * Returns true if the user is remotely muted
156
- *
157
- * @public
158
- * @memberof MuteState
159
- * @returns {Boolean}
160
- */
161
- isRemotelyMuted(): boolean;
162
- /**
163
- * Returns true if unmute is allowed
164
- *
165
- * @public
166
- * @memberof MuteState
167
- * @returns {Boolean}
168
- */
169
- isUnmuteAllowed(): boolean;
170
- /**
171
- * Returns true if the user is locally muted or audio/video is disabled
172
- *
173
- * @public
174
- * @memberof MuteState
175
- * @returns {Boolean}
176
- */
177
- isLocallyMuted(): boolean;
178
- }
@@ -1,295 +0,0 @@
1
- import { StatelessWebexPlugin } from '@webex/webex-core';
2
- import { IP_VERSION } from '../constants';
3
- import { SendReactionOptions, ToggleReactionsOptions } from './request.type';
4
- import { AnnotationInfo } from '../annotation/annotation.types';
5
- /**
6
- * @class MeetingRequest
7
- */
8
- export default class MeetingRequest extends StatelessWebexPlugin {
9
- changeVideoLayoutDebounced: any;
10
- meetingRef: WeakRef<any>;
11
- locusDeltaRequest: (options: object) => Promise<any>;
12
- buildLocusDeltaRequestOptions: (options: object) => Promise<any>;
13
- /**
14
- * Constructor
15
- * @param {Object} attrs
16
- * @param {Object} options
17
- */
18
- constructor(attrs: any, options: any);
19
- /**
20
- * Returns joinCookie from boundedStorage if present.
21
- * @returns {Object} joinCookie
22
- */
23
- private getJoinCookie;
24
- /**
25
- * Make a network request to join a meeting
26
- * @param {Object} options
27
- * @param {String} options.sipUri
28
- * @param {String} options.deviceUrl
29
- * @param {String} options.locusUrl
30
- * @param {String} options.resourceId,
31
- * @param {String} options.correlationId
32
- * @param {boolean} options.ensureConversation
33
- * @param {boolean} options.moderator
34
- * @param {boolean} options.pin
35
- * @param {boolean} options.moveToResource
36
- * @param {Object} options.roapMessage
37
- * @param {boolean} options.breakoutsSupported
38
- * @param {String} options.locale,
39
- * @param {Array} options.deviceCapabilities
40
- * @param {boolean} options.liveAnnotationSupported
41
- * @param {String} options.alias
42
- * @returns {Promise}
43
- */
44
- joinMeeting(options: {
45
- sipUri: string;
46
- deviceUrl: string;
47
- locusUrl: string;
48
- locusClusterUrl: string;
49
- resourceId: string;
50
- correlationId: string;
51
- ensureConversation: boolean;
52
- moderator: boolean;
53
- pin: boolean;
54
- moveToResource: boolean;
55
- roapMessage: any;
56
- asResourceOccupant: any;
57
- inviteeAddress: any;
58
- meetingNumber: any;
59
- permissionToken: any;
60
- preferTranscoding: any;
61
- reachability: any;
62
- breakoutsSupported: boolean;
63
- locale?: string;
64
- deviceCapabilities?: Array<string>;
65
- liveAnnotationSupported: boolean;
66
- ipVersion?: IP_VERSION;
67
- alias?: string;
68
- }): Promise<any>;
69
- /**
70
- * Send a request to refresh the captcha
71
- * @param {Object} options
72
- * @param {String} options.captchaRefreshUrl
73
- * @param {String} options.captchaId
74
- * @returns {Promise}
75
- * @private
76
- */
77
- private refreshCaptcha;
78
- /**
79
- * Make a network request to add a dial in device
80
- * @param {Object} options
81
- * @param {String} options.correlationId
82
- * @param {String} options.locusUrl url for the meeting
83
- * @param {String} options.dialInUrl identifier for the to-be provisioned device
84
- * @param {String} options.clientUrl identifier for the web device
85
- * @returns {Promise}
86
- * @private
87
- */
88
- private dialIn;
89
- /**
90
- * Make a network request to add a dial out device
91
- * @param {Object} options
92
- * @param {String} options.correlationId
93
- * @param {String} options.locusUrl url for the meeting
94
- * @param {String} options.dialOutUrl identifier for the to-be provisioned device
95
- * @param {String} options.phoneNumber phone number to dial out to
96
- * @param {String} options.clientUrl identifier for the web device
97
- * @returns {Promise}
98
- * @private
99
- */
100
- private dialOut;
101
- /**
102
- * Sends a requests to get the latest locus DTO, it might be a full Locus or a delta, depending on the url provided
103
- * @param {Object} options
104
- * @param {String} options.locusUrl sync url to get ht elatest locus delta
105
- * @returns {Promise}
106
- */
107
- getLocusDTO(options: {
108
- url: string;
109
- }): any;
110
- /**
111
- * Make a network request to make a provisioned phone leave the meeting
112
- * @param {Object} options
113
- * @param {String} options.locusUrl
114
- * @param {String} options.phoneUrl
115
- * @param {String} options.correlationId
116
- * @param {String} options.selfId
117
- * @returns {Promise}
118
- * @private
119
- */
120
- private disconnectPhoneAudio;
121
- /**
122
- * Prepares request options to to leave a meeting
123
- * @param {Object} options
124
- * @param {Url} options.locusUrl
125
- * @param {String} options.selfId
126
- * @param {Url} options.deviceUrl
127
- * @param {String} options.resourceId,
128
- * @param {String} options.correlationId
129
- * @returns {Object} request options
130
- */
131
- prepareLeaveMeetingRequestOptions({ locusUrl, selfId, deviceUrl: url, resourceId, correlationId, }: {
132
- locusUrl: string;
133
- selfId: string;
134
- deviceUrl: string;
135
- resourceId: string;
136
- correlationId: string;
137
- }): {
138
- method: string;
139
- uri: string;
140
- body: {
141
- device: {
142
- deviceType: any;
143
- url: string;
144
- };
145
- usingResource: string;
146
- correlationId: string;
147
- };
148
- };
149
- /**
150
- * Make a network request to leave a meeting
151
- * @param {Object} options
152
- * @returns {Promise}
153
- */
154
- leaveMeeting({ locusUrl, selfId, deviceUrl: url, resourceId, correlationId, }: {
155
- locusUrl: string;
156
- selfId: string;
157
- deviceUrl: string;
158
- resourceId: string;
159
- correlationId: string;
160
- }): Promise<any>;
161
- /**
162
- * Builds request options to leave a meeting
163
- * @param {Object} options
164
- * @returns {Object} request options
165
- */
166
- buildLeaveMeetingRequestOptions(options: any): Promise<any>;
167
- /**
168
- * Make a network request to acknowledge a meeting
169
- * @param {Object} options
170
- * @param {String} options.locusUrl
171
- * @param {String} options.deviceUrl
172
- * @param {String} options.correlationId
173
- * @returns {Promise}
174
- */
175
- acknowledgeMeeting(options: {
176
- locusUrl: string;
177
- deviceUrl: string;
178
- correlationId: string;
179
- }): Promise<any>;
180
- /**
181
- * Makes a network request to lock the meeting
182
- * @param {Object} options
183
- * @param {Boolean} options.lock Whether it is locked or not
184
- * @returns {Promise}
185
- */
186
- lockMeeting(options: any): Promise<any>;
187
- /**
188
- * Make a network request to decline a meeting
189
- * @param {Object} options
190
- * @param {String} options.locusUrl
191
- * @param {String} options.deviceUrl
192
- * @param {String} options.reason
193
- * @returns {Promise}
194
- */
195
- declineMeeting(options: {
196
- locusUrl: string;
197
- deviceUrl: string;
198
- reason: string;
199
- }): Promise<any>;
200
- /**
201
- * change the content floor grant
202
- * @param {Object} options options for floor grant
203
- * @param {String} options.disposition floor action (granted/released)
204
- * @param {String} options.personUrl personUrl who is requesting floor
205
- * @param {String} options.deviceUrl Url of a device
206
- * @param {String} options.resourceId Populated if you are paired to a device
207
- * @param {String} options.uri floor grant uri
208
- * @param {String} options.shareInstanceId id for current share
209
- * @returns {Promise}
210
- */
211
- changeMeetingFloor(options: {
212
- disposition: string;
213
- personUrl: string;
214
- deviceUrl: string;
215
- resourceId: string;
216
- uri: string;
217
- annotationInfo: AnnotationInfo;
218
- shareInstanceId: string;
219
- } | any): any;
220
- /**
221
- * Sends a request to the DTMF endpoint to send tones
222
- * @param {Object} options
223
- * @param {String} options.locusUrl
224
- * @param {String} options.deviceUrl
225
- * @param {String} options.tones a string of one or more DTMF tones to send
226
- * @returns {Promise}
227
- */
228
- sendDTMF({ locusUrl, deviceUrl, tones }: {
229
- locusUrl: string;
230
- deviceUrl: string;
231
- tones: string;
232
- }): Promise<any>;
233
- /**
234
- * Sends a request to the controls endpoint to set the video layout
235
- * @param {Object} options
236
- * @param {String} options.locusUrl
237
- * @param {String} options.deviceUrl
238
- * @param {String} options.layoutType a layout type that should be available in meeting constants {@link #layout_types}
239
- * @param {Object} options.main preferred dimensions for the remote main video stream
240
- * @param {Number} options.main.width preferred width of main video stream
241
- * @param {Number} options.main.height preferred height of main video stream
242
- * @param {Object} options.content preferred dimensions for the remote content share stream
243
- * @param {Number} options.content.width preferred width of content share stream
244
- * @param {Number} options.content.height preferred height of content share stream
245
- * @returns {Promise}
246
- */
247
- changeVideoLayout({ locusUrl, deviceUrl, layoutType, main, content, }: {
248
- locusUrl: string;
249
- deviceUrl: string;
250
- layoutType: string;
251
- main: {
252
- width: number;
253
- height: number;
254
- };
255
- content: {
256
- width: number;
257
- height: number;
258
- };
259
- }): Promise<any>;
260
- /**
261
- * Make a network request to end meeting for all
262
- * @param {Object} options
263
- * @param {Url} options.locusUrl
264
- * @returns {Promise}
265
- */
266
- endMeetingForAll({ locusUrl }: {
267
- locusUrl: string;
268
- }): Promise<any>;
269
- /**
270
- * Send a locus keepAlive (used in lobby)
271
- * @param {Object} options
272
- * @param {Url} options.keepAliveUrl
273
- * @returns {Promise}
274
- */
275
- keepAlive({ keepAliveUrl }: {
276
- keepAliveUrl: string;
277
- }): any;
278
- /**
279
- * Make a network request to send a reaction.
280
- * @param {Object} options
281
- * @param {Url} options.reactionChannelUrl
282
- * @param {Reaction} options.reaction
283
- * @param {string} options.senderID
284
- * @returns {Promise}
285
- */
286
- sendReaction({ reactionChannelUrl, reaction, participantId }: SendReactionOptions): any;
287
- /**
288
- * Make a network request to enable or disable reactions.
289
- * @param {boolean} options.enable - determines if we need to enable or disable.
290
- * @param {locusUrl} options.locusUrl
291
- * @returns {Promise}
292
- */
293
- toggleReactions({ enable, locusUrl, requestingParticipantId }: ToggleReactionsOptions): Promise<any>;
294
- getLocusStatusByUrl(locusUrl: string): any;
295
- }
@@ -1,11 +0,0 @@
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
- };
@@ -1,9 +0,0 @@
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;
@@ -1,119 +0,0 @@
1
- import { LocalCameraStream, LocalMicrophoneStream } from '@webex/media-helpers';
2
- import { SELF_POLICY, IP_VERSION } from '../constants';
3
- declare const MeetingUtil: {
4
- parseLocusJoin: (response: any) => any;
5
- remoteUpdateAudioVideo: (meeting: any, audioMuted?: boolean, videoMuted?: boolean) => any;
6
- hasOwner: (info: any) => any;
7
- isOwnerSelf: (owner: any, selfId: any) => boolean;
8
- isPinOrGuest: (err: any) => boolean;
9
- /**
10
- * Returns the current state of knowledge about whether we are on an ipv4-only or ipv6-only or mixed (ipv4 and ipv6) network.
11
- * The return value matches the possible values of "ipver" parameter used by the backend APIs.
12
- *
13
- * @param {Object} webex webex instance
14
- * @returns {IP_VERSION|undefined} ipver value to be passed to the backend APIs or undefined if we should not pass any value to the backend
15
- */
16
- getIpVersion(webex: any): IP_VERSION | undefined;
17
- joinMeeting: (meeting: any, options: any) => any;
18
- cleanUp: (meeting: any) => any;
19
- disconnectPhoneAudio: (meeting: any, phoneUrl: any) => any;
20
- /**
21
- * Returns options for leaving a meeting.
22
- * @param {any} meeting
23
- * @param {any} options
24
- * @returns {any} leave options
25
- */
26
- prepareLeaveMeetingOptions: (meeting: any, options?: any) => any;
27
- leaveMeeting: (meeting: any, options?: any) => any;
28
- declineMeeting: (meeting: any, reason: any) => any;
29
- isUserInLeftState: (locusInfo: any) => boolean;
30
- isUserInIdleState: (locusInfo: any) => boolean;
31
- isUserInJoinedState: (locusInfo: any) => boolean;
32
- isMediaEstablished: (currentMediaStatus: any) => any;
33
- joinMeetingOptions: (meeting: any, options?: any) => any;
34
- /**
35
- * Returns request options for leaving a meeting.
36
- * @param {any} meeting
37
- * @param {any} options
38
- * @returns {any} request options
39
- */
40
- buildLeaveFetchRequestOptions: (meeting: any, options?: any) => any;
41
- getTrack: (stream: any) => {
42
- audioTrack: any;
43
- videoTrack: any;
44
- };
45
- getModeratorFromLocusInfo: (locusInfo: any) => any;
46
- getPolicyFromLocusInfo: (locusInfo: any) => any;
47
- getUserDisplayHintsFromLocusInfo: (locusInfo: any) => any;
48
- canInviteNewParticipants: (displayHints: any) => any;
49
- canAdmitParticipant: (displayHints: any) => any;
50
- canUserLock: (displayHints: any) => any;
51
- canUserUnlock: (displayHints: any) => any;
52
- canUserRaiseHand: (displayHints: any) => any;
53
- canUserLowerAllHands: (displayHints: any) => any;
54
- canUserLowerSomeoneElsesHand: (displayHints: any) => any;
55
- bothLeaveAndEndMeetingAvailable: (displayHints: any) => any;
56
- canManageBreakout: (displayHints: any) => any;
57
- canBroadcastMessageToBreakout: (displayHints: any, policies?: {}) => boolean;
58
- isSuppressBreakoutSupport: (displayHints: any) => any;
59
- canAdmitLobbyToBreakout: (displayHints: any) => boolean;
60
- isBreakoutPreassignmentsEnabled: (displayHints: any) => boolean;
61
- canUserAskForHelp: (displayHints: any) => boolean;
62
- lockMeeting: (actions: any, request: any, locusUrl: any) => any;
63
- unlockMeeting: (actions: any, request: any, locusUrl: any) => any;
64
- handleAudioLogging: (audioStream?: LocalMicrophoneStream) => void;
65
- handleVideoLogging: (videoStream?: LocalCameraStream) => void;
66
- handleDeviceLogging: (devices?: any[]) => void;
67
- endMeetingForAll: (meeting: any) => any;
68
- canEnableClosedCaption: (displayHints: any) => any;
69
- isSaveTranscriptsEnabled: (displayHints: any) => any;
70
- canStartTranscribing: (displayHints: any) => any;
71
- canStopTranscribing: (displayHints: any) => any;
72
- isClosedCaptionActive: (displayHints: any) => any;
73
- isWebexAssistantActive: (displayHints: any) => any;
74
- canViewCaptionPanel: (displayHints: any) => any;
75
- isRealTimeTranslationEnabled: (displayHints: any) => any;
76
- canSelectSpokenLanguages: (displayHints: any) => any;
77
- waitingForOthersToJoin: (displayHints: any) => any;
78
- canSendReactions: (originalValue: any, displayHints: any) => any;
79
- canUserRenameSelfAndObserved: (displayHints: any) => any;
80
- canUserRenameOthers: (displayHints: any) => any;
81
- canShareWhiteBoard: (displayHints: any) => any;
82
- /**
83
- * Adds the current locus sequence information to a request body
84
- * @param {Object} meeting The meeting object
85
- * @param {Object} requestBody The body of a request to locus
86
- * @returns {void}
87
- */
88
- addSequence: (meeting: any, requestBody: any) => void;
89
- /**
90
- * Updates the locus info for the meeting with the delta locus
91
- * returned from requests that include the sequence information
92
- * Returns the original response object
93
- * @param {Object} meeting The meeting object
94
- * @param {Object} response The response of the http request
95
- * @returns {Object}
96
- */
97
- updateLocusWithDelta: (meeting: any, response: any) => any;
98
- generateBuildLocusDeltaRequestOptions: (originalMeeting: any) => (originalOptions: any) => any;
99
- generateLocusDeltaRequest: (originalMeeting: any) => (originalOptions: any) => any;
100
- selfSupportsFeature: (feature: SELF_POLICY, userPolicies: Record<SELF_POLICY, boolean>) => boolean;
101
- parseInterpretationInfo: (meeting: any, meetingInfo: any) => void;
102
- /**
103
- * Returns a CA-recognized error payload for the specified raw error message/reason.
104
- *
105
- * New errors can be added to this function for handling in the future
106
- *
107
- * @param {String} reason the raw error message
108
- * @returns {Array<object>} an array of payload objects
109
- */
110
- getChangeMeetingFloorErrorPayload: (reason: string) => {
111
- fatal: boolean;
112
- category: string;
113
- errorCode: number;
114
- errorDescription: string;
115
- name: string;
116
- shownToUser: boolean;
117
- }[];
118
- };
119
- export default MeetingUtil;