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

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 (854) hide show
  1. package/README.md +46 -8
  2. package/dist/annotation/annotation.types.js +7 -0
  3. package/dist/annotation/annotation.types.js.map +1 -0
  4. package/dist/annotation/constants.js +49 -0
  5. package/dist/annotation/constants.js.map +1 -0
  6. package/dist/annotation/index.js +342 -0
  7. package/dist/annotation/index.js.map +1 -0
  8. package/dist/breakouts/breakout.js +70 -32
  9. package/dist/breakouts/breakout.js.map +1 -1
  10. package/dist/breakouts/events.js +45 -0
  11. package/dist/breakouts/events.js.map +1 -0
  12. package/dist/breakouts/index.js +422 -217
  13. package/dist/breakouts/index.js.map +1 -1
  14. package/dist/breakouts/utils.js +12 -1
  15. package/dist/breakouts/utils.js.map +1 -1
  16. package/dist/common/errors/webex-errors.js +3 -2
  17. package/dist/common/errors/webex-errors.js.map +1 -1
  18. package/dist/common/logs/logger-proxy.js +1 -1
  19. package/dist/common/logs/logger-proxy.js.map +1 -1
  20. package/dist/common/queue.js +24 -9
  21. package/dist/common/queue.js.map +1 -1
  22. package/dist/config.js +1 -7
  23. package/dist/config.js.map +1 -1
  24. package/dist/constants.js +118 -24
  25. package/dist/constants.js.map +1 -1
  26. package/dist/controls-options-manager/enums.js +2 -0
  27. package/dist/controls-options-manager/enums.js.map +1 -1
  28. package/dist/controls-options-manager/index.js +19 -14
  29. package/dist/controls-options-manager/index.js.map +1 -1
  30. package/dist/controls-options-manager/types.js.map +1 -1
  31. package/dist/controls-options-manager/util.js +80 -11
  32. package/dist/controls-options-manager/util.js.map +1 -1
  33. package/dist/index.js +62 -20
  34. package/dist/index.js.map +1 -1
  35. package/dist/interpretation/collection.js +23 -0
  36. package/dist/interpretation/collection.js.map +1 -0
  37. package/dist/interpretation/index.js +366 -0
  38. package/dist/interpretation/index.js.map +1 -0
  39. package/dist/interpretation/siLanguage.js +25 -0
  40. package/dist/interpretation/siLanguage.js.map +1 -0
  41. package/dist/locus-info/controlsUtils.js +71 -1
  42. package/dist/locus-info/controlsUtils.js.map +1 -1
  43. package/dist/locus-info/index.js +305 -57
  44. package/dist/locus-info/index.js.map +1 -1
  45. package/dist/locus-info/infoUtils.js +7 -1
  46. package/dist/locus-info/infoUtils.js.map +1 -1
  47. package/dist/locus-info/mediaSharesUtils.js +43 -1
  48. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  49. package/dist/locus-info/parser.js +219 -63
  50. package/dist/locus-info/parser.js.map +1 -1
  51. package/dist/locus-info/selfUtils.js +44 -22
  52. package/dist/locus-info/selfUtils.js.map +1 -1
  53. package/dist/media/index.js +57 -104
  54. package/dist/media/index.js.map +1 -1
  55. package/dist/media/properties.js +60 -121
  56. package/dist/media/properties.js.map +1 -1
  57. package/dist/meeting/in-meeting-actions.js +61 -3
  58. package/dist/meeting/in-meeting-actions.js.map +1 -1
  59. package/dist/meeting/index.js +2530 -2534
  60. package/dist/meeting/index.js.map +1 -1
  61. package/dist/meeting/locusMediaRequest.js +292 -0
  62. package/dist/meeting/locusMediaRequest.js.map +1 -0
  63. package/dist/meeting/muteState.js +125 -205
  64. package/dist/meeting/muteState.js.map +1 -1
  65. package/dist/meeting/request.js +150 -150
  66. package/dist/meeting/request.js.map +1 -1
  67. package/dist/meeting/util.js +568 -438
  68. package/dist/meeting/util.js.map +1 -1
  69. package/dist/meeting-info/index.js +48 -7
  70. package/dist/meeting-info/index.js.map +1 -1
  71. package/dist/meeting-info/meeting-info-v2.js +94 -38
  72. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  73. package/dist/meeting-info/utilv2.js +4 -2
  74. package/dist/meeting-info/utilv2.js.map +1 -1
  75. package/dist/meetings/index.js +260 -85
  76. package/dist/meetings/index.js.map +1 -1
  77. package/dist/meetings/meetings.types.js +7 -0
  78. package/dist/meetings/meetings.types.js.map +1 -0
  79. package/dist/meetings/util.js +42 -7
  80. package/dist/meetings/util.js.map +1 -1
  81. package/dist/member/index.js +26 -0
  82. package/dist/member/index.js.map +1 -1
  83. package/dist/member/types.js +11 -1
  84. package/dist/member/types.js.map +1 -1
  85. package/dist/member/util.js +60 -23
  86. package/dist/member/util.js.map +1 -1
  87. package/dist/members/index.js +4 -1
  88. package/dist/members/index.js.map +1 -1
  89. package/dist/members/request.js +75 -45
  90. package/dist/members/request.js.map +1 -1
  91. package/dist/members/util.js +308 -317
  92. package/dist/members/util.js.map +1 -1
  93. package/dist/metrics/constants.js +1 -0
  94. package/dist/metrics/constants.js.map +1 -1
  95. package/dist/metrics/index.js +1 -451
  96. package/dist/metrics/index.js.map +1 -1
  97. package/dist/multistream/mediaRequestManager.js +136 -40
  98. package/dist/multistream/mediaRequestManager.js.map +1 -1
  99. package/dist/multistream/receiveSlot.js.map +1 -1
  100. package/dist/multistream/receiveSlotManager.js +4 -4
  101. package/dist/multistream/receiveSlotManager.js.map +1 -1
  102. package/dist/multistream/remoteMedia.js.map +1 -1
  103. package/dist/multistream/remoteMediaGroup.js +60 -3
  104. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  105. package/dist/multistream/remoteMediaManager.js +36 -0
  106. package/dist/multistream/remoteMediaManager.js.map +1 -1
  107. package/dist/multistream/sendSlotManager.js +233 -0
  108. package/dist/multistream/sendSlotManager.js.map +1 -0
  109. package/dist/reachability/index.js +18 -3
  110. package/dist/reachability/index.js.map +1 -1
  111. package/dist/reachability/request.js +5 -3
  112. package/dist/reachability/request.js.map +1 -1
  113. package/dist/reconnection-manager/index.js +181 -153
  114. package/dist/reconnection-manager/index.js.map +1 -1
  115. package/dist/recording-controller/index.js +21 -2
  116. package/dist/recording-controller/index.js.map +1 -1
  117. package/dist/recording-controller/util.js +9 -8
  118. package/dist/recording-controller/util.js.map +1 -1
  119. package/dist/roap/index.js +25 -32
  120. package/dist/roap/index.js.map +1 -1
  121. package/dist/roap/request.js +42 -51
  122. package/dist/roap/request.js.map +1 -1
  123. package/dist/roap/turnDiscovery.js +97 -38
  124. package/dist/roap/turnDiscovery.js.map +1 -1
  125. package/dist/rtcMetrics/constants.js +12 -0
  126. package/dist/rtcMetrics/constants.js.map +1 -0
  127. package/dist/rtcMetrics/index.js +117 -0
  128. package/dist/rtcMetrics/index.js.map +1 -0
  129. package/dist/statsAnalyzer/index.js +0 -1
  130. package/dist/statsAnalyzer/index.js.map +1 -1
  131. package/dist/types/annotation/annotation.types.d.ts +42 -0
  132. package/dist/types/annotation/constants.d.ts +31 -0
  133. package/dist/types/annotation/index.d.ts +117 -0
  134. package/dist/types/breakouts/events.d.ts +8 -0
  135. package/dist/types/breakouts/utils.d.ts +7 -0
  136. package/dist/types/common/errors/webex-errors.d.ts +1 -1
  137. package/dist/types/common/queue.d.ts +9 -7
  138. package/dist/types/config.d.ts +0 -6
  139. package/dist/types/constants.d.ts +95 -22
  140. package/dist/types/controls-options-manager/enums.d.ts +2 -0
  141. package/dist/types/controls-options-manager/index.d.ts +1 -1
  142. package/dist/types/controls-options-manager/types.d.ts +7 -1
  143. package/dist/types/index.d.ts +1 -1
  144. package/dist/types/interpretation/collection.d.ts +5 -0
  145. package/dist/types/interpretation/index.d.ts +5 -0
  146. package/dist/types/interpretation/siLanguage.d.ts +5 -0
  147. package/dist/types/locus-info/index.d.ts +47 -2
  148. package/dist/types/locus-info/parser.d.ts +65 -6
  149. package/dist/types/media/index.d.ts +2 -0
  150. package/dist/types/media/properties.d.ts +34 -49
  151. package/dist/types/meeting/in-meeting-actions.d.ts +60 -2
  152. package/dist/types/meeting/index.d.ts +268 -473
  153. package/dist/types/meeting/locusMediaRequest.d.ts +75 -0
  154. package/dist/types/meeting/muteState.d.ts +53 -54
  155. package/dist/types/meeting/request.d.ts +61 -43
  156. package/dist/types/meeting/util.d.ts +93 -1
  157. package/dist/types/meeting-info/index.d.ts +6 -1
  158. package/dist/types/meeting-info/meeting-info-v2.d.ts +14 -3
  159. package/dist/types/meetings/index.d.ts +56 -11
  160. package/dist/types/meetings/meetings.types.d.ts +4 -0
  161. package/dist/types/member/index.d.ts +4 -1
  162. package/dist/types/member/types.d.ts +11 -0
  163. package/dist/types/members/request.d.ts +56 -11
  164. package/dist/types/members/util.d.ts +209 -1
  165. package/dist/types/metrics/constants.d.ts +1 -0
  166. package/dist/types/metrics/index.d.ts +4 -111
  167. package/dist/types/multistream/mediaRequestManager.d.ts +27 -10
  168. package/dist/types/multistream/receiveSlot.d.ts +3 -3
  169. package/dist/types/multistream/remoteMedia.d.ts +2 -2
  170. package/dist/types/multistream/remoteMediaManager.d.ts +14 -0
  171. package/dist/types/multistream/sendSlotManager.d.ts +61 -0
  172. package/dist/types/reachability/index.d.ts +6 -0
  173. package/dist/types/reachability/request.d.ts +3 -1
  174. package/dist/types/reconnection-manager/index.d.ts +2 -2
  175. package/dist/types/recording-controller/index.d.ts +15 -1
  176. package/dist/types/recording-controller/util.d.ts +5 -4
  177. package/dist/types/roap/request.d.ts +8 -8
  178. package/dist/types/roap/turnDiscovery.d.ts +18 -1
  179. package/dist/types/rtcMetrics/constants.d.ts +4 -0
  180. package/dist/types/rtcMetrics/index.d.ts +47 -0
  181. package/package.json +21 -20
  182. package/src/annotation/annotation.types.ts +50 -0
  183. package/src/annotation/constants.ts +36 -0
  184. package/src/annotation/index.ts +328 -0
  185. package/src/breakouts/README.md +3 -2
  186. package/src/breakouts/breakout.ts +62 -27
  187. package/src/breakouts/events.ts +56 -0
  188. package/src/breakouts/index.ts +244 -64
  189. package/src/breakouts/utils.ts +13 -0
  190. package/src/common/errors/webex-errors.ts +6 -2
  191. package/src/common/logs/logger-proxy.ts +1 -1
  192. package/src/common/queue.ts +22 -8
  193. package/src/config.ts +0 -6
  194. package/src/constants.ts +111 -19
  195. package/src/controls-options-manager/enums.ts +2 -0
  196. package/src/controls-options-manager/index.ts +13 -10
  197. package/src/controls-options-manager/types.ts +10 -0
  198. package/src/controls-options-manager/util.ts +82 -11
  199. package/src/index.ts +18 -11
  200. package/src/interpretation/README.md +60 -0
  201. package/src/interpretation/collection.ts +19 -0
  202. package/src/interpretation/index.ts +332 -0
  203. package/src/interpretation/siLanguage.ts +18 -0
  204. package/src/locus-info/controlsUtils.ts +81 -0
  205. package/src/locus-info/index.ts +318 -57
  206. package/src/locus-info/infoUtils.ts +10 -2
  207. package/src/locus-info/mediaSharesUtils.ts +48 -0
  208. package/src/locus-info/parser.ts +224 -39
  209. package/src/locus-info/selfUtils.ts +32 -20
  210. package/src/media/index.ts +94 -108
  211. package/src/media/properties.ts +69 -109
  212. package/src/meeting/in-meeting-actions.ts +120 -4
  213. package/src/meeting/index.ts +1967 -2120
  214. package/src/meeting/locusMediaRequest.ts +314 -0
  215. package/src/meeting/muteState.ts +119 -194
  216. package/src/meeting/request.ts +122 -115
  217. package/src/meeting/util.ts +549 -413
  218. package/src/meeting-info/index.ts +54 -8
  219. package/src/meeting-info/meeting-info-v2.ts +89 -24
  220. package/src/meeting-info/utilv2.ts +6 -2
  221. package/src/meetings/index.ts +247 -87
  222. package/src/meetings/meetings.types.ts +12 -0
  223. package/src/meetings/util.ts +47 -12
  224. package/src/member/index.ts +28 -1
  225. package/src/member/types.ts +14 -0
  226. package/src/member/util.ts +75 -26
  227. package/src/members/index.ts +7 -1
  228. package/src/members/request.ts +61 -21
  229. package/src/members/util.ts +316 -326
  230. package/src/metrics/constants.ts +1 -0
  231. package/src/metrics/index.ts +1 -474
  232. package/src/multistream/mediaRequestManager.ts +183 -67
  233. package/src/multistream/receiveSlot.ts +4 -4
  234. package/src/multistream/receiveSlotManager.ts +4 -4
  235. package/src/multistream/remoteMedia.ts +2 -2
  236. package/src/multistream/remoteMediaGroup.ts +59 -0
  237. package/src/multistream/remoteMediaManager.ts +33 -0
  238. package/src/multistream/sendSlotManager.ts +170 -0
  239. package/src/reachability/index.ts +15 -4
  240. package/src/reachability/request.ts +7 -3
  241. package/src/reconnection-manager/index.ts +36 -29
  242. package/src/recording-controller/index.ts +20 -3
  243. package/src/recording-controller/util.ts +26 -9
  244. package/src/roap/index.ts +25 -30
  245. package/src/roap/request.ts +44 -51
  246. package/src/roap/turnDiscovery.ts +51 -25
  247. package/src/rtcMetrics/constants.ts +3 -0
  248. package/src/rtcMetrics/index.ts +100 -0
  249. package/src/statsAnalyzer/index.ts +0 -1
  250. package/test/integration/spec/converged-space-meetings.js +60 -3
  251. package/test/integration/spec/journey.js +336 -259
  252. package/test/integration/spec/space-meeting.js +76 -3
  253. package/test/unit/spec/annotation/index.ts +418 -0
  254. package/test/unit/spec/breakouts/breakout.ts +85 -26
  255. package/test/unit/spec/breakouts/events.ts +89 -0
  256. package/test/unit/spec/breakouts/index.ts +636 -98
  257. package/test/unit/spec/breakouts/utils.js +19 -1
  258. package/test/unit/spec/common/queue.js +31 -2
  259. package/test/unit/spec/controls-options-manager/index.js +8 -1
  260. package/test/unit/spec/controls-options-manager/util.js +576 -397
  261. package/test/unit/spec/fixture/locus.js +1 -0
  262. package/test/unit/spec/interpretation/collection.ts +15 -0
  263. package/test/unit/spec/interpretation/index.ts +589 -0
  264. package/test/unit/spec/interpretation/siLanguage.ts +28 -0
  265. package/test/unit/spec/locus-info/controlsUtils.js +195 -1
  266. package/test/unit/spec/locus-info/index.js +950 -45
  267. package/test/unit/spec/locus-info/infoUtils.js +37 -15
  268. package/test/unit/spec/locus-info/mediaSharesUtils.ts +22 -0
  269. package/test/unit/spec/locus-info/parser.js +62 -22
  270. package/test/unit/spec/locus-info/selfConstant.js +19 -0
  271. package/test/unit/spec/locus-info/selfUtils.js +131 -26
  272. package/test/unit/spec/media/index.ts +82 -79
  273. package/test/unit/spec/meeting/in-meeting-actions.ts +60 -2
  274. package/test/unit/spec/meeting/index.js +3208 -1734
  275. package/test/unit/spec/meeting/locusMediaRequest.ts +443 -0
  276. package/test/unit/spec/meeting/muteState.js +328 -417
  277. package/test/unit/spec/meeting/request.js +393 -48
  278. package/test/unit/spec/meeting/utils.js +552 -76
  279. package/test/unit/spec/meeting-info/index.js +181 -0
  280. package/test/unit/spec/meeting-info/meetinginfov2.js +258 -20
  281. package/test/unit/spec/meeting-info/utilv2.js +21 -0
  282. package/test/unit/spec/meetings/index.js +631 -145
  283. package/test/unit/spec/meetings/utils.js +164 -9
  284. package/test/unit/spec/member/index.js +44 -14
  285. package/test/unit/spec/member/util.js +296 -155
  286. package/test/unit/spec/members/index.js +23 -3
  287. package/test/unit/spec/members/request.js +167 -35
  288. package/test/unit/spec/metrics/index.js +1 -50
  289. package/test/unit/spec/multistream/mediaRequestManager.ts +366 -8
  290. package/test/unit/spec/multistream/receiveSlot.ts +1 -1
  291. package/test/unit/spec/multistream/remoteMediaGroup.ts +266 -0
  292. package/test/unit/spec/multistream/remoteMediaManager.ts +123 -0
  293. package/test/unit/spec/multistream/sendSlotManager.ts +242 -0
  294. package/test/unit/spec/reachability/index.ts +66 -5
  295. package/test/unit/spec/reachability/request.js +3 -1
  296. package/test/unit/spec/reconnection-manager/index.js +55 -5
  297. package/test/unit/spec/recording-controller/index.js +294 -218
  298. package/test/unit/spec/recording-controller/util.js +223 -96
  299. package/test/unit/spec/roap/index.ts +21 -48
  300. package/test/unit/spec/roap/request.ts +74 -60
  301. package/test/unit/spec/roap/turnDiscovery.ts +30 -6
  302. package/test/unit/spec/rtcMetrics/index.ts +68 -0
  303. package/test/utils/integrationTestUtils.js +46 -0
  304. package/test/utils/testUtils.js +0 -60
  305. package/dist/common/browser-detection.d.ts +0 -9
  306. package/dist/common/collection.d.ts +0 -48
  307. package/dist/common/config.d.ts +0 -2
  308. package/dist/common/errors/captcha-error.d.ts +0 -15
  309. package/dist/common/errors/intent-to-join.d.ts +0 -16
  310. package/dist/common/errors/join-meeting.d.ts +0 -17
  311. package/dist/common/errors/media.d.ts +0 -15
  312. package/dist/common/errors/parameter.d.ts +0 -15
  313. package/dist/common/errors/password-error.d.ts +0 -15
  314. package/dist/common/errors/permission.d.ts +0 -14
  315. package/dist/common/errors/reconnection-in-progress.d.ts +0 -9
  316. package/dist/common/errors/reconnection.d.ts +0 -15
  317. package/dist/common/errors/stats.d.ts +0 -15
  318. package/dist/common/errors/webex-errors.d.ts +0 -81
  319. package/dist/common/errors/webex-meetings-error.d.ts +0 -20
  320. package/dist/common/events/events-scope.d.ts +0 -17
  321. package/dist/common/events/events.d.ts +0 -12
  322. package/dist/common/events/trigger-proxy.d.ts +0 -2
  323. package/dist/common/events/util.d.ts +0 -2
  324. package/dist/common/logs/logger-config.d.ts +0 -2
  325. package/dist/common/logs/logger-proxy.d.ts +0 -2
  326. package/dist/common/logs/request.d.ts +0 -34
  327. package/dist/common/queue.d.ts +0 -32
  328. package/dist/config.d.ts +0 -73
  329. package/dist/constants.d.ts +0 -924
  330. package/dist/controls-options-manager/constants.d.ts +0 -4
  331. package/dist/controls-options-manager/enums.d.ts +0 -5
  332. package/dist/controls-options-manager/index.d.ts +0 -120
  333. package/dist/controls-options-manager/util.d.ts +0 -7
  334. package/dist/docs/markdown/index.md +0 -12
  335. package/dist/docs/markdown/plugin-meetings.constants._active_.md +0 -11
  336. package/dist/docs/markdown/plugin-meetings.constants._answer_.md +0 -11
  337. package/dist/docs/markdown/plugin-meetings.constants._call_.md +0 -11
  338. package/dist/docs/markdown/plugin-meetings.constants._conflict_.md +0 -11
  339. package/dist/docs/markdown/plugin-meetings.constants._conversation_url_.md +0 -11
  340. package/dist/docs/markdown/plugin-meetings.constants._created_.md +0 -11
  341. package/dist/docs/markdown/plugin-meetings.constants._error_.md +0 -11
  342. package/dist/docs/markdown/plugin-meetings.constants._forced_.md +0 -11
  343. package/dist/docs/markdown/plugin-meetings.constants._id_.md +0 -11
  344. package/dist/docs/markdown/plugin-meetings.constants._idle_.md +0 -11
  345. package/dist/docs/markdown/plugin-meetings.constants._in_.md +0 -11
  346. package/dist/docs/markdown/plugin-meetings.constants._in_lobby_.md +0 -11
  347. package/dist/docs/markdown/plugin-meetings.constants._in_meeting_.md +0 -11
  348. package/dist/docs/markdown/plugin-meetings.constants._inactive_.md +0 -11
  349. package/dist/docs/markdown/plugin-meetings.constants._incoming_.md +0 -11
  350. package/dist/docs/markdown/plugin-meetings.constants._join_.md +0 -11
  351. package/dist/docs/markdown/plugin-meetings.constants._joined_.md +0 -11
  352. package/dist/docs/markdown/plugin-meetings.constants._left_.md +0 -11
  353. package/dist/docs/markdown/plugin-meetings.constants._locus_id_.md +0 -11
  354. package/dist/docs/markdown/plugin-meetings.constants._meeting_.md +0 -11
  355. package/dist/docs/markdown/plugin-meetings.constants._meeting_center_.md +0 -11
  356. package/dist/docs/markdown/plugin-meetings.constants._meeting_id_.md +0 -11
  357. package/dist/docs/markdown/plugin-meetings.constants._meeting_link_.md +0 -11
  358. package/dist/docs/markdown/plugin-meetings.constants._meeting_uuid_.md +0 -11
  359. package/dist/docs/markdown/plugin-meetings.constants._move_media_.md +0 -11
  360. package/dist/docs/markdown/plugin-meetings.constants._none_.md +0 -11
  361. package/dist/docs/markdown/plugin-meetings.constants._not_in_meeting_.md +0 -11
  362. package/dist/docs/markdown/plugin-meetings.constants._observe_.md +0 -11
  363. package/dist/docs/markdown/plugin-meetings.constants._people_.md +0 -11
  364. package/dist/docs/markdown/plugin-meetings.constants._personal_room_.md +0 -11
  365. package/dist/docs/markdown/plugin-meetings.constants._receive_only_.md +0 -11
  366. package/dist/docs/markdown/plugin-meetings.constants._remove_.md +0 -11
  367. package/dist/docs/markdown/plugin-meetings.constants._requested_.md +0 -11
  368. package/dist/docs/markdown/plugin-meetings.constants._resource_room_.md +0 -11
  369. package/dist/docs/markdown/plugin-meetings.constants._room_.md +0 -11
  370. package/dist/docs/markdown/plugin-meetings.constants._s_line.md +0 -11
  371. package/dist/docs/markdown/plugin-meetings.constants._send_only_.md +0 -11
  372. package/dist/docs/markdown/plugin-meetings.constants._send_receive_.md +0 -11
  373. package/dist/docs/markdown/plugin-meetings.constants._sip_bridge_.md +0 -11
  374. package/dist/docs/markdown/plugin-meetings.constants._sip_uri_.md +0 -11
  375. package/dist/docs/markdown/plugin-meetings.constants._slides_.md +0 -11
  376. package/dist/docs/markdown/plugin-meetings.constants._unknown_.md +0 -11
  377. package/dist/docs/markdown/plugin-meetings.constants._user_.md +0 -11
  378. package/dist/docs/markdown/plugin-meetings.constants._wait_.md +0 -11
  379. package/dist/docs/markdown/plugin-meetings.constants._webex_meeting_.md +0 -11
  380. package/dist/docs/markdown/plugin-meetings.constants.alert.md +0 -11
  381. package/dist/docs/markdown/plugin-meetings.constants.alternate_redirect_true.md +0 -11
  382. package/dist/docs/markdown/plugin-meetings.constants.answer.md +0 -11
  383. package/dist/docs/markdown/plugin-meetings.constants.api.md +0 -14
  384. package/dist/docs/markdown/plugin-meetings.constants.audio.md +0 -11
  385. package/dist/docs/markdown/plugin-meetings.constants.audio_input.md +0 -11
  386. package/dist/docs/markdown/plugin-meetings.constants.audio_status.md +0 -11
  387. package/dist/docs/markdown/plugin-meetings.constants.available_resolutions.md +0 -60
  388. package/dist/docs/markdown/plugin-meetings.constants.bnr_status.md +0 -16
  389. package/dist/docs/markdown/plugin-meetings.constants.breakouts.md +0 -51
  390. package/dist/docs/markdown/plugin-meetings.constants.calendar.md +0 -11
  391. package/dist/docs/markdown/plugin-meetings.constants.calendar_events.md +0 -17
  392. package/dist/docs/markdown/plugin-meetings.constants.calendar_events_api.md +0 -11
  393. package/dist/docs/markdown/plugin-meetings.constants.call.md +0 -11
  394. package/dist/docs/markdown/plugin-meetings.constants.call_removed_reason.md +0 -15
  395. package/dist/docs/markdown/plugin-meetings.constants.claim.md +0 -11
  396. package/dist/docs/markdown/plugin-meetings.constants.cmr_meetings.md +0 -11
  397. package/dist/docs/markdown/plugin-meetings.constants.complete.md +0 -11
  398. package/dist/docs/markdown/plugin-meetings.constants.connection_state.md +0 -18
  399. package/dist/docs/markdown/plugin-meetings.constants.content.md +0 -11
  400. package/dist/docs/markdown/plugin-meetings.constants.controls.md +0 -11
  401. package/dist/docs/markdown/plugin-meetings.constants.conversation_service.md +0 -11
  402. package/dist/docs/markdown/plugin-meetings.constants.conversation_url.md +0 -11
  403. package/dist/docs/markdown/plugin-meetings.constants.correlation_id.md +0 -11
  404. package/dist/docs/markdown/plugin-meetings.constants.decline.md +0 -11
  405. package/dist/docs/markdown/plugin-meetings.constants.default_excluded_stats.md +0 -11
  406. package/dist/docs/markdown/plugin-meetings.constants.default_get_stats_filter.md +0 -13
  407. package/dist/docs/markdown/plugin-meetings.constants.development.md +0 -11
  408. package/dist/docs/markdown/plugin-meetings.constants.dialer_regex.md +0 -15
  409. package/dist/docs/markdown/plugin-meetings.constants.display_hints.md +0 -51
  410. package/dist/docs/markdown/plugin-meetings.constants.embedded_app_types.md +0 -14
  411. package/dist/docs/markdown/plugin-meetings.constants.end.md +0 -11
  412. package/dist/docs/markdown/plugin-meetings.constants.ended.md +0 -11
  413. package/dist/docs/markdown/plugin-meetings.constants.error.md +0 -11
  414. package/dist/docs/markdown/plugin-meetings.constants.error_dictionary.md +0 -62
  415. package/dist/docs/markdown/plugin-meetings.constants.event_triggers.md +0 -82
  416. package/dist/docs/markdown/plugin-meetings.constants.event_types.md +0 -21
  417. package/dist/docs/markdown/plugin-meetings.constants.events.md +0 -26
  418. package/dist/docs/markdown/plugin-meetings.constants.floor_action.md +0 -15
  419. package/dist/docs/markdown/plugin-meetings.constants.full_state.md +0 -17
  420. package/dist/docs/markdown/plugin-meetings.constants.gathering.md +0 -11
  421. package/dist/docs/markdown/plugin-meetings.constants.hecate.md +0 -11
  422. package/dist/docs/markdown/plugin-meetings.constants.host.md +0 -11
  423. package/dist/docs/markdown/plugin-meetings.constants.http_verbs.md +0 -17
  424. package/dist/docs/markdown/plugin-meetings.constants.https_protocol.md +0 -11
  425. package/dist/docs/markdown/plugin-meetings.constants.ice_fail_timeout.md +0 -11
  426. package/dist/docs/markdown/plugin-meetings.constants.ice_gathering_state.md +0 -15
  427. package/dist/docs/markdown/plugin-meetings.constants.ice_state.md +0 -18
  428. package/dist/docs/markdown/plugin-meetings.constants.ice_timeout.md +0 -11
  429. package/dist/docs/markdown/plugin-meetings.constants.intent_to_join.md +0 -11
  430. package/dist/docs/markdown/plugin-meetings.constants.ipv4_regex.md +0 -11
  431. package/dist/docs/markdown/plugin-meetings.constants.join.md +0 -11
  432. package/dist/docs/markdown/plugin-meetings.constants.layout_types.md +0 -13
  433. package/dist/docs/markdown/plugin-meetings.constants.leave.md +0 -11
  434. package/dist/docs/markdown/plugin-meetings.constants.live.md +0 -11
  435. package/dist/docs/markdown/plugin-meetings.constants.local.md +0 -11
  436. package/dist/docs/markdown/plugin-meetings.constants.loci.md +0 -11
  437. package/dist/docs/markdown/plugin-meetings.constants.locus.md +0 -26
  438. package/dist/docs/markdown/plugin-meetings.constants.locus_url.md +0 -11
  439. package/dist/docs/markdown/plugin-meetings.constants.locusevent.md +0 -33
  440. package/dist/docs/markdown/plugin-meetings.constants.locusinfo.md +0 -43
  441. package/dist/docs/markdown/plugin-meetings.constants.max_random_delay_for_meeting_info.md +0 -11
  442. package/dist/docs/markdown/plugin-meetings.constants.md +0 -186
  443. package/dist/docs/markdown/plugin-meetings.constants.media.md +0 -11
  444. package/dist/docs/markdown/plugin-meetings.constants.media_devices.md +0 -15
  445. package/dist/docs/markdown/plugin-meetings.constants.media_peer_connection_name.md +0 -11
  446. package/dist/docs/markdown/plugin-meetings.constants.media_state.md +0 -14
  447. package/dist/docs/markdown/plugin-meetings.constants.media_track_constraint.md +0 -17
  448. package/dist/docs/markdown/plugin-meetings.constants.mediacontent.md +0 -14
  449. package/dist/docs/markdown/plugin-meetings.constants.meet.md +0 -11
  450. package/dist/docs/markdown/plugin-meetings.constants.meet_m.md +0 -11
  451. package/dist/docs/markdown/plugin-meetings.constants.meeting_audio_state_machine.md +0 -20
  452. package/dist/docs/markdown/plugin-meetings.constants.meeting_end_reason.md +0 -14
  453. package/dist/docs/markdown/plugin-meetings.constants.meeting_errors.md +0 -102
  454. package/dist/docs/markdown/plugin-meetings.constants.meeting_info_failure_reason.md +0 -16
  455. package/dist/docs/markdown/plugin-meetings.constants.meeting_removed_reason.md +0 -19
  456. package/dist/docs/markdown/plugin-meetings.constants.meeting_state.md +0 -25
  457. package/dist/docs/markdown/plugin-meetings.constants.meeting_state_machine.md +0 -31
  458. package/dist/docs/markdown/plugin-meetings.constants.meeting_video_state_machine.md +0 -20
  459. package/dist/docs/markdown/plugin-meetings.constants.meetinginfo.md +0 -11
  460. package/dist/docs/markdown/plugin-meetings.constants.meetings.md +0 -11
  461. package/dist/docs/markdown/plugin-meetings.constants.metrics_join_times_max_duration.md +0 -11
  462. package/dist/docs/markdown/plugin-meetings.constants.moderator_false.md +0 -11
  463. package/dist/docs/markdown/plugin-meetings.constants.moderator_true.md +0 -11
  464. package/dist/docs/markdown/plugin-meetings.constants.mqa_inteval.md +0 -11
  465. package/dist/docs/markdown/plugin-meetings.constants.mqa_stats.md +0 -82
  466. package/dist/docs/markdown/plugin-meetings.constants.network_status.md +0 -15
  467. package/dist/docs/markdown/plugin-meetings.constants.network_type.md +0 -16
  468. package/dist/docs/markdown/plugin-meetings.constants.offline.md +0 -11
  469. package/dist/docs/markdown/plugin-meetings.constants.online.md +0 -11
  470. package/dist/docs/markdown/plugin-meetings.constants.participant.md +0 -11
  471. package/dist/docs/markdown/plugin-meetings.constants.participant_deltas.md +0 -22
  472. package/dist/docs/markdown/plugin-meetings.constants.password_status.md +0 -16
  473. package/dist/docs/markdown/plugin-meetings.constants.pc_bail_timeout.md +0 -11
  474. package/dist/docs/markdown/plugin-meetings.constants.peer_connection_state.md +0 -14
  475. package/dist/docs/markdown/plugin-meetings.constants.provisional_type_dial_in.md +0 -11
  476. package/dist/docs/markdown/plugin-meetings.constants.provisional_type_dial_out.md +0 -11
  477. package/dist/docs/markdown/plugin-meetings.constants.pstn_status.md +0 -18
  478. package/dist/docs/markdown/plugin-meetings.constants.quality_levels.md +0 -19
  479. package/dist/docs/markdown/plugin-meetings.constants.reachability.md +0 -15
  480. package/dist/docs/markdown/plugin-meetings.constants.ready.md +0 -11
  481. package/dist/docs/markdown/plugin-meetings.constants.reconnection.md +0 -19
  482. package/dist/docs/markdown/plugin-meetings.constants.recording_state.md +0 -16
  483. package/dist/docs/markdown/plugin-meetings.constants.remote.md +0 -11
  484. package/dist/docs/markdown/plugin-meetings.constants.resource.md +0 -15
  485. package/dist/docs/markdown/plugin-meetings.constants.retry_timeout.md +0 -11
  486. package/dist/docs/markdown/plugin-meetings.constants.roap.md +0 -22
  487. package/dist/docs/markdown/plugin-meetings.constants.self_roles.md +0 -14
  488. package/dist/docs/markdown/plugin-meetings.constants.send_dtmf_endpoint.md +0 -11
  489. package/dist/docs/markdown/plugin-meetings.constants.sendrecv.md +0 -11
  490. package/dist/docs/markdown/plugin-meetings.constants.share.md +0 -11
  491. package/dist/docs/markdown/plugin-meetings.constants.share_peer_connection_name.md +0 -11
  492. package/dist/docs/markdown/plugin-meetings.constants.share_status.md +0 -16
  493. package/dist/docs/markdown/plugin-meetings.constants.share_stopped_reason.md +0 -14
  494. package/dist/docs/markdown/plugin-meetings.constants.sip_uri.md +0 -11
  495. package/dist/docs/markdown/plugin-meetings.constants.stats.md +0 -16
  496. package/dist/docs/markdown/plugin-meetings.constants.type.md +0 -11
  497. package/dist/docs/markdown/plugin-meetings.constants.use_uri_lookup_false.md +0 -11
  498. package/dist/docs/markdown/plugin-meetings.constants.uuid_reg.md +0 -11
  499. package/dist/docs/markdown/plugin-meetings.constants.valid_email_address.md +0 -11
  500. package/dist/docs/markdown/plugin-meetings.constants.valid_pin.md +0 -11
  501. package/dist/docs/markdown/plugin-meetings.constants.valid_pmr_address.md +0 -11
  502. package/dist/docs/markdown/plugin-meetings.constants.valid_pmr_link.md +0 -11
  503. package/dist/docs/markdown/plugin-meetings.constants.video.md +0 -11
  504. package/dist/docs/markdown/plugin-meetings.constants.video_input.md +0 -11
  505. package/dist/docs/markdown/plugin-meetings.constants.video_resolutions.md +0 -24
  506. package/dist/docs/markdown/plugin-meetings.constants.video_status.md +0 -11
  507. package/dist/docs/markdown/plugin-meetings.constants.wbxappapi_service.md +0 -11
  508. package/dist/docs/markdown/plugin-meetings.constants.webex_dot_com.md +0 -11
  509. package/dist/docs/markdown/plugin-meetings.constants.whiteboard.md +0 -11
  510. package/dist/docs/markdown/plugin-meetings.constants.www_dot.md +0 -11
  511. package/dist/docs/markdown/plugin-meetings.md +0 -28
  512. package/dist/docs/markdown/plugin-meetings.meeting.default._constructor_.md +0 -21
  513. package/dist/docs/markdown/plugin-meetings.meeting.default.acknowledge.md +0 -28
  514. package/dist/docs/markdown/plugin-meetings.meeting.default.addmedia.md +0 -28
  515. package/dist/docs/markdown/plugin-meetings.meeting.default.admit.md +0 -32
  516. package/dist/docs/markdown/plugin-meetings.meeting.default.attrs.md +0 -11
  517. package/dist/docs/markdown/plugin-meetings.meeting.default.audio.md +0 -11
  518. package/dist/docs/markdown/plugin-meetings.meeting.default.breakouts.md +0 -11
  519. package/dist/docs/markdown/plugin-meetings.meeting.default.callevents.md +0 -11
  520. package/dist/docs/markdown/plugin-meetings.meeting.default.cancelphoneinvite.md +0 -30
  521. package/dist/docs/markdown/plugin-meetings.meeting.default.canupdatemedia.md +0 -19
  522. package/dist/docs/markdown/plugin-meetings.meeting.default.changevideolayout.md +0 -38
  523. package/dist/docs/markdown/plugin-meetings.meeting.default.clearmeetingdata.md +0 -13
  524. package/dist/docs/markdown/plugin-meetings.meeting.default.closelocalshare.md +0 -21
  525. package/dist/docs/markdown/plugin-meetings.meeting.default.closelocalstream.md +0 -21
  526. package/dist/docs/markdown/plugin-meetings.meeting.default.closepeerconnections.md +0 -21
  527. package/dist/docs/markdown/plugin-meetings.meeting.default.closeremotestream.md +0 -26
  528. package/dist/docs/markdown/plugin-meetings.meeting.default.closeremotetracks.md +0 -19
  529. package/dist/docs/markdown/plugin-meetings.meeting.default.controlsoptionsmanager.md +0 -11
  530. package/dist/docs/markdown/plugin-meetings.meeting.default.conversationurl.md +0 -11
  531. package/dist/docs/markdown/plugin-meetings.meeting.default.correlationid.md +0 -11
  532. package/dist/docs/markdown/plugin-meetings.meeting.default.createmediaconnection.md +0 -26
  533. package/dist/docs/markdown/plugin-meetings.meeting.default.decline.md +0 -28
  534. package/dist/docs/markdown/plugin-meetings.meeting.default.deferjoin.md +0 -11
  535. package/dist/docs/markdown/plugin-meetings.meeting.default.destination.md +0 -11
  536. package/dist/docs/markdown/plugin-meetings.meeting.default.destinationtype.md +0 -11
  537. package/dist/docs/markdown/plugin-meetings.meeting.default.deviceurl.md +0 -11
  538. package/dist/docs/markdown/plugin-meetings.meeting.default.dialindevicestatus.md +0 -11
  539. package/dist/docs/markdown/plugin-meetings.meeting.default.dialinurl.md +0 -11
  540. package/dist/docs/markdown/plugin-meetings.meeting.default.dialoutdevicestatus.md +0 -11
  541. package/dist/docs/markdown/plugin-meetings.meeting.default.dialouturl.md +0 -11
  542. package/dist/docs/markdown/plugin-meetings.meeting.default.disconnectphoneaudio.md +0 -19
  543. package/dist/docs/markdown/plugin-meetings.meeting.default.endcallinitiatejoinreq.md +0 -11
  544. package/dist/docs/markdown/plugin-meetings.meeting.default.endjoinreqresp.md +0 -11
  545. package/dist/docs/markdown/plugin-meetings.meeting.default.endlocalsdpgenremotesdprecvdelay.md +0 -11
  546. package/dist/docs/markdown/plugin-meetings.meeting.default.endmeetingforall.md +0 -21
  547. package/dist/docs/markdown/plugin-meetings.meeting.default.fetchmeetinginfo.md +0 -29
  548. package/dist/docs/markdown/plugin-meetings.meeting.default.fetchmeetinginfotimeoutid.md +0 -11
  549. package/dist/docs/markdown/plugin-meetings.meeting.default.floorgrantpending.md +0 -11
  550. package/dist/docs/markdown/plugin-meetings.meeting.default.forwardevent.md +0 -29
  551. package/dist/docs/markdown/plugin-meetings.meeting.default.getanalyzermetricsprepayload.md +0 -32
  552. package/dist/docs/markdown/plugin-meetings.meeting.default.getcallinitiatejoinreq.md +0 -17
  553. package/dist/docs/markdown/plugin-meetings.meeting.default.getdevices.md +0 -13
  554. package/dist/docs/markdown/plugin-meetings.meeting.default.getjoinreqresp.md +0 -17
  555. package/dist/docs/markdown/plugin-meetings.meeting.default.getlocalsdpgenremotesdprecvdelay.md +0 -17
  556. package/dist/docs/markdown/plugin-meetings.meeting.default.getmediaconnectiondebugid.md +0 -15
  557. package/dist/docs/markdown/plugin-meetings.meeting.default.getmediastreams.md +0 -15
  558. package/dist/docs/markdown/plugin-meetings.meeting.default.getmembers.md +0 -21
  559. package/dist/docs/markdown/plugin-meetings.meeting.default.getsendingmediadelayduration.md +0 -24
  560. package/dist/docs/markdown/plugin-meetings.meeting.default.getsetupdelayduration.md +0 -24
  561. package/dist/docs/markdown/plugin-meetings.meeting.default.getsupporteddevices.md +0 -16
  562. package/dist/docs/markdown/plugin-meetings.meeting.default.gettotaljmt.md +0 -17
  563. package/dist/docs/markdown/plugin-meetings.meeting.default.guest.md +0 -11
  564. package/dist/docs/markdown/plugin-meetings.meeting.default.handledatachannelurlchange.md +0 -26
  565. package/dist/docs/markdown/plugin-meetings.meeting.default.handleroapfailure.md +0 -13
  566. package/dist/docs/markdown/plugin-meetings.meeting.default.hasjoinedonce.md +0 -11
  567. package/dist/docs/markdown/plugin-meetings.meeting.default.haswebsocketconnected.md +0 -11
  568. package/dist/docs/markdown/plugin-meetings.meeting.default.hostid.md +0 -11
  569. package/dist/docs/markdown/plugin-meetings.meeting.default.id.md +0 -11
  570. package/dist/docs/markdown/plugin-meetings.meeting.default.inmeetingactions.md +0 -11
  571. package/dist/docs/markdown/plugin-meetings.meeting.default.invite.md +0 -33
  572. package/dist/docs/markdown/plugin-meetings.meeting.default.isaudioconnected.md +0 -21
  573. package/dist/docs/markdown/plugin-meetings.meeting.default.isaudiomuted.md +0 -21
  574. package/dist/docs/markdown/plugin-meetings.meeting.default.isaudioself.md +0 -21
  575. package/dist/docs/markdown/plugin-meetings.meeting.default.islocalsharelive.md +0 -11
  576. package/dist/docs/markdown/plugin-meetings.meeting.default.ismultistream.md +0 -11
  577. package/dist/docs/markdown/plugin-meetings.meeting.default.isreactionssupported.md +0 -19
  578. package/dist/docs/markdown/plugin-meetings.meeting.default.isroapinprogress.md +0 -11
  579. package/dist/docs/markdown/plugin-meetings.meeting.default.issharing.md +0 -11
  580. package/dist/docs/markdown/plugin-meetings.meeting.default.istranscriptionsupported.md +0 -23
  581. package/dist/docs/markdown/plugin-meetings.meeting.default.isvideoconnected.md +0 -21
  582. package/dist/docs/markdown/plugin-meetings.meeting.default.isvideomuted.md +0 -21
  583. package/dist/docs/markdown/plugin-meetings.meeting.default.isvideoself.md +0 -21
  584. package/dist/docs/markdown/plugin-meetings.meeting.default.join.md +0 -28
  585. package/dist/docs/markdown/plugin-meetings.meeting.default.joinedwith.md +0 -11
  586. package/dist/docs/markdown/plugin-meetings.meeting.default.joinwithmedia.md +0 -36
  587. package/dist/docs/markdown/plugin-meetings.meeting.default.keepalivetimerid.md +0 -11
  588. package/dist/docs/markdown/plugin-meetings.meeting.default.lastvideolayoutinfo.md +0 -11
  589. package/dist/docs/markdown/plugin-meetings.meeting.default.leave.md +0 -31
  590. package/dist/docs/markdown/plugin-meetings.meeting.default.lockmeeting.md +0 -21
  591. package/dist/docs/markdown/plugin-meetings.meeting.default.locusid.md +0 -11
  592. package/dist/docs/markdown/plugin-meetings.meeting.default.locusinfo.md +0 -11
  593. package/dist/docs/markdown/plugin-meetings.meeting.default.locusurl.md +0 -11
  594. package/dist/docs/markdown/plugin-meetings.meeting.default.md +0 -227
  595. package/dist/docs/markdown/plugin-meetings.meeting.default.mediaconnections.md +0 -11
  596. package/dist/docs/markdown/plugin-meetings.meeting.default.mediaid.md +0 -11
  597. package/dist/docs/markdown/plugin-meetings.meeting.default.medianegotiatedevent.md +0 -13
  598. package/dist/docs/markdown/plugin-meetings.meeting.default.mediaproperties.md +0 -11
  599. package/dist/docs/markdown/plugin-meetings.meeting.default.mediarequestmanagers.md +0 -16
  600. package/dist/docs/markdown/plugin-meetings.meeting.default.meetingfinitestatemachine.md +0 -11
  601. package/dist/docs/markdown/plugin-meetings.meeting.default.meetinginfo.md +0 -11
  602. package/dist/docs/markdown/plugin-meetings.meeting.default.meetinginfofailurereason.md +0 -11
  603. package/dist/docs/markdown/plugin-meetings.meeting.default.meetingjoinurl.md +0 -11
  604. package/dist/docs/markdown/plugin-meetings.meeting.default.meetingnumber.md +0 -11
  605. package/dist/docs/markdown/plugin-meetings.meeting.default.meetingrequest.md +0 -11
  606. package/dist/docs/markdown/plugin-meetings.meeting.default.meetingstate.md +0 -11
  607. package/dist/docs/markdown/plugin-meetings.meeting.default.members.md +0 -11
  608. package/dist/docs/markdown/plugin-meetings.meeting.default.movefrom.md +0 -28
  609. package/dist/docs/markdown/plugin-meetings.meeting.default.moveto.md +0 -28
  610. package/dist/docs/markdown/plugin-meetings.meeting.default.mute.md +0 -29
  611. package/dist/docs/markdown/plugin-meetings.meeting.default.muteaudio.md +0 -21
  612. package/dist/docs/markdown/plugin-meetings.meeting.default.mutevideo.md +0 -21
  613. package/dist/docs/markdown/plugin-meetings.meeting.default.namespace.md +0 -11
  614. package/dist/docs/markdown/plugin-meetings.meeting.default.networkqualitymonitor.md +0 -11
  615. package/dist/docs/markdown/plugin-meetings.meeting.default.networkstatus.md +0 -11
  616. package/dist/docs/markdown/plugin-meetings.meeting.default.options.md +0 -11
  617. package/dist/docs/markdown/plugin-meetings.meeting.default.orgid.md +0 -11
  618. package/dist/docs/markdown/plugin-meetings.meeting.default.owner.md +0 -11
  619. package/dist/docs/markdown/plugin-meetings.meeting.default.parsemeetinginfo.md +0 -34
  620. package/dist/docs/markdown/plugin-meetings.meeting.default.partner.md +0 -11
  621. package/dist/docs/markdown/plugin-meetings.meeting.default.passwordstatus.md +0 -11
  622. package/dist/docs/markdown/plugin-meetings.meeting.default.pauserecording.md +0 -21
  623. package/dist/docs/markdown/plugin-meetings.meeting.default.permissiontoken.md +0 -11
  624. package/dist/docs/markdown/plugin-meetings.meeting.default.policy.md +0 -11
  625. package/dist/docs/markdown/plugin-meetings.meeting.default.processnextqueuedmediaupdate.md +0 -13
  626. package/dist/docs/markdown/plugin-meetings.meeting.default.publishtracks.md +0 -33
  627. package/dist/docs/markdown/plugin-meetings.meeting.default.queuedmediaupdates.md +0 -11
  628. package/dist/docs/markdown/plugin-meetings.meeting.default.receiveslotmanager.md +0 -11
  629. package/dist/docs/markdown/plugin-meetings.meeting.default.reconnect.md +0 -28
  630. package/dist/docs/markdown/plugin-meetings.meeting.default.reconnectionmanager.md +0 -11
  631. package/dist/docs/markdown/plugin-meetings.meeting.default.recording.md +0 -11
  632. package/dist/docs/markdown/plugin-meetings.meeting.default.recordingcontroller.md +0 -11
  633. package/dist/docs/markdown/plugin-meetings.meeting.default.refreshcaptcha.md +0 -21
  634. package/dist/docs/markdown/plugin-meetings.meeting.default.remotemediamanager.md +0 -11
  635. package/dist/docs/markdown/plugin-meetings.meeting.default.remove.md +0 -28
  636. package/dist/docs/markdown/plugin-meetings.meeting.default.requiredcaptcha.md +0 -11
  637. package/dist/docs/markdown/plugin-meetings.meeting.default.resource.md +0 -11
  638. package/dist/docs/markdown/plugin-meetings.meeting.default.resourceid.md +0 -11
  639. package/dist/docs/markdown/plugin-meetings.meeting.default.resourceurl.md +0 -11
  640. package/dist/docs/markdown/plugin-meetings.meeting.default.resumerecording.md +0 -21
  641. package/dist/docs/markdown/plugin-meetings.meeting.default.roap.md +0 -11
  642. package/dist/docs/markdown/plugin-meetings.meeting.default.roapseq.md +0 -11
  643. package/dist/docs/markdown/plugin-meetings.meeting.default.selfid.md +0 -11
  644. package/dist/docs/markdown/plugin-meetings.meeting.default.senddtmf.md +0 -28
  645. package/dist/docs/markdown/plugin-meetings.meeting.default.sendreaction.md +0 -29
  646. package/dist/docs/markdown/plugin-meetings.meeting.default.setdisallowunmute.md +0 -26
  647. package/dist/docs/markdown/plugin-meetings.meeting.default.setendcallinitiatejoinreq.md +0 -17
  648. package/dist/docs/markdown/plugin-meetings.meeting.default.setendjoinreqresp.md +0 -17
  649. package/dist/docs/markdown/plugin-meetings.meeting.default.setendlocalsdpgenremotesdprecvdelay.md +0 -17
  650. package/dist/docs/markdown/plugin-meetings.meeting.default.setendsendingmediadelay.md +0 -24
  651. package/dist/docs/markdown/plugin-meetings.meeting.default.setendsetupdelay.md +0 -24
  652. package/dist/docs/markdown/plugin-meetings.meeting.default.setlocalsharetrack.md +0 -28
  653. package/dist/docs/markdown/plugin-meetings.meeting.default.setlocaltracks.md +0 -28
  654. package/dist/docs/markdown/plugin-meetings.meeting.default.setlocalvideoquality.md +0 -26
  655. package/dist/docs/markdown/plugin-meetings.meeting.default.setmeetingquality.md +0 -31
  656. package/dist/docs/markdown/plugin-meetings.meeting.default.setmercurylistener.md +0 -21
  657. package/dist/docs/markdown/plugin-meetings.meeting.default.setmuteall.md +0 -28
  658. package/dist/docs/markdown/plugin-meetings.meeting.default.setmuteonentry.md +0 -26
  659. package/dist/docs/markdown/plugin-meetings.meeting.default.setremotequalitylevel.md +0 -26
  660. package/dist/docs/markdown/plugin-meetings.meeting.default.setsipuri.md +0 -26
  661. package/dist/docs/markdown/plugin-meetings.meeting.default.setstartcallinitiatejoinreq.md +0 -17
  662. package/dist/docs/markdown/plugin-meetings.meeting.default.setstartjoinreqresp.md +0 -17
  663. package/dist/docs/markdown/plugin-meetings.meeting.default.setstartlocalsdpgenremotesdprecvdelay.md +0 -17
  664. package/dist/docs/markdown/plugin-meetings.meeting.default.setstartsendingmediadelay.md +0 -24
  665. package/dist/docs/markdown/plugin-meetings.meeting.default.setstartsetupdelay.md +0 -24
  666. package/dist/docs/markdown/plugin-meetings.meeting.default.setupbreakoutslistener.md +0 -19
  667. package/dist/docs/markdown/plugin-meetings.meeting.default.setupmediaconnectionlisteners.md +0 -11
  668. package/dist/docs/markdown/plugin-meetings.meeting.default.setupstatsanalyzereventhandlers.md +0 -13
  669. package/dist/docs/markdown/plugin-meetings.meeting.default.sharescreen.md +0 -32
  670. package/dist/docs/markdown/plugin-meetings.meeting.default.sharestatus.md +0 -11
  671. package/dist/docs/markdown/plugin-meetings.meeting.default.sipuri.md +0 -11
  672. package/dist/docs/markdown/plugin-meetings.meeting.default.startcallinitiatejoinreq.md +0 -11
  673. package/dist/docs/markdown/plugin-meetings.meeting.default.startjoinreqresp.md +0 -11
  674. package/dist/docs/markdown/plugin-meetings.meeting.default.startkeepalive.md +0 -13
  675. package/dist/docs/markdown/plugin-meetings.meeting.default.startlocalsdpgenremotesdprecvdelay.md +0 -11
  676. package/dist/docs/markdown/plugin-meetings.meeting.default.startrecording.md +0 -21
  677. package/dist/docs/markdown/plugin-meetings.meeting.default.startwhiteboardshare.md +0 -29
  678. package/dist/docs/markdown/plugin-meetings.meeting.default.state.md +0 -11
  679. package/dist/docs/markdown/plugin-meetings.meeting.default.statsanalyzer.md +0 -11
  680. package/dist/docs/markdown/plugin-meetings.meeting.default.stopkeepalive.md +0 -13
  681. package/dist/docs/markdown/plugin-meetings.meeting.default.stopreceivingtranscription.md +0 -19
  682. package/dist/docs/markdown/plugin-meetings.meeting.default.stoprecording.md +0 -21
  683. package/dist/docs/markdown/plugin-meetings.meeting.default.stopshare.md +0 -28
  684. package/dist/docs/markdown/plugin-meetings.meeting.default.stopwhiteboardshare.md +0 -28
  685. package/dist/docs/markdown/plugin-meetings.meeting.default.togglereactions.md +0 -28
  686. package/dist/docs/markdown/plugin-meetings.meeting.default.transcription.md +0 -11
  687. package/dist/docs/markdown/plugin-meetings.meeting.default.transfer.md +0 -29
  688. package/dist/docs/markdown/plugin-meetings.meeting.default.type.md +0 -11
  689. package/dist/docs/markdown/plugin-meetings.meeting.default.unlockmeeting.md +0 -21
  690. package/dist/docs/markdown/plugin-meetings.meeting.default.unmuteaudio.md +0 -21
  691. package/dist/docs/markdown/plugin-meetings.meeting.default.unmutevideo.md +0 -21
  692. package/dist/docs/markdown/plugin-meetings.meeting.default.unpublishtracks.md +0 -26
  693. package/dist/docs/markdown/plugin-meetings.meeting.default.unsetlocalsharetrack.md +0 -21
  694. package/dist/docs/markdown/plugin-meetings.meeting.default.unsetlocalvideotrack.md +0 -21
  695. package/dist/docs/markdown/plugin-meetings.meeting.default.unsetpeerconnections.md +0 -21
  696. package/dist/docs/markdown/plugin-meetings.meeting.default.unsetremotestream.md +0 -26
  697. package/dist/docs/markdown/plugin-meetings.meeting.default.unsetremotetracks.md +0 -19
  698. package/dist/docs/markdown/plugin-meetings.meeting.default.updateaudio.md +0 -34
  699. package/dist/docs/markdown/plugin-meetings.meeting.default.updatellmconnection.md +0 -19
  700. package/dist/docs/markdown/plugin-meetings.meeting.default.updatemedia.md +0 -32
  701. package/dist/docs/markdown/plugin-meetings.meeting.default.updatemediaconnections.md +0 -11
  702. package/dist/docs/markdown/plugin-meetings.meeting.default.updateshare.md +0 -35
  703. package/dist/docs/markdown/plugin-meetings.meeting.default.updatevideo.md +0 -34
  704. package/dist/docs/markdown/plugin-meetings.meeting.default.uploadlogs.md +0 -28
  705. package/dist/docs/markdown/plugin-meetings.meeting.default.usephoneaudio.md +0 -28
  706. package/dist/docs/markdown/plugin-meetings.meeting.default.userid.md +0 -11
  707. package/dist/docs/markdown/plugin-meetings.meeting.default.verifypassword.md +0 -35
  708. package/dist/docs/markdown/plugin-meetings.meeting.default.video.md +0 -11
  709. package/dist/docs/markdown/plugin-meetings.meeting.default.wirelessshare.md +0 -11
  710. package/dist/docs/markdown/plugin-meetings.meeting.md +0 -18
  711. package/dist/docs/markdown/plugin-meetings.meeting.media_update_type.md +0 -17
  712. package/dist/docs/markdown/plugin-meetings.meetings._constructor_.md +0 -22
  713. package/dist/docs/markdown/plugin-meetings.meetings.create.md +0 -30
  714. package/dist/docs/markdown/plugin-meetings.meetings.fetchuserpreferredwebexsite.md +0 -19
  715. package/dist/docs/markdown/plugin-meetings.meetings.geohintinfo.md +0 -11
  716. package/dist/docs/markdown/plugin-meetings.meetings.getallmeetings.md +0 -31
  717. package/dist/docs/markdown/plugin-meetings.meetings.getgeohint.md +0 -19
  718. package/dist/docs/markdown/plugin-meetings.meetings.getlogger.md +0 -19
  719. package/dist/docs/markdown/plugin-meetings.meetings.getmeetingbytype.md +0 -29
  720. package/dist/docs/markdown/plugin-meetings.meetings.getpersonalmeetingroom.md +0 -21
  721. package/dist/docs/markdown/plugin-meetings.meetings.getreachability.md +0 -21
  722. package/dist/docs/markdown/plugin-meetings.meetings.getscheduledmeetings.md +0 -19
  723. package/dist/docs/markdown/plugin-meetings.meetings.loggerrequest.md +0 -11
  724. package/dist/docs/markdown/plugin-meetings.meetings.md +0 -57
  725. package/dist/docs/markdown/plugin-meetings.meetings.media.md +0 -11
  726. package/dist/docs/markdown/plugin-meetings.meetings.meetingcollection.md +0 -11
  727. package/dist/docs/markdown/plugin-meetings.meetings.meetinginfo.md +0 -11
  728. package/dist/docs/markdown/plugin-meetings.meetings.namespace.md +0 -11
  729. package/dist/docs/markdown/plugin-meetings.meetings.personalmeetingroom.md +0 -11
  730. package/dist/docs/markdown/plugin-meetings.meetings.preferredwebexsite.md +0 -11
  731. package/dist/docs/markdown/plugin-meetings.meetings.reachability.md +0 -11
  732. package/dist/docs/markdown/plugin-meetings.meetings.register.md +0 -21
  733. package/dist/docs/markdown/plugin-meetings.meetings.registered.md +0 -11
  734. package/dist/docs/markdown/plugin-meetings.meetings.request.md +0 -11
  735. package/dist/docs/markdown/plugin-meetings.meetings.setreachability.md +0 -21
  736. package/dist/docs/markdown/plugin-meetings.meetings.startreachability.md +0 -21
  737. package/dist/docs/markdown/plugin-meetings.meetings.syncmeetings.md +0 -21
  738. package/dist/docs/markdown/plugin-meetings.meetings.unregister.md +0 -21
  739. package/dist/docs/markdown/plugin-meetings.meetings.uploadlogs.md +0 -34
  740. package/dist/docs/markdown/plugin-meetings.reactions.md +0 -13
  741. package/dist/docs/markdown/plugin-meetings.reactions.reactions.md +0 -11
  742. package/dist/docs/markdown/plugin-meetings.reactions.skintones.md +0 -11
  743. package/dist/docs/markdown/plugin-meetings.remotemedia.getmaxfs.md +0 -26
  744. package/dist/docs/markdown/plugin-meetings.remotemedia.md +0 -31
  745. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia._constructor_.md +0 -22
  746. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.csi.md +0 -13
  747. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.id.md +0 -11
  748. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.md +0 -40
  749. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.mediatype.md +0 -13
  750. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.memberid.md +0 -13
  751. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.setsizehint.md +0 -25
  752. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.sourcestate.md +0 -13
  753. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.stream.md +0 -13
  754. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemediaevents.md +0 -14
  755. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemediaid.md +0 -11
  756. package/dist/docs/markdown/plugin-meetings.remotemedia.remotevideoresolution.md +0 -11
  757. package/dist/docs/markdown/plugin-meetings.remotemediagroup.md +0 -12
  758. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup._constructor_.md +0 -24
  759. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.getremotemedia.md +0 -26
  760. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.includes.md +0 -27
  761. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.ispinned.md +0 -22
  762. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.md +0 -28
  763. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.pin.md +0 -25
  764. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.unpin.md +0 -24
  765. package/dist/docs/markdown/plugin-meetings.triggerproxy.md +0 -11
  766. package/dist/docs/metadata/index.api.json +0 -14144
  767. package/dist/docs/metadata/index.api.md +0 -2075
  768. package/dist/docs/metadata/index.d.ts +0 -5594
  769. package/dist/index.d.ts +0 -4
  770. package/dist/locus-info/controlsUtils.d.ts +0 -2
  771. package/dist/locus-info/embeddedAppsUtils.d.ts +0 -2
  772. package/dist/locus-info/fullState.d.ts +0 -2
  773. package/dist/locus-info/hostUtils.d.ts +0 -2
  774. package/dist/locus-info/index.d.ts +0 -269
  775. package/dist/locus-info/infoUtils.d.ts +0 -2
  776. package/dist/locus-info/mediaSharesUtils.d.ts +0 -2
  777. package/dist/locus-info/parser.d.ts +0 -212
  778. package/dist/locus-info/selfUtils.d.ts +0 -2
  779. package/dist/media/index.d.ts +0 -32
  780. package/dist/media/properties.d.ts +0 -108
  781. package/dist/media/util.d.ts +0 -2
  782. package/dist/mediaQualityMetrics/config.d.ts +0 -233
  783. package/dist/meeting/effectsState.d.ts +0 -42
  784. package/dist/meeting/effectsState.js +0 -260
  785. package/dist/meeting/effectsState.js.map +0 -1
  786. package/dist/meeting/in-meeting-actions.d.ts +0 -79
  787. package/dist/meeting/index.d.ts +0 -1621
  788. package/dist/meeting/muteState.d.ts +0 -116
  789. package/dist/meeting/request.d.ts +0 -255
  790. package/dist/meeting/state.d.ts +0 -9
  791. package/dist/meeting/util.d.ts +0 -2
  792. package/dist/meeting-info/collection.d.ts +0 -20
  793. package/dist/meeting-info/index.d.ts +0 -57
  794. package/dist/meeting-info/meeting-info-v2.d.ts +0 -93
  795. package/dist/meeting-info/request.d.ts +0 -22
  796. package/dist/meeting-info/util.d.ts +0 -2
  797. package/dist/meeting-info/utilv2.d.ts +0 -2
  798. package/dist/meetings/collection.d.ts +0 -23
  799. package/dist/meetings/index.d.ts +0 -298
  800. package/dist/meetings/request.d.ts +0 -27
  801. package/dist/meetings/util.d.ts +0 -18
  802. package/dist/member/index.d.ts +0 -145
  803. package/dist/member/util.d.ts +0 -2
  804. package/dist/members/collection.d.ts +0 -24
  805. package/dist/members/index.d.ts +0 -298
  806. package/dist/members/request.d.ts +0 -50
  807. package/dist/members/util.d.ts +0 -2
  808. package/dist/metrics/config.d.ts +0 -169
  809. package/dist/metrics/config.js +0 -291
  810. package/dist/metrics/config.js.map +0 -1
  811. package/dist/metrics/constants.d.ts +0 -57
  812. package/dist/metrics/index.d.ts +0 -152
  813. package/dist/networkQualityMonitor/index.d.ts +0 -70
  814. package/dist/peer-connection-manager/index.d.ts +0 -6
  815. package/dist/peer-connection-manager/index.js +0 -671
  816. package/dist/peer-connection-manager/index.js.map +0 -1
  817. package/dist/peer-connection-manager/util.d.ts +0 -6
  818. package/dist/peer-connection-manager/util.js +0 -110
  819. package/dist/peer-connection-manager/util.js.map +0 -1
  820. package/dist/personal-meeting-room/index.d.ts +0 -47
  821. package/dist/personal-meeting-room/request.d.ts +0 -14
  822. package/dist/personal-meeting-room/util.d.ts +0 -2
  823. package/dist/plugin-meetings.d.ts +0 -5399
  824. package/dist/reachability/index.d.ts +0 -139
  825. package/dist/reachability/request.d.ts +0 -35
  826. package/dist/reactions/reactions.d.ts +0 -4
  827. package/dist/reactions/reactions.type.d.ts +0 -32
  828. package/dist/reconnection-manager/index.d.ts +0 -112
  829. package/dist/recording-controller/enums.d.ts +0 -7
  830. package/dist/recording-controller/index.d.ts +0 -193
  831. package/dist/recording-controller/util.d.ts +0 -13
  832. package/dist/roap/collection.d.ts +0 -10
  833. package/dist/roap/collection.js +0 -63
  834. package/dist/roap/collection.js.map +0 -1
  835. package/dist/roap/handler.d.ts +0 -47
  836. package/dist/roap/handler.js +0 -279
  837. package/dist/roap/handler.js.map +0 -1
  838. package/dist/roap/index.d.ts +0 -116
  839. package/dist/roap/request.d.ts +0 -35
  840. package/dist/roap/state.d.ts +0 -9
  841. package/dist/roap/state.js +0 -127
  842. package/dist/roap/state.js.map +0 -1
  843. package/dist/roap/turnDiscovery.d.ts +0 -67
  844. package/dist/roap/util.d.ts +0 -2
  845. package/dist/roap/util.js +0 -76
  846. package/dist/roap/util.js.map +0 -1
  847. package/dist/statsAnalyzer/global.d.ts +0 -126
  848. package/dist/statsAnalyzer/index.d.ts +0 -190
  849. package/dist/statsAnalyzer/mqaUtil.d.ts +0 -22
  850. package/dist/transcription/index.d.ts +0 -64
  851. package/dist/types/meeting/effectsState.d.ts +0 -42
  852. package/dist/types/metrics/config.d.ts +0 -171
  853. package/dist/types/tsdoc-metadata.json +0 -11
  854. package/src/metrics/config.ts +0 -487
@@ -33,6 +33,7 @@ SelfUtils.parse = function (self, deviceId) {
33
33
  remoteMuted: SelfUtils.getRemoteMuted(self),
34
34
  unmuteAllowed: SelfUtils.getUnmuteAllowed(self),
35
35
  localAudioUnmuteRequested: SelfUtils.getLocalAudioUnmuteRequested(self),
36
+ localAudioUnmuteRequestedTimeStamp: SelfUtils.getLocalAudioUnmuteRequestedTimeStamp(self),
36
37
  localAudioUnmuteRequired: SelfUtils.getLocalAudioUnmuteRequired(self),
37
38
  lastModified: SelfUtils.getLastModified(self),
38
39
  modifiedBy: SelfUtils.getModifiedBy(self),
@@ -61,7 +62,8 @@ SelfUtils.parse = function (self, deviceId) {
61
62
  canNotViewTheParticipantList: SelfUtils.canNotViewTheParticipantList(self),
62
63
  isSharingBlocked: SelfUtils.isSharingBlocked(self),
63
64
  breakoutSessions: SelfUtils.getBreakoutSessions(self),
64
- breakout: SelfUtils.getBreakout(self)
65
+ breakout: SelfUtils.getBreakout(self),
66
+ interpretation: SelfUtils.getInterpretation(self)
65
67
  };
66
68
  }
67
69
  return null;
@@ -74,13 +76,17 @@ SelfUtils.getBreakout = function (self) {
74
76
  var _self$controls2;
75
77
  return self === null || self === void 0 ? void 0 : (_self$controls2 = self.controls) === null || _self$controls2 === void 0 ? void 0 : _self$controls2.breakout;
76
78
  };
77
- SelfUtils.getLayout = function (self) {
79
+ SelfUtils.getInterpretation = function (self) {
78
80
  var _self$controls3;
79
- return (0, _isArray.default)(self === null || self === void 0 ? void 0 : (_self$controls3 = self.controls) === null || _self$controls3 === void 0 ? void 0 : _self$controls3.layouts) ? self.controls.layouts[0].type : undefined;
81
+ return self === null || self === void 0 ? void 0 : (_self$controls3 = self.controls) === null || _self$controls3 === void 0 ? void 0 : _self$controls3.interpretation;
82
+ };
83
+ SelfUtils.getLayout = function (self) {
84
+ var _self$controls4;
85
+ return (0, _isArray.default)(self === null || self === void 0 ? void 0 : (_self$controls4 = self.controls) === null || _self$controls4 === void 0 ? void 0 : _self$controls4.layouts) ? self.controls.layouts[0].type : undefined;
80
86
  };
81
87
  SelfUtils.getRoles = function (self) {
82
- var _self$controls4, _self$controls4$role;
83
- return ((self === null || self === void 0 ? void 0 : (_self$controls4 = self.controls) === null || _self$controls4 === void 0 ? void 0 : (_self$controls4$role = _self$controls4.role) === null || _self$controls4$role === void 0 ? void 0 : _self$controls4$role.roles) || []).reduce(function (roles, role) {
88
+ var _self$controls5, _self$controls5$role;
89
+ return ((self === null || self === void 0 ? void 0 : (_self$controls5 = self.controls) === null || _self$controls5 === void 0 ? void 0 : (_self$controls5$role = _self$controls5.role) === null || _self$controls5$role === void 0 ? void 0 : _self$controls5$role.roles) || []).reduce(function (roles, role) {
84
90
  if (role.hasRole) {
85
91
  roles.push(role.type);
86
92
  }
@@ -104,7 +110,7 @@ SelfUtils.getSelves = function (oldSelf, newSelf, deviceId) {
104
110
  updates.localAudioUnmuteRequestedByServer = SelfUtils.localAudioUnmuteRequestedByServer(previous, current);
105
111
  updates.localAudioUnmuteRequiredByServer = SelfUtils.localAudioUnmuteRequiredByServer(previous, current);
106
112
  updates.moderatorChanged = SelfUtils.moderatorChanged(previous, current);
107
- updates.isUpgradeToModeratorOrCohost = SelfUtils.isUpgradeToModeratorOrCohost(previous, current);
113
+ updates.isRolesChanged = SelfUtils.isRolesChanged(previous, current);
108
114
  updates.isMediaInactiveOrReleased = SelfUtils.wasMediaInactiveOrReleased(previous, current);
109
115
  updates.isUserObserving = SelfUtils.isDeviceObserving(previous, current);
110
116
  updates.layoutChanged = SelfUtils.layoutChanged(previous, current);
@@ -115,6 +121,7 @@ SelfUtils.getSelves = function (oldSelf, newSelf, deviceId) {
115
121
  updates.canNotViewTheParticipantListChanged = (previous === null || previous === void 0 ? void 0 : previous.canNotViewTheParticipantList) !== current.canNotViewTheParticipantList;
116
122
  updates.isSharingBlockedChanged = (previous === null || previous === void 0 ? void 0 : previous.isSharingBlocked) !== current.isSharingBlocked;
117
123
  updates.breakoutsChanged = SelfUtils.breakoutsChanged(previous, current);
124
+ updates.interpretationChanged = SelfUtils.interpretationChanged(previous, current);
118
125
  return {
119
126
  previous: previous,
120
127
  current: current,
@@ -144,6 +151,9 @@ SelfUtils.layoutChanged = function (previous, current) {
144
151
  SelfUtils.breakoutsChanged = function (previous, current) {
145
152
  return !(0, _isEqual2.default)(previous === null || previous === void 0 ? void 0 : previous.breakoutSessions, current === null || current === void 0 ? void 0 : current.breakoutSessions) && !!(current !== null && current !== void 0 && current.breakout);
146
153
  };
154
+ SelfUtils.interpretationChanged = function (previous, current) {
155
+ return !(0, _isEqual2.default)(previous === null || previous === void 0 ? void 0 : previous.interpretation, current === null || current === void 0 ? void 0 : current.interpretation) && !!(current !== null && current !== void 0 && current.interpretation);
156
+ };
147
157
  SelfUtils.isMediaInactive = function (previous, current) {
148
158
  if (previous && previous.joinedWith && previous.joinedWith.mediaSessions && current && current.joinedWith && current.joinedWith.mediaSessions) {
149
159
  var previousMediaStatus = SelfUtils.getMediaStatus(previous.joinedWith.mediaSessions);
@@ -210,8 +220,14 @@ SelfUtils.getRemoteMuted = function (self) {
210
220
  return self.controls.audio.muted;
211
221
  };
212
222
  SelfUtils.getLocalAudioUnmuteRequested = function (self) {
213
- var _self$controls5, _self$controls5$audio;
214
- return !!(self !== null && self !== void 0 && (_self$controls5 = self.controls) !== null && _self$controls5 !== void 0 && (_self$controls5$audio = _self$controls5.audio) !== null && _self$controls5$audio !== void 0 && _self$controls5$audio.requestedToUnmute);
223
+ var _self$controls6, _self$controls6$audio;
224
+ return !!(self !== null && self !== void 0 && (_self$controls6 = self.controls) !== null && _self$controls6 !== void 0 && (_self$controls6$audio = _self$controls6.audio) !== null && _self$controls6$audio !== void 0 && _self$controls6$audio.requestedToUnmute);
225
+ };
226
+
227
+ // requestedToUnmute timestamp
228
+ SelfUtils.getLocalAudioUnmuteRequestedTimeStamp = function (self) {
229
+ var _self$controls7, _self$controls7$audio;
230
+ return Date.parse(self === null || self === void 0 ? void 0 : (_self$controls7 = self.controls) === null || _self$controls7 === void 0 ? void 0 : (_self$controls7$audio = _self$controls7.audio) === null || _self$controls7$audio === void 0 ? void 0 : _self$controls7$audio.lastModifiedRequestedToUnmute) || 0;
215
231
  };
216
232
  SelfUtils.getUnmuteAllowed = function (self) {
217
233
  if (!self || !self.controls || !self.controls.audio) {
@@ -220,8 +236,8 @@ SelfUtils.getUnmuteAllowed = function (self) {
220
236
  return !self.controls.audio.disallowUnmute;
221
237
  };
222
238
  SelfUtils.getLocalAudioUnmuteRequired = function (self) {
223
- var _self$controls6, _self$controls6$audio;
224
- return !!(self !== null && self !== void 0 && (_self$controls6 = self.controls) !== null && _self$controls6 !== void 0 && (_self$controls6$audio = _self$controls6.audio) !== null && _self$controls6$audio !== void 0 && _self$controls6$audio.localAudioUnmuteRequired);
239
+ var _self$controls8, _self$controls8$audio;
240
+ return !!(self !== null && self !== void 0 && (_self$controls8 = self.controls) !== null && _self$controls8 !== void 0 && (_self$controls8$audio = _self$controls8.audio) !== null && _self$controls8$audio !== void 0 && _self$controls8$audio.localAudioUnmuteRequired);
225
241
  };
226
242
  SelfUtils.getStatus = function (status) {
227
243
  return {
@@ -282,24 +298,18 @@ SelfUtils.moderatorChanged = function (oldSelf, changedSelf) {
282
298
  };
283
299
 
284
300
  /**
301
+ * determine whether the roles of self is changed or not
285
302
  * @param {Object} oldSelf
286
303
  * @param {Object} changedSelf
287
304
  * @returns {Boolean}
288
- * @throws {Error} if changed self was undefined
289
305
  */
290
- SelfUtils.isUpgradeToModeratorOrCohost = function (oldSelf, changedSelf) {
291
- if (!oldSelf) {
292
- return false;
293
- }
306
+ SelfUtils.isRolesChanged = function (oldSelf, changedSelf) {
294
307
  if (!changedSelf) {
295
- throw new _parameter.default('New self must be defined to determine if self transitioned moderator or cohost status.');
308
+ // no new self means no change
309
+ return false;
296
310
  }
297
- var isAttendeeOnly = oldSelf.roles.includes(_constants.SELF_ROLES.ATTENDEE) && !oldSelf.roles.includes(_constants.SELF_ROLES.COHOST) && !oldSelf.roles.includes(_constants.SELF_ROLES.MODERATOR);
298
- var isCohost = changedSelf.roles.includes(_constants.SELF_ROLES.COHOST);
299
- var isModerator = changedSelf.roles.includes(_constants.SELF_ROLES.MODERATOR);
300
- return isAttendeeOnly && (isCohost || isModerator);
311
+ return !(0, _isEqual2.default)(oldSelf === null || oldSelf === void 0 ? void 0 : oldSelf.roles, changedSelf === null || changedSelf === void 0 ? void 0 : changedSelf.roles);
301
312
  };
302
-
303
313
  /**
304
314
  * @param {Object} oldSelf
305
315
  * @param {Object} changedSelf
@@ -361,7 +371,7 @@ SelfUtils.localAudioUnmuteRequestedByServer = function () {
361
371
  if (!changedSelf) {
362
372
  throw new _parameter.default('New self must be defined to determine if self received request to unmute.');
363
373
  }
364
- return changedSelf.localAudioUnmuteRequested && !oldSelf.localAudioUnmuteRequested;
374
+ return changedSelf.localAudioUnmuteRequested && changedSelf.localAudioUnmuteRequestedTimeStamp > oldSelf.localAudioUnmuteRequestedTimeStamp;
365
375
  };
366
376
  SelfUtils.localAudioUnmuteRequiredByServer = function () {
367
377
  var oldSelf = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -408,6 +418,18 @@ SelfUtils.getMediaStatus = function () {
408
418
  });
409
419
  return mediaStatus;
410
420
  };
421
+ SelfUtils.getReplacedBreakoutMoveId = function (self, deviceId) {
422
+ if (self && (0, _isArray.default)(self.devices)) {
423
+ var joinedDevice = self.devices.find(function (device) {
424
+ return deviceId === device.url;
425
+ });
426
+ if ((0, _isArray.default)(joinedDevice === null || joinedDevice === void 0 ? void 0 : joinedDevice.replaces)) {
427
+ var _joinedDevice$replace;
428
+ return (_joinedDevice$replace = joinedDevice.replaces[0]) === null || _joinedDevice$replace === void 0 ? void 0 : _joinedDevice$replace.breakoutMoveId;
429
+ }
430
+ }
431
+ return null;
432
+ };
411
433
  var _default = SelfUtils;
412
434
  exports.default = _default;
413
435
  //# sourceMappingURL=selfUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["SelfUtils","PSTN_DEVICE_TYPE","parse","self","deviceId","joinedWith","devices","find","device","url","pstnDevices","filter","deviceType","remoteVideoMuted","getRemoteVideoMuted","remoteMuted","getRemoteMuted","unmuteAllowed","getUnmuteAllowed","localAudioUnmuteRequested","getLocalAudioUnmuteRequested","localAudioUnmuteRequired","getLocalAudioUnmuteRequired","lastModified","getLastModified","modifiedBy","getModifiedBy","guest","moderator","mediaStatus","getStatus","status","state","currentMediaStatus","getMediaStatus","mediaSessions","creator","isCreator","selfId","id","selfIdentity","getSelfIdentity","selfUrl","removed","roles","getRoles","isUserUnadmitted","_IDLE_","intent","type","_WAIT_","layout","getLayout","canNotViewTheParticipantList","isSharingBlocked","breakoutSessions","getBreakoutSessions","breakout","getBreakout","controls","sessions","layouts","undefined","role","reduce","hasRole","push","getSelves","oldSelf","newSelf","previous","current","updates","isUserAdmitted","isVideoMutedByOthersChanged","videoMutedByOthersChanged","isMutedByOthersChanged","mutedByOthersChanged","localAudioUnmuteRequestedByServer","localAudioUnmuteRequiredByServer","moderatorChanged","isUpgradeToModeratorOrCohost","isMediaInactiveOrReleased","wasMediaInactiveOrReleased","isUserObserving","isDeviceObserving","layoutChanged","isMediaInactive","audioStateChange","audio","videoStateChange","video","shareStateChange","share","canNotViewTheParticipantListChanged","isSharingBlockedChanged","breakoutsChanged","isJoined","_JOINED_","previousMediaStatus","MEDIA_STATE","inactive","direction","meta","person","muted","requestedToUnmute","disallowUnmute","audioStatus","videoStatus","slides","videoSlidesStatus","changedSelf","_LEFT_","reason","MEETING_END_REASON","INACTIVE","MEDIA_RELEASED","isLocusUserUnadmitted","check","isLocusUserAdmitted","ParameterError","isAttendeeOnly","includes","SELF_ROLES","ATTENDEE","COHOST","MODERATOR","isCohost","isModerator","_MOVE_MEDIA_","_OBSERVE_","getSipUrl","partner","sipUri","_CALL_","sipUrl","media","mediaType","AUDIO","mediaContent","MediaContent","main","VIDEO"],"sources":["selfUtils.ts"],"sourcesContent":["/* eslint-disable default-param-last */\n\nimport {isEqual} from 'lodash';\nimport {\n _IDLE_,\n _JOINED_,\n _CALL_,\n _WAIT_,\n _MOVE_MEDIA_,\n _OBSERVE_,\n _LEFT_,\n MEETING_END_REASON,\n MEDIA_STATE,\n AUDIO,\n VIDEO,\n MediaContent,\n SELF_ROLES,\n} from '../constants';\nimport ParameterError from '../common/errors/parameter';\n\nconst SelfUtils: any = {};\nconst PSTN_DEVICE_TYPE = 'PROVISIONAL';\n\n/**\n * parses the relevant values for self: muted, guest, moderator, mediaStatus, state, joinedWith, pstnDevices, creator, id\n * @param {Object} self\n * @param {String} deviceId\n * @returns {undefined}\n */\nSelfUtils.parse = (self: any, deviceId: string) => {\n if (self) {\n const joinedWith = self.devices.find((device) => deviceId === device.url);\n const pstnDevices = self.devices.filter((device) => PSTN_DEVICE_TYPE === device.deviceType);\n\n return {\n remoteVideoMuted: SelfUtils.getRemoteVideoMuted(self),\n remoteMuted: SelfUtils.getRemoteMuted(self),\n unmuteAllowed: SelfUtils.getUnmuteAllowed(self),\n localAudioUnmuteRequested: SelfUtils.getLocalAudioUnmuteRequested(self),\n localAudioUnmuteRequired: SelfUtils.getLocalAudioUnmuteRequired(self),\n lastModified: SelfUtils.getLastModified(self),\n modifiedBy: SelfUtils.getModifiedBy(self),\n guest: self.guest,\n moderator: self.moderator,\n // cumulative media stats\n mediaStatus: SelfUtils.getStatus(self.status),\n // TODO: what should be the status if user has refreshed the page,\n // check the joinedWith parameter and communicate to the user\n state: self.state,\n // TODO: give a proper name . With same device as login or different login`\n // Some times we might have joined with both mobile and web\n joinedWith,\n pstnDevices,\n // current media stats is for the current device who has joined\n currentMediaStatus: SelfUtils.getMediaStatus(joinedWith?.mediaSessions),\n creator: self.isCreator, // check if its used,\n selfId: self.id,\n selfIdentity: SelfUtils.getSelfIdentity(self),\n selfUrl: self.url,\n removed: self.removed,\n roles: SelfUtils.getRoles(self),\n isUserUnadmitted: self.state === _IDLE_ && joinedWith?.intent?.type === _WAIT_,\n layout: SelfUtils.getLayout(self),\n canNotViewTheParticipantList: SelfUtils.canNotViewTheParticipantList(self),\n isSharingBlocked: SelfUtils.isSharingBlocked(self),\n breakoutSessions: SelfUtils.getBreakoutSessions(self),\n breakout: SelfUtils.getBreakout(self),\n };\n }\n\n return null;\n};\n\nSelfUtils.getBreakoutSessions = (self) => self?.controls?.breakout?.sessions;\nSelfUtils.getBreakout = (self) => self?.controls?.breakout;\n\nSelfUtils.getLayout = (self) =>\n Array.isArray(self?.controls?.layouts) ? self.controls.layouts[0].type : undefined;\n\nSelfUtils.getRoles = (self) =>\n (self?.controls?.role?.roles || []).reduce((roles, role) => {\n if (role.hasRole) {\n roles.push(role.type);\n }\n\n return roles;\n }, []);\n\nSelfUtils.canNotViewTheParticipantList = (self) => !!self?.canNotViewTheParticipantList;\n\nSelfUtils.isSharingBlocked = (self) => !!self?.isSharingBlocked;\n\nSelfUtils.getSelves = (oldSelf, newSelf, deviceId) => {\n const previous = oldSelf && SelfUtils.parse(oldSelf, deviceId);\n const current = newSelf && SelfUtils.parse(newSelf, deviceId);\n const updates: any = {};\n\n updates.isUserUnadmitted = SelfUtils.isUserUnadmitted(current);\n updates.isUserAdmitted = SelfUtils.isUserAdmitted(previous, current);\n updates.isVideoMutedByOthersChanged = SelfUtils.videoMutedByOthersChanged(previous, current);\n updates.isMutedByOthersChanged = SelfUtils.mutedByOthersChanged(previous, current);\n updates.localAudioUnmuteRequestedByServer = SelfUtils.localAudioUnmuteRequestedByServer(\n previous,\n current\n );\n updates.localAudioUnmuteRequiredByServer = SelfUtils.localAudioUnmuteRequiredByServer(\n previous,\n current\n );\n updates.moderatorChanged = SelfUtils.moderatorChanged(previous, current);\n updates.isUpgradeToModeratorOrCohost = SelfUtils.isUpgradeToModeratorOrCohost(previous, current);\n updates.isMediaInactiveOrReleased = SelfUtils.wasMediaInactiveOrReleased(previous, current);\n updates.isUserObserving = SelfUtils.isDeviceObserving(previous, current);\n updates.layoutChanged = SelfUtils.layoutChanged(previous, current);\n\n updates.isMediaInactive = SelfUtils.isMediaInactive(previous, current);\n updates.audioStateChange =\n previous?.currentMediaStatus.audio !== current.currentMediaStatus.audio;\n updates.videoStateChange =\n previous?.currentMediaStatus.video !== current.currentMediaStatus.video;\n updates.shareStateChange =\n previous?.currentMediaStatus.share !== current.currentMediaStatus.share;\n\n updates.canNotViewTheParticipantListChanged =\n previous?.canNotViewTheParticipantList !== current.canNotViewTheParticipantList;\n updates.isSharingBlockedChanged = previous?.isSharingBlocked !== current.isSharingBlocked;\n updates.breakoutsChanged = SelfUtils.breakoutsChanged(previous, current);\n\n return {\n previous,\n current,\n updates,\n };\n};\n\n/**\n * Checks if user has joined the meeting\n * @param {Object} self\n * @returns {boolean} isJoined\n */\nSelfUtils.isJoined = (self: any) => self?.state === _JOINED_;\n\n/**\n * Validate if the Meeting Layout Controls Layout has changed.\n *\n * @param {Self} previous - Previous self state\n * @param {Self} current - Current self state [per event]\n * @returns {boolean} - If the Meeting Layout Controls Layout has changed.\n */\nSelfUtils.layoutChanged = (previous: any, current: any) =>\n current?.layout && previous?.layout !== current?.layout;\n\nSelfUtils.breakoutsChanged = (previous, current) =>\n !isEqual(previous?.breakoutSessions, current?.breakoutSessions) && !!current?.breakout;\n\nSelfUtils.isMediaInactive = (previous, current) => {\n if (\n previous &&\n previous.joinedWith &&\n previous.joinedWith.mediaSessions &&\n current &&\n current.joinedWith &&\n current.joinedWith.mediaSessions\n ) {\n const previousMediaStatus = SelfUtils.getMediaStatus(previous.joinedWith.mediaSessions);\n const currentMediaStatus = SelfUtils.getMediaStatus(current.joinedWith.mediaSessions);\n\n if (\n previousMediaStatus.audio &&\n currentMediaStatus.audio &&\n previousMediaStatus.audio.state !== MEDIA_STATE.inactive &&\n currentMediaStatus.audio.state === MEDIA_STATE.inactive &&\n currentMediaStatus.audio.direction !== MEDIA_STATE.inactive\n ) {\n return true;\n }\n\n if (\n previousMediaStatus.video &&\n currentMediaStatus.video &&\n previousMediaStatus.video.state !== MEDIA_STATE.inactive &&\n currentMediaStatus.video.state === MEDIA_STATE.inactive &&\n currentMediaStatus.video.direction !== MEDIA_STATE.inactive\n ) {\n return true;\n }\n\n if (\n previousMediaStatus.share &&\n currentMediaStatus.share &&\n previousMediaStatus.share.state !== MEDIA_STATE.inactive &&\n currentMediaStatus.share.state === MEDIA_STATE.inactive &&\n currentMediaStatus.share.direction !== MEDIA_STATE.inactive\n ) {\n return true;\n }\n\n return false;\n }\n\n return false;\n};\n\nSelfUtils.getLastModified = (self) => {\n if (\n !self ||\n !self.controls ||\n !self.controls.audio ||\n !self.controls.audio.meta ||\n !self.controls.audio.meta.lastModified\n ) {\n return null;\n }\n\n return self.controls.audio.meta.lastModified;\n};\n\nSelfUtils.getModifiedBy = (self) => {\n if (\n !self ||\n !self.controls ||\n !self.controls.audio ||\n !self.controls.audio.meta ||\n !self.controls.audio.meta.modifiedBy\n ) {\n return null;\n }\n\n return self.controls.audio.meta.modifiedBy;\n};\n\n/**\n * get the id from the self object\n * @param {Object} self\n * @returns {String}\n */\nSelfUtils.getSelfIdentity = (self: any) => {\n if (!self && !self.person) {\n return null;\n }\n\n return self.person.id;\n};\n\n/**\n * get the \"remote video mute\" property from the self object\n * @param {Object} self\n * @returns {Boolean}\n */\nSelfUtils.getRemoteVideoMuted = (self: any) => {\n if (!self || !self.controls || !self.controls.video) {\n return null;\n }\n\n return self.controls.video.muted;\n};\n\n/**\n * get the \"remote mute\" property from the self object\n * @param {Object} self\n * @returns {Boolean}\n */\nSelfUtils.getRemoteMuted = (self: any) => {\n if (!self || !self.controls || !self.controls.audio) {\n return null;\n }\n\n return self.controls.audio.muted;\n};\n\nSelfUtils.getLocalAudioUnmuteRequested = (self) => !!self?.controls?.audio?.requestedToUnmute;\n\nSelfUtils.getUnmuteAllowed = (self) => {\n if (!self || !self.controls || !self.controls.audio) {\n return null;\n }\n\n return !self.controls.audio.disallowUnmute;\n};\n\nSelfUtils.getLocalAudioUnmuteRequired = (self) => !!self?.controls?.audio?.localAudioUnmuteRequired;\n\nSelfUtils.getStatus = (status) => ({\n audio: status.audioStatus,\n video: status.videoStatus,\n slides: status.videoSlidesStatus,\n});\n\n/**\n * @param {Object} oldSelf\n * @param {Object} changedSelf\n * @returns {Boolean}\n */\nSelfUtils.wasMediaInactiveOrReleased = (oldSelf: any = {}, changedSelf: any) =>\n oldSelf.joinedWith &&\n oldSelf.joinedWith.state === _JOINED_ &&\n changedSelf.joinedWith &&\n changedSelf.joinedWith.state === _LEFT_ &&\n (changedSelf.joinedWith.reason === MEETING_END_REASON.INACTIVE ||\n changedSelf.joinedWith.reason === MEETING_END_REASON.MEDIA_RELEASED);\n\n/**\n * @param {Object} check\n * @returns {Boolean}\n */\nSelfUtils.isLocusUserUnadmitted = (check: any) =>\n check && check.joinedWith?.intent?.type === _WAIT_ && check.state === _IDLE_;\n\n/**\n * @param {Object} check\n * @returns {Boolean}\n */\nSelfUtils.isLocusUserAdmitted = (check: any) =>\n check && check.joinedWith?.intent?.type !== _WAIT_ && check.state === _JOINED_;\n\n/**\n * @param {Object} self\n * @returns {Boolean}\n * @throws {Error} when self is undefined\n */\nSelfUtils.isUserUnadmitted = (self: object) => {\n if (!self) {\n throw new ParameterError('self must be defined to determine if self is unadmitted as guest.');\n }\n\n return SelfUtils.isLocusUserUnadmitted(self);\n};\n\nSelfUtils.moderatorChanged = (oldSelf, changedSelf) => {\n if (!oldSelf) {\n return true;\n }\n if (!changedSelf) {\n throw new ParameterError(\n 'New self must be defined to determine if self transitioned moderator status.'\n );\n }\n\n return oldSelf.moderator !== changedSelf.moderator;\n};\n\n/**\n * @param {Object} oldSelf\n * @param {Object} changedSelf\n * @returns {Boolean}\n * @throws {Error} if changed self was undefined\n */\nSelfUtils.isUpgradeToModeratorOrCohost = (oldSelf, changedSelf) => {\n if (!oldSelf) {\n return false;\n }\n if (!changedSelf) {\n throw new ParameterError(\n 'New self must be defined to determine if self transitioned moderator or cohost status.'\n );\n }\n const isAttendeeOnly =\n oldSelf.roles.includes(SELF_ROLES.ATTENDEE) &&\n !oldSelf.roles.includes(SELF_ROLES.COHOST) &&\n !oldSelf.roles.includes(SELF_ROLES.MODERATOR);\n const isCohost = changedSelf.roles.includes(SELF_ROLES.COHOST);\n const isModerator = changedSelf.roles.includes(SELF_ROLES.MODERATOR);\n\n return isAttendeeOnly && (isCohost || isModerator);\n};\n\n/**\n * @param {Object} oldSelf\n * @param {Object} changedSelf\n * @returns {Boolean}\n * @throws {Error} if changed self was undefined\n */\nSelfUtils.isDeviceObserving = (oldSelf: any, changedSelf: any) =>\n oldSelf &&\n oldSelf.joinedWith?.intent?.type === _MOVE_MEDIA_ &&\n changedSelf &&\n changedSelf.joinedWith?.intent?.type === _OBSERVE_;\n\n/**\n * @param {Object} oldSelf\n * @param {Object} changedSelf\n * @returns {Boolean}\n * @throws {Error} if changed self was undefined\n */\nSelfUtils.isUserAdmitted = (oldSelf: object, changedSelf: object) => {\n if (!oldSelf) {\n // if there was no previous locus, it couldn't have been admitted yet\n return false;\n }\n if (!changedSelf) {\n throw new ParameterError(\n 'New self must be defined to determine if self transitioned to admitted as guest.'\n );\n }\n\n return SelfUtils.isLocusUserUnadmitted(oldSelf) && SelfUtils.isLocusUserAdmitted(changedSelf);\n};\n\nSelfUtils.videoMutedByOthersChanged = (oldSelf, changedSelf) => {\n if (!changedSelf) {\n throw new ParameterError(\n 'New self must be defined to determine if self was video muted by others.'\n );\n }\n\n if (!oldSelf || oldSelf.remoteVideoMuted === null) {\n if (changedSelf.remoteVideoMuted) {\n return true; // this happens when host disables \"Allow start video\"\n }\n\n // we don't want to be sending the 'meeting:self:videoUnmutedByOthers' notification on meeting join\n return false;\n }\n\n return oldSelf.remoteVideoMuted !== changedSelf.remoteVideoMuted;\n};\n\nSelfUtils.mutedByOthersChanged = (oldSelf, changedSelf) => {\n if (!changedSelf) {\n throw new ParameterError('New self must be defined to determine if self was muted by others.');\n }\n\n if (!oldSelf || oldSelf.remoteMuted === null) {\n if (changedSelf.remoteMuted) {\n return true; // this happens when mute on-entry is enabled\n }\n\n // we don't want to be sending the 'meeting:self:unmutedByOthers' notification on meeting join\n return false;\n }\n\n return (\n changedSelf.remoteMuted !== null &&\n (oldSelf.remoteMuted !== changedSelf.remoteMuted ||\n (changedSelf.remoteMuted && oldSelf.unmuteAllowed !== changedSelf.unmuteAllowed))\n );\n};\n\nSelfUtils.localAudioUnmuteRequestedByServer = (oldSelf: any = {}, changedSelf: any) => {\n if (!changedSelf) {\n throw new ParameterError(\n 'New self must be defined to determine if self received request to unmute.'\n );\n }\n\n return changedSelf.localAudioUnmuteRequested && !oldSelf.localAudioUnmuteRequested;\n};\n\nSelfUtils.localAudioUnmuteRequiredByServer = (oldSelf: any = {}, changedSelf: any) => {\n if (!changedSelf) {\n throw new ParameterError(\n 'New self must be defined to determine if localAudioUnmuteRequired changed.'\n );\n }\n\n return (\n !changedSelf.remoteMuted &&\n changedSelf.localAudioUnmuteRequired &&\n oldSelf.localAudioUnmuteRequired !== changedSelf.localAudioUnmuteRequired\n );\n};\n\n/**\n * extract the sipUrl from the partner\n * @param {Object} partner\n * @param {Object} info\n * @returns {Object}\n */\n\nSelfUtils.getSipUrl = (partner: any, type, sipUri) => {\n // For webex meeting the sipUrl gets updated in info parser\n if (partner && type === _CALL_) {\n return {sipUri: partner.person.sipUrl || partner.person.id};\n }\n\n return {sipUri};\n};\n\nSelfUtils.getMediaStatus = (mediaSessions = []) => {\n const mediaStatus = {\n audio: {},\n video: {},\n share: {},\n };\n\n mediaStatus.audio = mediaSessions.find(\n (media) => media.mediaType === AUDIO && media.mediaContent === MediaContent.main\n );\n mediaStatus.video = mediaSessions.find(\n (media) => media.mediaType === VIDEO && media.mediaContent === MediaContent.main\n );\n mediaStatus.share = mediaSessions.find(\n (media) => media.mediaType === VIDEO && media.mediaContent === MediaContent.slides\n );\n\n return mediaStatus;\n};\n\nexport default SelfUtils;\n"],"mappings":"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"}
1
+ {"version":3,"names":["SelfUtils","PSTN_DEVICE_TYPE","parse","self","deviceId","joinedWith","devices","find","device","url","pstnDevices","filter","deviceType","remoteVideoMuted","getRemoteVideoMuted","remoteMuted","getRemoteMuted","unmuteAllowed","getUnmuteAllowed","localAudioUnmuteRequested","getLocalAudioUnmuteRequested","localAudioUnmuteRequestedTimeStamp","getLocalAudioUnmuteRequestedTimeStamp","localAudioUnmuteRequired","getLocalAudioUnmuteRequired","lastModified","getLastModified","modifiedBy","getModifiedBy","guest","moderator","mediaStatus","getStatus","status","state","currentMediaStatus","getMediaStatus","mediaSessions","creator","isCreator","selfId","id","selfIdentity","getSelfIdentity","selfUrl","removed","roles","getRoles","isUserUnadmitted","_IDLE_","intent","type","_WAIT_","layout","getLayout","canNotViewTheParticipantList","isSharingBlocked","breakoutSessions","getBreakoutSessions","breakout","getBreakout","interpretation","getInterpretation","controls","sessions","layouts","undefined","role","reduce","hasRole","push","getSelves","oldSelf","newSelf","previous","current","updates","isUserAdmitted","isVideoMutedByOthersChanged","videoMutedByOthersChanged","isMutedByOthersChanged","mutedByOthersChanged","localAudioUnmuteRequestedByServer","localAudioUnmuteRequiredByServer","moderatorChanged","isRolesChanged","isMediaInactiveOrReleased","wasMediaInactiveOrReleased","isUserObserving","isDeviceObserving","layoutChanged","isMediaInactive","audioStateChange","audio","videoStateChange","video","shareStateChange","share","canNotViewTheParticipantListChanged","isSharingBlockedChanged","breakoutsChanged","interpretationChanged","isJoined","_JOINED_","previousMediaStatus","MEDIA_STATE","inactive","direction","meta","person","muted","requestedToUnmute","Date","lastModifiedRequestedToUnmute","disallowUnmute","audioStatus","videoStatus","slides","videoSlidesStatus","changedSelf","_LEFT_","reason","MEETING_END_REASON","INACTIVE","MEDIA_RELEASED","isLocusUserUnadmitted","check","isLocusUserAdmitted","ParameterError","_MOVE_MEDIA_","_OBSERVE_","getSipUrl","partner","sipUri","_CALL_","sipUrl","media","mediaType","AUDIO","mediaContent","MediaContent","main","VIDEO","getReplacedBreakoutMoveId","joinedDevice","replaces","breakoutMoveId"],"sources":["selfUtils.ts"],"sourcesContent":["/* eslint-disable default-param-last */\n\nimport {isEqual} from 'lodash';\nimport {\n _IDLE_,\n _JOINED_,\n _CALL_,\n _WAIT_,\n _MOVE_MEDIA_,\n _OBSERVE_,\n _LEFT_,\n MEETING_END_REASON,\n MEDIA_STATE,\n AUDIO,\n VIDEO,\n MediaContent,\n} from '../constants';\nimport ParameterError from '../common/errors/parameter';\n\nconst SelfUtils: any = {};\nconst PSTN_DEVICE_TYPE = 'PROVISIONAL';\n\n/**\n * parses the relevant values for self: muted, guest, moderator, mediaStatus, state, joinedWith, pstnDevices, creator, id\n * @param {Object} self\n * @param {String} deviceId\n * @returns {undefined}\n */\nSelfUtils.parse = (self: any, deviceId: string) => {\n if (self) {\n const joinedWith = self.devices.find((device) => deviceId === device.url);\n const pstnDevices = self.devices.filter((device) => PSTN_DEVICE_TYPE === device.deviceType);\n\n return {\n remoteVideoMuted: SelfUtils.getRemoteVideoMuted(self),\n remoteMuted: SelfUtils.getRemoteMuted(self),\n unmuteAllowed: SelfUtils.getUnmuteAllowed(self),\n localAudioUnmuteRequested: SelfUtils.getLocalAudioUnmuteRequested(self),\n localAudioUnmuteRequestedTimeStamp: SelfUtils.getLocalAudioUnmuteRequestedTimeStamp(self),\n localAudioUnmuteRequired: SelfUtils.getLocalAudioUnmuteRequired(self),\n lastModified: SelfUtils.getLastModified(self),\n modifiedBy: SelfUtils.getModifiedBy(self),\n guest: self.guest,\n moderator: self.moderator,\n // cumulative media stats\n mediaStatus: SelfUtils.getStatus(self.status),\n // TODO: what should be the status if user has refreshed the page,\n // check the joinedWith parameter and communicate to the user\n state: self.state,\n // TODO: give a proper name . With same device as login or different login`\n // Some times we might have joined with both mobile and web\n joinedWith,\n pstnDevices,\n // current media stats is for the current device who has joined\n currentMediaStatus: SelfUtils.getMediaStatus(joinedWith?.mediaSessions),\n creator: self.isCreator, // check if its used,\n selfId: self.id,\n selfIdentity: SelfUtils.getSelfIdentity(self),\n selfUrl: self.url,\n removed: self.removed,\n roles: SelfUtils.getRoles(self),\n isUserUnadmitted: self.state === _IDLE_ && joinedWith?.intent?.type === _WAIT_,\n layout: SelfUtils.getLayout(self),\n canNotViewTheParticipantList: SelfUtils.canNotViewTheParticipantList(self),\n isSharingBlocked: SelfUtils.isSharingBlocked(self),\n breakoutSessions: SelfUtils.getBreakoutSessions(self),\n breakout: SelfUtils.getBreakout(self),\n interpretation: SelfUtils.getInterpretation(self),\n };\n }\n\n return null;\n};\n\nSelfUtils.getBreakoutSessions = (self) => self?.controls?.breakout?.sessions;\nSelfUtils.getBreakout = (self) => self?.controls?.breakout;\nSelfUtils.getInterpretation = (self) => self?.controls?.interpretation;\n\nSelfUtils.getLayout = (self) =>\n Array.isArray(self?.controls?.layouts) ? self.controls.layouts[0].type : undefined;\n\nSelfUtils.getRoles = (self) =>\n (self?.controls?.role?.roles || []).reduce((roles, role) => {\n if (role.hasRole) {\n roles.push(role.type);\n }\n\n return roles;\n }, []);\n\nSelfUtils.canNotViewTheParticipantList = (self) => !!self?.canNotViewTheParticipantList;\n\nSelfUtils.isSharingBlocked = (self) => !!self?.isSharingBlocked;\n\nSelfUtils.getSelves = (oldSelf, newSelf, deviceId) => {\n const previous = oldSelf && SelfUtils.parse(oldSelf, deviceId);\n const current = newSelf && SelfUtils.parse(newSelf, deviceId);\n const updates: any = {};\n\n updates.isUserUnadmitted = SelfUtils.isUserUnadmitted(current);\n updates.isUserAdmitted = SelfUtils.isUserAdmitted(previous, current);\n updates.isVideoMutedByOthersChanged = SelfUtils.videoMutedByOthersChanged(previous, current);\n updates.isMutedByOthersChanged = SelfUtils.mutedByOthersChanged(previous, current);\n updates.localAudioUnmuteRequestedByServer = SelfUtils.localAudioUnmuteRequestedByServer(\n previous,\n current\n );\n updates.localAudioUnmuteRequiredByServer = SelfUtils.localAudioUnmuteRequiredByServer(\n previous,\n current\n );\n updates.moderatorChanged = SelfUtils.moderatorChanged(previous, current);\n updates.isRolesChanged = SelfUtils.isRolesChanged(previous, current);\n updates.isMediaInactiveOrReleased = SelfUtils.wasMediaInactiveOrReleased(previous, current);\n updates.isUserObserving = SelfUtils.isDeviceObserving(previous, current);\n updates.layoutChanged = SelfUtils.layoutChanged(previous, current);\n\n updates.isMediaInactive = SelfUtils.isMediaInactive(previous, current);\n updates.audioStateChange =\n previous?.currentMediaStatus.audio !== current.currentMediaStatus.audio;\n updates.videoStateChange =\n previous?.currentMediaStatus.video !== current.currentMediaStatus.video;\n updates.shareStateChange =\n previous?.currentMediaStatus.share !== current.currentMediaStatus.share;\n\n updates.canNotViewTheParticipantListChanged =\n previous?.canNotViewTheParticipantList !== current.canNotViewTheParticipantList;\n updates.isSharingBlockedChanged = previous?.isSharingBlocked !== current.isSharingBlocked;\n updates.breakoutsChanged = SelfUtils.breakoutsChanged(previous, current);\n updates.interpretationChanged = SelfUtils.interpretationChanged(previous, current);\n\n return {\n previous,\n current,\n updates,\n };\n};\n\n/**\n * Checks if user has joined the meeting\n * @param {Object} self\n * @returns {boolean} isJoined\n */\nSelfUtils.isJoined = (self: any) => self?.state === _JOINED_;\n\n/**\n * Validate if the Meeting Layout Controls Layout has changed.\n *\n * @param {Self} previous - Previous self state\n * @param {Self} current - Current self state [per event]\n * @returns {boolean} - If the Meeting Layout Controls Layout has changed.\n */\nSelfUtils.layoutChanged = (previous: any, current: any) =>\n current?.layout && previous?.layout !== current?.layout;\n\nSelfUtils.breakoutsChanged = (previous, current) =>\n !isEqual(previous?.breakoutSessions, current?.breakoutSessions) && !!current?.breakout;\n\nSelfUtils.interpretationChanged = (previous, current) =>\n !isEqual(previous?.interpretation, current?.interpretation) && !!current?.interpretation;\n\nSelfUtils.isMediaInactive = (previous, current) => {\n if (\n previous &&\n previous.joinedWith &&\n previous.joinedWith.mediaSessions &&\n current &&\n current.joinedWith &&\n current.joinedWith.mediaSessions\n ) {\n const previousMediaStatus = SelfUtils.getMediaStatus(previous.joinedWith.mediaSessions);\n const currentMediaStatus = SelfUtils.getMediaStatus(current.joinedWith.mediaSessions);\n\n if (\n previousMediaStatus.audio &&\n currentMediaStatus.audio &&\n previousMediaStatus.audio.state !== MEDIA_STATE.inactive &&\n currentMediaStatus.audio.state === MEDIA_STATE.inactive &&\n currentMediaStatus.audio.direction !== MEDIA_STATE.inactive\n ) {\n return true;\n }\n\n if (\n previousMediaStatus.video &&\n currentMediaStatus.video &&\n previousMediaStatus.video.state !== MEDIA_STATE.inactive &&\n currentMediaStatus.video.state === MEDIA_STATE.inactive &&\n currentMediaStatus.video.direction !== MEDIA_STATE.inactive\n ) {\n return true;\n }\n\n if (\n previousMediaStatus.share &&\n currentMediaStatus.share &&\n previousMediaStatus.share.state !== MEDIA_STATE.inactive &&\n currentMediaStatus.share.state === MEDIA_STATE.inactive &&\n currentMediaStatus.share.direction !== MEDIA_STATE.inactive\n ) {\n return true;\n }\n\n return false;\n }\n\n return false;\n};\n\nSelfUtils.getLastModified = (self) => {\n if (\n !self ||\n !self.controls ||\n !self.controls.audio ||\n !self.controls.audio.meta ||\n !self.controls.audio.meta.lastModified\n ) {\n return null;\n }\n\n return self.controls.audio.meta.lastModified;\n};\n\nSelfUtils.getModifiedBy = (self) => {\n if (\n !self ||\n !self.controls ||\n !self.controls.audio ||\n !self.controls.audio.meta ||\n !self.controls.audio.meta.modifiedBy\n ) {\n return null;\n }\n\n return self.controls.audio.meta.modifiedBy;\n};\n\n/**\n * get the id from the self object\n * @param {Object} self\n * @returns {String}\n */\nSelfUtils.getSelfIdentity = (self: any) => {\n if (!self && !self.person) {\n return null;\n }\n\n return self.person.id;\n};\n\n/**\n * get the \"remote video mute\" property from the self object\n * @param {Object} self\n * @returns {Boolean}\n */\nSelfUtils.getRemoteVideoMuted = (self: any) => {\n if (!self || !self.controls || !self.controls.video) {\n return null;\n }\n\n return self.controls.video.muted;\n};\n\n/**\n * get the \"remote mute\" property from the self object\n * @param {Object} self\n * @returns {Boolean}\n */\nSelfUtils.getRemoteMuted = (self: any) => {\n if (!self || !self.controls || !self.controls.audio) {\n return null;\n }\n\n return self.controls.audio.muted;\n};\n\nSelfUtils.getLocalAudioUnmuteRequested = (self) => !!self?.controls?.audio?.requestedToUnmute;\n\n// requestedToUnmute timestamp\nSelfUtils.getLocalAudioUnmuteRequestedTimeStamp = (self) =>\n Date.parse(self?.controls?.audio?.lastModifiedRequestedToUnmute) || 0;\n\nSelfUtils.getUnmuteAllowed = (self) => {\n if (!self || !self.controls || !self.controls.audio) {\n return null;\n }\n\n return !self.controls.audio.disallowUnmute;\n};\n\nSelfUtils.getLocalAudioUnmuteRequired = (self) => !!self?.controls?.audio?.localAudioUnmuteRequired;\n\nSelfUtils.getStatus = (status) => ({\n audio: status.audioStatus,\n video: status.videoStatus,\n slides: status.videoSlidesStatus,\n});\n\n/**\n * @param {Object} oldSelf\n * @param {Object} changedSelf\n * @returns {Boolean}\n */\nSelfUtils.wasMediaInactiveOrReleased = (oldSelf: any = {}, changedSelf: any) =>\n oldSelf.joinedWith &&\n oldSelf.joinedWith.state === _JOINED_ &&\n changedSelf.joinedWith &&\n changedSelf.joinedWith.state === _LEFT_ &&\n (changedSelf.joinedWith.reason === MEETING_END_REASON.INACTIVE ||\n changedSelf.joinedWith.reason === MEETING_END_REASON.MEDIA_RELEASED);\n\n/**\n * @param {Object} check\n * @returns {Boolean}\n */\nSelfUtils.isLocusUserUnadmitted = (check: any) =>\n check && check.joinedWith?.intent?.type === _WAIT_ && check.state === _IDLE_;\n\n/**\n * @param {Object} check\n * @returns {Boolean}\n */\nSelfUtils.isLocusUserAdmitted = (check: any) =>\n check && check.joinedWith?.intent?.type !== _WAIT_ && check.state === _JOINED_;\n\n/**\n * @param {Object} self\n * @returns {Boolean}\n * @throws {Error} when self is undefined\n */\nSelfUtils.isUserUnadmitted = (self: object) => {\n if (!self) {\n throw new ParameterError('self must be defined to determine if self is unadmitted as guest.');\n }\n\n return SelfUtils.isLocusUserUnadmitted(self);\n};\n\nSelfUtils.moderatorChanged = (oldSelf, changedSelf) => {\n if (!oldSelf) {\n return true;\n }\n if (!changedSelf) {\n throw new ParameterError(\n 'New self must be defined to determine if self transitioned moderator status.'\n );\n }\n\n return oldSelf.moderator !== changedSelf.moderator;\n};\n\n/**\n * determine whether the roles of self is changed or not\n * @param {Object} oldSelf\n * @param {Object} changedSelf\n * @returns {Boolean}\n */\nSelfUtils.isRolesChanged = (oldSelf, changedSelf) => {\n if (!changedSelf) {\n // no new self means no change\n return false;\n }\n\n return !isEqual(oldSelf?.roles, changedSelf?.roles);\n};\n/**\n * @param {Object} oldSelf\n * @param {Object} changedSelf\n * @returns {Boolean}\n * @throws {Error} if changed self was undefined\n */\nSelfUtils.isDeviceObserving = (oldSelf: any, changedSelf: any) =>\n oldSelf &&\n oldSelf.joinedWith?.intent?.type === _MOVE_MEDIA_ &&\n changedSelf &&\n changedSelf.joinedWith?.intent?.type === _OBSERVE_;\n\n/**\n * @param {Object} oldSelf\n * @param {Object} changedSelf\n * @returns {Boolean}\n * @throws {Error} if changed self was undefined\n */\nSelfUtils.isUserAdmitted = (oldSelf: object, changedSelf: object) => {\n if (!oldSelf) {\n // if there was no previous locus, it couldn't have been admitted yet\n return false;\n }\n if (!changedSelf) {\n throw new ParameterError(\n 'New self must be defined to determine if self transitioned to admitted as guest.'\n );\n }\n\n return SelfUtils.isLocusUserUnadmitted(oldSelf) && SelfUtils.isLocusUserAdmitted(changedSelf);\n};\n\nSelfUtils.videoMutedByOthersChanged = (oldSelf, changedSelf) => {\n if (!changedSelf) {\n throw new ParameterError(\n 'New self must be defined to determine if self was video muted by others.'\n );\n }\n\n if (!oldSelf || oldSelf.remoteVideoMuted === null) {\n if (changedSelf.remoteVideoMuted) {\n return true; // this happens when host disables \"Allow start video\"\n }\n\n // we don't want to be sending the 'meeting:self:videoUnmutedByOthers' notification on meeting join\n return false;\n }\n\n return oldSelf.remoteVideoMuted !== changedSelf.remoteVideoMuted;\n};\n\nSelfUtils.mutedByOthersChanged = (oldSelf, changedSelf) => {\n if (!changedSelf) {\n throw new ParameterError('New self must be defined to determine if self was muted by others.');\n }\n\n if (!oldSelf || oldSelf.remoteMuted === null) {\n if (changedSelf.remoteMuted) {\n return true; // this happens when mute on-entry is enabled\n }\n\n // we don't want to be sending the 'meeting:self:unmutedByOthers' notification on meeting join\n return false;\n }\n\n return (\n changedSelf.remoteMuted !== null &&\n (oldSelf.remoteMuted !== changedSelf.remoteMuted ||\n (changedSelf.remoteMuted && oldSelf.unmuteAllowed !== changedSelf.unmuteAllowed))\n );\n};\n\nSelfUtils.localAudioUnmuteRequestedByServer = (oldSelf: any = {}, changedSelf: any) => {\n if (!changedSelf) {\n throw new ParameterError(\n 'New self must be defined to determine if self received request to unmute.'\n );\n }\n\n return (\n changedSelf.localAudioUnmuteRequested &&\n changedSelf.localAudioUnmuteRequestedTimeStamp > oldSelf.localAudioUnmuteRequestedTimeStamp\n );\n};\n\nSelfUtils.localAudioUnmuteRequiredByServer = (oldSelf: any = {}, changedSelf: any) => {\n if (!changedSelf) {\n throw new ParameterError(\n 'New self must be defined to determine if localAudioUnmuteRequired changed.'\n );\n }\n\n return (\n !changedSelf.remoteMuted &&\n changedSelf.localAudioUnmuteRequired &&\n oldSelf.localAudioUnmuteRequired !== changedSelf.localAudioUnmuteRequired\n );\n};\n\n/**\n * extract the sipUrl from the partner\n * @param {Object} partner\n * @param {Object} info\n * @returns {Object}\n */\n\nSelfUtils.getSipUrl = (partner: any, type, sipUri) => {\n // For webex meeting the sipUrl gets updated in info parser\n if (partner && type === _CALL_) {\n return {sipUri: partner.person.sipUrl || partner.person.id};\n }\n\n return {sipUri};\n};\n\nSelfUtils.getMediaStatus = (mediaSessions = []) => {\n const mediaStatus = {\n audio: {},\n video: {},\n share: {},\n };\n\n mediaStatus.audio = mediaSessions.find(\n (media) => media.mediaType === AUDIO && media.mediaContent === MediaContent.main\n );\n mediaStatus.video = mediaSessions.find(\n (media) => media.mediaType === VIDEO && media.mediaContent === MediaContent.main\n );\n mediaStatus.share = mediaSessions.find(\n (media) => media.mediaType === VIDEO && media.mediaContent === MediaContent.slides\n );\n\n return mediaStatus;\n};\n\nSelfUtils.getReplacedBreakoutMoveId = (self: any, deviceId: string) => {\n if (self && Array.isArray(self.devices)) {\n const joinedDevice = self.devices.find((device) => deviceId === device.url);\n if (Array.isArray(joinedDevice?.replaces)) {\n return joinedDevice.replaces[0]?.breakoutMoveId;\n }\n }\n\n return null;\n};\nexport default SelfUtils;\n"],"mappings":"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"}
@@ -12,20 +12,18 @@ _Object$defineProperty(exports, "__esModule", {
12
12
  });
13
13
  exports.default = void 0;
14
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
15
- var _stringify = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/json/stringify"));
16
15
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
17
16
  var _internalMediaCore = require("@webex/internal-media-core");
18
17
  var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
19
18
  var _constants = require("../constants");
20
19
  var _config = _interopRequireDefault(require("../config"));
21
20
  var _config2 = _interopRequireDefault(require("../common/config"));
22
- var _media = _interopRequireDefault(require("../common/errors/media"));
23
21
  var _browserDetection = _interopRequireDefault(require("../common/browser-detection"));
22
+ var _rtcMetrics = _interopRequireDefault(require("../rtcMetrics"));
24
23
  function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
25
24
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
26
25
  var _BrowserDetection = (0, _browserDetection.default)(),
27
26
  isBrowser = _BrowserDetection.isBrowser;
28
-
29
27
  /**
30
28
  * MediaDirection
31
29
  * @typedef {Object} MediaDirection
@@ -56,26 +54,6 @@ var _BrowserDetection = (0, _browserDetection.default)(),
56
54
  */
57
55
  var Media = {};
58
56
 
59
- /**
60
- * format the media array for send
61
- * @param {String} mediaId
62
- * @param {Boolean} audioMuted
63
- * @param {Boolean} videoMuted
64
- * @returns {Array} medias
65
- */
66
- Media.generateLocalMedias = function (mediaId, audioMuted, videoMuted) {
67
- if (mediaId) {
68
- return [{
69
- localSdp: (0, _stringify.default)({
70
- audioMuted: audioMuted,
71
- videoMuted: videoMuted
72
- }),
73
- mediaId: mediaId
74
- }];
75
- }
76
- return [];
77
- };
78
-
79
57
  /**
80
58
  * make a browser call to get the media
81
59
  * @param {SendOptions} options
@@ -100,27 +78,44 @@ Media.getLocalMedia = function (options, config) {
100
78
  }
101
79
  return _promise.default.resolve(undefined);
102
80
  };
81
+ Media.getDirection = function (forceSendRecv, receive, send) {
82
+ if (!receive && !send) {
83
+ return 'inactive';
84
+ }
85
+ if (forceSendRecv || receive && send) {
86
+ return 'sendrecv';
87
+ }
88
+ if (receive) {
89
+ return 'recvonly';
90
+ }
91
+ return 'sendonly';
92
+ };
103
93
 
104
94
  /**
105
95
  * creates a webrtc media connection with provided tracks and mediaDirection configuration
106
96
  *
107
97
  * @param {boolean} isMultistream
108
98
  * @param {string} debugId string useful for debugging (will appear in media connection logs)
99
+ * @param {object} webex main `webex` object.
100
+ * @param {string} meetingId id for the meeting using this connection
101
+ * @param {string} correlationId id used in requests to correlate to this session
109
102
  * @param {Object} options
110
103
  * @param {Object} [options.mediaProperties] contains mediaDirection and local tracks:
111
- * audioTrack, videoTrack and shareTrack
104
+ * audioTrack, videoTrack, shareVideoTrack, and shareAudioTrack
112
105
  * @param {string} [options.remoteQualityLevel] LOW|MEDIUM|HIGH applicable only to non-multistream connections
113
106
  * @param {boolean} [options.enableRtx] applicable only to non-multistream connections
114
107
  * @param {boolean} [options.enableExtmap] applicable only to non-multistream connections
115
108
  * @param {Object} [options.turnServerInfo]
109
+ * @param {BundlePolicy} [options.bundlePolicy]
116
110
  * @returns {RoapMediaConnection | MultistreamRoapMediaConnection}
117
111
  */
118
- Media.createMediaConnection = function (isMultistream, debugId, options) {
112
+ Media.createMediaConnection = function (isMultistream, debugId, webex, meetingId, correlationId, options) {
119
113
  var mediaProperties = options.mediaProperties,
120
114
  remoteQualityLevel = options.remoteQualityLevel,
121
115
  enableRtx = options.enableRtx,
122
116
  enableExtmap = options.enableExtmap,
123
- turnServerInfo = options.turnServerInfo;
117
+ turnServerInfo = options.turnServerInfo,
118
+ bundlePolicy = options.bundlePolicy;
124
119
  var iceServers = [];
125
120
  if (turnServerInfo) {
126
121
  iceServers.push({
@@ -130,20 +125,27 @@ Media.createMediaConnection = function (isMultistream, debugId, options) {
130
125
  });
131
126
  }
132
127
  if (isMultistream) {
133
- var _mediaProperties$medi, _mediaProperties$medi2, _mediaProperties$medi3, _mediaProperties$medi4;
134
- return new _internalMediaCore.MultistreamRoapMediaConnection({
135
- iceServers: iceServers,
136
- enableMainAudio: ((_mediaProperties$medi = mediaProperties.mediaDirection) === null || _mediaProperties$medi === void 0 ? void 0 : _mediaProperties$medi.sendAudio) || ((_mediaProperties$medi2 = mediaProperties.mediaDirection) === null || _mediaProperties$medi2 === void 0 ? void 0 : _mediaProperties$medi2.receiveAudio),
137
- enableMainVideo: ((_mediaProperties$medi3 = mediaProperties.mediaDirection) === null || _mediaProperties$medi3 === void 0 ? void 0 : _mediaProperties$medi3.sendVideo) || ((_mediaProperties$medi4 = mediaProperties.mediaDirection) === null || _mediaProperties$medi4 === void 0 ? void 0 : _mediaProperties$medi4.receiveVideo)
138
- }, debugId);
128
+ var config = {
129
+ iceServers: iceServers
130
+ };
131
+ if (bundlePolicy) {
132
+ config.bundlePolicy = bundlePolicy;
133
+ }
134
+ var rtcMetrics = new _rtcMetrics.default(webex, meetingId, correlationId);
135
+ return new _internalMediaCore.MultistreamRoapMediaConnection(config, meetingId, function (data) {
136
+ return rtcMetrics.addMetrics(data);
137
+ }, function () {
138
+ return rtcMetrics.closeMetrics();
139
+ });
139
140
  }
140
141
  if (!mediaProperties) {
141
142
  throw new Error('mediaProperties have to be provided for non-multistream media connections');
142
143
  }
143
144
  var mediaDirection = mediaProperties.mediaDirection,
144
- audioTrack = mediaProperties.audioTrack,
145
- videoTrack = mediaProperties.videoTrack,
146
- shareTrack = mediaProperties.shareTrack;
145
+ audioStream = mediaProperties.audioStream,
146
+ videoStream = mediaProperties.videoStream,
147
+ shareVideoStream = mediaProperties.shareVideoStream,
148
+ shareAudioStream = mediaProperties.shareAudioStream;
147
149
  return new _internalMediaCore.RoapMediaConnection({
148
150
  iceServers: iceServers,
149
151
  skipInactiveTransceivers: false,
@@ -162,17 +164,20 @@ Media.createMediaConnection = function (isMultistream, debugId, options) {
162
164
  disableRtx: !enableRtx // see https://bugs.chromium.org/p/chromium/issues/detail?id=1020642 why we might want to remove RTX from SDP
163
165
  }
164
166
  }, {
165
- send: {
166
- audio: audioTrack === null || audioTrack === void 0 ? void 0 : audioTrack.underlyingTrack,
167
- video: videoTrack === null || videoTrack === void 0 ? void 0 : videoTrack.underlyingTrack,
168
- screenShareVideo: shareTrack === null || shareTrack === void 0 ? void 0 : shareTrack.underlyingTrack
167
+ // TODO: RoapMediaConnection is not ready to use stream classes yet, so we pass the raw MediaStreamTrack for now SPARK-460530
168
+ localTracks: {
169
+ audio: audioStream === null || audioStream === void 0 ? void 0 : audioStream.outputTrack,
170
+ video: videoStream === null || videoStream === void 0 ? void 0 : videoStream.outputTrack,
171
+ screenShareVideo: shareVideoStream === null || shareVideoStream === void 0 ? void 0 : shareVideoStream.outputTrack,
172
+ screenShareAudio: shareAudioStream === null || shareAudioStream === void 0 ? void 0 : shareAudioStream.outputTrack // TODO: add type for screenShareAudio in internal-media-core SPARK-446923
169
173
  },
170
- receive: {
171
- audio: mediaDirection.receiveAudio,
172
- video: mediaDirection.receiveVideo,
173
- screenShareVideo: mediaDirection.receiveShare,
174
- remoteQualityLevel: remoteQualityLevel
175
- }
174
+
175
+ direction: {
176
+ audio: Media.getDirection(true, mediaDirection.receiveAudio, mediaDirection.sendAudio),
177
+ video: Media.getDirection(true, mediaDirection.receiveVideo, mediaDirection.sendVideo),
178
+ screenShareVideo: Media.getDirection(false, mediaDirection.receiveShare, mediaDirection.sendShare)
179
+ },
180
+ remoteQualityLevel: remoteQualityLevel
176
181
  }, debugId);
177
182
  };
178
183
 
@@ -304,56 +309,6 @@ Media.getMedia = function (audio, video, config) {
304
309
  });
305
310
  };
306
311
 
307
- /**
308
- * Checks if the machine has at least one audio or video device (Dont use this for screen share)
309
- * @param {object} [options]
310
- * {
311
- * sendAudio: true/false,
312
- * sendVideo: true/false
313
- * }
314
- * @returns {Object} {
315
- * sendAudio: true/false,
316
- * sendVideo: true/false
317
- *}
318
- */
319
- Media.getSupportedDevice = function (_ref) {
320
- var sendAudio = _ref.sendAudio,
321
- sendVideo = _ref.sendVideo;
322
- return _promise.default.resolve().then(function () {
323
- if (!navigator.mediaDevices || navigator.mediaDevices.enumerateDevices === undefined) {
324
- return {
325
- sendAudio: false,
326
- sendVideo: false
327
- };
328
- }
329
- return navigator.mediaDevices.enumerateDevices().then(function (devices) {
330
- var supported = {
331
- audio: devices.filter(function (device) {
332
- return device.kind === _constants.AUDIO_INPUT;
333
- }).length > 0,
334
- video: devices.filter(function (device) {
335
- return device.kind === _constants.VIDEO_INPUT;
336
- }).length > 0
337
- };
338
- return {
339
- sendAudio: supported.audio && sendAudio,
340
- sendVideo: supported.video && sendVideo
341
- };
342
- });
343
- });
344
- };
345
-
346
- /**
347
- * proxy to browser navigator.mediaDevices.enumerateDevices()
348
- * @returns {Promise}
349
- */
350
- Media.getDevices = function () {
351
- if (navigator && navigator.mediaDevices && navigator.mediaDevices.enumerateDevices) {
352
- return navigator.mediaDevices.enumerateDevices();
353
- }
354
- return _promise.default.reject(new _media.default('enumerateDevices not supported.'));
355
- };
356
-
357
312
  /**
358
313
  *
359
314
  * Toggle a specific stream
@@ -364,20 +319,18 @@ Media.toggleStream = function () {};
364
319
 
365
320
  /**
366
321
  * Stop input stream
367
- * @param {MediaTrack} track A media stream
322
+ * @param {LocalStream} stream A local stream
368
323
  * @returns {null}
369
324
  */
370
- Media.stopTracks = function (track) {
371
- if (!track) {
325
+ Media.stopStream = function (stream) {
326
+ if (!stream) {
372
327
  return _promise.default.resolve();
373
328
  }
374
329
  return _promise.default.resolve().then(function () {
375
- if (track && track.stop) {
376
- try {
377
- track.stop();
378
- } catch (e) {
379
- _loggerProxy.default.logger.error("Media:index#stopTracks --> Unable to stop the track with state ".concat(track.readyState, ", error: ").concat(e));
380
- }
330
+ try {
331
+ stream.stop();
332
+ } catch (e) {
333
+ _loggerProxy.default.logger.error("Media:index#stopStream --> Unable to stop the stream with ready state of the output track => ".concat(stream.outputTrack.readyState, " & input track => ").concat(stream.inputTrack.readyState, ", error: ").concat(e));
381
334
  }
382
335
  });
383
336
  };