@webex/plugin-meetings 3.0.0-stream-classes.5 → 3.0.0

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 (465) hide show
  1. package/.eslintrc.js +6 -0
  2. package/README.md +12 -0
  3. package/babel.config.js +3 -0
  4. package/dist/annotation/constants.js +12 -20
  5. package/dist/annotation/constants.js.map +1 -1
  6. package/dist/annotation/index.js +25 -10
  7. package/dist/annotation/index.js.map +1 -1
  8. package/dist/breakouts/breakout.js +2 -3
  9. package/dist/breakouts/breakout.js.map +1 -1
  10. package/dist/breakouts/collection.js +1 -2
  11. package/dist/breakouts/collection.js.map +1 -1
  12. package/dist/breakouts/edit-lock-error.js +1 -2
  13. package/dist/breakouts/edit-lock-error.js.map +1 -1
  14. package/dist/breakouts/events.js +1 -2
  15. package/dist/breakouts/events.js.map +1 -1
  16. package/dist/breakouts/index.js +13 -14
  17. package/dist/breakouts/index.js.map +1 -1
  18. package/dist/breakouts/request.js +1 -2
  19. package/dist/breakouts/request.js.map +1 -1
  20. package/dist/breakouts/utils.js +3 -6
  21. package/dist/breakouts/utils.js.map +1 -1
  22. package/dist/common/browser-detection.js +2 -3
  23. package/dist/common/browser-detection.js.map +1 -1
  24. package/dist/common/collection.js +3 -4
  25. package/dist/common/collection.js.map +1 -1
  26. package/dist/common/config.js +1 -2
  27. package/dist/common/config.js.map +1 -1
  28. package/dist/common/errors/captcha-error.js +1 -2
  29. package/dist/common/errors/captcha-error.js.map +1 -1
  30. package/dist/common/errors/intent-to-join.js +1 -2
  31. package/dist/common/errors/intent-to-join.js.map +1 -1
  32. package/dist/common/errors/join-meeting.js +1 -2
  33. package/dist/common/errors/join-meeting.js.map +1 -1
  34. package/dist/common/errors/media.js +1 -2
  35. package/dist/common/errors/media.js.map +1 -1
  36. package/dist/common/errors/no-meeting-info.d.ts +14 -0
  37. package/dist/common/errors/no-meeting-info.js +50 -0
  38. package/dist/common/errors/no-meeting-info.js.map +1 -0
  39. package/dist/common/errors/parameter.js +3 -4
  40. package/dist/common/errors/parameter.js.map +1 -1
  41. package/dist/common/errors/password-error.js +1 -2
  42. package/dist/common/errors/password-error.js.map +1 -1
  43. package/dist/common/errors/permission.js +1 -2
  44. package/dist/common/errors/permission.js.map +1 -1
  45. package/dist/common/errors/reclaim-host-role-errors.d.ts +60 -0
  46. package/dist/common/errors/reclaim-host-role-errors.js +154 -0
  47. package/dist/common/errors/reclaim-host-role-errors.js.map +1 -0
  48. package/dist/common/errors/reconnection-in-progress.js +1 -2
  49. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  50. package/dist/common/errors/reconnection.js +1 -2
  51. package/dist/common/errors/reconnection.js.map +1 -1
  52. package/dist/common/errors/stats.js +1 -2
  53. package/dist/common/errors/stats.js.map +1 -1
  54. package/dist/{types/common → common}/errors/webex-errors.d.ts +13 -1
  55. package/dist/common/errors/webex-errors.js +35 -16
  56. package/dist/common/errors/webex-errors.js.map +1 -1
  57. package/dist/common/errors/webex-meetings-error.js +1 -2
  58. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  59. package/dist/common/events/events-scope.js +1 -2
  60. package/dist/common/events/events-scope.js.map +1 -1
  61. package/dist/common/events/events.js +1 -2
  62. package/dist/common/events/events.js.map +1 -1
  63. package/dist/common/events/trigger-proxy.js +1 -2
  64. package/dist/common/events/trigger-proxy.js.map +1 -1
  65. package/dist/common/events/util.js +1 -2
  66. package/dist/common/events/util.js.map +1 -1
  67. package/dist/common/logs/logger-config.js +1 -2
  68. package/dist/common/logs/logger-config.js.map +1 -1
  69. package/dist/common/logs/logger-proxy.js +1 -2
  70. package/dist/common/logs/logger-proxy.js.map +1 -1
  71. package/dist/{types/common → common}/logs/request.d.ts +3 -1
  72. package/dist/common/logs/request.js +8 -5
  73. package/dist/common/logs/request.js.map +1 -1
  74. package/dist/common/queue.js +2 -4
  75. package/dist/common/queue.js.map +1 -1
  76. package/dist/{types/config.d.ts → config.d.ts} +1 -1
  77. package/dist/config.js +3 -3
  78. package/dist/config.js.map +1 -1
  79. package/dist/{types/constants.d.ts → constants.d.ts} +71 -15
  80. package/dist/constants.js +252 -371
  81. package/dist/constants.js.map +1 -1
  82. package/dist/controls-options-manager/constants.js +3 -6
  83. package/dist/controls-options-manager/constants.js.map +1 -1
  84. package/dist/controls-options-manager/enums.js +7 -10
  85. package/dist/controls-options-manager/enums.js.map +1 -1
  86. package/dist/controls-options-manager/index.js +27 -32
  87. package/dist/controls-options-manager/index.js.map +1 -1
  88. package/dist/controls-options-manager/util.js +1 -2
  89. package/dist/controls-options-manager/util.js.map +1 -1
  90. package/dist/index.js +8 -5
  91. package/dist/index.js.map +1 -1
  92. package/dist/interceptors/index.d.ts +2 -0
  93. package/dist/interceptors/index.js +15 -0
  94. package/dist/interceptors/index.js.map +1 -0
  95. package/dist/interceptors/locusRetry.d.ts +27 -0
  96. package/dist/interceptors/locusRetry.js +94 -0
  97. package/dist/interceptors/locusRetry.js.map +1 -0
  98. package/dist/interpretation/collection.js +1 -2
  99. package/dist/interpretation/collection.js.map +1 -1
  100. package/dist/interpretation/index.js +2 -3
  101. package/dist/interpretation/index.js.map +1 -1
  102. package/dist/interpretation/siLanguage.js +2 -3
  103. package/dist/interpretation/siLanguage.js.map +1 -1
  104. package/dist/locus-info/controlsUtils.js +12 -13
  105. package/dist/locus-info/controlsUtils.js.map +1 -1
  106. package/dist/locus-info/embeddedAppsUtils.js +3 -4
  107. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  108. package/dist/locus-info/fullState.js +1 -2
  109. package/dist/locus-info/fullState.js.map +1 -1
  110. package/dist/locus-info/hostUtils.js +1 -2
  111. package/dist/locus-info/hostUtils.js.map +1 -1
  112. package/dist/{types/locus-info → locus-info}/index.d.ts +1 -1
  113. package/dist/locus-info/index.js +38 -37
  114. package/dist/locus-info/index.js.map +1 -1
  115. package/dist/locus-info/infoUtils.js +3 -4
  116. package/dist/locus-info/infoUtils.js.map +1 -1
  117. package/dist/locus-info/mediaSharesUtils.js +16 -3
  118. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  119. package/dist/{types/locus-info → locus-info}/parser.d.ts +3 -2
  120. package/dist/locus-info/parser.js +43 -31
  121. package/dist/locus-info/parser.js.map +1 -1
  122. package/dist/locus-info/selfUtils.js +7 -6
  123. package/dist/locus-info/selfUtils.js.map +1 -1
  124. package/dist/media/index.js +15 -10
  125. package/dist/media/index.js.map +1 -1
  126. package/dist/media/properties.js +16 -7
  127. package/dist/media/properties.js.map +1 -1
  128. package/dist/media/util.js +1 -2
  129. package/dist/media/util.js.map +1 -1
  130. package/dist/mediaQualityMetrics/config.d.ts +241 -0
  131. package/dist/mediaQualityMetrics/config.js +135 -339
  132. package/dist/mediaQualityMetrics/config.js.map +1 -1
  133. package/dist/{types/meeting → meeting}/in-meeting-actions.d.ts +4 -0
  134. package/dist/meeting/in-meeting-actions.js +18 -2
  135. package/dist/meeting/in-meeting-actions.js.map +1 -1
  136. package/dist/{types/meeting → meeting}/index.d.ts +318 -45
  137. package/dist/meeting/index.js +2620 -1405
  138. package/dist/meeting/index.js.map +1 -1
  139. package/dist/meeting/locusMediaRequest.js +4 -5
  140. package/dist/meeting/locusMediaRequest.js.map +1 -1
  141. package/dist/meeting/muteState.js +2 -4
  142. package/dist/meeting/muteState.js.map +1 -1
  143. package/dist/{types/meeting → meeting}/request.d.ts +2 -0
  144. package/dist/meeting/request.js +46 -31
  145. package/dist/meeting/request.js.map +1 -1
  146. package/dist/meeting/state.js +1 -2
  147. package/dist/meeting/state.js.map +1 -1
  148. package/dist/{types/meeting → meeting}/util.d.ts +17 -0
  149. package/dist/meeting/util.js +83 -10
  150. package/dist/meeting/util.js.map +1 -1
  151. package/dist/meeting/voicea-meeting.d.ts +16 -0
  152. package/dist/meeting/voicea-meeting.js +169 -0
  153. package/dist/meeting/voicea-meeting.js.map +1 -0
  154. package/dist/meeting-info/collection.js +3 -4
  155. package/dist/meeting-info/collection.js.map +1 -1
  156. package/dist/{types/meeting-info → meeting-info}/index.d.ts +7 -0
  157. package/dist/meeting-info/index.js +53 -27
  158. package/dist/meeting-info/index.js.map +1 -1
  159. package/dist/{types/meeting-info → meeting-info}/meeting-info-v2.d.ts +1 -0
  160. package/dist/meeting-info/meeting-info-v2.js +52 -33
  161. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  162. package/dist/meeting-info/request.js +1 -2
  163. package/dist/meeting-info/request.js.map +1 -1
  164. package/dist/meeting-info/util.js +8 -8
  165. package/dist/meeting-info/util.js.map +1 -1
  166. package/dist/meeting-info/utilv2.js +12 -9
  167. package/dist/meeting-info/utilv2.js.map +1 -1
  168. package/dist/{types/meetings → meetings}/collection.d.ts +9 -0
  169. package/dist/meetings/collection.js +21 -5
  170. package/dist/meetings/collection.js.map +1 -1
  171. package/dist/{types/meetings → meetings}/index.d.ts +45 -16
  172. package/dist/meetings/index.js +166 -74
  173. package/dist/meetings/index.js.map +1 -1
  174. package/dist/meetings/request.js +2 -3
  175. package/dist/meetings/request.js.map +1 -1
  176. package/dist/meetings/util.js +3 -10
  177. package/dist/meetings/util.js.map +1 -1
  178. package/dist/{types/member → member}/index.d.ts +1 -0
  179. package/dist/member/index.js +10 -3
  180. package/dist/member/index.js.map +1 -1
  181. package/dist/member/member.types.d.ts +11 -0
  182. package/dist/member/member.types.js +17 -0
  183. package/dist/member/member.types.js.map +1 -0
  184. package/dist/member/types.js +6 -8
  185. package/dist/member/types.js.map +1 -1
  186. package/dist/member/util.js +12 -2
  187. package/dist/member/util.js.map +1 -1
  188. package/dist/members/collection.js +1 -2
  189. package/dist/members/collection.js.map +1 -1
  190. package/dist/members/index.js +25 -8
  191. package/dist/members/index.js.map +1 -1
  192. package/dist/members/request.js +2 -3
  193. package/dist/members/request.js.map +1 -1
  194. package/dist/{types/members → members}/types.d.ts +1 -0
  195. package/dist/members/types.js +3 -4
  196. package/dist/members/types.js.map +1 -1
  197. package/dist/{types/members → members}/util.d.ts +6 -1
  198. package/dist/members/util.js +18 -8
  199. package/dist/members/util.js.map +1 -1
  200. package/dist/{types/metrics → metrics}/constants.d.ts +12 -0
  201. package/dist/metrics/constants.js +14 -3
  202. package/dist/metrics/constants.js.map +1 -1
  203. package/dist/metrics/index.js +3 -2
  204. package/dist/metrics/index.js.map +1 -1
  205. package/dist/multistream/mediaRequestManager.js +9 -11
  206. package/dist/multistream/mediaRequestManager.js.map +1 -1
  207. package/dist/multistream/receiveSlot.js +3 -5
  208. package/dist/multistream/receiveSlot.js.map +1 -1
  209. package/dist/multistream/receiveSlotManager.js +7 -9
  210. package/dist/multistream/receiveSlotManager.js.map +1 -1
  211. package/dist/multistream/remoteMedia.js +3 -5
  212. package/dist/multistream/remoteMedia.js.map +1 -1
  213. package/dist/multistream/remoteMediaGroup.js +7 -6
  214. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  215. package/dist/multistream/remoteMediaManager.js +28 -27
  216. package/dist/multistream/remoteMediaManager.js.map +1 -1
  217. package/dist/multistream/sendSlotManager.js +9 -6
  218. package/dist/multistream/sendSlotManager.js.map +1 -1
  219. package/dist/networkQualityMonitor/index.js +1 -2
  220. package/dist/networkQualityMonitor/index.js.map +1 -1
  221. package/dist/personal-meeting-room/index.js +2 -3
  222. package/dist/personal-meeting-room/index.js.map +1 -1
  223. package/dist/personal-meeting-room/request.js +2 -3
  224. package/dist/personal-meeting-room/request.js.map +1 -1
  225. package/dist/personal-meeting-room/util.js +1 -2
  226. package/dist/personal-meeting-room/util.js.map +1 -1
  227. package/dist/reachability/clusterReachability.d.ts +109 -0
  228. package/dist/reachability/clusterReachability.js +357 -0
  229. package/dist/reachability/clusterReachability.js.map +1 -0
  230. package/dist/reachability/index.d.ts +105 -0
  231. package/dist/reachability/index.js +279 -436
  232. package/dist/reachability/index.js.map +1 -1
  233. package/dist/reachability/request.js +14 -11
  234. package/dist/reachability/request.js.map +1 -1
  235. package/dist/reachability/util.d.ts +8 -0
  236. package/dist/reachability/util.js +29 -0
  237. package/dist/reachability/util.js.map +1 -0
  238. package/dist/reactions/constants.js +1 -2
  239. package/dist/reactions/constants.js.map +1 -1
  240. package/dist/reactions/reactions.js +2 -4
  241. package/dist/reactions/reactions.js.map +1 -1
  242. package/dist/reactions/reactions.type.js +6 -8
  243. package/dist/reactions/reactions.type.js.map +1 -1
  244. package/dist/{types/reconnection-manager → reconnection-manager}/index.d.ts +10 -0
  245. package/dist/reconnection-manager/index.js +129 -106
  246. package/dist/reconnection-manager/index.js.map +1 -1
  247. package/dist/recording-controller/enums.js +4 -5
  248. package/dist/recording-controller/enums.js.map +1 -1
  249. package/dist/recording-controller/index.js +43 -51
  250. package/dist/recording-controller/index.js.map +1 -1
  251. package/dist/recording-controller/util.js +1 -2
  252. package/dist/recording-controller/util.js.map +1 -1
  253. package/dist/{types/roap → roap}/index.d.ts +2 -1
  254. package/dist/roap/index.js +59 -28
  255. package/dist/roap/index.js.map +1 -1
  256. package/dist/roap/request.js +14 -22
  257. package/dist/roap/request.js.map +1 -1
  258. package/dist/{types/roap → roap}/turnDiscovery.d.ts +21 -4
  259. package/dist/roap/turnDiscovery.js +182 -89
  260. package/dist/roap/turnDiscovery.js.map +1 -1
  261. package/dist/rtcMetrics/constants.js +1 -2
  262. package/dist/rtcMetrics/constants.js.map +1 -1
  263. package/dist/{types/rtcMetrics → rtcMetrics}/index.d.ts +15 -1
  264. package/dist/rtcMetrics/index.js +72 -12
  265. package/dist/rtcMetrics/index.js.map +1 -1
  266. package/dist/statsAnalyzer/global.js +1 -2
  267. package/dist/statsAnalyzer/global.js.map +1 -1
  268. package/dist/{types/statsAnalyzer → statsAnalyzer}/index.d.ts +28 -11
  269. package/dist/statsAnalyzer/index.js +371 -318
  270. package/dist/statsAnalyzer/index.js.map +1 -1
  271. package/dist/statsAnalyzer/mqaUtil.d.ts +48 -0
  272. package/dist/statsAnalyzer/mqaUtil.js +295 -162
  273. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  274. package/dist/transcription/index.js +1 -2
  275. package/dist/transcription/index.js.map +1 -1
  276. package/dist/webinar/collection.d.ts +16 -0
  277. package/dist/webinar/collection.js +43 -0
  278. package/dist/webinar/collection.js.map +1 -0
  279. package/dist/webinar/index.d.ts +5 -0
  280. package/dist/webinar/index.js +68 -0
  281. package/dist/webinar/index.js.map +1 -0
  282. package/jest.config.js +3 -0
  283. package/package.json +44 -24
  284. package/process +1 -0
  285. package/src/common/errors/no-meeting-info.ts +24 -0
  286. package/src/common/errors/reclaim-host-role-errors.ts +134 -0
  287. package/src/common/errors/webex-errors.ts +19 -2
  288. package/src/common/logs/request.ts +5 -1
  289. package/src/config.ts +3 -5
  290. package/src/constants.ts +77 -8
  291. package/src/index.ts +4 -0
  292. package/src/interceptors/index.ts +3 -0
  293. package/src/interceptors/locusRetry.ts +67 -0
  294. package/src/locus-info/index.ts +19 -14
  295. package/src/locus-info/mediaSharesUtils.ts +16 -0
  296. package/src/locus-info/parser.ts +40 -21
  297. package/src/media/index.ts +8 -6
  298. package/src/media/properties.ts +17 -2
  299. package/src/mediaQualityMetrics/config.ts +103 -238
  300. package/src/meeting/in-meeting-actions.ts +8 -0
  301. package/src/meeting/index.ts +1664 -642
  302. package/src/meeting/request.ts +18 -0
  303. package/src/meeting/util.ts +102 -1
  304. package/src/meeting/voicea-meeting.ts +122 -0
  305. package/src/meeting-info/index.ts +47 -20
  306. package/src/meeting-info/meeting-info-v2.ts +32 -16
  307. package/src/meeting-info/util.ts +12 -9
  308. package/src/meeting-info/utilv2.ts +25 -15
  309. package/src/meetings/collection.ts +13 -0
  310. package/src/meetings/index.ts +112 -31
  311. package/src/meetings/util.ts +2 -8
  312. package/src/member/index.ts +9 -1
  313. package/src/member/member.types.ts +13 -0
  314. package/src/member/util.ts +14 -0
  315. package/src/members/index.ts +29 -2
  316. package/src/members/types.ts +1 -0
  317. package/src/members/util.ts +15 -1
  318. package/src/metrics/constants.ts +12 -0
  319. package/src/reachability/clusterReachability.ts +320 -0
  320. package/src/reachability/index.ts +221 -382
  321. package/src/reachability/request.ts +1 -1
  322. package/src/reachability/util.ts +24 -0
  323. package/src/reconnection-manager/index.ts +87 -83
  324. package/src/roap/index.ts +60 -24
  325. package/src/roap/request.ts +4 -17
  326. package/src/roap/turnDiscovery.ts +112 -39
  327. package/src/rtcMetrics/index.ts +71 -5
  328. package/src/statsAnalyzer/index.ts +430 -427
  329. package/src/statsAnalyzer/mqaUtil.ts +317 -168
  330. package/src/webinar/collection.ts +31 -0
  331. package/src/webinar/index.ts +62 -0
  332. package/test/integration/spec/journey.js +12 -12
  333. package/test/integration/spec/space-meeting.js +1 -1
  334. package/test/unit/spec/breakouts/breakout.ts +2 -1
  335. package/test/unit/spec/breakouts/index.ts +7 -4
  336. package/test/unit/spec/interceptors/locusRetry.ts +131 -0
  337. package/test/unit/spec/locus-info/index.js +88 -12
  338. package/test/unit/spec/locus-info/lib/SeqCmp.json +16 -0
  339. package/test/unit/spec/locus-info/mediaSharesUtils.ts +10 -0
  340. package/test/unit/spec/locus-info/parser.js +54 -13
  341. package/test/unit/spec/locus-info/selfUtils.js +1 -1
  342. package/test/unit/spec/media/index.ts +25 -4
  343. package/test/unit/spec/media/properties.ts +2 -2
  344. package/test/unit/spec/meeting/in-meeting-actions.ts +4 -0
  345. package/test/unit/spec/meeting/index.js +4388 -1382
  346. package/test/unit/spec/meeting/request.js +63 -12
  347. package/test/unit/spec/meeting/utils.js +145 -10
  348. package/test/unit/spec/meeting/voicea-meeting.ts +266 -0
  349. package/test/unit/spec/meeting-info/index.js +180 -61
  350. package/test/unit/spec/meeting-info/meetinginfov2.js +216 -68
  351. package/test/unit/spec/meetings/collection.js +12 -0
  352. package/test/unit/spec/meetings/index.js +674 -193
  353. package/test/unit/spec/meetings/utils.js +35 -12
  354. package/test/unit/spec/member/index.js +8 -7
  355. package/test/unit/spec/member/util.js +32 -0
  356. package/test/unit/spec/members/index.js +130 -17
  357. package/test/unit/spec/members/utils.js +26 -0
  358. package/test/unit/spec/metrics/index.js +1 -2
  359. package/test/unit/spec/multistream/mediaRequestManager.ts +1 -0
  360. package/test/unit/spec/reachability/clusterReachability.ts +279 -0
  361. package/test/unit/spec/reachability/index.ts +505 -135
  362. package/test/unit/spec/reachability/util.ts +40 -0
  363. package/test/unit/spec/reconnection-manager/index.js +74 -17
  364. package/test/unit/spec/recording-controller/index.js +0 -1
  365. package/test/unit/spec/roap/index.ts +181 -61
  366. package/test/unit/spec/roap/request.ts +27 -3
  367. package/test/unit/spec/roap/turnDiscovery.ts +363 -102
  368. package/test/unit/spec/rtcMetrics/index.ts +57 -3
  369. package/test/unit/spec/stats-analyzer/index.js +1225 -12
  370. package/test/unit/spec/webinar/collection.ts +13 -0
  371. package/test/unit/spec/webinar/index.ts +60 -0
  372. package/test/utils/webex-test-users.js +12 -4
  373. package/dist/types/mediaQualityMetrics/config.d.ts +0 -365
  374. package/dist/types/reachability/index.d.ts +0 -152
  375. package/dist/types/statsAnalyzer/mqaUtil.d.ts +0 -24
  376. /package/dist/{types/annotation → annotation}/annotation.types.d.ts +0 -0
  377. /package/dist/{types/annotation → annotation}/constants.d.ts +0 -0
  378. /package/dist/{types/annotation → annotation}/index.d.ts +0 -0
  379. /package/dist/{types/breakouts → breakouts}/breakout.d.ts +0 -0
  380. /package/dist/{types/breakouts → breakouts}/collection.d.ts +0 -0
  381. /package/dist/{types/breakouts → breakouts}/edit-lock-error.d.ts +0 -0
  382. /package/dist/{types/breakouts → breakouts}/events.d.ts +0 -0
  383. /package/dist/{types/breakouts → breakouts}/index.d.ts +0 -0
  384. /package/dist/{types/breakouts → breakouts}/request.d.ts +0 -0
  385. /package/dist/{types/breakouts → breakouts}/utils.d.ts +0 -0
  386. /package/dist/{types/common → common}/browser-detection.d.ts +0 -0
  387. /package/dist/{types/common → common}/collection.d.ts +0 -0
  388. /package/dist/{types/common → common}/config.d.ts +0 -0
  389. /package/dist/{types/common → common}/errors/captcha-error.d.ts +0 -0
  390. /package/dist/{types/common → common}/errors/intent-to-join.d.ts +0 -0
  391. /package/dist/{types/common → common}/errors/join-meeting.d.ts +0 -0
  392. /package/dist/{types/common → common}/errors/media.d.ts +0 -0
  393. /package/dist/{types/common → common}/errors/parameter.d.ts +0 -0
  394. /package/dist/{types/common → common}/errors/password-error.d.ts +0 -0
  395. /package/dist/{types/common → common}/errors/permission.d.ts +0 -0
  396. /package/dist/{types/common → common}/errors/reconnection-in-progress.d.ts +0 -0
  397. /package/dist/{types/common → common}/errors/reconnection.d.ts +0 -0
  398. /package/dist/{types/common → common}/errors/stats.d.ts +0 -0
  399. /package/dist/{types/common → common}/errors/webex-meetings-error.d.ts +0 -0
  400. /package/dist/{types/common → common}/events/events-scope.d.ts +0 -0
  401. /package/dist/{types/common → common}/events/events.d.ts +0 -0
  402. /package/dist/{types/common → common}/events/trigger-proxy.d.ts +0 -0
  403. /package/dist/{types/common → common}/events/util.d.ts +0 -0
  404. /package/dist/{types/common → common}/logs/logger-config.d.ts +0 -0
  405. /package/dist/{types/common → common}/logs/logger-proxy.d.ts +0 -0
  406. /package/dist/{types/common → common}/queue.d.ts +0 -0
  407. /package/dist/{types/controls-options-manager → controls-options-manager}/constants.d.ts +0 -0
  408. /package/dist/{types/controls-options-manager → controls-options-manager}/enums.d.ts +0 -0
  409. /package/dist/{types/controls-options-manager → controls-options-manager}/index.d.ts +0 -0
  410. /package/dist/{types/controls-options-manager → controls-options-manager}/types.d.ts +0 -0
  411. /package/dist/{types/controls-options-manager → controls-options-manager}/util.d.ts +0 -0
  412. /package/dist/{types/index.d.ts → index.d.ts} +0 -0
  413. /package/dist/{types/interpretation → interpretation}/collection.d.ts +0 -0
  414. /package/dist/{types/interpretation → interpretation}/index.d.ts +0 -0
  415. /package/dist/{types/interpretation → interpretation}/siLanguage.d.ts +0 -0
  416. /package/dist/{types/locus-info → locus-info}/controlsUtils.d.ts +0 -0
  417. /package/dist/{types/locus-info → locus-info}/embeddedAppsUtils.d.ts +0 -0
  418. /package/dist/{types/locus-info → locus-info}/fullState.d.ts +0 -0
  419. /package/dist/{types/locus-info → locus-info}/hostUtils.d.ts +0 -0
  420. /package/dist/{types/locus-info → locus-info}/infoUtils.d.ts +0 -0
  421. /package/dist/{types/locus-info → locus-info}/mediaSharesUtils.d.ts +0 -0
  422. /package/dist/{types/locus-info → locus-info}/selfUtils.d.ts +0 -0
  423. /package/dist/{types/media → media}/index.d.ts +0 -0
  424. /package/dist/{types/media → media}/properties.d.ts +0 -0
  425. /package/dist/{types/media → media}/util.d.ts +0 -0
  426. /package/dist/{types/meeting → meeting}/locusMediaRequest.d.ts +0 -0
  427. /package/dist/{types/meeting → meeting}/muteState.d.ts +0 -0
  428. /package/dist/{types/meeting → meeting}/request.type.d.ts +0 -0
  429. /package/dist/{types/meeting → meeting}/state.d.ts +0 -0
  430. /package/dist/{types/meeting-info → meeting-info}/collection.d.ts +0 -0
  431. /package/dist/{types/meeting-info → meeting-info}/request.d.ts +0 -0
  432. /package/dist/{types/meeting-info → meeting-info}/util.d.ts +0 -0
  433. /package/dist/{types/meeting-info → meeting-info}/utilv2.d.ts +0 -0
  434. /package/dist/{types/meetings → meetings}/meetings.types.d.ts +0 -0
  435. /package/dist/{types/meetings → meetings}/request.d.ts +0 -0
  436. /package/dist/{types/meetings → meetings}/util.d.ts +0 -0
  437. /package/dist/{types/member → member}/types.d.ts +0 -0
  438. /package/dist/{types/member → member}/util.d.ts +0 -0
  439. /package/dist/{types/members → members}/collection.d.ts +0 -0
  440. /package/dist/{types/members → members}/index.d.ts +0 -0
  441. /package/dist/{types/members → members}/request.d.ts +0 -0
  442. /package/dist/{types/metrics → metrics}/index.d.ts +0 -0
  443. /package/dist/{types/multistream → multistream}/mediaRequestManager.d.ts +0 -0
  444. /package/dist/{types/multistream → multistream}/receiveSlot.d.ts +0 -0
  445. /package/dist/{types/multistream → multistream}/receiveSlotManager.d.ts +0 -0
  446. /package/dist/{types/multistream → multistream}/remoteMedia.d.ts +0 -0
  447. /package/dist/{types/multistream → multistream}/remoteMediaGroup.d.ts +0 -0
  448. /package/dist/{types/multistream → multistream}/remoteMediaManager.d.ts +0 -0
  449. /package/dist/{types/multistream → multistream}/sendSlotManager.d.ts +0 -0
  450. /package/dist/{types/networkQualityMonitor → networkQualityMonitor}/index.d.ts +0 -0
  451. /package/dist/{types/personal-meeting-room → personal-meeting-room}/index.d.ts +0 -0
  452. /package/dist/{types/personal-meeting-room → personal-meeting-room}/request.d.ts +0 -0
  453. /package/dist/{types/personal-meeting-room → personal-meeting-room}/util.d.ts +0 -0
  454. /package/dist/{types/reachability → reachability}/request.d.ts +0 -0
  455. /package/dist/{types/reactions → reactions}/constants.d.ts +0 -0
  456. /package/dist/{types/reactions → reactions}/reactions.d.ts +0 -0
  457. /package/dist/{types/reactions → reactions}/reactions.type.d.ts +0 -0
  458. /package/dist/{types/recording-controller → recording-controller}/enums.d.ts +0 -0
  459. /package/dist/{types/recording-controller → recording-controller}/index.d.ts +0 -0
  460. /package/dist/{types/recording-controller → recording-controller}/util.d.ts +0 -0
  461. /package/dist/{types/roap → roap}/request.d.ts +0 -0
  462. /package/dist/{types/rtcMetrics → rtcMetrics}/constants.d.ts +0 -0
  463. /package/dist/{types/statsAnalyzer → statsAnalyzer}/global.d.ts +0 -0
  464. /package/dist/{types/transcription → transcription}/index.d.ts +0 -0
  465. /package/test/unit/spec/locus-info/{selfConstant.js → lib/selfConstant.js} +0 -0
@@ -10,7 +10,7 @@ import MediaProperties from '../media/properties';
10
10
  import ReconnectionManager from '../reconnection-manager';
11
11
  import MeetingRequest from './request';
12
12
  import Members from '../members/index';
13
- import Transcription from '../transcription';
13
+ import { NETWORK_STATUS } from '../constants';
14
14
  import { ReceiveSlotManager } from '../multistream/receiveSlotManager';
15
15
  import { MediaRequestManager } from '../multistream/mediaRequestManager';
16
16
  import { Configuration as RemoteMediaManagerConfiguration, RemoteMediaManager } from '../multistream/remoteMediaManager';
@@ -19,6 +19,34 @@ import InMeetingActions from './in-meeting-actions';
19
19
  import RecordingController from '../recording-controller';
20
20
  import ControlsOptionsManager from '../controls-options-manager';
21
21
  import { LocusMediaRequest } from './locusMediaRequest';
22
+ export type CaptionData = {
23
+ id: string;
24
+ isFinal: boolean;
25
+ translations: Array<string>;
26
+ text: string;
27
+ currentCaptionLanguage: string;
28
+ timestamp: string;
29
+ speaker: string;
30
+ };
31
+ export type Transcription = {
32
+ languageOptions: {
33
+ captionLanguages?: string;
34
+ maxLanguages?: number;
35
+ spokenLanguages?: Array<string>;
36
+ currentCaptionLanguage?: string;
37
+ requestedCaptionLanguage?: string;
38
+ currentSpokenLanguage?: string;
39
+ };
40
+ status: string;
41
+ isListening: boolean;
42
+ commandText: string;
43
+ captions: Array<CaptionData>;
44
+ showCaptionBox: boolean;
45
+ transcribingRequestStatus: string;
46
+ isCaptioning: boolean;
47
+ speakerProxy: Map<string, any>;
48
+ interimCaptions: Map<string, CaptionData>;
49
+ };
22
50
  export type LocalStreams = {
23
51
  microphone?: LocalMicrophoneStream;
24
52
  camera?: LocalCameraStream;
@@ -37,6 +65,11 @@ export type AddMediaOptions = {
37
65
  bundlePolicy?: BundlePolicy;
38
66
  allowMediaInLobby?: boolean;
39
67
  };
68
+ export type CallStateForMetrics = {
69
+ correlationId?: string;
70
+ joinTrigger?: string;
71
+ loginType?: string;
72
+ };
40
73
  export declare const MEDIA_UPDATE_TYPE: {
41
74
  TRANSCODED_MEDIA_CONNECTION: string;
42
75
  SHARE_FLOOR_REQUEST: string;
@@ -47,6 +80,12 @@ export declare enum ScreenShareFloorStatus {
47
80
  GRANTED = "floor_request_granted",
48
81
  RELEASED = "floor_released"
49
82
  }
83
+ type FetchMeetingInfoParams = {
84
+ password?: string;
85
+ captchaCode?: string;
86
+ extraParams?: Record<string, any>;
87
+ sendCAevents?: boolean;
88
+ };
50
89
  /**
51
90
  * MediaDirection
52
91
  * @typedef {Object} MediaDirection
@@ -299,8 +338,9 @@ export default class Meeting extends StatelessWebexPlugin {
299
338
  breakouts: any;
300
339
  simultaneousInterpretation: any;
301
340
  annotation: any;
341
+ webinar: any;
302
342
  conversationUrl: string;
303
- correlationId: string;
343
+ callStateForMetrics: CallStateForMetrics;
304
344
  destination: string;
305
345
  destinationType: string;
306
346
  deviceUrl: string;
@@ -355,8 +395,9 @@ export default class Meeting extends StatelessWebexPlugin {
355
395
  };
356
396
  meetingInfoFailureReason: string;
357
397
  meetingInfoFailureCode?: number;
398
+ meetingInfoExtraParams?: Record<string, any>;
358
399
  networkQualityMonitor: NetworkQualityMonitor;
359
- networkStatus: string;
400
+ networkStatus?: NETWORK_STATUS;
360
401
  passwordStatus: string;
361
402
  queuedMediaUpdates: any[];
362
403
  recording: any;
@@ -366,6 +407,7 @@ export default class Meeting extends StatelessWebexPlugin {
366
407
  requiredCaptcha: any;
367
408
  receiveSlotManager: ReceiveSlotManager;
368
409
  selfUserPolicies: any;
410
+ enforceVBGImagesURL: string;
369
411
  shareStatus: string;
370
412
  screenShareFloorState: ScreenShareFloorStatus;
371
413
  statsAnalyzer: StatsAnalyzer;
@@ -387,6 +429,7 @@ export default class Meeting extends StatelessWebexPlugin {
387
429
  meetingState: any;
388
430
  permissionToken: string;
389
431
  permissionTokenPayload: any;
432
+ permissionTokenReceivedLocalTime: number;
390
433
  resourceId: any;
391
434
  resourceUrl: string;
392
435
  selfId: string;
@@ -398,7 +441,17 @@ export default class Meeting extends StatelessWebexPlugin {
398
441
  environment: string;
399
442
  namespace: string;
400
443
  allowMediaInLobby: boolean;
444
+ localShareInstanceId: string;
445
+ remoteShareInstanceId: string;
446
+ turnDiscoverySkippedReason: string;
447
+ turnServerUsed: boolean;
448
+ areVoiceaEventsSetup: boolean;
449
+ voiceaListenerCallbacks: object;
450
+ private retriedWithTurnServer;
401
451
  private sendSlotManager;
452
+ private deferSDPAnswer?;
453
+ private sdpResponseTimer?;
454
+ private hasMediaConnectionConnectedAtLeastOnce;
402
455
  /**
403
456
  * @param {Object} attrs
404
457
  * @param {Object} options
@@ -418,30 +471,79 @@ export default class Meeting extends StatelessWebexPlugin {
418
471
  * @returns {Boolean}
419
472
  */
420
473
  isLocusCall(): boolean;
474
+ /**
475
+ * Getter - Returns callStateForMetrics.correlationId
476
+ * @returns {string}
477
+ */
478
+ get correlationId(): string;
479
+ /**
480
+ * Setter - sets callStateForMetrics.correlationId
481
+ * @param {string} correlationId
482
+ */
483
+ set correlationId(correlationId: string);
484
+ /**
485
+ * Set meeting info and trigger `MEETING_INFO_AVAILABLE` event
486
+ * @param {any} info
487
+ * @param {string} [meetingLookupUrl] Lookup url, defined when the meeting info fetched
488
+ * @returns {void}
489
+ */
490
+ private setMeetingInfo;
491
+ /**
492
+ * Add pre-fetched meeting info
493
+ *
494
+ * The passed meeting info should be be complete, e.g.: fetched after password or captcha provided
495
+ *
496
+ * @param {Object} meetingInfo - Complete meeting info
497
+ * @param {FetchMeetingInfoParams} fetchParams - Fetch parameters for validation
498
+ * @param {String|undefined} meetingLookupUrl - Lookup url, defined when the meeting info fetched
499
+ * @returns {Promise<void>}
500
+ */
501
+ injectMeetingInfo(meetingInfo: any, fetchParams: FetchMeetingInfoParams, meetingLookupUrl: string | undefined): Promise<void>;
502
+ /**
503
+ * Validate fetch parameters and clear the fetchMeetingInfoTimeout timeout
504
+ *
505
+ * @param {FetchMeetingInfoParams} fetchParams - fetch parameters for validation
506
+ * @param {String} caller - Name of the caller for logging
507
+ *
508
+ * @returns {Promise<void>}
509
+ * @private
510
+ */
511
+ private prepForFetchMeetingInfo;
512
+ /**
513
+ * Internal method for fetching meeting info
514
+ *
515
+ * @returns {Promise}
516
+ */
517
+ private fetchMeetingInfoInternal;
518
+ /**
519
+ * Refreshes the meeting info permission token (it's required for joining meetings)
520
+ *
521
+ * @param {string} [reason] used for metrics and logging purposes (optional)
522
+ * @returns {Promise}
523
+ */
524
+ refreshPermissionToken(reason?: string): Promise<void>;
421
525
  /**
422
526
  * Fetches meeting information.
423
527
  * @param {Object} options
424
528
  * @param {String} [options.password] optional
425
529
  * @param {String} [options.captchaCode] optional
530
+ * @param {Boolean} [options.sendCAevents] optional - Whether to submit Call Analyzer events or not. Default: false.
426
531
  * @public
427
532
  * @memberof Meeting
428
533
  * @returns {Promise}
429
534
  */
430
- fetchMeetingInfo({ password, captchaCode, extraParams, }: {
431
- password?: string;
432
- captchaCode?: string;
433
- extraParams?: Record<string, any>;
434
- }): Promise<void>;
535
+ fetchMeetingInfo(options: FetchMeetingInfoParams): Promise<void>;
435
536
  /**
436
537
  * Checks if the supplied password/host key is correct. It returns a promise with information whether the
437
538
  * password and captcha code were correct or not.
438
539
  * @param {String} password - this can be either a password or a host key, can be undefined if only captcha was required
439
540
  * @param {String} captchaCode - can be undefined if captcha was not required by the server
541
+ * @param {Boolean} sendCAevents - whether Call Analyzer events should be sent when fetching meeting information
440
542
  * @public
441
543
  * @memberof Meeting
442
544
  * @returns {Promise<{isPasswordValid: boolean, requiredCaptcha: boolean, failureReason: MEETING_INFO_FAILURE_REASON}>}
443
545
  */
444
- verifyPassword(password: string, captchaCode: string): Promise<{
546
+ verifyPassword(password: string, captchaCode: string, sendCAevents?: boolean): Promise<{
445
547
  isPasswordValid: boolean;
446
548
  requiredCaptcha: any;
447
549
  failureReason: string;
@@ -487,6 +589,13 @@ export default class Meeting extends StatelessWebexPlugin {
487
589
  * @memberof Meeting
488
590
  */
489
591
  private setUpInterpretationListener;
592
+ /**
593
+ * Set up the listeners for captions
594
+ * @returns {undefined}
595
+ * @private
596
+ * @memberof Meeting
597
+ */
598
+ private setUpVoiceaListeners;
490
599
  /**
491
600
  * Set up the locus info listener for meetings disconnected due to inactivity
492
601
  * @returns {undefined}
@@ -510,7 +619,7 @@ export default class Meeting extends StatelessWebexPlugin {
510
619
  private setUpLocusFullStateListener;
511
620
  /**
512
621
  * sets the network status on meeting object
513
- * @param {String} networkStatus
622
+ * @param {NETWORK_STATUS} networkStatus
514
623
  * @private
515
624
  * @returns {undefined}
516
625
  * @memberof Meeting
@@ -728,24 +837,36 @@ export default class Meeting extends StatelessWebexPlugin {
728
837
  /**
729
838
  * Sets the meeting info on the class instance
730
839
  * @param {Object} meetingInfo
731
- * @param {Object} meetingInfo.body
732
- * @param {String} meetingInfo.body.conversationUrl
733
- * @param {String} meetingInfo.body.locusUrl
734
- * @param {String} meetingInfo.body.sipUri
735
- * @param {Object} meetingInfo.body.owner
840
+ * @param {String} meetingInfo.conversationUrl
841
+ * @param {String} meetingInfo.locusUrl
842
+ * @param {String} meetingInfo.sipUri
843
+ * @param {String} [meetingInfo.sipUrl]
844
+ * @param {String} [meetingInfo.sipMeetingUri]
845
+ * @param {String} [meetingInfo.meetingNumber]
846
+ * @param {String} [meetingInfo.meetingJoinUrl]
847
+ * @param {String} [meetingInfo.hostId]
848
+ * @param {String} [meetingInfo.permissionToken]
849
+ * @param {String} [meetingInfo.channel]
850
+ * @param {Object} meetingInfo.owner
736
851
  * @param {Object | String} destination locus object with meeting data or destination string (sip url, meeting link, etc)
852
+ * @param {Object | String} errors Meeting info request error
737
853
  * @returns {undefined}
738
854
  * @private
739
855
  * @memberof Meeting
740
856
  */
741
857
  parseMeetingInfo(meetingInfo: {
742
- body: {
743
- conversationUrl: string;
744
- locusUrl: string;
745
- sipUri: string;
746
- owner: object;
747
- };
748
- } | any, destination?: object | string | null): void;
858
+ conversationUrl: string;
859
+ locusUrl: string;
860
+ sipUri: string;
861
+ owner: object;
862
+ sipUrl?: string;
863
+ sipMeetingUri?: string;
864
+ meetingNumber?: string;
865
+ meetingJoinUrl?: string;
866
+ hostId?: string;
867
+ permissionToken?: string;
868
+ channel?: string;
869
+ }, destination?: object | string | null, errors?: any): void;
749
870
  /**
750
871
  * Indicates whether policy can be applied
751
872
  * @returns {boolean}
@@ -827,7 +948,7 @@ export default class Meeting extends StatelessWebexPlugin {
827
948
  * @returns {undefined}
828
949
  * @memberof Meeting
829
950
  */
830
- closeRemoteStreams(): Promise<[any, any, any, any]>;
951
+ closeRemoteStreams(): Promise<[any, any, any]>;
831
952
  /**
832
953
  * Stores the reference to a new microphone stream, sets up the required event listeners
833
954
  * on it, cleans up previous stream, etc.
@@ -886,13 +1007,21 @@ export default class Meeting extends StatelessWebexPlugin {
886
1007
  */
887
1008
  unsetPeerConnections(): void;
888
1009
  /**
889
- * Convenience method to set the correlation id for the Meeting
890
- * @param {String} id correlation id to set on the class
1010
+ * Convenience method to set the correlation id for the callStateForMetrics
1011
+ * @param {String} id correlation id to set on the callStateForMetrics
891
1012
  * @returns {undefined}
892
- * @private
1013
+ * @public
893
1014
  * @memberof Meeting
894
1015
  */
895
- private setCorrelationId;
1016
+ setCorrelationId(id: string): void;
1017
+ /**
1018
+ * Update the callStateForMetrics
1019
+ * @param {CallStateForMetrics} callStateForMetrics updated values for callStateForMetrics
1020
+ * @returns {undefined}
1021
+ * @public
1022
+ * @memberof Meeting
1023
+ */
1024
+ updateCallStateForMetrics(callStateForMetrics: CallStateForMetrics): void;
896
1025
  /**
897
1026
  * Enqueue request for screenshare floor and set the status to pending
898
1027
  * @returns {Promise}
@@ -947,7 +1076,10 @@ export default class Meeting extends StatelessWebexPlugin {
947
1076
  joinWithMedia(options?: {
948
1077
  joinOptions?: any;
949
1078
  mediaOptions?: AddMediaOptions;
950
- }): any;
1079
+ }): Promise<{
1080
+ join: any;
1081
+ media: void;
1082
+ }>;
951
1083
  /**
952
1084
  * Initiates the reconnection of the media in the meeting
953
1085
  *
@@ -969,17 +1101,26 @@ export default class Meeting extends StatelessWebexPlugin {
969
1101
  */
970
1102
  isReactionsSupported(): boolean;
971
1103
  /**
972
- * Monitor the Low-Latency Mercury (LLM) web socket connection on `onError` and `onClose` states
973
- * @private
974
- * @returns {void}
1104
+ * sets Caption language for the meeting
1105
+ * @param {string} language
1106
+ * @returns {Promise}
975
1107
  */
976
- private monitorTranscriptionSocketConnection;
1108
+ setCaptionLanguage(language: string): Promise<unknown>;
977
1109
  /**
978
- * Request for a WebSocket Url, open and monitor the WebSocket connection
979
- * @private
1110
+ * sets Spoken language for the meeting
1111
+ * @param {string} language
1112
+ * @returns {Promise}
1113
+ */
1114
+ setSpokenLanguage(language: string): Promise<unknown>;
1115
+ /**
1116
+ * This method will enable the transcription for the current meeting if the meeting has enabled/supports Webex Assistant
1117
+ * @param {Object} options object with spokenlanguage setting
1118
+ * @public
980
1119
  * @returns {Promise<void>} a promise to open the WebSocket connection
981
1120
  */
982
- private receiveTranscription;
1121
+ startTranscription(options?: {
1122
+ spokenLanguage?: string;
1123
+ }): Promise<void>;
983
1124
  /**
984
1125
  * Callback called when a relay event is received from meeting LLM Connection
985
1126
  * @param {RelayEvent} e Event object coming from LLM Connection
@@ -988,11 +1129,10 @@ export default class Meeting extends StatelessWebexPlugin {
988
1129
  */
989
1130
  private processRelayEvent;
990
1131
  /**
991
- * stop recieving Transcription by closing
992
- * the web socket connection properly
1132
+ * This method stops receiving transcription for the current meeting
993
1133
  * @returns {void}
994
1134
  */
995
- stopReceivingTranscription(): void;
1135
+ stopTranscription(): void;
996
1136
  /**
997
1137
  * triggers an event to notify that the user
998
1138
  * will not receive any more transcription
@@ -1012,7 +1152,7 @@ export default class Meeting extends StatelessWebexPlugin {
1012
1152
  * if joining as host on second loop, pass pin and pass moderator if joining as guest on second loop
1013
1153
  * Scenario D: Joining any other way (sip, pstn, conversationUrl, link just need to specify resourceId)
1014
1154
  */
1015
- join(options?: any): any;
1155
+ join(options?: any): Promise<any>;
1016
1156
  /**
1017
1157
  * Connects to low latency mercury and reconnects if the address has changed
1018
1158
  * It will also disconnect if called when the meeting has ended
@@ -1082,6 +1222,12 @@ export default class Meeting extends StatelessWebexPlugin {
1082
1222
  * @returns {void}
1083
1223
  */
1084
1224
  handleRoapFailure: (error: any) => void;
1225
+ /**
1226
+ * This function makes sure we send the right metrics when local and remote SDPs are processed/generated
1227
+ *
1228
+ * @returns {undefined}
1229
+ */
1230
+ setupSdpListeners: () => void;
1085
1231
  setupMediaConnectionListeners: () => void;
1086
1232
  /**
1087
1233
  * Registers for all required StatsAnalyzer events
@@ -1110,20 +1256,122 @@ export default class Meeting extends StatelessWebexPlugin {
1110
1256
  * @returns {void}
1111
1257
  */
1112
1258
  forwardEvent(eventEmitter: any, eventTypeToForward: any, meetingEventType: any): void;
1259
+ /**
1260
+ * Sets up all the references to local streams in this.mediaProperties before creating media connection
1261
+ * and before TURN discovery, so that the correct mute state is sent with TURN discovery roap messages.
1262
+ *
1263
+ * @private
1264
+ * @param {LocalStreams} localStreams
1265
+ * @returns {Promise<void>}
1266
+ */
1267
+ private setUpLocalStreamReferences;
1268
+ /**
1269
+ * Calls mediaProperties.waitForMediaConnectionConnected() and sends CA client.ice.end metric on failure
1270
+ *
1271
+ * @private
1272
+ * @returns {Promise<void>}
1273
+ */
1274
+ private waitForMediaConnectionConnected;
1275
+ /**
1276
+ * Enables statsAnalyser if config allows it
1277
+ *
1278
+ * @private
1279
+ * @returns {void}
1280
+ */
1281
+ private createStatsAnalyzer;
1282
+ /**
1283
+ * Handles device logging
1284
+ *
1285
+ * @private
1286
+ * @static
1287
+ * @returns {Promise<void>}
1288
+ */
1289
+ private static handleDeviceLogging;
1290
+ /**
1291
+ * Returns a promise. This promise is created once the local sdp offer has been successfully created and is resolved
1292
+ * once the remote sdp answer has been received.
1293
+ *
1294
+ * @private
1295
+ * @returns {Promise<void>}
1296
+ */
1297
+ private waitForRemoteSDPAnswer;
1298
+ /**
1299
+ * Calls establishMediaConnection with isForced = true to force turn discovery to happen
1300
+ *
1301
+ * @private
1302
+ * @param {RemoteMediaManagerConfiguration} [remoteMediaManagerConfig]
1303
+ * @param {BundlePolicy} [bundlePolicy]
1304
+ * @returns {Promise<void>}
1305
+ */
1306
+ private retryEstablishMediaConnectionWithForcedTurnDiscovery;
1307
+ /**
1308
+ * Does relevant clean up before retrying to establish media connection
1309
+ * and performs the retry with forced turn discovery
1310
+ *
1311
+ * @private
1312
+ * @param {RemoteMediaManagerConfiguration} [remoteMediaManagerConfig]
1313
+ * @param {BundlePolicy} [bundlePolicy]
1314
+ * @returns {Promise<void>}
1315
+ */
1316
+ private retryWithForcedTurnDiscovery;
1317
+ /**
1318
+ * If waitForMediaConnectionConnected() fails when we haven't done turn discovery then we
1319
+ * attempt to establish a media connection again, but this time using turn discovery. If we
1320
+ * used turn discovery on the first pass we do not attempt connection again.
1321
+ *
1322
+ * @private
1323
+ * @param {Error} error
1324
+ * @param {RemoteMediaManagerConfiguration} [remoteMediaManagerConfig]
1325
+ * @param {BundlePolicy} [bundlePolicy]
1326
+ * @returns {Promise<void>}
1327
+ */
1328
+ private handleWaitForMediaConnectionConnectedError;
1329
+ /**
1330
+ * Does TURN discovery, SDP offer/answer exhange, establishes ICE connection and DTLS handshake.
1331
+ *
1332
+ * @private
1333
+ * @param {RemoteMediaManagerConfiguration} [remoteMediaManagerConfig]
1334
+ * @param {BundlePolicy} [bundlePolicy]
1335
+ * @param {boolean} [isForced] - let isForced be true to do turn discovery regardless of reachability results
1336
+ * @returns {Promise<void>}
1337
+ */
1338
+ private establishMediaConnection;
1339
+ /**
1340
+ * Cleans up stats analyzer, peer connection, and turns off listeners
1341
+ *
1342
+ * @private
1343
+ * @returns {Promise<void>}
1344
+ */
1345
+ private cleanUpOnAddMediaFailure;
1346
+ /**
1347
+ * Sends stats report, closes peer connection and cleans up any media connection
1348
+ * related things before trying to establish media connection again with turn server
1349
+ *
1350
+ * @private
1351
+ * @returns {Promise<void>}
1352
+ */
1353
+ private cleanUpBeforeRetryWithTurnServer;
1113
1354
  /**
1114
1355
  * Creates a media connection to the server. Media connection is required for sending or receiving any audio/video.
1115
1356
  *
1116
1357
  * @param {AddMediaOptions} options
1117
- * @returns {Promise}
1358
+ * @returns {Promise<void>}
1118
1359
  * @public
1119
1360
  * @memberof Meeting
1120
1361
  */
1121
- addMedia(options?: AddMediaOptions): Promise<any>;
1362
+ addMedia(options?: AddMediaOptions): Promise<void>;
1122
1363
  /**
1123
1364
  * Informs if the peer connection is in a state that can be updated with updateMedia (audio/video/share)
1124
1365
  * @returns {Boolean}
1125
1366
  */
1126
1367
  canUpdateMedia(): boolean;
1368
+ /**
1369
+ * media failed, so collect a stats report from webrtc using the wcme connection to grab the rtc stats report
1370
+ * send a webrtc telemetry dump to the configured server using the internal media core check metrics configured callback
1371
+ * @param {String} callFrom - the function calling this function, optional.
1372
+ * @returns {Promise<void>}
1373
+ */
1374
+ private forceSendStatsReport;
1127
1375
  /**
1128
1376
  * Enqueues a media update operation.
1129
1377
  * @param {String} mediaUpdateType one of MEDIA_UPDATE_TYPE values
@@ -1390,6 +1638,14 @@ export default class Meeting extends StatelessWebexPlugin {
1390
1638
  * @returns {undefined}
1391
1639
  */
1392
1640
  private handleShareAudioStreamEnded;
1641
+ /**
1642
+ * Functionality for when a share video is muted or unmuted.
1643
+ * @private
1644
+ * @memberof Meeting
1645
+ * @param {boolean} muted
1646
+ * @returns {undefined}
1647
+ */
1648
+ private handleShareVideoStreamMuteStateChange;
1393
1649
  /**
1394
1650
  * Functionality for when a share video is ended.
1395
1651
  * @private
@@ -1427,7 +1683,7 @@ export default class Meeting extends StatelessWebexPlugin {
1427
1683
  *
1428
1684
  * @returns {string} one of 'attendee','host','cohost', returns the user type of the current user
1429
1685
  */
1430
- getCurUserType(): "host" | "cohost" | "attendee";
1686
+ getCurUserType(): "host" | "cohost" | "presenter" | "attendee";
1431
1687
  /**
1432
1688
  * End the current meeting for all
1433
1689
  * @returns {Promise}
@@ -1524,10 +1780,27 @@ export default class Meeting extends StatelessWebexPlugin {
1524
1780
  */
1525
1781
  unpublishStreams(streams: LocalStream[]): Promise<void>;
1526
1782
  /**
1527
- * Gets the time left in seconds till the permission token expires
1783
+ * Gets permission token expiry information including timeLeft, expiryTime, currentTime
1528
1784
  * (from the time the function has been fired)
1529
1785
  *
1530
- * @returns {number} time left in seconds
1786
+ * @returns {object} permissionTokenExpiryInfo
1787
+ * @returns {number} permissionTokenExpiryInfo.timeLeft The time left for token to expire
1788
+ * @returns {number} permissionTokenExpiryInfo.expiryTime The expiry time of permission token from the server
1789
+ * @returns {number} permissionTokenExpiryInfo.currentTime The current time of the local machine
1790
+ */
1791
+ getPermissionTokenExpiryInfo(): {
1792
+ timeLeft: number;
1793
+ expiryTime: number;
1794
+ currentTime: number;
1795
+ };
1796
+ /**
1797
+ * Check if there is enough time left till the permission token expires
1798
+ * If not - refresh the permission token
1799
+ *
1800
+ * @param {number} threshold - time in seconds
1801
+ * @param {string} reason - reason for refreshing the permission token
1802
+ * @returns {Promise<void>}
1531
1803
  */
1532
- getPermissionTokenTimeLeftInSec(): number | undefined;
1804
+ checkAndRefreshPermissionToken(threshold: number, reason: string): Promise<void>;
1533
1805
  }
1806
+ export {};