@webex/plugin-meetings 2.60.1-next.1 → 2.60.1-next.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -0
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/constants.d.ts +18 -4
- package/dist/constants.js +23 -9
- 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.d.ts +1 -1
- package/dist/locus-info/index.js +8 -8
- package/dist/locus-info/index.js.map +1 -1
- package/dist/meeting/index.d.ts +119 -31
- package/dist/meeting/index.js +1021 -805
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/request.js +25 -18
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/util.d.ts +16 -0
- package/dist/meeting/util.js +71 -0
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting/voicea-meeting.d.ts +20 -0
- package/dist/meeting/voicea-meeting.js +201 -0
- package/dist/meeting/voicea-meeting.js.map +1 -0
- package/dist/meetings/index.d.ts +25 -3
- package/dist/meetings/index.js +83 -32
- package/dist/meetings/index.js.map +1 -1
- package/dist/reachability/index.js +11 -6
- package/dist/reachability/index.js.map +1 -1
- package/dist/reconnection-manager/index.js +3 -1
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/roap/index.js +50 -54
- package/dist/roap/index.js.map +1 -1
- package/dist/statsAnalyzer/index.js +1 -1
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +13 -10
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/webinar/index.js +1 -1
- package/package.json +22 -21
- package/src/constants.ts +22 -4
- package/src/locus-info/index.ts +13 -12
- package/src/meeting/index.ts +546 -276
- package/src/meeting/request.ts +7 -0
- package/src/meeting/util.ts +97 -0
- package/src/meeting/voicea-meeting.ts +161 -0
- package/src/meetings/index.ts +59 -18
- package/src/reachability/index.ts +7 -4
- package/src/reconnection-manager/index.ts +1 -1
- package/src/roap/index.ts +49 -51
- package/src/statsAnalyzer/index.ts +2 -2
- package/src/statsAnalyzer/mqaUtil.ts +15 -14
- package/test/unit/spec/locus-info/index.js +53 -5
- package/test/unit/spec/meeting/index.js +1792 -1139
- package/test/unit/spec/meeting/request.js +22 -12
- package/test/unit/spec/meeting/utils.js +93 -0
- package/test/unit/spec/meetings/index.js +180 -21
- package/test/unit/spec/reachability/index.ts +2 -1
- package/test/unit/spec/reconnection-manager/index.js +1 -0
- package/test/unit/spec/roap/index.ts +28 -42
- package/test/unit/spec/stats-analyzer/index.js +415 -30
package/dist/meeting/index.d.ts
CHANGED
|
@@ -10,7 +10,6 @@ import MediaProperties from '../media/properties';
|
|
|
10
10
|
import ReconnectionManager from '../reconnection-manager';
|
|
11
11
|
import MeetingRequest from './request';
|
|
12
12
|
import Members from '../members/index';
|
|
13
|
-
import Transcription from '../transcription';
|
|
14
13
|
import { NETWORK_STATUS } from '../constants';
|
|
15
14
|
import { ReceiveSlotManager } from '../multistream/receiveSlotManager';
|
|
16
15
|
import { MediaRequestManager } from '../multistream/mediaRequestManager';
|
|
@@ -20,6 +19,35 @@ import InMeetingActions from './in-meeting-actions';
|
|
|
20
19
|
import RecordingController from '../recording-controller';
|
|
21
20
|
import ControlsOptionsManager from '../controls-options-manager';
|
|
22
21
|
import { LocusMediaRequest } from './locusMediaRequest';
|
|
22
|
+
export type CaptionData = {
|
|
23
|
+
id: string;
|
|
24
|
+
isFinal: boolean;
|
|
25
|
+
translations: Array<string>;
|
|
26
|
+
text: string;
|
|
27
|
+
currentCaptionLanguage: string;
|
|
28
|
+
timestamp: string;
|
|
29
|
+
speaker: string;
|
|
30
|
+
};
|
|
31
|
+
export type Transcription = {
|
|
32
|
+
languageOptions: {
|
|
33
|
+
captionLanguages?: string;
|
|
34
|
+
maxLanguages?: number;
|
|
35
|
+
spokenLanguages?: Array<string>;
|
|
36
|
+
currentCaptionLanguage?: string;
|
|
37
|
+
requestedCaptionLanguage?: string;
|
|
38
|
+
currentSpokenLanguage?: string;
|
|
39
|
+
};
|
|
40
|
+
status: string;
|
|
41
|
+
isListening: boolean;
|
|
42
|
+
commandText: string;
|
|
43
|
+
captions: Array<CaptionData>;
|
|
44
|
+
highlights: Array<any>;
|
|
45
|
+
showCaptionBox: boolean;
|
|
46
|
+
transcribingRequestStatus: string;
|
|
47
|
+
isCaptioning: boolean;
|
|
48
|
+
speakerProxy: Map<string, any>;
|
|
49
|
+
interimCaptions: Map<string, CaptionData>;
|
|
50
|
+
};
|
|
23
51
|
export type LocalStreams = {
|
|
24
52
|
microphone?: LocalMicrophoneStream;
|
|
25
53
|
camera?: LocalCameraStream;
|
|
@@ -53,6 +81,12 @@ export declare enum ScreenShareFloorStatus {
|
|
|
53
81
|
GRANTED = "floor_request_granted",
|
|
54
82
|
RELEASED = "floor_released"
|
|
55
83
|
}
|
|
84
|
+
type FetchMeetingInfoParams = {
|
|
85
|
+
password?: string;
|
|
86
|
+
captchaCode?: string;
|
|
87
|
+
extraParams?: Record<string, any>;
|
|
88
|
+
sendCAevents?: boolean;
|
|
89
|
+
};
|
|
56
90
|
/**
|
|
57
91
|
* MediaDirection
|
|
58
92
|
* @typedef {Object} MediaDirection
|
|
@@ -379,7 +413,6 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
379
413
|
screenShareFloorState: ScreenShareFloorStatus;
|
|
380
414
|
statsAnalyzer: StatsAnalyzer;
|
|
381
415
|
transcription: Transcription;
|
|
382
|
-
receiveTranscription: boolean;
|
|
383
416
|
updateMediaConnections: (mediaConnections: any[]) => void;
|
|
384
417
|
userDisplayHints: any;
|
|
385
418
|
endCallInitJoinReq: any;
|
|
@@ -409,8 +442,12 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
409
442
|
environment: string;
|
|
410
443
|
namespace: string;
|
|
411
444
|
allowMediaInLobby: boolean;
|
|
445
|
+
localShareInstanceId: string;
|
|
446
|
+
remoteShareInstanceId: string;
|
|
412
447
|
turnDiscoverySkippedReason: string;
|
|
413
448
|
turnServerUsed: boolean;
|
|
449
|
+
areVoiceaEventsSetup: boolean;
|
|
450
|
+
voiceaListenerCallbacks: object;
|
|
414
451
|
private retriedWithTurnServer;
|
|
415
452
|
private sendSlotManager;
|
|
416
453
|
private deferSDPAnswer?;
|
|
@@ -445,6 +482,34 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
445
482
|
* @param {string} correlationId
|
|
446
483
|
*/
|
|
447
484
|
set correlationId(correlationId: string);
|
|
485
|
+
/**
|
|
486
|
+
* Set meeting info and trigger `MEETING_INFO_AVAILABLE` event
|
|
487
|
+
* @param {any} info
|
|
488
|
+
* @param {string} [meetingLookupUrl] Lookup url, defined when the meeting info fetched
|
|
489
|
+
* @returns {void}
|
|
490
|
+
*/
|
|
491
|
+
private setMeetingInfo;
|
|
492
|
+
/**
|
|
493
|
+
* Add pre-fetched meeting info
|
|
494
|
+
*
|
|
495
|
+
* The passed meeting info should be be complete, e.g.: fetched after password or captcha provided
|
|
496
|
+
*
|
|
497
|
+
* @param {Object} meetingInfo - Complete meeting info
|
|
498
|
+
* @param {FetchMeetingInfoParams} fetchParams - Fetch parameters for validation
|
|
499
|
+
* @param {String|undefined} meetingLookupUrl - Lookup url, defined when the meeting info fetched
|
|
500
|
+
* @returns {Promise<void>}
|
|
501
|
+
*/
|
|
502
|
+
injectMeetingInfo(meetingInfo: any, fetchParams: FetchMeetingInfoParams, meetingLookupUrl: string | undefined): Promise<void>;
|
|
503
|
+
/**
|
|
504
|
+
* Validate fetch parameters and clear the fetchMeetingInfoTimeout timeout
|
|
505
|
+
*
|
|
506
|
+
* @param {FetchMeetingInfoParams} fetchParams - fetch parameters for validation
|
|
507
|
+
* @param {String} caller - Name of the caller for logging
|
|
508
|
+
*
|
|
509
|
+
* @returns {Promise<void>}
|
|
510
|
+
* @private
|
|
511
|
+
*/
|
|
512
|
+
private prepForFetchMeetingInfo;
|
|
448
513
|
/**
|
|
449
514
|
* Internal method for fetching meeting info
|
|
450
515
|
*
|
|
@@ -468,12 +533,7 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
468
533
|
* @memberof Meeting
|
|
469
534
|
* @returns {Promise}
|
|
470
535
|
*/
|
|
471
|
-
fetchMeetingInfo(
|
|
472
|
-
password?: string;
|
|
473
|
-
captchaCode?: string;
|
|
474
|
-
extraParams?: Record<string, any>;
|
|
475
|
-
sendCAevents?: boolean;
|
|
476
|
-
}): Promise<void>;
|
|
536
|
+
fetchMeetingInfo(options: FetchMeetingInfoParams): Promise<void>;
|
|
477
537
|
/**
|
|
478
538
|
* Checks if the supplied password/host key is correct. It returns a promise with information whether the
|
|
479
539
|
* password and captcha code were correct or not.
|
|
@@ -530,6 +590,13 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
530
590
|
* @memberof Meeting
|
|
531
591
|
*/
|
|
532
592
|
private setUpInterpretationListener;
|
|
593
|
+
/**
|
|
594
|
+
* Set up the listeners for captions
|
|
595
|
+
* @returns {undefined}
|
|
596
|
+
* @private
|
|
597
|
+
* @memberof Meeting
|
|
598
|
+
*/
|
|
599
|
+
private setUpVoiceaListeners;
|
|
533
600
|
/**
|
|
534
601
|
* Set up the locus info listener for meetings disconnected due to inactivity
|
|
535
602
|
* @returns {undefined}
|
|
@@ -771,24 +838,36 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
771
838
|
/**
|
|
772
839
|
* Sets the meeting info on the class instance
|
|
773
840
|
* @param {Object} meetingInfo
|
|
774
|
-
* @param {
|
|
775
|
-
* @param {String} meetingInfo.
|
|
776
|
-
* @param {String} meetingInfo.
|
|
777
|
-
* @param {String} meetingInfo.
|
|
778
|
-
* @param {
|
|
841
|
+
* @param {String} meetingInfo.conversationUrl
|
|
842
|
+
* @param {String} meetingInfo.locusUrl
|
|
843
|
+
* @param {String} meetingInfo.sipUri
|
|
844
|
+
* @param {String} [meetingInfo.sipUrl]
|
|
845
|
+
* @param {String} [meetingInfo.sipMeetingUri]
|
|
846
|
+
* @param {String} [meetingInfo.meetingNumber]
|
|
847
|
+
* @param {String} [meetingInfo.meetingJoinUrl]
|
|
848
|
+
* @param {String} [meetingInfo.hostId]
|
|
849
|
+
* @param {String} [meetingInfo.permissionToken]
|
|
850
|
+
* @param {String} [meetingInfo.channel]
|
|
851
|
+
* @param {Object} meetingInfo.owner
|
|
779
852
|
* @param {Object | String} destination locus object with meeting data or destination string (sip url, meeting link, etc)
|
|
853
|
+
* @param {Object | String} errors Meeting info request error
|
|
780
854
|
* @returns {undefined}
|
|
781
855
|
* @private
|
|
782
856
|
* @memberof Meeting
|
|
783
857
|
*/
|
|
784
858
|
parseMeetingInfo(meetingInfo: {
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
859
|
+
conversationUrl: string;
|
|
860
|
+
locusUrl: string;
|
|
861
|
+
sipUri: string;
|
|
862
|
+
owner: object;
|
|
863
|
+
sipUrl?: string;
|
|
864
|
+
sipMeetingUri?: string;
|
|
865
|
+
meetingNumber?: string;
|
|
866
|
+
meetingJoinUrl?: string;
|
|
867
|
+
hostId?: string;
|
|
868
|
+
permissionToken?: string;
|
|
869
|
+
channel?: string;
|
|
870
|
+
}, destination?: object | string | null, errors?: any): void;
|
|
792
871
|
/**
|
|
793
872
|
* Indicates whether policy can be applied
|
|
794
873
|
* @returns {boolean}
|
|
@@ -1023,17 +1102,26 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1023
1102
|
*/
|
|
1024
1103
|
isReactionsSupported(): boolean;
|
|
1025
1104
|
/**
|
|
1026
|
-
*
|
|
1027
|
-
* @
|
|
1028
|
-
* @returns {
|
|
1105
|
+
* sets Caption language for the meeting
|
|
1106
|
+
* @param {string} language
|
|
1107
|
+
* @returns {Promise}
|
|
1029
1108
|
*/
|
|
1030
|
-
|
|
1109
|
+
setCaptionLanguage(language: string): Promise<unknown>;
|
|
1031
1110
|
/**
|
|
1032
|
-
*
|
|
1033
|
-
* @
|
|
1111
|
+
* sets Spoken language for the meeting
|
|
1112
|
+
* @param {string} language
|
|
1113
|
+
* @returns {Promise}
|
|
1114
|
+
*/
|
|
1115
|
+
setSpokenLanguage(language: string): Promise<unknown>;
|
|
1116
|
+
/**
|
|
1117
|
+
* This method will enable the transcription for the current meeting if the meeting has enabled/supports Webex Assistant
|
|
1118
|
+
* @param {Object} options object with spokenlanguage setting
|
|
1119
|
+
* @public
|
|
1034
1120
|
* @returns {Promise<void>} a promise to open the WebSocket connection
|
|
1035
1121
|
*/
|
|
1036
|
-
|
|
1122
|
+
startTranscription(options?: {
|
|
1123
|
+
spokenLanguage?: string;
|
|
1124
|
+
}): Promise<void>;
|
|
1037
1125
|
/**
|
|
1038
1126
|
* Callback called when a relay event is received from meeting LLM Connection
|
|
1039
1127
|
* @param {RelayEvent} e Event object coming from LLM Connection
|
|
@@ -1042,11 +1130,10 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1042
1130
|
*/
|
|
1043
1131
|
private processRelayEvent;
|
|
1044
1132
|
/**
|
|
1045
|
-
*
|
|
1046
|
-
* the web socket connection properly
|
|
1133
|
+
* This method stops receiving transcription for the current meeting
|
|
1047
1134
|
* @returns {void}
|
|
1048
1135
|
*/
|
|
1049
|
-
|
|
1136
|
+
stopTranscription(): void;
|
|
1050
1137
|
/**
|
|
1051
1138
|
* triggers an event to notify that the user
|
|
1052
1139
|
* will not receive any more transcription
|
|
@@ -1597,7 +1684,7 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1597
1684
|
*
|
|
1598
1685
|
* @returns {string} one of 'attendee','host','cohost', returns the user type of the current user
|
|
1599
1686
|
*/
|
|
1600
|
-
getCurUserType(): "host" | "cohost" | "attendee";
|
|
1687
|
+
getCurUserType(): "host" | "cohost" | "presenter" | "attendee";
|
|
1601
1688
|
/**
|
|
1602
1689
|
* End the current meeting for all
|
|
1603
1690
|
* @returns {Promise}
|
|
@@ -1717,3 +1804,4 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
1717
1804
|
*/
|
|
1718
1805
|
checkAndRefreshPermissionToken(threshold: number, reason: string): Promise<void>;
|
|
1719
1806
|
}
|
|
1807
|
+
export {};
|