@webex/plugin-meetings 3.7.0-wxcc.1 → 3.8.0
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/dist/annotation/annotation.types.d.ts +42 -0
- package/dist/annotation/constants.d.ts +31 -0
- package/dist/annotation/index.d.ts +117 -0
- package/dist/breakouts/breakout.d.ts +8 -0
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/collection.d.ts +5 -0
- package/dist/breakouts/edit-lock-error.d.ts +15 -0
- package/dist/breakouts/events.d.ts +8 -0
- package/dist/breakouts/index.d.ts +5 -0
- package/dist/breakouts/index.js +1 -1
- package/dist/breakouts/request.d.ts +22 -0
- package/dist/breakouts/utils.d.ts +15 -0
- package/dist/common/browser-detection.d.ts +9 -0
- package/dist/common/collection.d.ts +48 -0
- package/dist/common/config.d.ts +2 -0
- package/dist/common/errors/captcha-error.d.ts +15 -0
- package/dist/common/errors/intent-to-join.d.ts +16 -0
- package/dist/common/errors/join-meeting.d.ts +17 -0
- package/dist/common/errors/media.d.ts +15 -0
- package/dist/common/errors/no-meeting-info.d.ts +14 -0
- package/dist/common/errors/parameter.d.ts +15 -0
- package/dist/common/errors/password-error.d.ts +15 -0
- package/dist/common/errors/permission.d.ts +14 -0
- package/dist/common/errors/reclaim-host-role-error.js +149 -0
- package/dist/common/errors/reclaim-host-role-error.js.map +1 -0
- package/dist/common/errors/reclaim-host-role-errors.d.ts +60 -0
- package/dist/common/errors/reconnection-in-progress.d.ts +9 -0
- package/dist/common/errors/reconnection-in-progress.js +33 -0
- package/dist/common/errors/reconnection-in-progress.js.map +1 -0
- package/dist/common/errors/reconnection.d.ts +15 -0
- package/dist/common/errors/stats.d.ts +15 -0
- package/dist/common/errors/webex-errors.d.ts +93 -0
- package/dist/common/errors/webex-meetings-error.d.ts +20 -0
- package/dist/common/events/events-scope.d.ts +17 -0
- package/dist/common/events/events.d.ts +12 -0
- package/dist/common/events/trigger-proxy.d.ts +2 -0
- package/dist/common/events/util.d.ts +2 -0
- package/dist/common/logs/logger-config.d.ts +2 -0
- package/dist/common/logs/logger-proxy.d.ts +2 -0
- package/dist/common/logs/request.d.ts +36 -0
- package/dist/common/queue.d.ts +34 -0
- package/dist/config.d.ts +72 -0
- package/dist/constants.d.ts +1088 -0
- package/dist/constants.js +15 -3
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/constants.d.ts +4 -0
- package/dist/controls-options-manager/enums.d.ts +15 -0
- package/dist/controls-options-manager/index.d.ts +136 -0
- package/dist/controls-options-manager/types.d.ts +43 -0
- package/dist/controls-options-manager/util.d.ts +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/interceptors/index.d.ts +2 -0
- package/dist/interceptors/locusRetry.d.ts +27 -0
- package/dist/interpretation/collection.d.ts +5 -0
- package/dist/interpretation/index.d.ts +5 -0
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.d.ts +5 -0
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/controlsUtils.d.ts +2 -0
- package/dist/locus-info/embeddedAppsUtils.d.ts +2 -0
- package/dist/locus-info/fullState.d.ts +2 -0
- package/dist/locus-info/hostUtils.d.ts +2 -0
- package/dist/locus-info/index.d.ts +322 -0
- package/dist/locus-info/infoUtils.d.ts +2 -0
- package/dist/locus-info/mediaSharesUtils.d.ts +2 -0
- package/dist/locus-info/parser.d.ts +272 -0
- package/dist/locus-info/selfUtils.d.ts +2 -0
- package/dist/locus-info/selfUtils.js +5 -0
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/MediaConnectionAwaiter.js +1 -0
- package/dist/media/MediaConnectionAwaiter.js.map +1 -1
- package/dist/media/index.d.ts +34 -0
- package/dist/media/properties.d.ts +93 -0
- package/dist/media/properties.js +30 -16
- package/dist/media/properties.js.map +1 -1
- package/dist/media/util.d.ts +2 -0
- package/dist/mediaQualityMetrics/config.d.ts +241 -0
- package/dist/mediaQualityMetrics/config.js +502 -0
- package/dist/mediaQualityMetrics/config.js.map +1 -0
- package/dist/meeting/brbState.js +167 -0
- package/dist/meeting/brbState.js.map +1 -0
- package/dist/meeting/effectsState.js +260 -0
- package/dist/meeting/effectsState.js.map +1 -0
- package/dist/meeting/in-meeting-actions.d.ts +167 -0
- package/dist/meeting/index.d.ts +1825 -0
- package/dist/meeting/index.js +363 -295
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.d.ts +74 -0
- package/dist/meeting/muteState.d.ts +178 -0
- package/dist/meeting/muteState.js +1 -6
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.d.ts +295 -0
- package/dist/meeting/request.type.d.ts +11 -0
- package/dist/meeting/state.d.ts +9 -0
- package/dist/meeting/util.d.ts +119 -0
- package/dist/meeting/voicea-meeting.d.ts +16 -0
- package/dist/meeting-info/collection.d.ts +20 -0
- package/dist/meeting-info/index.d.ts +69 -0
- package/dist/meeting-info/meeting-info-v2.d.ts +123 -0
- package/dist/meeting-info/meeting-info-v2.js +19 -12
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/request.d.ts +22 -0
- package/dist/meeting-info/util.d.ts +2 -0
- package/dist/meeting-info/utilv2.d.ts +2 -0
- package/dist/meeting-info/utilv2.js +5 -1
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.d.ts +40 -0
- package/dist/meetings/index.d.ts +390 -0
- package/dist/meetings/meetings.types.d.ts +4 -0
- package/dist/meetings/request.d.ts +27 -0
- package/dist/meetings/util.d.ts +18 -0
- package/dist/member/index.d.ts +160 -0
- package/dist/member/member.types.js +17 -0
- package/dist/member/member.types.js.map +1 -0
- package/dist/member/types.d.ts +32 -0
- package/dist/member/util.d.ts +2 -0
- package/dist/members/collection.d.ts +29 -0
- package/dist/members/index.d.ts +353 -0
- package/dist/members/request.d.ts +114 -0
- package/dist/members/types.d.ts +25 -0
- package/dist/members/util.d.ts +215 -0
- package/dist/metrics/config.js +276 -0
- package/dist/metrics/config.js.map +1 -0
- package/dist/metrics/constants.d.ts +70 -0
- package/dist/metrics/constants.js +2 -0
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.d.ts +45 -0
- package/dist/multistream/mediaRequestManager.d.ts +119 -0
- package/dist/multistream/receiveSlot.d.ts +68 -0
- package/dist/multistream/receiveSlotManager.d.ts +56 -0
- package/dist/multistream/remoteMedia.d.ts +72 -0
- package/dist/multistream/remoteMediaGroup.d.ts +49 -0
- package/dist/multistream/remoteMediaManager.d.ts +300 -0
- package/dist/multistream/sendSlotManager.d.ts +69 -0
- package/dist/networkQualityMonitor/index.d.ts +70 -0
- package/dist/networkQualityMonitor/index.js +221 -0
- package/dist/networkQualityMonitor/index.js.map +1 -0
- package/dist/peer-connection-manager/index.js +671 -0
- package/dist/peer-connection-manager/index.js.map +1 -0
- package/dist/peer-connection-manager/util.js +109 -0
- package/dist/peer-connection-manager/util.js.map +1 -0
- package/dist/personal-meeting-room/index.d.ts +47 -0
- package/dist/personal-meeting-room/request.d.ts +14 -0
- package/dist/personal-meeting-room/util.d.ts +2 -0
- package/dist/reachability/clusterReachability.d.ts +109 -0
- package/dist/reachability/index.d.ts +105 -0
- package/dist/reachability/index.js +31 -3
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.d.ts +39 -0
- package/dist/reachability/util.d.ts +8 -0
- package/dist/reactions/constants.d.ts +3 -0
- package/dist/reactions/reactions.d.ts +4 -0
- package/dist/reactions/reactions.type.d.ts +52 -0
- package/dist/reconnection-manager/index.d.ts +136 -0
- package/dist/recording-controller/enums.d.ts +7 -0
- package/dist/recording-controller/index.d.ts +207 -0
- package/dist/recording-controller/util.d.ts +14 -0
- package/dist/roap/collection.js +62 -0
- package/dist/roap/collection.js.map +1 -0
- package/dist/roap/handler.js +275 -0
- package/dist/roap/handler.js.map +1 -0
- package/dist/roap/index.d.ts +86 -0
- package/dist/roap/request.d.ts +39 -0
- package/dist/roap/state.js +126 -0
- package/dist/roap/state.js.map +1 -0
- package/dist/roap/turnDiscovery.d.ts +155 -0
- package/dist/roap/util.js +75 -0
- package/dist/roap/util.js.map +1 -0
- package/dist/rtcMetrics/constants.d.ts +4 -0
- package/dist/rtcMetrics/constants.js +11 -0
- package/dist/rtcMetrics/constants.js.map +1 -0
- package/dist/rtcMetrics/index.d.ts +61 -0
- package/dist/rtcMetrics/index.js +197 -0
- package/dist/rtcMetrics/index.js.map +1 -0
- package/dist/statsAnalyzer/global.d.ts +36 -0
- package/dist/statsAnalyzer/global.js +126 -0
- package/dist/statsAnalyzer/global.js.map +1 -0
- package/dist/statsAnalyzer/index.d.ts +217 -0
- package/dist/statsAnalyzer/index.js +1013 -0
- package/dist/statsAnalyzer/index.js.map +1 -0
- package/dist/statsAnalyzer/mqaUtil.d.ts +48 -0
- package/dist/statsAnalyzer/mqaUtil.js +179 -0
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -0
- package/dist/transcription/index.d.ts +64 -0
- package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
- package/dist/types/constants.d.ts +9 -2
- package/dist/types/mediaQualityMetrics/config.d.ts +241 -0
- package/dist/types/meeting/brbState.d.ts +54 -0
- package/dist/types/meeting/index.d.ts +23 -0
- package/dist/types/meeting-info/meeting-info-v2.d.ts +3 -1
- package/dist/types/metrics/constants.d.ts +2 -0
- package/dist/types/networkQualityMonitor/index.d.ts +70 -0
- package/dist/types/reachability/index.d.ts +9 -1
- package/dist/types/rtcMetrics/constants.d.ts +4 -0
- package/dist/types/rtcMetrics/index.d.ts +71 -0
- package/dist/types/statsAnalyzer/global.d.ts +36 -0
- package/dist/types/statsAnalyzer/index.d.ts +217 -0
- package/dist/types/statsAnalyzer/mqaUtil.d.ts +48 -0
- package/dist/webinar/collection.d.ts +16 -0
- package/dist/webinar/index.d.ts +5 -0
- package/dist/webinar/index.js +1 -1
- package/package.json +23 -23
- package/src/constants.ts +10 -2
- package/src/locus-info/selfUtils.ts +5 -0
- package/src/media/MediaConnectionAwaiter.ts +2 -0
- package/src/media/properties.ts +34 -13
- package/src/meeting/brbState.ts +169 -0
- package/src/meeting/index.ts +112 -26
- package/src/meeting/muteState.ts +1 -6
- package/src/meeting-info/meeting-info-v2.ts +9 -1
- package/src/meeting-info/utilv2.ts +14 -2
- package/src/metrics/constants.ts +2 -0
- package/src/reachability/index.ts +29 -1
- package/test/unit/spec/locus-info/selfUtils.js +10 -0
- package/test/unit/spec/media/properties.ts +15 -0
- package/test/unit/spec/meeting/brbState.ts +114 -0
- package/test/unit/spec/meeting/index.js +92 -30
- package/test/unit/spec/meeting/muteState.js +0 -24
- package/test/unit/spec/meeting-info/utilv2.js +9 -0
- package/test/unit/spec/reachability/index.ts +120 -10
@@ -0,0 +1,295 @@
|
|
1
|
+
import { StatelessWebexPlugin } from '@webex/webex-core';
|
2
|
+
import { IP_VERSION } from '../constants';
|
3
|
+
import { SendReactionOptions, ToggleReactionsOptions } from './request.type';
|
4
|
+
import { AnnotationInfo } from '../annotation/annotation.types';
|
5
|
+
/**
|
6
|
+
* @class MeetingRequest
|
7
|
+
*/
|
8
|
+
export default class MeetingRequest extends StatelessWebexPlugin {
|
9
|
+
changeVideoLayoutDebounced: any;
|
10
|
+
meetingRef: WeakRef<any>;
|
11
|
+
locusDeltaRequest: (options: object) => Promise<any>;
|
12
|
+
buildLocusDeltaRequestOptions: (options: object) => Promise<any>;
|
13
|
+
/**
|
14
|
+
* Constructor
|
15
|
+
* @param {Object} attrs
|
16
|
+
* @param {Object} options
|
17
|
+
*/
|
18
|
+
constructor(attrs: any, options: any);
|
19
|
+
/**
|
20
|
+
* Returns joinCookie from boundedStorage if present.
|
21
|
+
* @returns {Object} joinCookie
|
22
|
+
*/
|
23
|
+
private getJoinCookie;
|
24
|
+
/**
|
25
|
+
* Make a network request to join a meeting
|
26
|
+
* @param {Object} options
|
27
|
+
* @param {String} options.sipUri
|
28
|
+
* @param {String} options.deviceUrl
|
29
|
+
* @param {String} options.locusUrl
|
30
|
+
* @param {String} options.resourceId,
|
31
|
+
* @param {String} options.correlationId
|
32
|
+
* @param {boolean} options.ensureConversation
|
33
|
+
* @param {boolean} options.moderator
|
34
|
+
* @param {boolean} options.pin
|
35
|
+
* @param {boolean} options.moveToResource
|
36
|
+
* @param {Object} options.roapMessage
|
37
|
+
* @param {boolean} options.breakoutsSupported
|
38
|
+
* @param {String} options.locale,
|
39
|
+
* @param {Array} options.deviceCapabilities
|
40
|
+
* @param {boolean} options.liveAnnotationSupported
|
41
|
+
* @param {String} options.alias
|
42
|
+
* @returns {Promise}
|
43
|
+
*/
|
44
|
+
joinMeeting(options: {
|
45
|
+
sipUri: string;
|
46
|
+
deviceUrl: string;
|
47
|
+
locusUrl: string;
|
48
|
+
locusClusterUrl: string;
|
49
|
+
resourceId: string;
|
50
|
+
correlationId: string;
|
51
|
+
ensureConversation: boolean;
|
52
|
+
moderator: boolean;
|
53
|
+
pin: boolean;
|
54
|
+
moveToResource: boolean;
|
55
|
+
roapMessage: any;
|
56
|
+
asResourceOccupant: any;
|
57
|
+
inviteeAddress: any;
|
58
|
+
meetingNumber: any;
|
59
|
+
permissionToken: any;
|
60
|
+
preferTranscoding: any;
|
61
|
+
reachability: any;
|
62
|
+
breakoutsSupported: boolean;
|
63
|
+
locale?: string;
|
64
|
+
deviceCapabilities?: Array<string>;
|
65
|
+
liveAnnotationSupported: boolean;
|
66
|
+
ipVersion?: IP_VERSION;
|
67
|
+
alias?: string;
|
68
|
+
}): Promise<any>;
|
69
|
+
/**
|
70
|
+
* Send a request to refresh the captcha
|
71
|
+
* @param {Object} options
|
72
|
+
* @param {String} options.captchaRefreshUrl
|
73
|
+
* @param {String} options.captchaId
|
74
|
+
* @returns {Promise}
|
75
|
+
* @private
|
76
|
+
*/
|
77
|
+
private refreshCaptcha;
|
78
|
+
/**
|
79
|
+
* Make a network request to add a dial in device
|
80
|
+
* @param {Object} options
|
81
|
+
* @param {String} options.correlationId
|
82
|
+
* @param {String} options.locusUrl url for the meeting
|
83
|
+
* @param {String} options.dialInUrl identifier for the to-be provisioned device
|
84
|
+
* @param {String} options.clientUrl identifier for the web device
|
85
|
+
* @returns {Promise}
|
86
|
+
* @private
|
87
|
+
*/
|
88
|
+
private dialIn;
|
89
|
+
/**
|
90
|
+
* Make a network request to add a dial out device
|
91
|
+
* @param {Object} options
|
92
|
+
* @param {String} options.correlationId
|
93
|
+
* @param {String} options.locusUrl url for the meeting
|
94
|
+
* @param {String} options.dialOutUrl identifier for the to-be provisioned device
|
95
|
+
* @param {String} options.phoneNumber phone number to dial out to
|
96
|
+
* @param {String} options.clientUrl identifier for the web device
|
97
|
+
* @returns {Promise}
|
98
|
+
* @private
|
99
|
+
*/
|
100
|
+
private dialOut;
|
101
|
+
/**
|
102
|
+
* Sends a requests to get the latest locus DTO, it might be a full Locus or a delta, depending on the url provided
|
103
|
+
* @param {Object} options
|
104
|
+
* @param {String} options.locusUrl sync url to get ht elatest locus delta
|
105
|
+
* @returns {Promise}
|
106
|
+
*/
|
107
|
+
getLocusDTO(options: {
|
108
|
+
url: string;
|
109
|
+
}): any;
|
110
|
+
/**
|
111
|
+
* Make a network request to make a provisioned phone leave the meeting
|
112
|
+
* @param {Object} options
|
113
|
+
* @param {String} options.locusUrl
|
114
|
+
* @param {String} options.phoneUrl
|
115
|
+
* @param {String} options.correlationId
|
116
|
+
* @param {String} options.selfId
|
117
|
+
* @returns {Promise}
|
118
|
+
* @private
|
119
|
+
*/
|
120
|
+
private disconnectPhoneAudio;
|
121
|
+
/**
|
122
|
+
* Prepares request options to to leave a meeting
|
123
|
+
* @param {Object} options
|
124
|
+
* @param {Url} options.locusUrl
|
125
|
+
* @param {String} options.selfId
|
126
|
+
* @param {Url} options.deviceUrl
|
127
|
+
* @param {String} options.resourceId,
|
128
|
+
* @param {String} options.correlationId
|
129
|
+
* @returns {Object} request options
|
130
|
+
*/
|
131
|
+
prepareLeaveMeetingRequestOptions({ locusUrl, selfId, deviceUrl: url, resourceId, correlationId, }: {
|
132
|
+
locusUrl: string;
|
133
|
+
selfId: string;
|
134
|
+
deviceUrl: string;
|
135
|
+
resourceId: string;
|
136
|
+
correlationId: string;
|
137
|
+
}): {
|
138
|
+
method: string;
|
139
|
+
uri: string;
|
140
|
+
body: {
|
141
|
+
device: {
|
142
|
+
deviceType: any;
|
143
|
+
url: string;
|
144
|
+
};
|
145
|
+
usingResource: string;
|
146
|
+
correlationId: string;
|
147
|
+
};
|
148
|
+
};
|
149
|
+
/**
|
150
|
+
* Make a network request to leave a meeting
|
151
|
+
* @param {Object} options
|
152
|
+
* @returns {Promise}
|
153
|
+
*/
|
154
|
+
leaveMeeting({ locusUrl, selfId, deviceUrl: url, resourceId, correlationId, }: {
|
155
|
+
locusUrl: string;
|
156
|
+
selfId: string;
|
157
|
+
deviceUrl: string;
|
158
|
+
resourceId: string;
|
159
|
+
correlationId: string;
|
160
|
+
}): Promise<any>;
|
161
|
+
/**
|
162
|
+
* Builds request options to leave a meeting
|
163
|
+
* @param {Object} options
|
164
|
+
* @returns {Object} request options
|
165
|
+
*/
|
166
|
+
buildLeaveMeetingRequestOptions(options: any): Promise<any>;
|
167
|
+
/**
|
168
|
+
* Make a network request to acknowledge a meeting
|
169
|
+
* @param {Object} options
|
170
|
+
* @param {String} options.locusUrl
|
171
|
+
* @param {String} options.deviceUrl
|
172
|
+
* @param {String} options.correlationId
|
173
|
+
* @returns {Promise}
|
174
|
+
*/
|
175
|
+
acknowledgeMeeting(options: {
|
176
|
+
locusUrl: string;
|
177
|
+
deviceUrl: string;
|
178
|
+
correlationId: string;
|
179
|
+
}): Promise<any>;
|
180
|
+
/**
|
181
|
+
* Makes a network request to lock the meeting
|
182
|
+
* @param {Object} options
|
183
|
+
* @param {Boolean} options.lock Whether it is locked or not
|
184
|
+
* @returns {Promise}
|
185
|
+
*/
|
186
|
+
lockMeeting(options: any): Promise<any>;
|
187
|
+
/**
|
188
|
+
* Make a network request to decline a meeting
|
189
|
+
* @param {Object} options
|
190
|
+
* @param {String} options.locusUrl
|
191
|
+
* @param {String} options.deviceUrl
|
192
|
+
* @param {String} options.reason
|
193
|
+
* @returns {Promise}
|
194
|
+
*/
|
195
|
+
declineMeeting(options: {
|
196
|
+
locusUrl: string;
|
197
|
+
deviceUrl: string;
|
198
|
+
reason: string;
|
199
|
+
}): Promise<any>;
|
200
|
+
/**
|
201
|
+
* change the content floor grant
|
202
|
+
* @param {Object} options options for floor grant
|
203
|
+
* @param {String} options.disposition floor action (granted/released)
|
204
|
+
* @param {String} options.personUrl personUrl who is requesting floor
|
205
|
+
* @param {String} options.deviceUrl Url of a device
|
206
|
+
* @param {String} options.resourceId Populated if you are paired to a device
|
207
|
+
* @param {String} options.uri floor grant uri
|
208
|
+
* @param {String} options.shareInstanceId id for current share
|
209
|
+
* @returns {Promise}
|
210
|
+
*/
|
211
|
+
changeMeetingFloor(options: {
|
212
|
+
disposition: string;
|
213
|
+
personUrl: string;
|
214
|
+
deviceUrl: string;
|
215
|
+
resourceId: string;
|
216
|
+
uri: string;
|
217
|
+
annotationInfo: AnnotationInfo;
|
218
|
+
shareInstanceId: string;
|
219
|
+
} | any): any;
|
220
|
+
/**
|
221
|
+
* Sends a request to the DTMF endpoint to send tones
|
222
|
+
* @param {Object} options
|
223
|
+
* @param {String} options.locusUrl
|
224
|
+
* @param {String} options.deviceUrl
|
225
|
+
* @param {String} options.tones a string of one or more DTMF tones to send
|
226
|
+
* @returns {Promise}
|
227
|
+
*/
|
228
|
+
sendDTMF({ locusUrl, deviceUrl, tones }: {
|
229
|
+
locusUrl: string;
|
230
|
+
deviceUrl: string;
|
231
|
+
tones: string;
|
232
|
+
}): Promise<any>;
|
233
|
+
/**
|
234
|
+
* Sends a request to the controls endpoint to set the video layout
|
235
|
+
* @param {Object} options
|
236
|
+
* @param {String} options.locusUrl
|
237
|
+
* @param {String} options.deviceUrl
|
238
|
+
* @param {String} options.layoutType a layout type that should be available in meeting constants {@link #layout_types}
|
239
|
+
* @param {Object} options.main preferred dimensions for the remote main video stream
|
240
|
+
* @param {Number} options.main.width preferred width of main video stream
|
241
|
+
* @param {Number} options.main.height preferred height of main video stream
|
242
|
+
* @param {Object} options.content preferred dimensions for the remote content share stream
|
243
|
+
* @param {Number} options.content.width preferred width of content share stream
|
244
|
+
* @param {Number} options.content.height preferred height of content share stream
|
245
|
+
* @returns {Promise}
|
246
|
+
*/
|
247
|
+
changeVideoLayout({ locusUrl, deviceUrl, layoutType, main, content, }: {
|
248
|
+
locusUrl: string;
|
249
|
+
deviceUrl: string;
|
250
|
+
layoutType: string;
|
251
|
+
main: {
|
252
|
+
width: number;
|
253
|
+
height: number;
|
254
|
+
};
|
255
|
+
content: {
|
256
|
+
width: number;
|
257
|
+
height: number;
|
258
|
+
};
|
259
|
+
}): Promise<any>;
|
260
|
+
/**
|
261
|
+
* Make a network request to end meeting for all
|
262
|
+
* @param {Object} options
|
263
|
+
* @param {Url} options.locusUrl
|
264
|
+
* @returns {Promise}
|
265
|
+
*/
|
266
|
+
endMeetingForAll({ locusUrl }: {
|
267
|
+
locusUrl: string;
|
268
|
+
}): Promise<any>;
|
269
|
+
/**
|
270
|
+
* Send a locus keepAlive (used in lobby)
|
271
|
+
* @param {Object} options
|
272
|
+
* @param {Url} options.keepAliveUrl
|
273
|
+
* @returns {Promise}
|
274
|
+
*/
|
275
|
+
keepAlive({ keepAliveUrl }: {
|
276
|
+
keepAliveUrl: string;
|
277
|
+
}): any;
|
278
|
+
/**
|
279
|
+
* Make a network request to send a reaction.
|
280
|
+
* @param {Object} options
|
281
|
+
* @param {Url} options.reactionChannelUrl
|
282
|
+
* @param {Reaction} options.reaction
|
283
|
+
* @param {string} options.senderID
|
284
|
+
* @returns {Promise}
|
285
|
+
*/
|
286
|
+
sendReaction({ reactionChannelUrl, reaction, participantId }: SendReactionOptions): any;
|
287
|
+
/**
|
288
|
+
* Make a network request to enable or disable reactions.
|
289
|
+
* @param {boolean} options.enable - determines if we need to enable or disable.
|
290
|
+
* @param {locusUrl} options.locusUrl
|
291
|
+
* @returns {Promise}
|
292
|
+
*/
|
293
|
+
toggleReactions({ enable, locusUrl, requestingParticipantId }: ToggleReactionsOptions): Promise<any>;
|
294
|
+
getLocusStatusByUrl(locusUrl: string): any;
|
295
|
+
}
|
@@ -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,119 @@
|
|
1
|
+
import { LocalCameraStream, LocalMicrophoneStream } from '@webex/media-helpers';
|
2
|
+
import { SELF_POLICY, IP_VERSION } from '../constants';
|
3
|
+
declare const MeetingUtil: {
|
4
|
+
parseLocusJoin: (response: any) => any;
|
5
|
+
remoteUpdateAudioVideo: (meeting: any, audioMuted?: boolean, videoMuted?: boolean) => any;
|
6
|
+
hasOwner: (info: any) => any;
|
7
|
+
isOwnerSelf: (owner: any, selfId: any) => boolean;
|
8
|
+
isPinOrGuest: (err: any) => boolean;
|
9
|
+
/**
|
10
|
+
* Returns the current state of knowledge about whether we are on an ipv4-only or ipv6-only or mixed (ipv4 and ipv6) network.
|
11
|
+
* The return value matches the possible values of "ipver" parameter used by the backend APIs.
|
12
|
+
*
|
13
|
+
* @param {Object} webex webex instance
|
14
|
+
* @returns {IP_VERSION|undefined} ipver value to be passed to the backend APIs or undefined if we should not pass any value to the backend
|
15
|
+
*/
|
16
|
+
getIpVersion(webex: any): IP_VERSION | undefined;
|
17
|
+
joinMeeting: (meeting: any, options: any) => any;
|
18
|
+
cleanUp: (meeting: any) => any;
|
19
|
+
disconnectPhoneAudio: (meeting: any, phoneUrl: any) => any;
|
20
|
+
/**
|
21
|
+
* Returns options for leaving a meeting.
|
22
|
+
* @param {any} meeting
|
23
|
+
* @param {any} options
|
24
|
+
* @returns {any} leave options
|
25
|
+
*/
|
26
|
+
prepareLeaveMeetingOptions: (meeting: any, options?: any) => any;
|
27
|
+
leaveMeeting: (meeting: any, options?: any) => any;
|
28
|
+
declineMeeting: (meeting: any, reason: any) => any;
|
29
|
+
isUserInLeftState: (locusInfo: any) => boolean;
|
30
|
+
isUserInIdleState: (locusInfo: any) => boolean;
|
31
|
+
isUserInJoinedState: (locusInfo: any) => boolean;
|
32
|
+
isMediaEstablished: (currentMediaStatus: any) => any;
|
33
|
+
joinMeetingOptions: (meeting: any, options?: any) => any;
|
34
|
+
/**
|
35
|
+
* Returns request options for leaving a meeting.
|
36
|
+
* @param {any} meeting
|
37
|
+
* @param {any} options
|
38
|
+
* @returns {any} request options
|
39
|
+
*/
|
40
|
+
buildLeaveFetchRequestOptions: (meeting: any, options?: any) => any;
|
41
|
+
getTrack: (stream: any) => {
|
42
|
+
audioTrack: any;
|
43
|
+
videoTrack: any;
|
44
|
+
};
|
45
|
+
getModeratorFromLocusInfo: (locusInfo: any) => any;
|
46
|
+
getPolicyFromLocusInfo: (locusInfo: any) => any;
|
47
|
+
getUserDisplayHintsFromLocusInfo: (locusInfo: any) => any;
|
48
|
+
canInviteNewParticipants: (displayHints: any) => any;
|
49
|
+
canAdmitParticipant: (displayHints: any) => any;
|
50
|
+
canUserLock: (displayHints: any) => any;
|
51
|
+
canUserUnlock: (displayHints: any) => any;
|
52
|
+
canUserRaiseHand: (displayHints: any) => any;
|
53
|
+
canUserLowerAllHands: (displayHints: any) => any;
|
54
|
+
canUserLowerSomeoneElsesHand: (displayHints: any) => any;
|
55
|
+
bothLeaveAndEndMeetingAvailable: (displayHints: any) => any;
|
56
|
+
canManageBreakout: (displayHints: any) => any;
|
57
|
+
canBroadcastMessageToBreakout: (displayHints: any, policies?: {}) => boolean;
|
58
|
+
isSuppressBreakoutSupport: (displayHints: any) => any;
|
59
|
+
canAdmitLobbyToBreakout: (displayHints: any) => boolean;
|
60
|
+
isBreakoutPreassignmentsEnabled: (displayHints: any) => boolean;
|
61
|
+
canUserAskForHelp: (displayHints: any) => boolean;
|
62
|
+
lockMeeting: (actions: any, request: any, locusUrl: any) => any;
|
63
|
+
unlockMeeting: (actions: any, request: any, locusUrl: any) => any;
|
64
|
+
handleAudioLogging: (audioStream?: LocalMicrophoneStream) => void;
|
65
|
+
handleVideoLogging: (videoStream?: LocalCameraStream) => void;
|
66
|
+
handleDeviceLogging: (devices?: any[]) => void;
|
67
|
+
endMeetingForAll: (meeting: any) => any;
|
68
|
+
canEnableClosedCaption: (displayHints: any) => any;
|
69
|
+
isSaveTranscriptsEnabled: (displayHints: any) => any;
|
70
|
+
canStartTranscribing: (displayHints: any) => any;
|
71
|
+
canStopTranscribing: (displayHints: any) => any;
|
72
|
+
isClosedCaptionActive: (displayHints: any) => any;
|
73
|
+
isWebexAssistantActive: (displayHints: any) => any;
|
74
|
+
canViewCaptionPanel: (displayHints: any) => any;
|
75
|
+
isRealTimeTranslationEnabled: (displayHints: any) => any;
|
76
|
+
canSelectSpokenLanguages: (displayHints: any) => any;
|
77
|
+
waitingForOthersToJoin: (displayHints: any) => any;
|
78
|
+
canSendReactions: (originalValue: any, displayHints: any) => any;
|
79
|
+
canUserRenameSelfAndObserved: (displayHints: any) => any;
|
80
|
+
canUserRenameOthers: (displayHints: any) => any;
|
81
|
+
canShareWhiteBoard: (displayHints: any) => any;
|
82
|
+
/**
|
83
|
+
* Adds the current locus sequence information to a request body
|
84
|
+
* @param {Object} meeting The meeting object
|
85
|
+
* @param {Object} requestBody The body of a request to locus
|
86
|
+
* @returns {void}
|
87
|
+
*/
|
88
|
+
addSequence: (meeting: any, requestBody: any) => void;
|
89
|
+
/**
|
90
|
+
* Updates the locus info for the meeting with the delta locus
|
91
|
+
* returned from requests that include the sequence information
|
92
|
+
* Returns the original response object
|
93
|
+
* @param {Object} meeting The meeting object
|
94
|
+
* @param {Object} response The response of the http request
|
95
|
+
* @returns {Object}
|
96
|
+
*/
|
97
|
+
updateLocusWithDelta: (meeting: any, response: any) => any;
|
98
|
+
generateBuildLocusDeltaRequestOptions: (originalMeeting: any) => (originalOptions: any) => any;
|
99
|
+
generateLocusDeltaRequest: (originalMeeting: any) => (originalOptions: any) => any;
|
100
|
+
selfSupportsFeature: (feature: SELF_POLICY, userPolicies: Record<SELF_POLICY, boolean>) => boolean;
|
101
|
+
parseInterpretationInfo: (meeting: any, meetingInfo: any) => void;
|
102
|
+
/**
|
103
|
+
* Returns a CA-recognized error payload for the specified raw error message/reason.
|
104
|
+
*
|
105
|
+
* New errors can be added to this function for handling in the future
|
106
|
+
*
|
107
|
+
* @param {String} reason the raw error message
|
108
|
+
* @returns {Array<object>} an array of payload objects
|
109
|
+
*/
|
110
|
+
getChangeMeetingFloorErrorPayload: (reason: string) => {
|
111
|
+
fatal: boolean;
|
112
|
+
category: string;
|
113
|
+
errorCode: number;
|
114
|
+
errorDescription: string;
|
115
|
+
name: string;
|
116
|
+
shownToUser: boolean;
|
117
|
+
}[];
|
118
|
+
};
|
119
|
+
export default MeetingUtil;
|
@@ -0,0 +1,16 @@
|
|
1
|
+
export declare const getSpeaker: (members: any, csis?: any[]) => unknown;
|
2
|
+
export declare const getSpeakerFromProxyOrStore: ({ csisKey, meetingMembers, transcriptData }: {
|
3
|
+
csisKey: any;
|
4
|
+
meetingMembers: any;
|
5
|
+
transcriptData: any;
|
6
|
+
}) => {
|
7
|
+
speaker: {
|
8
|
+
speakerId: string;
|
9
|
+
name: string;
|
10
|
+
};
|
11
|
+
needsCaching: boolean;
|
12
|
+
};
|
13
|
+
export declare const processNewCaptions: ({ data, meeting }: {
|
14
|
+
data: any;
|
15
|
+
meeting: any;
|
16
|
+
}) => void;
|
@@ -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,69 @@
|
|
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
|
+
* @param {String} [password] meeting password
|
53
|
+
* @param {Object} [captchaInfo] captcha code and id
|
54
|
+
* @param {String} [installedOrgID]
|
55
|
+
* @param {String} [locusId]
|
56
|
+
* @param {Object} [extraParams]
|
57
|
+
* @param {Boolean} [options] meeting Id and whether Call Analyzer events should be sent
|
58
|
+
* @returns {Promise} returns a meeting info object
|
59
|
+
* @public
|
60
|
+
* @memberof MeetingInfo
|
61
|
+
*/
|
62
|
+
fetchMeetingInfo(destination: string, type?: string, password?: string, captchaInfo?: {
|
63
|
+
code: string;
|
64
|
+
id: string;
|
65
|
+
}, installedOrgID?: any, locusId?: any, extraParams?: object, options?: {
|
66
|
+
meetingId?: string;
|
67
|
+
sendCAevents?: boolean;
|
68
|
+
}): any;
|
69
|
+
}
|
@@ -0,0 +1,123 @@
|
|
1
|
+
/**
|
2
|
+
* Error to indicate that wbxappapi requires a password
|
3
|
+
*/
|
4
|
+
export declare class MeetingInfoV2PasswordError extends Error {
|
5
|
+
meetingInfo: any;
|
6
|
+
sdkMessage: any;
|
7
|
+
wbxAppApiCode: any;
|
8
|
+
body: any;
|
9
|
+
/**
|
10
|
+
*
|
11
|
+
* @constructor
|
12
|
+
* @param {Number} [wbxAppApiErrorCode]
|
13
|
+
* @param {Object} [meetingInfo]
|
14
|
+
* @param {String} [message]
|
15
|
+
*/
|
16
|
+
constructor(wbxAppApiErrorCode?: number, meetingInfo?: object, message?: string);
|
17
|
+
}
|
18
|
+
/**
|
19
|
+
* Error generating a adhoc space meeting
|
20
|
+
*/
|
21
|
+
export declare class MeetingInfoV2AdhocMeetingError extends Error {
|
22
|
+
sdkMessage: any;
|
23
|
+
wbxAppApiCode: any;
|
24
|
+
/**
|
25
|
+
*
|
26
|
+
* @constructor
|
27
|
+
* @param {Number} [wbxAppApiErrorCode]
|
28
|
+
* @param {String} [message]
|
29
|
+
*/
|
30
|
+
constructor(wbxAppApiErrorCode?: number, message?: string);
|
31
|
+
}
|
32
|
+
/**
|
33
|
+
* Error preventing join because of a meeting policy
|
34
|
+
*/
|
35
|
+
export declare class MeetingInfoV2PolicyError extends Error {
|
36
|
+
meetingInfo: object;
|
37
|
+
sdkMessage: string;
|
38
|
+
wbxAppApiCode: number;
|
39
|
+
/**
|
40
|
+
*
|
41
|
+
* @constructor
|
42
|
+
* @param {Number} [wbxAppApiErrorCode]
|
43
|
+
* @param {Object} [meetingInfo]
|
44
|
+
* @param {String} [message]
|
45
|
+
*/
|
46
|
+
constructor(wbxAppApiErrorCode?: number, meetingInfo?: object, message?: string);
|
47
|
+
}
|
48
|
+
/**
|
49
|
+
* Error to indicate that preferred webex site not present to start adhoc meeting
|
50
|
+
*/
|
51
|
+
export declare class MeetingInfoV2CaptchaError extends Error {
|
52
|
+
captchaInfo: any;
|
53
|
+
isPasswordRequired: any;
|
54
|
+
sdkMessage: any;
|
55
|
+
wbxAppApiCode: any;
|
56
|
+
body: any;
|
57
|
+
/**
|
58
|
+
*
|
59
|
+
* @constructor
|
60
|
+
* @param {Number} [wbxAppApiErrorCode]
|
61
|
+
* @param {Object} [captchaInfo]
|
62
|
+
* @param {String} [message]
|
63
|
+
*/
|
64
|
+
constructor(wbxAppApiErrorCode?: number, captchaInfo?: object, message?: string);
|
65
|
+
}
|
66
|
+
/**
|
67
|
+
* @class MeetingInfo
|
68
|
+
*/
|
69
|
+
export default class MeetingInfoV2 {
|
70
|
+
webex: any;
|
71
|
+
/**
|
72
|
+
*
|
73
|
+
* @param {WebexSDK} webex
|
74
|
+
*/
|
75
|
+
constructor(webex: any);
|
76
|
+
/**
|
77
|
+
* converts hydra id into conversation url and persons Id
|
78
|
+
* @param {String} destination one of many different types of destinations to look up info for
|
79
|
+
* @param {String} [type] to match up with the destination value
|
80
|
+
* @returns {Promise} destination and type
|
81
|
+
* @public
|
82
|
+
* @memberof MeetingInfo
|
83
|
+
*/
|
84
|
+
fetchInfoOptions(destination: string, type?: string): any;
|
85
|
+
/**
|
86
|
+
* Raises a MeetingInfoV2PolicyError for policy error codes
|
87
|
+
* @param {any} err the error from the request
|
88
|
+
* @returns {void}
|
89
|
+
*/
|
90
|
+
handlePolicyError: (err: any) => void;
|
91
|
+
/**
|
92
|
+
* Creates adhoc space meetings for a space by fetching the conversation infomation
|
93
|
+
* @param {String} conversationUrl conversationUrl to start adhoc meeting on
|
94
|
+
* @param {String} installedOrgID org ID of user's machine
|
95
|
+
* @returns {Promise} returns a meeting info object
|
96
|
+
* @public
|
97
|
+
* @memberof MeetingInfo
|
98
|
+
*/
|
99
|
+
createAdhocSpaceMeeting(conversationUrl: string, installedOrgID?: string): Promise<any>;
|
100
|
+
/**
|
101
|
+
* Fetches meeting info from the server
|
102
|
+
* @param {String} destination one of many different types of destinations to look up info for
|
103
|
+
* @param {String} [type] to match up with the destination value
|
104
|
+
* @param {String} password
|
105
|
+
* @param {Object} captchaInfo
|
106
|
+
* @param {String} captchaInfo.code
|
107
|
+
* @param {String} captchaInfo.id
|
108
|
+
* @param {String} installedOrgID org ID of user's machine
|
109
|
+
* @param {String} locusId
|
110
|
+
* @param {Object} extraParams
|
111
|
+
* @param {Object} options
|
112
|
+
* @returns {Promise} returns a meeting info object
|
113
|
+
* @public
|
114
|
+
* @memberof MeetingInfo
|
115
|
+
*/
|
116
|
+
fetchMeetingInfo(destination: string, type?: string, password?: string, captchaInfo?: {
|
117
|
+
code: string;
|
118
|
+
id: string;
|
119
|
+
}, installedOrgID?: any, locusId?: any, extraParams?: object, options?: {
|
120
|
+
meetingId?: string;
|
121
|
+
sendCAevents?: boolean;
|
122
|
+
}): Promise<any>;
|
123
|
+
}
|