@webex/plugin-meetings 2.60.0 → 2.60.1-next.1

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 (535) hide show
  1. package/README.md +46 -8
  2. package/dist/annotation/annotation.types.d.ts +42 -0
  3. package/dist/annotation/annotation.types.js +7 -0
  4. package/dist/annotation/annotation.types.js.map +1 -0
  5. package/dist/annotation/constants.d.ts +31 -0
  6. package/dist/annotation/constants.js +41 -0
  7. package/dist/annotation/constants.js.map +1 -0
  8. package/dist/annotation/index.d.ts +117 -0
  9. package/dist/annotation/index.js +357 -0
  10. package/dist/annotation/index.js.map +1 -0
  11. package/dist/breakouts/breakout.d.ts +8 -0
  12. package/dist/breakouts/breakout.js +215 -0
  13. package/dist/breakouts/breakout.js.map +1 -0
  14. package/dist/breakouts/collection.d.ts +5 -0
  15. package/dist/breakouts/collection.js +22 -0
  16. package/dist/breakouts/collection.js.map +1 -0
  17. package/dist/breakouts/edit-lock-error.d.ts +15 -0
  18. package/dist/breakouts/edit-lock-error.js +51 -0
  19. package/dist/breakouts/edit-lock-error.js.map +1 -0
  20. package/dist/breakouts/events.d.ts +8 -0
  21. package/dist/breakouts/events.js +44 -0
  22. package/dist/breakouts/events.js.map +1 -0
  23. package/dist/breakouts/index.d.ts +5 -0
  24. package/dist/breakouts/index.js +1047 -0
  25. package/dist/breakouts/index.js.map +1 -0
  26. package/dist/breakouts/request.d.ts +22 -0
  27. package/dist/breakouts/request.js +77 -0
  28. package/dist/breakouts/request.js.map +1 -0
  29. package/dist/breakouts/utils.d.ts +15 -0
  30. package/dist/breakouts/utils.js +64 -0
  31. package/dist/breakouts/utils.js.map +1 -0
  32. package/dist/common/browser-detection.js +2 -3
  33. package/dist/common/browser-detection.js.map +1 -1
  34. package/dist/common/collection.js +3 -4
  35. package/dist/common/collection.js.map +1 -1
  36. package/dist/common/config.js +1 -2
  37. package/dist/common/config.js.map +1 -1
  38. package/dist/common/errors/captcha-error.js +1 -2
  39. package/dist/common/errors/captcha-error.js.map +1 -1
  40. package/dist/common/errors/intent-to-join.js +1 -2
  41. package/dist/common/errors/intent-to-join.js.map +1 -1
  42. package/dist/common/errors/join-meeting.js +1 -2
  43. package/dist/common/errors/join-meeting.js.map +1 -1
  44. package/dist/common/errors/media.js +1 -2
  45. package/dist/common/errors/media.js.map +1 -1
  46. package/dist/common/errors/no-meeting-info.d.ts +14 -0
  47. package/dist/common/errors/no-meeting-info.js +50 -0
  48. package/dist/common/errors/no-meeting-info.js.map +1 -0
  49. package/dist/common/errors/parameter.js +3 -4
  50. package/dist/common/errors/parameter.js.map +1 -1
  51. package/dist/common/errors/password-error.js +1 -2
  52. package/dist/common/errors/password-error.js.map +1 -1
  53. package/dist/common/errors/permission.js +1 -2
  54. package/dist/common/errors/permission.js.map +1 -1
  55. package/dist/common/errors/{reclaim-host-role-error.js → reclaim-host-role-errors.js} +7 -11
  56. package/dist/common/errors/reclaim-host-role-errors.js.map +1 -0
  57. package/dist/common/errors/reconnection-in-progress.js +1 -2
  58. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  59. package/dist/common/errors/reconnection.js +1 -2
  60. package/dist/common/errors/reconnection.js.map +1 -1
  61. package/dist/common/errors/stats.js +1 -2
  62. package/dist/common/errors/stats.js.map +1 -1
  63. package/dist/common/errors/webex-errors.d.ts +20 -8
  64. package/dist/common/errors/webex-errors.js +48 -28
  65. package/dist/common/errors/webex-errors.js.map +1 -1
  66. package/dist/common/errors/webex-meetings-error.js +1 -2
  67. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  68. package/dist/common/events/events-scope.js +1 -2
  69. package/dist/common/events/events-scope.js.map +1 -1
  70. package/dist/common/events/events.js +1 -2
  71. package/dist/common/events/events.js.map +1 -1
  72. package/dist/common/events/trigger-proxy.js +1 -2
  73. package/dist/common/events/trigger-proxy.js.map +1 -1
  74. package/dist/common/events/util.js +1 -2
  75. package/dist/common/events/util.js.map +1 -1
  76. package/dist/common/logs/logger-config.js +1 -2
  77. package/dist/common/logs/logger-config.js.map +1 -1
  78. package/dist/common/logs/logger-proxy.js +2 -3
  79. package/dist/common/logs/logger-proxy.js.map +1 -1
  80. package/dist/common/logs/request.d.ts +3 -1
  81. package/dist/common/logs/request.js +8 -5
  82. package/dist/common/logs/request.js.map +1 -1
  83. package/dist/common/queue.d.ts +9 -7
  84. package/dist/common/queue.js +22 -9
  85. package/dist/common/queue.js.map +1 -1
  86. package/dist/config.d.ts +6 -7
  87. package/dist/config.js +8 -10
  88. package/dist/config.js.map +1 -1
  89. package/dist/constants.d.ts +217 -97
  90. package/dist/constants.js +416 -441
  91. package/dist/constants.js.map +1 -1
  92. package/dist/controls-options-manager/constants.js +3 -6
  93. package/dist/controls-options-manager/constants.js.map +1 -1
  94. package/dist/controls-options-manager/enums.d.ts +11 -1
  95. package/dist/controls-options-manager/enums.js +15 -6
  96. package/dist/controls-options-manager/enums.js.map +1 -1
  97. package/dist/controls-options-manager/index.d.ts +17 -1
  98. package/dist/controls-options-manager/index.js +127 -38
  99. package/dist/controls-options-manager/index.js.map +1 -1
  100. package/dist/controls-options-manager/types.d.ts +43 -0
  101. package/dist/controls-options-manager/types.js +7 -0
  102. package/dist/controls-options-manager/types.js.map +1 -0
  103. package/dist/controls-options-manager/util.d.ts +1 -7
  104. package/dist/controls-options-manager/util.js +309 -19
  105. package/dist/controls-options-manager/util.js.map +1 -1
  106. package/dist/index.d.ts +6 -3
  107. package/dist/index.js +121 -5
  108. package/dist/index.js.map +1 -1
  109. package/dist/interceptors/index.d.ts +2 -0
  110. package/dist/interceptors/index.js +15 -0
  111. package/dist/interceptors/index.js.map +1 -0
  112. package/dist/interceptors/locusRetry.d.ts +27 -0
  113. package/dist/interceptors/locusRetry.js +94 -0
  114. package/dist/interceptors/locusRetry.js.map +1 -0
  115. package/dist/interpretation/collection.d.ts +5 -0
  116. package/dist/interpretation/collection.js +22 -0
  117. package/dist/interpretation/collection.js.map +1 -0
  118. package/dist/interpretation/index.d.ts +5 -0
  119. package/dist/interpretation/index.js +365 -0
  120. package/dist/interpretation/index.js.map +1 -0
  121. package/dist/interpretation/siLanguage.d.ts +5 -0
  122. package/dist/interpretation/siLanguage.js +24 -0
  123. package/dist/interpretation/siLanguage.js.map +1 -0
  124. package/dist/locus-info/controlsUtils.js +100 -11
  125. package/dist/locus-info/controlsUtils.js.map +1 -1
  126. package/dist/locus-info/embeddedAppsUtils.js +3 -4
  127. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  128. package/dist/locus-info/fullState.js +1 -2
  129. package/dist/locus-info/fullState.js.map +1 -1
  130. package/dist/locus-info/hostUtils.js +1 -2
  131. package/dist/locus-info/hostUtils.js.map +1 -1
  132. package/dist/locus-info/index.d.ts +57 -4
  133. package/dist/locus-info/index.js +425 -84
  134. package/dist/locus-info/index.js.map +1 -1
  135. package/dist/locus-info/infoUtils.js +13 -5
  136. package/dist/locus-info/infoUtils.js.map +1 -1
  137. package/dist/locus-info/mediaSharesUtils.js +58 -3
  138. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  139. package/dist/locus-info/parser.d.ts +66 -6
  140. package/dist/locus-info/parser.js +253 -80
  141. package/dist/locus-info/parser.js.map +1 -1
  142. package/dist/locus-info/selfUtils.js +97 -13
  143. package/dist/locus-info/selfUtils.js.map +1 -1
  144. package/dist/media/index.d.ts +2 -0
  145. package/dist/media/index.js +107 -319
  146. package/dist/media/index.js.map +1 -1
  147. package/dist/media/properties.d.ts +38 -53
  148. package/dist/media/properties.js +96 -153
  149. package/dist/media/properties.js.map +1 -1
  150. package/dist/media/util.js +1 -22
  151. package/dist/media/util.js.map +1 -1
  152. package/dist/mediaQualityMetrics/config.d.ts +234 -230
  153. package/dist/mediaQualityMetrics/config.js +302 -498
  154. package/dist/mediaQualityMetrics/config.js.map +1 -1
  155. package/dist/meeting/in-meeting-actions.d.ts +88 -0
  156. package/dist/meeting/in-meeting-actions.js +94 -3
  157. package/dist/meeting/in-meeting-actions.js.map +1 -1
  158. package/dist/meeting/index.d.ts +591 -494
  159. package/dist/meeting/index.js +4732 -2990
  160. package/dist/meeting/index.js.map +1 -1
  161. package/dist/meeting/locusMediaRequest.d.ts +74 -0
  162. package/dist/meeting/locusMediaRequest.js +291 -0
  163. package/dist/meeting/locusMediaRequest.js.map +1 -0
  164. package/dist/meeting/muteState.d.ts +93 -25
  165. package/dist/meeting/muteState.js +224 -133
  166. package/dist/meeting/muteState.js.map +1 -1
  167. package/dist/meeting/request.d.ts +82 -47
  168. package/dist/meeting/request.js +297 -199
  169. package/dist/meeting/request.js.map +1 -1
  170. package/dist/meeting/request.type.d.ts +11 -0
  171. package/dist/meeting/request.type.js +7 -0
  172. package/dist/meeting/request.type.js.map +1 -0
  173. package/dist/meeting/state.js +1 -2
  174. package/dist/meeting/state.js.map +1 -1
  175. package/dist/meeting/util.d.ts +102 -1
  176. package/dist/meeting/util.js +605 -435
  177. package/dist/meeting/util.js.map +1 -1
  178. package/dist/meeting-info/collection.js +3 -4
  179. package/dist/meeting-info/collection.js.map +1 -1
  180. package/dist/meeting-info/index.d.ts +13 -1
  181. package/dist/meeting-info/index.js +74 -7
  182. package/dist/meeting-info/index.js.map +1 -1
  183. package/dist/meeting-info/meeting-info-v2.d.ts +31 -1
  184. package/dist/meeting-info/meeting-info-v2.js +200 -63
  185. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  186. package/dist/meeting-info/request.js +1 -2
  187. package/dist/meeting-info/request.js.map +1 -1
  188. package/dist/meeting-info/util.js +2 -3
  189. package/dist/meeting-info/util.js.map +1 -1
  190. package/dist/meeting-info/utilv2.js +39 -41
  191. package/dist/meeting-info/utilv2.js.map +1 -1
  192. package/dist/meetings/collection.d.ts +17 -0
  193. package/dist/meetings/collection.js +42 -4
  194. package/dist/meetings/collection.js.map +1 -1
  195. package/dist/meetings/index.d.ts +93 -21
  196. package/dist/meetings/index.js +490 -127
  197. package/dist/meetings/index.js.map +1 -1
  198. package/dist/meetings/meetings.types.d.ts +4 -0
  199. package/dist/meetings/meetings.types.js +7 -0
  200. package/dist/meetings/meetings.types.js.map +1 -0
  201. package/dist/meetings/request.js +4 -3
  202. package/dist/meetings/request.js.map +1 -1
  203. package/dist/meetings/util.js +107 -6
  204. package/dist/meetings/util.js.map +1 -1
  205. package/dist/member/index.d.ts +13 -1
  206. package/dist/member/index.js +45 -2
  207. package/dist/member/index.js.map +1 -1
  208. package/dist/member/member.types.js +3 -4
  209. package/dist/member/member.types.js.map +1 -1
  210. package/dist/member/types.d.ts +32 -0
  211. package/dist/member/types.js +23 -0
  212. package/dist/member/types.js.map +1 -0
  213. package/dist/member/util.js +120 -29
  214. package/dist/member/util.js.map +1 -1
  215. package/dist/members/collection.d.ts +5 -0
  216. package/dist/members/collection.js +11 -2
  217. package/dist/members/collection.js.map +1 -1
  218. package/dist/members/index.d.ts +56 -11
  219. package/dist/members/index.js +174 -47
  220. package/dist/members/index.js.map +1 -1
  221. package/dist/members/request.d.ts +67 -11
  222. package/dist/members/request.js +102 -54
  223. package/dist/members/request.js.map +1 -1
  224. package/dist/members/types.js +3 -4
  225. package/dist/members/types.js.map +1 -1
  226. package/dist/members/util.d.ts +214 -1
  227. package/dist/members/util.js +327 -284
  228. package/dist/members/util.js.map +1 -1
  229. package/dist/metrics/constants.d.ts +15 -6
  230. package/dist/metrics/constants.js +17 -9
  231. package/dist/metrics/constants.js.map +1 -1
  232. package/dist/metrics/index.d.ts +4 -111
  233. package/dist/metrics/index.js +4 -452
  234. package/dist/metrics/index.js.map +1 -1
  235. package/dist/multistream/mediaRequestManager.d.ts +118 -0
  236. package/dist/multistream/mediaRequestManager.js +344 -0
  237. package/dist/multistream/mediaRequestManager.js.map +1 -0
  238. package/dist/multistream/receiveSlot.d.ts +68 -0
  239. package/dist/multistream/receiveSlot.js +200 -0
  240. package/dist/multistream/receiveSlot.js.map +1 -0
  241. package/dist/multistream/receiveSlotManager.d.ts +56 -0
  242. package/dist/multistream/receiveSlotManager.js +174 -0
  243. package/dist/multistream/receiveSlotManager.js.map +1 -0
  244. package/dist/multistream/remoteMedia.d.ts +72 -0
  245. package/dist/multistream/remoteMedia.js +268 -0
  246. package/dist/multistream/remoteMedia.js.map +1 -0
  247. package/dist/multistream/remoteMediaGroup.d.ts +47 -0
  248. package/dist/multistream/remoteMediaGroup.js +267 -0
  249. package/dist/multistream/remoteMediaGroup.js.map +1 -0
  250. package/dist/multistream/remoteMediaManager.d.ts +285 -0
  251. package/dist/multistream/remoteMediaManager.js +1211 -0
  252. package/dist/multistream/remoteMediaManager.js.map +1 -0
  253. package/dist/multistream/sendSlotManager.d.ts +61 -0
  254. package/dist/multistream/sendSlotManager.js +236 -0
  255. package/dist/multistream/sendSlotManager.js.map +1 -0
  256. package/dist/networkQualityMonitor/index.js +5 -4
  257. package/dist/networkQualityMonitor/index.js.map +1 -1
  258. package/dist/personal-meeting-room/index.js +2 -3
  259. package/dist/personal-meeting-room/index.js.map +1 -1
  260. package/dist/personal-meeting-room/request.js +2 -3
  261. package/dist/personal-meeting-room/request.js.map +1 -1
  262. package/dist/personal-meeting-room/util.js +1 -2
  263. package/dist/personal-meeting-room/util.js.map +1 -1
  264. package/dist/reachability/clusterReachability.d.ts +109 -0
  265. package/dist/reachability/clusterReachability.js +357 -0
  266. package/dist/reachability/clusterReachability.js.map +1 -0
  267. package/dist/reachability/index.d.ts +61 -95
  268. package/dist/reachability/index.js +300 -393
  269. package/dist/reachability/index.js.map +1 -1
  270. package/dist/reachability/request.d.ts +7 -3
  271. package/dist/reachability/request.js +18 -10
  272. package/dist/reachability/request.js.map +1 -1
  273. package/dist/reachability/util.d.ts +8 -0
  274. package/dist/reachability/util.js +29 -0
  275. package/dist/reachability/util.js.map +1 -0
  276. package/dist/reactions/constants.d.ts +3 -0
  277. package/dist/reactions/constants.js +12 -0
  278. package/dist/reactions/constants.js.map +1 -0
  279. package/dist/reactions/reactions.d.ts +2 -2
  280. package/dist/reactions/reactions.js +4 -6
  281. package/dist/reactions/reactions.js.map +1 -1
  282. package/dist/reactions/reactions.type.d.ts +23 -3
  283. package/dist/reactions/reactions.type.js +21 -23
  284. package/dist/reactions/reactions.type.js.map +1 -1
  285. package/dist/reconnection-manager/index.d.ts +32 -8
  286. package/dist/reconnection-manager/index.js +282 -231
  287. package/dist/reconnection-manager/index.js.map +1 -1
  288. package/dist/recording-controller/enums.js +4 -5
  289. package/dist/recording-controller/enums.js.map +1 -1
  290. package/dist/recording-controller/index.d.ts +15 -1
  291. package/dist/recording-controller/index.js +57 -46
  292. package/dist/recording-controller/index.js.map +1 -1
  293. package/dist/recording-controller/util.d.ts +5 -4
  294. package/dist/recording-controller/util.js +10 -10
  295. package/dist/recording-controller/util.js.map +1 -1
  296. package/dist/roap/index.d.ts +9 -47
  297. package/dist/roap/index.js +101 -235
  298. package/dist/roap/index.js.map +1 -1
  299. package/dist/roap/request.d.ts +18 -12
  300. package/dist/roap/request.js +126 -180
  301. package/dist/roap/request.js.map +1 -1
  302. package/dist/roap/turnDiscovery.d.ts +27 -16
  303. package/dist/roap/turnDiscovery.js +115 -105
  304. package/dist/roap/turnDiscovery.js.map +1 -1
  305. package/dist/rtcMetrics/constants.d.ts +4 -0
  306. package/dist/rtcMetrics/constants.js +11 -0
  307. package/dist/rtcMetrics/constants.js.map +1 -0
  308. package/dist/rtcMetrics/index.d.ts +54 -0
  309. package/dist/rtcMetrics/index.js +140 -0
  310. package/dist/rtcMetrics/index.js.map +1 -0
  311. package/dist/statsAnalyzer/global.d.ts +1 -83
  312. package/dist/statsAnalyzer/global.js +2 -85
  313. package/dist/statsAnalyzer/global.js.map +1 -1
  314. package/dist/statsAnalyzer/index.d.ts +50 -30
  315. package/dist/statsAnalyzer/index.js +435 -510
  316. package/dist/statsAnalyzer/index.js.map +1 -1
  317. package/dist/statsAnalyzer/mqaUtil.d.ts +8 -6
  318. package/dist/statsAnalyzer/mqaUtil.js +120 -83
  319. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  320. package/dist/transcription/index.js +1 -2
  321. package/dist/transcription/index.js.map +1 -1
  322. package/dist/webinar/collection.d.ts +16 -0
  323. package/dist/webinar/collection.js +43 -0
  324. package/dist/webinar/collection.js.map +1 -0
  325. package/dist/webinar/index.d.ts +5 -0
  326. package/dist/webinar/index.js +68 -0
  327. package/dist/webinar/index.js.map +1 -0
  328. package/package.json +38 -26
  329. package/src/annotation/annotation.types.ts +50 -0
  330. package/src/annotation/constants.ts +36 -0
  331. package/src/annotation/index.ts +328 -0
  332. package/src/breakouts/README.md +220 -0
  333. package/src/breakouts/breakout.ts +188 -0
  334. package/src/breakouts/collection.ts +19 -0
  335. package/src/breakouts/edit-lock-error.ts +25 -0
  336. package/src/breakouts/events.ts +56 -0
  337. package/src/breakouts/index.ts +925 -0
  338. package/src/breakouts/request.ts +55 -0
  339. package/src/breakouts/utils.ts +57 -0
  340. package/src/common/errors/no-meeting-info.ts +24 -0
  341. package/src/common/errors/webex-errors.ts +36 -12
  342. package/src/common/logs/logger-proxy.ts +1 -1
  343. package/src/common/logs/request.ts +5 -1
  344. package/src/common/queue.ts +22 -8
  345. package/src/config.ts +6 -7
  346. package/src/constants.ts +244 -97
  347. package/src/controls-options-manager/enums.ts +12 -0
  348. package/src/controls-options-manager/index.ts +116 -21
  349. package/src/controls-options-manager/types.ts +59 -0
  350. package/src/controls-options-manager/util.ts +294 -14
  351. package/src/index.ts +44 -0
  352. package/src/interceptors/index.ts +3 -0
  353. package/src/interceptors/locusRetry.ts +67 -0
  354. package/src/interpretation/README.md +60 -0
  355. package/src/interpretation/collection.ts +19 -0
  356. package/src/interpretation/index.ts +332 -0
  357. package/src/interpretation/siLanguage.ts +18 -0
  358. package/src/locus-info/controlsUtils.ts +110 -0
  359. package/src/locus-info/index.ts +449 -61
  360. package/src/locus-info/infoUtils.ts +14 -2
  361. package/src/locus-info/mediaSharesUtils.ts +64 -0
  362. package/src/locus-info/parser.ts +258 -47
  363. package/src/locus-info/selfUtils.ts +85 -2
  364. package/src/media/index.ts +153 -370
  365. package/src/media/properties.ts +106 -136
  366. package/src/media/util.ts +0 -21
  367. package/src/mediaQualityMetrics/config.ts +244 -377
  368. package/src/meeting/in-meeting-actions.ts +176 -0
  369. package/src/meeting/index.ts +3944 -2489
  370. package/src/meeting/locusMediaRequest.ts +313 -0
  371. package/src/meeting/muteState.ts +224 -138
  372. package/src/meeting/request.ts +207 -127
  373. package/src/meeting/request.type.ts +13 -0
  374. package/src/meeting/util.ts +590 -423
  375. package/src/meeting-info/index.ts +81 -8
  376. package/src/meeting-info/meeting-info-v2.ts +163 -13
  377. package/src/meeting-info/util.ts +1 -1
  378. package/src/meeting-info/utilv2.ts +28 -28
  379. package/src/meetings/collection.ts +33 -0
  380. package/src/meetings/index.ts +487 -126
  381. package/src/meetings/meetings.types.ts +12 -0
  382. package/src/meetings/request.ts +2 -0
  383. package/src/meetings/util.ts +116 -5
  384. package/src/member/index.ts +43 -1
  385. package/src/member/types.ts +38 -0
  386. package/src/member/util.ts +125 -28
  387. package/src/members/collection.ts +8 -0
  388. package/src/members/index.ts +187 -52
  389. package/src/members/request.ts +87 -27
  390. package/src/members/util.ts +332 -291
  391. package/src/metrics/constants.ts +15 -6
  392. package/src/metrics/index.ts +1 -471
  393. package/src/multistream/mediaRequestManager.ts +440 -0
  394. package/src/multistream/receiveSlot.ts +184 -0
  395. package/src/multistream/receiveSlotManager.ts +166 -0
  396. package/src/multistream/remoteMedia.ts +254 -0
  397. package/src/multistream/remoteMediaGroup.ts +284 -0
  398. package/src/multistream/remoteMediaManager.ts +1145 -0
  399. package/src/multistream/sendSlotManager.ts +170 -0
  400. package/src/networkQualityMonitor/index.ts +6 -6
  401. package/src/reachability/clusterReachability.ts +320 -0
  402. package/src/reachability/index.ts +243 -347
  403. package/src/reachability/request.ts +17 -8
  404. package/src/reachability/util.ts +24 -0
  405. package/src/reactions/constants.ts +4 -0
  406. package/src/reactions/reactions.ts +4 -4
  407. package/src/reactions/reactions.type.ts +30 -4
  408. package/src/reconnection-manager/index.ts +168 -156
  409. package/src/recording-controller/index.ts +20 -3
  410. package/src/recording-controller/util.ts +26 -9
  411. package/src/roap/index.ts +98 -241
  412. package/src/roap/request.ts +74 -148
  413. package/src/roap/turnDiscovery.ts +62 -56
  414. package/src/rtcMetrics/constants.ts +3 -0
  415. package/src/rtcMetrics/index.ts +124 -0
  416. package/src/statsAnalyzer/global.ts +1 -84
  417. package/src/statsAnalyzer/index.ts +477 -643
  418. package/src/statsAnalyzer/mqaUtil.ts +115 -114
  419. package/src/webinar/collection.ts +31 -0
  420. package/src/webinar/index.ts +62 -0
  421. package/test/integration/spec/converged-space-meetings.js +233 -0
  422. package/test/integration/spec/journey.js +320 -264
  423. package/test/integration/spec/space-meeting.js +77 -4
  424. package/test/unit/spec/annotation/index.ts +418 -0
  425. package/test/unit/spec/breakouts/breakout.ts +237 -0
  426. package/test/unit/spec/breakouts/collection.ts +15 -0
  427. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  428. package/test/unit/spec/breakouts/events.ts +89 -0
  429. package/test/unit/spec/breakouts/index.ts +1790 -0
  430. package/test/unit/spec/breakouts/request.ts +104 -0
  431. package/test/unit/spec/breakouts/utils.js +72 -0
  432. package/test/unit/spec/common/queue.js +31 -2
  433. package/test/unit/spec/controls-options-manager/index.js +163 -0
  434. package/test/unit/spec/controls-options-manager/util.js +576 -60
  435. package/test/unit/spec/fixture/locus.js +1 -0
  436. package/test/unit/spec/interceptors/locusRetry.ts +131 -0
  437. package/test/unit/spec/interpretation/collection.ts +15 -0
  438. package/test/unit/spec/interpretation/index.ts +589 -0
  439. package/test/unit/spec/interpretation/siLanguage.ts +28 -0
  440. package/test/unit/spec/locus-info/controlsUtils.js +323 -30
  441. package/test/unit/spec/locus-info/index.js +1390 -16
  442. package/test/unit/spec/locus-info/infoUtils.js +54 -16
  443. package/test/unit/spec/locus-info/lib/SeqCmp.json +16 -0
  444. package/test/unit/spec/locus-info/lib/selfConstant.js +48 -0
  445. package/test/unit/spec/locus-info/mediaSharesUtils.ts +32 -0
  446. package/test/unit/spec/locus-info/parser.js +116 -35
  447. package/test/unit/spec/locus-info/selfUtils.js +275 -0
  448. package/test/unit/spec/media/index.ts +290 -0
  449. package/test/unit/spec/media/properties.ts +75 -84
  450. package/test/unit/spec/meeting/in-meeting-actions.ts +86 -0
  451. package/test/unit/spec/meeting/index.js +8187 -2769
  452. package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
  453. package/test/unit/spec/meeting/muteState.js +409 -213
  454. package/test/unit/spec/meeting/request.js +512 -42
  455. package/test/unit/spec/meeting/utils.js +741 -24
  456. package/test/unit/spec/meeting-info/index.js +300 -0
  457. package/test/unit/spec/meeting-info/meetinginfov2.js +527 -5
  458. package/test/unit/spec/meeting-info/utilv2.js +21 -0
  459. package/test/unit/spec/meetings/collection.js +26 -0
  460. package/test/unit/spec/meetings/index.js +1313 -243
  461. package/test/unit/spec/meetings/utils.js +202 -2
  462. package/test/unit/spec/member/index.js +32 -9
  463. package/test/unit/spec/member/util.js +499 -61
  464. package/test/unit/spec/members/index.js +394 -5
  465. package/test/unit/spec/members/request.js +206 -27
  466. package/test/unit/spec/members/utils.js +173 -38
  467. package/test/unit/spec/metrics/index.js +1 -50
  468. package/test/unit/spec/multistream/mediaRequestManager.ts +1418 -0
  469. package/test/unit/spec/multistream/receiveSlot.ts +163 -0
  470. package/test/unit/spec/multistream/receiveSlotManager.ts +203 -0
  471. package/test/unit/spec/multistream/remoteMedia.ts +255 -0
  472. package/test/unit/spec/multistream/remoteMediaGroup.ts +662 -0
  473. package/test/unit/spec/multistream/remoteMediaManager.ts +1924 -0
  474. package/test/unit/spec/multistream/sendSlotManager.ts +242 -0
  475. package/test/unit/spec/networkQualityMonitor/index.js +4 -4
  476. package/test/unit/spec/reachability/clusterReachability.ts +279 -0
  477. package/test/unit/spec/reachability/index.ts +531 -24
  478. package/test/unit/spec/reachability/request.js +68 -0
  479. package/test/unit/spec/reachability/util.ts +40 -0
  480. package/test/unit/spec/reconnection-manager/index.js +162 -24
  481. package/test/unit/spec/recording-controller/index.js +293 -218
  482. package/test/unit/spec/recording-controller/util.js +223 -96
  483. package/test/unit/spec/roap/index.ts +200 -76
  484. package/test/unit/spec/roap/request.ts +255 -0
  485. package/test/unit/spec/roap/turnDiscovery.ts +86 -48
  486. package/test/unit/spec/rtcMetrics/index.ts +93 -0
  487. package/test/unit/spec/stats-analyzer/index.js +261 -167
  488. package/test/unit/spec/webinar/collection.ts +13 -0
  489. package/test/unit/spec/webinar/index.ts +60 -0
  490. package/test/utils/constants.js +9 -0
  491. package/test/utils/integrationTestUtils.js +46 -0
  492. package/test/utils/testUtils.js +0 -45
  493. package/test/utils/webex-config.js +4 -0
  494. package/test/utils/webex-test-users.js +7 -3
  495. package/dist/common/errors/reclaim-host-role-error.js.map +0 -1
  496. package/dist/meeting/effectsState.d.ts +0 -42
  497. package/dist/meeting/effectsState.js +0 -260
  498. package/dist/meeting/effectsState.js.map +0 -1
  499. package/dist/metrics/config.d.ts +0 -169
  500. package/dist/metrics/config.js +0 -289
  501. package/dist/metrics/config.js.map +0 -1
  502. package/dist/peer-connection-manager/index.d.ts +0 -6
  503. package/dist/peer-connection-manager/index.js +0 -671
  504. package/dist/peer-connection-manager/index.js.map +0 -1
  505. package/dist/peer-connection-manager/util.d.ts +0 -6
  506. package/dist/peer-connection-manager/util.js +0 -110
  507. package/dist/peer-connection-manager/util.js.map +0 -1
  508. package/dist/roap/collection.d.ts +0 -10
  509. package/dist/roap/collection.js +0 -63
  510. package/dist/roap/collection.js.map +0 -1
  511. package/dist/roap/handler.d.ts +0 -47
  512. package/dist/roap/handler.js +0 -279
  513. package/dist/roap/handler.js.map +0 -1
  514. package/dist/roap/state.d.ts +0 -9
  515. package/dist/roap/state.js +0 -127
  516. package/dist/roap/state.js.map +0 -1
  517. package/dist/roap/util.d.ts +0 -2
  518. package/dist/roap/util.js +0 -76
  519. package/dist/roap/util.js.map +0 -1
  520. package/src/index.js +0 -15
  521. package/src/meeting/effectsState.ts +0 -209
  522. package/src/metrics/config.ts +0 -485
  523. package/src/peer-connection-manager/index.ts +0 -847
  524. package/src/peer-connection-manager/util.ts +0 -119
  525. package/src/roap/collection.ts +0 -62
  526. package/src/roap/handler.ts +0 -294
  527. package/src/roap/state.ts +0 -156
  528. package/src/roap/util.ts +0 -100
  529. package/test/unit/spec/meeting/effectsState.js +0 -281
  530. package/test/unit/spec/peerconnection-manager/index.js +0 -218
  531. package/test/unit/spec/peerconnection-manager/utils.js +0 -49
  532. package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +0 -388
  533. package/test/unit/spec/roap/util.js +0 -30
  534. /package/dist/common/errors/{reclaim-host-role-error.d.ts → reclaim-host-role-errors.d.ts} +0 -0
  535. /package/src/common/errors/{reclaim-host-role-error.ts → reclaim-host-role-errors.ts} +0 -0
@@ -1,5 +1,4 @@
1
1
  import uuid from 'uuid';
2
-
3
2
  import {
4
3
  HTTP_VERBS,
5
4
  CONTROLS,
@@ -10,303 +9,345 @@ import {
10
9
  DIALER_REGEX,
11
10
  SEND_DTMF_ENDPOINT,
12
11
  _REMOVE_,
12
+ ALIAS,
13
13
  } from '../constants';
14
- import {RoleAssignmentOptions, RoleAssignmentRequest, ServerRoleShape} from './types';
15
-
16
- const MembersUtil: any = {};
17
-
18
- /**
19
- * @param {Object} invitee with emailAddress, email or phoneNumber
20
- * @param {String} locusUrl
21
- * @param {Boolean} alertIfActive
22
- * @returns {Object} the format object
23
- */
24
- MembersUtil.generateAddMemberOptions = (
25
- invitee: object,
26
- locusUrl: string,
27
- alertIfActive: boolean
28
- ) => ({
29
- invitee,
30
- locusUrl,
31
- alertIfActive,
32
- });
33
-
34
- /**
35
- * @param {Array} memberIds
36
- * @param {String} locusUrl
37
- * @returns {Object} the format object
38
- */
39
- MembersUtil.generateAdmitMemberOptions = (memberIds: Array<any>, locusUrl: string) => ({
40
- locusUrl,
41
- memberIds,
42
- });
43
-
44
- /**
45
- * @param {Object} options with {invitee: {emailAddress, email, phoneNumber}, alertIfActive}
46
- * @returns {Object} with {invitees: [{address}], alertIfActive}
47
- */
48
- MembersUtil.getAddMemberBody = (options: any) => ({
49
- invitees: [
50
- {
51
- address: options.invitee.emailAddress || options.invitee.email || options.invitee.phoneNumber,
52
- },
53
- ],
54
- alertIfActive: options.alertIfActive,
55
- });
56
-
57
- /**
58
- * @param {Object} options with {memberIds}
59
- * @returns {Object} admit with {memberIds}
60
- */
61
- MembersUtil.getAdmitMemberRequestBody = (options: any) => ({
62
- admit: {participantIds: options.memberIds},
63
- });
64
-
65
- /**
66
- * @param {Object} format with {memberIds, locusUrl}
67
- * @returns {Object} the request parameters (method, uri, body) needed to make a admitMember request
68
- */
69
- MembersUtil.getAdmitMemberRequestParams = (format: any) => {
70
- const body = MembersUtil.getAdmitMemberRequestBody(format);
71
- const uri = `${format.locusUrl}/${CONTROLS}`;
72
-
73
- return {
74
- method: HTTP_VERBS.PUT,
75
- uri,
76
- body,
77
- };
78
- };
79
-
80
- /**
81
- * @param {Object} format with {invitee {emailAddress, email, phoneNumber}, locusUrl, alertIfActive}
82
- * @returns {Object} the request parameters (method, uri, body) needed to make a addMember request
83
- */
84
- MembersUtil.getAddMemberRequestParams = (format: any) => {
85
- const body = MembersUtil.getAddMemberBody(format);
86
- const requestParams = {
87
- method: HTTP_VERBS.PUT,
88
- uri: format.locusUrl,
89
- body,
90
- };
91
-
92
- return requestParams;
93
- };
94
-
95
- /**
96
- * @param {ServerRoleShape} role
97
- * @returns {ServerRoleShape} the role shape to be added to the body
98
- */
99
- MembersUtil.getAddedRoleShape = (role: ServerRoleShape) => {
100
- const roleShape: ServerRoleShape = {type: role.type, hasRole: role.hasRole};
101
-
102
- if (role.hostKey) {
103
- roleShape.hostKey = role.hostKey;
104
- }
105
-
106
- return roleShape;
107
- };
108
-
109
- MembersUtil.isInvalidInvitee = (invitee) => {
110
- if (!(invitee && (invitee.email || invitee.emailAddress || invitee.phoneNumber))) {
111
- return true;
112
- }
113
-
114
- if (invitee.phoneNumber) {
115
- return !DIALER_REGEX.E164_FORMAT.test(invitee.phoneNumber);
116
- }
117
-
118
- return !VALID_EMAIL_ADDRESS.test(invitee.email || invitee.emailAddress);
119
- };
120
-
121
- MembersUtil.getRemoveMemberRequestParams = (options) => {
122
- const body = {
123
- reason: options.reason,
124
- };
125
- const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${LEAVE}`;
126
-
127
- return {
128
- method: HTTP_VERBS.PUT,
129
- uri,
130
- body,
131
- };
132
- };
133
-
134
- /**
135
- * @param {String} memberId
136
- * @param {[ServerRoleShape]} roles
137
- * @param {String} locusUrl
138
- * @returns {RoleAssignmentOptions}
139
- */
140
- MembersUtil.generateRoleAssignmentMemberOptions = (
141
- memberId: string,
142
- roles: Array<ServerRoleShape>,
143
- locusUrl: string
144
- ): RoleAssignmentOptions => ({
145
- memberId,
146
- roles,
147
- locusUrl,
148
- });
149
-
150
- /**
151
- * @param {RoleAssignmentOptions} options
152
- * @returns {RoleAssignmentRequest} the request parameters (method, uri, body) needed to make a addMember request
153
- */
154
- MembersUtil.getRoleAssignmentMemberRequestParams = (
155
- options: RoleAssignmentOptions
156
- ): RoleAssignmentRequest => {
157
- const body = {role: {roles: []}};
158
- options.roles.forEach((role) => {
159
- body.role.roles.push(MembersUtil.getAddedRoleShape(role));
160
- });
161
-
162
- const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${CONTROLS}`;
163
-
164
- return {
165
- method: HTTP_VERBS.PATCH,
166
- uri,
167
- body,
168
- };
169
- };
170
-
171
- MembersUtil.generateTransferHostMemberOptions = (transfer, moderator, locusUrl) => ({
172
- moderator,
173
- locusUrl,
174
- memberId: transfer,
175
- });
176
-
177
- MembersUtil.generateRemoveMemberOptions = (removal, locusUrl) => ({
178
- reason: _FORCED_,
179
- memberId: removal,
180
- locusUrl,
181
- });
182
-
183
- MembersUtil.generateMuteMemberOptions = (memberId, status, locusUrl) => ({
184
- memberId,
185
- muted: status,
186
- locusUrl,
187
- });
188
-
189
- MembersUtil.generateRaiseHandMemberOptions = (memberId, status, locusUrl) => ({
190
- memberId,
191
- raised: status,
192
- locusUrl,
193
- });
194
-
195
- MembersUtil.generateLowerAllHandsMemberOptions = (requestingParticipantId, locusUrl) => ({
196
- requestingParticipantId,
197
- locusUrl,
198
- });
199
-
200
- MembersUtil.getMuteMemberRequestParams = (options) => {
201
- const body = {
202
- audio: {
203
- muted: options.muted,
204
- },
205
- };
206
- const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${CONTROLS}`;
207
-
208
- return {
209
- method: HTTP_VERBS.PATCH,
210
- uri,
211
- body,
212
- };
213
- };
214
-
215
- MembersUtil.getRaiseHandMemberRequestParams = (options) => {
216
- const body = {
217
- hand: {
218
- raised: options.raised,
219
- },
220
- };
221
- const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${CONTROLS}`;
222
-
223
- return {
224
- method: HTTP_VERBS.PATCH,
225
- uri,
226
- body,
227
- };
228
- };
229
14
 
230
- MembersUtil.getLowerAllHandsMemberRequestParams = (options) => {
231
- const body = {
232
- hand: {
233
- raised: false,
234
- },
235
- requestingParticipantId: options.requestingParticipantId,
236
- };
237
- const uri = `${options.locusUrl}/${CONTROLS}`;
238
-
239
- return {
240
- method: HTTP_VERBS.PATCH,
241
- uri,
242
- body,
243
- };
244
- };
245
-
246
- MembersUtil.getTransferHostToMemberRequestParams = (options) => {
247
- const body = {
248
- role: {
249
- moderator: options.moderator,
250
- },
251
- };
252
- const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${CONTROLS}`;
253
-
254
- return {
255
- method: HTTP_VERBS.PATCH,
256
- uri,
257
- body,
258
- };
259
- };
260
-
261
- MembersUtil.genderateSendDTMFOptions = (url, tones, memberId, locusUrl) => ({
262
- url,
263
- tones,
264
- memberId,
265
- locusUrl,
266
- });
267
-
268
- MembersUtil.generateSendDTMFRequestParams = ({url, tones, memberId, locusUrl}) => {
269
- const body = {
270
- device: {
271
- url,
272
- },
273
- memberId,
274
- dtmf: {
275
- correlationId: uuid.v4(),
276
- tones,
277
- direction: 'transmit',
278
- },
279
- };
280
- const uri = `${locusUrl}/${PARTICIPANT}/${memberId}/${SEND_DTMF_ENDPOINT}`;
281
-
282
- return {
283
- method: HTTP_VERBS.POST,
284
- uri,
285
- body,
286
- };
287
- };
288
-
289
- MembersUtil.cancelPhoneInviteOptions = (invitee, locusUrl) => ({
290
- invitee,
291
- locusUrl,
292
- });
15
+ import {RoleAssignmentOptions, RoleAssignmentRequest, ServerRoleShape} from './types';
293
16
 
294
- MembersUtil.generateCancelInviteRequestParams = (options) => {
295
- const body = {
296
- actionType: _REMOVE_,
17
+ const MembersUtil = {
18
+ /**
19
+ * @param {Object} invitee with emailAddress, email or phoneNumber
20
+ * @param {String} locusUrl
21
+ * @param {Boolean} alertIfActive
22
+ * @returns {Object} the format object
23
+ */
24
+ generateAddMemberOptions: (invitee: object, locusUrl: string, alertIfActive: boolean) => ({
25
+ invitee,
26
+ locusUrl,
27
+ alertIfActive,
28
+ }),
29
+
30
+ /**
31
+ * @param {Array} memberIds
32
+ * @param {String} locusUrl
33
+ * @returns {Object} the format object
34
+ */
35
+ generateAdmitMemberOptions: (memberIds: Array<any>, locusUrl: string) => ({
36
+ locusUrl,
37
+ memberIds,
38
+ }),
39
+
40
+ /**
41
+ * @param {Object} options with {invitee: {emailAddress, email, phoneNumber}, alertIfActive}
42
+ * @returns {Object} with {invitees: [{address}], alertIfActive}
43
+ */
44
+ getAddMemberBody: (options: any) => ({
297
45
  invitees: [
298
46
  {
299
- address: options.invitee.phoneNumber,
47
+ address:
48
+ options.invitee.emailAddress || options.invitee.email || options.invitee.phoneNumber,
300
49
  },
301
50
  ],
302
- };
303
- const requestParams = {
304
- method: HTTP_VERBS.PUT,
305
- uri: options.locusUrl,
306
- body,
307
- };
308
-
309
- return requestParams;
51
+ alertIfActive: options.alertIfActive,
52
+ }),
53
+
54
+ /**
55
+ * @param {Object} options with {memberIds, authorizingLocusUrl}
56
+ * @returns {Object} admit with {memberIds}
57
+ */
58
+ getAdmitMemberRequestBody: (options: any) => {
59
+ const {memberIds, sessionLocusUrls} = options;
60
+ const body: any = {admit: {participantIds: memberIds}};
61
+ if (sessionLocusUrls) {
62
+ const {authorizingLocusUrl} = sessionLocusUrls;
63
+
64
+ return {authorizingLocusUrl, ...body};
65
+ }
66
+
67
+ return body;
68
+ },
69
+
70
+ /**
71
+ * @param {Object} format with {memberIds, locusUrl, sessionLocusUrls}
72
+ * @returns {Object} the request parameters (method, uri, body) needed to make a admitMember request
73
+ * if a host/cohost is in a breakout session, the locus url should be the main session locus url
74
+ */
75
+ getAdmitMemberRequestParams: (format: any) => {
76
+ const body = MembersUtil.getAdmitMemberRequestBody(format);
77
+ const {locusUrl, sessionLocusUrls} = format;
78
+ const baseUrl = sessionLocusUrls?.mainLocusUrl || locusUrl;
79
+ const uri = `${baseUrl}/${CONTROLS}`;
80
+
81
+ return {
82
+ method: HTTP_VERBS.PUT,
83
+ uri,
84
+ body,
85
+ };
86
+ },
87
+
88
+ /**
89
+ * @param {Object} format with {invitee {emailAddress, email, phoneNumber}, locusUrl, alertIfActive}
90
+ * @returns {Object} the request parameters (method, uri, body) needed to make a addMember request
91
+ */
92
+ getAddMemberRequestParams: (format: any) => {
93
+ const body = MembersUtil.getAddMemberBody(format);
94
+ const requestParams = {
95
+ method: HTTP_VERBS.PUT,
96
+ uri: format.locusUrl,
97
+ body,
98
+ };
99
+
100
+ return requestParams;
101
+ },
102
+
103
+ isInvalidInvitee: (invitee) => {
104
+ if (!(invitee && (invitee.email || invitee.emailAddress || invitee.phoneNumber))) {
105
+ return true;
106
+ }
107
+
108
+ if (invitee.phoneNumber) {
109
+ return !DIALER_REGEX.E164_FORMAT.test(invitee.phoneNumber);
110
+ }
111
+
112
+ return !VALID_EMAIL_ADDRESS.test(invitee.email || invitee.emailAddress);
113
+ },
114
+
115
+ getRemoveMemberRequestParams: (options) => {
116
+ const body = {
117
+ reason: options.reason,
118
+ };
119
+ const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${LEAVE}`;
120
+
121
+ return {
122
+ method: HTTP_VERBS.PUT,
123
+ uri,
124
+ body,
125
+ };
126
+ },
127
+
128
+ generateTransferHostMemberOptions: (transfer, moderator, locusUrl) => ({
129
+ moderator,
130
+ locusUrl,
131
+ memberId: transfer,
132
+ }),
133
+
134
+ generateRemoveMemberOptions: (removal, locusUrl) => ({
135
+ reason: _FORCED_,
136
+ memberId: removal,
137
+ locusUrl,
138
+ }),
139
+
140
+ generateMuteMemberOptions: (memberId, status, locusUrl, isAudio) => ({
141
+ memberId,
142
+ muted: status,
143
+ locusUrl,
144
+ isAudio,
145
+ }),
146
+
147
+ generateRaiseHandMemberOptions: (memberId, status, locusUrl) => ({
148
+ memberId,
149
+ raised: status,
150
+ locusUrl,
151
+ }),
152
+
153
+ /**
154
+ * @param {String} memberId
155
+ * @param {[ServerRoleShape]} roles
156
+ * @param {String} locusUrl
157
+ * @returns {RoleAssignmentOptions}
158
+ */
159
+ generateRoleAssignmentMemberOptions: (
160
+ memberId: string,
161
+ roles: Array<ServerRoleShape>,
162
+ locusUrl: string
163
+ ): RoleAssignmentOptions => ({
164
+ memberId,
165
+ roles,
166
+ locusUrl,
167
+ }),
168
+
169
+ generateLowerAllHandsMemberOptions: (requestingParticipantId, locusUrl) => ({
170
+ requestingParticipantId,
171
+ locusUrl,
172
+ }),
173
+
174
+ /**
175
+ * @param {String} memberId id of the participant who is receiving request
176
+ * @param {String} requestingParticipantId id of the participant who is sending request (optional)
177
+ * @param {String} alias alias name
178
+ * @param {String} locusUrl url
179
+ * @returns {Object} consists of {memberID: string, requestingParticipantId: string, alias: string, locusUrl: string}
180
+ */
181
+ generateEditDisplayNameMemberOptions: (memberId, requestingParticipantId, alias, locusUrl) => ({
182
+ memberId,
183
+ requestingParticipantId,
184
+ alias,
185
+ locusUrl,
186
+ }),
187
+
188
+ getMuteMemberRequestParams: (options) => {
189
+ const property = options.isAudio === false ? 'video' : 'audio';
190
+ const body = {
191
+ [property]: {
192
+ muted: options.muted,
193
+ },
194
+ };
195
+ const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${CONTROLS}`;
196
+
197
+ return {
198
+ method: HTTP_VERBS.PATCH,
199
+ uri,
200
+ body,
201
+ };
202
+ },
203
+
204
+ /**
205
+ * @param {ServerRoleShape} role
206
+ * @returns {ServerRoleShape} the role shape to be added to the body
207
+ */
208
+ getAddedRoleShape: (role: ServerRoleShape): ServerRoleShape => {
209
+ const roleShape: ServerRoleShape = {type: role.type, hasRole: role.hasRole};
210
+
211
+ if (role.hostKey) {
212
+ roleShape.hostKey = role.hostKey;
213
+ }
214
+
215
+ return roleShape;
216
+ },
217
+
218
+ /**
219
+ * @param {RoleAssignmentOptions} options
220
+ * @returns {RoleAssignmentRequest} the request parameters (method, uri, body) needed to make a addMember request
221
+ */
222
+ getRoleAssignmentMemberRequestParams: (options: RoleAssignmentOptions): RoleAssignmentRequest => {
223
+ const body = {role: {roles: []}};
224
+ options.roles.forEach((role) => {
225
+ body.role.roles.push(MembersUtil.getAddedRoleShape(role));
226
+ });
227
+
228
+ const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${CONTROLS}`;
229
+
230
+ return {
231
+ method: HTTP_VERBS.PATCH,
232
+ uri,
233
+ body,
234
+ };
235
+ },
236
+
237
+ getRaiseHandMemberRequestParams: (options) => {
238
+ const body = {
239
+ hand: {
240
+ raised: options.raised,
241
+ },
242
+ };
243
+ const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${CONTROLS}`;
244
+
245
+ return {
246
+ method: HTTP_VERBS.PATCH,
247
+ uri,
248
+ body,
249
+ };
250
+ },
251
+
252
+ getLowerAllHandsMemberRequestParams: (options) => {
253
+ const body = {
254
+ hand: {
255
+ raised: false,
256
+ },
257
+ requestingParticipantId: options.requestingParticipantId,
258
+ };
259
+ const uri = `${options.locusUrl}/${CONTROLS}`;
260
+
261
+ return {
262
+ method: HTTP_VERBS.PATCH,
263
+ uri,
264
+ body,
265
+ };
266
+ },
267
+
268
+ /**
269
+ * @param {Object} options with format of {locusUrl: string, requestingParticipantId: string}
270
+ * @returns {Object} request parameters (method, uri, body) needed to make a editDisplayName request
271
+ */
272
+ editDisplayNameMemberRequestParams: (options) => {
273
+ const body = {
274
+ aliasValue: options.alias,
275
+ requestingParticipantId: options.requestingParticipantId,
276
+ };
277
+ const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${ALIAS}`;
278
+
279
+ return {
280
+ method: HTTP_VERBS.POST,
281
+ uri,
282
+ body,
283
+ };
284
+ },
285
+
286
+ getTransferHostToMemberRequestParams: (options) => {
287
+ const body = {
288
+ role: {
289
+ moderator: options.moderator,
290
+ },
291
+ };
292
+ const uri = `${options.locusUrl}/${PARTICIPANT}/${options.memberId}/${CONTROLS}`;
293
+
294
+ return {
295
+ method: HTTP_VERBS.PATCH,
296
+ uri,
297
+ body,
298
+ };
299
+ },
300
+
301
+ genderateSendDTMFOptions: (url, tones, memberId, locusUrl) => ({
302
+ url,
303
+ tones,
304
+ memberId,
305
+ locusUrl,
306
+ }),
307
+
308
+ generateSendDTMFRequestParams: ({url, tones, memberId, locusUrl}) => {
309
+ const body = {
310
+ device: {
311
+ url,
312
+ },
313
+ memberId,
314
+ dtmf: {
315
+ correlationId: uuid.v4(),
316
+ tones,
317
+ direction: 'transmit',
318
+ },
319
+ };
320
+ const uri = `${locusUrl}/${PARTICIPANT}/${memberId}/${SEND_DTMF_ENDPOINT}`;
321
+
322
+ return {
323
+ method: HTTP_VERBS.POST,
324
+ uri,
325
+ body,
326
+ };
327
+ },
328
+
329
+ cancelPhoneInviteOptions: (invitee, locusUrl) => ({
330
+ invitee,
331
+ locusUrl,
332
+ }),
333
+
334
+ generateCancelInviteRequestParams: (options) => {
335
+ const body = {
336
+ actionType: _REMOVE_,
337
+ invitees: [
338
+ {
339
+ address: options.invitee.phoneNumber,
340
+ },
341
+ ],
342
+ };
343
+ const requestParams = {
344
+ method: HTTP_VERBS.PUT,
345
+ uri: options.locusUrl,
346
+ body,
347
+ };
348
+
349
+ return requestParams;
350
+ },
310
351
  };
311
352
 
312
353
  export default MembersUtil;
@@ -1,8 +1,6 @@
1
1
  // Metrics constants ----------------------------------------------------------
2
2
 
3
3
  const BEHAVIORAL_METRICS = {
4
- NO_FRAMES_SENT: 'js_sdk_meetings_no_frames_sent',
5
- NO_VIDEO_ENCODED: 'js_sdk_meetings_no_video_encoded',
6
4
  MEETINGS_REGISTRATION_FAILED: 'js_sdk_meetings_registration_failed',
7
5
  MEETINGS_REGISTRATION_SUCCESS: 'js_sdk_meetings_registration_success',
8
6
  MERCURY_CONNECTION_FAILURE: 'js_sdk_mercury_connection_failure',
@@ -11,6 +9,8 @@ const BEHAVIORAL_METRICS = {
11
9
  JOIN_FAILURE: 'js_sdk_join_failures',
12
10
  ADD_MEDIA_SUCCESS: 'js_sdk_add_media_success',
13
11
  ADD_MEDIA_FAILURE: 'js_sdk_add_media_failures',
12
+ ADD_MEDIA_RETRY: 'js_sdk_add_media_retry',
13
+ ROAP_MERCURY_EVENT_RECEIVED: 'js_sdk_roap_mercury_received',
14
14
  CONNECTION_SUCCESS: 'js_sdk_connection_success',
15
15
  CONNECTION_FAILURE: 'js_sdk_connection_failures',
16
16
  MEETING_LEAVE_FAILURE: 'js_sdk_meeting_leave_failure',
@@ -19,14 +19,18 @@ const BEHAVIORAL_METRICS = {
19
19
  GET_USER_MEDIA_FAILURE: 'js_sdk_get_user_media_failures',
20
20
  GET_DISPLAY_MEDIA_FAILURE: 'js_sdk_get_display_media_failures',
21
21
  JOIN_WITH_MEDIA_FAILURE: 'js_sdk_join_with_media_failures',
22
+ LLM_CONNECTION_AFTER_JOIN_FAILURE: 'js_sdk_llm_connection_after_join_failure',
23
+ RECEIVE_TRANSCRIPTION_AFTER_JOIN_FAILURE: 'js_sdk_receive_transcription_after_join_failure',
22
24
 
23
25
  DISCONNECT_DUE_TO_INACTIVITY: 'js_sdk_disconnect_due_to_inactivity',
24
26
  MEETING_MEDIA_INACTIVE: 'js_sdk_meeting_media_inactive',
25
27
  MEETING_RECONNECT_FAILURE: 'js_sdk_meeting_reconnect_failures',
26
28
  MEETING_MAX_REJOIN_FAILURE: 'js_sdk_meeting_max_rejoin_failure',
29
+ MEETING_SHARE_SUCCESS: 'js_sdk_meeting_share_success',
27
30
  MEETING_SHARE_FAILURE: 'js_sdk_meeting_share_failures',
28
31
  MEETING_START_WHITEBOARD_SHARE_FAILURE: 'js_sdk_meeting_start_whiteboard_share_failures',
29
32
  MEETING_STOP_WHITEBOARD_SHARE_FAILURE: 'js_sdk_meeting_stop_whiteboard_share_failures',
33
+ MEETING_SHARE_VIDEO_MUTE_STATE_CHANGE: 'js_sdk_meeting_share_video_mute_state_change',
30
34
  MUTE_AUDIO_FAILURE: 'js_sdk_mute_audio_failures',
31
35
  MUTE_VIDEO_FAILURE: 'js_sdk_mute_video_failures',
32
36
  SET_MEETING_QUALITY_FAILURE: 'js_sdk_set_meeting_quality_failures',
@@ -41,11 +45,8 @@ const BEHAVIORAL_METRICS = {
41
45
  PEERCONNECTION_FAILURE: 'js_sdk_peerConnection_failures',
42
46
  INVALID_ICE_CANDIDATE: 'js_sdk_invalid_ice_candidate',
43
47
  UPLOAD_LOGS_FAILURE: 'js_sdk_upload_logs_failure',
48
+ UPLOAD_LOGS_SUCCESS: 'js_sdk_upload_logs_success',
44
49
  RECEIVE_TRANSCRIPTION_FAILURE: 'js_sdk_receive_transcription_failure',
45
- ENABLE_BNR_SUCCESS: 'js_sdk_enable_bnr_success',
46
- ENABLE_BNR_FAILURE: 'js_sdk_enable_bnr_failure',
47
- DISABLE_BNR_SUCCESS: 'js_sdk_disable_bnr_success',
48
- DISABLE_BNR_FAILURE: 'js_sdk_disable_bnr_failure',
49
50
  FETCH_MEETING_INFO_V1_SUCCESS: 'js_sdk_fetch_meeting_info_v1_success',
50
51
  FETCH_MEETING_INFO_V1_FAILURE: 'js_sdk_fetch_meeting_info_v1_failure',
51
52
  ADHOC_MEETING_SUCCESS: 'js_sdk_adhoc_meeting_success',
@@ -58,6 +59,14 @@ const BEHAVIORAL_METRICS = {
58
59
  MOVE_FROM_SUCCESS: 'js_sdk_move_from_success',
59
60
  MOVE_FROM_FAILURE: 'js_sdk_move_from_failure',
60
61
  TURN_DISCOVERY_FAILURE: 'js_sdk_turn_discovery_failure',
62
+ MEETING_INFO_POLICY_ERROR: 'js_sdk_meeting_info_policy_error',
63
+ LOCUS_DELTA_SYNC_FAILED: 'js_sdk_locus_delta_sync_failed',
64
+ LOCUS_DELTA_OUT_OF_ORDER: 'js_sdk_locus_delta_ooo',
65
+ PERMISSION_TOKEN_REFRESH: 'js_sdk_permission_token_refresh',
66
+ PERMISSION_TOKEN_REFRESH_ERROR: 'js_sdk_permission_token_refresh_error',
67
+ TURN_DISCOVERY_LATENCY: 'js_sdk_turn_discovery_latency',
68
+ ROAP_OFFER_TO_ANSWER_LATENCY: 'js_sdk_roap_offer_to_answer_latency',
69
+ ROAP_HTTP_RESPONSE_MISSING: 'js_sdk_roap_http_response_missing',
61
70
  };
62
71
 
63
72
  export {BEHAVIORAL_METRICS as default};