@webex/plugin-meetings 3.0.0-beta.21 → 3.0.0-beta.211
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.
- package/README.md +45 -7
- package/dist/annotation/annotation.types.js +7 -0
- package/dist/annotation/annotation.types.js.map +1 -0
- package/dist/annotation/constants.js +49 -0
- package/dist/annotation/constants.js.map +1 -0
- package/dist/annotation/index.js +342 -0
- package/dist/annotation/index.js.map +1 -0
- package/dist/breakouts/breakout.js +114 -14
- package/dist/breakouts/breakout.js.map +1 -1
- package/dist/breakouts/edit-lock-error.js +52 -0
- package/dist/breakouts/edit-lock-error.js.map +1 -0
- package/dist/breakouts/events.js +45 -0
- package/dist/breakouts/events.js.map +1 -0
- package/dist/breakouts/index.js +841 -19
- package/dist/breakouts/index.js.map +1 -1
- package/dist/breakouts/request.js +78 -0
- package/dist/breakouts/request.js.map +1 -0
- package/dist/breakouts/utils.js +67 -0
- package/dist/breakouts/utils.js.map +1 -0
- package/dist/common/errors/webex-errors.js +3 -2
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/common/logs/logger-proxy.js +1 -1
- package/dist/common/logs/logger-proxy.js.map +1 -1
- package/dist/common/queue.js +24 -9
- package/dist/common/queue.js.map +1 -1
- package/dist/config.js +3 -8
- package/dist/config.js.map +1 -1
- package/dist/constants.js +179 -30
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/constants.js +14 -0
- package/dist/controls-options-manager/constants.js.map +1 -0
- package/dist/controls-options-manager/enums.js +27 -0
- package/dist/controls-options-manager/enums.js.map +1 -0
- package/dist/controls-options-manager/index.js +297 -0
- package/dist/controls-options-manager/index.js.map +1 -0
- package/dist/controls-options-manager/types.js +7 -0
- package/dist/controls-options-manager/types.js.map +1 -0
- package/dist/controls-options-manager/util.js +319 -0
- package/dist/controls-options-manager/util.js.map +1 -0
- package/dist/index.js +106 -1
- package/dist/index.js.map +1 -1
- package/dist/interpretation/collection.js +23 -0
- package/dist/interpretation/collection.js.map +1 -0
- package/dist/interpretation/index.js +366 -0
- package/dist/interpretation/index.js.map +1 -0
- package/dist/interpretation/siLanguage.js +25 -0
- package/dist/interpretation/siLanguage.js.map +1 -0
- package/dist/locus-info/controlsUtils.js +91 -2
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/index.js +359 -64
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.js +7 -1
- package/dist/locus-info/infoUtils.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js +43 -1
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.js +219 -63
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.js +89 -14
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.js +48 -135
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +29 -90
- package/dist/media/properties.js.map +1 -1
- package/dist/mediaQualityMetrics/config.js +505 -493
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +90 -2
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +2770 -2547
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.js +291 -0
- package/dist/meeting/locusMediaRequest.js.map +1 -0
- package/dist/meeting/muteState.js +229 -124
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +199 -193
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/util.js +532 -414
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/index.js +48 -7
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +171 -51
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/utilv2.js +20 -5
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.js +22 -0
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.js +357 -66
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/meetings.types.js +7 -0
- package/dist/meetings/meetings.types.js.map +1 -0
- package/dist/meetings/request.js +2 -0
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.js +88 -1
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +49 -0
- package/dist/member/index.js.map +1 -1
- package/dist/member/types.js +25 -0
- package/dist/member/types.js.map +1 -0
- package/dist/member/util.js +121 -25
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.js +10 -0
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.js +86 -5
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +106 -38
- package/dist/members/request.js.map +1 -1
- package/dist/members/types.js +15 -0
- package/dist/members/types.js.map +1 -0
- package/dist/members/util.js +316 -233
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.js +3 -5
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.js +1 -468
- package/dist/metrics/index.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +238 -49
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/receiveSlot.js +49 -16
- package/dist/multistream/receiveSlot.js.map +1 -1
- package/dist/multistream/receiveSlotManager.js +52 -34
- package/dist/multistream/receiveSlotManager.js.map +1 -1
- package/dist/multistream/remoteMedia.js +44 -18
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.js +60 -3
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +173 -59
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/networkQualityMonitor/index.js +4 -2
- package/dist/networkQualityMonitor/index.js.map +1 -1
- package/dist/reachability/index.js +72 -27
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js +12 -5
- package/dist/reachability/request.js.map +1 -1
- package/dist/reconnection-manager/index.js +196 -155
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/index.js +21 -2
- package/dist/recording-controller/index.js.map +1 -1
- package/dist/recording-controller/util.js +9 -8
- package/dist/recording-controller/util.js.map +1 -1
- package/dist/roap/index.js +21 -29
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +110 -89
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +93 -36
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/rtcMetrics/constants.js +12 -0
- package/dist/rtcMetrics/constants.js.map +1 -0
- package/dist/rtcMetrics/index.js +117 -0
- package/dist/rtcMetrics/index.js.map +1 -0
- package/dist/statsAnalyzer/global.js +1 -93
- package/dist/statsAnalyzer/global.js.map +1 -1
- package/dist/statsAnalyzer/index.js +326 -311
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +90 -53
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/types/annotation/annotation.types.d.ts +42 -0
- package/dist/types/annotation/constants.d.ts +31 -0
- package/dist/types/annotation/index.d.ts +117 -0
- package/dist/types/breakouts/breakout.d.ts +8 -0
- package/dist/types/breakouts/collection.d.ts +5 -0
- package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
- package/dist/types/breakouts/events.d.ts +8 -0
- package/dist/types/breakouts/index.d.ts +5 -0
- package/dist/types/breakouts/request.d.ts +22 -0
- package/dist/types/breakouts/utils.d.ts +15 -0
- package/dist/types/common/browser-detection.d.ts +9 -0
- package/dist/types/common/collection.d.ts +48 -0
- package/dist/types/common/config.d.ts +2 -0
- package/dist/types/common/errors/captcha-error.d.ts +15 -0
- package/dist/types/common/errors/intent-to-join.d.ts +16 -0
- package/dist/types/common/errors/join-meeting.d.ts +17 -0
- package/dist/types/common/errors/media.d.ts +15 -0
- package/dist/types/common/errors/parameter.d.ts +15 -0
- package/dist/types/common/errors/password-error.d.ts +15 -0
- package/dist/types/common/errors/permission.d.ts +14 -0
- package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
- package/dist/types/common/errors/reconnection.d.ts +15 -0
- package/dist/types/common/errors/stats.d.ts +15 -0
- package/dist/types/common/errors/webex-errors.d.ts +69 -0
- package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
- package/dist/types/common/events/events-scope.d.ts +17 -0
- package/dist/types/common/events/events.d.ts +12 -0
- package/dist/types/common/events/trigger-proxy.d.ts +2 -0
- package/dist/types/common/events/util.d.ts +2 -0
- package/dist/types/common/logs/logger-config.d.ts +2 -0
- package/dist/types/common/logs/logger-proxy.d.ts +2 -0
- package/dist/types/common/logs/request.d.ts +34 -0
- package/dist/types/common/queue.d.ts +34 -0
- package/dist/types/config.d.ts +72 -0
- package/dist/types/constants.d.ts +1020 -0
- package/dist/types/controls-options-manager/constants.d.ts +4 -0
- package/dist/types/controls-options-manager/enums.d.ts +15 -0
- package/dist/types/controls-options-manager/index.d.ts +136 -0
- package/dist/types/controls-options-manager/types.d.ts +43 -0
- package/dist/types/controls-options-manager/util.d.ts +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/interpretation/collection.d.ts +5 -0
- package/dist/types/interpretation/index.d.ts +5 -0
- package/dist/types/interpretation/siLanguage.d.ts +5 -0
- package/dist/types/locus-info/controlsUtils.d.ts +2 -0
- package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
- package/dist/types/locus-info/fullState.d.ts +2 -0
- package/dist/types/locus-info/hostUtils.d.ts +2 -0
- package/dist/types/locus-info/index.d.ts +322 -0
- package/dist/types/locus-info/infoUtils.d.ts +2 -0
- package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
- package/dist/types/locus-info/parser.d.ts +271 -0
- package/dist/types/locus-info/selfUtils.d.ts +2 -0
- package/dist/types/media/index.d.ts +34 -0
- package/dist/types/media/properties.d.ts +93 -0
- package/dist/types/media/util.d.ts +2 -0
- package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
- package/dist/types/meeting/in-meeting-actions.d.ts +163 -0
- package/dist/types/meeting/index.d.ts +1482 -0
- package/dist/types/meeting/locusMediaRequest.d.ts +72 -0
- package/dist/types/meeting/muteState.d.ts +184 -0
- package/dist/types/meeting/request.d.ts +257 -0
- package/dist/types/meeting/request.type.d.ts +11 -0
- package/dist/types/meeting/state.d.ts +9 -0
- package/dist/types/meeting/util.d.ts +79 -0
- package/dist/types/meeting-info/collection.d.ts +20 -0
- package/dist/types/meeting-info/index.d.ts +62 -0
- package/dist/types/meeting-info/meeting-info-v2.d.ts +122 -0
- package/dist/types/meeting-info/request.d.ts +22 -0
- package/dist/types/meeting-info/util.d.ts +2 -0
- package/dist/types/meeting-info/utilv2.d.ts +2 -0
- package/dist/types/meetings/collection.d.ts +31 -0
- package/dist/types/meetings/index.d.ts +367 -0
- package/dist/types/meetings/meetings.types.d.ts +4 -0
- package/dist/types/meetings/request.d.ts +27 -0
- package/dist/types/meetings/util.d.ts +18 -0
- package/dist/types/member/index.d.ts +159 -0
- package/dist/types/member/types.d.ts +32 -0
- package/dist/types/member/util.d.ts +2 -0
- package/dist/types/members/collection.d.ts +29 -0
- package/dist/types/members/index.d.ts +353 -0
- package/dist/types/members/request.d.ts +114 -0
- package/dist/types/members/types.d.ts +24 -0
- package/dist/types/members/util.d.ts +210 -0
- package/dist/types/metrics/constants.d.ts +55 -0
- package/dist/types/metrics/index.d.ts +45 -0
- package/dist/types/multistream/mediaRequestManager.d.ts +118 -0
- package/dist/types/multistream/receiveSlot.d.ts +68 -0
- package/dist/types/multistream/receiveSlotManager.d.ts +56 -0
- package/dist/types/multistream/remoteMedia.d.ts +72 -0
- package/dist/types/multistream/remoteMediaGroup.d.ts +47 -0
- package/dist/types/multistream/remoteMediaManager.d.ts +277 -0
- package/dist/types/networkQualityMonitor/index.d.ts +70 -0
- package/dist/types/personal-meeting-room/index.d.ts +47 -0
- package/dist/types/personal-meeting-room/request.d.ts +14 -0
- package/dist/types/personal-meeting-room/util.d.ts +2 -0
- package/dist/types/reachability/index.d.ts +152 -0
- package/dist/types/reachability/request.d.ts +37 -0
- package/dist/types/reactions/constants.d.ts +3 -0
- package/dist/types/reactions/reactions.d.ts +4 -0
- package/dist/types/reactions/reactions.type.d.ts +52 -0
- package/dist/types/reconnection-manager/index.d.ts +126 -0
- package/dist/types/recording-controller/enums.d.ts +7 -0
- package/dist/types/recording-controller/index.d.ts +207 -0
- package/dist/types/recording-controller/util.d.ts +14 -0
- package/dist/types/roap/index.d.ts +77 -0
- package/dist/types/roap/request.d.ts +36 -0
- package/dist/types/roap/turnDiscovery.d.ts +91 -0
- package/dist/types/rtcMetrics/constants.d.ts +4 -0
- package/dist/types/rtcMetrics/index.d.ts +46 -0
- package/dist/types/statsAnalyzer/global.d.ts +36 -0
- package/dist/types/statsAnalyzer/index.d.ts +200 -0
- package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
- package/dist/types/transcription/index.d.ts +64 -0
- package/package.json +23 -20
- package/src/annotation/annotation.types.ts +50 -0
- package/src/annotation/constants.ts +36 -0
- package/src/annotation/index.ts +328 -0
- package/src/breakouts/README.md +44 -14
- package/src/breakouts/breakout.ts +87 -9
- package/src/breakouts/edit-lock-error.ts +25 -0
- package/src/breakouts/events.ts +56 -0
- package/src/breakouts/index.ts +710 -10
- package/src/breakouts/request.ts +55 -0
- package/src/breakouts/utils.ts +57 -0
- package/src/common/errors/webex-errors.ts +6 -2
- package/src/common/logs/logger-proxy.ts +1 -1
- package/src/common/queue.ts +22 -8
- package/src/config.ts +2 -7
- package/src/constants.ts +165 -21
- package/src/controls-options-manager/constants.ts +5 -0
- package/src/controls-options-manager/enums.ts +18 -0
- package/src/controls-options-manager/index.ts +278 -0
- package/src/controls-options-manager/types.ts +59 -0
- package/src/controls-options-manager/util.ts +300 -0
- package/src/index.ts +39 -0
- package/src/interpretation/README.md +60 -0
- package/src/interpretation/collection.ts +19 -0
- package/src/interpretation/index.ts +332 -0
- package/src/interpretation/siLanguage.ts +18 -0
- package/src/locus-info/controlsUtils.ts +108 -0
- package/src/locus-info/index.ts +383 -61
- package/src/locus-info/infoUtils.ts +10 -2
- package/src/locus-info/mediaSharesUtils.ts +48 -0
- package/src/locus-info/parser.ts +224 -39
- package/src/locus-info/selfUtils.ts +81 -5
- package/src/media/index.ts +87 -140
- package/src/media/properties.ts +49 -90
- package/src/mediaQualityMetrics/config.ts +379 -377
- package/src/meeting/in-meeting-actions.ts +179 -3
- package/src/meeting/index.ts +2099 -2083
- package/src/meeting/locusMediaRequest.ts +311 -0
- package/src/meeting/muteState.ts +228 -132
- package/src/meeting/request.ts +105 -115
- package/src/meeting/util.ts +511 -397
- package/src/meeting-info/index.ts +54 -8
- package/src/meeting-info/meeting-info-v2.ts +148 -14
- package/src/meeting-info/utilv2.ts +13 -3
- package/src/meetings/collection.ts +20 -0
- package/src/meetings/index.ts +392 -84
- package/src/meetings/meetings.types.ts +12 -0
- package/src/meetings/request.ts +2 -0
- package/src/meetings/util.ts +103 -4
- package/src/member/index.ts +49 -0
- package/src/member/types.ts +38 -0
- package/src/member/util.ts +127 -25
- package/src/members/collection.ts +8 -0
- package/src/members/index.ts +107 -6
- package/src/members/request.ts +97 -17
- package/src/members/types.ts +28 -0
- package/src/members/util.ts +319 -240
- package/src/metrics/constants.ts +2 -4
- package/src/metrics/index.ts +1 -490
- package/src/multistream/mediaRequestManager.ts +289 -79
- package/src/multistream/receiveSlot.ts +55 -18
- package/src/multistream/receiveSlotManager.ts +46 -24
- package/src/multistream/remoteMedia.ts +27 -2
- package/src/multistream/remoteMediaGroup.ts +59 -0
- package/src/multistream/remoteMediaManager.ts +113 -32
- package/src/networkQualityMonitor/index.ts +6 -6
- package/src/reachability/index.ts +62 -15
- package/src/reachability/request.ts +10 -5
- package/src/reconnection-manager/index.ts +68 -43
- package/src/recording-controller/index.ts +20 -3
- package/src/recording-controller/util.ts +26 -9
- package/src/roap/index.ts +21 -30
- package/src/roap/request.ts +101 -95
- package/src/roap/turnDiscovery.ts +47 -25
- package/src/rtcMetrics/constants.ts +3 -0
- package/src/rtcMetrics/index.ts +100 -0
- package/src/statsAnalyzer/global.ts +1 -94
- package/src/statsAnalyzer/index.ts +376 -386
- package/src/statsAnalyzer/mqaUtil.ts +100 -99
- package/test/integration/spec/converged-space-meetings.js +233 -0
- package/test/integration/spec/journey.js +336 -259
- package/test/integration/spec/space-meeting.js +77 -4
- package/test/unit/spec/annotation/index.ts +418 -0
- package/test/unit/spec/breakouts/breakout.ts +142 -24
- package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
- package/test/unit/spec/breakouts/events.ts +89 -0
- package/test/unit/spec/breakouts/index.ts +1545 -48
- package/test/unit/spec/breakouts/request.ts +104 -0
- package/test/unit/spec/breakouts/utils.js +72 -0
- package/test/unit/spec/common/queue.js +31 -2
- package/test/unit/spec/controls-options-manager/index.js +287 -0
- package/test/unit/spec/controls-options-manager/util.js +582 -0
- package/test/unit/spec/fixture/locus.js +1 -0
- package/test/unit/spec/interpretation/collection.ts +15 -0
- package/test/unit/spec/interpretation/index.ts +589 -0
- package/test/unit/spec/interpretation/siLanguage.ts +28 -0
- package/test/unit/spec/locus-info/controlsUtils.js +316 -43
- package/test/unit/spec/locus-info/index.js +1169 -36
- package/test/unit/spec/locus-info/infoUtils.js +37 -15
- package/test/unit/spec/locus-info/mediaSharesUtils.ts +22 -0
- package/test/unit/spec/locus-info/parser.js +62 -22
- package/test/unit/spec/locus-info/selfConstant.js +27 -4
- package/test/unit/spec/locus-info/selfUtils.js +208 -17
- package/test/unit/spec/media/index.ts +138 -28
- package/test/unit/spec/meeting/in-meeting-actions.ts +89 -3
- package/test/unit/spec/meeting/index.js +3573 -1663
- package/test/unit/spec/meeting/locusMediaRequest.ts +438 -0
- package/test/unit/spec/meeting/muteState.js +370 -208
- package/test/unit/spec/meeting/request.js +339 -44
- package/test/unit/spec/meeting/utils.js +456 -53
- package/test/unit/spec/meeting-info/index.js +181 -0
- package/test/unit/spec/meeting-info/meetinginfov2.js +383 -5
- package/test/unit/spec/meeting-info/utilv2.js +21 -0
- package/test/unit/spec/meetings/collection.js +14 -0
- package/test/unit/spec/meetings/index.js +867 -125
- package/test/unit/spec/meetings/utils.js +206 -2
- package/test/unit/spec/member/index.js +58 -4
- package/test/unit/spec/member/util.js +479 -35
- package/test/unit/spec/members/index.js +319 -1
- package/test/unit/spec/members/request.js +206 -27
- package/test/unit/spec/members/utils.js +184 -0
- package/test/unit/spec/metrics/index.js +1 -50
- package/test/unit/spec/multistream/mediaRequestManager.ts +803 -162
- package/test/unit/spec/multistream/receiveSlot.ts +72 -13
- package/test/unit/spec/multistream/receiveSlotManager.ts +58 -28
- package/test/unit/spec/multistream/remoteMedia.ts +30 -0
- package/test/unit/spec/multistream/remoteMediaGroup.ts +266 -0
- package/test/unit/spec/multistream/remoteMediaManager.ts +318 -0
- package/test/unit/spec/networkQualityMonitor/index.js +4 -4
- package/test/unit/spec/reachability/index.ts +125 -8
- package/test/unit/spec/reachability/request.js +66 -0
- package/test/unit/spec/reconnection-manager/index.js +59 -6
- package/test/unit/spec/recording-controller/index.js +294 -218
- package/test/unit/spec/recording-controller/util.js +223 -96
- package/test/unit/spec/roap/index.ts +26 -51
- package/test/unit/spec/roap/request.ts +196 -85
- package/test/unit/spec/roap/turnDiscovery.ts +30 -7
- package/test/unit/spec/rtcMetrics/index.ts +60 -0
- package/test/unit/spec/stats-analyzer/index.js +92 -41
- package/test/utils/constants.js +9 -0
- package/test/utils/integrationTestUtils.js +46 -0
- package/test/utils/testUtils.js +0 -45
- package/test/utils/webex-config.js +4 -0
- package/test/utils/webex-test-users.js +6 -3
- package/dist/meeting/effectsState.js +0 -262
- package/dist/meeting/effectsState.js.map +0 -1
- package/dist/metrics/config.js +0 -299
- package/dist/metrics/config.js.map +0 -1
- package/dist/multistream/multistreamMedia.js +0 -110
- package/dist/multistream/multistreamMedia.js.map +0 -1
- package/src/index.js +0 -16
- package/src/meeting/effectsState.ts +0 -211
- package/src/metrics/config.ts +0 -495
- package/src/multistream/multistreamMedia.ts +0 -97
- package/test/unit/spec/meeting/effectsState.js +0 -285
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { WebexPlugin } from '@webex/webex-core';
|
|
2
|
+
export type MediaRequestType = 'RoapMessage' | 'LocalMute';
|
|
3
|
+
export type RequestResult = any;
|
|
4
|
+
export type RoapRequest = {
|
|
5
|
+
type: 'RoapMessage';
|
|
6
|
+
selfUrl: string;
|
|
7
|
+
mediaId: string;
|
|
8
|
+
roapMessage: any;
|
|
9
|
+
reachability: any;
|
|
10
|
+
sequence?: any;
|
|
11
|
+
joinCookie: any;
|
|
12
|
+
};
|
|
13
|
+
export type LocalMuteRequest = {
|
|
14
|
+
type: 'LocalMute';
|
|
15
|
+
selfUrl: string;
|
|
16
|
+
mediaId: string;
|
|
17
|
+
sequence?: any;
|
|
18
|
+
muteOptions: {
|
|
19
|
+
audioMuted?: boolean;
|
|
20
|
+
videoMuted?: boolean;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
export type Request = RoapRequest | LocalMuteRequest;
|
|
24
|
+
export type Config = {
|
|
25
|
+
device: {
|
|
26
|
+
url: string;
|
|
27
|
+
deviceType: string;
|
|
28
|
+
countryCode?: string;
|
|
29
|
+
regionCode?: string;
|
|
30
|
+
};
|
|
31
|
+
correlationId: string;
|
|
32
|
+
preferTranscoding: boolean;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* This class manages all /media API requests to Locus. Every call to that
|
|
36
|
+
* Locus API has to go through this class.
|
|
37
|
+
*/
|
|
38
|
+
export declare class LocusMediaRequest extends WebexPlugin {
|
|
39
|
+
private config;
|
|
40
|
+
private latestAudioMuted?;
|
|
41
|
+
private latestVideoMuted?;
|
|
42
|
+
private isRequestInProgress;
|
|
43
|
+
private queuedRequests;
|
|
44
|
+
private confluenceState;
|
|
45
|
+
/**
|
|
46
|
+
* Constructor
|
|
47
|
+
*/
|
|
48
|
+
constructor(config: Config, options: any);
|
|
49
|
+
/**
|
|
50
|
+
* Add a request to the internal queue.
|
|
51
|
+
*/
|
|
52
|
+
private addToQueue;
|
|
53
|
+
/**
|
|
54
|
+
* Takes the next request from the queue and executes it. Once that
|
|
55
|
+
* request is completed, the next one will be taken from the queue
|
|
56
|
+
* and executed and this is repeated until the queue is empty.
|
|
57
|
+
*/
|
|
58
|
+
private executeNextQueuedRequest;
|
|
59
|
+
/**
|
|
60
|
+
* Returns latest requested audio and video mute values. If they have never been
|
|
61
|
+
* requested, we assume audio/video to be muted.
|
|
62
|
+
*/
|
|
63
|
+
private getLatestMuteState;
|
|
64
|
+
/**
|
|
65
|
+
* Prepares the uri and body for the media request to be sent to Locus
|
|
66
|
+
*/
|
|
67
|
+
private sendHttpRequest;
|
|
68
|
+
/**
|
|
69
|
+
* Sends a media request to Locus
|
|
70
|
+
*/
|
|
71
|
+
send(request: Request): Promise<RequestResult>;
|
|
72
|
+
}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { ServerMuteReason } from '@webex/media-helpers';
|
|
2
|
+
export declare const createMuteState: (type: any, meeting: any, enabled: boolean) => MuteState;
|
|
3
|
+
/** The purpose of this class is to manage the local and remote mute state and make sure that the server state always matches
|
|
4
|
+
the last requested state by the client.
|
|
5
|
+
|
|
6
|
+
More info about Locus muting API: https://sqbu-github.cisco.com/pages/WebExSquared/locus/guides/mute.html#
|
|
7
|
+
|
|
8
|
+
This class is exported only for unit tests. It should never be instantiated directly with new MuteState(), instead createMuteState() should be called
|
|
9
|
+
*/
|
|
10
|
+
export declare class MuteState {
|
|
11
|
+
state: {
|
|
12
|
+
client: {
|
|
13
|
+
enabled: boolean;
|
|
14
|
+
localMute: boolean;
|
|
15
|
+
};
|
|
16
|
+
server: {
|
|
17
|
+
localMute: boolean;
|
|
18
|
+
remoteMute: boolean;
|
|
19
|
+
unmuteAllowed: boolean;
|
|
20
|
+
};
|
|
21
|
+
syncToServerInProgress: boolean;
|
|
22
|
+
};
|
|
23
|
+
type: any;
|
|
24
|
+
ignoreMuteStateChange: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Constructor
|
|
27
|
+
*
|
|
28
|
+
* @param {String} type - audio or video
|
|
29
|
+
* @param {Object} meeting - the meeting object (used for reading current remote mute status)
|
|
30
|
+
* @param {boolean} enabled - whether the client audio/video is enabled at all
|
|
31
|
+
*/
|
|
32
|
+
constructor(type: string, meeting: any, enabled: boolean);
|
|
33
|
+
/**
|
|
34
|
+
* Starts the mute state machine. Needs to be called after a new MuteState instance is created.
|
|
35
|
+
*
|
|
36
|
+
* @param {Object} meeting - the meeting object
|
|
37
|
+
* @returns {void}
|
|
38
|
+
*/
|
|
39
|
+
init(meeting: any): void;
|
|
40
|
+
/**
|
|
41
|
+
* This method needs to be called whenever the local audio/video track has changed.
|
|
42
|
+
* It reapplies the remote mute state onto the new track and also reads the current
|
|
43
|
+
* local mute state from the track and updates the internal state machine and sends
|
|
44
|
+
* any required requests to the server.
|
|
45
|
+
*
|
|
46
|
+
* @param {Object} meeting - the meeting object
|
|
47
|
+
* @returns {void}
|
|
48
|
+
*/
|
|
49
|
+
handleLocalTrackChange(meeting: any): void;
|
|
50
|
+
/**
|
|
51
|
+
* Enables/disables audio/video
|
|
52
|
+
*
|
|
53
|
+
* @param {Object} meeting - the meeting object
|
|
54
|
+
* @param {boolean} enable
|
|
55
|
+
* @returns {void}
|
|
56
|
+
*/
|
|
57
|
+
enable(meeting: any, enable: boolean): void;
|
|
58
|
+
/**
|
|
59
|
+
* Mutes/unmutes local track
|
|
60
|
+
*
|
|
61
|
+
* @param {Object} meeting - the meeting object
|
|
62
|
+
* @param {Boolean} mute - true to mute the track, false to unmute it
|
|
63
|
+
* @param {ServerMuteReason} reason - reason for muting/unmuting
|
|
64
|
+
* @returns {void}
|
|
65
|
+
*/
|
|
66
|
+
private muteLocalTrack;
|
|
67
|
+
/**
|
|
68
|
+
* This method should be called when the local track mute state is changed
|
|
69
|
+
* @public
|
|
70
|
+
* @memberof MuteState
|
|
71
|
+
* @param {Object} [meeting] the meeting object
|
|
72
|
+
* @param {Boolean} [mute] true for muting, false for unmuting request
|
|
73
|
+
* @returns {void}
|
|
74
|
+
*/
|
|
75
|
+
handleLocalTrackMuteStateChange(meeting?: object, mute?: boolean): void;
|
|
76
|
+
/**
|
|
77
|
+
* Applies the current mute state to the local track (by enabling or disabling it accordingly)
|
|
78
|
+
*
|
|
79
|
+
* @public
|
|
80
|
+
* @param {Object} [meeting] the meeting object
|
|
81
|
+
* @param {ServerMuteReason} reason - reason why we're applying our client state to the local track
|
|
82
|
+
* @memberof MuteState
|
|
83
|
+
* @returns {void}
|
|
84
|
+
*/
|
|
85
|
+
applyClientStateLocally(meeting?: any, reason?: ServerMuteReason): void;
|
|
86
|
+
/** Returns true if client is locally muted - it takes into account not just the client local mute state,
|
|
87
|
+
* but also whether audio/video is enabled at all
|
|
88
|
+
*
|
|
89
|
+
* @returns {boolean}
|
|
90
|
+
*/
|
|
91
|
+
private getClientLocalMuteState;
|
|
92
|
+
/**
|
|
93
|
+
* Updates the server local and remote mute values so that they match the current client desired state.
|
|
94
|
+
*
|
|
95
|
+
* @private
|
|
96
|
+
* @param {Object} [meeting] the meeting object
|
|
97
|
+
* @memberof MuteState
|
|
98
|
+
* @returns {void}
|
|
99
|
+
*/
|
|
100
|
+
private applyClientStateToServer;
|
|
101
|
+
/**
|
|
102
|
+
* Sets the local mute value in the server
|
|
103
|
+
*
|
|
104
|
+
* @private
|
|
105
|
+
* @param {Object} [meeting] the meeting object
|
|
106
|
+
* @memberof MuteState
|
|
107
|
+
* @returns {Promise}
|
|
108
|
+
*/
|
|
109
|
+
private sendLocalMuteRequestToServer;
|
|
110
|
+
/**
|
|
111
|
+
* Sets the remote mute value in the server
|
|
112
|
+
*
|
|
113
|
+
* @private
|
|
114
|
+
* @param {Object} [meeting] the meeting object
|
|
115
|
+
* @memberof MuteState
|
|
116
|
+
* @returns {Promise}
|
|
117
|
+
*/
|
|
118
|
+
private sendRemoteMuteRequestToServer;
|
|
119
|
+
/** Sets the mute state of the local track according to what server thinks is our state
|
|
120
|
+
* @param {Object} meeting - the meeting object
|
|
121
|
+
* @param {ServerMuteReason} serverMuteReason - reason why we're applying server mute to the local track
|
|
122
|
+
* @returns {void}
|
|
123
|
+
*/
|
|
124
|
+
private applyServerMuteToLocalTrack;
|
|
125
|
+
/** Applies the current value for unmute allowed to the underlying track
|
|
126
|
+
*
|
|
127
|
+
* @param {Meeting} meeting
|
|
128
|
+
* @returns {void}
|
|
129
|
+
*/
|
|
130
|
+
private applyUnmuteAllowedToTrack;
|
|
131
|
+
/**
|
|
132
|
+
* This method should be called whenever the server remote mute state is changed
|
|
133
|
+
*
|
|
134
|
+
* @public
|
|
135
|
+
* @memberof MuteState
|
|
136
|
+
* @param {Meeting} meeting
|
|
137
|
+
* @param {Boolean} [muted] true if user is remotely muted, false otherwise
|
|
138
|
+
* @param {Boolean} [unmuteAllowed] indicates if user is allowed to unmute self (false when "hard mute" feature is used)
|
|
139
|
+
* @returns {undefined}
|
|
140
|
+
*/
|
|
141
|
+
handleServerRemoteMuteUpdate(meeting: any, muted?: boolean, unmuteAllowed?: boolean): void;
|
|
142
|
+
/**
|
|
143
|
+
* This method should be called whenever we receive from the server a requirement to locally unmute
|
|
144
|
+
*
|
|
145
|
+
* @public
|
|
146
|
+
* @memberof MuteState
|
|
147
|
+
* @param {Object} [meeting] the meeting object
|
|
148
|
+
* @returns {undefined}
|
|
149
|
+
*/
|
|
150
|
+
handleServerLocalUnmuteRequired(meeting?: object): void;
|
|
151
|
+
/**
|
|
152
|
+
* Returns true if the user is locally or remotely muted.
|
|
153
|
+
* It only checks the mute status, ignoring the fact whether audio/video is enabled.
|
|
154
|
+
*
|
|
155
|
+
* @public
|
|
156
|
+
* @memberof MuteState
|
|
157
|
+
* @returns {Boolean}
|
|
158
|
+
*/
|
|
159
|
+
isMuted(): boolean;
|
|
160
|
+
/**
|
|
161
|
+
* Returns true if the user is remotely muted
|
|
162
|
+
*
|
|
163
|
+
* @public
|
|
164
|
+
* @memberof MuteState
|
|
165
|
+
* @returns {Boolean}
|
|
166
|
+
*/
|
|
167
|
+
isRemotelyMuted(): boolean;
|
|
168
|
+
/**
|
|
169
|
+
* Returns true if unmute is allowed
|
|
170
|
+
*
|
|
171
|
+
* @public
|
|
172
|
+
* @memberof MuteState
|
|
173
|
+
* @returns {Boolean}
|
|
174
|
+
*/
|
|
175
|
+
isUnmuteAllowed(): boolean;
|
|
176
|
+
/**
|
|
177
|
+
* Returns true if the user is locally muted or audio/video is disabled
|
|
178
|
+
*
|
|
179
|
+
* @public
|
|
180
|
+
* @memberof MuteState
|
|
181
|
+
* @returns {Boolean}
|
|
182
|
+
*/
|
|
183
|
+
isLocallyMuted(): boolean;
|
|
184
|
+
}
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
import { StatelessWebexPlugin } from '@webex/webex-core';
|
|
2
|
+
import { SendReactionOptions, ToggleReactionsOptions } from './request.type';
|
|
3
|
+
import { AnnotationInfo } from '../annotation/annotation.types';
|
|
4
|
+
/**
|
|
5
|
+
* @class MeetingRequest
|
|
6
|
+
*/
|
|
7
|
+
export default class MeetingRequest extends StatelessWebexPlugin {
|
|
8
|
+
changeVideoLayoutDebounced: any;
|
|
9
|
+
meetingRef: WeakRef<any>;
|
|
10
|
+
locusDeltaRequest: (options: object) => Promise<any>;
|
|
11
|
+
/**
|
|
12
|
+
* Constructor
|
|
13
|
+
* @param {Object} attrs
|
|
14
|
+
* @param {Object} options
|
|
15
|
+
*/
|
|
16
|
+
constructor(attrs: any, options: any);
|
|
17
|
+
/**
|
|
18
|
+
* Returns joinCookie from boundedStorage if present.
|
|
19
|
+
* @returns {Object} joinCookie
|
|
20
|
+
*/
|
|
21
|
+
private getJoinCookie;
|
|
22
|
+
/**
|
|
23
|
+
* Make a network request to join a meeting
|
|
24
|
+
* @param {Object} options
|
|
25
|
+
* @param {String} options.sipUri
|
|
26
|
+
* @param {String} options.deviceUrl
|
|
27
|
+
* @param {String} options.locusUrl
|
|
28
|
+
* @param {String} options.resourceId,
|
|
29
|
+
* @param {String} options.correlationId
|
|
30
|
+
* @param {boolean} options.ensureConversation
|
|
31
|
+
* @param {boolean} options.moderator
|
|
32
|
+
* @param {boolean} options.pin
|
|
33
|
+
* @param {boolean} options.moveToResource
|
|
34
|
+
* @param {Object} options.roapMessage
|
|
35
|
+
* @param {boolean} options.breakoutsSupported
|
|
36
|
+
* @param {String} options.locale,
|
|
37
|
+
* @param {Array} options.deviceCapabilities
|
|
38
|
+
* @param {boolean} options.liveAnnotationSupported
|
|
39
|
+
* @returns {Promise}
|
|
40
|
+
*/
|
|
41
|
+
joinMeeting(options: {
|
|
42
|
+
sipUri: string;
|
|
43
|
+
deviceUrl: string;
|
|
44
|
+
locusUrl: string;
|
|
45
|
+
resourceId: string;
|
|
46
|
+
correlationId: string;
|
|
47
|
+
ensureConversation: boolean;
|
|
48
|
+
moderator: boolean;
|
|
49
|
+
pin: boolean;
|
|
50
|
+
moveToResource: boolean;
|
|
51
|
+
roapMessage: any;
|
|
52
|
+
asResourceOccupant: any;
|
|
53
|
+
inviteeAddress: any;
|
|
54
|
+
meetingNumber: any;
|
|
55
|
+
permissionToken: any;
|
|
56
|
+
preferTranscoding: any;
|
|
57
|
+
breakoutsSupported: boolean;
|
|
58
|
+
locale?: string;
|
|
59
|
+
deviceCapabilities?: Array<string>;
|
|
60
|
+
liveAnnotationSupported: boolean;
|
|
61
|
+
}): Promise<any>;
|
|
62
|
+
/**
|
|
63
|
+
* Send a request to refresh the captcha
|
|
64
|
+
* @param {Object} options
|
|
65
|
+
* @param {String} options.captchaRefreshUrl
|
|
66
|
+
* @param {String} options.captchaId
|
|
67
|
+
* @returns {Promise}
|
|
68
|
+
* @private
|
|
69
|
+
*/
|
|
70
|
+
private refreshCaptcha;
|
|
71
|
+
/**
|
|
72
|
+
* Make a network request to add a dial in device
|
|
73
|
+
* @param {Object} options
|
|
74
|
+
* @param {String} options.correlationId
|
|
75
|
+
* @param {String} options.locusUrl url for the meeting
|
|
76
|
+
* @param {String} options.dialInUrl identifier for the to-be provisioned device
|
|
77
|
+
* @param {String} options.clientUrl identifier for the web device
|
|
78
|
+
* @returns {Promise}
|
|
79
|
+
* @private
|
|
80
|
+
*/
|
|
81
|
+
private dialIn;
|
|
82
|
+
/**
|
|
83
|
+
* Make a network request to add a dial out device
|
|
84
|
+
* @param {Object} options
|
|
85
|
+
* @param {String} options.correlationId
|
|
86
|
+
* @param {String} options.locusUrl url for the meeting
|
|
87
|
+
* @param {String} options.dialOutUrl identifier for the to-be provisioned device
|
|
88
|
+
* @param {String} options.phoneNumber phone number to dial out to
|
|
89
|
+
* @param {String} options.clientUrl identifier for the web device
|
|
90
|
+
* @returns {Promise}
|
|
91
|
+
* @private
|
|
92
|
+
*/
|
|
93
|
+
private dialOut;
|
|
94
|
+
/**
|
|
95
|
+
* Sends a requests to get the latest locus DTO, it might be a full Locus or a delta, depending on the url provided
|
|
96
|
+
* @param {Object} options
|
|
97
|
+
* @param {String} options.locusUrl sync url to get ht elatest locus delta
|
|
98
|
+
* @returns {Promise}
|
|
99
|
+
*/
|
|
100
|
+
getLocusDTO(options: {
|
|
101
|
+
url: string;
|
|
102
|
+
}): any;
|
|
103
|
+
/**
|
|
104
|
+
* Make a network request to make a provisioned phone leave the meeting
|
|
105
|
+
* @param {Object} options
|
|
106
|
+
* @param {String} options.locusUrl
|
|
107
|
+
* @param {String} options.phoneUrl
|
|
108
|
+
* @param {String} options.correlationId
|
|
109
|
+
* @param {String} options.selfId
|
|
110
|
+
* @returns {Promise}
|
|
111
|
+
* @private
|
|
112
|
+
*/
|
|
113
|
+
private disconnectPhoneAudio;
|
|
114
|
+
/**
|
|
115
|
+
* Make a network request to leave a meeting
|
|
116
|
+
* @param {Object} options
|
|
117
|
+
* @param {Url} options.locusUrl
|
|
118
|
+
* @param {String} options.selfId
|
|
119
|
+
* @param {Url} options.deviceUrl
|
|
120
|
+
* @param {String} options.resourceId,
|
|
121
|
+
* @param {String} options.correlationId
|
|
122
|
+
* @returns {Promise}
|
|
123
|
+
*/
|
|
124
|
+
leaveMeeting({ locusUrl, selfId, deviceUrl: url, resourceId, correlationId, }: {
|
|
125
|
+
locusUrl: string;
|
|
126
|
+
selfId: string;
|
|
127
|
+
deviceUrl: string;
|
|
128
|
+
resourceId: string;
|
|
129
|
+
correlationId: string;
|
|
130
|
+
}): Promise<any>;
|
|
131
|
+
/**
|
|
132
|
+
* Make a network request to acknowledge a meeting
|
|
133
|
+
* @param {Object} options
|
|
134
|
+
* @param {String} options.locusUrl
|
|
135
|
+
* @param {String} options.deviceUrl
|
|
136
|
+
* @param {String} options.correlationId
|
|
137
|
+
* @returns {Promise}
|
|
138
|
+
*/
|
|
139
|
+
acknowledgeMeeting(options: {
|
|
140
|
+
locusUrl: string;
|
|
141
|
+
deviceUrl: string;
|
|
142
|
+
correlationId: string;
|
|
143
|
+
}): Promise<any>;
|
|
144
|
+
/**
|
|
145
|
+
* Makes a network request to lock the meeting
|
|
146
|
+
* @param {Object} options
|
|
147
|
+
* @param {Boolean} options.lock Whether it is locked or not
|
|
148
|
+
* @returns {Promise}
|
|
149
|
+
*/
|
|
150
|
+
lockMeeting(options: any): Promise<any>;
|
|
151
|
+
/**
|
|
152
|
+
* Make a network request to decline a meeting
|
|
153
|
+
* @param {Object} options
|
|
154
|
+
* @param {String} options.locusUrl
|
|
155
|
+
* @param {String} options.deviceUrl
|
|
156
|
+
* @param {String} options.reason
|
|
157
|
+
* @returns {Promise}
|
|
158
|
+
*/
|
|
159
|
+
declineMeeting(options: {
|
|
160
|
+
locusUrl: string;
|
|
161
|
+
deviceUrl: string;
|
|
162
|
+
reason: string;
|
|
163
|
+
}): Promise<any>;
|
|
164
|
+
/**
|
|
165
|
+
* change the content floor grant
|
|
166
|
+
* @param {Object} options options for floor grant
|
|
167
|
+
* @param {String} options.disposition floor action (granted/released)
|
|
168
|
+
* @param {String} options.personUrl personUrl who is requesting floor
|
|
169
|
+
* @param {String} options.deviceUrl Url of a device
|
|
170
|
+
* @param {String} options.resourceId Populated if you are paired to a device
|
|
171
|
+
* @param {String} options.uri floor grant uri
|
|
172
|
+
* @returns {Promise}
|
|
173
|
+
*/
|
|
174
|
+
changeMeetingFloor(options: {
|
|
175
|
+
disposition: string;
|
|
176
|
+
personUrl: string;
|
|
177
|
+
deviceUrl: string;
|
|
178
|
+
resourceId: string;
|
|
179
|
+
uri: string;
|
|
180
|
+
annotationInfo: AnnotationInfo;
|
|
181
|
+
} | any): any;
|
|
182
|
+
/**
|
|
183
|
+
* Sends a request to the DTMF endpoint to send tones
|
|
184
|
+
* @param {Object} options
|
|
185
|
+
* @param {String} options.locusUrl
|
|
186
|
+
* @param {String} options.deviceUrl
|
|
187
|
+
* @param {String} options.tones a string of one or more DTMF tones to send
|
|
188
|
+
* @returns {Promise}
|
|
189
|
+
*/
|
|
190
|
+
sendDTMF({ locusUrl, deviceUrl, tones }: {
|
|
191
|
+
locusUrl: string;
|
|
192
|
+
deviceUrl: string;
|
|
193
|
+
tones: string;
|
|
194
|
+
}): Promise<any>;
|
|
195
|
+
/**
|
|
196
|
+
* Sends a request to the controls endpoint to set the video layout
|
|
197
|
+
* @param {Object} options
|
|
198
|
+
* @param {String} options.locusUrl
|
|
199
|
+
* @param {String} options.deviceUrl
|
|
200
|
+
* @param {String} options.layoutType a layout type that should be available in meeting constants {@link #layout_types}
|
|
201
|
+
* @param {Object} options.main preferred dimensions for the remote main video stream
|
|
202
|
+
* @param {Number} options.main.width preferred width of main video stream
|
|
203
|
+
* @param {Number} options.main.height preferred height of main video stream
|
|
204
|
+
* @param {Object} options.content preferred dimensions for the remote content share stream
|
|
205
|
+
* @param {Number} options.content.width preferred width of content share stream
|
|
206
|
+
* @param {Number} options.content.height preferred height of content share stream
|
|
207
|
+
* @returns {Promise}
|
|
208
|
+
*/
|
|
209
|
+
changeVideoLayout({ locusUrl, deviceUrl, layoutType, main, content, }: {
|
|
210
|
+
locusUrl: string;
|
|
211
|
+
deviceUrl: string;
|
|
212
|
+
layoutType: string;
|
|
213
|
+
main: {
|
|
214
|
+
width: number;
|
|
215
|
+
height: number;
|
|
216
|
+
};
|
|
217
|
+
content: {
|
|
218
|
+
width: number;
|
|
219
|
+
height: number;
|
|
220
|
+
};
|
|
221
|
+
}): Promise<any>;
|
|
222
|
+
/**
|
|
223
|
+
* Make a network request to end meeting for all
|
|
224
|
+
* @param {Object} options
|
|
225
|
+
* @param {Url} options.locusUrl
|
|
226
|
+
* @returns {Promise}
|
|
227
|
+
*/
|
|
228
|
+
endMeetingForAll({ locusUrl }: {
|
|
229
|
+
locusUrl: string;
|
|
230
|
+
}): Promise<any>;
|
|
231
|
+
/**
|
|
232
|
+
* Send a locus keepAlive (used in lobby)
|
|
233
|
+
* @param {Object} options
|
|
234
|
+
* @param {Url} options.keepAliveUrl
|
|
235
|
+
* @returns {Promise}
|
|
236
|
+
*/
|
|
237
|
+
keepAlive({ keepAliveUrl }: {
|
|
238
|
+
keepAliveUrl: string;
|
|
239
|
+
}): any;
|
|
240
|
+
/**
|
|
241
|
+
* Make a network request to send a reaction.
|
|
242
|
+
* @param {Object} options
|
|
243
|
+
* @param {Url} options.reactionChannelUrl
|
|
244
|
+
* @param {Reaction} options.reaction
|
|
245
|
+
* @param {string} options.senderID
|
|
246
|
+
* @returns {Promise}
|
|
247
|
+
*/
|
|
248
|
+
sendReaction({ reactionChannelUrl, reaction, participantId }: SendReactionOptions): any;
|
|
249
|
+
/**
|
|
250
|
+
* Make a network request to enable or disable reactions.
|
|
251
|
+
* @param {boolean} options.enable - determines if we need to enable or disable.
|
|
252
|
+
* @param {locusUrl} options.locusUrl
|
|
253
|
+
* @returns {Promise}
|
|
254
|
+
*/
|
|
255
|
+
toggleReactions({ enable, locusUrl, requestingParticipantId }: ToggleReactionsOptions): Promise<any>;
|
|
256
|
+
getLocusStatusByUrl(locusUrl: string): any;
|
|
257
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Reaction } from '../reactions/reactions.type';
|
|
2
|
+
export type SendReactionOptions = {
|
|
3
|
+
reactionChannelUrl: string;
|
|
4
|
+
reaction: Reaction;
|
|
5
|
+
participantId: string;
|
|
6
|
+
};
|
|
7
|
+
export type ToggleReactionsOptions = {
|
|
8
|
+
enable: boolean;
|
|
9
|
+
locusUrl: string;
|
|
10
|
+
requestingParticipantId: string;
|
|
11
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
declare const MeetingStateMachine: {
|
|
2
|
+
/**
|
|
3
|
+
* Initializes the StateMachine for the meeting
|
|
4
|
+
* @param {Meeting} meetingRef A reference to a meeting instance
|
|
5
|
+
* @returns {StateMachine}
|
|
6
|
+
*/
|
|
7
|
+
create(meetingRef: any): any;
|
|
8
|
+
};
|
|
9
|
+
export default MeetingStateMachine;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { SELF_POLICY } from '../constants';
|
|
2
|
+
declare const MeetingUtil: {
|
|
3
|
+
parseLocusJoin: (response: any) => any;
|
|
4
|
+
remoteUpdateAudioVideo: (meeting: any, audioMuted?: boolean, videoMuted?: boolean) => any;
|
|
5
|
+
hasOwner: (info: any) => any;
|
|
6
|
+
isOwnerSelf: (owner: any, selfId: any) => boolean;
|
|
7
|
+
isPinOrGuest: (err: any) => boolean;
|
|
8
|
+
joinMeeting: (meeting: any, options: any) => any;
|
|
9
|
+
cleanUp: (meeting: any) => any;
|
|
10
|
+
disconnectPhoneAudio: (meeting: any, phoneUrl: any) => any;
|
|
11
|
+
leaveMeeting: (meeting: any, options?: any) => any;
|
|
12
|
+
declineMeeting: (meeting: any, reason: any) => any;
|
|
13
|
+
isUserInLeftState: (locusInfo: any) => boolean;
|
|
14
|
+
isUserInIdleState: (locusInfo: any) => boolean;
|
|
15
|
+
isUserInJoinedState: (locusInfo: any) => boolean;
|
|
16
|
+
isMediaEstablished: (currentMediaStatus: any) => any;
|
|
17
|
+
joinMeetingOptions: (meeting: any, options?: any) => any;
|
|
18
|
+
getTrack: (stream: any) => {
|
|
19
|
+
audioTrack: any;
|
|
20
|
+
videoTrack: any;
|
|
21
|
+
};
|
|
22
|
+
getModeratorFromLocusInfo: (locusInfo: any) => any;
|
|
23
|
+
getPolicyFromLocusInfo: (locusInfo: any) => any;
|
|
24
|
+
getUserDisplayHintsFromLocusInfo: (locusInfo: any) => any;
|
|
25
|
+
canInviteNewParticipants: (displayHints: any) => any;
|
|
26
|
+
canAdmitParticipant: (displayHints: any) => any;
|
|
27
|
+
canUserLock: (displayHints: any) => any;
|
|
28
|
+
canUserUnlock: (displayHints: any) => any;
|
|
29
|
+
canUserRaiseHand: (displayHints: any) => any;
|
|
30
|
+
canUserLowerAllHands: (displayHints: any) => any;
|
|
31
|
+
canUserLowerSomeoneElsesHand: (displayHints: any) => any;
|
|
32
|
+
bothLeaveAndEndMeetingAvailable: (displayHints: any) => any;
|
|
33
|
+
canManageBreakout: (displayHints: any) => any;
|
|
34
|
+
canBroadcastMessageToBreakout: (displayHints: any, policies?: {}) => boolean;
|
|
35
|
+
isSuppressBreakoutSupport: (displayHints: any) => any;
|
|
36
|
+
canAdmitLobbyToBreakout: (displayHints: any) => boolean;
|
|
37
|
+
isBreakoutPreassignmentsEnabled: (displayHints: any) => boolean;
|
|
38
|
+
canUserAskForHelp: (displayHints: any) => boolean;
|
|
39
|
+
lockMeeting: (actions: any, request: any, locusUrl: any) => any;
|
|
40
|
+
unlockMeeting: (actions: any, request: any, locusUrl: any) => any;
|
|
41
|
+
handleAudioLogging: (audioTrack?: LocalMicrophoneTrack) => void;
|
|
42
|
+
handleVideoLogging: (videoTrack?: LocalCameraTrack) => void;
|
|
43
|
+
handleDeviceLogging: (devices?: any[]) => void;
|
|
44
|
+
endMeetingForAll: (meeting: any) => any;
|
|
45
|
+
canEnableClosedCaption: (displayHints: any) => any;
|
|
46
|
+
isSaveTranscriptsEnabled: (displayHints: any) => any;
|
|
47
|
+
canStartTranscribing: (displayHints: any) => any;
|
|
48
|
+
canStopTranscribing: (displayHints: any) => any;
|
|
49
|
+
isClosedCaptionActive: (displayHints: any) => any;
|
|
50
|
+
isWebexAssistantActive: (displayHints: any) => any;
|
|
51
|
+
canViewCaptionPanel: (displayHints: any) => any;
|
|
52
|
+
isRealTimeTranslationEnabled: (displayHints: any) => any;
|
|
53
|
+
canSelectSpokenLanguages: (displayHints: any) => any;
|
|
54
|
+
waitingForOthersToJoin: (displayHints: any) => any;
|
|
55
|
+
canSendReactions: (originalValue: any, displayHints: any) => any;
|
|
56
|
+
canUserRenameSelfAndObserved: (displayHints: any) => any;
|
|
57
|
+
canUserRenameOthers: (displayHints: any) => any;
|
|
58
|
+
canShareWhiteBoard: (displayHints: any) => any;
|
|
59
|
+
/**
|
|
60
|
+
* Adds the current locus sequence information to a request body
|
|
61
|
+
* @param {Object} meeting The meeting object
|
|
62
|
+
* @param {Object} requestBody The body of a request to locus
|
|
63
|
+
* @returns {void}
|
|
64
|
+
*/
|
|
65
|
+
addSequence: (meeting: any, requestBody: any) => void;
|
|
66
|
+
/**
|
|
67
|
+
* Updates the locus info for the meeting with the delta locus
|
|
68
|
+
* returned from requests that include the sequence information
|
|
69
|
+
* Returns the original response object
|
|
70
|
+
* @param {Object} meeting The meeting object
|
|
71
|
+
* @param {Object} response The response of the http request
|
|
72
|
+
* @returns {Object}
|
|
73
|
+
*/
|
|
74
|
+
updateLocusWithDelta: (meeting: any, response: any) => any;
|
|
75
|
+
generateLocusDeltaRequest: (originalMeeting: any) => (originalOptions: any) => any;
|
|
76
|
+
selfSupportsFeature: (feature: SELF_POLICY, userPolicies: Record<SELF_POLICY, boolean>) => boolean;
|
|
77
|
+
parseInterpretationInfo: (meeting: any, meetingInfo: any) => void;
|
|
78
|
+
};
|
|
79
|
+
export default MeetingUtil;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import Collection from '../common/collection';
|
|
2
|
+
/**
|
|
3
|
+
* @class MeetingInfoCollection
|
|
4
|
+
*/
|
|
5
|
+
export default class MeetingInfoCollection extends Collection {
|
|
6
|
+
namespace: string;
|
|
7
|
+
/**
|
|
8
|
+
* @memberof MeetingInfoCollection
|
|
9
|
+
* @constructor
|
|
10
|
+
* @public
|
|
11
|
+
*/
|
|
12
|
+
constructor();
|
|
13
|
+
/**
|
|
14
|
+
* @param {String} id ID of the meeting info you wish to retreive
|
|
15
|
+
* @returns {MeetingInfo} returns a meeting info instance
|
|
16
|
+
* @public
|
|
17
|
+
* @memberof MeetingInfoCollection
|
|
18
|
+
*/
|
|
19
|
+
get(id: string): any;
|
|
20
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* @class MeetingInfo
|
|
6
|
+
*/
|
|
7
|
+
export default class MeetingInfo {
|
|
8
|
+
meetingInfoCollection: any;
|
|
9
|
+
meetingInfoRequest: any;
|
|
10
|
+
webex: any;
|
|
11
|
+
/**
|
|
12
|
+
*
|
|
13
|
+
* @param {WebexSDK} webex
|
|
14
|
+
*/
|
|
15
|
+
constructor(webex: any);
|
|
16
|
+
/**
|
|
17
|
+
* @param {string} id
|
|
18
|
+
* @returns {object}
|
|
19
|
+
* @public
|
|
20
|
+
* @memberof MeetingInfo
|
|
21
|
+
*/
|
|
22
|
+
getMeetingInfo(id: string): any;
|
|
23
|
+
/**
|
|
24
|
+
* @param {string} id
|
|
25
|
+
* @param {object} info
|
|
26
|
+
* @returns {null}
|
|
27
|
+
* @public
|
|
28
|
+
* @memberof MeetingInfo
|
|
29
|
+
*/
|
|
30
|
+
setMeetingInfo(id: string, info: object): void;
|
|
31
|
+
/**
|
|
32
|
+
* Helper to make the actual MeetingInfo request and set the meetingInfo if successful, else reject
|
|
33
|
+
* @param {Object} options
|
|
34
|
+
* @returns {Promise}
|
|
35
|
+
* @private
|
|
36
|
+
* @memberof MeetingInfo
|
|
37
|
+
*/
|
|
38
|
+
private requestFetchInfo;
|
|
39
|
+
/**
|
|
40
|
+
* Helper to generate the options for the MeetingInfo request
|
|
41
|
+
* @param {String} destination
|
|
42
|
+
* @param {String} type
|
|
43
|
+
* @returns {Promise}
|
|
44
|
+
* @private
|
|
45
|
+
* @memberof MeetingInfo
|
|
46
|
+
*/
|
|
47
|
+
private fetchInfoOptions;
|
|
48
|
+
/**
|
|
49
|
+
* Fetches meeting info from the server
|
|
50
|
+
* @param {String} destination one of many different types of destinations to look up info for
|
|
51
|
+
* @param {String} [type] to match up with the destination value
|
|
52
|
+
* @returns {Promise} returns a meeting info object
|
|
53
|
+
* @public
|
|
54
|
+
* @memberof MeetingInfo
|
|
55
|
+
*/
|
|
56
|
+
fetchMeetingInfo(destination: string, type?: string, password?: string, captchaInfo?: {
|
|
57
|
+
code: string;
|
|
58
|
+
id: string;
|
|
59
|
+
}, installedOrgID?: any, locusId?: any, extraParams?: object, options?: {
|
|
60
|
+
meetingId?: string;
|
|
61
|
+
}): any;
|
|
62
|
+
}
|