@webex/plugin-meetings 3.8.1-web-workers-keepalive.1 → 3.9.0-multipleLLM.1
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 +26 -2
- 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 +77 -95
- 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/brbState.js +14 -12
- package/dist/meeting/brbState.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +8 -0
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +443 -225
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/muteState.js +2 -5
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +44 -0
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/request.type.js.map +1 -1
- package/dist/meeting/type.js +7 -0
- package/dist/meeting/type.js.map +1 -0
- package/dist/meeting/util.js +98 -13
- 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 +18 -10
- package/dist/meetings/index.js.map +1 -1
- package/dist/member/index.js.map +1 -1
- package/dist/member/types.js.map +1 -1
- package/dist/members/collection.js +13 -0
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.js +53 -29
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +3 -3
- package/dist/members/request.js.map +1 -1
- package/dist/members/util.js +25 -8
- 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/multistream/sendSlotManager.js +32 -2
- package/dist/multistream/sendSlotManager.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 +24 -0
- package/dist/types/locus-info/index.d.ts +54 -10
- package/dist/types/media/properties.d.ts +21 -0
- package/dist/types/meeting/brbState.d.ts +0 -1
- package/dist/types/meeting/in-meeting-actions.d.ts +8 -0
- package/dist/types/meeting/index.d.ts +51 -20
- package/dist/types/meeting/request.d.ts +18 -1
- package/dist/types/meeting/request.type.d.ts +74 -0
- package/dist/types/meeting/type.d.ts +9 -0
- package/dist/types/meeting/util.d.ts +13 -3
- 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/types.d.ts +1 -0
- package/dist/types/members/collection.d.ts +6 -0
- package/dist/types/members/index.d.ts +22 -9
- package/dist/types/members/request.d.ts +1 -1
- package/dist/types/members/util.d.ts +13 -6
- 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/types/multistream/sendSlotManager.d.ts +16 -0
- package/dist/webinar/index.js +1 -1
- package/package.json +23 -24
- package/src/constants.ts +25 -2
- package/src/locus-info/index.ts +133 -96
- package/src/locus-info/parser.ts +5 -1
- package/src/media/properties.ts +43 -0
- package/src/meeting/brbState.ts +9 -7
- package/src/meeting/in-meeting-actions.ts +17 -0
- package/src/meeting/index.ts +273 -42
- package/src/meeting/muteState.ts +2 -6
- package/src/meeting/request.ts +39 -0
- package/src/meeting/request.type.ts +64 -0
- package/src/meeting/type.ts +9 -0
- package/src/meeting/util.ts +114 -22
- package/src/meeting-info/meeting-info-v2.ts +24 -5
- package/src/meetings/index.ts +12 -5
- package/src/member/index.ts +1 -0
- package/src/member/types.ts +1 -0
- package/src/members/collection.ts +11 -0
- package/src/members/index.ts +51 -15
- package/src/members/request.ts +2 -2
- package/src/members/util.ts +34 -6
- 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/multistream/sendSlotManager.ts +34 -2
- package/src/reachability/index.ts +3 -3
- package/test/unit/spec/locus-info/index.js +229 -98
- package/test/unit/spec/locus-info/parser.js +3 -2
- package/test/unit/spec/media/properties.ts +137 -0
- package/test/unit/spec/meeting/brbState.ts +9 -9
- package/test/unit/spec/meeting/in-meeting-actions.ts +8 -0
- package/test/unit/spec/meeting/index.js +1022 -93
- package/test/unit/spec/meeting/muteState.js +32 -6
- package/test/unit/spec/meeting/request.js +92 -0
- package/test/unit/spec/meeting/utils.js +167 -17
- package/test/unit/spec/meeting-info/meetinginfov2.js +8 -3
- package/test/unit/spec/meetings/index.js +12 -1
- package/test/unit/spec/members/collection.js +120 -0
- package/test/unit/spec/members/index.js +140 -12
- package/test/unit/spec/members/request.js +57 -2
- package/test/unit/spec/members/utils.js +139 -17
- package/test/unit/spec/multistream/mediaRequestManager.ts +19 -6
- package/test/unit/spec/multistream/remoteMedia.ts +66 -2
- package/test/unit/spec/multistream/sendSlotManager.ts +59 -0
- package/test/unit/spec/reachability/index.ts +158 -1
@@ -2,7 +2,7 @@
|
|
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';
|
@@ -21,6 +21,8 @@ import RecordingController from '../recording-controller';
|
|
21
21
|
import ControlsOptionsManager from '../controls-options-manager';
|
22
22
|
import { LocusMediaRequest } from './locusMediaRequest';
|
23
23
|
import { BrbState } from './brbState';
|
24
|
+
import { SetStageOptions } from './request.type';
|
25
|
+
import { Invitee } from './type';
|
24
26
|
export type CaptionData = {
|
25
27
|
id: string;
|
26
28
|
isFinal: boolean;
|
@@ -81,6 +83,7 @@ export type CallStateForMetrics = {
|
|
81
83
|
loginType?: string;
|
82
84
|
userNameInput?: string;
|
83
85
|
emailInput?: string;
|
86
|
+
pstnCorrelationId?: string;
|
84
87
|
};
|
85
88
|
export declare const MEDIA_UPDATE_TYPE: {
|
86
89
|
TRANSCODED_MEDIA_CONNECTION: string;
|
@@ -95,6 +98,7 @@ export declare enum ScreenShareFloorStatus {
|
|
95
98
|
type FetchMeetingInfoParams = {
|
96
99
|
password?: string;
|
97
100
|
registrationId?: string;
|
101
|
+
classificationId?: string;
|
98
102
|
captchaCode?: string;
|
99
103
|
extraParams?: Record<string, any>;
|
100
104
|
sendCAevents?: boolean;
|
@@ -425,6 +429,7 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
425
429
|
shareStatus: string;
|
426
430
|
screenShareFloorState: ScreenShareFloorStatus;
|
427
431
|
statsAnalyzer: StatsAnalyzer;
|
432
|
+
statsMonitor: StatsMonitor;
|
428
433
|
transcription: Transcription;
|
429
434
|
updateMediaConnections: (mediaConnections: any[]) => void;
|
430
435
|
userDisplayHints: any;
|
@@ -486,10 +491,11 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
486
491
|
/**
|
487
492
|
* @param {Object} attrs
|
488
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
|
489
495
|
* @constructor
|
490
496
|
* @memberof Meeting
|
491
497
|
*/
|
492
|
-
constructor(attrs: any, options: object);
|
498
|
+
constructor(attrs: any, options: object, callback: (meeting: Meeting) => void);
|
493
499
|
/**
|
494
500
|
* returns meeting is joined
|
495
501
|
* @private
|
@@ -512,6 +518,16 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
512
518
|
* @param {string} correlationId
|
513
519
|
*/
|
514
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);
|
515
531
|
/**
|
516
532
|
* Getter - Returns callStateForMetrics.userNameInput
|
517
533
|
* @returns {string}
|
@@ -861,43 +877,37 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
861
877
|
private updateMeetingObject;
|
862
878
|
/**
|
863
879
|
* Invite a guest to the call that isn't normally part of this call
|
864
|
-
* @param {
|
880
|
+
* @param {Invitee} invitee
|
865
881
|
* @param {String} invitee.emailAddress
|
866
882
|
* @param {String} invitee.email
|
867
883
|
* @param {String} invitee.phoneNumber
|
868
884
|
* @param {Boolean} [alertIfActive]
|
885
|
+
* @param {Boolean} [invitee.skipEmailValidation]
|
886
|
+
* @param {Boolean} [invitee.isInternalNumber]
|
869
887
|
* @returns {Promise} see #members.addMember
|
870
888
|
* @public
|
871
889
|
* @memberof Meeting
|
872
890
|
*/
|
873
|
-
invite(invitee:
|
874
|
-
emailAddress: string;
|
875
|
-
email: string;
|
876
|
-
phoneNumber: string;
|
877
|
-
roles: Array<string>;
|
878
|
-
}, alertIfActive?: boolean): any;
|
891
|
+
invite(invitee: Invitee, alertIfActive?: boolean): any;
|
879
892
|
/**
|
880
893
|
* Cancel an outgoing phone call invitation made during a meeting
|
881
|
-
* @param {
|
894
|
+
* @param {Invitee} invitee
|
882
895
|
* @param {String} invitee.phoneNumber
|
883
896
|
* @returns {Promise} see #members.cancelPhoneInvite
|
884
897
|
* @public
|
885
898
|
* @memberof Meeting
|
886
899
|
*/
|
887
|
-
cancelPhoneInvite(invitee:
|
888
|
-
phoneNumber: string;
|
889
|
-
}): any;
|
900
|
+
cancelPhoneInvite(invitee: Invitee): any;
|
890
901
|
/**
|
891
|
-
* Cancel an SIP call invitation made during a meeting
|
892
|
-
* @param {
|
902
|
+
* Cancel an SIP/phone call invitation made during a meeting
|
903
|
+
* @param {Invitee} invitee
|
893
904
|
* @param {String} invitee.memberId
|
894
|
-
* @
|
905
|
+
* @param {Boolean} [invitee.isInternalNumber] - When cancel phone invitation, if the number is internal
|
906
|
+
* @returns {Promise} see #members.cancelInviteByMemberId
|
895
907
|
* @public
|
896
908
|
* @memberof Meeting
|
897
909
|
*/
|
898
|
-
|
899
|
-
memberId: string;
|
900
|
-
}): any;
|
910
|
+
cancelInviteByMemberId(invitee: Invitee): any;
|
901
911
|
/**
|
902
912
|
* Admit the guest(s) to the call once they are waiting.
|
903
913
|
* If the host/cohost is in a breakout session, the locus url
|
@@ -1344,7 +1354,7 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
1344
1354
|
* @memberof Meeting
|
1345
1355
|
* @returns {Promise}
|
1346
1356
|
*/
|
1347
|
-
disconnectPhoneAudio(): Promise<
|
1357
|
+
disconnectPhoneAudio(): Promise<void>;
|
1348
1358
|
/**
|
1349
1359
|
* Moves the call to the specified resourceId
|
1350
1360
|
* @param {String} resourceId
|
@@ -2000,5 +2010,26 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
2000
2010
|
* @returns {Promise<MediaReachabilityMetrics>}
|
2001
2011
|
*/
|
2002
2012
|
private getMediaReachabilityMetricFields;
|
2013
|
+
/**
|
2014
|
+
* Set the stage for the meeting
|
2015
|
+
*
|
2016
|
+
* @param {SetStageOptions} options Options to use when setting the stage
|
2017
|
+
* @returns {Promise} The locus request
|
2018
|
+
*/
|
2019
|
+
setStage({ activeSpeakerProportion, customBackground, customLogo, customNameLabel, importantParticipants, lockAttendeeViewOnStage, showActiveSpeaker, }?: SetStageOptions): Promise<any>;
|
2020
|
+
/**
|
2021
|
+
* Unset the stage for the meeting
|
2022
|
+
*
|
2023
|
+
* @returns {Promise} The locus request
|
2024
|
+
*/
|
2025
|
+
unsetStage(): Promise<any>;
|
2026
|
+
/**
|
2027
|
+
* Notifies the host with the given meeting UUID and display names.
|
2028
|
+
*
|
2029
|
+
* @param {string} meetingUuid - The UUID of the meeting.
|
2030
|
+
* @param {string[]} displayName - An array of display names to notify the host with.
|
2031
|
+
* @returns {Promise<any>} The result of the notifyHost request.
|
2032
|
+
*/
|
2033
|
+
notifyHost(meetingUuid: string, displayName: string[]): any;
|
2003
2034
|
}
|
2004
2035
|
export {};
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { StatelessWebexPlugin } from '@webex/webex-core';
|
2
|
-
import { SendReactionOptions, BrbOptions, ToggleReactionsOptions, PostMeetingDataConsentOptions } from './request.type';
|
2
|
+
import { SendReactionOptions, BrbOptions, ToggleReactionsOptions, PostMeetingDataConsentOptions, SynchronizeVideoLayout } from './request.type';
|
3
3
|
import { AnnotationInfo } from '../annotation/annotation.types';
|
4
4
|
import { ClientMediaPreferences } from '../reachability/reachability.types';
|
5
5
|
/**
|
@@ -314,4 +314,21 @@ export default class MeetingRequest extends StatelessWebexPlugin {
|
|
314
314
|
* @returns {Promise}
|
315
315
|
*/
|
316
316
|
setPostMeetingDataConsent({ postMeetingDataConsent, locusUrl, deviceUrl, selfId, }: PostMeetingDataConsentOptions): Promise<any>;
|
317
|
+
/**
|
318
|
+
* Synchronize the stage for a meeting
|
319
|
+
*
|
320
|
+
* @param {LocusUrl} locusUrl The locus URL
|
321
|
+
* @param {SetStageVideoLayout} videoLayout The video layout to synchronize
|
322
|
+
* @returns {Promise} The locus request
|
323
|
+
*/
|
324
|
+
synchronizeStage(locusUrl: string, videoLayout: SynchronizeVideoLayout): Promise<any>;
|
325
|
+
/**
|
326
|
+
* Sends a request to notify the host of a meeting.
|
327
|
+
* @param {string} siteFullUrl - The site URL.
|
328
|
+
* @param {string} locusId - The locus ID.
|
329
|
+
* @param {string} meetingUuid - The meeting UUID.
|
330
|
+
* @param {Array<string>} displayName - The display names to notify the host about.
|
331
|
+
* @returns {Promise}
|
332
|
+
*/
|
333
|
+
notifyHost(siteFullUrl: string, locusId: string, meetingUuid: string, displayName: string[]): any;
|
317
334
|
}
|
@@ -21,3 +21,77 @@ export type PostMeetingDataConsentOptions = {
|
|
21
21
|
deviceUrl: string;
|
22
22
|
selfId: string;
|
23
23
|
};
|
24
|
+
export type StageCustomLogoPositions = 'LowerLeft' | 'LowerMiddle' | 'LowerRight' | 'UpperLeft' | 'UpperMiddle' | 'UpperRight';
|
25
|
+
export type StageNameLabelType = 'Primary' | 'PrimaryInverted' | 'Secondary' | 'SecondaryInverted';
|
26
|
+
export type StageCustomBackground = {
|
27
|
+
url: string;
|
28
|
+
[others: string]: unknown;
|
29
|
+
};
|
30
|
+
export type StageCustomLogo = {
|
31
|
+
url: string;
|
32
|
+
position: StageCustomLogoPositions;
|
33
|
+
[others: string]: unknown;
|
34
|
+
};
|
35
|
+
export type StageCustomNameLabel = {
|
36
|
+
accentColor: string;
|
37
|
+
background: {
|
38
|
+
color: string;
|
39
|
+
};
|
40
|
+
border: {
|
41
|
+
color: string;
|
42
|
+
};
|
43
|
+
content: {
|
44
|
+
displayName: {
|
45
|
+
color: string;
|
46
|
+
};
|
47
|
+
subtitle: {
|
48
|
+
color: string;
|
49
|
+
};
|
50
|
+
};
|
51
|
+
decoration: {
|
52
|
+
color: string;
|
53
|
+
};
|
54
|
+
fadeOut?: {
|
55
|
+
delay: number;
|
56
|
+
};
|
57
|
+
type: StageNameLabelType;
|
58
|
+
[others: string]: unknown;
|
59
|
+
};
|
60
|
+
export type SetStageOptions = {
|
61
|
+
activeSpeakerProportion?: number;
|
62
|
+
customBackground?: StageCustomBackground;
|
63
|
+
customLogo?: StageCustomLogo;
|
64
|
+
customNameLabel?: StageCustomNameLabel;
|
65
|
+
importantParticipants?: {
|
66
|
+
mainCsi: number;
|
67
|
+
participantId: string;
|
68
|
+
}[];
|
69
|
+
lockAttendeeViewOnStage?: boolean;
|
70
|
+
showActiveSpeaker?: boolean;
|
71
|
+
};
|
72
|
+
export type SetStageVideoLayout = {
|
73
|
+
overrideDefault: true;
|
74
|
+
lockAttendeeViewOnStageOnly: boolean;
|
75
|
+
stageParameters: {
|
76
|
+
importantParticipants?: {
|
77
|
+
participantId: string;
|
78
|
+
mainCsi: number;
|
79
|
+
order: number;
|
80
|
+
}[];
|
81
|
+
showActiveSpeaker: {
|
82
|
+
show: boolean;
|
83
|
+
order: number;
|
84
|
+
};
|
85
|
+
activeSpeakerProportion: number;
|
86
|
+
stageManagerType: number;
|
87
|
+
};
|
88
|
+
customLayouts?: {
|
89
|
+
background?: StageCustomBackground;
|
90
|
+
logo?: StageCustomLogo;
|
91
|
+
};
|
92
|
+
nameLabelStyle?: StageCustomNameLabel;
|
93
|
+
};
|
94
|
+
export type UnsetStageVideoLayout = {
|
95
|
+
overrideDefault: false;
|
96
|
+
};
|
97
|
+
export type SynchronizeVideoLayout = SetStageVideoLayout | UnsetStageVideoLayout;
|
@@ -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,8 +77,12 @@ 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;
|
74
83
|
canStopManualCaption: (displayHints: any) => any;
|
75
84
|
isManualCaptionActive: (displayHints: any) => any;
|
85
|
+
isSpokenLanguageAutoDetectionEnabled: (displayHints: any) => any;
|
76
86
|
isWebexAssistantActive: (displayHints: any) => any;
|
77
87
|
canViewCaptionPanel: (displayHints: any) => any;
|
78
88
|
isRealTimeTranslationEnabled: (displayHints: any) => any;
|
@@ -92,14 +102,14 @@ declare const MeetingUtil: {
|
|
92
102
|
*/
|
93
103
|
addSequence: (meeting: any, requestBody: any) => void;
|
94
104
|
/**
|
95
|
-
* Updates the locus info for the meeting with the
|
96
|
-
* returned from requests
|
105
|
+
* Updates the locus info for the meeting with the locus
|
106
|
+
* information returned from API requests made to Locus
|
97
107
|
* Returns the original response object
|
98
108
|
* @param {Object} meeting The meeting object
|
99
109
|
* @param {Object} response The response of the http request
|
100
110
|
* @returns {Object}
|
101
111
|
*/
|
102
|
-
|
112
|
+
updateLocusFromApiResponse: (meeting: any, response: any) => any;
|
103
113
|
generateBuildLocusDeltaRequestOptions: (originalMeeting: any) => (originalOptions: any) => any;
|
104
114
|
generateLocusDeltaRequest: (originalMeeting: any) => (originalOptions: any) => any;
|
105
115
|
selfSupportsFeature: (feature: SELF_POLICY, userPolicies: Record<SELF_POLICY, boolean>) => boolean;
|
@@ -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
|
@@ -22,6 +22,12 @@ 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;
|
25
31
|
/**
|
26
32
|
* @returns {void}
|
27
33
|
* 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
|
*/
|
@@ -76,7 +77,9 @@ export default class Members extends StatelessWebexPlugin {
|
|
76
77
|
* when new participant updates come in, both delta and full participants, update them in members collection
|
77
78
|
* delta object in the event will have {updated, added} and full will be the full membersCollection
|
78
79
|
* @param {Object} payload
|
79
|
-
* @param {Object} payload.participants
|
80
|
+
* @param {Object} payload.participants new/updated participants
|
81
|
+
* @param {Boolean} payload.isReplace whether to replace the whole members collection
|
82
|
+
* @param {Object} payload.removedParticipantIds ids of the removed participants
|
80
83
|
* @returns {undefined}
|
81
84
|
* @private
|
82
85
|
* @memberof Members
|
@@ -84,6 +87,7 @@ export default class Members extends StatelessWebexPlugin {
|
|
84
87
|
locusParticipantsUpdate(payload: {
|
85
88
|
participants: object;
|
86
89
|
isReplace?: boolean;
|
90
|
+
removedParticipantIds?: Array<string>;
|
87
91
|
}): void;
|
88
92
|
/**
|
89
93
|
* Internal update the content id
|
@@ -126,6 +130,12 @@ export default class Members extends StatelessWebexPlugin {
|
|
126
130
|
* @memberof Members
|
127
131
|
*/
|
128
132
|
private handleMembersUpdate;
|
133
|
+
/**
|
134
|
+
* removes members from the collection
|
135
|
+
* @param {Array<string>} removedMembers removed members ids
|
136
|
+
* @returns {void}
|
137
|
+
*/
|
138
|
+
private removeMembers;
|
129
139
|
/**
|
130
140
|
* set members to the member collection from each updated/added lists as passed in
|
131
141
|
* @param {Array} list
|
@@ -212,26 +222,28 @@ export default class Members extends StatelessWebexPlugin {
|
|
212
222
|
private update;
|
213
223
|
/**
|
214
224
|
* Adds a guest Member to the associated meeting
|
215
|
-
* @param {
|
225
|
+
* @param {Invitee} invitee
|
216
226
|
* @param {Boolean} [alertIfActive]
|
217
227
|
* @returns {Promise}
|
218
228
|
* @memberof Members
|
219
229
|
*/
|
220
|
-
addMember(invitee:
|
230
|
+
addMember(invitee: Invitee, alertIfActive?: boolean): any;
|
221
231
|
/**
|
222
232
|
* Cancels an outgoing PSTN call to the associated meeting
|
223
|
-
* @param {
|
233
|
+
* @param {Invitee} invitee
|
224
234
|
* @returns {Promise}
|
225
235
|
* @memberof Members
|
226
236
|
*/
|
227
|
-
cancelPhoneInvite(invitee:
|
237
|
+
cancelPhoneInvite(invitee: Invitee): any;
|
228
238
|
/**
|
229
|
-
* Cancels an SIP call to the associated meeting
|
230
|
-
* @param {
|
239
|
+
* Cancels an SIP/phone call to the associated meeting
|
240
|
+
* @param {Invitee} invitee
|
241
|
+
* @param {String} invitee.memberId - The memberId of the invitee
|
242
|
+
* @param {Boolean} [invitee.isInternalNumber] - When cancel phone invitation, if the number is internal
|
231
243
|
* @returns {Promise}
|
232
244
|
* @memberof Members
|
233
245
|
*/
|
234
|
-
|
246
|
+
cancelInviteByMemberId(invitee: Invitee): any;
|
235
247
|
/**
|
236
248
|
* Admits waiting members (invited guests to meeting)
|
237
249
|
* @param {Array} memberIds
|
@@ -335,9 +347,10 @@ export default class Members extends StatelessWebexPlugin {
|
|
335
347
|
* @param {string} memberId - id of the participant who is receiving request
|
336
348
|
* @param {string} requestingParticipantId - id of the participant who is sending request (optional)
|
337
349
|
* @param {string} [alias] - alias name
|
350
|
+
* @param {string} [suffix] - name suffix (optional)
|
338
351
|
* @returns {Promise}
|
339
352
|
* @public
|
340
353
|
* @memberof Members
|
341
354
|
*/
|
342
|
-
editDisplayName(memberId: string, requestingParticipantId: string, alias: string): any;
|
355
|
+
editDisplayName(memberId: string, requestingParticipantId: string, alias: string, suffix?: string): any;
|
343
356
|
}
|
@@ -136,5 +136,5 @@ export default class MembersRequest extends StatelessWebexPlugin {
|
|
136
136
|
* @throws {Error} if the options are not valid and complete, must have invitee with memberId AND locusUrl
|
137
137
|
* @memberof MembersRequest
|
138
138
|
*/
|
139
|
-
|
139
|
+
cancelInviteByMemberId(options: any): Promise<any>;
|
140
140
|
}
|
@@ -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
|
@@ -26,6 +27,7 @@ declare const MembersUtil: {
|
|
26
27
|
*/
|
27
28
|
getAddMemberBody: (options: any) => {
|
28
29
|
invitees: {
|
30
|
+
isInternalNumber?: any;
|
29
31
|
roles?: any;
|
30
32
|
address: any;
|
31
33
|
}[];
|
@@ -55,13 +57,14 @@ declare const MembersUtil: {
|
|
55
57
|
uri: any;
|
56
58
|
body: {
|
57
59
|
invitees: {
|
60
|
+
isInternalNumber?: any;
|
58
61
|
roles?: any;
|
59
62
|
address: any;
|
60
63
|
}[];
|
61
64
|
alertIfActive: any;
|
62
65
|
};
|
63
66
|
};
|
64
|
-
isInvalidInvitee: (invitee:
|
67
|
+
isInvalidInvitee: (invitee: Invitee) => boolean;
|
65
68
|
getRemoveMemberRequestParams: (options: any) => {
|
66
69
|
method: string;
|
67
70
|
uri: string;
|
@@ -107,13 +110,15 @@ declare const MembersUtil: {
|
|
107
110
|
* @param {String} requestingParticipantId id of the participant who is sending request (optional)
|
108
111
|
* @param {String} alias alias name
|
109
112
|
* @param {String} locusUrl url
|
113
|
+
* @param {String} suffix optional suffix
|
110
114
|
* @returns {Object} consists of {memberID: string, requestingParticipantId: string, alias: string, locusUrl: string}
|
111
115
|
*/
|
112
|
-
generateEditDisplayNameMemberOptions: (memberId: any, requestingParticipantId: any, alias: any, locusUrl: any) => {
|
116
|
+
generateEditDisplayNameMemberOptions: (memberId: any, requestingParticipantId: any, alias: any, locusUrl: any, suffix: any) => {
|
113
117
|
memberId: any;
|
114
118
|
requestingParticipantId: any;
|
115
119
|
alias: any;
|
116
120
|
locusUrl: any;
|
121
|
+
suffix: any;
|
117
122
|
};
|
118
123
|
getMuteMemberRequestParams: (options: any) => {
|
119
124
|
method: string;
|
@@ -175,8 +180,9 @@ declare const MembersUtil: {
|
|
175
180
|
method: string;
|
176
181
|
uri: string;
|
177
182
|
body: {
|
178
|
-
aliasValue:
|
179
|
-
requestingParticipantId:
|
183
|
+
aliasValue: string;
|
184
|
+
requestingParticipantId: string;
|
185
|
+
suffixValue?: string;
|
180
186
|
};
|
181
187
|
};
|
182
188
|
getTransferHostToMemberRequestParams: (options: any) => {
|
@@ -228,16 +234,17 @@ declare const MembersUtil: {
|
|
228
234
|
}[];
|
229
235
|
};
|
230
236
|
};
|
231
|
-
|
237
|
+
cancelInviteByMemberIdOptions: (invitee: any, locusUrl: any) => {
|
232
238
|
invitee: any;
|
233
239
|
locusUrl: any;
|
234
240
|
};
|
235
|
-
|
241
|
+
generateCancelInviteByMemberIdRequestParams: (options: any) => {
|
236
242
|
method: string;
|
237
243
|
uri: any;
|
238
244
|
body: {
|
239
245
|
actionType: string;
|
240
246
|
invitees: {
|
247
|
+
isInternalNumber?: any;
|
241
248
|
address: any;
|
242
249
|
}[];
|
243
250
|
};
|
@@ -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 {};
|