@webex/plugin-meetings 2.60.0-next.9 → 2.60.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 (516) hide show
  1. package/README.md +8 -46
  2. package/dist/common/browser-detection.js +3 -2
  3. package/dist/common/browser-detection.js.map +1 -1
  4. package/dist/common/collection.js +4 -3
  5. package/dist/common/collection.js.map +1 -1
  6. package/dist/common/config.js +2 -1
  7. package/dist/common/config.js.map +1 -1
  8. package/dist/common/errors/captcha-error.js +2 -1
  9. package/dist/common/errors/captcha-error.js.map +1 -1
  10. package/dist/common/errors/intent-to-join.js +2 -1
  11. package/dist/common/errors/intent-to-join.js.map +1 -1
  12. package/dist/common/errors/join-meeting.js +2 -1
  13. package/dist/common/errors/join-meeting.js.map +1 -1
  14. package/dist/common/errors/media.js +2 -1
  15. package/dist/common/errors/media.js.map +1 -1
  16. package/dist/common/errors/parameter.js +4 -3
  17. package/dist/common/errors/parameter.js.map +1 -1
  18. package/dist/common/errors/password-error.js +2 -1
  19. package/dist/common/errors/password-error.js.map +1 -1
  20. package/dist/common/errors/permission.js +2 -1
  21. package/dist/common/errors/permission.js.map +1 -1
  22. package/dist/common/errors/{reclaim-host-role-errors.js → reclaim-host-role-error.js} +11 -7
  23. package/dist/common/errors/reclaim-host-role-error.js.map +1 -0
  24. package/dist/common/errors/reconnection-in-progress.js +2 -1
  25. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  26. package/dist/common/errors/reconnection.js +2 -1
  27. package/dist/common/errors/reconnection.js.map +1 -1
  28. package/dist/common/errors/stats.js +2 -1
  29. package/dist/common/errors/stats.js.map +1 -1
  30. package/dist/common/errors/webex-errors.d.ts +8 -20
  31. package/dist/common/errors/webex-errors.js +28 -48
  32. package/dist/common/errors/webex-errors.js.map +1 -1
  33. package/dist/common/errors/webex-meetings-error.js +2 -1
  34. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  35. package/dist/common/events/events-scope.js +2 -1
  36. package/dist/common/events/events-scope.js.map +1 -1
  37. package/dist/common/events/events.js +2 -1
  38. package/dist/common/events/events.js.map +1 -1
  39. package/dist/common/events/trigger-proxy.js +2 -1
  40. package/dist/common/events/trigger-proxy.js.map +1 -1
  41. package/dist/common/events/util.js +2 -1
  42. package/dist/common/events/util.js.map +1 -1
  43. package/dist/common/logs/logger-config.js +2 -1
  44. package/dist/common/logs/logger-config.js.map +1 -1
  45. package/dist/common/logs/logger-proxy.js +3 -2
  46. package/dist/common/logs/logger-proxy.js.map +1 -1
  47. package/dist/common/logs/request.d.ts +1 -3
  48. package/dist/common/logs/request.js +5 -8
  49. package/dist/common/logs/request.js.map +1 -1
  50. package/dist/common/queue.d.ts +7 -9
  51. package/dist/common/queue.js +9 -22
  52. package/dist/common/queue.js.map +1 -1
  53. package/dist/config.d.ts +7 -5
  54. package/dist/config.js +11 -8
  55. package/dist/config.js.map +1 -1
  56. package/dist/constants.d.ts +97 -217
  57. package/dist/constants.js +441 -416
  58. package/dist/constants.js.map +1 -1
  59. package/dist/controls-options-manager/constants.js +6 -3
  60. package/dist/controls-options-manager/constants.js.map +1 -1
  61. package/dist/controls-options-manager/enums.d.ts +1 -11
  62. package/dist/controls-options-manager/enums.js +6 -15
  63. package/dist/controls-options-manager/enums.js.map +1 -1
  64. package/dist/controls-options-manager/index.d.ts +1 -17
  65. package/dist/controls-options-manager/index.js +38 -127
  66. package/dist/controls-options-manager/index.js.map +1 -1
  67. package/dist/controls-options-manager/util.d.ts +7 -1
  68. package/dist/controls-options-manager/util.js +19 -309
  69. package/dist/controls-options-manager/util.js.map +1 -1
  70. package/dist/index.d.ts +3 -6
  71. package/dist/index.js +4 -116
  72. package/dist/index.js.map +1 -1
  73. package/dist/locus-info/controlsUtils.js +11 -100
  74. package/dist/locus-info/controlsUtils.js.map +1 -1
  75. package/dist/locus-info/embeddedAppsUtils.js +4 -3
  76. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  77. package/dist/locus-info/fullState.js +2 -1
  78. package/dist/locus-info/fullState.js.map +1 -1
  79. package/dist/locus-info/hostUtils.js +2 -1
  80. package/dist/locus-info/hostUtils.js.map +1 -1
  81. package/dist/locus-info/index.d.ts +4 -57
  82. package/dist/locus-info/index.js +84 -425
  83. package/dist/locus-info/index.js.map +1 -1
  84. package/dist/locus-info/infoUtils.js +5 -13
  85. package/dist/locus-info/infoUtils.js.map +1 -1
  86. package/dist/locus-info/mediaSharesUtils.js +3 -58
  87. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  88. package/dist/locus-info/parser.d.ts +6 -66
  89. package/dist/locus-info/parser.js +80 -253
  90. package/dist/locus-info/parser.js.map +1 -1
  91. package/dist/locus-info/selfUtils.js +13 -97
  92. package/dist/locus-info/selfUtils.js.map +1 -1
  93. package/dist/media/index.d.ts +0 -2
  94. package/dist/media/index.js +319 -107
  95. package/dist/media/index.js.map +1 -1
  96. package/dist/media/properties.d.ts +53 -38
  97. package/dist/media/properties.js +153 -96
  98. package/dist/media/properties.js.map +1 -1
  99. package/dist/media/util.js +22 -1
  100. package/dist/media/util.js.map +1 -1
  101. package/dist/mediaQualityMetrics/config.d.ts +230 -234
  102. package/dist/mediaQualityMetrics/config.js +498 -302
  103. package/dist/mediaQualityMetrics/config.js.map +1 -1
  104. package/dist/meeting/effectsState.d.ts +42 -0
  105. package/dist/meeting/effectsState.js +260 -0
  106. package/dist/meeting/effectsState.js.map +1 -0
  107. package/dist/meeting/in-meeting-actions.d.ts +0 -88
  108. package/dist/meeting/in-meeting-actions.js +3 -94
  109. package/dist/meeting/in-meeting-actions.js.map +1 -1
  110. package/dist/meeting/index.d.ts +494 -591
  111. package/dist/meeting/index.js +2969 -4707
  112. package/dist/meeting/index.js.map +1 -1
  113. package/dist/meeting/muteState.d.ts +25 -93
  114. package/dist/meeting/muteState.js +133 -224
  115. package/dist/meeting/muteState.js.map +1 -1
  116. package/dist/meeting/request.d.ts +47 -82
  117. package/dist/meeting/request.js +199 -297
  118. package/dist/meeting/request.js.map +1 -1
  119. package/dist/meeting/state.js +2 -1
  120. package/dist/meeting/state.js.map +1 -1
  121. package/dist/meeting/util.d.ts +1 -102
  122. package/dist/meeting/util.js +435 -605
  123. package/dist/meeting/util.js.map +1 -1
  124. package/dist/meeting-info/collection.js +4 -3
  125. package/dist/meeting-info/collection.js.map +1 -1
  126. package/dist/meeting-info/index.d.ts +1 -13
  127. package/dist/meeting-info/index.js +7 -74
  128. package/dist/meeting-info/index.js.map +1 -1
  129. package/dist/meeting-info/meeting-info-v2.d.ts +1 -31
  130. package/dist/meeting-info/meeting-info-v2.js +63 -200
  131. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  132. package/dist/meeting-info/request.js +2 -1
  133. package/dist/meeting-info/request.js.map +1 -1
  134. package/dist/meeting-info/util.js +3 -2
  135. package/dist/meeting-info/util.js.map +1 -1
  136. package/dist/meeting-info/utilv2.js +41 -39
  137. package/dist/meeting-info/utilv2.js.map +1 -1
  138. package/dist/meetings/collection.d.ts +0 -17
  139. package/dist/meetings/collection.js +4 -42
  140. package/dist/meetings/collection.js.map +1 -1
  141. package/dist/meetings/index.d.ts +21 -103
  142. package/dist/meetings/index.js +124 -486
  143. package/dist/meetings/index.js.map +1 -1
  144. package/dist/meetings/request.js +3 -4
  145. package/dist/meetings/request.js.map +1 -1
  146. package/dist/meetings/util.js +6 -107
  147. package/dist/meetings/util.js.map +1 -1
  148. package/dist/member/index.d.ts +1 -13
  149. package/dist/member/index.js +2 -45
  150. package/dist/member/index.js.map +1 -1
  151. package/dist/member/member.types.js +4 -3
  152. package/dist/member/member.types.js.map +1 -1
  153. package/dist/member/util.js +29 -120
  154. package/dist/member/util.js.map +1 -1
  155. package/dist/members/collection.d.ts +0 -5
  156. package/dist/members/collection.js +2 -11
  157. package/dist/members/collection.js.map +1 -1
  158. package/dist/members/index.d.ts +11 -56
  159. package/dist/members/index.js +47 -174
  160. package/dist/members/index.js.map +1 -1
  161. package/dist/members/request.d.ts +11 -67
  162. package/dist/members/request.js +54 -102
  163. package/dist/members/request.js.map +1 -1
  164. package/dist/members/types.js +4 -3
  165. package/dist/members/types.js.map +1 -1
  166. package/dist/members/util.d.ts +1 -214
  167. package/dist/members/util.js +284 -327
  168. package/dist/members/util.js.map +1 -1
  169. package/dist/metrics/config.d.ts +169 -0
  170. package/dist/metrics/config.js +289 -0
  171. package/dist/metrics/config.js.map +1 -0
  172. package/dist/metrics/constants.d.ts +6 -15
  173. package/dist/metrics/constants.js +9 -17
  174. package/dist/metrics/constants.js.map +1 -1
  175. package/dist/metrics/index.d.ts +111 -4
  176. package/dist/metrics/index.js +452 -4
  177. package/dist/metrics/index.js.map +1 -1
  178. package/dist/networkQualityMonitor/index.js +4 -5
  179. package/dist/networkQualityMonitor/index.js.map +1 -1
  180. package/dist/peer-connection-manager/index.d.ts +6 -0
  181. package/dist/peer-connection-manager/index.js +671 -0
  182. package/dist/peer-connection-manager/index.js.map +1 -0
  183. package/dist/peer-connection-manager/util.d.ts +6 -0
  184. package/dist/peer-connection-manager/util.js +110 -0
  185. package/dist/peer-connection-manager/util.js.map +1 -0
  186. package/dist/personal-meeting-room/index.js +3 -2
  187. package/dist/personal-meeting-room/index.js.map +1 -1
  188. package/dist/personal-meeting-room/request.js +3 -2
  189. package/dist/personal-meeting-room/request.js.map +1 -1
  190. package/dist/personal-meeting-room/util.js +2 -1
  191. package/dist/personal-meeting-room/util.js.map +1 -1
  192. package/dist/reachability/index.d.ts +7 -62
  193. package/dist/reachability/index.js +72 -265
  194. package/dist/reachability/index.js.map +1 -1
  195. package/dist/reachability/request.d.ts +3 -7
  196. package/dist/reachability/request.js +10 -18
  197. package/dist/reachability/request.js.map +1 -1
  198. package/dist/reactions/reactions.d.ts +2 -2
  199. package/dist/reactions/reactions.js +6 -4
  200. package/dist/reactions/reactions.js.map +1 -1
  201. package/dist/reactions/reactions.type.d.ts +3 -23
  202. package/dist/reactions/reactions.type.js +23 -21
  203. package/dist/reactions/reactions.type.js.map +1 -1
  204. package/dist/reconnection-manager/index.d.ts +8 -32
  205. package/dist/reconnection-manager/index.js +231 -282
  206. package/dist/reconnection-manager/index.js.map +1 -1
  207. package/dist/recording-controller/enums.js +5 -4
  208. package/dist/recording-controller/enums.js.map +1 -1
  209. package/dist/recording-controller/index.d.ts +1 -15
  210. package/dist/recording-controller/index.js +46 -57
  211. package/dist/recording-controller/index.js.map +1 -1
  212. package/dist/recording-controller/util.d.ts +4 -5
  213. package/dist/recording-controller/util.js +10 -10
  214. package/dist/recording-controller/util.js.map +1 -1
  215. package/dist/roap/collection.d.ts +10 -0
  216. package/dist/roap/collection.js +63 -0
  217. package/dist/roap/collection.js.map +1 -0
  218. package/dist/roap/handler.d.ts +47 -0
  219. package/dist/roap/handler.js +279 -0
  220. package/dist/roap/handler.js.map +1 -0
  221. package/dist/roap/index.d.ts +47 -9
  222. package/dist/roap/index.js +235 -101
  223. package/dist/roap/index.js.map +1 -1
  224. package/dist/roap/request.d.ts +12 -18
  225. package/dist/roap/request.js +180 -126
  226. package/dist/roap/request.js.map +1 -1
  227. package/dist/roap/state.d.ts +9 -0
  228. package/dist/roap/state.js +127 -0
  229. package/dist/roap/state.js.map +1 -0
  230. package/dist/roap/turnDiscovery.d.ts +16 -27
  231. package/dist/roap/turnDiscovery.js +105 -115
  232. package/dist/roap/turnDiscovery.js.map +1 -1
  233. package/dist/roap/util.d.ts +2 -0
  234. package/dist/roap/util.js +76 -0
  235. package/dist/roap/util.js.map +1 -0
  236. package/dist/statsAnalyzer/global.d.ts +83 -1
  237. package/dist/statsAnalyzer/global.js +85 -2
  238. package/dist/statsAnalyzer/global.js.map +1 -1
  239. package/dist/statsAnalyzer/index.d.ts +30 -28
  240. package/dist/statsAnalyzer/index.js +509 -374
  241. package/dist/statsAnalyzer/index.js.map +1 -1
  242. package/dist/statsAnalyzer/mqaUtil.d.ts +6 -8
  243. package/dist/statsAnalyzer/mqaUtil.js +83 -116
  244. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  245. package/dist/transcription/index.js +2 -1
  246. package/dist/transcription/index.js.map +1 -1
  247. package/package.json +26 -35
  248. package/src/common/errors/webex-errors.ts +12 -36
  249. package/src/common/logs/logger-proxy.ts +1 -1
  250. package/src/common/logs/request.ts +1 -5
  251. package/src/common/queue.ts +8 -22
  252. package/src/config.ts +7 -5
  253. package/src/constants.ts +97 -244
  254. package/src/controls-options-manager/enums.ts +0 -12
  255. package/src/controls-options-manager/index.ts +21 -116
  256. package/src/controls-options-manager/util.ts +14 -294
  257. package/src/index.js +15 -0
  258. package/src/locus-info/controlsUtils.ts +0 -110
  259. package/src/locus-info/index.ts +61 -449
  260. package/src/locus-info/infoUtils.ts +2 -14
  261. package/src/locus-info/mediaSharesUtils.ts +0 -64
  262. package/src/locus-info/parser.ts +47 -258
  263. package/src/locus-info/selfUtils.ts +2 -85
  264. package/src/media/index.ts +370 -153
  265. package/src/media/properties.ts +136 -106
  266. package/src/media/util.ts +21 -0
  267. package/src/mediaQualityMetrics/config.ts +377 -244
  268. package/src/meeting/effectsState.ts +209 -0
  269. package/src/meeting/in-meeting-actions.ts +0 -176
  270. package/src/meeting/index.ts +2482 -3929
  271. package/src/meeting/muteState.ts +138 -224
  272. package/src/meeting/request.ts +127 -207
  273. package/src/meeting/util.ts +423 -590
  274. package/src/meeting-info/index.ts +8 -81
  275. package/src/meeting-info/meeting-info-v2.ts +13 -163
  276. package/src/meeting-info/util.ts +1 -1
  277. package/src/meeting-info/utilv2.ts +28 -28
  278. package/src/meetings/collection.ts +0 -33
  279. package/src/meetings/index.ts +126 -486
  280. package/src/meetings/request.ts +0 -2
  281. package/src/meetings/util.ts +5 -116
  282. package/src/member/index.ts +1 -43
  283. package/src/member/util.ts +28 -125
  284. package/src/members/collection.ts +0 -8
  285. package/src/members/index.ts +52 -187
  286. package/src/members/request.ts +27 -87
  287. package/src/members/util.ts +291 -332
  288. package/src/metrics/config.ts +485 -0
  289. package/src/metrics/constants.ts +6 -15
  290. package/src/metrics/index.ts +471 -1
  291. package/src/networkQualityMonitor/index.ts +6 -6
  292. package/src/peer-connection-manager/index.ts +847 -0
  293. package/src/peer-connection-manager/util.ts +119 -0
  294. package/src/reachability/index.ts +45 -238
  295. package/src/reachability/request.ts +8 -17
  296. package/src/reactions/reactions.ts +4 -4
  297. package/src/reactions/reactions.type.ts +4 -30
  298. package/src/reconnection-manager/index.ts +156 -168
  299. package/src/recording-controller/index.ts +3 -20
  300. package/src/recording-controller/util.ts +9 -26
  301. package/src/roap/collection.ts +62 -0
  302. package/src/roap/handler.ts +294 -0
  303. package/src/roap/index.ts +241 -98
  304. package/src/roap/request.ts +148 -74
  305. package/src/roap/state.ts +156 -0
  306. package/src/roap/turnDiscovery.ts +56 -62
  307. package/src/roap/util.ts +100 -0
  308. package/src/statsAnalyzer/global.ts +84 -1
  309. package/src/statsAnalyzer/index.ts +642 -413
  310. package/src/statsAnalyzer/mqaUtil.ts +114 -111
  311. package/test/integration/spec/journey.js +264 -320
  312. package/test/integration/spec/space-meeting.js +4 -77
  313. package/test/unit/spec/common/queue.js +2 -31
  314. package/test/unit/spec/controls-options-manager/index.js +0 -163
  315. package/test/unit/spec/controls-options-manager/util.js +60 -576
  316. package/test/unit/spec/fixture/locus.js +0 -1
  317. package/test/unit/spec/locus-info/controlsUtils.js +30 -323
  318. package/test/unit/spec/locus-info/index.js +15 -1389
  319. package/test/unit/spec/locus-info/infoUtils.js +16 -54
  320. package/test/unit/spec/locus-info/lib/SeqCmp.json +0 -16
  321. package/test/unit/spec/locus-info/lib/selfConstant.js +0 -48
  322. package/test/unit/spec/locus-info/parser.js +35 -116
  323. package/test/unit/spec/locus-info/selfUtils.js +0 -275
  324. package/test/unit/spec/media/properties.ts +84 -75
  325. package/test/unit/spec/meeting/effectsState.js +281 -0
  326. package/test/unit/spec/meeting/in-meeting-actions.ts +0 -86
  327. package/test/unit/spec/meeting/index.js +3136 -8547
  328. package/test/unit/spec/meeting/muteState.js +213 -409
  329. package/test/unit/spec/meeting/request.js +42 -512
  330. package/test/unit/spec/meeting/utils.js +24 -741
  331. package/test/unit/spec/meeting-info/meetinginfov2.js +5 -527
  332. package/test/unit/spec/meeting-info/utilv2.js +0 -21
  333. package/test/unit/spec/meetings/collection.js +0 -26
  334. package/test/unit/spec/meetings/index.js +211 -1278
  335. package/test/unit/spec/meetings/utils.js +2 -202
  336. package/test/unit/spec/member/index.js +9 -32
  337. package/test/unit/spec/member/util.js +61 -499
  338. package/test/unit/spec/members/index.js +5 -394
  339. package/test/unit/spec/members/request.js +27 -206
  340. package/test/unit/spec/members/utils.js +38 -173
  341. package/test/unit/spec/metrics/index.js +50 -1
  342. package/test/unit/spec/networkQualityMonitor/index.js +4 -4
  343. package/test/unit/spec/peerconnection-manager/index.js +218 -0
  344. package/test/unit/spec/peerconnection-manager/utils.js +49 -0
  345. package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +388 -0
  346. package/test/unit/spec/reachability/index.ts +24 -598
  347. package/test/unit/spec/reconnection-manager/index.js +24 -162
  348. package/test/unit/spec/recording-controller/index.js +218 -293
  349. package/test/unit/spec/recording-controller/util.js +96 -223
  350. package/test/unit/spec/roap/index.ts +76 -200
  351. package/test/unit/spec/roap/turnDiscovery.ts +48 -86
  352. package/test/unit/spec/roap/util.js +30 -0
  353. package/test/unit/spec/stats-analyzer/index.js +174 -188
  354. package/test/utils/testUtils.js +45 -0
  355. package/test/utils/webex-config.js +0 -4
  356. package/test/utils/webex-test-users.js +3 -7
  357. package/dist/annotation/annotation.types.d.ts +0 -42
  358. package/dist/annotation/annotation.types.js +0 -7
  359. package/dist/annotation/annotation.types.js.map +0 -1
  360. package/dist/annotation/constants.d.ts +0 -31
  361. package/dist/annotation/constants.js +0 -41
  362. package/dist/annotation/constants.js.map +0 -1
  363. package/dist/annotation/index.d.ts +0 -117
  364. package/dist/annotation/index.js +0 -357
  365. package/dist/annotation/index.js.map +0 -1
  366. package/dist/breakouts/breakout.d.ts +0 -8
  367. package/dist/breakouts/breakout.js +0 -215
  368. package/dist/breakouts/breakout.js.map +0 -1
  369. package/dist/breakouts/collection.d.ts +0 -5
  370. package/dist/breakouts/collection.js +0 -22
  371. package/dist/breakouts/collection.js.map +0 -1
  372. package/dist/breakouts/edit-lock-error.d.ts +0 -15
  373. package/dist/breakouts/edit-lock-error.js +0 -51
  374. package/dist/breakouts/edit-lock-error.js.map +0 -1
  375. package/dist/breakouts/events.d.ts +0 -8
  376. package/dist/breakouts/events.js +0 -44
  377. package/dist/breakouts/events.js.map +0 -1
  378. package/dist/breakouts/index.d.ts +0 -5
  379. package/dist/breakouts/index.js +0 -1047
  380. package/dist/breakouts/index.js.map +0 -1
  381. package/dist/breakouts/request.d.ts +0 -22
  382. package/dist/breakouts/request.js +0 -77
  383. package/dist/breakouts/request.js.map +0 -1
  384. package/dist/breakouts/utils.d.ts +0 -15
  385. package/dist/breakouts/utils.js +0 -64
  386. package/dist/breakouts/utils.js.map +0 -1
  387. package/dist/common/errors/no-meeting-info.d.ts +0 -14
  388. package/dist/common/errors/no-meeting-info.js +0 -50
  389. package/dist/common/errors/no-meeting-info.js.map +0 -1
  390. package/dist/common/errors/reclaim-host-role-errors.js.map +0 -1
  391. package/dist/controls-options-manager/types.d.ts +0 -43
  392. package/dist/controls-options-manager/types.js +0 -7
  393. package/dist/controls-options-manager/types.js.map +0 -1
  394. package/dist/interpretation/collection.d.ts +0 -5
  395. package/dist/interpretation/collection.js +0 -22
  396. package/dist/interpretation/collection.js.map +0 -1
  397. package/dist/interpretation/index.d.ts +0 -5
  398. package/dist/interpretation/index.js +0 -365
  399. package/dist/interpretation/index.js.map +0 -1
  400. package/dist/interpretation/siLanguage.d.ts +0 -5
  401. package/dist/interpretation/siLanguage.js +0 -24
  402. package/dist/interpretation/siLanguage.js.map +0 -1
  403. package/dist/meeting/locusMediaRequest.d.ts +0 -74
  404. package/dist/meeting/locusMediaRequest.js +0 -291
  405. package/dist/meeting/locusMediaRequest.js.map +0 -1
  406. package/dist/meeting/request.type.d.ts +0 -11
  407. package/dist/meeting/request.type.js +0 -7
  408. package/dist/meeting/request.type.js.map +0 -1
  409. package/dist/meetings/meetings.types.d.ts +0 -4
  410. package/dist/meetings/meetings.types.js +0 -7
  411. package/dist/meetings/meetings.types.js.map +0 -1
  412. package/dist/member/types.d.ts +0 -32
  413. package/dist/member/types.js +0 -23
  414. package/dist/member/types.js.map +0 -1
  415. package/dist/multistream/mediaRequestManager.d.ts +0 -118
  416. package/dist/multistream/mediaRequestManager.js +0 -344
  417. package/dist/multistream/mediaRequestManager.js.map +0 -1
  418. package/dist/multistream/receiveSlot.d.ts +0 -68
  419. package/dist/multistream/receiveSlot.js +0 -200
  420. package/dist/multistream/receiveSlot.js.map +0 -1
  421. package/dist/multistream/receiveSlotManager.d.ts +0 -56
  422. package/dist/multistream/receiveSlotManager.js +0 -174
  423. package/dist/multistream/receiveSlotManager.js.map +0 -1
  424. package/dist/multistream/remoteMedia.d.ts +0 -72
  425. package/dist/multistream/remoteMedia.js +0 -268
  426. package/dist/multistream/remoteMedia.js.map +0 -1
  427. package/dist/multistream/remoteMediaGroup.d.ts +0 -47
  428. package/dist/multistream/remoteMediaGroup.js +0 -267
  429. package/dist/multistream/remoteMediaGroup.js.map +0 -1
  430. package/dist/multistream/remoteMediaManager.d.ts +0 -285
  431. package/dist/multistream/remoteMediaManager.js +0 -1211
  432. package/dist/multistream/remoteMediaManager.js.map +0 -1
  433. package/dist/multistream/sendSlotManager.d.ts +0 -61
  434. package/dist/multistream/sendSlotManager.js +0 -236
  435. package/dist/multistream/sendSlotManager.js.map +0 -1
  436. package/dist/reactions/constants.d.ts +0 -3
  437. package/dist/reactions/constants.js +0 -12
  438. package/dist/reactions/constants.js.map +0 -1
  439. package/dist/rtcMetrics/constants.d.ts +0 -4
  440. package/dist/rtcMetrics/constants.js +0 -11
  441. package/dist/rtcMetrics/constants.js.map +0 -1
  442. package/dist/rtcMetrics/index.d.ts +0 -54
  443. package/dist/rtcMetrics/index.js +0 -140
  444. package/dist/rtcMetrics/index.js.map +0 -1
  445. package/dist/webinar/collection.d.ts +0 -16
  446. package/dist/webinar/collection.js +0 -43
  447. package/dist/webinar/collection.js.map +0 -1
  448. package/dist/webinar/index.d.ts +0 -5
  449. package/dist/webinar/index.js +0 -68
  450. package/dist/webinar/index.js.map +0 -1
  451. package/src/annotation/annotation.types.ts +0 -50
  452. package/src/annotation/constants.ts +0 -36
  453. package/src/annotation/index.ts +0 -328
  454. package/src/breakouts/README.md +0 -220
  455. package/src/breakouts/breakout.ts +0 -188
  456. package/src/breakouts/collection.ts +0 -19
  457. package/src/breakouts/edit-lock-error.ts +0 -25
  458. package/src/breakouts/events.ts +0 -56
  459. package/src/breakouts/index.ts +0 -925
  460. package/src/breakouts/request.ts +0 -55
  461. package/src/breakouts/utils.ts +0 -57
  462. package/src/common/errors/no-meeting-info.ts +0 -24
  463. package/src/controls-options-manager/types.ts +0 -59
  464. package/src/index.ts +0 -40
  465. package/src/interpretation/README.md +0 -60
  466. package/src/interpretation/collection.ts +0 -19
  467. package/src/interpretation/index.ts +0 -332
  468. package/src/interpretation/siLanguage.ts +0 -18
  469. package/src/meeting/locusMediaRequest.ts +0 -313
  470. package/src/meeting/request.type.ts +0 -13
  471. package/src/meetings/meetings.types.ts +0 -12
  472. package/src/member/types.ts +0 -38
  473. package/src/multistream/mediaRequestManager.ts +0 -440
  474. package/src/multistream/receiveSlot.ts +0 -184
  475. package/src/multistream/receiveSlotManager.ts +0 -166
  476. package/src/multistream/remoteMedia.ts +0 -254
  477. package/src/multistream/remoteMediaGroup.ts +0 -284
  478. package/src/multistream/remoteMediaManager.ts +0 -1145
  479. package/src/multistream/sendSlotManager.ts +0 -170
  480. package/src/reactions/constants.ts +0 -4
  481. package/src/rtcMetrics/constants.ts +0 -3
  482. package/src/rtcMetrics/index.ts +0 -124
  483. package/src/webinar/collection.ts +0 -31
  484. package/src/webinar/index.ts +0 -62
  485. package/test/integration/spec/converged-space-meetings.js +0 -233
  486. package/test/unit/spec/annotation/index.ts +0 -418
  487. package/test/unit/spec/breakouts/breakout.ts +0 -237
  488. package/test/unit/spec/breakouts/collection.ts +0 -15
  489. package/test/unit/spec/breakouts/edit-lock-error.ts +0 -30
  490. package/test/unit/spec/breakouts/events.ts +0 -89
  491. package/test/unit/spec/breakouts/index.ts +0 -1790
  492. package/test/unit/spec/breakouts/request.ts +0 -104
  493. package/test/unit/spec/breakouts/utils.js +0 -72
  494. package/test/unit/spec/interpretation/collection.ts +0 -15
  495. package/test/unit/spec/interpretation/index.ts +0 -589
  496. package/test/unit/spec/interpretation/siLanguage.ts +0 -28
  497. package/test/unit/spec/locus-info/mediaSharesUtils.ts +0 -32
  498. package/test/unit/spec/media/index.ts +0 -290
  499. package/test/unit/spec/meeting/locusMediaRequest.ts +0 -442
  500. package/test/unit/spec/meeting-info/index.js +0 -300
  501. package/test/unit/spec/multistream/mediaRequestManager.ts +0 -1418
  502. package/test/unit/spec/multistream/receiveSlot.ts +0 -163
  503. package/test/unit/spec/multistream/receiveSlotManager.ts +0 -203
  504. package/test/unit/spec/multistream/remoteMedia.ts +0 -255
  505. package/test/unit/spec/multistream/remoteMediaGroup.ts +0 -662
  506. package/test/unit/spec/multistream/remoteMediaManager.ts +0 -1924
  507. package/test/unit/spec/multistream/sendSlotManager.ts +0 -242
  508. package/test/unit/spec/reachability/request.js +0 -68
  509. package/test/unit/spec/roap/request.ts +0 -232
  510. package/test/unit/spec/rtcMetrics/index.ts +0 -93
  511. package/test/unit/spec/webinar/collection.ts +0 -13
  512. package/test/unit/spec/webinar/index.ts +0 -60
  513. package/test/utils/constants.js +0 -9
  514. package/test/utils/integrationTestUtils.js +0 -46
  515. /package/dist/common/errors/{reclaim-host-role-errors.d.ts → reclaim-host-role-error.d.ts} +0 -0
  516. /package/src/common/errors/{reclaim-host-role-errors.ts → reclaim-host-role-error.ts} +0 -0
@@ -1,55 +0,0 @@
1
- import {StatelessWebexPlugin} from '@webex/webex-core';
2
- import LoggerProxy from '../common/logs/logger-proxy';
3
- import {getBroadcastRoles} from './utils';
4
- import {HTTP_VERBS} from '../constants';
5
-
6
- /**
7
- * @class BreakoutRequest
8
- */
9
- export default class BreakoutRequest extends StatelessWebexPlugin {
10
- /**
11
- * Broadcast message to all breakout session's participants
12
- * @param {String} url
13
- * @param {String} message
14
- * @param {Object} options
15
- * @param {string} groupId
16
- * @param {string} sessionId
17
- * @returns {Promise}
18
- */
19
- broadcast({
20
- url,
21
- message,
22
- options,
23
- groupId,
24
- sessionId,
25
- }: {
26
- url: string;
27
- message: string;
28
- options?: object;
29
- groupId: string;
30
- sessionId?: string;
31
- }) {
32
- const roles = getBroadcastRoles(options);
33
- const params = {
34
- id: groupId,
35
- recipientRoles: roles.length ? roles : undefined,
36
- sessions: sessionId ? [{id: sessionId}] : undefined,
37
- };
38
-
39
- // @ts-ignore
40
- return this.request({
41
- method: HTTP_VERBS.POST,
42
- uri: `${url}/message`,
43
- body: {
44
- message,
45
- groups: [params],
46
- },
47
- }).catch((error) => {
48
- if (error.body && error.body.errorCode === 201409036 && error.statusCode === 409) {
49
- LoggerProxy.logger.info(`Breakouts#broadcast --> no joined participants`);
50
- } else {
51
- throw error;
52
- }
53
- });
54
- }
55
- }
@@ -1,57 +0,0 @@
1
- // eslint-disable-next-line import/prefer-default-export
2
- import LoggerProxy from '../common/logs/logger-proxy';
3
- import BreakoutEditLockedError from './edit-lock-error';
4
- import {BREAKOUTS} from '../constants';
5
-
6
- export const getBroadcastRoles = (options): string[] => {
7
- const recipientRoles = [];
8
- if (!options || (!options.cohosts && !options.presenters)) {
9
- return recipientRoles;
10
- }
11
- if (options.cohosts) {
12
- recipientRoles.push('COHOST');
13
- }
14
- if (options.presenters) {
15
- recipientRoles.push('PRESENTER');
16
- }
17
-
18
- return recipientRoles;
19
- };
20
-
21
- /**
22
- * Deals with all kinds of errors of breakout service
23
- * @param {object} error // one of the breakout service error
24
- * @param {string} position // position of the error occur
25
- * @returns {object}
26
- */
27
- export const boServiceErrorHandler = (error: any, position: string): any => {
28
- const errorCode = error?.body?.errorCode;
29
- const {EDIT_LOCK_TOKEN_MISMATCH, EDIT_NOT_AUTHORIZED} = BREAKOUTS.ERROR_CODE;
30
- let throwError;
31
- switch (errorCode) {
32
- case EDIT_LOCK_TOKEN_MISMATCH:
33
- throwError = new BreakoutEditLockedError('Edit lock token mismatch', error);
34
- break;
35
- case EDIT_NOT_AUTHORIZED:
36
- throwError = new BreakoutEditLockedError('Not authorized to interact with edit lock', error);
37
- break;
38
- default:
39
- throwError = error;
40
- }
41
- LoggerProxy.logger.info(`${position} --> ${throwError?.message}`);
42
-
43
- return throwError;
44
- };
45
-
46
- /**
47
- *
48
- * @param {object} breakout
49
- * @param {string} newSessionType
50
- * @returns {boolean}
51
- */
52
- export const isSessionTypeChangedFromSessionToMain = (breakout, newSessionType) => {
53
- return (
54
- breakout.previous('sessionType') === BREAKOUTS.SESSION_TYPES.BREAKOUT &&
55
- newSessionType === BREAKOUTS.SESSION_TYPES.MAIN
56
- );
57
- };
@@ -1,24 +0,0 @@
1
- import {ERROR_DICTIONARY} from '../../constants';
2
-
3
- /**
4
- * Extended Error object for general parameter errors
5
- */
6
- export default class NoMeetingInfoError extends Error {
7
- code: any;
8
- error: any;
9
- sdkMessage: any;
10
-
11
- /**
12
- * @constructor
13
- * @param {String} [message]
14
- * @param {Object} [error]
15
- */
16
- constructor(message: string = ERROR_DICTIONARY.NO_MEETING_INFO.MESSAGE, error: any = null) {
17
- super(message);
18
- this.name = ERROR_DICTIONARY.NO_MEETING_INFO.NAME;
19
- this.sdkMessage = ERROR_DICTIONARY.NO_MEETING_INFO.MESSAGE;
20
- this.error = error;
21
- this.stack = error ? error.stack : new Error().stack;
22
- this.code = ERROR_DICTIONARY.NO_MEETING_INFO.CODE;
23
- }
24
- }
@@ -1,59 +0,0 @@
1
- import {Control} from './enums';
2
-
3
- export interface ControlProperties {
4
- /**
5
- * A list of additional properties that apply to various specific settings.
6
- *
7
- * @remarks
8
- * The values stored here, per the service, are fully ambiguous, an can vary
9
- * depending on which control scope is being configured.
10
- */
11
- [key: string]: boolean;
12
- }
13
-
14
- export interface AudioProperties {
15
- muted?: boolean;
16
- disallowUnmute?: boolean;
17
- muteOnEntry?: boolean;
18
- }
19
-
20
- export interface RaiseHandProperties {
21
- enabled?: boolean;
22
- }
23
-
24
- export interface ReactionsProperties {
25
- enabled?: boolean;
26
- showDisplayNameWithReactions?: boolean;
27
- }
28
-
29
- export interface ShareControlProperties {
30
- control?: 'ANYONE' | 'MODERATOR_PRESENTER';
31
- }
32
-
33
- export interface VideoProperties {
34
- enabled?: boolean;
35
- }
36
-
37
- export interface ViewTheParticipantListProperties {
38
- enabled?: boolean;
39
- }
40
-
41
- export type Properties =
42
- | AudioProperties
43
- | RaiseHandProperties
44
- | ReactionsProperties
45
- | ShareControlProperties
46
- | VideoProperties
47
- | ViewTheParticipantListProperties;
48
-
49
- export interface ControlConfig<Props = Properties> {
50
- /**
51
- * The scope of the control within this object.
52
- */
53
- scope: Control;
54
-
55
- /**
56
- * The properties to assign to this control.
57
- */
58
- properties: Props;
59
- }
package/src/index.ts DELETED
@@ -1,40 +0,0 @@
1
- /* eslint-env browser */
2
- import {registerPlugin} from '@webex/webex-core';
3
-
4
- import Meetings from './meetings';
5
- import config from './config';
6
-
7
- registerPlugin('meetings', Meetings, {
8
- config,
9
- });
10
-
11
- export {
12
- getDevices,
13
- LocalStream,
14
- LocalDisplayStream,
15
- LocalSystemAudioStream,
16
- LocalStreamEventNames,
17
- StreamEventNames,
18
- type ServerMuteReason,
19
- LocalMicrophoneStreamEventNames,
20
- LocalCameraStreamEventNames,
21
- LocalMicrophoneStream,
22
- LocalCameraStream,
23
- createMicrophoneStream,
24
- createCameraStream,
25
- createDisplayStream,
26
- createDisplayStreamWithAudio,
27
- FacingMode,
28
- DisplaySurface,
29
- PresetCameraConstraints,
30
- type VideoContentHint,
31
- } from '@webex/media-helpers';
32
-
33
- export default Meetings;
34
-
35
- export * as CONSTANTS from './constants';
36
- export * as REACTIONS from './reactions/reactions';
37
-
38
- export {RemoteMedia} from './multistream/remoteMedia';
39
-
40
- export {default as TriggerProxy} from './common/events/trigger-proxy';
@@ -1,60 +0,0 @@
1
- # Simultaneous Interpretation
2
-
3
- Simultaneous Interpretation (SI) feature provides support for interpretation of in-meeting audio. The host will specify the target languages at schedule time and assign language pairs to the desired interpreters. Each interpreter will use their client to indicate the language spoken at any point in time. For example, Alice might be translating between English and French. When an English speaker is talking in the meeting, Alice will use her client to indicate she is speaking French. When a French speaker is talking, Alice will indicate that she is speaking English. The host’s client will display the status of each interpreter including the current interpretation direction.
4
-
5
- ### Structure
6
- SI languages are available in the siLanguages collection. List the languages which current meeting support to do simultaneous interpretation. Can subscribe the language's voice channel which you want to listen from the list.
7
-
8
- ```javascript
9
- interpretation.siLanguages;
10
- ```
11
- ### Attendee functionality
12
- ```javascript
13
- //subscribe this si language's voice channel
14
- siLanguage.subscribe();
15
-
16
- //unsubscribe this si language's voice channel
17
- siLanguage.unsubscribe();
18
- ```
19
- ### Host functionality
20
- The following are methods available to the host of a meeting.
21
-
22
- ```javascript
23
- //get the support list of interpretation languages. only host is allowed to call it
24
- interpretation.getSupportLanguages();
25
-
26
- //get the interpreters list of the meeting
27
- interpretation.getInterpreters();
28
-
29
- //update the interpreters list, input parameter is an array of interpreters
30
- interpretation.updateInterpreters([{
31
- sourceLanguage : 'fr-FR',
32
- targetLanguage : 'zh-ZH',
33
- usingResource : {
34
- id : 'a96747e2-1fc6-41d3-9ac7-512dd9478b6e'
35
- },
36
- order : 0
37
- },]);
38
- ```
39
-
40
- ### Interpreter functionality
41
-
42
- The following are methods available to the interpreters of a meeting.
43
-
44
- ```javascript
45
- //Change direction of interpretation for an interpreter participant
46
- interpretation.changeDirection();
47
-
48
- //Handoff between interpreters, input paramerter participantId is the target to handoff
49
- interpretation.handoffInterpreter(participantId);
50
-
51
- //in-active interpreter request to handoff to self
52
- interpretation.requestHandoff();
53
-
54
- //accept the request of handoff, input paramter url is from last approval event which generate by server side
55
- interpretation.acceptRequest(url);
56
-
57
- //decline the request of handoff, input paramter url is from last approval event which generate by server side
58
- interpretation.declineRequest(url);
59
-
60
- ```
@@ -1,19 +0,0 @@
1
- /*!
2
- * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.
3
- */
4
-
5
- import AmpCollection from 'ampersand-collection';
6
-
7
- import {MEETINGS} from '../constants';
8
-
9
- import SILanguage from './siLanguage';
10
-
11
- const SILanguageCollection = AmpCollection.extend({
12
- model: SILanguage,
13
-
14
- namespace: MEETINGS,
15
-
16
- mainIndex: 'languageName',
17
- });
18
-
19
- export default SILanguageCollection;
@@ -1,332 +0,0 @@
1
- /*!
2
- * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.
3
- */
4
- import {WebexPlugin} from '@webex/webex-core';
5
- import LoggerProxy from '../common/logs/logger-proxy';
6
- import {HTTP_VERBS, INTERPRETATION, MEETINGS} from '../constants';
7
-
8
- import SILanguageCollection from './collection';
9
-
10
- /**
11
- * @class SimultaneousInterpretation
12
- */
13
- const SimultaneousInterpretation = WebexPlugin.extend({
14
- namespace: MEETINGS,
15
- collections: {
16
- siLanguages: SILanguageCollection,
17
- },
18
-
19
- props: {
20
- locusUrl: 'string', // appears current meeting's locus url
21
- approvalUrl: 'string', // appears current meeting's approval url for handoff between interpreters
22
- originalLanguage: 'string', // appears current meeting's original language
23
- sourceLanguage: 'string', // appears self interpreter's source language
24
- targetLanguage: 'string', // appears self interpreter's target language
25
- receiveLanguage: 'string', // appears self's receive language
26
- order: 'number', // appears the order of self as interpreter
27
- isActive: 'boolean', // appears self is interpreter and is active
28
- selfParticipantId: 'string', // appears the self participant id
29
- canManageInterpreters: 'boolean', // appears the ability to manage interpreters
30
- supportLanguages: 'array', // appears the support languages
31
- meetingSIEnabled: 'boolean', // appears the meeting support SI feature
32
- hostSIEnabled: 'boolean', // appears the meeting host/interpreter feature of SI enabled
33
- selfIsInterpreter: 'boolean', // current user is interpreter or not
34
- },
35
- derived: {
36
- shouldQuerySupportLanguages: {
37
- cache: false,
38
- deps: ['canManageInterpreters', 'hostSIEnabled'],
39
- /**
40
- * Returns should query support languages or not
41
- * @returns {boolean}
42
- */
43
- fn() {
44
- return !!(this.canManageInterpreters && this.hostSIEnabled);
45
- },
46
- },
47
- },
48
- /**
49
- * initialize for interpretation
50
- * @returns {void}
51
- */
52
- initialize() {
53
- this.listenTo(this, 'change:shouldQuerySupportLanguages', () => {
54
- if (this.canManageInterpreters && !this.supportLanguages) {
55
- this.querySupportLanguages();
56
- }
57
- });
58
- this.listenToHandoffRequests();
59
- },
60
-
61
- /**
62
- * Calls this to clean up listeners
63
- * @returns {void}
64
- */
65
- cleanUp() {
66
- this.stopListening();
67
- },
68
- /**
69
- * Update the current locus url of the meeting
70
- * @param {string} locusUrl // locus url
71
- * @returns {void}
72
- */
73
- locusUrlUpdate(locusUrl) {
74
- this.set('locusUrl', locusUrl);
75
- },
76
- /**
77
- * Update the approval url for handoff
78
- * @param {string} approvalUrl // approval url
79
- * @returns {void}
80
- */
81
- approvalUrlUpdate(approvalUrl) {
82
- this.set('approvalUrl', approvalUrl);
83
- },
84
- /**
85
- * Update whether self has capability to manage interpreters (only host can manage it)
86
- * @param {boolean} canManageInterpreters
87
- * @returns {void}
88
- */
89
- updateCanManageInterpreters(canManageInterpreters) {
90
- this.set('canManageInterpreters', canManageInterpreters);
91
- },
92
- /**
93
- * Update whether the meeting's host si is enabled or not
94
- * @param {boolean} hostSIEnabled
95
- * @returns {void}
96
- */
97
- updateHostSIEnabled(hostSIEnabled) {
98
- this.set('hostSIEnabled', hostSIEnabled);
99
- },
100
-
101
- /**
102
- * Update whether the meeting support SI feature or not from meeting info
103
- * @param {boolean} meetingSIEnabled
104
- * @param {boolean} selfIsInterpreter
105
- * @returns {void}
106
- */
107
- updateMeetingSIEnabled(meetingSIEnabled: boolean, selfIsInterpreter): void {
108
- this.set('meetingSIEnabled', meetingSIEnabled);
109
- this.set('selfIsInterpreter', selfIsInterpreter);
110
- },
111
-
112
- /**
113
- * Update the interpretation languages channels which user can choose to subscribe
114
- * @param {Object} interpretation
115
- * @returns {void}
116
- */
117
- updateInterpretation(interpretation) {
118
- this.siLanguages.set(interpretation?.siLanguages || []);
119
- },
120
- /**
121
- * Update self's interpretation information (self is interpreter)
122
- * @param {Object} interpretation
123
- * @param {String} selfParticipantId
124
- * @returns {void}
125
- */
126
- updateSelfInterpretation({interpretation, selfParticipantId}) {
127
- const {originalLanguage, sourceLanguage, order, isActive, targetLanguage, receiveLanguage} =
128
- interpretation || {};
129
- this.set({originalLanguage, sourceLanguage, order, isActive, targetLanguage, receiveLanguage});
130
- this.set('selfParticipantId', selfParticipantId);
131
- },
132
- /**
133
- * query interpretation languages
134
- * @returns {Promise}
135
- */
136
- querySupportLanguages() {
137
- return this.request({
138
- method: HTTP_VERBS.GET,
139
- uri: `${this.locusUrl}/languages/interpretation`,
140
- })
141
- .then((result) => {
142
- this.set('supportLanguages', result.body?.siLanguages);
143
- this.trigger(INTERPRETATION.EVENTS.SUPPORT_LANGUAGES_UPDATE);
144
- })
145
- .catch((error) => {
146
- LoggerProxy.logger.error('Meeting:interpretation#querySupportLanguages failed', error);
147
- throw error;
148
- });
149
- },
150
- /**
151
- * get interpreters of the meeting
152
- * @returns {Promise}
153
- */
154
- getInterpreters() {
155
- return this.request({
156
- method: HTTP_VERBS.GET,
157
- uri: `${this.locusUrl}/interpretation/interpreters`,
158
- }).catch((error) => {
159
- LoggerProxy.logger.error('Meeting:interpretation#getInterpreters failed', error);
160
- throw error;
161
- });
162
- },
163
- /**
164
- * update interpreters of the meeting
165
- * @param {Array} interpreters
166
- * @returns {Promise}
167
- */
168
- updateInterpreters(interpreters) {
169
- return this.request({
170
- method: HTTP_VERBS.PATCH,
171
- uri: `${this.locusUrl}/controls`,
172
- body: {
173
- interpretation: {
174
- interpreters,
175
- },
176
- },
177
- }).catch((error) => {
178
- LoggerProxy.logger.error('Meeting:interpretation#updateInterpreters failed', error);
179
- throw error;
180
- });
181
- },
182
- /**
183
- * Change direction of interpretation for an interpreter participant
184
- * @returns {Promise}
185
- */
186
- changeDirection() {
187
- if (!this.sourceLanguage || !this.targetLanguage) {
188
- return Promise.reject(new Error('Missing sourceLanguage or targetLanguage'));
189
- }
190
-
191
- if (!this.selfParticipantId) {
192
- return Promise.reject(new Error('Missing self participant id'));
193
- }
194
-
195
- return this.request({
196
- method: HTTP_VERBS.PATCH,
197
- uri: `${this.locusUrl}/participant/${this.selfParticipantId}/controls`,
198
- body: {
199
- interpretation: {
200
- sourceLanguage: this.targetLanguage,
201
- targetLanguage: this.sourceLanguage,
202
- isActive: this.isActive,
203
- order: this.order,
204
- },
205
- },
206
- }).catch((error) => {
207
- LoggerProxy.logger.error('Meeting:interpretation#changeDirection failed', error);
208
- throw error;
209
- });
210
- },
211
- /**
212
- * Sets up a listener for handoff requests from mercury
213
- * @returns {void}
214
- */
215
- listenToHandoffRequests() {
216
- this.listenTo(this.webex.internal.mercury, 'event:locus.approval_request', (event) => {
217
- if (event?.data?.approval?.resourceType === INTERPRETATION.RESOURCE_TYPE) {
218
- const {receivers, initiator, actionType, url} = event.data.approval;
219
- const receiverId = receivers?.[0]?.participantId;
220
- const isReceiver = !!receiverId && receiverId === this.selfParticipantId;
221
- const senderId = initiator?.participantId;
222
- const isSender = !!senderId && senderId === this.selfParticipantId;
223
- if (!isReceiver && !isSender) {
224
- return;
225
- }
226
- this.trigger(INTERPRETATION.EVENTS.HANDOFF_REQUESTS_ARRIVED, {
227
- actionType,
228
- isReceiver,
229
- isSender,
230
- senderId,
231
- receiverId,
232
- url,
233
- });
234
- }
235
- });
236
- },
237
- /**
238
- * handoff the active interpreter role to another interpreter in same group, only the interpreter is allowed to call this api
239
- * @param {string} participantId the participant id you want to hand off
240
- * @returns {Promise}
241
- */
242
- handoffInterpreter(participantId) {
243
- if (!participantId) {
244
- return Promise.reject(new Error('Missing target participant id'));
245
- }
246
- if (!this.approvalUrl) {
247
- return Promise.reject(new Error('Missing approval url'));
248
- }
249
-
250
- return this.request({
251
- method: HTTP_VERBS.POST,
252
- uri: this.approvalUrl,
253
- body: {
254
- actionType: INTERPRETATION.ACTION_TYPE.OFFERED,
255
- resourceType: INTERPRETATION.RESOURCE_TYPE,
256
- receivers: [
257
- {
258
- participantId,
259
- },
260
- ],
261
- },
262
- }).catch((error) => {
263
- LoggerProxy.logger.error('Meeting:interpretation#handoffInterpreter failed', error);
264
- throw error;
265
- });
266
- },
267
- /**
268
- * the in-active interpreter request to hand off the active role to self
269
- * @returns {Promise}
270
- */
271
- requestHandoff() {
272
- if (!this.approvalUrl) {
273
- return Promise.reject(new Error('Missing approval url'));
274
- }
275
-
276
- return this.request({
277
- method: HTTP_VERBS.POST,
278
- uri: this.approvalUrl,
279
- body: {
280
- actionType: INTERPRETATION.ACTION_TYPE.REQUESTED,
281
- resourceType: INTERPRETATION.RESOURCE_TYPE,
282
- },
283
- }).catch((error) => {
284
- LoggerProxy.logger.error('Meeting:interpretation#requestHandoff failed', error);
285
- throw error;
286
- });
287
- },
288
- /**
289
- * accept the request of handoff
290
- * @param {String} url the url get from last approval event
291
- * @returns {Promise}
292
- */
293
- acceptRequest(url) {
294
- if (!url) {
295
- return Promise.reject(new Error('Missing the url to accept'));
296
- }
297
-
298
- return this.request({
299
- method: HTTP_VERBS.PUT,
300
- uri: url,
301
- body: {
302
- actionType: INTERPRETATION.ACTION_TYPE.ACCEPTED,
303
- },
304
- }).catch((error) => {
305
- LoggerProxy.logger.error('Meeting:interpretation#acceptRequest failed', error);
306
- throw error;
307
- });
308
- },
309
- /**
310
- * decline the request of handoff
311
- * @param {String} url the url get from last approval event
312
- * @returns {Promise}
313
- */
314
- declineRequest(url) {
315
- if (!url) {
316
- return Promise.reject(new Error('Missing the url to decline'));
317
- }
318
-
319
- return this.request({
320
- method: HTTP_VERBS.PUT,
321
- uri: url,
322
- body: {
323
- actionType: INTERPRETATION.ACTION_TYPE.DECLINED,
324
- },
325
- }).catch((error) => {
326
- LoggerProxy.logger.error('Meeting:interpretation#declineRequest failed', error);
327
- throw error;
328
- });
329
- },
330
- });
331
-
332
- export default SimultaneousInterpretation;
@@ -1,18 +0,0 @@
1
- /*!
2
- * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.
3
- */
4
-
5
- import {WebexPlugin} from '@webex/webex-core';
6
- import {MEETINGS} from '../constants';
7
-
8
- const SILanguage = WebexPlugin.extend({
9
- idAttribute: 'languageName',
10
-
11
- namespace: MEETINGS,
12
- props: {
13
- languageCode: 'number',
14
- languageName: 'string',
15
- },
16
- });
17
-
18
- export default SILanguage;