@webex/plugin-meetings 3.9.0-webinar5k.1 → 3.10.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/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/constants.js +24 -0
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/index.js +22 -5
- package/dist/controls-options-manager/index.js.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/interceptors/index.js +7 -0
- package/dist/interceptors/index.js.map +1 -1
- package/dist/interceptors/locusRouteToken.js +116 -0
- package/dist/interceptors/locusRouteToken.js.map +1 -0
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/controlsUtils.js +11 -2
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/index.js +76 -322
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/parser.js +4 -1
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/media/properties.js +53 -5
- package/dist/media/properties.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +14 -0
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +467 -277
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/request.js +177 -14
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/type.js +7 -0
- package/dist/meeting/type.js.map +1 -0
- package/dist/meeting/util.js +100 -3
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +29 -21
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meetings/index.js +20 -16
- package/dist/meetings/index.js.map +1 -1
- package/dist/member/index.js +9 -0
- package/dist/member/index.js.map +1 -1
- package/dist/member/util.js +10 -0
- package/dist/member/util.js.map +1 -1
- package/dist/members/index.js +10 -7
- package/dist/members/index.js.map +1 -1
- package/dist/members/util.js +7 -2
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.js +2 -1
- package/dist/metrics/constants.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +1 -1
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/remoteMedia.js +34 -5
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.js +42 -2
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/reachability/index.js +3 -3
- package/dist/reachability/index.js.map +1 -1
- package/dist/types/constants.d.ts +23 -0
- package/dist/types/controls-options-manager/index.d.ts +9 -1
- package/dist/types/interceptors/index.d.ts +2 -1
- package/dist/types/interceptors/locusRouteToken.d.ts +38 -0
- package/dist/types/locus-info/index.d.ts +9 -54
- package/dist/types/media/properties.d.ts +21 -0
- package/dist/types/meeting/in-meeting-actions.d.ts +14 -0
- package/dist/types/meeting/index.d.ts +64 -29
- package/dist/types/meeting/request.d.ts +42 -0
- package/dist/types/meeting/type.d.ts +9 -0
- package/dist/types/meeting/util.d.ts +13 -0
- package/dist/types/meeting-info/meeting-info-v2.d.ts +6 -3
- package/dist/types/meetings/index.d.ts +3 -1
- package/dist/types/member/index.d.ts +1 -0
- package/dist/types/member/util.d.ts +5 -0
- package/dist/types/members/index.d.ts +12 -11
- package/dist/types/members/util.d.ts +8 -4
- package/dist/types/metrics/constants.d.ts +1 -0
- package/dist/types/multistream/remoteMedia.d.ts +20 -1
- package/dist/types/multistream/remoteMediaGroup.d.ts +11 -0
- package/dist/webinar/index.js +1 -1
- package/package.json +25 -27
- package/src/constants.ts +26 -2
- package/src/controls-options-manager/index.ts +26 -5
- package/src/index.ts +2 -1
- package/src/interceptors/index.ts +2 -1
- package/src/interceptors/locusRouteToken.ts +80 -0
- package/src/locus-info/controlsUtils.ts +18 -0
- package/src/locus-info/index.ts +69 -357
- package/src/locus-info/parser.ts +5 -1
- package/src/media/properties.ts +43 -0
- package/src/meeting/in-meeting-actions.ts +29 -0
- package/src/meeting/index.ts +296 -87
- package/src/meeting/request.ts +141 -0
- package/src/meeting/type.ts +9 -0
- package/src/meeting/util.ts +107 -3
- package/src/meeting-info/meeting-info-v2.ts +24 -5
- package/src/meetings/index.ts +15 -22
- package/src/member/index.ts +10 -0
- package/src/member/util.ts +14 -0
- package/src/members/index.ts +20 -10
- package/src/members/util.ts +20 -3
- package/src/metrics/constants.ts +1 -0
- package/src/multistream/mediaRequestManager.ts +7 -7
- package/src/multistream/remoteMedia.ts +34 -4
- package/src/multistream/remoteMediaGroup.ts +37 -2
- package/src/reachability/index.ts +3 -3
- package/test/unit/spec/common/browser-detection.js +0 -24
- package/test/unit/spec/controls-options-manager/index.js +47 -0
- package/test/unit/spec/fixture/locus.js +1 -0
- package/test/unit/spec/interceptors/locusRouteToken.ts +87 -0
- package/test/unit/spec/locus-info/index.js +80 -361
- package/test/unit/spec/locus-info/parser.js +3 -2
- package/test/unit/spec/media/properties.ts +137 -0
- package/test/unit/spec/meeting/in-meeting-actions.ts +14 -0
- package/test/unit/spec/meeting/index.js +637 -53
- package/test/unit/spec/meeting/muteState.js +32 -6
- package/test/unit/spec/meeting/request.js +21 -0
- package/test/unit/spec/meeting/utils.js +171 -18
- package/test/unit/spec/meeting-info/meetinginfov2.js +8 -3
- package/test/unit/spec/meetings/index.js +12 -5
- package/test/unit/spec/member/util.js +24 -0
- package/test/unit/spec/members/collection.js +120 -0
- package/test/unit/spec/members/index.js +107 -2
- package/test/unit/spec/members/request.js +55 -0
- package/test/unit/spec/members/utils.js +116 -14
- package/test/unit/spec/multistream/mediaRequestManager.ts +19 -6
- package/test/unit/spec/multistream/remoteMedia.ts +66 -2
- package/test/unit/spec/reachability/index.ts +158 -3
- package/test/unit/spec/roap/turnDiscovery.ts +3 -3
- package/dist/hashTree/constants.js +0 -23
- package/dist/hashTree/constants.js.map +0 -1
- package/dist/hashTree/hashTree.js +0 -516
- package/dist/hashTree/hashTree.js.map +0 -1
- package/dist/hashTree/hashTreeParser.js +0 -521
- package/dist/hashTree/hashTreeParser.js.map +0 -1
- package/dist/types/hashTree/constants.d.ts +0 -8
- package/dist/types/hashTree/hashTree.d.ts +0 -128
- package/dist/types/hashTree/hashTreeParser.d.ts +0 -152
- package/src/hashTree/constants.ts +0 -12
- package/src/hashTree/hashTree.ts +0 -460
- package/src/hashTree/hashTreeParser.ts +0 -556
- package/test/unit/spec/hashTree/hashTree.ts +0 -394
- package/test/unit/spec/hashTree/hashTreeParser.ts +0 -156
|
@@ -1,11 +1,4 @@
|
|
|
1
1
|
import EventsScope from '../common/events/events-scope';
|
|
2
|
-
import HashTreeParser, { DataSet, HashTreeMessage, HashTreeObject, HtMeta } from '../hashTree/hashTreeParser';
|
|
3
|
-
export type LocusLLMEvent = {
|
|
4
|
-
data: {
|
|
5
|
-
eventType: 'locus.state_message';
|
|
6
|
-
stateElementsMessage: HashTreeMessage;
|
|
7
|
-
};
|
|
8
|
-
};
|
|
9
2
|
export type LocusDTO = {
|
|
10
3
|
controls?: any;
|
|
11
4
|
fullState?: {
|
|
@@ -26,11 +19,7 @@ export type LocusDTO = {
|
|
|
26
19
|
name: string;
|
|
27
20
|
orgId: string;
|
|
28
21
|
};
|
|
29
|
-
htMeta?: HtMeta;
|
|
30
22
|
info?: any;
|
|
31
|
-
jsSdkMeta?: {
|
|
32
|
-
removedParticipantIds: string[];
|
|
33
|
-
};
|
|
34
23
|
links?: any;
|
|
35
24
|
mediaShares?: any[];
|
|
36
25
|
meetings?: any[];
|
|
@@ -51,7 +40,6 @@ export type LocusDTO = {
|
|
|
51
40
|
url?: string;
|
|
52
41
|
};
|
|
53
42
|
export type LocusApiResponseBody = {
|
|
54
|
-
dataSets?: DataSet[];
|
|
55
43
|
locus: LocusDTO;
|
|
56
44
|
};
|
|
57
45
|
/**
|
|
@@ -71,7 +59,6 @@ export default class LocusInfo extends EventsScope {
|
|
|
71
59
|
aclUrl: any;
|
|
72
60
|
baseSequence: any;
|
|
73
61
|
created: any;
|
|
74
|
-
deltaParticipants: any;
|
|
75
62
|
identities: any;
|
|
76
63
|
membership: any;
|
|
77
64
|
participants: any;
|
|
@@ -93,8 +80,6 @@ export default class LocusInfo extends EventsScope {
|
|
|
93
80
|
resources: any;
|
|
94
81
|
mainSessionLocusCache: any;
|
|
95
82
|
self: any;
|
|
96
|
-
hashTreeParser?: HashTreeParser;
|
|
97
|
-
hashTreeObjectId2ParticipantId: Map<number, string>;
|
|
98
83
|
/**
|
|
99
84
|
* Constructor
|
|
100
85
|
* @param {function} updateMeeting callback to update the meeting object from an object
|
|
@@ -107,6 +92,8 @@ export default class LocusInfo extends EventsScope {
|
|
|
107
92
|
* Does a Locus sync. It tries to get the latest delta DTO or if it can't, it falls back to getting the full Locus DTO.
|
|
108
93
|
*
|
|
109
94
|
* @param {Meeting} meeting
|
|
95
|
+
* @param {boolean} isLocusUrlChanged
|
|
96
|
+
* @param {Locus} locus
|
|
110
97
|
* @returns {undefined}
|
|
111
98
|
*/
|
|
112
99
|
private doLocusSync;
|
|
@@ -135,41 +122,17 @@ export default class LocusInfo extends EventsScope {
|
|
|
135
122
|
init(locus?: any): void;
|
|
136
123
|
/**
|
|
137
124
|
* @param {Object} locus
|
|
138
|
-
* @param {DataSet[]} [dataSets=[]] - Array of data sets
|
|
139
125
|
* @returns {undefined}
|
|
140
126
|
* @memberof LocusInfo
|
|
141
127
|
*/
|
|
142
|
-
initialSetup(locus: object
|
|
143
|
-
/**
|
|
144
|
-
*
|
|
145
|
-
* @param {HashTreeObject} object data set object
|
|
146
|
-
* @param {any} locus
|
|
147
|
-
* @returns {void}
|
|
148
|
-
*/
|
|
149
|
-
updateHashTreeObjectInLocus(object: HashTreeObject, locus: LocusDTO): LocusDTO;
|
|
128
|
+
initialSetup(locus: object): void;
|
|
150
129
|
/**
|
|
151
|
-
* Handles HTTP response from Locus API call
|
|
130
|
+
* Handles HTTP response from Locus API call.
|
|
152
131
|
* @param {Meeting} meeting meeting object
|
|
153
|
-
* @param {LocusApiResponseBody} responseBody body of the http
|
|
132
|
+
* @param {LocusApiResponseBody} responseBody body of the http response from Locus API call
|
|
154
133
|
* @returns {void}
|
|
155
134
|
*/
|
|
156
135
|
handleLocusAPIResponse(meeting: any, responseBody: LocusApiResponseBody): void;
|
|
157
|
-
/**
|
|
158
|
-
* Handles a hash tree message received from Locus.
|
|
159
|
-
*
|
|
160
|
-
* @param {Meeting} meeting - The meeting object
|
|
161
|
-
* @param {HashTreeMessage} message incoming hash tree message
|
|
162
|
-
* @returns {void}
|
|
163
|
-
*/
|
|
164
|
-
private handleHashTreeMessage;
|
|
165
|
-
/**
|
|
166
|
-
* Updates our locus info based on the data parsed by the hash tree parser.
|
|
167
|
-
*
|
|
168
|
-
* @param {LocusInfoUpdateType} updateType - The type of update received.
|
|
169
|
-
* @param {Object} [data] - Additional data for the update, if applicable.
|
|
170
|
-
* @returns {void}
|
|
171
|
-
*/
|
|
172
|
-
private updateFromHashTree;
|
|
173
136
|
/**
|
|
174
137
|
* @param {Meeting} meeting
|
|
175
138
|
* @param {Object} data
|
|
@@ -189,11 +152,10 @@ export default class LocusInfo extends EventsScope {
|
|
|
189
152
|
* updates the locus with full locus object
|
|
190
153
|
* @param {object} locus locus object
|
|
191
154
|
* @param {string} eventType particulat locus event
|
|
192
|
-
* @param {DataSet[]} dataSets
|
|
193
155
|
* @returns {object} null
|
|
194
156
|
* @memberof LocusInfo
|
|
195
157
|
*/
|
|
196
|
-
onFullLocus(locus: any, eventType?: string
|
|
158
|
+
onFullLocus(locus: any, eventType?: string): void;
|
|
197
159
|
/**
|
|
198
160
|
* @param {String} eventType
|
|
199
161
|
* @returns {undefined}
|
|
@@ -237,14 +199,6 @@ export default class LocusInfo extends EventsScope {
|
|
|
237
199
|
* @memberof LocusInfo
|
|
238
200
|
*/
|
|
239
201
|
compareSelfAndHost(): void;
|
|
240
|
-
/**
|
|
241
|
-
* Update the deltaParticipants property of this object based on a list of
|
|
242
|
-
* provided participants.
|
|
243
|
-
*
|
|
244
|
-
* @param {Array} [participants] - The participants to update against.
|
|
245
|
-
* @returns {void}
|
|
246
|
-
*/
|
|
247
|
-
updateParticipantDeltas(participants?: Array<any>): void;
|
|
248
202
|
/**
|
|
249
203
|
* update meeting's members
|
|
250
204
|
* @param {Object} participants new participants object
|
|
@@ -253,7 +207,7 @@ export default class LocusInfo extends EventsScope {
|
|
|
253
207
|
* @returns {Array} updatedParticipants
|
|
254
208
|
* @memberof LocusInfo
|
|
255
209
|
*/
|
|
256
|
-
updateParticipants(participants: object, removedParticipantIds
|
|
210
|
+
updateParticipants(participants: object, removedParticipantIds?: string[], isReplace?: boolean): void;
|
|
257
211
|
/**
|
|
258
212
|
* @param {Object} controls
|
|
259
213
|
* @param {Object} self
|
|
@@ -349,10 +303,11 @@ export default class LocusInfo extends EventsScope {
|
|
|
349
303
|
/**
|
|
350
304
|
* handles when the locus.url is updated
|
|
351
305
|
* @param {String} url
|
|
306
|
+
* @param {Boolean} isMainLocus
|
|
352
307
|
* @returns {undefined}
|
|
353
308
|
* emits internal event locus_info_update_url
|
|
354
309
|
*/
|
|
355
|
-
updateLocusUrl(url: string): void;
|
|
310
|
+
updateLocusUrl(url: string, isMainLocus?: boolean): void;
|
|
356
311
|
/**
|
|
357
312
|
* @param {String} aclUrl
|
|
358
313
|
* @returns {undefined}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { LocalCameraStream, LocalMicrophoneStream, LocalDisplayStream, LocalSystemAudioStream, RemoteStream } from '@webex/media-helpers';
|
|
2
2
|
import { ClientEvent } from '@webex/internal-plugin-metrics';
|
|
3
|
+
import { throttle } from 'lodash';
|
|
3
4
|
export type MediaDirection = {
|
|
4
5
|
sendAudio: boolean;
|
|
5
6
|
sendVideo: boolean;
|
|
@@ -26,6 +27,10 @@ export default class MediaProperties {
|
|
|
26
27
|
videoDeviceId: any;
|
|
27
28
|
videoStream?: LocalCameraStream;
|
|
28
29
|
namespace: string;
|
|
30
|
+
mediaIssueCounters: {
|
|
31
|
+
[key: string]: number;
|
|
32
|
+
};
|
|
33
|
+
throttledSendMediaIssueMetric: ReturnType<typeof throttle>;
|
|
29
34
|
/**
|
|
30
35
|
* @param {Object} [options] -- to auto construct
|
|
31
36
|
* @returns {MediaProperties}
|
|
@@ -63,6 +68,11 @@ export default class MediaProperties {
|
|
|
63
68
|
* @returns {void}
|
|
64
69
|
*/
|
|
65
70
|
setVideoDeviceId(deviceId: string): void;
|
|
71
|
+
/**
|
|
72
|
+
* Clears the webrtcMediaConnection. This method should be called after
|
|
73
|
+
* peer connection is closed and no longer needed.
|
|
74
|
+
* @returns {void}
|
|
75
|
+
*/
|
|
66
76
|
unsetPeerConnection(): void;
|
|
67
77
|
/**
|
|
68
78
|
* Removes both remote audio and video from class instance
|
|
@@ -129,4 +139,15 @@ export default class MediaProperties {
|
|
|
129
139
|
selectedCandidatePairChanges: number;
|
|
130
140
|
numTransports: number;
|
|
131
141
|
}>;
|
|
142
|
+
/**
|
|
143
|
+
* Sends a metric about a media issue. Metrics are throttled so that we don't
|
|
144
|
+
* send too many of them, but include a count so that we know how many issues
|
|
145
|
+
* were detected.
|
|
146
|
+
*
|
|
147
|
+
* @param {string} issueType
|
|
148
|
+
* @param {string} issueSubType
|
|
149
|
+
* @param {string} correlationId
|
|
150
|
+
* @returns {void}
|
|
151
|
+
*/
|
|
152
|
+
sendMediaIssueMetric(issueType: string, issueSubType: string, correlationId: any): void;
|
|
132
153
|
}
|
|
@@ -34,8 +34,14 @@ interface IInMeetingActions {
|
|
|
34
34
|
isClosedCaptionActive?: boolean;
|
|
35
35
|
canStartManualCaption?: boolean;
|
|
36
36
|
canStopManualCaption?: boolean;
|
|
37
|
+
isLocalRecordingStarted?: boolean;
|
|
38
|
+
isLocalRecordingStopped?: boolean;
|
|
39
|
+
isLocalRecordingPaused?: boolean;
|
|
40
|
+
isLocalStreamingStarted?: boolean;
|
|
41
|
+
isLocalStreamingStopped?: boolean;
|
|
37
42
|
isManualCaptionActive?: boolean;
|
|
38
43
|
isSaveTranscriptsEnabled?: boolean;
|
|
44
|
+
isSpokenLanguageAutoDetectionEnabled?: boolean;
|
|
39
45
|
isWebexAssistantActive?: boolean;
|
|
40
46
|
canViewCaptionPanel?: boolean;
|
|
41
47
|
isRealTimeTranslationEnabled?: boolean;
|
|
@@ -83,6 +89,7 @@ interface IInMeetingActions {
|
|
|
83
89
|
canDoVideo?: boolean;
|
|
84
90
|
canAnnotate?: boolean;
|
|
85
91
|
canUseVoip?: boolean;
|
|
92
|
+
showAutoEndMeetingWarning?: boolean;
|
|
86
93
|
supportHQV?: boolean;
|
|
87
94
|
supportHDV?: boolean;
|
|
88
95
|
canShareWhiteBoard?: boolean;
|
|
@@ -139,8 +146,14 @@ export default class InMeetingActions implements IInMeetingActions {
|
|
|
139
146
|
isClosedCaptionActive: any;
|
|
140
147
|
canStartManualCaption: any;
|
|
141
148
|
canStopManualCaption: any;
|
|
149
|
+
isLocalRecordingStopped: any;
|
|
150
|
+
isLocalRecordingStarted: any;
|
|
151
|
+
isLocalRecordingPaused: any;
|
|
142
152
|
isManualCaptionActive: any;
|
|
153
|
+
isLocalStreamingStarted: any;
|
|
154
|
+
isLocalStreamingStopped: any;
|
|
143
155
|
isSaveTranscriptsEnabled: any;
|
|
156
|
+
isSpokenLanguageAutoDetectionEnabled: any;
|
|
144
157
|
isWebexAssistantActive: any;
|
|
145
158
|
canViewCaptionPanel: any;
|
|
146
159
|
isRealTimeTranslationEnabled: any;
|
|
@@ -188,6 +201,7 @@ export default class InMeetingActions implements IInMeetingActions {
|
|
|
188
201
|
canDoVideo: any;
|
|
189
202
|
canAnnotate: any;
|
|
190
203
|
canUseVoip: any;
|
|
204
|
+
showAutoEndMeetingWarning: any;
|
|
191
205
|
supportHQV: any;
|
|
192
206
|
enforceVirtualBackground: any;
|
|
193
207
|
supportHDV: any;
|
|
@@ -2,13 +2,12 @@
|
|
|
2
2
|
import { StatelessWebexPlugin } from '@webex/webex-core';
|
|
3
3
|
import { ClientEvent, ClientEventLeaveReason } from '@webex/internal-plugin-metrics';
|
|
4
4
|
import { ClientEvent as RawClientEvent } from '@webex/event-dictionary-ts';
|
|
5
|
-
import { MediaType, StatsAnalyzer, NetworkQualityMonitor } from '@webex/internal-media-core';
|
|
5
|
+
import { MediaType, StatsAnalyzer, NetworkQualityMonitor, StatsMonitor } from '@webex/internal-media-core';
|
|
6
6
|
import { LocalStream, LocalCameraStream, LocalDisplayStream, LocalSystemAudioStream, LocalMicrophoneStream } from '@webex/media-helpers';
|
|
7
7
|
import Roap, { type TurnDiscoverySkipReason } from '../roap/index';
|
|
8
8
|
import { type TurnServerInfo } from '../roap/types';
|
|
9
9
|
import { type BundlePolicy } from '../media';
|
|
10
10
|
import MediaProperties from '../media/properties';
|
|
11
|
-
import { LocusDTO } from '../locus-info';
|
|
12
11
|
import ReconnectionManager from '../reconnection-manager';
|
|
13
12
|
import MeetingRequest from './request';
|
|
14
13
|
import Members from '../members/index';
|
|
@@ -23,7 +22,7 @@ import ControlsOptionsManager from '../controls-options-manager';
|
|
|
23
22
|
import { LocusMediaRequest } from './locusMediaRequest';
|
|
24
23
|
import { BrbState } from './brbState';
|
|
25
24
|
import { SetStageOptions } from './request.type';
|
|
26
|
-
import {
|
|
25
|
+
import { Invitee } from './type';
|
|
27
26
|
export type CaptionData = {
|
|
28
27
|
id: string;
|
|
29
28
|
isFinal: boolean;
|
|
@@ -84,6 +83,7 @@ export type CallStateForMetrics = {
|
|
|
84
83
|
loginType?: string;
|
|
85
84
|
userNameInput?: string;
|
|
86
85
|
emailInput?: string;
|
|
86
|
+
pstnCorrelationId?: string;
|
|
87
87
|
};
|
|
88
88
|
export declare const MEDIA_UPDATE_TYPE: {
|
|
89
89
|
TRANSCODED_MEDIA_CONNECTION: string;
|
|
@@ -98,6 +98,7 @@ export declare enum ScreenShareFloorStatus {
|
|
|
98
98
|
type FetchMeetingInfoParams = {
|
|
99
99
|
password?: string;
|
|
100
100
|
registrationId?: string;
|
|
101
|
+
classificationId?: string;
|
|
101
102
|
captchaCode?: string;
|
|
102
103
|
extraParams?: Record<string, any>;
|
|
103
104
|
sendCAevents?: boolean;
|
|
@@ -428,6 +429,7 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
428
429
|
shareStatus: string;
|
|
429
430
|
screenShareFloorState: ScreenShareFloorStatus;
|
|
430
431
|
statsAnalyzer: StatsAnalyzer;
|
|
432
|
+
statsMonitor: StatsMonitor;
|
|
431
433
|
transcription: Transcription;
|
|
432
434
|
updateMediaConnections: (mediaConnections: any[]) => void;
|
|
433
435
|
userDisplayHints: any;
|
|
@@ -489,10 +491,11 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
489
491
|
/**
|
|
490
492
|
* @param {Object} attrs
|
|
491
493
|
* @param {Object} options
|
|
494
|
+
* @param {Function} callback - if provided, it will be called with the newly created meeting object as soon as the meeting.id is set
|
|
492
495
|
* @constructor
|
|
493
496
|
* @memberof Meeting
|
|
494
497
|
*/
|
|
495
|
-
constructor(attrs: any, options: object);
|
|
498
|
+
constructor(attrs: any, options: object, callback: (meeting: Meeting) => void);
|
|
496
499
|
/**
|
|
497
500
|
* returns meeting is joined
|
|
498
501
|
* @private
|
|
@@ -515,6 +518,16 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
515
518
|
* @param {string} correlationId
|
|
516
519
|
*/
|
|
517
520
|
set correlationId(correlationId: string);
|
|
521
|
+
/**
|
|
522
|
+
* Getter - Returns callStateForMetrics.pstnCorrelationId
|
|
523
|
+
* @returns {string | undefined}
|
|
524
|
+
*/
|
|
525
|
+
get pstnCorrelationId(): string | undefined;
|
|
526
|
+
/**
|
|
527
|
+
* Setter - sets callStateForMetrics.pstnCorrelationId
|
|
528
|
+
* @param {string | undefined} correlationId
|
|
529
|
+
*/
|
|
530
|
+
set pstnCorrelationId(correlationId: string | undefined);
|
|
518
531
|
/**
|
|
519
532
|
* Getter - Returns callStateForMetrics.userNameInput
|
|
520
533
|
* @returns {string}
|
|
@@ -864,45 +877,37 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
864
877
|
private updateMeetingObject;
|
|
865
878
|
/**
|
|
866
879
|
* Invite a guest to the call that isn't normally part of this call
|
|
867
|
-
* @param {
|
|
880
|
+
* @param {Invitee} invitee
|
|
868
881
|
* @param {String} invitee.emailAddress
|
|
869
882
|
* @param {String} invitee.email
|
|
870
883
|
* @param {String} invitee.phoneNumber
|
|
871
884
|
* @param {Boolean} [alertIfActive]
|
|
885
|
+
* @param {Boolean} [invitee.skipEmailValidation]
|
|
886
|
+
* @param {Boolean} [invitee.isInternalNumber]
|
|
872
887
|
* @returns {Promise} see #members.addMember
|
|
873
888
|
* @public
|
|
874
889
|
* @memberof Meeting
|
|
875
890
|
*/
|
|
876
|
-
invite(invitee:
|
|
877
|
-
emailAddress: string;
|
|
878
|
-
email: string;
|
|
879
|
-
phoneNumber: string;
|
|
880
|
-
roles: Array<string>;
|
|
881
|
-
}, alertIfActive?: boolean): any;
|
|
891
|
+
invite(invitee: Invitee, alertIfActive?: boolean): any;
|
|
882
892
|
/**
|
|
883
893
|
* Cancel an outgoing phone call invitation made during a meeting
|
|
884
|
-
* @param {
|
|
894
|
+
* @param {Invitee} invitee
|
|
885
895
|
* @param {String} invitee.phoneNumber
|
|
886
896
|
* @returns {Promise} see #members.cancelPhoneInvite
|
|
887
897
|
* @public
|
|
888
898
|
* @memberof Meeting
|
|
889
899
|
*/
|
|
890
|
-
cancelPhoneInvite(invitee:
|
|
891
|
-
phoneNumber: string;
|
|
892
|
-
}): any;
|
|
900
|
+
cancelPhoneInvite(invitee: Invitee): any;
|
|
893
901
|
/**
|
|
894
902
|
* Cancel an SIP/phone call invitation made during a meeting
|
|
895
|
-
* @param {
|
|
903
|
+
* @param {Invitee} invitee
|
|
896
904
|
* @param {String} invitee.memberId
|
|
897
905
|
* @param {Boolean} [invitee.isInternalNumber] - When cancel phone invitation, if the number is internal
|
|
898
906
|
* @returns {Promise} see #members.cancelInviteByMemberId
|
|
899
907
|
* @public
|
|
900
908
|
* @memberof Meeting
|
|
901
909
|
*/
|
|
902
|
-
cancelInviteByMemberId(invitee:
|
|
903
|
-
memberId: string;
|
|
904
|
-
isInternalNumber?: boolean;
|
|
905
|
-
}): any;
|
|
910
|
+
cancelInviteByMemberId(invitee: Invitee): any;
|
|
906
911
|
/**
|
|
907
912
|
* Admit the guest(s) to the call once they are waiting.
|
|
908
913
|
* If the host/cohost is in a breakout session, the locus url
|
|
@@ -1042,13 +1047,11 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1042
1047
|
* @memberof Meeting
|
|
1043
1048
|
*/
|
|
1044
1049
|
setLocus(locus: {
|
|
1045
|
-
locus: LocusDTO;
|
|
1046
1050
|
mediaConnections: Array<any>;
|
|
1047
1051
|
locusUrl: string;
|
|
1048
1052
|
locusId: string;
|
|
1049
1053
|
mediaId: string;
|
|
1050
1054
|
host: object;
|
|
1051
|
-
dataSets: DataSet[];
|
|
1052
1055
|
} | any): void;
|
|
1053
1056
|
/**
|
|
1054
1057
|
* Upload logs for the current meeting
|
|
@@ -1266,12 +1269,6 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1266
1269
|
startTranscription(options?: {
|
|
1267
1270
|
spokenLanguage?: string;
|
|
1268
1271
|
}): Promise<void>;
|
|
1269
|
-
/** Handles Locus LLM events
|
|
1270
|
-
*
|
|
1271
|
-
* @param {LocusLLMEvent} event - The Locus LLM event to process
|
|
1272
|
-
* @returns {void}
|
|
1273
|
-
*/
|
|
1274
|
-
private processLocusLLMEvent;
|
|
1275
1272
|
/**
|
|
1276
1273
|
* Callback called when a relay event is received from meeting LLM Connection
|
|
1277
1274
|
* @param {RelayEvent} e Event object coming from LLM Connection
|
|
@@ -1357,7 +1354,7 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1357
1354
|
* @memberof Meeting
|
|
1358
1355
|
* @returns {Promise}
|
|
1359
1356
|
*/
|
|
1360
|
-
disconnectPhoneAudio(): Promise<
|
|
1357
|
+
disconnectPhoneAudio(): Promise<void>;
|
|
1361
1358
|
/**
|
|
1362
1359
|
* Moves the call to the specified resourceId
|
|
1363
1360
|
* @param {String} resourceId
|
|
@@ -1911,6 +1908,20 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1911
1908
|
* @memberof Meeting
|
|
1912
1909
|
*/
|
|
1913
1910
|
sendReaction(reactionType: ReactionServerType, skinToneType?: SkinToneType): any;
|
|
1911
|
+
/**
|
|
1912
|
+
* Extend the current meeting duration.
|
|
1913
|
+
*
|
|
1914
|
+
* @param {number} extensionMinutes - how many minutes to extend
|
|
1915
|
+
* @returns {Promise}
|
|
1916
|
+
* @public
|
|
1917
|
+
* @memberof Meeting
|
|
1918
|
+
*/
|
|
1919
|
+
extendMeeting({ meetingPolicyUrl, meetingInstanceId, participantId, extensionMinutes, }: {
|
|
1920
|
+
meetingPolicyUrl: any;
|
|
1921
|
+
meetingInstanceId: any;
|
|
1922
|
+
participantId: any;
|
|
1923
|
+
extensionMinutes?: number;
|
|
1924
|
+
}): any;
|
|
1914
1925
|
/**
|
|
1915
1926
|
* Method to enable or disable reactions inside the meeting.
|
|
1916
1927
|
*
|
|
@@ -2026,5 +2037,29 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
2026
2037
|
* @returns {Promise} The locus request
|
|
2027
2038
|
*/
|
|
2028
2039
|
unsetStage(): Promise<any>;
|
|
2040
|
+
/**
|
|
2041
|
+
* Notifies the host with the given meeting UUID and display names.
|
|
2042
|
+
*
|
|
2043
|
+
* @param {string} meetingUuid - The UUID of the meeting.
|
|
2044
|
+
* @param {string[]} displayName - An array of display names to notify the host with.
|
|
2045
|
+
* @returns {Promise<any>} The result of the notifyHost request.
|
|
2046
|
+
*/
|
|
2047
|
+
notifyHost(meetingUuid: string, displayName: string[]): any;
|
|
2048
|
+
/**
|
|
2049
|
+
* Call out a SIP participant to a meeting
|
|
2050
|
+
* @param {string} address - The SIP address or phone number
|
|
2051
|
+
* @param {string} displayName - The display name for the participant
|
|
2052
|
+
* @param {string} [correlationId] - Optional correlation ID
|
|
2053
|
+
* @returns {Promise} Promise that resolves when the call-out is initiated
|
|
2054
|
+
*/
|
|
2055
|
+
sipCallOut(address: string, displayName: string): Promise<any>;
|
|
2056
|
+
/**
|
|
2057
|
+
* Cancel an ongoing SIP call-out
|
|
2058
|
+
* @param {string} participantId - The participant ID to cancel
|
|
2059
|
+
* @returns {Promise} Promise that resolves when the call-out is cancelled
|
|
2060
|
+
* @public
|
|
2061
|
+
* @memberof Meetings
|
|
2062
|
+
*/
|
|
2063
|
+
cancelSipCallOut(participantId: string): Promise<any>;
|
|
2029
2064
|
}
|
|
2030
2065
|
export {};
|
|
@@ -284,6 +284,22 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
284
284
|
* @returns {Promise}
|
|
285
285
|
*/
|
|
286
286
|
sendReaction({ reactionChannelUrl, reaction, participantId }: SendReactionOptions): any;
|
|
287
|
+
/**
|
|
288
|
+
* Extend the current meeting duration.
|
|
289
|
+
*
|
|
290
|
+
* @param {Object} params - Parameters for extending the meeting.
|
|
291
|
+
* @param {string} params.meetingInstanceId - The unique ID of the meeting instance.
|
|
292
|
+
* @param {string} params.participantId - The ID of the participant requesting the extension.
|
|
293
|
+
* @param {number} params.extensionMinutes - The number of minutes to extend the meeting by.
|
|
294
|
+
* @param {string} params.meetingPolicyUrl - The base URL for meeting policy service (dynamic, from locus links)
|
|
295
|
+
* @returns {Promise<any>} A promise that resolves with the server response.
|
|
296
|
+
*/
|
|
297
|
+
extendMeeting({ meetingInstanceId, participantId, extensionMinutes, meetingPolicyUrl, }: {
|
|
298
|
+
meetingInstanceId: string;
|
|
299
|
+
participantId: string;
|
|
300
|
+
extensionMinutes: number;
|
|
301
|
+
meetingPolicyUrl: string;
|
|
302
|
+
}): any;
|
|
287
303
|
/**
|
|
288
304
|
* Make a network request to enable or disable reactions.
|
|
289
305
|
* @param {boolean} options.enable - determines if we need to enable or disable.
|
|
@@ -322,4 +338,30 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
|
322
338
|
* @returns {Promise} The locus request
|
|
323
339
|
*/
|
|
324
340
|
synchronizeStage(locusUrl: string, videoLayout: SynchronizeVideoLayout): Promise<any>;
|
|
341
|
+
/**
|
|
342
|
+
* Sends a request to notify the host of a meeting.
|
|
343
|
+
* @param {string} siteFullUrl - The site URL.
|
|
344
|
+
* @param {string} locusId - The locus ID.
|
|
345
|
+
* @param {string} meetingUuid - The meeting UUID.
|
|
346
|
+
* @param {Array<string>} displayName - The display names to notify the host about.
|
|
347
|
+
* @returns {Promise}
|
|
348
|
+
*/
|
|
349
|
+
notifyHost(siteFullUrl: string, locusId: string, meetingUuid: string, displayName: string[]): any;
|
|
350
|
+
/**
|
|
351
|
+
* Call out to a SIP participant
|
|
352
|
+
*
|
|
353
|
+
* @param {any} meetingId - The meeting ID.
|
|
354
|
+
* @param {any} meetingNumber - The meeting number.
|
|
355
|
+
* @param {string} address - The SIP address to call out.
|
|
356
|
+
* @param {string} displayName - The display name for the participant.
|
|
357
|
+
* @returns {Promise} The API response
|
|
358
|
+
*/
|
|
359
|
+
sipCallOut(meetingId: any, meetingNumber: any, address: any, displayName: any): Promise<any>;
|
|
360
|
+
/**
|
|
361
|
+
* Cancel an ongoing SIP call-out
|
|
362
|
+
*
|
|
363
|
+
* @param {string} participantId - The ID of the participant whose SIP call-out should be cancelled.
|
|
364
|
+
* @returns {Promise} The API response
|
|
365
|
+
*/
|
|
366
|
+
cancelSipCallOut(participantId: any): Promise<any>;
|
|
325
367
|
}
|
|
@@ -14,6 +14,12 @@ declare const MeetingUtil: {
|
|
|
14
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
15
|
*/
|
|
16
16
|
getIpVersion(webex: any): IP_VERSION | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* Returns CA event labels related to Orpheus ipver parameter that can be sent to CA with any CA event
|
|
19
|
+
* @param {any} webex instance
|
|
20
|
+
* @returns {Array<string>|undefined} array of CA event labels or undefined if no labels should be sent
|
|
21
|
+
*/
|
|
22
|
+
getCaEventLabelsForIpVersion(webex: any): Array<string> | undefined;
|
|
17
23
|
joinMeeting: (meeting: any, options: any) => Promise<any>;
|
|
18
24
|
cleanUp: (meeting: any) => any;
|
|
19
25
|
disconnectPhoneAudio: (meeting: any, phoneUrl: any) => any;
|
|
@@ -71,13 +77,20 @@ declare const MeetingUtil: {
|
|
|
71
77
|
canStopTranscribing: (displayHints: any) => any;
|
|
72
78
|
isClosedCaptionActive: (displayHints: any) => any;
|
|
73
79
|
canStartManualCaption: (displayHints: any) => any;
|
|
80
|
+
isLocalRecordingStarted: (displayHints: any) => any;
|
|
81
|
+
isLocalRecordingStopped: (displayHints: any) => any;
|
|
82
|
+
isLocalRecordingPaused: (displayHints: any) => any;
|
|
83
|
+
isLocalStreamingStarted: (displayHints: any) => any;
|
|
84
|
+
isLocalStreamingStopped: (displayHints: any) => any;
|
|
74
85
|
canStopManualCaption: (displayHints: any) => any;
|
|
75
86
|
isManualCaptionActive: (displayHints: any) => any;
|
|
87
|
+
isSpokenLanguageAutoDetectionEnabled: (displayHints: any) => any;
|
|
76
88
|
isWebexAssistantActive: (displayHints: any) => any;
|
|
77
89
|
canViewCaptionPanel: (displayHints: any) => any;
|
|
78
90
|
isRealTimeTranslationEnabled: (displayHints: any) => any;
|
|
79
91
|
canSelectSpokenLanguages: (displayHints: any) => any;
|
|
80
92
|
waitingForOthersToJoin: (displayHints: any) => any;
|
|
93
|
+
showAutoEndMeetingWarning: (displayHints: any) => any;
|
|
81
94
|
canSendReactions: (originalValue: any, displayHints: any) => any;
|
|
82
95
|
canUserRenameSelfAndObserved: (displayHints: any) => any;
|
|
83
96
|
requiresPostMeetingDataConsentPrompt: (displayHints: any) => any;
|
|
@@ -187,20 +187,22 @@ export default class MeetingInfoV2 {
|
|
|
187
187
|
* @param {String} conversationUrl conversationUrl to start adhoc meeting on
|
|
188
188
|
* @param {String} installedOrgID org ID of user's machine
|
|
189
189
|
* @param {Boolean} enableStaticMeetingLink whether or not to enable static meeting link
|
|
190
|
+
* @param {String} classificationId need it to start adhoc meeting if space support classification
|
|
190
191
|
* @returns {Promise} returns a meeting info object
|
|
191
192
|
* @public
|
|
192
193
|
* @memberof MeetingInfo
|
|
193
194
|
*/
|
|
194
|
-
createAdhocSpaceMeetingOrEnableStaticMeetingLink(conversationUrl: string, installedOrgID?: string, enableStaticMeetingLink?: boolean): Promise<any>;
|
|
195
|
+
createAdhocSpaceMeetingOrEnableStaticMeetingLink(conversationUrl: string, installedOrgID?: string, enableStaticMeetingLink?: boolean, classificationId?: any): Promise<any>;
|
|
195
196
|
/**
|
|
196
197
|
* Creates adhoc space meetings for a space by fetching the conversation infomation
|
|
197
198
|
* @param {String} conversationUrl conversationUrl to start adhoc meeting on
|
|
198
199
|
* @param {String} installedOrgID org ID of user's machine
|
|
200
|
+
* @param {String} classificationId if space is support classification, it needs provide it during start instant meeting
|
|
199
201
|
* @returns {Promise} returns a meeting info object
|
|
200
202
|
* @public
|
|
201
203
|
* @memberof MeetingInfo
|
|
202
204
|
*/
|
|
203
|
-
createAdhocSpaceMeeting(conversationUrl: string, installedOrgID?: string): Promise<any>;
|
|
205
|
+
createAdhocSpaceMeeting(conversationUrl: string, installedOrgID?: string, classificationId?: string): Promise<any>;
|
|
204
206
|
/**
|
|
205
207
|
* Fetches details for static meeting link
|
|
206
208
|
* @param {String} conversationUrl conversationUrl that's required to find static meeting link if it exists
|
|
@@ -239,6 +241,7 @@ export default class MeetingInfoV2 {
|
|
|
239
241
|
* @param {Object} options
|
|
240
242
|
* @param {String} registrationId
|
|
241
243
|
* @param {String} fullSiteUrl
|
|
244
|
+
* @param {String} classificationId
|
|
242
245
|
* @returns {Promise} returns a meeting info object
|
|
243
246
|
* @public
|
|
244
247
|
* @memberof MeetingInfo
|
|
@@ -249,5 +252,5 @@ export default class MeetingInfoV2 {
|
|
|
249
252
|
}, installedOrgID?: any, locusId?: any, extraParams?: object, options?: {
|
|
250
253
|
meetingId?: string;
|
|
251
254
|
sendCAevents?: boolean;
|
|
252
|
-
}, registrationId?: string, fullSiteUrl?: string): Promise<any>;
|
|
255
|
+
}, registrationId?: string, fullSiteUrl?: string, classificationId?: string): Promise<any>;
|
|
253
256
|
}
|
|
@@ -400,11 +400,12 @@ export default class Meetings extends WebexPlugin {
|
|
|
400
400
|
* @param {Object} [meetingInfo] - Pre-fetched complete meeting info
|
|
401
401
|
* @param {String} [meetingLookupUrl] - meeting info prefetch url
|
|
402
402
|
* @param {string} sessionCorrelationId - the optional specified sessionCorrelationId (callStateForMetrics.sessionCorrelationId) can be provided instead
|
|
403
|
+
* @param {String} classificationId - If space support classification, it will provide it while start instant meeting
|
|
403
404
|
* @returns {Promise<Meeting>} A new Meeting.
|
|
404
405
|
* @public
|
|
405
406
|
* @memberof Meetings
|
|
406
407
|
*/
|
|
407
|
-
create(destination: string, type?: DESTINATION_TYPE, useRandomDelayForInfo?: boolean, infoExtraParams?: {}, correlationId?: string, failOnMissingMeetingInfo?: boolean, callStateForMetrics?: CallStateForMetrics, meetingInfo?: any, meetingLookupUrl?: any, sessionCorrelationId?: string): any;
|
|
408
|
+
create(destination: string, type?: DESTINATION_TYPE, useRandomDelayForInfo?: boolean, infoExtraParams?: {}, correlationId?: string, failOnMissingMeetingInfo?: boolean, callStateForMetrics?: CallStateForMetrics, meetingInfo?: any, meetingLookupUrl?: any, sessionCorrelationId?: string, classificationId?: string): any;
|
|
408
409
|
/**
|
|
409
410
|
* Enable static meeting links for given conversation url.
|
|
410
411
|
*
|
|
@@ -438,6 +439,7 @@ export default class Meetings extends WebexPlugin {
|
|
|
438
439
|
* @param {Boolean} failOnMissingMeetingInfo - whether to throw an error if meeting info fails to fetch (for calls that are not 1:1 or content share)
|
|
439
440
|
* @param {Object} [meetingInfo] - Pre-fetched complete meeting info
|
|
440
441
|
* @param {String} [meetingLookupUrl] - meeting info prefetch url
|
|
442
|
+
* @param {String} classificationId see create()
|
|
441
443
|
* @returns {Promise} a new meeting instance complete with meeting info and destination
|
|
442
444
|
* @private
|
|
443
445
|
* @memberof Meetings
|
|
@@ -96,6 +96,11 @@ declare const MemberUtil: {
|
|
|
96
96
|
* @returns {Boolean}
|
|
97
97
|
*/
|
|
98
98
|
isBreakoutsSupported: (participant: any) => boolean;
|
|
99
|
+
/**
|
|
100
|
+
* @param {Object} participant - The locus participant object.
|
|
101
|
+
* @returns {Boolean}
|
|
102
|
+
*/
|
|
103
|
+
isSupportsSingleUserAutoEndMeeting: (participant: any) => boolean;
|
|
99
104
|
/**
|
|
100
105
|
* @param {Object} participant - The locus participant object.
|
|
101
106
|
* @returns {Boolean}
|