@webex/plugin-meetings 3.0.0-beta.26 → 3.0.0-beta.261
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 +46 -8
- 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 +28 -7
- 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 +5 -10
- package/dist/config.js.map +1 -1
- package/dist/constants.js +196 -28
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/enums.js +14 -2
- package/dist/controls-options-manager/enums.js.map +1 -1
- package/dist/controls-options-manager/index.js +109 -15
- package/dist/controls-options-manager/index.js.map +1 -1
- 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 +309 -18
- package/dist/controls-options-manager/util.js.map +1 -1
- package/dist/index.js +112 -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 +381 -62
- 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 +224 -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 +58 -116
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +60 -121
- package/dist/media/properties.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +82 -2
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +3022 -2795
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.js +292 -0
- package/dist/meeting/locusMediaRequest.js.map +1 -0
- package/dist/meeting/muteState.js +230 -124
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +256 -196
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/util.js +601 -417
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/index.js +70 -7
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +189 -51
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/util.js +1 -1
- package/dist/meeting-info/util.js.map +1 -1
- package/dist/meeting-info/utilv2.js +36 -36
- 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 +372 -90
- 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 +10 -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 +209 -59
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/multistream/sendSlotManager.js +233 -0
- package/dist/multistream/sendSlotManager.js.map +1 -0
- package/dist/reachability/index.js +161 -57
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js +17 -8
- package/dist/reachability/request.js.map +1 -1
- package/dist/reconnection-manager/index.js +199 -154
- 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 +23 -29
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +112 -97
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +96 -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/index.js +51 -34
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +6 -6
- 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/edit-lock-error.d.ts +15 -0
- package/dist/types/breakouts/events.d.ts +8 -0
- package/dist/types/breakouts/request.d.ts +22 -0
- package/dist/types/breakouts/utils.d.ts +15 -0
- package/dist/types/common/errors/webex-errors.d.ts +13 -1
- package/dist/types/common/queue.d.ts +9 -7
- package/dist/types/config.d.ts +1 -6
- package/dist/types/constants.d.ts +155 -21
- package/dist/types/controls-options-manager/enums.d.ts +11 -1
- package/dist/types/controls-options-manager/index.d.ts +17 -1
- package/dist/types/controls-options-manager/types.d.ts +43 -0
- package/dist/types/controls-options-manager/util.d.ts +1 -7
- package/dist/types/index.d.ts +6 -4
- 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/index.d.ts +57 -4
- package/dist/types/locus-info/parser.d.ts +65 -6
- package/dist/types/media/index.d.ts +2 -0
- package/dist/types/media/properties.d.ts +34 -48
- package/dist/types/meeting/in-meeting-actions.d.ts +82 -2
- package/dist/types/meeting/index.d.ts +344 -506
- package/dist/types/meeting/locusMediaRequest.d.ts +74 -0
- package/dist/types/meeting/muteState.d.ts +99 -23
- package/dist/types/meeting/request.d.ts +72 -43
- package/dist/types/meeting/util.d.ts +101 -1
- package/dist/types/meeting-info/index.d.ts +13 -1
- package/dist/types/meeting-info/meeting-info-v2.d.ts +31 -1
- package/dist/types/meetings/collection.d.ts +8 -0
- package/dist/types/meetings/index.d.ts +86 -12
- package/dist/types/meetings/meetings.types.d.ts +4 -0
- package/dist/types/member/index.d.ts +13 -0
- package/dist/types/member/types.d.ts +32 -0
- package/dist/types/members/collection.d.ts +5 -0
- package/dist/types/members/index.d.ts +35 -2
- package/dist/types/members/request.d.ts +73 -9
- package/dist/types/members/types.d.ts +24 -0
- package/dist/types/members/util.d.ts +209 -1
- package/dist/types/metrics/constants.d.ts +9 -4
- package/dist/types/metrics/index.d.ts +4 -119
- package/dist/types/multistream/mediaRequestManager.d.ts +73 -5
- package/dist/types/multistream/receiveSlot.d.ts +16 -12
- package/dist/types/multistream/receiveSlotManager.d.ts +19 -4
- package/dist/types/multistream/remoteMedia.d.ts +8 -29
- package/dist/types/multistream/remoteMediaGroup.d.ts +0 -9
- package/dist/types/multistream/remoteMediaManager.d.ts +46 -2
- package/dist/types/multistream/sendSlotManager.d.ts +61 -0
- package/dist/types/reachability/index.d.ts +44 -7
- package/dist/types/reachability/request.d.ts +7 -3
- package/dist/types/reconnection-manager/index.d.ts +9 -0
- package/dist/types/recording-controller/index.d.ts +15 -1
- package/dist/types/recording-controller/util.d.ts +5 -4
- package/dist/types/roap/request.d.ts +15 -11
- package/dist/types/roap/turnDiscovery.d.ts +18 -1
- package/dist/types/rtcMetrics/constants.d.ts +4 -0
- package/dist/types/rtcMetrics/index.d.ts +47 -0
- package/dist/types/statsAnalyzer/index.d.ts +6 -1
- 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 +27 -2
- package/src/common/logs/logger-proxy.ts +1 -1
- package/src/common/queue.ts +22 -8
- package/src/config.ts +4 -9
- package/src/constants.ts +178 -18
- package/src/controls-options-manager/enums.ts +12 -0
- package/src/controls-options-manager/index.ts +116 -21
- package/src/controls-options-manager/types.ts +59 -0
- package/src/controls-options-manager/util.ts +294 -14
- package/src/index.ts +40 -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 +412 -59
- package/src/locus-info/infoUtils.ts +10 -2
- package/src/locus-info/mediaSharesUtils.ts +48 -0
- package/src/locus-info/parser.ts +231 -39
- package/src/locus-info/selfUtils.ts +81 -5
- package/src/media/index.ts +100 -122
- package/src/media/properties.ts +70 -108
- package/src/meeting/in-meeting-actions.ts +163 -3
- package/src/meeting/index.ts +2471 -2306
- package/src/meeting/locusMediaRequest.ts +313 -0
- package/src/meeting/muteState.ts +229 -131
- package/src/meeting/request.ts +172 -121
- package/src/meeting/util.ts +588 -394
- package/src/meeting-info/index.ts +79 -8
- package/src/meeting-info/meeting-info-v2.ts +168 -14
- package/src/meeting-info/util.ts +1 -1
- package/src/meeting-info/utilv2.ts +23 -23
- package/src/meetings/collection.ts +20 -0
- package/src/meetings/index.ts +414 -108
- 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 +9 -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 +148 -30
- package/src/multistream/sendSlotManager.ts +170 -0
- package/src/reachability/index.ts +165 -37
- package/src/reachability/request.ts +17 -8
- package/src/reconnection-manager/index.ts +81 -54
- package/src/recording-controller/index.ts +20 -3
- package/src/recording-controller/util.ts +26 -9
- package/src/roap/index.ts +23 -30
- package/src/roap/request.ts +100 -104
- package/src/roap/turnDiscovery.ts +51 -25
- package/src/rtcMetrics/constants.ts +3 -0
- package/src/rtcMetrics/index.ts +100 -0
- package/src/statsAnalyzer/index.ts +73 -35
- package/src/statsAnalyzer/mqaUtil.ts +8 -10
- package/test/integration/spec/converged-space-meetings.js +233 -0
- package/test/integration/spec/journey.js +320 -261
- package/test/integration/spec/space-meeting.js +76 -3
- 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 +163 -0
- package/test/unit/spec/controls-options-manager/util.js +576 -60
- 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 +1283 -33
- 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 +104 -37
- package/test/unit/spec/meeting/in-meeting-actions.ts +81 -3
- package/test/unit/spec/meeting/index.js +4095 -1913
- package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
- package/test/unit/spec/meeting/muteState.js +408 -208
- package/test/unit/spec/meeting/request.js +440 -45
- package/test/unit/spec/meeting/utils.js +679 -64
- package/test/unit/spec/meeting-info/index.js +293 -0
- package/test/unit/spec/meeting-info/meetinginfov2.js +517 -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 +941 -151
- 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 +326 -0
- package/test/unit/spec/multistream/sendSlotManager.ts +242 -0
- package/test/unit/spec/reachability/index.ts +343 -9
- package/test/unit/spec/reachability/request.js +68 -0
- package/test/unit/spec/reconnection-manager/index.js +84 -9
- 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 +31 -51
- package/test/unit/spec/roap/request.ts +203 -85
- package/test/unit/spec/roap/turnDiscovery.ts +48 -13
- package/test/unit/spec/rtcMetrics/index.ts +68 -0
- package/test/unit/spec/stats-analyzer/index.js +29 -2
- 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/types/meeting/effectsState.d.ts +0 -42
- package/dist/types/metrics/config.d.ts +0 -178
- package/src/index.js +0 -16
- package/src/meeting/effectsState.ts +0 -211
- package/src/metrics/config.ts +0 -495
- package/test/unit/spec/meeting/effectsState.js +0 -285
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { IP_VERSION } from '../constants';
|
|
1
2
|
export interface ClusterNode {
|
|
2
3
|
isVideoMesh: boolean;
|
|
3
4
|
udp: Array<string>;
|
|
@@ -19,12 +20,15 @@ declare class ReachabilityRequest {
|
|
|
19
20
|
*/
|
|
20
21
|
constructor(webex: object);
|
|
21
22
|
/**
|
|
22
|
-
*
|
|
23
|
+
* Gets the cluster information
|
|
23
24
|
*
|
|
24
|
-
* @param {
|
|
25
|
+
* @param {IP_VERSION} ipVersion information about current ip network we're on
|
|
25
26
|
* @returns {Promise}
|
|
26
27
|
*/
|
|
27
|
-
getClusters: () => Promise<
|
|
28
|
+
getClusters: (ipVersion?: IP_VERSION) => Promise<{
|
|
29
|
+
clusters: ClusterList;
|
|
30
|
+
joinCookie: any;
|
|
31
|
+
}>;
|
|
28
32
|
/**
|
|
29
33
|
* gets remote SDP For Clusters
|
|
30
34
|
* @param {Object} localSDPList localSDPs for the cluster
|
|
@@ -58,6 +58,15 @@ export default class ReconnectionManager {
|
|
|
58
58
|
* @memberof ReconnectionManager
|
|
59
59
|
*/
|
|
60
60
|
cleanUp(): void;
|
|
61
|
+
/**
|
|
62
|
+
* Stop the local share stream.
|
|
63
|
+
*
|
|
64
|
+
* @param {string} reason a {@link SHARE_STOPPED_REASON}
|
|
65
|
+
* @returns {undefined}
|
|
66
|
+
* @private
|
|
67
|
+
* @memberof ReconnectionManager
|
|
68
|
+
*/
|
|
69
|
+
private stopLocalShareStream;
|
|
61
70
|
/**
|
|
62
71
|
* @public
|
|
63
72
|
* @memberof ReconnectionManager
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { SELF_POLICY } from '../constants';
|
|
1
2
|
import MeetingRequest from '../meeting/request';
|
|
2
3
|
/**
|
|
3
4
|
* @description Recording manages the recording functionality of the meeting object, there should only be one instantation of recording per meeting
|
|
@@ -20,6 +21,13 @@ export default class RecordingController {
|
|
|
20
21
|
* @memberof RecordingInfo
|
|
21
22
|
*/
|
|
22
23
|
private displayHints;
|
|
24
|
+
/**
|
|
25
|
+
* @instance
|
|
26
|
+
* @type {Object}
|
|
27
|
+
* @private
|
|
28
|
+
* @memberof RecordingInfo
|
|
29
|
+
*/
|
|
30
|
+
private selfUserPolicies;
|
|
23
31
|
/**
|
|
24
32
|
* @instance
|
|
25
33
|
* @type {string}
|
|
@@ -62,7 +70,6 @@ export default class RecordingController {
|
|
|
62
70
|
});
|
|
63
71
|
/**
|
|
64
72
|
* @param {MeetingRequest} request
|
|
65
|
-
* @param {LocusInfo} info
|
|
66
73
|
* @returns {void}
|
|
67
74
|
* @private
|
|
68
75
|
* @memberof RecordingController
|
|
@@ -94,6 +101,13 @@ export default class RecordingController {
|
|
|
94
101
|
* @memberof RecordingController
|
|
95
102
|
*/
|
|
96
103
|
setDisplayHints(hints: Array<string>): void;
|
|
104
|
+
/**
|
|
105
|
+
* @param {Object} selfUserPolicies
|
|
106
|
+
* @returns {void}
|
|
107
|
+
* @public
|
|
108
|
+
* @memberof RecordingController
|
|
109
|
+
*/
|
|
110
|
+
setUserPolicy(selfUserPolicies: Record<SELF_POLICY, boolean>): void;
|
|
97
111
|
/**
|
|
98
112
|
* @param {string} id
|
|
99
113
|
* @returns {void}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { SELF_POLICY } from '../constants';
|
|
1
2
|
import RecordingAction from './enums';
|
|
2
3
|
declare const _default: {
|
|
3
|
-
canUserStart: (displayHints: string[]) => boolean;
|
|
4
|
-
canUserPause: (displayHints: string[]) => boolean;
|
|
5
|
-
canUserResume: (displayHints: string[]) => boolean;
|
|
6
|
-
canUserStop: (displayHints: string[]) => boolean;
|
|
4
|
+
canUserStart: (displayHints: string[], userPolicies: Record<SELF_POLICY, boolean>) => boolean;
|
|
5
|
+
canUserPause: (displayHints: string[], userPolicies: Record<SELF_POLICY, boolean>) => boolean;
|
|
6
|
+
canUserResume: (displayHints: string[], userPolicies: Record<SELF_POLICY, boolean>) => boolean;
|
|
7
|
+
canUserStop: (displayHints: string[], userPolicies: Record<SELF_POLICY, boolean>) => boolean;
|
|
7
8
|
deriveRecordingStates: (action: RecordingAction) => {
|
|
8
9
|
recording: boolean;
|
|
9
10
|
paused: boolean;
|
|
@@ -1,14 +1,19 @@
|
|
|
1
1
|
import { StatelessWebexPlugin } from '@webex/webex-core';
|
|
2
|
+
import { IP_VERSION } from '../constants';
|
|
3
|
+
import { LocusMediaRequest } from '../meeting/locusMediaRequest';
|
|
2
4
|
/**
|
|
3
5
|
* @class RoapRequest
|
|
4
6
|
*/
|
|
5
7
|
export default class RoapRequest extends StatelessWebexPlugin {
|
|
6
8
|
/**
|
|
7
|
-
*
|
|
9
|
+
* Returns reachability data.
|
|
8
10
|
* @param {Object} localSdp
|
|
9
|
-
* @returns {
|
|
11
|
+
* @returns {Object}
|
|
10
12
|
*/
|
|
11
|
-
|
|
13
|
+
attachReachabilityData(localSdp: any): Promise<{
|
|
14
|
+
localSdp: any;
|
|
15
|
+
joinCookie: any;
|
|
16
|
+
}>;
|
|
12
17
|
/**
|
|
13
18
|
* Sends a ROAP message
|
|
14
19
|
* @param {Object} options
|
|
@@ -16,20 +21,19 @@ export default class RoapRequest extends StatelessWebexPlugin {
|
|
|
16
21
|
* @param {String} options.locusSelfUrl
|
|
17
22
|
* @param {String} options.mediaId
|
|
18
23
|
* @param {String} options.correlationId
|
|
19
|
-
* @param {Boolean} options.audioMuted
|
|
20
|
-
* @param {Boolean} options.videoMuted
|
|
21
24
|
* @param {String} options.meetingId
|
|
22
|
-
* @param {
|
|
25
|
+
* @param {IP_VERSION} options.ipVersion only required for offers
|
|
23
26
|
* @returns {Promise} returns the response/failure of the request
|
|
24
27
|
*/
|
|
25
28
|
sendRoap(options: {
|
|
26
29
|
roapMessage: any;
|
|
27
30
|
locusSelfUrl: string;
|
|
28
31
|
mediaId: string;
|
|
29
|
-
correlationId: string;
|
|
30
|
-
audioMuted: boolean;
|
|
31
|
-
videoMuted: boolean;
|
|
32
32
|
meetingId: string;
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
ipVersion?: IP_VERSION;
|
|
34
|
+
locusMediaRequest?: LocusMediaRequest;
|
|
35
|
+
}): Promise<{
|
|
36
|
+
mediaConnections: any;
|
|
37
|
+
locus: any;
|
|
38
|
+
}>;
|
|
35
39
|
}
|
|
@@ -49,7 +49,24 @@ export default class TurnDiscovery {
|
|
|
49
49
|
* @param {Meeting} meeting
|
|
50
50
|
* @returns {Promise}
|
|
51
51
|
*/
|
|
52
|
-
sendRoapOK(meeting: Meeting): Promise<
|
|
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>;
|
|
53
70
|
/**
|
|
54
71
|
* Retrieves TURN server information from the backend by doing
|
|
55
72
|
* a roap message exchange:
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rtc Metrics
|
|
3
|
+
*/
|
|
4
|
+
export default class RtcMetrics {
|
|
5
|
+
/**
|
|
6
|
+
* Array of MetricData items to be sent to the metrics service.
|
|
7
|
+
*/
|
|
8
|
+
metricsQueue: any[];
|
|
9
|
+
intervalId: number;
|
|
10
|
+
webex: any;
|
|
11
|
+
meetingId: string;
|
|
12
|
+
correlationId: string;
|
|
13
|
+
/**
|
|
14
|
+
* Initialize the interval.
|
|
15
|
+
*
|
|
16
|
+
* @param {object} webex - The main `webex` object.
|
|
17
|
+
* @param {string} meetingId - The meeting id.
|
|
18
|
+
* @param {string} correlationId - The correlation id.
|
|
19
|
+
*/
|
|
20
|
+
constructor(webex: any, meetingId: any, correlationId: any);
|
|
21
|
+
/**
|
|
22
|
+
* Check to see if the metrics queue has any items.
|
|
23
|
+
*
|
|
24
|
+
* @returns {void}
|
|
25
|
+
*/
|
|
26
|
+
private checkMetrics;
|
|
27
|
+
/**
|
|
28
|
+
* Add metrics items to the metrics queue.
|
|
29
|
+
*
|
|
30
|
+
* @param {object} data - An object with a payload array of metrics items.
|
|
31
|
+
*
|
|
32
|
+
* @returns {void}
|
|
33
|
+
*/
|
|
34
|
+
addMetrics(data: any): void;
|
|
35
|
+
/**
|
|
36
|
+
* Clear the metrics interval.
|
|
37
|
+
*
|
|
38
|
+
* @returns {void}
|
|
39
|
+
*/
|
|
40
|
+
closeMetrics(): void;
|
|
41
|
+
/**
|
|
42
|
+
* Send metrics to the metrics service.
|
|
43
|
+
*
|
|
44
|
+
* @returns {void}
|
|
45
|
+
*/
|
|
46
|
+
private sendMetrics;
|
|
47
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import EventsScope from '../common/events/events-scope';
|
|
3
|
+
import { ReceiveSlot } from '../multistream/receiveSlot';
|
|
3
4
|
export declare const EVENTS: {
|
|
4
5
|
MEDIA_QUALITY: string;
|
|
5
6
|
LOCAL_MEDIA_STARTED: string;
|
|
@@ -7,6 +8,7 @@ export declare const EVENTS: {
|
|
|
7
8
|
REMOTE_MEDIA_STARTED: string;
|
|
8
9
|
REMOTE_MEDIA_STOPPED: string;
|
|
9
10
|
};
|
|
11
|
+
type ReceiveSlotCallback = (csi: number) => ReceiveSlot | undefined;
|
|
10
12
|
/**
|
|
11
13
|
* Stats Analyzer class that will emit events based on detected quality
|
|
12
14
|
*
|
|
@@ -28,15 +30,17 @@ export declare class StatsAnalyzer extends EventsScope {
|
|
|
28
30
|
statsInterval: NodeJS.Timeout;
|
|
29
31
|
statsResults: any;
|
|
30
32
|
statsStarted: any;
|
|
33
|
+
receiveSlotCallback: ReceiveSlotCallback;
|
|
31
34
|
/**
|
|
32
35
|
* Creates a new instance of StatsAnalyzer
|
|
33
36
|
* @constructor
|
|
34
37
|
* @public
|
|
35
38
|
* @param {Object} config SDK Configuration Object
|
|
39
|
+
* @param {Function} receiveSlotCallback Callback used to access receive slots.
|
|
36
40
|
* @param {Object} networkQualityMonitor class for assessing network characteristics (jitter, packetLoss, latency)
|
|
37
41
|
* @param {Object} statsResults Default properties for stats
|
|
38
42
|
*/
|
|
39
|
-
constructor(config: any, networkQualityMonitor?: object, statsResults?: object);
|
|
43
|
+
constructor(config: any, receiveSlotCallback?: ReceiveSlotCallback, networkQualityMonitor?: object, statsResults?: object);
|
|
40
44
|
/**
|
|
41
45
|
* Resets cumulative stats arrays.
|
|
42
46
|
*
|
|
@@ -193,3 +197,4 @@ export declare class StatsAnalyzer extends EventsScope {
|
|
|
193
197
|
*/
|
|
194
198
|
compareSentAndReceived(result: any, type: any): void;
|
|
195
199
|
}
|
|
200
|
+
export {};
|
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.261",
|
|
4
4
|
"description": "",
|
|
5
5
|
"license": "Cisco EULA (https://www.cisco.com/c/en/us/products/end-user-license-agreement.html)",
|
|
6
6
|
"contributors": [
|
|
@@ -32,31 +32,33 @@
|
|
|
32
32
|
"build": "yarn run -T tsc --declaration true --declarationDir ./dist/types"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
|
-
"@webex/plugin-meetings": "3.0.0-beta.
|
|
36
|
-
"@webex/test-helper-chai": "3.0.0-beta.
|
|
37
|
-
"@webex/test-helper-mocha": "3.0.0-beta.
|
|
38
|
-
"@webex/test-helper-mock-webex": "3.0.0-beta.
|
|
39
|
-
"@webex/test-helper-retry": "3.0.0-beta.
|
|
40
|
-
"@webex/test-helper-test-users": "3.0.0-beta.
|
|
35
|
+
"@webex/plugin-meetings": "3.0.0-beta.261",
|
|
36
|
+
"@webex/test-helper-chai": "3.0.0-beta.261",
|
|
37
|
+
"@webex/test-helper-mocha": "3.0.0-beta.261",
|
|
38
|
+
"@webex/test-helper-mock-webex": "3.0.0-beta.261",
|
|
39
|
+
"@webex/test-helper-retry": "3.0.0-beta.261",
|
|
40
|
+
"@webex/test-helper-test-users": "3.0.0-beta.261",
|
|
41
41
|
"chai": "^4.3.4",
|
|
42
42
|
"chai-as-promised": "^7.1.1",
|
|
43
43
|
"jsdom-global": "3.0.2",
|
|
44
44
|
"sinon": "^9.2.4",
|
|
45
|
-
"typed-emitter": "^2.1.0"
|
|
45
|
+
"typed-emitter": "^2.1.0",
|
|
46
|
+
"typescript": "^4.7.4"
|
|
46
47
|
},
|
|
47
48
|
"dependencies": {
|
|
48
|
-
"@webex/common": "3.0.0-beta.
|
|
49
|
-
"@webex/internal-media-core": "
|
|
50
|
-
"@webex/internal-plugin-conversation": "3.0.0-beta.
|
|
51
|
-
"@webex/internal-plugin-device": "3.0.0-beta.
|
|
52
|
-
"@webex/internal-plugin-llm": "3.0.0-beta.
|
|
53
|
-
"@webex/internal-plugin-mercury": "3.0.0-beta.
|
|
54
|
-
"@webex/internal-plugin-metrics": "3.0.0-beta.
|
|
55
|
-
"@webex/internal-plugin-support": "3.0.0-beta.
|
|
56
|
-
"@webex/internal-plugin-user": "3.0.0-beta.
|
|
57
|
-
"@webex/
|
|
58
|
-
"@webex/plugin-
|
|
59
|
-
"@webex/
|
|
49
|
+
"@webex/common": "3.0.0-beta.261",
|
|
50
|
+
"@webex/internal-media-core": "2.0.4",
|
|
51
|
+
"@webex/internal-plugin-conversation": "3.0.0-beta.261",
|
|
52
|
+
"@webex/internal-plugin-device": "3.0.0-beta.261",
|
|
53
|
+
"@webex/internal-plugin-llm": "3.0.0-beta.261",
|
|
54
|
+
"@webex/internal-plugin-mercury": "3.0.0-beta.261",
|
|
55
|
+
"@webex/internal-plugin-metrics": "3.0.0-beta.261",
|
|
56
|
+
"@webex/internal-plugin-support": "3.0.0-beta.261",
|
|
57
|
+
"@webex/internal-plugin-user": "3.0.0-beta.261",
|
|
58
|
+
"@webex/media-helpers": "3.0.0-beta.261",
|
|
59
|
+
"@webex/plugin-people": "3.0.0-beta.261",
|
|
60
|
+
"@webex/plugin-rooms": "3.0.0-beta.261",
|
|
61
|
+
"@webex/webex-core": "3.0.0-beta.261",
|
|
60
62
|
"ampersand-collection": "^2.0.2",
|
|
61
63
|
"bowser": "^2.11.0",
|
|
62
64
|
"btoa": "^1.2.1",
|
|
@@ -64,6 +66,7 @@
|
|
|
64
66
|
"global": "^4.4.0",
|
|
65
67
|
"ip-anonymize": "^0.1.0",
|
|
66
68
|
"javascript-state-machine": "^3.1.0",
|
|
69
|
+
"jsonwebtoken": "^8.5.1",
|
|
67
70
|
"lodash": "^4.17.21",
|
|
68
71
|
"sdp-transform": "^2.12.0",
|
|
69
72
|
"uuid": "^3.3.2",
|
|
@@ -0,0 +1,50 @@
|
|
|
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
|
+
// === below is for attendee
|
|
42
|
+
approveAnnotation: (requestData: RequestData) => undefined | Promise<void>;
|
|
43
|
+
cancelApproveAnnotation: (requestData: RequestData, approval) => undefined | Promise<void>;
|
|
44
|
+
sendStrokeData: (strokeData: StrokeData) => void;
|
|
45
|
+
// =====
|
|
46
|
+
approvalUrlUpdate: (approvalUrl: string) => void;
|
|
47
|
+
locusUrlUpdate: (locusUrl: string) => void;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export type {StrokeData, RequestData, CommandRequestBody, IAnnotationChannel, AnnotationInfo};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export const EVENT_TRIGGERS = {
|
|
2
|
+
ANNOTATION_STROKE_DATA: 'annotation:strokeData',
|
|
3
|
+
ANNOTATION_COMMAND: 'annotation:command',
|
|
4
|
+
};
|
|
5
|
+
export const ANNOTATION_RESOURCE_TYPE = 'AnnotationOnShare';
|
|
6
|
+
export const ANNOTATION_RELAY_TYPES = {
|
|
7
|
+
ANNOTATION_CLIENT: 'annotation.client',
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export const ANNOTATION_STATUS = {
|
|
11
|
+
NO_ANNOTATION: 'NO_ANNOTATION',
|
|
12
|
+
RUNNING_ANNOTATION: 'RUNNING_ANNOTATION',
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export enum ANNOTATION_POLICY {
|
|
16
|
+
ANYONE_CAN_ANNOTATE = 'AnyoneCanAnnotate',
|
|
17
|
+
APPROVAL = 'Approval',
|
|
18
|
+
ANNOTATION_NOT_ALLOWED = 'AnnotationNotAllowed',
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export const ANNOTATION_REQUEST_TYPE = {
|
|
22
|
+
ANNOTATION_MESSAGE: 'annotation_message',
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export const enum ANNOTATION_ACTION_TYPE {
|
|
26
|
+
REQUESTED = 'REQUESTED',
|
|
27
|
+
ACCEPTED = 'ACCEPTED',
|
|
28
|
+
DECLINED = 'DECLINED',
|
|
29
|
+
OFFERED = 'OFFERED',
|
|
30
|
+
CANCELED = 'CANCELED',
|
|
31
|
+
EXPIRED = 'EXPIRED',
|
|
32
|
+
REVOKED = 'REVOKED',
|
|
33
|
+
CLOSED = 'CLOSED',
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export const ANNOTATION = 'annotation';
|