@webex/plugin-meetings 3.9.0-webinar5k.1 → 3.9.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 +16 -0
- package/dist/constants.js.map +1 -1
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/index.js +40 -328
- package/dist/locus-info/index.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +6 -0
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +196 -160
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/muteState.js +5 -2
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/type.js +7 -0
- package/dist/meeting/type.js.map +1 -0
- package/dist/meeting/util.js +79 -10
- package/dist/meeting/util.js.map +1 -1
- package/dist/meetings/index.js +37 -39
- package/dist/meetings/index.js.map +1 -1
- package/dist/member/types.js.map +1 -1
- package/dist/members/collection.js +0 -13
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.js +21 -40
- package/dist/members/index.js.map +1 -1
- package/dist/members/util.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/types/constants.d.ts +16 -0
- package/dist/types/locus-info/index.d.ts +3 -102
- package/dist/types/meeting/in-meeting-actions.d.ts +6 -0
- package/dist/types/meeting/index.d.ts +23 -28
- package/dist/types/meeting/type.d.ts +9 -0
- package/dist/types/meeting/util.d.ts +6 -3
- package/dist/types/member/types.d.ts +0 -1
- package/dist/types/members/collection.d.ts +0 -6
- package/dist/types/members/index.d.ts +7 -16
- package/dist/types/members/util.d.ts +2 -1
- 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 +22 -24
- package/src/constants.ts +16 -2
- package/src/locus-info/index.ts +39 -409
- package/src/meeting/in-meeting-actions.ts +13 -0
- package/src/meeting/index.ts +92 -63
- package/src/meeting/muteState.ts +6 -2
- package/src/meeting/type.ts +9 -0
- package/src/meeting/util.ts +93 -19
- package/src/meetings/index.ts +6 -19
- package/src/member/types.ts +0 -1
- package/src/members/collection.ts +0 -11
- package/src/members/index.ts +10 -33
- package/src/members/util.ts +2 -1
- package/src/multistream/mediaRequestManager.ts +7 -7
- package/src/multistream/remoteMedia.ts +34 -4
- package/src/multistream/remoteMediaGroup.ts +37 -2
- package/test/unit/spec/locus-info/index.js +8 -365
- package/test/unit/spec/meeting/in-meeting-actions.ts +6 -0
- package/test/unit/spec/meeting/index.js +254 -38
- package/test/unit/spec/meeting/utils.js +122 -1
- package/test/unit/spec/meetings/index.js +2 -0
- package/test/unit/spec/members/index.js +37 -1
- package/test/unit/spec/multistream/mediaRequestManager.ts +19 -6
- package/test/unit/spec/multistream/remoteMedia.ts +66 -2
- 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
@@ -779,6 +779,9 @@ export declare const DISPLAY_HINTS: {
|
|
779
779
|
PREMISE_RECORDING_CONTROL_PAUSE: string;
|
780
780
|
PREMISE_RECORDING_CONTROL_STOP: string;
|
781
781
|
PREMISE_RECORDING_CONTROL_RESUME: string;
|
782
|
+
LOCAL_RECORDING_STATUS_STARTED: string;
|
783
|
+
LOCAL_RECORDING_STATUS_STOPPED: string;
|
784
|
+
LOCAL_RECORDING_STATUS_PAUSED: string;
|
782
785
|
LOCK_CONTROL_UNLOCK: string;
|
783
786
|
LOCK_CONTROL_LOCK: string;
|
784
787
|
LOCK_STATUS_LOCKED: string;
|
@@ -973,6 +976,7 @@ export declare const QUALITY_LEVELS: {
|
|
973
976
|
HIGH: string;
|
974
977
|
'360p': string;
|
975
978
|
'480p': string;
|
979
|
+
'540p': string;
|
976
980
|
'720p': string;
|
977
981
|
'1080p': string;
|
978
982
|
};
|
@@ -1001,6 +1005,18 @@ export declare const AVAILABLE_RESOLUTIONS: {
|
|
1001
1005
|
};
|
1002
1006
|
};
|
1003
1007
|
};
|
1008
|
+
'540p': {
|
1009
|
+
video: {
|
1010
|
+
width: {
|
1011
|
+
max: number;
|
1012
|
+
ideal: number;
|
1013
|
+
};
|
1014
|
+
height: {
|
1015
|
+
max: number;
|
1016
|
+
ideal: number;
|
1017
|
+
};
|
1018
|
+
};
|
1019
|
+
};
|
1004
1020
|
'720p': {
|
1005
1021
|
video: {
|
1006
1022
|
width: {
|
@@ -1,59 +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
|
-
export type LocusDTO = {
|
10
|
-
controls?: any;
|
11
|
-
fullState?: {
|
12
|
-
active: boolean;
|
13
|
-
count: number;
|
14
|
-
lastActive: string;
|
15
|
-
locked: boolean;
|
16
|
-
sessionId: string;
|
17
|
-
seessionIds: string[];
|
18
|
-
startTime: number;
|
19
|
-
state: string;
|
20
|
-
type: string;
|
21
|
-
};
|
22
|
-
host?: {
|
23
|
-
id: string;
|
24
|
-
incomingCallProtocols: any[];
|
25
|
-
isExternal: boolean;
|
26
|
-
name: string;
|
27
|
-
orgId: string;
|
28
|
-
};
|
29
|
-
htMeta?: HtMeta;
|
30
|
-
info?: any;
|
31
|
-
jsSdkMeta?: {
|
32
|
-
removedParticipantIds: string[];
|
33
|
-
};
|
34
|
-
links?: any;
|
35
|
-
mediaShares?: any[];
|
36
|
-
meetings?: any[];
|
37
|
-
participants: any[];
|
38
|
-
replaces?: any[];
|
39
|
-
self?: any;
|
40
|
-
sequence?: {
|
41
|
-
dirtyParticipants: number;
|
42
|
-
entries: number[];
|
43
|
-
rangeEnd: number;
|
44
|
-
rangeStart: number;
|
45
|
-
sequenceHash: number;
|
46
|
-
sessionToken: string;
|
47
|
-
since: string;
|
48
|
-
totalParticipants: number;
|
49
|
-
};
|
50
|
-
syncUrl?: string;
|
51
|
-
url?: string;
|
52
|
-
};
|
53
|
-
export type LocusApiResponseBody = {
|
54
|
-
dataSets?: DataSet[];
|
55
|
-
locus: LocusDTO;
|
56
|
-
};
|
57
2
|
/**
|
58
3
|
* @description LocusInfo extends ChildEmitter to convert locusInfo info a private emitter to parent object
|
59
4
|
* @export
|
@@ -71,7 +16,6 @@ export default class LocusInfo extends EventsScope {
|
|
71
16
|
aclUrl: any;
|
72
17
|
baseSequence: any;
|
73
18
|
created: any;
|
74
|
-
deltaParticipants: any;
|
75
19
|
identities: any;
|
76
20
|
membership: any;
|
77
21
|
participants: any;
|
@@ -93,8 +37,6 @@ export default class LocusInfo extends EventsScope {
|
|
93
37
|
resources: any;
|
94
38
|
mainSessionLocusCache: any;
|
95
39
|
self: any;
|
96
|
-
hashTreeParser?: HashTreeParser;
|
97
|
-
hashTreeObjectId2ParticipantId: Map<number, string>;
|
98
40
|
/**
|
99
41
|
* Constructor
|
100
42
|
* @param {function} updateMeeting callback to update the meeting object from an object
|
@@ -135,41 +77,10 @@ export default class LocusInfo extends EventsScope {
|
|
135
77
|
init(locus?: any): void;
|
136
78
|
/**
|
137
79
|
* @param {Object} locus
|
138
|
-
* @param {DataSet[]} [dataSets=[]] - Array of data sets
|
139
80
|
* @returns {undefined}
|
140
81
|
* @memberof LocusInfo
|
141
82
|
*/
|
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;
|
150
|
-
/**
|
151
|
-
* Handles HTTP response from Locus API call when hash tree update.
|
152
|
-
* @param {Meeting} meeting meeting object
|
153
|
-
* @param {LocusApiResponseBody} responseBody body of the http reponse from Locus API call
|
154
|
-
* @returns {void}
|
155
|
-
*/
|
156
|
-
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;
|
83
|
+
initialSetup(locus: object): void;
|
173
84
|
/**
|
174
85
|
* @param {Meeting} meeting
|
175
86
|
* @param {Object} data
|
@@ -189,11 +100,10 @@ export default class LocusInfo extends EventsScope {
|
|
189
100
|
* updates the locus with full locus object
|
190
101
|
* @param {object} locus locus object
|
191
102
|
* @param {string} eventType particulat locus event
|
192
|
-
* @param {DataSet[]} dataSets
|
193
103
|
* @returns {object} null
|
194
104
|
* @memberof LocusInfo
|
195
105
|
*/
|
196
|
-
onFullLocus(locus: any, eventType?: string
|
106
|
+
onFullLocus(locus: any, eventType?: string): void;
|
197
107
|
/**
|
198
108
|
* @param {String} eventType
|
199
109
|
* @returns {undefined}
|
@@ -237,23 +147,14 @@ export default class LocusInfo extends EventsScope {
|
|
237
147
|
* @memberof LocusInfo
|
238
148
|
*/
|
239
149
|
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
150
|
/**
|
249
151
|
* update meeting's members
|
250
152
|
* @param {Object} participants new participants object
|
251
|
-
* @param {Array} removedParticipantIds list of removed participants
|
252
153
|
* @param {Boolean} isReplace is replace the whole members
|
253
154
|
* @returns {Array} updatedParticipants
|
254
155
|
* @memberof LocusInfo
|
255
156
|
*/
|
256
|
-
updateParticipants(participants: object,
|
157
|
+
updateParticipants(participants: object, isReplace?: boolean): void;
|
257
158
|
/**
|
258
159
|
* @param {Object} controls
|
259
160
|
* @param {Object} self
|
@@ -34,6 +34,9 @@ interface IInMeetingActions {
|
|
34
34
|
isClosedCaptionActive?: boolean;
|
35
35
|
canStartManualCaption?: boolean;
|
36
36
|
canStopManualCaption?: boolean;
|
37
|
+
isLocalRecordingStarted?: boolean;
|
38
|
+
isLocalRecordingStopped?: boolean;
|
39
|
+
isLocalRecordingPaused?: boolean;
|
37
40
|
isManualCaptionActive?: boolean;
|
38
41
|
isSaveTranscriptsEnabled?: boolean;
|
39
42
|
isWebexAssistantActive?: boolean;
|
@@ -139,6 +142,9 @@ export default class InMeetingActions implements IInMeetingActions {
|
|
139
142
|
isClosedCaptionActive: any;
|
140
143
|
canStartManualCaption: any;
|
141
144
|
canStopManualCaption: any;
|
145
|
+
isLocalRecordingStopped: any;
|
146
|
+
isLocalRecordingStarted: any;
|
147
|
+
isLocalRecordingPaused: any;
|
142
148
|
isManualCaptionActive: any;
|
143
149
|
isSaveTranscriptsEnabled: any;
|
144
150
|
isWebexAssistantActive: any;
|
@@ -8,7 +8,6 @@ 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;
|
@@ -489,10 +489,11 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
489
489
|
/**
|
490
490
|
* @param {Object} attrs
|
491
491
|
* @param {Object} options
|
492
|
+
* @param {Function} callback - if provided, it will be called with the newly created meeting object as soon as the meeting.id is set
|
492
493
|
* @constructor
|
493
494
|
* @memberof Meeting
|
494
495
|
*/
|
495
|
-
constructor(attrs: any, options: object);
|
496
|
+
constructor(attrs: any, options: object, callback: (meeting: Meeting) => void);
|
496
497
|
/**
|
497
498
|
* returns meeting is joined
|
498
499
|
* @private
|
@@ -515,6 +516,16 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
515
516
|
* @param {string} correlationId
|
516
517
|
*/
|
517
518
|
set correlationId(correlationId: string);
|
519
|
+
/**
|
520
|
+
* Getter - Returns callStateForMetrics.pstnCorrelationId
|
521
|
+
* @returns {string | undefined}
|
522
|
+
*/
|
523
|
+
get pstnCorrelationId(): string | undefined;
|
524
|
+
/**
|
525
|
+
* Setter - sets callStateForMetrics.pstnCorrelationId
|
526
|
+
* @param {string | undefined} correlationId
|
527
|
+
*/
|
528
|
+
set pstnCorrelationId(correlationId: string | undefined);
|
518
529
|
/**
|
519
530
|
* Getter - Returns callStateForMetrics.userNameInput
|
520
531
|
* @returns {string}
|
@@ -864,45 +875,37 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
864
875
|
private updateMeetingObject;
|
865
876
|
/**
|
866
877
|
* Invite a guest to the call that isn't normally part of this call
|
867
|
-
* @param {
|
878
|
+
* @param {Invitee} invitee
|
868
879
|
* @param {String} invitee.emailAddress
|
869
880
|
* @param {String} invitee.email
|
870
881
|
* @param {String} invitee.phoneNumber
|
871
882
|
* @param {Boolean} [alertIfActive]
|
883
|
+
* @param {Boolean} [invitee.skipEmailValidation]
|
884
|
+
* @param {Boolean} [invitee.isInternalNumber]
|
872
885
|
* @returns {Promise} see #members.addMember
|
873
886
|
* @public
|
874
887
|
* @memberof Meeting
|
875
888
|
*/
|
876
|
-
invite(invitee:
|
877
|
-
emailAddress: string;
|
878
|
-
email: string;
|
879
|
-
phoneNumber: string;
|
880
|
-
roles: Array<string>;
|
881
|
-
}, alertIfActive?: boolean): any;
|
889
|
+
invite(invitee: Invitee, alertIfActive?: boolean): any;
|
882
890
|
/**
|
883
891
|
* Cancel an outgoing phone call invitation made during a meeting
|
884
|
-
* @param {
|
892
|
+
* @param {Invitee} invitee
|
885
893
|
* @param {String} invitee.phoneNumber
|
886
894
|
* @returns {Promise} see #members.cancelPhoneInvite
|
887
895
|
* @public
|
888
896
|
* @memberof Meeting
|
889
897
|
*/
|
890
|
-
cancelPhoneInvite(invitee:
|
891
|
-
phoneNumber: string;
|
892
|
-
}): any;
|
898
|
+
cancelPhoneInvite(invitee: Invitee): any;
|
893
899
|
/**
|
894
900
|
* Cancel an SIP/phone call invitation made during a meeting
|
895
|
-
* @param {
|
901
|
+
* @param {Invitee} invitee
|
896
902
|
* @param {String} invitee.memberId
|
897
903
|
* @param {Boolean} [invitee.isInternalNumber] - When cancel phone invitation, if the number is internal
|
898
904
|
* @returns {Promise} see #members.cancelInviteByMemberId
|
899
905
|
* @public
|
900
906
|
* @memberof Meeting
|
901
907
|
*/
|
902
|
-
cancelInviteByMemberId(invitee:
|
903
|
-
memberId: string;
|
904
|
-
isInternalNumber?: boolean;
|
905
|
-
}): any;
|
908
|
+
cancelInviteByMemberId(invitee: Invitee): any;
|
906
909
|
/**
|
907
910
|
* Admit the guest(s) to the call once they are waiting.
|
908
911
|
* If the host/cohost is in a breakout session, the locus url
|
@@ -1042,13 +1045,11 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
1042
1045
|
* @memberof Meeting
|
1043
1046
|
*/
|
1044
1047
|
setLocus(locus: {
|
1045
|
-
locus: LocusDTO;
|
1046
1048
|
mediaConnections: Array<any>;
|
1047
1049
|
locusUrl: string;
|
1048
1050
|
locusId: string;
|
1049
1051
|
mediaId: string;
|
1050
1052
|
host: object;
|
1051
|
-
dataSets: DataSet[];
|
1052
1053
|
} | any): void;
|
1053
1054
|
/**
|
1054
1055
|
* Upload logs for the current meeting
|
@@ -1266,12 +1267,6 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
1266
1267
|
startTranscription(options?: {
|
1267
1268
|
spokenLanguage?: string;
|
1268
1269
|
}): 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
1270
|
/**
|
1276
1271
|
* Callback called when a relay event is received from meeting LLM Connection
|
1277
1272
|
* @param {RelayEvent} e Event object coming from LLM Connection
|
@@ -1357,7 +1352,7 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
1357
1352
|
* @memberof Meeting
|
1358
1353
|
* @returns {Promise}
|
1359
1354
|
*/
|
1360
|
-
disconnectPhoneAudio(): Promise<
|
1355
|
+
disconnectPhoneAudio(): Promise<void>;
|
1361
1356
|
/**
|
1362
1357
|
* Moves the call to the specified resourceId
|
1363
1358
|
* @param {String} resourceId
|
@@ -71,6 +71,9 @@ declare const MeetingUtil: {
|
|
71
71
|
canStopTranscribing: (displayHints: any) => any;
|
72
72
|
isClosedCaptionActive: (displayHints: any) => any;
|
73
73
|
canStartManualCaption: (displayHints: any) => any;
|
74
|
+
isLocalRecordingStarted: (displayHints: any) => any;
|
75
|
+
isLocalRecordingStopped: (displayHints: any) => any;
|
76
|
+
isLocalRecordingPaused: (displayHints: any) => any;
|
74
77
|
canStopManualCaption: (displayHints: any) => any;
|
75
78
|
isManualCaptionActive: (displayHints: any) => any;
|
76
79
|
isWebexAssistantActive: (displayHints: any) => any;
|
@@ -92,14 +95,14 @@ declare const MeetingUtil: {
|
|
92
95
|
*/
|
93
96
|
addSequence: (meeting: any, requestBody: any) => void;
|
94
97
|
/**
|
95
|
-
* Updates the locus info for the meeting with the locus
|
96
|
-
*
|
98
|
+
* Updates the locus info for the meeting with the delta locus
|
99
|
+
* returned from requests that include the sequence information
|
97
100
|
* Returns the original response object
|
98
101
|
* @param {Object} meeting The meeting object
|
99
102
|
* @param {Object} response The response of the http request
|
100
103
|
* @returns {Object}
|
101
104
|
*/
|
102
|
-
|
105
|
+
updateLocusWithDelta: (meeting: any, response: any) => any;
|
103
106
|
generateBuildLocusDeltaRequestOptions: (originalMeeting: any) => (originalOptions: any) => any;
|
104
107
|
generateLocusDeltaRequest: (originalMeeting: any) => (originalOptions: any) => any;
|
105
108
|
selfSupportsFeature: (feature: SELF_POLICY, userPolicies: Record<SELF_POLICY, boolean>) => boolean;
|
@@ -22,12 +22,6 @@ export default class MembersCollection {
|
|
22
22
|
* @memberof MembersCollection
|
23
23
|
*/
|
24
24
|
getAll(): Record<string, Member>;
|
25
|
-
/**
|
26
|
-
* Removes a member from the collection
|
27
|
-
* @param {String} id
|
28
|
-
* @returns {void}
|
29
|
-
*/
|
30
|
-
remove(id: string): void;
|
31
25
|
/**
|
32
26
|
* @returns {void}
|
33
27
|
* reset members
|
@@ -4,6 +4,7 @@ import MembersCollection from './collection';
|
|
4
4
|
import { ReceiveSlotManager } from '../multistream/receiveSlotManager';
|
5
5
|
import { MediaRequestManager } from '../multistream/mediaRequestManager';
|
6
6
|
import { ServerRoleShape } from './types';
|
7
|
+
import { Invitee } from '../meeting/type';
|
7
8
|
/**
|
8
9
|
* @class Members
|
9
10
|
*/
|
@@ -84,7 +85,6 @@ export default class Members extends StatelessWebexPlugin {
|
|
84
85
|
locusParticipantsUpdate(payload: {
|
85
86
|
participants: object;
|
86
87
|
isReplace?: boolean;
|
87
|
-
removedParticipantIds?: Array<string>;
|
88
88
|
}): void;
|
89
89
|
/**
|
90
90
|
* Internal update the content id
|
@@ -127,12 +127,6 @@ export default class Members extends StatelessWebexPlugin {
|
|
127
127
|
* @memberof Members
|
128
128
|
*/
|
129
129
|
private handleMembersUpdate;
|
130
|
-
/**
|
131
|
-
* removes members from the collection
|
132
|
-
* @param {Array<string>} removedMembers removed members ids
|
133
|
-
* @returns {void}
|
134
|
-
*/
|
135
|
-
private removeMembers;
|
136
130
|
/**
|
137
131
|
* set members to the member collection from each updated/added lists as passed in
|
138
132
|
* @param {Array} list
|
@@ -219,31 +213,28 @@ export default class Members extends StatelessWebexPlugin {
|
|
219
213
|
private update;
|
220
214
|
/**
|
221
215
|
* Adds a guest Member to the associated meeting
|
222
|
-
* @param {
|
216
|
+
* @param {Invitee} invitee
|
223
217
|
* @param {Boolean} [alertIfActive]
|
224
218
|
* @returns {Promise}
|
225
219
|
* @memberof Members
|
226
220
|
*/
|
227
|
-
addMember(invitee:
|
221
|
+
addMember(invitee: Invitee, alertIfActive?: boolean): any;
|
228
222
|
/**
|
229
223
|
* Cancels an outgoing PSTN call to the associated meeting
|
230
|
-
* @param {
|
224
|
+
* @param {Invitee} invitee
|
231
225
|
* @returns {Promise}
|
232
226
|
* @memberof Members
|
233
227
|
*/
|
234
|
-
cancelPhoneInvite(invitee:
|
228
|
+
cancelPhoneInvite(invitee: Invitee): any;
|
235
229
|
/**
|
236
230
|
* Cancels an SIP/phone call to the associated meeting
|
237
|
-
* @param {
|
231
|
+
* @param {Invitee} invitee
|
238
232
|
* @param {String} invitee.memberId - The memberId of the invitee
|
239
233
|
* @param {Boolean} [invitee.isInternalNumber] - When cancel phone invitation, if the number is internal
|
240
234
|
* @returns {Promise}
|
241
235
|
* @memberof Members
|
242
236
|
*/
|
243
|
-
cancelInviteByMemberId(invitee:
|
244
|
-
memberId: string;
|
245
|
-
isInternalNumber?: boolean;
|
246
|
-
}): any;
|
237
|
+
cancelInviteByMemberId(invitee: Invitee): any;
|
247
238
|
/**
|
248
239
|
* Admits waiting members (invited guests to meeting)
|
249
240
|
* @param {Array} memberIds
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import { RoleAssignmentOptions, RoleAssignmentRequest, ServerRoleShape } from './types';
|
2
|
+
import { Invitee } from '../meeting/type';
|
2
3
|
declare const MembersUtil: {
|
3
4
|
/**
|
4
5
|
* @param {Object} invitee with emailAddress, email or phoneNumber
|
@@ -63,7 +64,7 @@ declare const MembersUtil: {
|
|
63
64
|
alertIfActive: any;
|
64
65
|
};
|
65
66
|
};
|
66
|
-
isInvalidInvitee: (invitee:
|
67
|
+
isInvalidInvitee: (invitee: Invitee) => boolean;
|
67
68
|
getRemoveMemberRequestParams: (options: any) => {
|
68
69
|
method: string;
|
69
70
|
uri: string;
|
@@ -7,9 +7,17 @@ export declare const RemoteMediaEvents: {
|
|
7
7
|
Stopped: string;
|
8
8
|
};
|
9
9
|
export type RemoteVideoResolution = 'thumbnail' | 'very small' | 'small' | 'medium' | 'large' | 'best';
|
10
|
+
export declare const MAX_FS_VALUES: {
|
11
|
+
'90p': number;
|
12
|
+
'180p': number;
|
13
|
+
'360p': number;
|
14
|
+
'540p': number;
|
15
|
+
'720p': number;
|
16
|
+
'1080p': number;
|
17
|
+
};
|
10
18
|
/**
|
11
19
|
* Converts pane size into h264 maxFs
|
12
|
-
* @param {
|
20
|
+
* @param {RemoteVideoResolution} paneSize
|
13
21
|
* @returns {number}
|
14
22
|
*/
|
15
23
|
export declare function getMaxFs(paneSize: RemoteVideoResolution): number;
|
@@ -29,6 +37,12 @@ export declare class RemoteMedia extends EventsScope {
|
|
29
37
|
private readonly options;
|
30
38
|
private mediaRequestId?;
|
31
39
|
readonly id: RemoteMediaId;
|
40
|
+
/**
|
41
|
+
* The max frame size of the media request, used for logging and media requests.
|
42
|
+
* Set by setSizeHint() based on video element dimensions.
|
43
|
+
* When > 0, this value takes precedence over options.resolution in sendMediaRequest().
|
44
|
+
*/
|
45
|
+
private maxFrameSize;
|
32
46
|
/**
|
33
47
|
* Constructs RemoteMedia instance
|
34
48
|
*
|
@@ -45,6 +59,11 @@ export declare class RemoteMedia extends EventsScope {
|
|
45
59
|
* @note width/height of 0 will be ignored
|
46
60
|
*/
|
47
61
|
setSizeHint(width: any, height: any): void;
|
62
|
+
/**
|
63
|
+
* Get the current effective maxFs value that would be used in media requests
|
64
|
+
* @returns {number | undefined} The maxFs value, or undefined if no constraints
|
65
|
+
*/
|
66
|
+
getEffectiveMaxFs(): number | undefined;
|
48
67
|
/**
|
49
68
|
* registers event listeners on the receive slot and forwards all the events
|
50
69
|
*/
|
@@ -45,5 +45,16 @@ export declare class RemoteMediaGroup {
|
|
45
45
|
* @returns true if remote media is found
|
46
46
|
*/
|
47
47
|
includes(remoteMedia: RemoteMedia, filter?: 'all' | 'pinned' | 'unpinned'): boolean;
|
48
|
+
/**
|
49
|
+
* Calculate the effective maxFs for the active speaker media request based on unpinned RemoteMedia instances
|
50
|
+
* @returns {number | undefined} The calculated maxFs value, or undefined if no constraints
|
51
|
+
* @private
|
52
|
+
*/
|
53
|
+
private getEffectiveMaxFsForActiveSpeaker;
|
54
|
+
/**
|
55
|
+
* Get the current effective maxFs that would be used for the active speaker media request
|
56
|
+
* @returns {number | undefined} The effective maxFs value
|
57
|
+
*/
|
58
|
+
getEffectiveMaxFs(): number | undefined;
|
48
59
|
}
|
49
60
|
export {};
|
package/dist/webinar/index.js
CHANGED
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@webex/plugin-meetings",
|
3
3
|
"description": "",
|
4
|
-
"license": "Cisco
|
4
|
+
"license": "Cisco's General Terms (https://www.cisco.com/site/us/en/about/legal/contract-experience/index.html)",
|
5
5
|
"contributors": [
|
6
6
|
"Adam Weeks <adweeks@cisco.com> (https://adamweeks.com/)",
|
7
7
|
"Arun Ganeshan <arungane@cisco.com>",
|
@@ -43,13 +43,12 @@
|
|
43
43
|
"@webex/eslint-config-legacy": "0.0.0",
|
44
44
|
"@webex/jest-config-legacy": "0.0.0",
|
45
45
|
"@webex/legacy-tools": "0.0.0",
|
46
|
-
"@webex/plugin-
|
47
|
-
"@webex/
|
48
|
-
"@webex/test-helper-
|
49
|
-
"@webex/test-helper-
|
50
|
-
"@webex/test-helper-
|
51
|
-
"@webex/test-helper-
|
52
|
-
"@webex/test-helper-test-users": "3.9.0-webinar5k.1",
|
46
|
+
"@webex/plugin-rooms": "3.9.0",
|
47
|
+
"@webex/test-helper-chai": "3.9.0",
|
48
|
+
"@webex/test-helper-mocha": "3.9.0",
|
49
|
+
"@webex/test-helper-mock-webex": "3.9.0",
|
50
|
+
"@webex/test-helper-retry": "3.9.0",
|
51
|
+
"@webex/test-helper-test-users": "3.9.0",
|
53
52
|
"chai": "^4.3.4",
|
54
53
|
"chai-as-promised": "^7.1.1",
|
55
54
|
"eslint": "^8.24.0",
|
@@ -61,23 +60,23 @@
|
|
61
60
|
"typescript": "^4.7.4"
|
62
61
|
},
|
63
62
|
"dependencies": {
|
64
|
-
"@webex/common": "3.9.0
|
63
|
+
"@webex/common": "3.9.0",
|
65
64
|
"@webex/event-dictionary-ts": "^1.0.1819",
|
66
65
|
"@webex/internal-media-core": "2.18.5",
|
67
|
-
"@webex/internal-plugin-conversation": "3.9.0
|
68
|
-
"@webex/internal-plugin-device": "3.9.0
|
69
|
-
"@webex/internal-plugin-llm": "3.9.0
|
70
|
-
"@webex/internal-plugin-mercury": "3.9.0
|
71
|
-
"@webex/internal-plugin-metrics": "3.9.0
|
72
|
-
"@webex/internal-plugin-support": "3.9.0
|
73
|
-
"@webex/internal-plugin-user": "3.9.0
|
74
|
-
"@webex/internal-plugin-voicea": "3.9.0
|
75
|
-
"@webex/media-helpers": "3.9.0
|
76
|
-
"@webex/plugin-people": "3.9.0
|
77
|
-
"@webex/plugin-rooms": "3.9.0
|
66
|
+
"@webex/internal-plugin-conversation": "3.9.0",
|
67
|
+
"@webex/internal-plugin-device": "3.9.0",
|
68
|
+
"@webex/internal-plugin-llm": "3.9.0",
|
69
|
+
"@webex/internal-plugin-mercury": "3.9.0",
|
70
|
+
"@webex/internal-plugin-metrics": "3.9.0",
|
71
|
+
"@webex/internal-plugin-support": "3.9.0",
|
72
|
+
"@webex/internal-plugin-user": "3.9.0",
|
73
|
+
"@webex/internal-plugin-voicea": "3.9.0",
|
74
|
+
"@webex/media-helpers": "3.9.0",
|
75
|
+
"@webex/plugin-people": "3.9.0",
|
76
|
+
"@webex/plugin-rooms": "3.9.0",
|
78
77
|
"@webex/ts-sdp": "^1.8.1",
|
79
78
|
"@webex/web-capabilities": "^1.6.0",
|
80
|
-
"@webex/webex-core": "3.9.0
|
79
|
+
"@webex/webex-core": "3.9.0",
|
81
80
|
"ampersand-collection": "^2.0.2",
|
82
81
|
"bowser": "^2.11.0",
|
83
82
|
"btoa": "^1.2.1",
|
@@ -88,11 +87,10 @@
|
|
88
87
|
"jwt-decode": "3.1.2",
|
89
88
|
"lodash": "^4.17.21",
|
90
89
|
"uuid": "^3.3.2",
|
91
|
-
"webrtc-adapter": "^8.1.2"
|
92
|
-
"xxh3-ts": "^2.0.1"
|
90
|
+
"webrtc-adapter": "^8.1.2"
|
93
91
|
},
|
94
92
|
"//": [
|
95
93
|
"TODO: upgrade jwt-decode when moving to node 18"
|
96
94
|
],
|
97
|
-
"version": "3.9.0
|
95
|
+
"version": "3.9.0"
|
98
96
|
}
|