@webex/plugin-meetings 3.0.0-beta.15 → 3.0.0-beta.151
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 -1
- 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 +359 -0
- package/dist/annotation/index.js.map +1 -0
- package/dist/breakouts/breakout.js +193 -0
- package/dist/breakouts/breakout.js.map +1 -0
- package/dist/breakouts/collection.js +23 -0
- package/dist/breakouts/collection.js.map +1 -0
- package/dist/breakouts/edit-lock-error.js +52 -0
- package/dist/breakouts/edit-lock-error.js.map +1 -0
- package/dist/breakouts/events.js +43 -0
- package/dist/breakouts/events.js.map +1 -0
- package/dist/breakouts/index.js +1046 -0
- package/dist/breakouts/index.js.map +1 -0
- 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/browser-detection.js +1 -21
- package/dist/common/browser-detection.js.map +1 -1
- package/dist/common/collection.js +5 -20
- package/dist/common/collection.js.map +1 -1
- package/dist/common/config.js +0 -7
- package/dist/common/config.js.map +1 -1
- package/dist/common/errors/captcha-error.js +0 -21
- package/dist/common/errors/captcha-error.js.map +1 -1
- package/dist/common/errors/intent-to-join.js +0 -21
- package/dist/common/errors/intent-to-join.js.map +1 -1
- package/dist/common/errors/join-meeting.js +0 -21
- package/dist/common/errors/join-meeting.js.map +1 -1
- package/dist/common/errors/media.js +0 -21
- package/dist/common/errors/media.js.map +1 -1
- package/dist/common/errors/parameter.js +0 -28
- package/dist/common/errors/parameter.js.map +1 -1
- package/dist/common/errors/password-error.js +0 -21
- package/dist/common/errors/password-error.js.map +1 -1
- package/dist/common/errors/permission.js +0 -21
- package/dist/common/errors/permission.js.map +1 -1
- package/dist/common/errors/reconnection-in-progress.js +0 -17
- package/dist/common/errors/reconnection-in-progress.js.map +1 -1
- package/dist/common/errors/reconnection.js +0 -21
- package/dist/common/errors/reconnection.js.map +1 -1
- package/dist/common/errors/stats.js +0 -21
- package/dist/common/errors/stats.js.map +1 -1
- package/dist/common/errors/webex-errors.js +9 -43
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/common/errors/webex-meetings-error.js +1 -24
- package/dist/common/errors/webex-meetings-error.js.map +1 -1
- package/dist/common/events/events-scope.js +0 -22
- package/dist/common/events/events-scope.js.map +1 -1
- package/dist/common/events/events.js +0 -23
- package/dist/common/events/events.js.map +1 -1
- package/dist/common/events/trigger-proxy.js +0 -12
- package/dist/common/events/trigger-proxy.js.map +1 -1
- package/dist/common/events/util.js +0 -15
- package/dist/common/events/util.js.map +1 -1
- package/dist/common/logs/logger-config.js +0 -4
- package/dist/common/logs/logger-config.js.map +1 -1
- package/dist/common/logs/logger-proxy.js +1 -8
- package/dist/common/logs/logger-proxy.js.map +1 -1
- package/dist/common/logs/request.js +35 -61
- package/dist/common/logs/request.js.map +1 -1
- package/dist/common/queue.js +4 -14
- package/dist/common/queue.js.map +1 -1
- package/dist/config.js +7 -13
- package/dist/config.js.map +1 -1
- package/dist/constants.js +208 -64
- 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 +300 -0
- package/dist/controls-options-manager/util.js.map +1 -0
- package/dist/index.js +78 -17
- package/dist/index.js.map +1 -1
- package/dist/locus-info/controlsUtils.js +100 -29
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/embeddedAppsUtils.js +3 -26
- package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
- package/dist/locus-info/fullState.js +0 -15
- package/dist/locus-info/fullState.js.map +1 -1
- package/dist/locus-info/hostUtils.js +4 -12
- package/dist/locus-info/hostUtils.js.map +1 -1
- package/dist/locus-info/index.js +387 -208
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.js +0 -38
- package/dist/locus-info/infoUtils.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js +54 -38
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.js +90 -126
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.js +93 -92
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.js +70 -219
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +74 -198
- package/dist/media/properties.js.map +1 -1
- package/dist/media/util.js +1 -8
- package/dist/media/util.js.map +1 -1
- package/dist/mediaQualityMetrics/config.js +505 -495
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +79 -14
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +2685 -3324
- 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 +243 -185
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +296 -342
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/request.type.js +0 -1
- package/dist/meeting/request.type.js.map +1 -1
- package/dist/meeting/state.js +16 -26
- package/dist/meeting/state.js.map +1 -1
- package/dist/meeting/util.js +446 -585
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/collection.js +3 -25
- package/dist/meeting-info/collection.js.map +1 -1
- package/dist/meeting-info/index.js +8 -31
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +261 -242
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/request.js +1 -16
- package/dist/meeting-info/request.js.map +1 -1
- package/dist/meeting-info/util.js +98 -183
- package/dist/meeting-info/util.js.map +1 -1
- package/dist/meeting-info/utilv2.js +156 -232
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.js +24 -20
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.js +526 -372
- 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 +21 -40
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.js +172 -141
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +58 -57
- package/dist/member/index.js.map +1 -1
- package/dist/member/types.js +15 -0
- package/dist/member/types.js.map +1 -0
- package/dist/member/util.js +101 -69
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.js +12 -12
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.js +123 -162
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +120 -85
- 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 +314 -260
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/config.js +50 -16
- package/dist/metrics/config.js.map +1 -1
- package/dist/metrics/constants.js +4 -7
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.js +75 -147
- package/dist/metrics/index.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +170 -50
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/receiveSlot.js +58 -65
- package/dist/multistream/receiveSlot.js.map +1 -1
- package/dist/multistream/receiveSlotManager.js +73 -94
- package/dist/multistream/receiveSlotManager.js.map +1 -1
- package/dist/multistream/remoteMedia.js +55 -74
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.js +66 -43
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +502 -442
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/networkQualityMonitor/index.js +24 -51
- package/dist/networkQualityMonitor/index.js.map +1 -1
- package/dist/personal-meeting-room/index.js +3 -38
- package/dist/personal-meeting-room/index.js.map +1 -1
- package/dist/personal-meeting-room/request.js +2 -33
- package/dist/personal-meeting-room/request.js.map +1 -1
- package/dist/personal-meeting-room/util.js +0 -13
- package/dist/personal-meeting-room/util.js.map +1 -1
- package/dist/reachability/index.js +190 -199
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js +14 -23
- package/dist/reachability/request.js.map +1 -1
- package/dist/reactions/constants.js +13 -0
- package/dist/reactions/constants.js.map +1 -0
- package/dist/reactions/reactions.js +2 -4
- package/dist/reactions/reactions.js.map +1 -1
- package/dist/reactions/reactions.type.js +18 -24
- package/dist/reactions/reactions.type.js.map +1 -1
- package/dist/reconnection-manager/index.js +356 -476
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/enums.js +17 -0
- package/dist/recording-controller/enums.js.map +1 -0
- package/dist/recording-controller/index.js +343 -0
- package/dist/recording-controller/index.js.map +1 -0
- package/dist/recording-controller/util.js +63 -0
- package/dist/recording-controller/util.js.map +1 -0
- package/dist/roap/index.js +32 -75
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +129 -136
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +143 -103
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/statsAnalyzer/global.js +1 -95
- package/dist/statsAnalyzer/global.js.map +1 -1
- package/dist/statsAnalyzer/index.js +369 -462
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +144 -94
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/transcription/index.js +9 -44
- package/dist/transcription/index.js.map +1 -1
- package/dist/types/annotation/annotation.types.d.ts +43 -0
- package/dist/types/annotation/constants.d.ts +31 -0
- package/dist/types/annotation/index.d.ts +124 -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 +2 -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 +32 -0
- package/dist/types/config.d.ts +72 -0
- package/dist/types/constants.d.ts +978 -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/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 +315 -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 +212 -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 +86 -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 +149 -0
- package/dist/types/meeting/index.d.ts +1509 -0
- package/dist/types/meeting/locusMediaRequest.d.ts +70 -0
- package/dist/types/meeting/muteState.d.ts +184 -0
- package/dist/types/meeting/request.d.ts +270 -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 +75 -0
- package/dist/types/meeting-info/collection.d.ts +20 -0
- package/dist/types/meeting-info/index.d.ts +57 -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 +364 -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 +157 -0
- package/dist/types/member/types.d.ts +21 -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/config.d.ts +195 -0
- package/dist/types/metrics/constants.d.ts +55 -0
- package/dist/types/metrics/index.d.ts +169 -0
- package/dist/types/multistream/mediaRequestManager.d.ts +104 -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 +193 -0
- package/dist/types/recording-controller/util.d.ts +13 -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/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 +28 -21
- package/src/annotation/annotation.types.ts +52 -0
- package/src/annotation/constants.ts +36 -0
- package/src/annotation/index.ts +343 -0
- package/src/breakouts/README.md +220 -0
- package/src/breakouts/breakout.ts +163 -0
- package/src/breakouts/collection.ts +19 -0
- package/src/breakouts/edit-lock-error.ts +25 -0
- package/src/breakouts/events.ts +37 -0
- package/src/breakouts/index.ts +921 -0
- 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/config.ts +5 -7
- package/src/constants.ts +155 -20
- 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 +286 -0
- package/src/index.ts +34 -0
- package/src/locus-info/controlsUtils.ts +108 -0
- package/src/locus-info/index.ts +310 -21
- package/src/locus-info/mediaSharesUtils.ts +48 -0
- package/src/locus-info/parser.ts +2 -1
- package/src/locus-info/selfUtils.ts +71 -1
- package/src/media/index.ts +70 -142
- package/src/media/properties.ts +41 -104
- package/src/mediaQualityMetrics/config.ts +379 -377
- package/src/meeting/in-meeting-actions.ts +156 -0
- package/src/meeting/index.ts +1730 -1768
- package/src/meeting/locusMediaRequest.ts +309 -0
- package/src/meeting/muteState.ts +228 -132
- package/src/meeting/request.ts +100 -91
- package/src/meeting/request.type.ts +2 -0
- package/src/meeting/util.ts +421 -421
- package/src/meeting-info/meeting-info-v2.ts +134 -13
- package/src/meeting-info/utilv2.ts +13 -3
- package/src/meetings/collection.ts +20 -0
- package/src/meetings/index.ts +375 -83
- package/src/meetings/meetings.types.ts +9 -0
- package/src/meetings/request.ts +3 -1
- package/src/meetings/util.ts +103 -4
- package/src/member/index.ts +40 -0
- package/src/member/types.ts +24 -0
- package/src/member/util.ts +81 -1
- package/src/members/collection.ts +8 -0
- package/src/members/index.ts +108 -6
- package/src/members/request.ts +98 -17
- package/src/members/types.ts +28 -0
- package/src/members/util.ts +319 -240
- package/src/metrics/config.ts +49 -10
- package/src/metrics/constants.ts +2 -4
- package/src/metrics/index.ts +43 -27
- package/src/multistream/mediaRequestManager.ts +210 -45
- package/src/multistream/receiveSlot.ts +68 -26
- package/src/multistream/receiveSlotManager.ts +61 -38
- package/src/multistream/remoteMedia.ts +29 -3
- package/src/multistream/remoteMediaGroup.ts +61 -2
- package/src/multistream/remoteMediaManager.ts +260 -66
- package/src/networkQualityMonitor/index.ts +6 -6
- package/src/reachability/index.ts +75 -25
- package/src/reachability/request.ts +10 -5
- package/src/reactions/constants.ts +4 -0
- package/src/reactions/reactions.ts +4 -4
- package/src/reactions/reactions.type.ts +28 -3
- package/src/reconnection-manager/index.ts +53 -32
- package/src/recording-controller/enums.ts +8 -0
- package/src/recording-controller/index.ts +315 -0
- package/src/recording-controller/util.ts +58 -0
- package/src/roap/index.ts +21 -30
- package/src/roap/request.ts +51 -52
- package/src/roap/turnDiscovery.ts +51 -27
- package/src/statsAnalyzer/global.ts +1 -94
- package/src/statsAnalyzer/index.ts +380 -390
- package/src/statsAnalyzer/mqaUtil.ts +106 -99
- package/test/integration/spec/converged-space-meetings.js +233 -0
- package/test/integration/spec/journey.js +332 -255
- package/test/integration/spec/space-meeting.js +78 -5
- package/test/integration/spec/transcription.js +1 -1
- package/test/unit/spec/annotation/index.ts +436 -0
- package/test/unit/spec/breakouts/breakout.ts +203 -0
- package/test/unit/spec/breakouts/collection.ts +15 -0
- package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
- package/test/unit/spec/breakouts/events.ts +77 -0
- package/test/unit/spec/breakouts/index.ts +1790 -0
- package/test/unit/spec/breakouts/request.ts +104 -0
- package/test/unit/spec/breakouts/utils.js +72 -0
- package/test/unit/spec/controls-options-manager/index.js +287 -0
- package/test/unit/spec/controls-options-manager/util.js +518 -0
- package/test/unit/spec/fixture/locus.js +1 -0
- package/test/unit/spec/locus-info/controlsUtils.js +303 -30
- package/test/unit/spec/locus-info/index.js +615 -4
- package/test/unit/spec/locus-info/mediaSharesUtils.ts +22 -0
- package/test/unit/spec/locus-info/selfConstant.js +38 -0
- package/test/unit/spec/locus-info/selfUtils.js +200 -0
- package/test/unit/spec/media/index.ts +118 -22
- package/test/unit/spec/media/properties.ts +9 -9
- package/test/unit/spec/meeting/in-meeting-actions.ts +76 -0
- package/test/unit/spec/meeting/index.js +2394 -1381
- package/test/unit/spec/meeting/locusMediaRequest.ts +436 -0
- package/test/unit/spec/meeting/muteState.js +370 -208
- package/test/unit/spec/meeting/request.js +354 -42
- package/test/unit/spec/meeting/utils.js +268 -156
- 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 +842 -128
- package/test/unit/spec/meetings/utils.js +206 -2
- package/test/unit/spec/member/index.js +24 -0
- package/test/unit/spec/member/util.js +384 -32
- package/test/unit/spec/members/index.js +320 -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 +98 -0
- package/test/unit/spec/multistream/mediaRequestManager.ts +676 -105
- package/test/unit/spec/multistream/receiveSlot.ts +77 -18
- package/test/unit/spec/multistream/receiveSlotManager.ts +69 -39
- package/test/unit/spec/multistream/remoteMedia.ts +32 -2
- package/test/unit/spec/multistream/remoteMediaGroup.ts +271 -5
- package/test/unit/spec/multistream/remoteMediaManager.ts +672 -65
- package/test/unit/spec/networkQualityMonitor/index.js +4 -4
- package/test/unit/spec/reachability/index.ts +176 -25
- package/test/unit/spec/reachability/request.js +66 -0
- package/test/unit/spec/reconnection-manager/index.js +46 -13
- package/test/unit/spec/recording-controller/index.js +231 -0
- package/test/unit/spec/recording-controller/util.js +102 -0
- package/test/unit/spec/roap/index.ts +21 -51
- package/test/unit/spec/roap/request.ts +187 -0
- package/test/unit/spec/roap/turnDiscovery.ts +73 -34
- package/test/unit/spec/stats-analyzer/index.js +94 -43
- 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 +7 -3
- package/tsconfig.json +6 -0
- package/dist/media/internal-media-core-wrapper.js +0 -22
- package/dist/media/internal-media-core-wrapper.js.map +0 -1
- package/dist/meeting/effectsState.js +0 -334
- package/dist/meeting/effectsState.js.map +0 -1
- package/dist/multistream/multistreamMedia.js +0 -117
- package/dist/multistream/multistreamMedia.js.map +0 -1
- package/src/index.js +0 -15
- package/src/media/internal-media-core-wrapper.ts +0 -9
- package/src/meeting/effectsState.ts +0 -211
- package/src/multistream/multistreamMedia.ts +0 -93
- package/test/unit/spec/meeting/effectsState.js +0 -281
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { StatelessWebexPlugin } from '@webex/webex-core';
|
|
2
|
+
import Meeting from '../meeting';
|
|
3
|
+
/**
|
|
4
|
+
* Roap options
|
|
5
|
+
* @typedef {Object} RoapOptions
|
|
6
|
+
* @property {String} sdp
|
|
7
|
+
* @property {Meeting} meeting
|
|
8
|
+
* @property {Number} seq
|
|
9
|
+
* @property {Number} tieBreaker
|
|
10
|
+
* @property {Boolean} reconnect
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* @typedef {Object} SeqOptions
|
|
14
|
+
* @property {String} correlationId
|
|
15
|
+
* @property {String} mediaId
|
|
16
|
+
* @property {Number} seq
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* @class Roap
|
|
20
|
+
* @export
|
|
21
|
+
* @private
|
|
22
|
+
*/
|
|
23
|
+
export default class Roap extends StatelessWebexPlugin {
|
|
24
|
+
attrs: any;
|
|
25
|
+
lastRoapOffer: any;
|
|
26
|
+
options: any;
|
|
27
|
+
roapHandler: any;
|
|
28
|
+
roapRequest: any;
|
|
29
|
+
turnDiscovery: any;
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* @param {Object} attrs
|
|
33
|
+
* @param {Object} options
|
|
34
|
+
*/
|
|
35
|
+
constructor(attrs: any, options: any);
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
* @param {SeqOptions} options
|
|
39
|
+
* @returns {null}
|
|
40
|
+
* @memberof Roap
|
|
41
|
+
*/
|
|
42
|
+
sendRoapOK(options: any): Promise<any>;
|
|
43
|
+
/**
|
|
44
|
+
* Sends a ROAP answer...
|
|
45
|
+
* @param {SeqOptions} options
|
|
46
|
+
* @param {Boolean} options.audioMuted
|
|
47
|
+
* @param {Boolean} options.videoMuted
|
|
48
|
+
* @returns {Promise}
|
|
49
|
+
* @memberof Roap
|
|
50
|
+
*/
|
|
51
|
+
sendRoapAnswer(options: any): any;
|
|
52
|
+
/**
|
|
53
|
+
* Sends a ROAP error...
|
|
54
|
+
* @param {Object} options
|
|
55
|
+
* @returns {Promise}
|
|
56
|
+
* @memberof Roap
|
|
57
|
+
*/
|
|
58
|
+
sendRoapError(options: any): any;
|
|
59
|
+
/**
|
|
60
|
+
* sends a roap media request
|
|
61
|
+
* @param {RoapOptions} options
|
|
62
|
+
* @returns {Promise}
|
|
63
|
+
* @memberof Roap
|
|
64
|
+
*/
|
|
65
|
+
sendRoapMediaRequest(options: any): any;
|
|
66
|
+
/**
|
|
67
|
+
* Performs a TURN server discovery procedure, which involves exchanging
|
|
68
|
+
* some roap messages with the server. This exchange has to be done before
|
|
69
|
+
* any other roap messages are sent
|
|
70
|
+
*
|
|
71
|
+
* @param {Meeting} meeting
|
|
72
|
+
* @param {Boolean} isReconnecting should be set to true if this is a new
|
|
73
|
+
* media connection just after a reconnection
|
|
74
|
+
* @returns {Promise}
|
|
75
|
+
*/
|
|
76
|
+
doTurnDiscovery(meeting: Meeting, isReconnecting: boolean): any;
|
|
77
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { StatelessWebexPlugin } from '@webex/webex-core';
|
|
2
|
+
import { LocusMediaRequest } from '../meeting/locusMediaRequest';
|
|
3
|
+
/**
|
|
4
|
+
* @class RoapRequest
|
|
5
|
+
*/
|
|
6
|
+
export default class RoapRequest extends StatelessWebexPlugin {
|
|
7
|
+
/**
|
|
8
|
+
* Returns reachability data.
|
|
9
|
+
* @param {Object} localSdp
|
|
10
|
+
* @returns {Object}
|
|
11
|
+
*/
|
|
12
|
+
attachReachabilityData(localSdp: any): Promise<{
|
|
13
|
+
localSdp: any;
|
|
14
|
+
joinCookie: any;
|
|
15
|
+
}>;
|
|
16
|
+
/**
|
|
17
|
+
* Sends a ROAP message
|
|
18
|
+
* @param {Object} options
|
|
19
|
+
* @param {Object} options.roapMessage
|
|
20
|
+
* @param {String} options.locusSelfUrl
|
|
21
|
+
* @param {String} options.mediaId
|
|
22
|
+
* @param {String} options.correlationId
|
|
23
|
+
* @param {String} options.meetingId
|
|
24
|
+
* @returns {Promise} returns the response/failure of the request
|
|
25
|
+
*/
|
|
26
|
+
sendRoap(options: {
|
|
27
|
+
roapMessage: any;
|
|
28
|
+
locusSelfUrl: string;
|
|
29
|
+
mediaId: string;
|
|
30
|
+
meetingId: string;
|
|
31
|
+
locusMediaRequest?: LocusMediaRequest;
|
|
32
|
+
}): Promise<{
|
|
33
|
+
mediaConnections: any;
|
|
34
|
+
locus: any;
|
|
35
|
+
}>;
|
|
36
|
+
}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import RoapRequest from './request';
|
|
2
|
+
import Meeting from '../meeting';
|
|
3
|
+
/**
|
|
4
|
+
* Handles the process of finding out TURN server information from Linus.
|
|
5
|
+
* This is achieved by sending a TURN_DISCOVERY_REQUEST.
|
|
6
|
+
*/
|
|
7
|
+
export default class TurnDiscovery {
|
|
8
|
+
private roapRequest;
|
|
9
|
+
private defer?;
|
|
10
|
+
private turnInfo;
|
|
11
|
+
private responseTimer?;
|
|
12
|
+
/**
|
|
13
|
+
* Constructor
|
|
14
|
+
*
|
|
15
|
+
* @param {RoapRequest} roapRequest
|
|
16
|
+
*/
|
|
17
|
+
constructor(roapRequest: RoapRequest);
|
|
18
|
+
/**
|
|
19
|
+
* waits for TURN_DISCOVERY_RESPONSE message to arrive
|
|
20
|
+
*
|
|
21
|
+
* @returns {Promise}
|
|
22
|
+
* @private
|
|
23
|
+
* @memberof Roap
|
|
24
|
+
*/
|
|
25
|
+
private waitForTurnDiscoveryResponse;
|
|
26
|
+
/**
|
|
27
|
+
* handles TURN_DISCOVERY_RESPONSE roap message
|
|
28
|
+
*
|
|
29
|
+
* @param {Object} roapMessage
|
|
30
|
+
* @returns {void}
|
|
31
|
+
* @public
|
|
32
|
+
* @memberof Roap
|
|
33
|
+
*/
|
|
34
|
+
handleTurnDiscoveryResponse(roapMessage: object): void;
|
|
35
|
+
/**
|
|
36
|
+
* sends the TURN_DISCOVERY_REQUEST roap request
|
|
37
|
+
*
|
|
38
|
+
* @param {Meeting} meeting
|
|
39
|
+
* @param {Boolean} isReconnecting
|
|
40
|
+
* @returns {Promise}
|
|
41
|
+
* @private
|
|
42
|
+
* @memberof Roap
|
|
43
|
+
*/
|
|
44
|
+
sendRoapTurnDiscoveryRequest(meeting: Meeting, isReconnecting: boolean): Promise<void>;
|
|
45
|
+
/**
|
|
46
|
+
* Sends the OK message that server expects to receive
|
|
47
|
+
* after it sends us TURN_DISCOVERY_RESPONSE
|
|
48
|
+
*
|
|
49
|
+
* @param {Meeting} meeting
|
|
50
|
+
* @returns {Promise}
|
|
51
|
+
*/
|
|
52
|
+
sendRoapOK(meeting: Meeting): Promise<{
|
|
53
|
+
mediaConnections: any;
|
|
54
|
+
locus: any;
|
|
55
|
+
}>;
|
|
56
|
+
/**
|
|
57
|
+
* Gets the reason why reachability is skipped.
|
|
58
|
+
*
|
|
59
|
+
* @param {Meeting} meeting
|
|
60
|
+
* @returns {Promise<string>} Promise with empty string if reachability is not skipped or a reason if it is skipped
|
|
61
|
+
*/
|
|
62
|
+
private getSkipReason;
|
|
63
|
+
/**
|
|
64
|
+
* Checks if TURN discovery is skipped.
|
|
65
|
+
*
|
|
66
|
+
* @param {Meeting} meeting
|
|
67
|
+
* @returns {Boolean} true if TURN discovery is being skipped, false if it is being done
|
|
68
|
+
*/
|
|
69
|
+
isSkipped(meeting: any): Promise<boolean>;
|
|
70
|
+
/**
|
|
71
|
+
* Retrieves TURN server information from the backend by doing
|
|
72
|
+
* a roap message exchange:
|
|
73
|
+
* client server
|
|
74
|
+
* | -----TURN_DISCOVERY_REQUEST-----> |
|
|
75
|
+
* | <----TURN_DISCOVERY_RESPONSE----- |
|
|
76
|
+
* | --------------OK----------------> |
|
|
77
|
+
*
|
|
78
|
+
* This TURN discovery roap exchange is always done with seq=0.
|
|
79
|
+
* The RoapMediaConnection SDP exchange always starts with seq=1,
|
|
80
|
+
* so it works fine no matter if TURN discovery is done or not.
|
|
81
|
+
*
|
|
82
|
+
* @param {Meeting} meeting
|
|
83
|
+
* @param {Boolean} isReconnecting should be set to true if this is a new
|
|
84
|
+
* media connection just after a reconnection
|
|
85
|
+
* @returns {Promise}
|
|
86
|
+
*/
|
|
87
|
+
doTurnDiscovery(meeting: Meeting, isReconnecting?: boolean): Promise<{
|
|
88
|
+
turnServerInfo: any;
|
|
89
|
+
turnDiscoverySkippedReason: any;
|
|
90
|
+
}>;
|
|
91
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
declare const STATS_DEFAULT: {
|
|
2
|
+
encryption: string;
|
|
3
|
+
bandwidth: {
|
|
4
|
+
systemBandwidth: number;
|
|
5
|
+
sentPerSecond: number;
|
|
6
|
+
encodedPerSecond: number;
|
|
7
|
+
helper: {
|
|
8
|
+
audioBytesSent: number;
|
|
9
|
+
videoBytestSent: number;
|
|
10
|
+
};
|
|
11
|
+
speed: number;
|
|
12
|
+
};
|
|
13
|
+
results: {};
|
|
14
|
+
connectionType: {
|
|
15
|
+
systemNetworkType: string;
|
|
16
|
+
systemIpAddress: string;
|
|
17
|
+
local: {
|
|
18
|
+
candidateType: any[];
|
|
19
|
+
transport: any[];
|
|
20
|
+
ipAddress: any[];
|
|
21
|
+
networkType: any[];
|
|
22
|
+
};
|
|
23
|
+
remote: {
|
|
24
|
+
candidateType: any[];
|
|
25
|
+
transport: any[];
|
|
26
|
+
ipAddress: any[];
|
|
27
|
+
networkType: any[];
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
resolutions: {};
|
|
31
|
+
internal: {
|
|
32
|
+
remote: {};
|
|
33
|
+
candidates: {};
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
export default STATS_DEFAULT;
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import EventsScope from '../common/events/events-scope';
|
|
3
|
+
import { ReceiveSlot } from '../multistream/receiveSlot';
|
|
4
|
+
export declare const EVENTS: {
|
|
5
|
+
MEDIA_QUALITY: string;
|
|
6
|
+
LOCAL_MEDIA_STARTED: string;
|
|
7
|
+
LOCAL_MEDIA_STOPPED: string;
|
|
8
|
+
REMOTE_MEDIA_STARTED: string;
|
|
9
|
+
REMOTE_MEDIA_STOPPED: string;
|
|
10
|
+
};
|
|
11
|
+
type ReceiveSlotCallback = (csi: number) => ReceiveSlot | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* Stats Analyzer class that will emit events based on detected quality
|
|
14
|
+
*
|
|
15
|
+
* @export
|
|
16
|
+
* @class StatsAnalyzer
|
|
17
|
+
* @extends {EventsScope}
|
|
18
|
+
*/
|
|
19
|
+
export declare class StatsAnalyzer extends EventsScope {
|
|
20
|
+
config: any;
|
|
21
|
+
correlationId: any;
|
|
22
|
+
lastEmittedStartStopEvent: any;
|
|
23
|
+
lastMqaDataSent: any;
|
|
24
|
+
lastStatsResults: any;
|
|
25
|
+
meetingMediaStatus: any;
|
|
26
|
+
mqaInterval: NodeJS.Timeout;
|
|
27
|
+
mqaSentCount: any;
|
|
28
|
+
networkQualityMonitor: any;
|
|
29
|
+
mediaConnection: any;
|
|
30
|
+
statsInterval: NodeJS.Timeout;
|
|
31
|
+
statsResults: any;
|
|
32
|
+
statsStarted: any;
|
|
33
|
+
receiveSlotCallback: ReceiveSlotCallback;
|
|
34
|
+
/**
|
|
35
|
+
* Creates a new instance of StatsAnalyzer
|
|
36
|
+
* @constructor
|
|
37
|
+
* @public
|
|
38
|
+
* @param {Object} config SDK Configuration Object
|
|
39
|
+
* @param {Function} receiveSlotCallback Callback used to access receive slots.
|
|
40
|
+
* @param {Object} networkQualityMonitor class for assessing network characteristics (jitter, packetLoss, latency)
|
|
41
|
+
* @param {Object} statsResults Default properties for stats
|
|
42
|
+
*/
|
|
43
|
+
constructor(config: any, receiveSlotCallback?: ReceiveSlotCallback, networkQualityMonitor?: object, statsResults?: object);
|
|
44
|
+
/**
|
|
45
|
+
* Resets cumulative stats arrays.
|
|
46
|
+
*
|
|
47
|
+
* @public
|
|
48
|
+
* @memberof StatsAnalyzer
|
|
49
|
+
* @returns {void}
|
|
50
|
+
*/
|
|
51
|
+
resetStatsResults(): void;
|
|
52
|
+
/**
|
|
53
|
+
* sets mediaStatus status for analyzing metrics
|
|
54
|
+
*
|
|
55
|
+
* @public
|
|
56
|
+
* @param {Object} status for the audio and video
|
|
57
|
+
* @memberof StatsAnalyzer
|
|
58
|
+
* @returns {void}
|
|
59
|
+
*/
|
|
60
|
+
updateMediaStatus(status: object): void;
|
|
61
|
+
/**
|
|
62
|
+
* captures MQA data from media connection
|
|
63
|
+
*
|
|
64
|
+
* @public
|
|
65
|
+
* @memberof StatsAnalyzer
|
|
66
|
+
* @returns {void}
|
|
67
|
+
*/
|
|
68
|
+
sendMqaData(): void;
|
|
69
|
+
/**
|
|
70
|
+
* updated the media connection when changed
|
|
71
|
+
*
|
|
72
|
+
* @private
|
|
73
|
+
* @memberof StatsAnalyzer
|
|
74
|
+
* @param {RoapMediaConnection} mediaConnection
|
|
75
|
+
* @returns {void}
|
|
76
|
+
*/
|
|
77
|
+
updateMediaConnection(mediaConnection: any): void;
|
|
78
|
+
/**
|
|
79
|
+
* Starts the stats analyzer on interval
|
|
80
|
+
*
|
|
81
|
+
* @public
|
|
82
|
+
* @memberof StatsAnalyzer
|
|
83
|
+
* @param {RoapMediaConnection} mediaConnection
|
|
84
|
+
* @returns {Promise}
|
|
85
|
+
*/
|
|
86
|
+
startAnalyzer(mediaConnection: any): any;
|
|
87
|
+
/**
|
|
88
|
+
* Cleans up the analyzer when done
|
|
89
|
+
*
|
|
90
|
+
* @public
|
|
91
|
+
* @memberof StatsAnalyzer
|
|
92
|
+
* @returns {void}
|
|
93
|
+
*/
|
|
94
|
+
stopAnalyzer(): any;
|
|
95
|
+
/**
|
|
96
|
+
* Parse a single result of get stats
|
|
97
|
+
*
|
|
98
|
+
* @private
|
|
99
|
+
* @param {*} getStatsResult
|
|
100
|
+
* @param {String} type
|
|
101
|
+
* @param {boolean} isSender
|
|
102
|
+
* @returns {void}
|
|
103
|
+
* @memberof StatsAnalyzer
|
|
104
|
+
*/
|
|
105
|
+
private parseGetStatsResult;
|
|
106
|
+
/**
|
|
107
|
+
* Filters the get stats results for types
|
|
108
|
+
* @private
|
|
109
|
+
* @param {Array} statsItem
|
|
110
|
+
* @param {String} type
|
|
111
|
+
* @param {boolean} isSender
|
|
112
|
+
* @returns {void}
|
|
113
|
+
*/
|
|
114
|
+
filterAndParseGetStatsResults(statsItem: any, type: string, isSender: boolean): void;
|
|
115
|
+
/**
|
|
116
|
+
* parse the audio
|
|
117
|
+
* @param {String} result
|
|
118
|
+
* @param {boolean} type
|
|
119
|
+
* @returns {void}
|
|
120
|
+
*/
|
|
121
|
+
parseAudioSource(result: any, type: any): void;
|
|
122
|
+
/**
|
|
123
|
+
* emits started/stopped events for local/remote media by checking
|
|
124
|
+
* if given values are increasing or not. The previousValue, currentValue
|
|
125
|
+
* params can be any numerical value like number of receive packets or
|
|
126
|
+
* decoded frames, etc.
|
|
127
|
+
*
|
|
128
|
+
* @private
|
|
129
|
+
* @param {string} mediaType
|
|
130
|
+
* @param {number} previousValue - value to compare
|
|
131
|
+
* @param {number} currentValue - value to compare (must be same type of value as previousValue)
|
|
132
|
+
* @param {boolean} isLocal - true if stats are for local media being sent out, false for remote media being received
|
|
133
|
+
* @memberof StatsAnalyzer
|
|
134
|
+
* @returns {void}
|
|
135
|
+
*/
|
|
136
|
+
emitStartStopEvents: (mediaType: string, previousValue: number, currentValue: number, isLocal: boolean) => void;
|
|
137
|
+
/**
|
|
138
|
+
* compares current and previous stats to check if packets are not sent
|
|
139
|
+
*
|
|
140
|
+
* @private
|
|
141
|
+
* @memberof StatsAnalyzer
|
|
142
|
+
* @returns {void}
|
|
143
|
+
*/
|
|
144
|
+
private compareLastStatsResult;
|
|
145
|
+
/**
|
|
146
|
+
* Does a `getStats` on all the transceivers and parses the results
|
|
147
|
+
*
|
|
148
|
+
* @private
|
|
149
|
+
* @memberof StatsAnalyzer
|
|
150
|
+
* @returns {Promise}
|
|
151
|
+
*/
|
|
152
|
+
private getStatsAndParse;
|
|
153
|
+
/**
|
|
154
|
+
* Processes OutboundRTP stats result and stores
|
|
155
|
+
* @private
|
|
156
|
+
* @param {*} result
|
|
157
|
+
* @param {*} mediaType
|
|
158
|
+
* @returns {void}
|
|
159
|
+
*/
|
|
160
|
+
private processOutboundRTPResult;
|
|
161
|
+
/**
|
|
162
|
+
* Processes InboundRTP stats result and stores
|
|
163
|
+
* @private
|
|
164
|
+
* @param {*} result
|
|
165
|
+
* @param {*} mediaType
|
|
166
|
+
* @returns {void}
|
|
167
|
+
*/
|
|
168
|
+
private processInboundRTPResult;
|
|
169
|
+
/**
|
|
170
|
+
* Processes remote and local candidate result and stores
|
|
171
|
+
* @private
|
|
172
|
+
* @param {*} result
|
|
173
|
+
* @param {*} type
|
|
174
|
+
* @param {boolean} isSender
|
|
175
|
+
* @param {boolean} isRemote
|
|
176
|
+
*
|
|
177
|
+
* @returns {void}
|
|
178
|
+
*/
|
|
179
|
+
parseCandidate: (result: any, type: any, isSender: boolean, isRemote: boolean) => void;
|
|
180
|
+
/**
|
|
181
|
+
* Process Track results
|
|
182
|
+
*
|
|
183
|
+
* @private
|
|
184
|
+
* @param {*} result
|
|
185
|
+
* @param {*} mediaType
|
|
186
|
+
* @returns {void}
|
|
187
|
+
* @memberof StatsAnalyzer
|
|
188
|
+
*/
|
|
189
|
+
private processTrackResult;
|
|
190
|
+
/**
|
|
191
|
+
*
|
|
192
|
+
* @private
|
|
193
|
+
* @param {*} result
|
|
194
|
+
* @param {*} type
|
|
195
|
+
* @returns {void}
|
|
196
|
+
* @memberof StatsAnalyzer
|
|
197
|
+
*/
|
|
198
|
+
compareSentAndReceived(result: any, type: any): void;
|
|
199
|
+
}
|
|
200
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export declare const getAudioReceiverMqa: ({ audioReceiver, statsResults, lastMqaDataSent, mediaType }: {
|
|
2
|
+
audioReceiver: any;
|
|
3
|
+
statsResults: any;
|
|
4
|
+
lastMqaDataSent: any;
|
|
5
|
+
mediaType: any;
|
|
6
|
+
}) => void;
|
|
7
|
+
export declare const getAudioSenderMqa: ({ audioSender, statsResults, lastMqaDataSent, mediaType }: {
|
|
8
|
+
audioSender: any;
|
|
9
|
+
statsResults: any;
|
|
10
|
+
lastMqaDataSent: any;
|
|
11
|
+
mediaType: any;
|
|
12
|
+
}) => void;
|
|
13
|
+
export declare const getVideoReceiverMqa: ({ videoReceiver, statsResults, lastMqaDataSent, mediaType }: {
|
|
14
|
+
videoReceiver: any;
|
|
15
|
+
statsResults: any;
|
|
16
|
+
lastMqaDataSent: any;
|
|
17
|
+
mediaType: any;
|
|
18
|
+
}) => void;
|
|
19
|
+
export declare const getVideoSenderMqa: ({ videoSender, statsResults, lastMqaDataSent, mediaType }: {
|
|
20
|
+
videoSender: any;
|
|
21
|
+
statsResults: any;
|
|
22
|
+
lastMqaDataSent: any;
|
|
23
|
+
mediaType: any;
|
|
24
|
+
}) => void;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description Meeting Webex assistance transcription feature.
|
|
3
|
+
* @exports
|
|
4
|
+
* @class Transcription
|
|
5
|
+
*/
|
|
6
|
+
export default class Transcription {
|
|
7
|
+
webSocketUrl: any;
|
|
8
|
+
sessionID: any;
|
|
9
|
+
members: any;
|
|
10
|
+
memberCSIs: any;
|
|
11
|
+
webSocket: any;
|
|
12
|
+
/**
|
|
13
|
+
* @param {string} webSocketUrl
|
|
14
|
+
* @param {sessionID} sessionId
|
|
15
|
+
* @param {object} members
|
|
16
|
+
* @constructor
|
|
17
|
+
* @memberof Transcription
|
|
18
|
+
*/
|
|
19
|
+
constructor(webSocketUrl: string, sessionId: any, members: object);
|
|
20
|
+
/**
|
|
21
|
+
* open the Low Latency Mercury connection
|
|
22
|
+
* An event parameter will be send to the callback.
|
|
23
|
+
*
|
|
24
|
+
* @param {string} token
|
|
25
|
+
* @param {string} sessionID
|
|
26
|
+
* @returns {void}
|
|
27
|
+
*/
|
|
28
|
+
connect(token: string): void;
|
|
29
|
+
/**
|
|
30
|
+
* Sets callback to invoke when the web socket connection is closed.
|
|
31
|
+
*
|
|
32
|
+
* @param {Function} callback
|
|
33
|
+
* @returns {void}
|
|
34
|
+
*/
|
|
35
|
+
onCloseSocket(callback: any): void;
|
|
36
|
+
/**
|
|
37
|
+
* Sets callback to invoke when a web socket connection error occurs.
|
|
38
|
+
* An event parameter will be send to the callback.
|
|
39
|
+
*
|
|
40
|
+
* @param {Function} callback
|
|
41
|
+
* @returns {void}
|
|
42
|
+
*/
|
|
43
|
+
onErrorSocket(callback: any): void;
|
|
44
|
+
/**
|
|
45
|
+
* Get current speaker from the given csis payload and update the global csis map
|
|
46
|
+
*
|
|
47
|
+
* @private
|
|
48
|
+
* @param {object} csis
|
|
49
|
+
* @returns {object}
|
|
50
|
+
*/
|
|
51
|
+
private getSpeaker;
|
|
52
|
+
/**
|
|
53
|
+
* Sends transcription data to given callback as it arrives.
|
|
54
|
+
*
|
|
55
|
+
* @param {Function} callback
|
|
56
|
+
* @returns {void}
|
|
57
|
+
*/
|
|
58
|
+
subscribe(callback: any): void;
|
|
59
|
+
/**
|
|
60
|
+
* Close the LLM web socket connection
|
|
61
|
+
* @returns {void}
|
|
62
|
+
*/
|
|
63
|
+
closeSocket(): void;
|
|
64
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webex/plugin-meetings",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.151",
|
|
4
4
|
"description": "",
|
|
5
5
|
"license": "Cisco EULA (https://www.cisco.com/c/en/us/products/end-user-license-agreement.html)",
|
|
6
6
|
"contributors": [
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
"Taymoor Khan <taykhan@cisco.com>"
|
|
13
13
|
],
|
|
14
14
|
"main": "dist/index.js",
|
|
15
|
+
"types": "dist/types/index.d.ts",
|
|
15
16
|
"devMain": "src/index.js",
|
|
16
17
|
"repository": {
|
|
17
18
|
"type": "git",
|
|
@@ -27,32 +28,38 @@
|
|
|
27
28
|
"envify"
|
|
28
29
|
]
|
|
29
30
|
},
|
|
31
|
+
"scripts": {
|
|
32
|
+
"build": "yarn run -T tsc --declaration true --declarationDir ./dist/types"
|
|
33
|
+
},
|
|
30
34
|
"devDependencies": {
|
|
31
|
-
"@webex/plugin-meetings": "3.0.0-beta.
|
|
32
|
-
"@webex/test-helper-chai": "3.0.0-beta.
|
|
33
|
-
"@webex/test-helper-mocha": "3.0.0-beta.
|
|
34
|
-
"@webex/test-helper-mock-webex": "3.0.0-beta.
|
|
35
|
-
"@webex/test-helper-retry": "3.0.0-beta.
|
|
36
|
-
"@webex/test-helper-test-users": "3.0.0-beta.
|
|
35
|
+
"@webex/plugin-meetings": "3.0.0-beta.151",
|
|
36
|
+
"@webex/test-helper-chai": "3.0.0-beta.151",
|
|
37
|
+
"@webex/test-helper-mocha": "3.0.0-beta.151",
|
|
38
|
+
"@webex/test-helper-mock-webex": "3.0.0-beta.151",
|
|
39
|
+
"@webex/test-helper-retry": "3.0.0-beta.151",
|
|
40
|
+
"@webex/test-helper-test-users": "3.0.0-beta.151",
|
|
37
41
|
"chai": "^4.3.4",
|
|
38
42
|
"chai-as-promised": "^7.1.1",
|
|
39
43
|
"jsdom-global": "3.0.2",
|
|
40
44
|
"sinon": "^9.2.4",
|
|
41
|
-
"typed-emitter": "^2.1.0"
|
|
45
|
+
"typed-emitter": "^2.1.0",
|
|
46
|
+
"typescript": "^4.7.4"
|
|
42
47
|
},
|
|
43
48
|
"dependencies": {
|
|
44
|
-
"@webex/common": "3.0.0-beta.
|
|
45
|
-
"@webex/internal-media-core": "
|
|
46
|
-
"@webex/internal-plugin-conversation": "3.0.0-beta.
|
|
47
|
-
"@webex/internal-plugin-device": "3.0.0-beta.
|
|
48
|
-
"@webex/internal-plugin-llm": "3.0.0-beta.
|
|
49
|
-
"@webex/internal-plugin-mercury": "3.0.0-beta.
|
|
50
|
-
"@webex/internal-plugin-metrics": "3.0.0-beta.
|
|
51
|
-
"@webex/internal-plugin-support": "3.0.0-beta.
|
|
52
|
-
"@webex/internal-plugin-user": "3.0.0-beta.
|
|
53
|
-
"@webex/
|
|
54
|
-
"@webex/plugin-
|
|
55
|
-
"@webex/
|
|
49
|
+
"@webex/common": "3.0.0-beta.151",
|
|
50
|
+
"@webex/internal-media-core": "1.38.3",
|
|
51
|
+
"@webex/internal-plugin-conversation": "3.0.0-beta.151",
|
|
52
|
+
"@webex/internal-plugin-device": "3.0.0-beta.151",
|
|
53
|
+
"@webex/internal-plugin-llm": "3.0.0-beta.151",
|
|
54
|
+
"@webex/internal-plugin-mercury": "3.0.0-beta.151",
|
|
55
|
+
"@webex/internal-plugin-metrics": "3.0.0-beta.151",
|
|
56
|
+
"@webex/internal-plugin-support": "3.0.0-beta.151",
|
|
57
|
+
"@webex/internal-plugin-user": "3.0.0-beta.151",
|
|
58
|
+
"@webex/media-helpers": "3.0.0-beta.151",
|
|
59
|
+
"@webex/plugin-people": "3.0.0-beta.151",
|
|
60
|
+
"@webex/plugin-rooms": "3.0.0-beta.151",
|
|
61
|
+
"@webex/webex-core": "3.0.0-beta.151",
|
|
62
|
+
"ampersand-collection": "^2.0.2",
|
|
56
63
|
"bowser": "^2.11.0",
|
|
57
64
|
"btoa": "^1.2.1",
|
|
58
65
|
"dotenv": "^4.0.0",
|
|
@@ -62,6 +69,6 @@
|
|
|
62
69
|
"lodash": "^4.17.21",
|
|
63
70
|
"sdp-transform": "^2.12.0",
|
|
64
71
|
"uuid": "^3.3.2",
|
|
65
|
-
"webrtc-adapter": "^
|
|
72
|
+
"webrtc-adapter": "^8.1.2"
|
|
66
73
|
}
|
|
67
74
|
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import {ANNOTATION_POLICY} from './constants';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Type for an StrokeData Object
|
|
5
|
+
*/
|
|
6
|
+
type StrokeData = {
|
|
7
|
+
deviceId: string;
|
|
8
|
+
toUserId: string;
|
|
9
|
+
requesterId: string;
|
|
10
|
+
content: string;
|
|
11
|
+
shareInstanceId: string;
|
|
12
|
+
encryptionKeyUrl: string;
|
|
13
|
+
version: string;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
type RequestData = {
|
|
17
|
+
toUserId: string;
|
|
18
|
+
toDeviceUrl: string;
|
|
19
|
+
shareInstanceId: string;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
type CommandRequestBody = {
|
|
23
|
+
actionType: string;
|
|
24
|
+
resourceType: string;
|
|
25
|
+
shareInstanceId: string;
|
|
26
|
+
receivers?: any[];
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Type for an annotation Object include annotation version and privilege
|
|
30
|
+
*/
|
|
31
|
+
type AnnotationInfo = {
|
|
32
|
+
version: string;
|
|
33
|
+
policy: ANNOTATION_POLICY;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
interface IAnnotationChannel {
|
|
37
|
+
// === below is for presenter
|
|
38
|
+
acceptRequest: (approval) => undefined | Promise<void>;
|
|
39
|
+
declineRequest: (approval) => undefined | Promise<void>;
|
|
40
|
+
closeAnnotation: (requestData: RequestData) => undefined | Promise<void>;
|
|
41
|
+
// change annotation privilege
|
|
42
|
+
changeAnnotationOptions: (remoteShareUrl, annotationInfo) => undefined | Promise<void>;
|
|
43
|
+
// === below is for attendee
|
|
44
|
+
approveAnnotation: (requestData: RequestData) => undefined | Promise<void>;
|
|
45
|
+
cancelApproveAnnotation: (requestData: RequestData, approval) => undefined | Promise<void>;
|
|
46
|
+
sendStrokeData: (strokeData: StrokeData) => void;
|
|
47
|
+
// =====
|
|
48
|
+
approvalUrlUpdate: (approvalUrl: string) => void;
|
|
49
|
+
locusUrlUpdate: (locusUrl: string) => void;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export type {StrokeData, RequestData, CommandRequestBody, IAnnotationChannel, AnnotationInfo};
|