@webex/plugin-meetings 3.10.0-next.8 → 3.10.0-webex-services-ready.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/annotation/annotation.types.js.map +1 -1
- package/dist/annotation/constants.js.map +1 -1
- package/dist/annotation/index.js +19 -22
- package/dist/annotation/index.js.map +1 -1
- package/dist/breakouts/breakout.js +6 -6
- package/dist/breakouts/breakout.js.map +1 -1
- package/dist/breakouts/collection.js.map +1 -1
- package/dist/breakouts/edit-lock-error.js +9 -11
- package/dist/breakouts/edit-lock-error.js.map +1 -1
- package/dist/breakouts/events.js.map +1 -1
- package/dist/breakouts/index.js +126 -127
- package/dist/breakouts/index.js.map +1 -1
- package/dist/breakouts/request.js +6 -8
- package/dist/breakouts/request.js.map +1 -1
- package/dist/breakouts/utils.js.map +1 -1
- package/dist/common/browser-detection.js.map +1 -1
- package/dist/common/collection.js +1 -2
- package/dist/common/collection.js.map +1 -1
- package/dist/common/config.js.map +1 -1
- package/dist/common/errors/captcha-error.js +9 -11
- package/dist/common/errors/captcha-error.js.map +1 -1
- package/dist/common/errors/intent-to-join.js +10 -12
- package/dist/common/errors/intent-to-join.js.map +1 -1
- package/dist/common/errors/join-forbidden-error.js +10 -12
- package/dist/common/errors/join-forbidden-error.js.map +1 -1
- package/dist/common/errors/join-meeting.js +10 -12
- package/dist/common/errors/join-meeting.js.map +1 -1
- package/dist/common/errors/join-webinar-error.js +9 -11
- package/dist/common/errors/join-webinar-error.js.map +1 -1
- package/dist/common/errors/media.js +9 -11
- package/dist/common/errors/media.js.map +1 -1
- package/dist/common/errors/multistream-not-supported-error.js +9 -11
- package/dist/common/errors/multistream-not-supported-error.js.map +1 -1
- package/dist/common/errors/no-meeting-info.js +9 -11
- package/dist/common/errors/no-meeting-info.js.map +1 -1
- package/dist/common/errors/parameter.js +11 -14
- package/dist/common/errors/parameter.js.map +1 -1
- package/dist/common/errors/password-error.js +9 -11
- package/dist/common/errors/password-error.js.map +1 -1
- package/dist/common/errors/permission.js +9 -11
- package/dist/common/errors/permission.js.map +1 -1
- package/dist/common/errors/reclaim-host-role-errors.js +32 -38
- package/dist/common/errors/reclaim-host-role-errors.js.map +1 -1
- package/dist/common/errors/reconnection-not-started.js +5 -6
- package/dist/common/errors/reconnection-not-started.js.map +1 -1
- package/dist/common/errors/reconnection.js +9 -11
- package/dist/common/errors/reconnection.js.map +1 -1
- package/dist/common/errors/stats.js +9 -11
- package/dist/common/errors/stats.js.map +1 -1
- package/dist/common/errors/webex-errors.js +20 -29
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/common/errors/webex-meetings-error.js +9 -12
- package/dist/common/errors/webex-meetings-error.js.map +1 -1
- package/dist/common/events/events-scope.js +9 -10
- package/dist/common/events/events-scope.js.map +1 -1
- package/dist/common/events/events.js +9 -10
- package/dist/common/events/events.js.map +1 -1
- package/dist/common/events/trigger-proxy.js.map +1 -1
- package/dist/common/events/util.js.map +1 -1
- package/dist/common/logs/logger-config.js.map +1 -1
- package/dist/common/logs/logger-proxy.js.map +1 -1
- package/dist/common/logs/request.js +17 -17
- package/dist/common/logs/request.js.map +1 -1
- package/dist/common/queue.js +1 -2
- package/dist/common/queue.js.map +1 -1
- package/dist/config.js +0 -1
- package/dist/config.js.map +1 -1
- package/dist/constants.js +11 -8
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/constants.js.map +1 -1
- package/dist/controls-options-manager/enums.js.map +1 -1
- package/dist/controls-options-manager/index.js +1 -2
- package/dist/controls-options-manager/index.js.map +1 -1
- package/dist/controls-options-manager/types.js.map +1 -1
- package/dist/controls-options-manager/util.js +1 -2
- package/dist/controls-options-manager/util.js.map +1 -1
- package/dist/hashTree/constants.js +20 -0
- package/dist/hashTree/constants.js.map +1 -0
- package/dist/hashTree/hashTree.js +515 -0
- package/dist/hashTree/hashTree.js.map +1 -0
- package/dist/hashTree/hashTreeParser.js +1266 -0
- package/dist/hashTree/hashTreeParser.js.map +1 -0
- package/dist/hashTree/types.js +21 -0
- package/dist/hashTree/types.js.map +1 -0
- package/dist/hashTree/utils.js +48 -0
- package/dist/hashTree/utils.js.map +1 -0
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/interceptors/index.js.map +1 -1
- package/dist/interceptors/locusRetry.js +6 -8
- package/dist/interceptors/locusRetry.js.map +1 -1
- package/dist/interceptors/locusRouteToken.js +6 -8
- package/dist/interceptors/locusRouteToken.js.map +1 -1
- package/dist/interpretation/collection.js.map +1 -1
- package/dist/interpretation/index.js +1 -2
- package/dist/interpretation/index.js.map +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/interpretation/siLanguage.js.map +1 -1
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
- package/dist/locus-info/fullState.js.map +1 -1
- package/dist/locus-info/hostUtils.js.map +1 -1
- package/dist/locus-info/index.js +551 -94
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.js +3 -4
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/locus-info/types.js +7 -0
- package/dist/locus-info/types.js.map +1 -0
- package/dist/media/MediaConnectionAwaiter.js +1 -2
- package/dist/media/MediaConnectionAwaiter.js.map +1 -1
- package/dist/media/index.js +0 -2
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +15 -17
- package/dist/media/properties.js.map +1 -1
- package/dist/media/util.js.map +1 -1
- package/dist/meeting/brbState.js +8 -9
- package/dist/meeting/brbState.js.map +1 -1
- package/dist/meeting/connectionStateHandler.js +10 -13
- package/dist/meeting/connectionStateHandler.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +1555 -1527
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.js +13 -17
- package/dist/meeting/locusMediaRequest.js.map +1 -1
- package/dist/meeting/muteState.js +11 -12
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +101 -104
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/request.type.js.map +1 -1
- package/dist/meeting/state.js.map +1 -1
- package/dist/meeting/type.js.map +1 -1
- package/dist/meeting/util.js +24 -23
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting/voicea-meeting.js +3 -3
- package/dist/meeting/voicea-meeting.js.map +1 -1
- package/dist/meeting-info/collection.js +7 -10
- package/dist/meeting-info/collection.js.map +1 -1
- package/dist/meeting-info/index.js +1 -2
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +135 -146
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/request.js +1 -2
- package/dist/meeting-info/request.js.map +1 -1
- package/dist/meeting-info/util.js +36 -37
- package/dist/meeting-info/util.js.map +1 -1
- package/dist/meeting-info/utilv2.js +30 -31
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.js +6 -8
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.js +179 -141
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/meetings.types.js.map +1 -1
- package/dist/meetings/request.js +6 -8
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.js +25 -23
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +1 -2
- package/dist/member/index.js.map +1 -1
- package/dist/member/types.js +6 -3
- package/dist/member/types.js.map +1 -1
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.js +1 -2
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.js +18 -21
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +8 -11
- package/dist/members/request.js.map +1 -1
- package/dist/members/types.js.map +1 -1
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.js +3 -1
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.js +3 -4
- package/dist/metrics/index.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +1 -2
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/receiveSlot.js +34 -45
- package/dist/multistream/receiveSlot.js.map +1 -1
- package/dist/multistream/receiveSlotManager.js +8 -9
- package/dist/multistream/receiveSlotManager.js.map +1 -1
- package/dist/multistream/remoteMedia.js +12 -15
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.js +1 -2
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +122 -123
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/multistream/sendSlotManager.js +29 -30
- package/dist/multistream/sendSlotManager.js.map +1 -1
- package/dist/personal-meeting-room/index.js +16 -19
- package/dist/personal-meeting-room/index.js.map +1 -1
- package/dist/personal-meeting-room/request.js +7 -10
- package/dist/personal-meeting-room/request.js.map +1 -1
- package/dist/personal-meeting-room/util.js.map +1 -1
- package/dist/reachability/clusterReachability.js +56 -373
- package/dist/reachability/clusterReachability.js.map +1 -1
- package/dist/reachability/index.js +203 -205
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/reachability.types.js +14 -1
- package/dist/reachability/reachability.types.js.map +1 -1
- package/dist/reachability/reachabilityPeerConnection.js +445 -0
- package/dist/reachability/reachabilityPeerConnection.js.map +1 -0
- package/dist/reachability/request.js.map +1 -1
- package/dist/reachability/util.js.map +1 -1
- package/dist/reactions/constants.js.map +1 -1
- package/dist/reactions/reactions.js.map +1 -1
- package/dist/reactions/reactions.type.js.map +1 -1
- package/dist/reconnection-manager/index.js +178 -176
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/enums.js.map +1 -1
- package/dist/recording-controller/index.js +1 -2
- package/dist/recording-controller/index.js.map +1 -1
- package/dist/recording-controller/util.js.map +1 -1
- package/dist/roap/index.js +12 -15
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +24 -26
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +75 -76
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/roap/types.js.map +1 -1
- package/dist/transcription/index.js +4 -5
- package/dist/transcription/index.js.map +1 -1
- package/dist/types/constants.d.ts +26 -21
- package/dist/types/hashTree/constants.d.ts +8 -0
- package/dist/types/hashTree/hashTree.d.ts +129 -0
- package/dist/types/hashTree/hashTreeParser.d.ts +260 -0
- package/dist/types/hashTree/types.d.ts +25 -0
- package/dist/types/hashTree/utils.d.ts +9 -0
- package/dist/types/locus-info/index.d.ts +91 -42
- package/dist/types/locus-info/types.d.ts +46 -0
- package/dist/types/meeting/index.d.ts +22 -9
- package/dist/types/meetings/index.d.ts +9 -2
- package/dist/types/metrics/constants.d.ts +2 -0
- package/dist/types/reachability/clusterReachability.d.ts +10 -88
- package/dist/types/reachability/reachability.types.d.ts +12 -1
- package/dist/types/reachability/reachabilityPeerConnection.d.ts +111 -0
- package/dist/webinar/collection.js +1 -2
- package/dist/webinar/collection.js.map +1 -1
- package/dist/webinar/index.js +148 -158
- package/dist/webinar/index.js.map +1 -1
- package/package.json +22 -21
- package/src/constants.ts +13 -1
- package/src/hashTree/constants.ts +9 -0
- package/src/hashTree/hashTree.ts +463 -0
- package/src/hashTree/hashTreeParser.ts +1161 -0
- package/src/hashTree/types.ts +30 -0
- package/src/hashTree/utils.ts +42 -0
- package/src/locus-info/index.ts +556 -85
- package/src/locus-info/types.ts +48 -0
- package/src/meeting/index.ts +58 -26
- package/src/meeting/util.ts +1 -0
- package/src/meetings/index.ts +104 -51
- package/src/metrics/constants.ts +2 -0
- package/src/reachability/clusterReachability.ts +50 -347
- package/src/reachability/reachability.types.ts +15 -1
- package/src/reachability/reachabilityPeerConnection.ts +416 -0
- package/test/unit/spec/hashTree/hashTree.ts +655 -0
- package/test/unit/spec/hashTree/hashTreeParser.ts +1532 -0
- package/test/unit/spec/hashTree/utils.ts +103 -0
- package/test/unit/spec/locus-info/index.js +667 -1
- package/test/unit/spec/meeting/index.js +91 -20
- package/test/unit/spec/meeting/utils.js +77 -0
- package/test/unit/spec/meetings/index.js +71 -26
- package/test/unit/spec/reachability/clusterReachability.ts +281 -138
package/dist/meeting/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_lodash","require","_webexErrors","_loggerProxy","_interopRequireDefault","_constants","_browserDetection","_intentToJoin","_joinMeeting2","_parameter","_permission","_passwordError","_captchaError","_triggerProxy","_createForOfIteratorHelper","o","allowArrayLike","it","_Symbol","_Symbol$iterator","_Array$isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","call","step","next","_e2","return","minLen","_arrayLikeToArray","Object","prototype","toString","slice","constructor","name","_Array$from","test","arr","len","arr2","Array","ownKeys","r","t","_Object$keys","_Object$getOwnPropertySymbols","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","MeetingUtil","parseLocusJoin","response","parsed","locus","body","mediaConnections","locusUrl","url","locusId","split","pop","selfId","self","id","mediaConnection","mediaId","remoteUpdateAudioVideo","meeting","audioMuted","videoMuted","_promise","reject","ParameterError","locusMediaRequest","send","type","selfUrl","sequence","locusInfo","muteOptions","hasOwner","info","owner","isOwnerSelf","isPinOrGuest","_err$body","errorCode","INTENT_TO_JOIN","includes","getIpVersion","webex","_webex$internal$devic","internal","device","ipNetworkDetector","supportsIpV4","supportsIpV6","config","meetings","backendIpv6NativeSupport","BrowserDetection","isBrowser","undefined","IP_VERSION","ipv4_and_ipv6","only_ipv4","only_ipv6","unknown","getCaEventLabelsForIpVersion","ipver","joinMeeting","_joinMeeting","_asyncToGenerator2","_regenerator","mark","_callee","options","_meeting$meetingInfo","reachability","clientMediaPreferences","wrap","_callee$","_context","prev","abrupt","getWebexObject","newMetrics","submitClientEvent","meetingId","joinCookie","preferTranscoding","isMultistream","getClientMediaPreferences","sent","roapMessage","getReachabilityReportToAttachToRoap","t0","LoggerProxy","logger","error","meetingRequest","inviteeAddress","meetingJoinUrl","sipUri","meetingNumber","deviceUrl","locusClusterUrl","meetingInfo","correlationId","permissionToken","resourceId","moderator","pin","moveToResource","asResourceOccupant","breakoutsSupported","locale","deviceCapabilities","liveAnnotationSupported","alias","then","res","_res$headers","setLocus","isoLocalClientMeetingJoinTime","headers","date","payload","trigger","identifiers","trackingId","trackingid","catch","_meeting$meetingInfo2","meetingLookupUrl","rawError","stop","_x","_x2","cleanUp","_meeting$webex","_meeting$webex$intern","_meeting$webex$intern2","_meeting$webex$intern3","meetingEnded","stopPeriodicLogUpload","breakouts","simultaneousInterpretation","callDiagnosticMetrics","clearEventLimitsForCorrelationId","stopStatsAnalyzer","statsAnalyzer","stopAnalyzer","resolve","closeRemoteStreams","closePeerConnections","cleanupLocalStreams","unsetRemoteStreams","unsetPeerConnections","reconnectionManager","stopKeepAlive","_meeting$config","enableAutomaticLLM","updateLLMConnection","disconnectPhoneAudio","phoneUrl","meetingState","FULL_STATE","INACTIVE","MeetingNotActiveError","concat","prepareLeaveMeetingOptions","defaultOptions","leaveMeeting","isUserInLeftState","UserNotJoinedError","leaveOptions","moveMeeting","declineMeeting","reason","_locusInfo$parsedLocu","_locusInfo$parsedLocu2","parsedLocus","state","_LEFT_","isUserInIdleState","_locusInfo$parsedLocu3","_locusInfo$parsedLocu4","_IDLE_","isUserInJoinedState","_locusInfo$parsedLocu5","_locusInfo$parsedLocu6","_JOINED_","isMediaEstablished","currentMediaStatus","audio","video","share","joinMeetingOptions","requiredCaptcha","errorToThrow","CaptchaError","errors","fatal","category","shownToUser","code","errorDescription","rawErrorMessage","sdkMessage","passwordStatus","PASSWORD_STATUS","REQUIRED","PasswordError","IntentToJoinError","JoinMeetingError","buildLeaveFetchRequestOptions","buildLeaveMeetingRequestOptions","getTrack","stream","audioTrack","videoTrack","audioTracks","videoTracks","getAudioTracks","getVideoTracks","_audioTracks","_audioTracks2","_slicedToArray2","_videoTracks","_videoTracks2","getModeratorFromLocusInfo","getPolicyFromLocusInfo","policy","getUserDisplayHintsFromLocusInfo","_locusInfo$parsedLocu7","_locusInfo$parsedLocu8","userDisplayHints","canInviteNewParticipants","displayHints","DISPLAY_HINTS","ADD_GUEST","canAdmitParticipant","ROSTER_WAITING_TO_JOIN","canUserLock","LOCK_CONTROL_LOCK","LOCK_STATUS_UNLOCKED","canUserUnlock","LOCK_CONTROL_UNLOCK","LOCK_STATUS_LOCKED","canUserRaiseHand","RAISE_HAND","canUserLowerAllHands","LOWER_ALL_HANDS","canUserLowerSomeoneElsesHand","LOWER_SOMEONE_ELSES_HAND","bothLeaveAndEndMeetingAvailable","LEAVE_TRANSFER_HOST_END_MEETING","LEAVE_END_MEETING","canManageBreakout","BREAKOUT_MANAGEMENT","canStartBreakout","DISABLE_BREAKOUT_START","canBroadcastMessageToBreakout","policies","BROADCAST_MESSAGE_TO_BREAKOUT","SELF_POLICY","SUPPORT_BROADCAST_MESSAGE","isSuppressBreakoutSupport","UCF_SUPPRESS_BREAKOUTS_SUPPORT","canAdmitLobbyToBreakout","DISABLE_LOBBY_TO_BREAKOUT","isBreakoutPreassignmentsEnabled","DISABLE_BREAKOUT_PREASSIGNMENTS","canUserAskForHelp","DISABLE_ASK_FOR_HELP","lockMeeting","actions","request","canLock","lock","PermissionError","unlockMeeting","canUnlock","handleAudioLogging","audioStream","LOG_HEADER","settings","getSettings","deviceId","log","_stringify","handleVideoLogging","videoStream","endMeetingForAll","endOptions","canEnableClosedCaption","CAPTION_START","isSaveTranscriptsEnabled","SAVE_TRANSCRIPTS_ENABLED","canStartTranscribing","TRANSCRIPTION_CONTROL_START","canStopTranscribing","TRANSCRIPTION_CONTROL_STOP","isClosedCaptionActive","CAPTION_STATUS_ACTIVE","canStartManualCaption","MANUAL_CAPTION_START","isLocalRecordingStarted","LOCAL_RECORDING_STATUS_STARTED","isLocalRecordingStopped","LOCAL_RECORDING_STATUS_STOPPED","isLocalRecordingPaused","LOCAL_RECORDING_STATUS_PAUSED","isLocalStreamingStarted","STREAMING_STATUS_STARTED","isLocalStreamingStopped","STREAMING_STATUS_STOPPED","canStopManualCaption","MANUAL_CAPTION_STOP","isManualCaptionActive","MANUAL_CAPTION_STATUS_ACTIVE","isSpokenLanguageAutoDetectionEnabled","SPOKEN_LANGUAGE_AUTO_DETECTION_ENABLED","isWebexAssistantActive","WEBEX_ASSISTANT_STATUS_ACTIVE","canViewCaptionPanel","ENABLE_CAPTION_PANEL","isRealTimeTranslationEnabled","DISPLAY_REAL_TIME_TRANSLATION","canSelectSpokenLanguages","DISPLAY_NON_ENGLISH_ASR","waitingForOthersToJoin","WAITING_FOR_OTHERS","showAutoEndMeetingWarning","SHOW_AUTO_END_MEETING_WARNING","canSendReactions","originalValue","REACTIONS_ACTIVE","REACTIONS_INACTIVE","canUserRenameSelfAndObserved","CAN_RENAME_SELF_AND_OBSERVED","requiresPostMeetingDataConsentPrompt","SHOW_POST_MEETING_DATA_CONSENT_PROMPT","canUserRenameOthers","CAN_RENAME_OTHERS","canShareWhiteBoard","SHARE_WHITEBOARD","SUPPORT_WHITEBOARD","canMoveToLobby","MOVE_TO_LOBBY","addSequence","requestBody","_meeting$locusInfo","updateLocusFromApiResponse","_response$body","handleLocusAPIResponse","generateBuildLocusDeltaRequestOptions","originalMeeting","meetingRef","WeakRef","buildLocusDeltaRequestOptions","originalOptions","deref","cloneDeep","generateLocusDeltaRequest","locusDeltaRequest","selfSupportsFeature","feature","userPolicies","parseInterpretationInfo","_meetingInfo$meetingS","siInfo","updateMeetingSIEnabled","turnOnSimultaneousInterpretation","currentSIInterpreter","hostSIEnabled","meetingSiteSetting","enableHostInterpreterControlSI","updateHostSIEnabled","renameKey","obj","oldKey","newKey","_meeting$simultaneous","_meeting$simultaneous2","lanuagesInfo","siLanguages","_iterator","_step","language","updateInterpretation","Trigger","file","function","EVENT_TRIGGERS","MEETING_INTERPRETATION_UPDATE","getChangeMeetingFloorErrorPayload","errorPayload","LOCAL_SHARE_ERRORS","UNDEFINED","DEVICE_NOT_JOINED","NO_MEDIA_FOR_DEVICE","NO_CONFLUENCE_ID","CONTENT_SHARING_DISABLED","LOCUS_PARTICIPANT_DNE","CONTENT_REQUEST_WHILE_PENDING_WHITEBOARD","_default","exports"],"sources":["util.ts"],"sourcesContent":["import {LocalCameraStream, LocalMicrophoneStream} from '@webex/media-helpers';\n\nimport {cloneDeep} from 'lodash';\nimport {MeetingNotActiveError, UserNotJoinedError} from '../common/errors/webex-errors';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {\n INTENT_TO_JOIN,\n _LEFT_,\n _IDLE_,\n _JOINED_,\n PASSWORD_STATUS,\n DISPLAY_HINTS,\n FULL_STATE,\n SELF_POLICY,\n EVENT_TRIGGERS,\n LOCAL_SHARE_ERRORS,\n IP_VERSION,\n} from '../constants';\nimport BrowserDetection from '../common/browser-detection';\nimport IntentToJoinError from '../common/errors/intent-to-join';\nimport JoinMeetingError from '../common/errors/join-meeting';\nimport ParameterError from '../common/errors/parameter';\nimport PermissionError from '../common/errors/permission';\nimport PasswordError from '../common/errors/password-error';\nimport CaptchaError from '../common/errors/captcha-error';\nimport Trigger from '../common/events/trigger-proxy';\n\nconst MeetingUtil = {\n parseLocusJoin: (response) => {\n const parsed: any = {};\n\n // First todo: add check for existance\n parsed.locus = response.body.locus;\n parsed.mediaConnections = response.body.mediaConnections;\n parsed.locusUrl = parsed.locus.url;\n parsed.locusId = parsed.locus.url.split('/').pop();\n parsed.selfId = parsed.locus.self.id;\n\n // we need mediaId before making roap calls\n parsed.mediaConnections.forEach((mediaConnection) => {\n if (mediaConnection.mediaId) {\n parsed.mediaId = mediaConnection.mediaId;\n }\n });\n\n return parsed;\n },\n\n remoteUpdateAudioVideo: (meeting, audioMuted?: boolean, videoMuted?: boolean) => {\n if (!meeting) {\n return Promise.reject(new ParameterError('You need a meeting object.'));\n }\n\n if (!meeting.locusMediaRequest) {\n return Promise.reject(\n new ParameterError(\n 'You need a meeting with a media connection, call Meeting.addMedia() first.'\n )\n );\n }\n\n return meeting.locusMediaRequest.send({\n type: 'LocalMute',\n selfUrl: meeting.selfUrl,\n mediaId: meeting.mediaId,\n sequence: meeting.locusInfo.sequence,\n muteOptions: {\n audioMuted,\n videoMuted,\n },\n });\n },\n\n hasOwner: (info) => info && info.owner,\n\n isOwnerSelf: (owner, selfId) => owner === selfId,\n\n isPinOrGuest: (err) => err?.body?.errorCode && INTENT_TO_JOIN.includes(err.body.errorCode),\n\n /**\n * Returns the current state of knowledge about whether we are on an ipv4-only or ipv6-only or mixed (ipv4 and ipv6) network.\n * The return value matches the possible values of \"ipver\" parameter used by the backend APIs.\n *\n * @param {Object} webex webex instance\n * @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\n */\n getIpVersion(webex: any): IP_VERSION | undefined {\n const {supportsIpV4, supportsIpV6} = webex.internal.device.ipNetworkDetector;\n\n if (\n !webex.config.meetings.backendIpv6NativeSupport &&\n BrowserDetection().isBrowser('firefox')\n ) {\n // when backend doesn't support native ipv6,\n // then our NAT64/DNS64 based solution relies on FQDN ICE candidates, but Firefox doesn't support them,\n // see https://bugzilla.mozilla.org/show_bug.cgi?id=1713128\n // so for Firefox we don't want the backend to activate the \"ipv6 feature\"\n return undefined;\n }\n\n if (supportsIpV4 && supportsIpV6) {\n return IP_VERSION.ipv4_and_ipv6;\n }\n\n if (supportsIpV4) {\n return IP_VERSION.only_ipv4;\n }\n\n if (supportsIpV6) {\n return IP_VERSION.only_ipv6;\n }\n\n return IP_VERSION.unknown;\n },\n\n /**\n * Returns CA event labels related to Orpheus ipver parameter that can be sent to CA with any CA event\n * @param {any} webex instance\n * @returns {Array<string>|undefined} array of CA event labels or undefined if no labels should be sent\n */\n getCaEventLabelsForIpVersion(webex: any): Array<string> | undefined {\n const ipver = MeetingUtil.getIpVersion(webex);\n\n switch (ipver) {\n case IP_VERSION.unknown:\n return undefined;\n case IP_VERSION.only_ipv4:\n return ['hasIpv4_true'];\n case IP_VERSION.only_ipv6:\n return ['hasIpv6_true'];\n case IP_VERSION.ipv4_and_ipv6:\n return ['hasIpv4_true', 'hasIpv6_true'];\n default:\n return undefined;\n }\n },\n\n joinMeeting: async (meeting, options) => {\n if (!meeting) {\n return Promise.reject(new ParameterError('You need a meeting object.'));\n }\n const webex = meeting.getWebexObject();\n\n // @ts-ignore\n webex.internal.newMetrics.submitClientEvent({\n name: 'client.locus.join.request',\n options: {meetingId: meeting.id},\n });\n\n let reachability;\n let clientMediaPreferences = {\n // bare minimum fallback value that should allow us to join\n ipver: IP_VERSION.unknown,\n joinCookie: undefined,\n preferTranscoding: !meeting.isMultistream,\n };\n\n try {\n clientMediaPreferences = await webex.meetings.reachability.getClientMediaPreferences(\n meeting.isMultistream,\n MeetingUtil.getIpVersion(webex)\n );\n if (options.roapMessage) {\n // we only need to attach reachability if we are sending a roap message\n // sending reachability on its own will cause Locus to reject our join request\n reachability = await webex.meetings.reachability.getReachabilityReportToAttachToRoap();\n }\n } catch (e) {\n LoggerProxy.logger.error(\n 'Meeting:util#joinMeeting --> Error getting reachability or clientMediaPreferences:',\n e\n );\n }\n\n // eslint-disable-next-line no-warning-comments\n // TODO: check if the meeting is in JOINING state\n // if Joining state termintate the request as user might click multiple times\n return meeting.meetingRequest\n .joinMeeting({\n inviteeAddress: meeting.meetingJoinUrl || meeting.sipUri,\n meetingNumber: meeting.meetingNumber,\n deviceUrl: meeting.deviceUrl,\n locusUrl: meeting.locusUrl,\n locusClusterUrl: meeting.meetingInfo?.locusClusterUrl,\n correlationId: meeting.correlationId,\n reachability,\n roapMessage: options.roapMessage,\n permissionToken: meeting.permissionToken,\n resourceId: options.resourceId || null,\n moderator: options.moderator,\n pin: options.pin,\n moveToResource: options.moveToResource,\n asResourceOccupant: options.asResourceOccupant,\n breakoutsSupported: options.breakoutsSupported,\n locale: options.locale,\n deviceCapabilities: options.deviceCapabilities,\n liveAnnotationSupported: options.liveAnnotationSupported,\n clientMediaPreferences,\n alias: options.alias,\n })\n .then((res) => {\n const parsed = MeetingUtil.parseLocusJoin(res);\n meeting.setLocus(parsed);\n meeting.isoLocalClientMeetingJoinTime = res?.headers?.date; // read from header if exist, else fall back to system clock : https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-555657\n webex.internal.newMetrics.submitClientEvent({\n name: 'client.locus.join.response',\n payload: {\n trigger: 'loci-update',\n identifiers: {\n trackingId: res.headers.trackingid,\n },\n },\n options: {\n meetingId: meeting.id,\n mediaConnections: parsed.mediaConnections,\n },\n });\n\n return parsed;\n })\n .catch((err) => {\n webex.internal.newMetrics.submitClientEvent({\n name: 'client.locus.join.response',\n payload: {\n identifiers: {meetingLookupUrl: meeting.meetingInfo?.meetingLookupUrl},\n },\n options: {meetingId: meeting.id, rawError: err},\n });\n\n throw err;\n });\n },\n\n cleanUp: (meeting) => {\n meeting.getWebexObject().internal.device.meetingEnded();\n meeting.stopPeriodicLogUpload();\n\n meeting.breakouts.cleanUp();\n meeting.simultaneousInterpretation.cleanUp();\n meeting.locusMediaRequest = undefined;\n\n meeting.webex?.internal?.newMetrics?.callDiagnosticMetrics?.clearEventLimitsForCorrelationId(\n meeting.correlationId\n );\n\n // make sure we send last metrics before we close the peerconnection\n const stopStatsAnalyzer = meeting.statsAnalyzer\n ? meeting.statsAnalyzer.stopAnalyzer()\n : Promise.resolve();\n\n return stopStatsAnalyzer\n .then(() => meeting.closeRemoteStreams())\n .then(() => meeting.closePeerConnections())\n .then(() => {\n meeting.cleanupLocalStreams();\n meeting.unsetRemoteStreams();\n meeting.unsetPeerConnections();\n meeting.reconnectionManager.cleanUp();\n })\n .then(() => meeting.stopKeepAlive())\n .then(() => {\n if (meeting.config?.enableAutomaticLLM) {\n meeting.updateLLMConnection();\n }\n });\n },\n\n disconnectPhoneAudio: (meeting, phoneUrl) => {\n if (meeting.meetingState === FULL_STATE.INACTIVE) {\n return Promise.reject(new MeetingNotActiveError());\n }\n\n const options = {\n locusUrl: meeting.locusUrl,\n selfId: meeting.selfId,\n correlationId: meeting.correlationId,\n phoneUrl,\n };\n\n return meeting.meetingRequest.disconnectPhoneAudio(options).catch((err) => {\n LoggerProxy.logger.error(\n `Meeting:util#disconnectPhoneAudio --> An error occured while disconnecting phone audio in meeting ${meeting.id}, error: ${err}`\n );\n\n return Promise.reject(err);\n });\n },\n\n /**\n * Returns options for leaving a meeting.\n * @param {any} meeting\n * @param {any} options\n * @returns {any} leave options\n */\n prepareLeaveMeetingOptions: (meeting, options: any = {}) => {\n const defaultOptions = {\n locusUrl: meeting.locusUrl,\n selfId: meeting.selfId,\n correlationId: meeting.correlationId,\n resourceId: meeting.resourceId,\n deviceUrl: meeting.deviceUrl,\n };\n\n return {...defaultOptions, ...options};\n },\n\n // by default will leave on meeting's resourceId\n // if you explicity want it not to leave on resource id, pass\n // {resourceId: null}\n // TODO: chris, you can modify this however you want\n leaveMeeting: (meeting, options: any = {}) => {\n if (meeting.meetingState === FULL_STATE.INACTIVE) {\n // TODO: clean up if the meeting is already inactive\n return Promise.reject(new MeetingNotActiveError());\n }\n\n if (MeetingUtil.isUserInLeftState(meeting.locusInfo)) {\n return Promise.reject(new UserNotJoinedError());\n }\n\n const leaveOptions = MeetingUtil.prepareLeaveMeetingOptions(meeting, options);\n\n return meeting.meetingRequest\n .leaveMeeting(leaveOptions)\n .then(() => {\n if (options.moveMeeting) {\n return Promise.resolve();\n }\n\n return MeetingUtil.cleanUp(meeting);\n })\n .catch((err) => {\n // TODO: If the meeting state comes as LEFT or INACTIVE as response then\n // 1) on leave clean up the meeting or simply do a sync on the meeting\n // 2) If the error says meeting is inactive then destroy the meeting object\n LoggerProxy.logger.error(\n `Meeting:util#leaveMeeting --> An error occured while trying to leave meeting with an id of ${meeting.id}, error: ${err}`\n );\n\n return Promise.reject(err);\n });\n },\n declineMeeting: (meeting, reason) =>\n meeting.meetingRequest.declineMeeting({\n locusUrl: meeting.locusUrl,\n deviceUrl: meeting.deviceUrl,\n reason,\n }),\n\n isUserInLeftState: (locusInfo) => locusInfo.parsedLocus?.self?.state === _LEFT_,\n\n isUserInIdleState: (locusInfo) => locusInfo.parsedLocus?.self?.state === _IDLE_,\n\n isUserInJoinedState: (locusInfo) => locusInfo.parsedLocus?.self?.state === _JOINED_,\n\n isMediaEstablished: (currentMediaStatus) =>\n currentMediaStatus &&\n (currentMediaStatus.audio || currentMediaStatus.video || currentMediaStatus.share),\n\n joinMeetingOptions: (meeting, options: any = {}) => {\n const webex = meeting.getWebexObject();\n\n meeting.resourceId = meeting.resourceId || options.resourceId;\n\n if (meeting.requiredCaptcha) {\n const errorToThrow = new CaptchaError();\n\n // @ts-ignore\n webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.response',\n options: {\n meetingId: meeting.id,\n },\n payload: {\n errors: [\n {\n fatal: false,\n category: 'expected',\n name: 'other',\n shownToUser: false,\n errorCode: errorToThrow.code,\n errorDescription: errorToThrow.name,\n rawErrorMessage: errorToThrow.sdkMessage,\n },\n ],\n },\n });\n\n return Promise.reject(errorToThrow);\n }\n\n if (meeting.passwordStatus === PASSWORD_STATUS.REQUIRED) {\n const errorToThrow = new PasswordError();\n\n // @ts-ignore\n webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.response',\n options: {\n meetingId: meeting.id,\n },\n payload: {\n errors: [\n {\n fatal: false,\n category: 'expected',\n name: 'other',\n shownToUser: false,\n errorCode: errorToThrow.code,\n errorDescription: errorToThrow.name,\n rawErrorMessage: errorToThrow.sdkMessage,\n },\n ],\n },\n });\n\n return Promise.reject(errorToThrow);\n }\n\n if (options.pin) {\n // @ts-ignore\n webex.internal.newMetrics.submitClientEvent({\n name: 'client.pin.collected',\n options: {\n meetingId: meeting.id,\n },\n });\n }\n\n // normal join meeting, scenario A, D\n return MeetingUtil.joinMeeting(meeting, options).catch((err) => {\n // joining a claimed PMR that is not my own, scenario B\n if (MeetingUtil.isPinOrGuest(err)) {\n webex.internal.newMetrics.submitClientEvent({\n name: 'client.pin.prompt',\n options: {\n meetingId: meeting.id,\n },\n });\n\n // request host pin or non host for unclaimed PMR, start of Scenario C\n // see https://sqbu-github.cisco.com/WebExSquared/locus/wiki/Locus-Lobby-and--IVR-Feature\n return Promise.reject(new IntentToJoinError('Error Joining Meeting', err));\n }\n LoggerProxy.logger.error('Meeting:util#joinMeetingOptions --> Error joining the call, ', err);\n\n return Promise.reject(new JoinMeetingError(options, 'Error Joining Meeting', err));\n });\n },\n\n /**\n * Returns request options for leaving a meeting.\n * @param {any} meeting\n * @param {any} options\n * @returns {any} request options\n */\n buildLeaveFetchRequestOptions: (meeting, options: any = {}) => {\n const leaveOptions = MeetingUtil.prepareLeaveMeetingOptions(meeting, options);\n\n return meeting.meetingRequest.buildLeaveMeetingRequestOptions(leaveOptions);\n },\n\n getTrack: (stream) => {\n let audioTrack = null;\n let videoTrack = null;\n let audioTracks = null;\n let videoTracks = null;\n\n if (!stream) {\n return {audioTrack: null, videoTrack: null};\n }\n if (stream.getAudioTracks) {\n audioTracks = stream.getAudioTracks();\n }\n if (stream.getVideoTracks) {\n videoTracks = stream.getVideoTracks();\n }\n\n if (audioTracks && audioTracks.length > 0) {\n [audioTrack] = audioTracks;\n }\n\n if (videoTracks && videoTracks.length > 0) {\n [videoTrack] = videoTracks;\n }\n\n return {audioTrack, videoTrack};\n },\n\n getModeratorFromLocusInfo: (locusInfo) =>\n locusInfo &&\n locusInfo.parsedLocus &&\n locusInfo.parsedLocus.info &&\n locusInfo.parsedLocus.info &&\n locusInfo.parsedLocus.info.moderator,\n\n getPolicyFromLocusInfo: (locusInfo) =>\n locusInfo &&\n locusInfo.parsedLocus &&\n locusInfo.parsedLocus.info &&\n locusInfo.parsedLocus.info &&\n locusInfo.parsedLocus.info.policy,\n\n getUserDisplayHintsFromLocusInfo: (locusInfo) =>\n locusInfo?.parsedLocus?.info?.userDisplayHints || [],\n\n canInviteNewParticipants: (displayHints) => displayHints.includes(DISPLAY_HINTS.ADD_GUEST),\n\n canAdmitParticipant: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.ROSTER_WAITING_TO_JOIN),\n\n canUserLock: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.LOCK_CONTROL_LOCK) &&\n displayHints.includes(DISPLAY_HINTS.LOCK_STATUS_UNLOCKED),\n\n canUserUnlock: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.LOCK_CONTROL_UNLOCK) &&\n displayHints.includes(DISPLAY_HINTS.LOCK_STATUS_LOCKED),\n\n canUserRaiseHand: (displayHints) => displayHints.includes(DISPLAY_HINTS.RAISE_HAND),\n\n canUserLowerAllHands: (displayHints) => displayHints.includes(DISPLAY_HINTS.LOWER_ALL_HANDS),\n\n canUserLowerSomeoneElsesHand: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.LOWER_SOMEONE_ELSES_HAND),\n\n bothLeaveAndEndMeetingAvailable: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.LEAVE_TRANSFER_HOST_END_MEETING) ||\n displayHints.includes(DISPLAY_HINTS.LEAVE_END_MEETING),\n\n canManageBreakout: (displayHints) => displayHints.includes(DISPLAY_HINTS.BREAKOUT_MANAGEMENT),\n\n canStartBreakout: (displayHints) => !displayHints.includes(DISPLAY_HINTS.DISABLE_BREAKOUT_START),\n\n canBroadcastMessageToBreakout: (displayHints, policies = {}) =>\n displayHints.includes(DISPLAY_HINTS.BROADCAST_MESSAGE_TO_BREAKOUT) &&\n !!policies[SELF_POLICY.SUPPORT_BROADCAST_MESSAGE],\n\n isSuppressBreakoutSupport: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.UCF_SUPPRESS_BREAKOUTS_SUPPORT),\n\n canAdmitLobbyToBreakout: (displayHints) =>\n !displayHints.includes(DISPLAY_HINTS.DISABLE_LOBBY_TO_BREAKOUT),\n\n isBreakoutPreassignmentsEnabled: (displayHints) =>\n !displayHints.includes(DISPLAY_HINTS.DISABLE_BREAKOUT_PREASSIGNMENTS),\n\n canUserAskForHelp: (displayHints) => !displayHints.includes(DISPLAY_HINTS.DISABLE_ASK_FOR_HELP),\n\n lockMeeting: (actions, request, locusUrl) => {\n if (actions && actions.canLock) {\n return request.lockMeeting({locusUrl, lock: true});\n }\n\n return Promise.reject(new PermissionError('Lock not allowed, due to joined property.'));\n },\n\n unlockMeeting: (actions, request, locusUrl) => {\n if (actions && actions.canUnlock) {\n return request.lockMeeting({locusUrl, lock: false});\n }\n\n return Promise.reject(new PermissionError('Unlock not allowed, due to joined property.'));\n },\n\n handleAudioLogging: (audioStream?: LocalMicrophoneStream) => {\n const LOG_HEADER = 'MeetingUtil#handleAudioLogging -->';\n\n if (audioStream) {\n const settings = audioStream.getSettings();\n const {deviceId} = settings;\n\n LoggerProxy.logger.log(LOG_HEADER, `deviceId = ${deviceId}`);\n LoggerProxy.logger.log(LOG_HEADER, 'settings =', JSON.stringify(settings));\n }\n },\n\n handleVideoLogging: (videoStream?: LocalCameraStream) => {\n const LOG_HEADER = 'MeetingUtil#handleVideoLogging -->';\n\n if (videoStream) {\n const settings = videoStream.getSettings();\n const {deviceId} = settings;\n\n LoggerProxy.logger.log(LOG_HEADER, `deviceId = ${deviceId}`);\n LoggerProxy.logger.log(LOG_HEADER, 'settings =', JSON.stringify(settings));\n }\n },\n\n endMeetingForAll: (meeting) => {\n if (meeting.meetingState === FULL_STATE.INACTIVE) {\n return Promise.reject(new MeetingNotActiveError());\n }\n\n const endOptions = {\n locusUrl: meeting.locusUrl,\n };\n\n return meeting.meetingRequest\n .endMeetingForAll(endOptions)\n .then(() => MeetingUtil.cleanUp(meeting))\n .catch((err) => {\n LoggerProxy.logger.error(\n `Meeting:util#endMeetingForAll An error occured while trying to end meeting for all with an id of ${meeting.id}, error: ${err}`\n );\n\n return Promise.reject(err);\n });\n },\n\n canEnableClosedCaption: (displayHints) => displayHints.includes(DISPLAY_HINTS.CAPTION_START),\n\n isSaveTranscriptsEnabled: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.SAVE_TRANSCRIPTS_ENABLED),\n\n canStartTranscribing: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.TRANSCRIPTION_CONTROL_START),\n\n canStopTranscribing: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.TRANSCRIPTION_CONTROL_STOP),\n\n isClosedCaptionActive: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.CAPTION_STATUS_ACTIVE),\n\n canStartManualCaption: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.MANUAL_CAPTION_START),\n\n isLocalRecordingStarted: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.LOCAL_RECORDING_STATUS_STARTED),\n\n isLocalRecordingStopped: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.LOCAL_RECORDING_STATUS_STOPPED),\n\n isLocalRecordingPaused: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.LOCAL_RECORDING_STATUS_PAUSED),\n\n isLocalStreamingStarted: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.STREAMING_STATUS_STARTED),\n\n isLocalStreamingStopped: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.STREAMING_STATUS_STOPPED),\n\n canStopManualCaption: (displayHints) => displayHints.includes(DISPLAY_HINTS.MANUAL_CAPTION_STOP),\n\n isManualCaptionActive: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.MANUAL_CAPTION_STATUS_ACTIVE),\n\n isSpokenLanguageAutoDetectionEnabled: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.SPOKEN_LANGUAGE_AUTO_DETECTION_ENABLED),\n\n isWebexAssistantActive: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.WEBEX_ASSISTANT_STATUS_ACTIVE),\n\n canViewCaptionPanel: (displayHints) => displayHints.includes(DISPLAY_HINTS.ENABLE_CAPTION_PANEL),\n\n isRealTimeTranslationEnabled: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.DISPLAY_REAL_TIME_TRANSLATION),\n\n canSelectSpokenLanguages: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.DISPLAY_NON_ENGLISH_ASR),\n\n waitingForOthersToJoin: (displayHints) => displayHints.includes(DISPLAY_HINTS.WAITING_FOR_OTHERS),\n\n showAutoEndMeetingWarning: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.SHOW_AUTO_END_MEETING_WARNING),\n\n canSendReactions: (originalValue, displayHints) => {\n if (displayHints.includes(DISPLAY_HINTS.REACTIONS_ACTIVE)) {\n return true;\n }\n if (displayHints.includes(DISPLAY_HINTS.REACTIONS_INACTIVE)) {\n return false;\n }\n\n return originalValue;\n },\n canUserRenameSelfAndObserved: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.CAN_RENAME_SELF_AND_OBSERVED),\n\n requiresPostMeetingDataConsentPrompt: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.SHOW_POST_MEETING_DATA_CONSENT_PROMPT),\n\n canUserRenameOthers: (displayHints) => displayHints.includes(DISPLAY_HINTS.CAN_RENAME_OTHERS),\n\n // Default empty value for policies if we get an undefined value (ie permissionToken is not available)\n canShareWhiteBoard: (displayHints, policies = {}) =>\n displayHints.includes(DISPLAY_HINTS.SHARE_WHITEBOARD) &&\n !!policies[SELF_POLICY.SUPPORT_WHITEBOARD],\n\n canMoveToLobby: (displayHints) => displayHints.includes(DISPLAY_HINTS.MOVE_TO_LOBBY),\n\n /**\n * Adds the current locus sequence information to a request body\n * @param {Object} meeting The meeting object\n * @param {Object} requestBody The body of a request to locus\n * @returns {void}\n */\n addSequence: (meeting, requestBody) => {\n const sequence = meeting?.locusInfo?.sequence;\n\n if (!sequence) {\n return;\n }\n\n requestBody.sequence = sequence;\n },\n\n /**\n * Updates the locus info for the meeting with the locus\n * information returned from API requests made to Locus\n * Returns the original response object\n * @param {Object} meeting The meeting object\n * @param {Object} response The response of the http request\n * @returns {Object}\n */\n updateLocusFromApiResponse: (meeting, response) => {\n if (!meeting) {\n return response;\n }\n\n if (response?.body?.locus) {\n meeting.locusInfo.handleLocusAPIResponse(meeting, response.body);\n }\n\n return response;\n },\n\n generateBuildLocusDeltaRequestOptions: (originalMeeting) => {\n const meetingRef = new WeakRef(originalMeeting);\n\n const buildLocusDeltaRequestOptions = (originalOptions) => {\n const meeting = meetingRef.deref();\n\n if (!meeting) {\n return originalOptions;\n }\n\n const options = cloneDeep(originalOptions);\n\n if (!options.body) {\n options.body = {};\n }\n\n MeetingUtil.addSequence(meeting, options.body);\n\n return options;\n };\n\n return buildLocusDeltaRequestOptions;\n },\n\n generateLocusDeltaRequest: (originalMeeting) => {\n const meetingRef = new WeakRef(originalMeeting);\n\n const buildLocusDeltaRequestOptions =\n MeetingUtil.generateBuildLocusDeltaRequestOptions(originalMeeting);\n\n const locusDeltaRequest = (originalOptions) => {\n const meeting = meetingRef.deref();\n\n if (!meeting) {\n return Promise.resolve();\n }\n\n const options = buildLocusDeltaRequestOptions(originalOptions);\n\n return meeting\n .request(options)\n .then((response) => MeetingUtil.updateLocusFromApiResponse(meeting, response));\n };\n\n return locusDeltaRequest;\n },\n\n selfSupportsFeature: (feature: SELF_POLICY, userPolicies: Record<SELF_POLICY, boolean>) => {\n if (!userPolicies) {\n return true;\n }\n\n return userPolicies[feature];\n },\n\n parseInterpretationInfo: (meeting, meetingInfo) => {\n if (!meeting || !meetingInfo) {\n return;\n }\n const siInfo = meetingInfo.simultaneousInterpretation;\n meeting.simultaneousInterpretation.updateMeetingSIEnabled(\n !!meetingInfo.turnOnSimultaneousInterpretation,\n !!siInfo?.currentSIInterpreter\n );\n const hostSIEnabled = !!(\n meetingInfo.turnOnSimultaneousInterpretation &&\n meetingInfo?.meetingSiteSetting?.enableHostInterpreterControlSI\n );\n meeting.simultaneousInterpretation.updateHostSIEnabled(hostSIEnabled);\n\n function renameKey(obj, oldKey, newKey) {\n if (oldKey in obj) {\n obj[newKey] = obj[oldKey];\n delete obj[oldKey];\n }\n }\n if (siInfo) {\n const lanuagesInfo = cloneDeep(siInfo.siLanguages);\n for (const language of lanuagesInfo) {\n renameKey(language, 'languageCode', 'languageName');\n renameKey(language, 'languageGroupId', 'languageCode');\n }\n if (!meeting.simultaneousInterpretation?.siLanguages?.length) {\n meeting.simultaneousInterpretation.updateInterpretation({siLanguages: lanuagesInfo});\n }\n }\n Trigger.trigger(\n meeting,\n {\n file: 'meeting/util',\n function: 'parseInterpretationInfo',\n },\n EVENT_TRIGGERS.MEETING_INTERPRETATION_UPDATE\n );\n },\n\n /**\n * Returns a CA-recognized error payload for the specified raw error message/reason.\n *\n * New errors can be added to this function for handling in the future\n *\n * @param {String} reason the raw error message\n * @returns {Array<object>} an array of payload objects\n */\n getChangeMeetingFloorErrorPayload: (reason: string) => {\n const errorPayload = {\n errorDescription: reason,\n name: 'locus.response',\n shownToUser: false,\n };\n if (reason.includes(LOCAL_SHARE_ERRORS.UNDEFINED)) {\n return [\n {\n ...errorPayload,\n fatal: true,\n category: 'signaling',\n errorCode: 1100,\n },\n ];\n }\n if (reason.includes(LOCAL_SHARE_ERRORS.DEVICE_NOT_JOINED)) {\n return [\n {\n ...errorPayload,\n fatal: true,\n category: 'signaling',\n errorCode: 4050,\n },\n ];\n }\n if (reason.includes(LOCAL_SHARE_ERRORS.NO_MEDIA_FOR_DEVICE)) {\n return [\n {\n ...errorPayload,\n fatal: true,\n category: 'media',\n errorCode: 2048,\n },\n ];\n }\n if (reason.includes(LOCAL_SHARE_ERRORS.NO_CONFLUENCE_ID)) {\n return [\n {\n ...errorPayload,\n fatal: true,\n category: 'signaling',\n errorCode: 4064,\n },\n ];\n }\n if (reason.includes(LOCAL_SHARE_ERRORS.CONTENT_SHARING_DISABLED)) {\n return [\n {\n ...errorPayload,\n fatal: true,\n category: 'expected',\n errorCode: 4065,\n },\n ];\n }\n if (reason.includes(LOCAL_SHARE_ERRORS.LOCUS_PARTICIPANT_DNE)) {\n return [\n {\n ...errorPayload,\n fatal: true,\n category: 'signaling',\n errorCode: 4066,\n },\n ];\n }\n if (reason.includes(LOCAL_SHARE_ERRORS.CONTENT_REQUEST_WHILE_PENDING_WHITEBOARD)) {\n return [\n {\n ...errorPayload,\n fatal: true,\n category: 'expected',\n errorCode: 4067,\n },\n ];\n }\n\n // return unknown error\n return [\n {\n ...errorPayload,\n fatal: true,\n category: 'signaling',\n errorCode: 1100,\n },\n ];\n },\n};\n\nexport default MeetingUtil;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_lodash","require","_webexErrors","_loggerProxy","_interopRequireDefault","_constants","_browserDetection","_intentToJoin","_joinMeeting2","_parameter","_permission","_passwordError","_captchaError","_triggerProxy","_createForOfIteratorHelper","r","e","t","_Symbol","_Symbol$iterator","_Array$isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","o","a","u","call","next","return","_arrayLikeToArray","toString","slice","constructor","name","_Array$from","test","Array","ownKeys","_Object$keys","_Object$getOwnPropertySymbols","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","MeetingUtil","parseLocusJoin","response","parsed","locus","body","dataSets","mediaConnections","locusUrl","url","locusId","split","pop","selfId","self","id","mediaConnection","mediaId","remoteUpdateAudioVideo","meeting","audioMuted","videoMuted","_promise","reject","ParameterError","locusMediaRequest","send","type","selfUrl","sequence","locusInfo","muteOptions","hasOwner","info","owner","isOwnerSelf","isPinOrGuest","err","_err$body","errorCode","INTENT_TO_JOIN","includes","getIpVersion","webex","_webex$internal$devic","internal","device","ipNetworkDetector","supportsIpV4","supportsIpV6","config","meetings","backendIpv6NativeSupport","BrowserDetection","isBrowser","undefined","IP_VERSION","ipv4_and_ipv6","only_ipv4","only_ipv6","unknown","getCaEventLabelsForIpVersion","ipver","joinMeeting","_joinMeeting","_asyncToGenerator2","_regenerator","mark","_callee","options","_meeting$meetingInfo","reachability","clientMediaPreferences","_t","wrap","_context","prev","abrupt","getWebexObject","newMetrics","submitClientEvent","meetingId","joinCookie","preferTranscoding","isMultistream","getClientMediaPreferences","sent","roapMessage","getReachabilityReportToAttachToRoap","LoggerProxy","logger","error","meetingRequest","inviteeAddress","meetingJoinUrl","sipUri","meetingNumber","deviceUrl","locusClusterUrl","meetingInfo","correlationId","permissionToken","resourceId","moderator","pin","moveToResource","asResourceOccupant","breakoutsSupported","locale","deviceCapabilities","liveAnnotationSupported","alias","then","res","_res$headers","setLocus","isoLocalClientMeetingJoinTime","headers","date","payload","trigger","identifiers","trackingId","trackingid","catch","_meeting$meetingInfo2","meetingLookupUrl","rawError","stop","_x","_x2","cleanUp","_meeting$webex","_meeting$webex$intern","_meeting$webex$intern2","_meeting$webex$intern3","meetingEnded","stopPeriodicLogUpload","breakouts","simultaneousInterpretation","callDiagnosticMetrics","clearEventLimitsForCorrelationId","stopStatsAnalyzer","statsAnalyzer","stopAnalyzer","resolve","closeRemoteStreams","closePeerConnections","cleanupLocalStreams","unsetRemoteStreams","unsetPeerConnections","reconnectionManager","stopKeepAlive","_meeting$config","enableAutomaticLLM","updateLLMConnection","disconnectPhoneAudio","phoneUrl","meetingState","FULL_STATE","INACTIVE","MeetingNotActiveError","concat","prepareLeaveMeetingOptions","defaultOptions","leaveMeeting","isUserInLeftState","UserNotJoinedError","leaveOptions","moveMeeting","declineMeeting","reason","_locusInfo$parsedLocu","_locusInfo$parsedLocu2","parsedLocus","state","_LEFT_","isUserInIdleState","_locusInfo$parsedLocu3","_locusInfo$parsedLocu4","_IDLE_","isUserInJoinedState","_locusInfo$parsedLocu5","_locusInfo$parsedLocu6","_JOINED_","isMediaEstablished","currentMediaStatus","audio","video","share","joinMeetingOptions","requiredCaptcha","errorToThrow","CaptchaError","errors","fatal","category","shownToUser","code","errorDescription","rawErrorMessage","sdkMessage","passwordStatus","PASSWORD_STATUS","REQUIRED","PasswordError","IntentToJoinError","JoinMeetingError","buildLeaveFetchRequestOptions","buildLeaveMeetingRequestOptions","getTrack","stream","audioTrack","videoTrack","audioTracks","videoTracks","getAudioTracks","getVideoTracks","_audioTracks","_audioTracks2","_slicedToArray2","_videoTracks","_videoTracks2","getModeratorFromLocusInfo","getPolicyFromLocusInfo","policy","getUserDisplayHintsFromLocusInfo","_locusInfo$parsedLocu7","_locusInfo$parsedLocu8","userDisplayHints","canInviteNewParticipants","displayHints","DISPLAY_HINTS","ADD_GUEST","canAdmitParticipant","ROSTER_WAITING_TO_JOIN","canUserLock","LOCK_CONTROL_LOCK","LOCK_STATUS_UNLOCKED","canUserUnlock","LOCK_CONTROL_UNLOCK","LOCK_STATUS_LOCKED","canUserRaiseHand","RAISE_HAND","canUserLowerAllHands","LOWER_ALL_HANDS","canUserLowerSomeoneElsesHand","LOWER_SOMEONE_ELSES_HAND","bothLeaveAndEndMeetingAvailable","LEAVE_TRANSFER_HOST_END_MEETING","LEAVE_END_MEETING","canManageBreakout","BREAKOUT_MANAGEMENT","canStartBreakout","DISABLE_BREAKOUT_START","canBroadcastMessageToBreakout","policies","BROADCAST_MESSAGE_TO_BREAKOUT","SELF_POLICY","SUPPORT_BROADCAST_MESSAGE","isSuppressBreakoutSupport","UCF_SUPPRESS_BREAKOUTS_SUPPORT","canAdmitLobbyToBreakout","DISABLE_LOBBY_TO_BREAKOUT","isBreakoutPreassignmentsEnabled","DISABLE_BREAKOUT_PREASSIGNMENTS","canUserAskForHelp","DISABLE_ASK_FOR_HELP","lockMeeting","actions","request","canLock","lock","PermissionError","unlockMeeting","canUnlock","handleAudioLogging","audioStream","LOG_HEADER","settings","getSettings","deviceId","log","_stringify","handleVideoLogging","videoStream","endMeetingForAll","endOptions","canEnableClosedCaption","CAPTION_START","isSaveTranscriptsEnabled","SAVE_TRANSCRIPTS_ENABLED","canStartTranscribing","TRANSCRIPTION_CONTROL_START","canStopTranscribing","TRANSCRIPTION_CONTROL_STOP","isClosedCaptionActive","CAPTION_STATUS_ACTIVE","canStartManualCaption","MANUAL_CAPTION_START","isLocalRecordingStarted","LOCAL_RECORDING_STATUS_STARTED","isLocalRecordingStopped","LOCAL_RECORDING_STATUS_STOPPED","isLocalRecordingPaused","LOCAL_RECORDING_STATUS_PAUSED","isLocalStreamingStarted","STREAMING_STATUS_STARTED","isLocalStreamingStopped","STREAMING_STATUS_STOPPED","canStopManualCaption","MANUAL_CAPTION_STOP","isManualCaptionActive","MANUAL_CAPTION_STATUS_ACTIVE","isSpokenLanguageAutoDetectionEnabled","SPOKEN_LANGUAGE_AUTO_DETECTION_ENABLED","isWebexAssistantActive","WEBEX_ASSISTANT_STATUS_ACTIVE","canViewCaptionPanel","ENABLE_CAPTION_PANEL","isRealTimeTranslationEnabled","DISPLAY_REAL_TIME_TRANSLATION","canSelectSpokenLanguages","DISPLAY_NON_ENGLISH_ASR","waitingForOthersToJoin","WAITING_FOR_OTHERS","showAutoEndMeetingWarning","SHOW_AUTO_END_MEETING_WARNING","canSendReactions","originalValue","REACTIONS_ACTIVE","REACTIONS_INACTIVE","canUserRenameSelfAndObserved","CAN_RENAME_SELF_AND_OBSERVED","requiresPostMeetingDataConsentPrompt","SHOW_POST_MEETING_DATA_CONSENT_PROMPT","canUserRenameOthers","CAN_RENAME_OTHERS","canShareWhiteBoard","SHARE_WHITEBOARD","SUPPORT_WHITEBOARD","canMoveToLobby","MOVE_TO_LOBBY","addSequence","requestBody","_meeting$locusInfo","updateLocusFromApiResponse","_response$body","handleLocusAPIResponse","generateBuildLocusDeltaRequestOptions","originalMeeting","meetingRef","WeakRef","buildLocusDeltaRequestOptions","originalOptions","deref","cloneDeep","generateLocusDeltaRequest","locusDeltaRequest","selfSupportsFeature","feature","userPolicies","parseInterpretationInfo","_meetingInfo$meetingS","siInfo","updateMeetingSIEnabled","turnOnSimultaneousInterpretation","currentSIInterpreter","hostSIEnabled","meetingSiteSetting","enableHostInterpreterControlSI","updateHostSIEnabled","renameKey","obj","oldKey","newKey","_meeting$simultaneous","_meeting$simultaneous2","lanuagesInfo","siLanguages","_iterator","_step","language","updateInterpretation","Trigger","file","function","EVENT_TRIGGERS","MEETING_INTERPRETATION_UPDATE","getChangeMeetingFloorErrorPayload","errorPayload","LOCAL_SHARE_ERRORS","UNDEFINED","DEVICE_NOT_JOINED","NO_MEDIA_FOR_DEVICE","NO_CONFLUENCE_ID","CONTENT_SHARING_DISABLED","LOCUS_PARTICIPANT_DNE","CONTENT_REQUEST_WHILE_PENDING_WHITEBOARD","_default","exports"],"sources":["util.ts"],"sourcesContent":["import {LocalCameraStream, LocalMicrophoneStream} from '@webex/media-helpers';\n\nimport {cloneDeep} from 'lodash';\nimport {MeetingNotActiveError, UserNotJoinedError} from '../common/errors/webex-errors';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {\n INTENT_TO_JOIN,\n _LEFT_,\n _IDLE_,\n _JOINED_,\n PASSWORD_STATUS,\n DISPLAY_HINTS,\n FULL_STATE,\n SELF_POLICY,\n EVENT_TRIGGERS,\n LOCAL_SHARE_ERRORS,\n IP_VERSION,\n} from '../constants';\nimport BrowserDetection from '../common/browser-detection';\nimport IntentToJoinError from '../common/errors/intent-to-join';\nimport JoinMeetingError from '../common/errors/join-meeting';\nimport ParameterError from '../common/errors/parameter';\nimport PermissionError from '../common/errors/permission';\nimport PasswordError from '../common/errors/password-error';\nimport CaptchaError from '../common/errors/captcha-error';\nimport Trigger from '../common/events/trigger-proxy';\n\nconst MeetingUtil = {\n parseLocusJoin: (response) => {\n const parsed: any = {};\n\n // First todo: add check for existance\n parsed.locus = response.body.locus;\n parsed.dataSets = response.body.dataSets;\n parsed.mediaConnections = response.body.mediaConnections;\n parsed.locusUrl = parsed.locus.url;\n parsed.locusId = parsed.locus.url.split('/').pop();\n parsed.selfId = parsed.locus.self.id;\n\n // we need mediaId before making roap calls\n parsed.mediaConnections.forEach((mediaConnection) => {\n if (mediaConnection.mediaId) {\n parsed.mediaId = mediaConnection.mediaId;\n }\n });\n\n return parsed;\n },\n\n remoteUpdateAudioVideo: (meeting, audioMuted?: boolean, videoMuted?: boolean) => {\n if (!meeting) {\n return Promise.reject(new ParameterError('You need a meeting object.'));\n }\n\n if (!meeting.locusMediaRequest) {\n return Promise.reject(\n new ParameterError(\n 'You need a meeting with a media connection, call Meeting.addMedia() first.'\n )\n );\n }\n\n return meeting.locusMediaRequest.send({\n type: 'LocalMute',\n selfUrl: meeting.selfUrl,\n mediaId: meeting.mediaId,\n sequence: meeting.locusInfo.sequence,\n muteOptions: {\n audioMuted,\n videoMuted,\n },\n });\n },\n\n hasOwner: (info) => info && info.owner,\n\n isOwnerSelf: (owner, selfId) => owner === selfId,\n\n isPinOrGuest: (err) => err?.body?.errorCode && INTENT_TO_JOIN.includes(err.body.errorCode),\n\n /**\n * Returns the current state of knowledge about whether we are on an ipv4-only or ipv6-only or mixed (ipv4 and ipv6) network.\n * The return value matches the possible values of \"ipver\" parameter used by the backend APIs.\n *\n * @param {Object} webex webex instance\n * @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\n */\n getIpVersion(webex: any): IP_VERSION | undefined {\n const {supportsIpV4, supportsIpV6} = webex.internal.device.ipNetworkDetector;\n\n if (\n !webex.config.meetings.backendIpv6NativeSupport &&\n BrowserDetection().isBrowser('firefox')\n ) {\n // when backend doesn't support native ipv6,\n // then our NAT64/DNS64 based solution relies on FQDN ICE candidates, but Firefox doesn't support them,\n // see https://bugzilla.mozilla.org/show_bug.cgi?id=1713128\n // so for Firefox we don't want the backend to activate the \"ipv6 feature\"\n return undefined;\n }\n\n if (supportsIpV4 && supportsIpV6) {\n return IP_VERSION.ipv4_and_ipv6;\n }\n\n if (supportsIpV4) {\n return IP_VERSION.only_ipv4;\n }\n\n if (supportsIpV6) {\n return IP_VERSION.only_ipv6;\n }\n\n return IP_VERSION.unknown;\n },\n\n /**\n * Returns CA event labels related to Orpheus ipver parameter that can be sent to CA with any CA event\n * @param {any} webex instance\n * @returns {Array<string>|undefined} array of CA event labels or undefined if no labels should be sent\n */\n getCaEventLabelsForIpVersion(webex: any): Array<string> | undefined {\n const ipver = MeetingUtil.getIpVersion(webex);\n\n switch (ipver) {\n case IP_VERSION.unknown:\n return undefined;\n case IP_VERSION.only_ipv4:\n return ['hasIpv4_true'];\n case IP_VERSION.only_ipv6:\n return ['hasIpv6_true'];\n case IP_VERSION.ipv4_and_ipv6:\n return ['hasIpv4_true', 'hasIpv6_true'];\n default:\n return undefined;\n }\n },\n\n joinMeeting: async (meeting, options) => {\n if (!meeting) {\n return Promise.reject(new ParameterError('You need a meeting object.'));\n }\n const webex = meeting.getWebexObject();\n\n // @ts-ignore\n webex.internal.newMetrics.submitClientEvent({\n name: 'client.locus.join.request',\n options: {meetingId: meeting.id},\n });\n\n let reachability;\n let clientMediaPreferences = {\n // bare minimum fallback value that should allow us to join\n ipver: IP_VERSION.unknown,\n joinCookie: undefined,\n preferTranscoding: !meeting.isMultistream,\n };\n\n try {\n clientMediaPreferences = await webex.meetings.reachability.getClientMediaPreferences(\n meeting.isMultistream,\n MeetingUtil.getIpVersion(webex)\n );\n if (options.roapMessage) {\n // we only need to attach reachability if we are sending a roap message\n // sending reachability on its own will cause Locus to reject our join request\n reachability = await webex.meetings.reachability.getReachabilityReportToAttachToRoap();\n }\n } catch (e) {\n LoggerProxy.logger.error(\n 'Meeting:util#joinMeeting --> Error getting reachability or clientMediaPreferences:',\n e\n );\n }\n\n // eslint-disable-next-line no-warning-comments\n // TODO: check if the meeting is in JOINING state\n // if Joining state termintate the request as user might click multiple times\n return meeting.meetingRequest\n .joinMeeting({\n inviteeAddress: meeting.meetingJoinUrl || meeting.sipUri,\n meetingNumber: meeting.meetingNumber,\n deviceUrl: meeting.deviceUrl,\n locusUrl: meeting.locusUrl,\n locusClusterUrl: meeting.meetingInfo?.locusClusterUrl,\n correlationId: meeting.correlationId,\n reachability,\n roapMessage: options.roapMessage,\n permissionToken: meeting.permissionToken,\n resourceId: options.resourceId || null,\n moderator: options.moderator,\n pin: options.pin,\n moveToResource: options.moveToResource,\n asResourceOccupant: options.asResourceOccupant,\n breakoutsSupported: options.breakoutsSupported,\n locale: options.locale,\n deviceCapabilities: options.deviceCapabilities,\n liveAnnotationSupported: options.liveAnnotationSupported,\n clientMediaPreferences,\n alias: options.alias,\n })\n .then((res) => {\n const parsed = MeetingUtil.parseLocusJoin(res);\n meeting.setLocus(parsed);\n meeting.isoLocalClientMeetingJoinTime = res?.headers?.date; // read from header if exist, else fall back to system clock : https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-555657\n webex.internal.newMetrics.submitClientEvent({\n name: 'client.locus.join.response',\n payload: {\n trigger: 'loci-update',\n identifiers: {\n trackingId: res.headers.trackingid,\n },\n },\n options: {\n meetingId: meeting.id,\n mediaConnections: parsed.mediaConnections,\n },\n });\n\n return parsed;\n })\n .catch((err) => {\n webex.internal.newMetrics.submitClientEvent({\n name: 'client.locus.join.response',\n payload: {\n identifiers: {meetingLookupUrl: meeting.meetingInfo?.meetingLookupUrl},\n },\n options: {meetingId: meeting.id, rawError: err},\n });\n\n throw err;\n });\n },\n\n cleanUp: (meeting) => {\n meeting.getWebexObject().internal.device.meetingEnded();\n meeting.stopPeriodicLogUpload();\n\n meeting.breakouts.cleanUp();\n meeting.simultaneousInterpretation.cleanUp();\n meeting.locusMediaRequest = undefined;\n\n meeting.webex?.internal?.newMetrics?.callDiagnosticMetrics?.clearEventLimitsForCorrelationId(\n meeting.correlationId\n );\n\n // make sure we send last metrics before we close the peerconnection\n const stopStatsAnalyzer = meeting.statsAnalyzer\n ? meeting.statsAnalyzer.stopAnalyzer()\n : Promise.resolve();\n\n return stopStatsAnalyzer\n .then(() => meeting.closeRemoteStreams())\n .then(() => meeting.closePeerConnections())\n .then(() => {\n meeting.cleanupLocalStreams();\n meeting.unsetRemoteStreams();\n meeting.unsetPeerConnections();\n meeting.reconnectionManager.cleanUp();\n })\n .then(() => meeting.stopKeepAlive())\n .then(() => {\n if (meeting.config?.enableAutomaticLLM) {\n meeting.updateLLMConnection();\n }\n });\n },\n\n disconnectPhoneAudio: (meeting, phoneUrl) => {\n if (meeting.meetingState === FULL_STATE.INACTIVE) {\n return Promise.reject(new MeetingNotActiveError());\n }\n\n const options = {\n locusUrl: meeting.locusUrl,\n selfId: meeting.selfId,\n correlationId: meeting.correlationId,\n phoneUrl,\n };\n\n return meeting.meetingRequest.disconnectPhoneAudio(options).catch((err) => {\n LoggerProxy.logger.error(\n `Meeting:util#disconnectPhoneAudio --> An error occured while disconnecting phone audio in meeting ${meeting.id}, error: ${err}`\n );\n\n return Promise.reject(err);\n });\n },\n\n /**\n * Returns options for leaving a meeting.\n * @param {any} meeting\n * @param {any} options\n * @returns {any} leave options\n */\n prepareLeaveMeetingOptions: (meeting, options: any = {}) => {\n const defaultOptions = {\n locusUrl: meeting.locusUrl,\n selfId: meeting.selfId,\n correlationId: meeting.correlationId,\n resourceId: meeting.resourceId,\n deviceUrl: meeting.deviceUrl,\n };\n\n return {...defaultOptions, ...options};\n },\n\n // by default will leave on meeting's resourceId\n // if you explicity want it not to leave on resource id, pass\n // {resourceId: null}\n // TODO: chris, you can modify this however you want\n leaveMeeting: (meeting, options: any = {}) => {\n if (meeting.meetingState === FULL_STATE.INACTIVE) {\n // TODO: clean up if the meeting is already inactive\n return Promise.reject(new MeetingNotActiveError());\n }\n\n if (MeetingUtil.isUserInLeftState(meeting.locusInfo)) {\n return Promise.reject(new UserNotJoinedError());\n }\n\n const leaveOptions = MeetingUtil.prepareLeaveMeetingOptions(meeting, options);\n\n return meeting.meetingRequest\n .leaveMeeting(leaveOptions)\n .then(() => {\n if (options.moveMeeting) {\n return Promise.resolve();\n }\n\n return MeetingUtil.cleanUp(meeting);\n })\n .catch((err) => {\n // TODO: If the meeting state comes as LEFT or INACTIVE as response then\n // 1) on leave clean up the meeting or simply do a sync on the meeting\n // 2) If the error says meeting is inactive then destroy the meeting object\n LoggerProxy.logger.error(\n `Meeting:util#leaveMeeting --> An error occured while trying to leave meeting with an id of ${meeting.id}, error: ${err}`\n );\n\n return Promise.reject(err);\n });\n },\n declineMeeting: (meeting, reason) =>\n meeting.meetingRequest.declineMeeting({\n locusUrl: meeting.locusUrl,\n deviceUrl: meeting.deviceUrl,\n reason,\n }),\n\n isUserInLeftState: (locusInfo) => locusInfo.parsedLocus?.self?.state === _LEFT_,\n\n isUserInIdleState: (locusInfo) => locusInfo.parsedLocus?.self?.state === _IDLE_,\n\n isUserInJoinedState: (locusInfo) => locusInfo.parsedLocus?.self?.state === _JOINED_,\n\n isMediaEstablished: (currentMediaStatus) =>\n currentMediaStatus &&\n (currentMediaStatus.audio || currentMediaStatus.video || currentMediaStatus.share),\n\n joinMeetingOptions: (meeting, options: any = {}) => {\n const webex = meeting.getWebexObject();\n\n meeting.resourceId = meeting.resourceId || options.resourceId;\n\n if (meeting.requiredCaptcha) {\n const errorToThrow = new CaptchaError();\n\n // @ts-ignore\n webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.response',\n options: {\n meetingId: meeting.id,\n },\n payload: {\n errors: [\n {\n fatal: false,\n category: 'expected',\n name: 'other',\n shownToUser: false,\n errorCode: errorToThrow.code,\n errorDescription: errorToThrow.name,\n rawErrorMessage: errorToThrow.sdkMessage,\n },\n ],\n },\n });\n\n return Promise.reject(errorToThrow);\n }\n\n if (meeting.passwordStatus === PASSWORD_STATUS.REQUIRED) {\n const errorToThrow = new PasswordError();\n\n // @ts-ignore\n webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.response',\n options: {\n meetingId: meeting.id,\n },\n payload: {\n errors: [\n {\n fatal: false,\n category: 'expected',\n name: 'other',\n shownToUser: false,\n errorCode: errorToThrow.code,\n errorDescription: errorToThrow.name,\n rawErrorMessage: errorToThrow.sdkMessage,\n },\n ],\n },\n });\n\n return Promise.reject(errorToThrow);\n }\n\n if (options.pin) {\n // @ts-ignore\n webex.internal.newMetrics.submitClientEvent({\n name: 'client.pin.collected',\n options: {\n meetingId: meeting.id,\n },\n });\n }\n\n // normal join meeting, scenario A, D\n return MeetingUtil.joinMeeting(meeting, options).catch((err) => {\n // joining a claimed PMR that is not my own, scenario B\n if (MeetingUtil.isPinOrGuest(err)) {\n webex.internal.newMetrics.submitClientEvent({\n name: 'client.pin.prompt',\n options: {\n meetingId: meeting.id,\n },\n });\n\n // request host pin or non host for unclaimed PMR, start of Scenario C\n // see https://sqbu-github.cisco.com/WebExSquared/locus/wiki/Locus-Lobby-and--IVR-Feature\n return Promise.reject(new IntentToJoinError('Error Joining Meeting', err));\n }\n LoggerProxy.logger.error('Meeting:util#joinMeetingOptions --> Error joining the call, ', err);\n\n return Promise.reject(new JoinMeetingError(options, 'Error Joining Meeting', err));\n });\n },\n\n /**\n * Returns request options for leaving a meeting.\n * @param {any} meeting\n * @param {any} options\n * @returns {any} request options\n */\n buildLeaveFetchRequestOptions: (meeting, options: any = {}) => {\n const leaveOptions = MeetingUtil.prepareLeaveMeetingOptions(meeting, options);\n\n return meeting.meetingRequest.buildLeaveMeetingRequestOptions(leaveOptions);\n },\n\n getTrack: (stream) => {\n let audioTrack = null;\n let videoTrack = null;\n let audioTracks = null;\n let videoTracks = null;\n\n if (!stream) {\n return {audioTrack: null, videoTrack: null};\n }\n if (stream.getAudioTracks) {\n audioTracks = stream.getAudioTracks();\n }\n if (stream.getVideoTracks) {\n videoTracks = stream.getVideoTracks();\n }\n\n if (audioTracks && audioTracks.length > 0) {\n [audioTrack] = audioTracks;\n }\n\n if (videoTracks && videoTracks.length > 0) {\n [videoTrack] = videoTracks;\n }\n\n return {audioTrack, videoTrack};\n },\n\n getModeratorFromLocusInfo: (locusInfo) =>\n locusInfo &&\n locusInfo.parsedLocus &&\n locusInfo.parsedLocus.info &&\n locusInfo.parsedLocus.info &&\n locusInfo.parsedLocus.info.moderator,\n\n getPolicyFromLocusInfo: (locusInfo) =>\n locusInfo &&\n locusInfo.parsedLocus &&\n locusInfo.parsedLocus.info &&\n locusInfo.parsedLocus.info &&\n locusInfo.parsedLocus.info.policy,\n\n getUserDisplayHintsFromLocusInfo: (locusInfo) =>\n locusInfo?.parsedLocus?.info?.userDisplayHints || [],\n\n canInviteNewParticipants: (displayHints) => displayHints.includes(DISPLAY_HINTS.ADD_GUEST),\n\n canAdmitParticipant: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.ROSTER_WAITING_TO_JOIN),\n\n canUserLock: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.LOCK_CONTROL_LOCK) &&\n displayHints.includes(DISPLAY_HINTS.LOCK_STATUS_UNLOCKED),\n\n canUserUnlock: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.LOCK_CONTROL_UNLOCK) &&\n displayHints.includes(DISPLAY_HINTS.LOCK_STATUS_LOCKED),\n\n canUserRaiseHand: (displayHints) => displayHints.includes(DISPLAY_HINTS.RAISE_HAND),\n\n canUserLowerAllHands: (displayHints) => displayHints.includes(DISPLAY_HINTS.LOWER_ALL_HANDS),\n\n canUserLowerSomeoneElsesHand: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.LOWER_SOMEONE_ELSES_HAND),\n\n bothLeaveAndEndMeetingAvailable: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.LEAVE_TRANSFER_HOST_END_MEETING) ||\n displayHints.includes(DISPLAY_HINTS.LEAVE_END_MEETING),\n\n canManageBreakout: (displayHints) => displayHints.includes(DISPLAY_HINTS.BREAKOUT_MANAGEMENT),\n\n canStartBreakout: (displayHints) => !displayHints.includes(DISPLAY_HINTS.DISABLE_BREAKOUT_START),\n\n canBroadcastMessageToBreakout: (displayHints, policies = {}) =>\n displayHints.includes(DISPLAY_HINTS.BROADCAST_MESSAGE_TO_BREAKOUT) &&\n !!policies[SELF_POLICY.SUPPORT_BROADCAST_MESSAGE],\n\n isSuppressBreakoutSupport: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.UCF_SUPPRESS_BREAKOUTS_SUPPORT),\n\n canAdmitLobbyToBreakout: (displayHints) =>\n !displayHints.includes(DISPLAY_HINTS.DISABLE_LOBBY_TO_BREAKOUT),\n\n isBreakoutPreassignmentsEnabled: (displayHints) =>\n !displayHints.includes(DISPLAY_HINTS.DISABLE_BREAKOUT_PREASSIGNMENTS),\n\n canUserAskForHelp: (displayHints) => !displayHints.includes(DISPLAY_HINTS.DISABLE_ASK_FOR_HELP),\n\n lockMeeting: (actions, request, locusUrl) => {\n if (actions && actions.canLock) {\n return request.lockMeeting({locusUrl, lock: true});\n }\n\n return Promise.reject(new PermissionError('Lock not allowed, due to joined property.'));\n },\n\n unlockMeeting: (actions, request, locusUrl) => {\n if (actions && actions.canUnlock) {\n return request.lockMeeting({locusUrl, lock: false});\n }\n\n return Promise.reject(new PermissionError('Unlock not allowed, due to joined property.'));\n },\n\n handleAudioLogging: (audioStream?: LocalMicrophoneStream) => {\n const LOG_HEADER = 'MeetingUtil#handleAudioLogging -->';\n\n if (audioStream) {\n const settings = audioStream.getSettings();\n const {deviceId} = settings;\n\n LoggerProxy.logger.log(LOG_HEADER, `deviceId = ${deviceId}`);\n LoggerProxy.logger.log(LOG_HEADER, 'settings =', JSON.stringify(settings));\n }\n },\n\n handleVideoLogging: (videoStream?: LocalCameraStream) => {\n const LOG_HEADER = 'MeetingUtil#handleVideoLogging -->';\n\n if (videoStream) {\n const settings = videoStream.getSettings();\n const {deviceId} = settings;\n\n LoggerProxy.logger.log(LOG_HEADER, `deviceId = ${deviceId}`);\n LoggerProxy.logger.log(LOG_HEADER, 'settings =', JSON.stringify(settings));\n }\n },\n\n endMeetingForAll: (meeting) => {\n if (meeting.meetingState === FULL_STATE.INACTIVE) {\n return Promise.reject(new MeetingNotActiveError());\n }\n\n const endOptions = {\n locusUrl: meeting.locusUrl,\n };\n\n return meeting.meetingRequest\n .endMeetingForAll(endOptions)\n .then(() => MeetingUtil.cleanUp(meeting))\n .catch((err) => {\n LoggerProxy.logger.error(\n `Meeting:util#endMeetingForAll An error occured while trying to end meeting for all with an id of ${meeting.id}, error: ${err}`\n );\n\n return Promise.reject(err);\n });\n },\n\n canEnableClosedCaption: (displayHints) => displayHints.includes(DISPLAY_HINTS.CAPTION_START),\n\n isSaveTranscriptsEnabled: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.SAVE_TRANSCRIPTS_ENABLED),\n\n canStartTranscribing: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.TRANSCRIPTION_CONTROL_START),\n\n canStopTranscribing: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.TRANSCRIPTION_CONTROL_STOP),\n\n isClosedCaptionActive: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.CAPTION_STATUS_ACTIVE),\n\n canStartManualCaption: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.MANUAL_CAPTION_START),\n\n isLocalRecordingStarted: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.LOCAL_RECORDING_STATUS_STARTED),\n\n isLocalRecordingStopped: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.LOCAL_RECORDING_STATUS_STOPPED),\n\n isLocalRecordingPaused: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.LOCAL_RECORDING_STATUS_PAUSED),\n\n isLocalStreamingStarted: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.STREAMING_STATUS_STARTED),\n\n isLocalStreamingStopped: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.STREAMING_STATUS_STOPPED),\n\n canStopManualCaption: (displayHints) => displayHints.includes(DISPLAY_HINTS.MANUAL_CAPTION_STOP),\n\n isManualCaptionActive: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.MANUAL_CAPTION_STATUS_ACTIVE),\n\n isSpokenLanguageAutoDetectionEnabled: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.SPOKEN_LANGUAGE_AUTO_DETECTION_ENABLED),\n\n isWebexAssistantActive: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.WEBEX_ASSISTANT_STATUS_ACTIVE),\n\n canViewCaptionPanel: (displayHints) => displayHints.includes(DISPLAY_HINTS.ENABLE_CAPTION_PANEL),\n\n isRealTimeTranslationEnabled: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.DISPLAY_REAL_TIME_TRANSLATION),\n\n canSelectSpokenLanguages: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.DISPLAY_NON_ENGLISH_ASR),\n\n waitingForOthersToJoin: (displayHints) => displayHints.includes(DISPLAY_HINTS.WAITING_FOR_OTHERS),\n\n showAutoEndMeetingWarning: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.SHOW_AUTO_END_MEETING_WARNING),\n\n canSendReactions: (originalValue, displayHints) => {\n if (displayHints.includes(DISPLAY_HINTS.REACTIONS_ACTIVE)) {\n return true;\n }\n if (displayHints.includes(DISPLAY_HINTS.REACTIONS_INACTIVE)) {\n return false;\n }\n\n return originalValue;\n },\n canUserRenameSelfAndObserved: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.CAN_RENAME_SELF_AND_OBSERVED),\n\n requiresPostMeetingDataConsentPrompt: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.SHOW_POST_MEETING_DATA_CONSENT_PROMPT),\n\n canUserRenameOthers: (displayHints) => displayHints.includes(DISPLAY_HINTS.CAN_RENAME_OTHERS),\n\n // Default empty value for policies if we get an undefined value (ie permissionToken is not available)\n canShareWhiteBoard: (displayHints, policies = {}) =>\n displayHints.includes(DISPLAY_HINTS.SHARE_WHITEBOARD) &&\n !!policies[SELF_POLICY.SUPPORT_WHITEBOARD],\n\n canMoveToLobby: (displayHints) => displayHints.includes(DISPLAY_HINTS.MOVE_TO_LOBBY),\n\n /**\n * Adds the current locus sequence information to a request body\n * @param {Object} meeting The meeting object\n * @param {Object} requestBody The body of a request to locus\n * @returns {void}\n */\n addSequence: (meeting, requestBody) => {\n const sequence = meeting?.locusInfo?.sequence;\n\n if (!sequence) {\n return;\n }\n\n requestBody.sequence = sequence;\n },\n\n /**\n * Updates the locus info for the meeting with the locus\n * information returned from API requests made to Locus\n * Returns the original response object\n * @param {Object} meeting The meeting object\n * @param {Object} response The response of the http request\n * @returns {Object}\n */\n updateLocusFromApiResponse: (meeting, response) => {\n if (!meeting) {\n return response;\n }\n\n if (response?.body?.locus) {\n meeting.locusInfo.handleLocusAPIResponse(meeting, response.body);\n }\n\n return response;\n },\n\n generateBuildLocusDeltaRequestOptions: (originalMeeting) => {\n const meetingRef = new WeakRef(originalMeeting);\n\n const buildLocusDeltaRequestOptions = (originalOptions) => {\n const meeting = meetingRef.deref();\n\n if (!meeting) {\n return originalOptions;\n }\n\n const options = cloneDeep(originalOptions);\n\n if (!options.body) {\n options.body = {};\n }\n\n MeetingUtil.addSequence(meeting, options.body);\n\n return options;\n };\n\n return buildLocusDeltaRequestOptions;\n },\n\n generateLocusDeltaRequest: (originalMeeting) => {\n const meetingRef = new WeakRef(originalMeeting);\n\n const buildLocusDeltaRequestOptions =\n MeetingUtil.generateBuildLocusDeltaRequestOptions(originalMeeting);\n\n const locusDeltaRequest = (originalOptions) => {\n const meeting = meetingRef.deref();\n\n if (!meeting) {\n return Promise.resolve();\n }\n\n const options = buildLocusDeltaRequestOptions(originalOptions);\n\n return meeting\n .request(options)\n .then((response) => MeetingUtil.updateLocusFromApiResponse(meeting, response));\n };\n\n return locusDeltaRequest;\n },\n\n selfSupportsFeature: (feature: SELF_POLICY, userPolicies: Record<SELF_POLICY, boolean>) => {\n if (!userPolicies) {\n return true;\n }\n\n return userPolicies[feature];\n },\n\n parseInterpretationInfo: (meeting, meetingInfo) => {\n if (!meeting || !meetingInfo) {\n return;\n }\n const siInfo = meetingInfo.simultaneousInterpretation;\n meeting.simultaneousInterpretation.updateMeetingSIEnabled(\n !!meetingInfo.turnOnSimultaneousInterpretation,\n !!siInfo?.currentSIInterpreter\n );\n const hostSIEnabled = !!(\n meetingInfo.turnOnSimultaneousInterpretation &&\n meetingInfo?.meetingSiteSetting?.enableHostInterpreterControlSI\n );\n meeting.simultaneousInterpretation.updateHostSIEnabled(hostSIEnabled);\n\n function renameKey(obj, oldKey, newKey) {\n if (oldKey in obj) {\n obj[newKey] = obj[oldKey];\n delete obj[oldKey];\n }\n }\n if (siInfo) {\n const lanuagesInfo = cloneDeep(siInfo.siLanguages);\n for (const language of lanuagesInfo) {\n renameKey(language, 'languageCode', 'languageName');\n renameKey(language, 'languageGroupId', 'languageCode');\n }\n if (!meeting.simultaneousInterpretation?.siLanguages?.length) {\n meeting.simultaneousInterpretation.updateInterpretation({siLanguages: lanuagesInfo});\n }\n }\n Trigger.trigger(\n meeting,\n {\n file: 'meeting/util',\n function: 'parseInterpretationInfo',\n },\n EVENT_TRIGGERS.MEETING_INTERPRETATION_UPDATE\n );\n },\n\n /**\n * Returns a CA-recognized error payload for the specified raw error message/reason.\n *\n * New errors can be added to this function for handling in the future\n *\n * @param {String} reason the raw error message\n * @returns {Array<object>} an array of payload objects\n */\n getChangeMeetingFloorErrorPayload: (reason: string) => {\n const errorPayload = {\n errorDescription: reason,\n name: 'locus.response',\n shownToUser: false,\n };\n if (reason.includes(LOCAL_SHARE_ERRORS.UNDEFINED)) {\n return [\n {\n ...errorPayload,\n fatal: true,\n category: 'signaling',\n errorCode: 1100,\n },\n ];\n }\n if (reason.includes(LOCAL_SHARE_ERRORS.DEVICE_NOT_JOINED)) {\n return [\n {\n ...errorPayload,\n fatal: true,\n category: 'signaling',\n errorCode: 4050,\n },\n ];\n }\n if (reason.includes(LOCAL_SHARE_ERRORS.NO_MEDIA_FOR_DEVICE)) {\n return [\n {\n ...errorPayload,\n fatal: true,\n category: 'media',\n errorCode: 2048,\n },\n ];\n }\n if (reason.includes(LOCAL_SHARE_ERRORS.NO_CONFLUENCE_ID)) {\n return [\n {\n ...errorPayload,\n fatal: true,\n category: 'signaling',\n errorCode: 4064,\n },\n ];\n }\n if (reason.includes(LOCAL_SHARE_ERRORS.CONTENT_SHARING_DISABLED)) {\n return [\n {\n ...errorPayload,\n fatal: true,\n category: 'expected',\n errorCode: 4065,\n },\n ];\n }\n if (reason.includes(LOCAL_SHARE_ERRORS.LOCUS_PARTICIPANT_DNE)) {\n return [\n {\n ...errorPayload,\n fatal: true,\n category: 'signaling',\n errorCode: 4066,\n },\n ];\n }\n if (reason.includes(LOCAL_SHARE_ERRORS.CONTENT_REQUEST_WHILE_PENDING_WHITEBOARD)) {\n return [\n {\n ...errorPayload,\n fatal: true,\n category: 'expected',\n errorCode: 4067,\n },\n ];\n }\n\n // return unknown error\n return [\n {\n ...errorPayload,\n fatal: true,\n category: 'signaling',\n errorCode: 1100,\n },\n ];\n },\n};\n\nexport default MeetingUtil;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -21,9 +21,9 @@ var _values = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/obj
|
|
|
21
21
|
var _map = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/map"));
|
|
22
22
|
function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
23
23
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
24
|
-
function _createForOfIteratorHelper(
|
|
25
|
-
function _unsupportedIterableToArray(
|
|
26
|
-
function _arrayLikeToArray(
|
|
24
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof _Symbol && r[_Symbol$iterator] || r["@@iterator"]; if (!t) { if (_Array$isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
|
|
25
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? _Array$from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
26
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
27
27
|
var getSpeaker = exports.getSpeaker = function getSpeaker(members) {
|
|
28
28
|
var csis = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
29
29
|
return (0, _values.default)(members).find(function (member) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getSpeaker","exports","members","csis","arguments","length","undefined","_values","default","find","member","_member$participant$s","memberCSIs","participant","status","some","csi","includes","getSpeakerFromProxyOrStore","_ref","_meetingMember$partic","_meetingMember$partic2","csisKey","meetingMembers","transcriptData","speaker","speakerId","name","needsCaching","speakerProxy","meetingMember","person","id","processNewCaptions","_ref2","data","meeting","transcriptId","transcription","_data$transcripts","transcripts","transcriptsPerCsis","_map","_iterator","_createForOfIteratorHelper","_step","s","n","done","_transcriptsPerCsis$g","_transcriptsPerCsis$g2","transcript","value","text","currentSpokenLanguage","transcript_language_code","_transcript$csis","_slicedToArray2","csisMember","newCaption","concat","get","trim","set","_objectSpread","err","e","f","interimTranscriptionIds","_iterator2","_step2","_loop","_meeting$transcriptio","_meeting$transcriptio2","_meeting$transcriptio3","_meeting$transcriptio4","_data$transcripts$","_step2$value","key","_getSpeakerFromProxyO","membersCollection","interimId","captionData","isFinal","translations","currentCaptionLanguage","languageOptions","timestamp","interimTranscriptIndex","captions","findIndex","splice","push","interimCaptions","forEach","innerInterimId"],"sources":["voicea-meeting.ts"],"sourcesContent":["import {type MeetingTranscriptPayload} from '@webex/internal-plugin-voicea';\n\nexport const getSpeaker = (members, csis = []) =>\n Object.values(members).find((member: any) => {\n const memberCSIs = member.participant.status.csis ?? [];\n\n return csis.some((csi) => memberCSIs.includes(csi));\n });\n\nexport const getSpeakerFromProxyOrStore = ({csisKey, meetingMembers, transcriptData}) => {\n let speaker = {\n speakerId: '',\n name: '',\n };\n\n let needsCaching = false;\n\n if (csisKey && transcriptData.speakerProxy[csisKey]) {\n speaker = transcriptData.speakerProxy[csisKey];\n\n return {speaker, needsCaching};\n }\n\n const meetingMember: any = getSpeaker(meetingMembers, [csisKey]);\n\n speaker = {\n speakerId: meetingMember?.participant.person.id ?? '',\n name: meetingMember?.participant.person.name ?? '',\n };\n\n needsCaching = true;\n\n return {speaker, needsCaching};\n};\n\nexport const processNewCaptions = ({\n data,\n meeting,\n}: {\n data: MeetingTranscriptPayload;\n meeting: any;\n}) => {\n const {transcriptId} = data;\n const transcriptData = meeting.transcription;\n\n const {transcripts = []} = data;\n const transcriptsPerCsis = new Map();\n\n for (const transcript of transcripts) {\n const {\n text,\n transcript_language_code: currentSpokenLanguage,\n csis: [csisMember],\n } = transcript;\n\n const newCaption = `${transcriptsPerCsis.get(csisMember)?.text ?? ''} ${text}`.trim();\n\n transcriptsPerCsis.set(csisMember, {\n ...transcript,\n text: newCaption,\n currentSpokenLanguage,\n });\n }\n const interimTranscriptionIds = [];\n\n for (const [key, value] of transcriptsPerCsis) {\n const {needsCaching, speaker} = getSpeakerFromProxyOrStore({\n meetingMembers: meeting.members.membersCollection.members,\n transcriptData,\n csisKey: key,\n });\n const {speakerId} = speaker;\n const interimId = `${transcriptId}_${speakerId}`;\n\n if (needsCaching) {\n transcriptData.speakerProxy[key] = speaker;\n }\n\n const captionData = {\n id: interimId,\n isFinal: data.isFinal,\n translations: value.translations,\n text: value.text,\n currentCaptionLanguage:\n meeting.transcription?.languageOptions?.currentCaptionLanguage ||\n value.currentSpokenLanguage,\n currentSpokenLanguage:\n meeting.transcription?.languageOptions?.currentSpokenLanguage ||\n data.transcripts[0]?.transcript_language_code,\n timestamp: value?.timestamp,\n speaker,\n };\n\n if (!data.isFinal) {\n const interimTranscriptIndex = transcriptData.captions.findIndex(\n (transcript) => transcript.id === interimId\n );\n\n if (interimTranscriptIndex !== -1) {\n transcriptData.captions.splice(interimTranscriptIndex, 1);\n }\n\n interimTranscriptionIds.push(interimId);\n } else {\n transcriptData.interimCaptions[transcriptId].forEach((innerInterimId) => {\n const interimTranscriptIndex = transcriptData.captions.findIndex(\n (transcript) => transcript.id === innerInterimId\n );\n\n if (interimTranscriptIndex !== -1) {\n transcriptData.captions.splice(interimTranscriptIndex, 1);\n }\n });\n delete transcriptData.interimCaptions[transcriptId];\n captionData.id = transcriptId;\n }\n transcriptData.captions.push(captionData);\n }\n transcriptData.interimCaptions[transcriptId] = interimTranscriptionIds;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,IAAMA,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAG,SAAbA,UAAUA,CAAIE,OAAO;EAAA,IAAEC,IAAI,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAAA,OAC3C,IAAAG,OAAA,CAAAC,OAAA,EAAcN,OAAO,CAAC,CAACO,IAAI,CAAC,UAACC,MAAW,EAAK;IAAA,IAAAC,qBAAA;IAC3C,IAAMC,UAAU,IAAAD,qBAAA,GAAGD,MAAM,CAACG,WAAW,CAACC,MAAM,CAACX,IAAI,cAAAQ,qBAAA,cAAAA,qBAAA,GAAI,EAAE;IAEvD,OAAOR,IAAI,CAACY,IAAI,CAAC,UAACC,GAAG;MAAA,OAAKJ,UAAU,CAACK,QAAQ,CAACD,GAAG,CAAC;IAAA,EAAC;EACrD,CAAC,CAAC;AAAA;AAEG,IAAME,0BAA0B,GAAAjB,OAAA,CAAAiB,0BAAA,GAAG,SAA7BA,0BAA0BA,CAAAC,IAAA,EAAkD;EAAA,IAAAC,qBAAA,EAAAC,sBAAA;EAAA,IAA7CC,OAAO,GAAAH,IAAA,CAAPG,OAAO;IAAEC,cAAc,GAAAJ,IAAA,CAAdI,cAAc;IAAEC,cAAc,GAAAL,IAAA,CAAdK,cAAc;EACjF,IAAIC,OAAO,GAAG;IACZC,SAAS,EAAE,EAAE;IACbC,IAAI,EAAE;EACR,CAAC;EAED,IAAIC,YAAY,GAAG,KAAK;EAExB,IAAIN,OAAO,IAAIE,cAAc,CAACK,YAAY,CAACP,OAAO,CAAC,EAAE;IACnDG,OAAO,GAAGD,cAAc,CAACK,YAAY,CAACP,OAAO,CAAC;IAE9C,OAAO;MAACG,OAAO,EAAPA,OAAO;MAAEG,YAAY,EAAZA;IAAY,CAAC;EAChC;EAEA,IAAME,aAAkB,GAAG9B,UAAU,CAACuB,cAAc,EAAE,CAACD,OAAO,CAAC,CAAC;EAEhEG,OAAO,GAAG;IACRC,SAAS,GAAAN,qBAAA,GAAEU,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEjB,WAAW,CAACkB,MAAM,CAACC,EAAE,cAAAZ,qBAAA,cAAAA,qBAAA,GAAI,EAAE;IACrDO,IAAI,GAAAN,sBAAA,GAAES,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEjB,WAAW,CAACkB,MAAM,CAACJ,IAAI,cAAAN,sBAAA,cAAAA,sBAAA,GAAI;EAClD,CAAC;EAEDO,YAAY,GAAG,IAAI;EAEnB,OAAO;IAACH,OAAO,EAAPA,OAAO;IAAEG,YAAY,EAAZA;EAAY,CAAC;AAChC,CAAC;AAEM,IAAMK,kBAAkB,GAAAhC,OAAA,CAAAgC,kBAAA,GAAG,SAArBA,kBAAkBA,CAAAC,KAAA,EAMzB;EAAA,IALJC,IAAI,GAAAD,KAAA,CAAJC,IAAI;IACJC,OAAO,GAAAF,KAAA,CAAPE,OAAO;EAKP,IAAOC,YAAY,GAAIF,IAAI,CAApBE,YAAY;EACnB,IAAMb,cAAc,GAAGY,OAAO,CAACE,aAAa;EAE5C,IAAAC,iBAAA,GAA2BJ,IAAI,CAAxBK,WAAW;IAAXA,WAAW,GAAAD,iBAAA,cAAG,EAAE,GAAAA,iBAAA;EACvB,IAAME,kBAAkB,GAAG,IAAAC,IAAA,CAAAlC,OAAA,CAAQ,CAAC;EAAC,IAAAmC,SAAA,GAAAC,0BAAA,CAEZJ,WAAW;IAAAK,KAAA;EAAA;IAApC,KAAAF,SAAA,CAAAG,CAAA,MAAAD,KAAA,GAAAF,SAAA,CAAAI,CAAA,IAAAC,IAAA,GAAsC;MAAA,IAAAC,qBAAA,EAAAC,sBAAA;MAAA,IAA3BC,UAAU,GAAAN,KAAA,CAAAO,KAAA;MACnB,IACEC,IAAI,GAGFF,UAAU,CAHZE,IAAI;QACsBC,qBAAqB,GAE7CH,UAAU,CAFZI,wBAAwB;QAAAC,gBAAA,OAAAC,eAAA,CAAAjD,OAAA,EAEtB2C,UAAU,CADZhD,IAAI;QAAGuD,UAAU,GAAAF,gBAAA;MAGnB,IAAMG,UAAU,GAAG,GAAAC,MAAA,EAAAX,qBAAA,IAAAC,sBAAA,GAAGT,kBAAkB,CAACoB,GAAG,CAACH,UAAU,CAAC,cAAAR,sBAAA,uBAAlCA,sBAAA,CAAoCG,IAAI,cAAAJ,qBAAA,cAAAA,qBAAA,GAAI,EAAE,OAAAW,MAAA,CAAIP,IAAI,EAAGS,IAAI,CAAC,CAAC;MAErFrB,kBAAkB,CAACsB,GAAG,CAACL,UAAU,EAAAM,aAAA,CAAAA,aAAA,KAC5Bb,UAAU;QACbE,IAAI,EAAEM,UAAU;QAChBL,qBAAqB,EAArBA;MAAqB,EACtB,CAAC;IACJ;EAAC,SAAAW,GAAA;IAAAtB,SAAA,CAAAuB,CAAA,CAAAD,GAAA;EAAA;IAAAtB,SAAA,CAAAwB,CAAA;EAAA;EACD,IAAMC,uBAAuB,GAAG,EAAE;EAAC,IAAAC,UAAA,GAAAzB,0BAAA,CAERH,kBAAkB;IAAA6B,MAAA;EAAA;IAAA,IAAAC,KAAA,YAAAA,MAAA,EAAE;MAAA,IAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,kBAAA;MAAA,IAAAC,YAAA,OAAApB,eAAA,CAAAjD,OAAA,EAAA8D,MAAA,CAAAlB,KAAA;QAAnC0B,GAAG,GAAAD,YAAA;QAAEzB,KAAK,GAAAyB,YAAA;MACpB,IAAAE,qBAAA,GAAgC7D,0BAA0B,CAAC;UACzDK,cAAc,EAAEa,OAAO,CAAClC,OAAO,CAAC8E,iBAAiB,CAAC9E,OAAO;UACzDsB,cAAc,EAAdA,cAAc;UACdF,OAAO,EAAEwD;QACX,CAAC,CAAC;QAJKlD,YAAY,GAAAmD,qBAAA,CAAZnD,YAAY;QAAEH,OAAO,GAAAsD,qBAAA,CAAPtD,OAAO;MAK5B,IAAOC,SAAS,GAAID,OAAO,CAApBC,SAAS;MAChB,IAAMuD,SAAS,MAAArB,MAAA,CAAMvB,YAAY,OAAAuB,MAAA,CAAIlC,SAAS,CAAE;MAEhD,IAAIE,YAAY,EAAE;QAChBJ,cAAc,CAACK,YAAY,CAACiD,GAAG,CAAC,GAAGrD,OAAO;MAC5C;MAEA,IAAMyD,WAAW,GAAG;QAClBlD,EAAE,EAAEiD,SAAS;QACbE,OAAO,EAAEhD,IAAI,CAACgD,OAAO;QACrBC,YAAY,EAAEhC,KAAK,CAACgC,YAAY;QAChC/B,IAAI,EAAED,KAAK,CAACC,IAAI;QAChBgC,sBAAsB,EACpB,EAAAb,qBAAA,GAAApC,OAAO,CAACE,aAAa,cAAAkC,qBAAA,wBAAAC,sBAAA,GAArBD,qBAAA,CAAuBc,eAAe,cAAAb,sBAAA,uBAAtCA,sBAAA,CAAwCY,sBAAsB,KAC9DjC,KAAK,CAACE,qBAAqB;QAC7BA,qBAAqB,EACnB,EAAAoB,sBAAA,GAAAtC,OAAO,CAACE,aAAa,cAAAoC,sBAAA,wBAAAC,sBAAA,GAArBD,sBAAA,CAAuBY,eAAe,cAAAX,sBAAA,uBAAtCA,sBAAA,CAAwCrB,qBAAqB,OAAAsB,kBAAA,GAC7DzC,IAAI,CAACK,WAAW,CAAC,CAAC,CAAC,cAAAoC,kBAAA,uBAAnBA,kBAAA,CAAqBrB,wBAAwB;QAC/CgC,SAAS,EAAEnC,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEmC,SAAS;QAC3B9D,OAAO,EAAPA;MACF,CAAC;MAED,IAAI,CAACU,IAAI,CAACgD,OAAO,EAAE;QACjB,IAAMK,sBAAsB,GAAGhE,cAAc,CAACiE,QAAQ,CAACC,SAAS,CAC9D,UAACvC,UAAU;UAAA,OAAKA,UAAU,CAACnB,EAAE,KAAKiD,SAAS;QAAA,CAC7C,CAAC;QAED,IAAIO,sBAAsB,KAAK,CAAC,CAAC,EAAE;UACjChE,cAAc,CAACiE,QAAQ,CAACE,MAAM,CAACH,sBAAsB,EAAE,CAAC,CAAC;QAC3D;QAEApB,uBAAuB,CAACwB,IAAI,CAACX,SAAS,CAAC;MACzC,CAAC,MAAM;QACLzD,cAAc,CAACqE,eAAe,CAACxD,YAAY,CAAC,CAACyD,OAAO,CAAC,UAACC,cAAc,EAAK;UACvE,IAAMP,sBAAsB,GAAGhE,cAAc,CAACiE,QAAQ,CAACC,SAAS,CAC9D,UAACvC,UAAU;YAAA,OAAKA,UAAU,CAACnB,EAAE,KAAK+D,cAAc;UAAA,CAClD,CAAC;UAED,IAAIP,sBAAsB,KAAK,CAAC,CAAC,EAAE;YACjChE,cAAc,CAACiE,QAAQ,CAACE,MAAM,CAACH,sBAAsB,EAAE,CAAC,CAAC;UAC3D;QACF,CAAC,CAAC;QACF,OAAOhE,cAAc,CAACqE,eAAe,CAACxD,YAAY,CAAC;QACnD6C,WAAW,CAAClD,EAAE,GAAGK,YAAY;MAC/B;MACAb,cAAc,CAACiE,QAAQ,CAACG,IAAI,CAACV,WAAW,CAAC;IAC3C,CAAC;IApDD,KAAAb,UAAA,CAAAvB,CAAA,MAAAwB,MAAA,GAAAD,UAAA,CAAAtB,CAAA,IAAAC,IAAA;MAAAuB,KAAA;IAAA;EAoDC,SAAAN,GAAA;IAAAI,UAAA,CAAAH,CAAA,CAAAD,GAAA;EAAA;IAAAI,UAAA,CAAAF,CAAA;EAAA;EACD3C,cAAc,CAACqE,eAAe,CAACxD,YAAY,CAAC,GAAG+B,uBAAuB;AACxE,CAAC"}
|
|
1
|
+
{"version":3,"names":["getSpeaker","exports","members","csis","arguments","length","undefined","_values","default","find","member","_member$participant$s","memberCSIs","participant","status","some","csi","includes","getSpeakerFromProxyOrStore","_ref","_meetingMember$partic","_meetingMember$partic2","csisKey","meetingMembers","transcriptData","speaker","speakerId","name","needsCaching","speakerProxy","meetingMember","person","id","processNewCaptions","_ref2","data","meeting","transcriptId","transcription","_data$transcripts","transcripts","transcriptsPerCsis","_map","_iterator","_createForOfIteratorHelper","_step","s","n","done","_transcriptsPerCsis$g","_transcriptsPerCsis$g2","transcript","value","text","currentSpokenLanguage","transcript_language_code","_transcript$csis","_slicedToArray2","csisMember","newCaption","concat","get","trim","set","_objectSpread","err","e","f","interimTranscriptionIds","_iterator2","_step2","_loop","_meeting$transcriptio","_meeting$transcriptio2","_meeting$transcriptio3","_meeting$transcriptio4","_data$transcripts$","_step2$value","key","_getSpeakerFromProxyO","membersCollection","interimId","captionData","isFinal","translations","currentCaptionLanguage","languageOptions","timestamp","interimTranscriptIndex","captions","findIndex","splice","push","interimCaptions","forEach","innerInterimId"],"sources":["voicea-meeting.ts"],"sourcesContent":["import {type MeetingTranscriptPayload} from '@webex/internal-plugin-voicea';\n\nexport const getSpeaker = (members, csis = []) =>\n Object.values(members).find((member: any) => {\n const memberCSIs = member.participant.status.csis ?? [];\n\n return csis.some((csi) => memberCSIs.includes(csi));\n });\n\nexport const getSpeakerFromProxyOrStore = ({csisKey, meetingMembers, transcriptData}) => {\n let speaker = {\n speakerId: '',\n name: '',\n };\n\n let needsCaching = false;\n\n if (csisKey && transcriptData.speakerProxy[csisKey]) {\n speaker = transcriptData.speakerProxy[csisKey];\n\n return {speaker, needsCaching};\n }\n\n const meetingMember: any = getSpeaker(meetingMembers, [csisKey]);\n\n speaker = {\n speakerId: meetingMember?.participant.person.id ?? '',\n name: meetingMember?.participant.person.name ?? '',\n };\n\n needsCaching = true;\n\n return {speaker, needsCaching};\n};\n\nexport const processNewCaptions = ({\n data,\n meeting,\n}: {\n data: MeetingTranscriptPayload;\n meeting: any;\n}) => {\n const {transcriptId} = data;\n const transcriptData = meeting.transcription;\n\n const {transcripts = []} = data;\n const transcriptsPerCsis = new Map();\n\n for (const transcript of transcripts) {\n const {\n text,\n transcript_language_code: currentSpokenLanguage,\n csis: [csisMember],\n } = transcript;\n\n const newCaption = `${transcriptsPerCsis.get(csisMember)?.text ?? ''} ${text}`.trim();\n\n transcriptsPerCsis.set(csisMember, {\n ...transcript,\n text: newCaption,\n currentSpokenLanguage,\n });\n }\n const interimTranscriptionIds = [];\n\n for (const [key, value] of transcriptsPerCsis) {\n const {needsCaching, speaker} = getSpeakerFromProxyOrStore({\n meetingMembers: meeting.members.membersCollection.members,\n transcriptData,\n csisKey: key,\n });\n const {speakerId} = speaker;\n const interimId = `${transcriptId}_${speakerId}`;\n\n if (needsCaching) {\n transcriptData.speakerProxy[key] = speaker;\n }\n\n const captionData = {\n id: interimId,\n isFinal: data.isFinal,\n translations: value.translations,\n text: value.text,\n currentCaptionLanguage:\n meeting.transcription?.languageOptions?.currentCaptionLanguage ||\n value.currentSpokenLanguage,\n currentSpokenLanguage:\n meeting.transcription?.languageOptions?.currentSpokenLanguage ||\n data.transcripts[0]?.transcript_language_code,\n timestamp: value?.timestamp,\n speaker,\n };\n\n if (!data.isFinal) {\n const interimTranscriptIndex = transcriptData.captions.findIndex(\n (transcript) => transcript.id === interimId\n );\n\n if (interimTranscriptIndex !== -1) {\n transcriptData.captions.splice(interimTranscriptIndex, 1);\n }\n\n interimTranscriptionIds.push(interimId);\n } else {\n transcriptData.interimCaptions[transcriptId].forEach((innerInterimId) => {\n const interimTranscriptIndex = transcriptData.captions.findIndex(\n (transcript) => transcript.id === innerInterimId\n );\n\n if (interimTranscriptIndex !== -1) {\n transcriptData.captions.splice(interimTranscriptIndex, 1);\n }\n });\n delete transcriptData.interimCaptions[transcriptId];\n captionData.id = transcriptId;\n }\n transcriptData.captions.push(captionData);\n }\n transcriptData.interimCaptions[transcriptId] = interimTranscriptionIds;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -9,22 +9,19 @@ _Object$defineProperty(exports, "__esModule", {
|
|
|
9
9
|
exports.default = void 0;
|
|
10
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
|
|
11
11
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
|
|
12
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/assertThisInitialized"));
|
|
13
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
|
|
14
12
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
|
|
15
13
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
|
|
14
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
|
|
16
15
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
17
16
|
var _lodash = require("lodash");
|
|
18
17
|
var _collection = _interopRequireDefault(require("../common/collection"));
|
|
19
18
|
var _constants = require("../constants");
|
|
20
|
-
function
|
|
21
|
-
function _isNativeReflectConstruct() {
|
|
19
|
+
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? _Reflect$construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
|
|
20
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
22
21
|
/**
|
|
23
22
|
* @class MeetingInfoCollection
|
|
24
23
|
*/
|
|
25
24
|
var MeetingInfoCollection = exports.default = /*#__PURE__*/function (_Collection) {
|
|
26
|
-
(0, _inherits2.default)(MeetingInfoCollection, _Collection);
|
|
27
|
-
var _super = _createSuper(MeetingInfoCollection);
|
|
28
25
|
/**
|
|
29
26
|
* @memberof MeetingInfoCollection
|
|
30
27
|
* @constructor
|
|
@@ -33,8 +30,8 @@ var MeetingInfoCollection = exports.default = /*#__PURE__*/function (_Collection
|
|
|
33
30
|
function MeetingInfoCollection() {
|
|
34
31
|
var _this;
|
|
35
32
|
(0, _classCallCheck2.default)(this, MeetingInfoCollection);
|
|
36
|
-
_this =
|
|
37
|
-
(0, _defineProperty2.default)(
|
|
33
|
+
_this = _callSuper(this, MeetingInfoCollection, ['meetingInfos']);
|
|
34
|
+
(0, _defineProperty2.default)(_this, "namespace", _constants.MEETINGS);
|
|
38
35
|
return _this;
|
|
39
36
|
}
|
|
40
37
|
|
|
@@ -44,7 +41,8 @@ var MeetingInfoCollection = exports.default = /*#__PURE__*/function (_Collection
|
|
|
44
41
|
* @public
|
|
45
42
|
* @memberof MeetingInfoCollection
|
|
46
43
|
*/
|
|
47
|
-
(0,
|
|
44
|
+
(0, _inherits2.default)(MeetingInfoCollection, _Collection);
|
|
45
|
+
return (0, _createClass2.default)(MeetingInfoCollection, [{
|
|
48
46
|
key: "get",
|
|
49
47
|
value: function get(id) {
|
|
50
48
|
// @ts-ignore
|
|
@@ -59,6 +57,5 @@ var MeetingInfoCollection = exports.default = /*#__PURE__*/function (_Collection
|
|
|
59
57
|
});
|
|
60
58
|
}
|
|
61
59
|
}]);
|
|
62
|
-
return MeetingInfoCollection;
|
|
63
60
|
}(_collection.default);
|
|
64
61
|
//# sourceMappingURL=collection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_lodash","require","_collection","_interopRequireDefault","_constants","
|
|
1
|
+
{"version":3,"names":["_lodash","require","_collection","_interopRequireDefault","_constants","_callSuper","t","o","e","_getPrototypeOf2","default","_possibleConstructorReturn2","_isNativeReflectConstruct","_Reflect$construct","constructor","apply","Boolean","prototype","valueOf","call","MeetingInfoCollection","exports","_Collection","_this","_classCallCheck2","_defineProperty2","MEETINGS","_inherits2","_createClass2","key","value","get","id","meetingInfos","find","info","sipUrl","locusId","userId","meetingLink","Collection"],"sources":["collection.ts"],"sourcesContent":["import {find} from 'lodash';\n\nimport Collection from '../common/collection';\nimport {MEETINGS} from '../constants';\n\n/**\n * @class MeetingInfoCollection\n */\nexport default class MeetingInfoCollection extends Collection {\n namespace = MEETINGS;\n\n /**\n * @memberof MeetingInfoCollection\n * @constructor\n * @public\n */\n constructor() {\n super('meetingInfos');\n }\n\n /**\n * @param {String} id ID of the meeting info you wish to retreive\n * @returns {MeetingInfo} returns a meeting info instance\n * @public\n * @memberof MeetingInfoCollection\n */\n public get(id: string) {\n // @ts-ignore\n if (this.meetingInfos[id]) {\n // @ts-ignore\n return this.meetingInfos[id];\n }\n\n return find(\n // @ts-ignore\n this.meetingInfos,\n (info) =>\n info.sipUrl === id || info.locusId === id || info.userId === id || info.meetingLink === id\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AAAsC,SAAAI,WAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,WAAAD,CAAA,OAAAE,gBAAA,CAAAC,OAAA,EAAAH,CAAA,OAAAI,2BAAA,CAAAD,OAAA,EAAAJ,CAAA,EAAAM,yBAAA,KAAAC,kBAAA,CAAAN,CAAA,EAAAC,CAAA,YAAAC,gBAAA,CAAAC,OAAA,EAAAJ,CAAA,EAAAQ,WAAA,IAAAP,CAAA,CAAAQ,KAAA,CAAAT,CAAA,EAAAE,CAAA;AAAA,SAAAI,0BAAA,cAAAN,CAAA,IAAAU,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAN,kBAAA,CAAAG,OAAA,iCAAAV,CAAA,aAAAM,yBAAA,YAAAA,0BAAA,aAAAN,CAAA;AAEtC;AACA;AACA;AAFA,IAGqBc,qBAAqB,GAAAC,OAAA,CAAAX,OAAA,0BAAAY,WAAA;EAGxC;AACF;AACA;AACA;AACA;EACE,SAAAF,sBAAA,EAAc;IAAA,IAAAG,KAAA;IAAA,IAAAC,gBAAA,CAAAd,OAAA,QAAAU,qBAAA;IACZG,KAAA,GAAAlB,UAAA,OAAAe,qBAAA,GAAM,cAAc;IAAE,IAAAK,gBAAA,CAAAf,OAAA,EAAAa,KAAA,eARZG,mBAAQ;IAAA,OAAAH,KAAA;EASpB;;EAEA;AACF;AACA;AACA;AACA;AACA;EALE,IAAAI,UAAA,CAAAjB,OAAA,EAAAU,qBAAA,EAAAE,WAAA;EAAA,WAAAM,aAAA,CAAAlB,OAAA,EAAAU,qBAAA;IAAAS,GAAA;IAAAC,KAAA,EAMA,SAAOC,GAAGA,CAACC,EAAU,EAAE;MACrB;MACA,IAAI,IAAI,CAACC,YAAY,CAACD,EAAE,CAAC,EAAE;QACzB;QACA,OAAO,IAAI,CAACC,YAAY,CAACD,EAAE,CAAC;MAC9B;MAEA,OAAO,IAAAE,YAAI;MACT;MACA,IAAI,CAACD,YAAY,EACjB,UAACE,IAAI;QAAA,OACHA,IAAI,CAACC,MAAM,KAAKJ,EAAE,IAAIG,IAAI,CAACE,OAAO,KAAKL,EAAE,IAAIG,IAAI,CAACG,MAAM,KAAKN,EAAE,IAAIG,IAAI,CAACI,WAAW,KAAKP,EAAE;MAAA,CAC9F,CAAC;IACH;EAAC;AAAA,EA/BgDQ,mBAAU","ignoreList":[]}
|
|
@@ -63,7 +63,7 @@ var MeetingInfo = exports.default = /*#__PURE__*/function () {
|
|
|
63
63
|
* @public
|
|
64
64
|
* @memberof MeetingInfo
|
|
65
65
|
*/
|
|
66
|
-
(0, _createClass2.default)(MeetingInfo, [{
|
|
66
|
+
return (0, _createClass2.default)(MeetingInfo, [{
|
|
67
67
|
key: "getMeetingInfo",
|
|
68
68
|
value: function getMeetingInfo(id) {
|
|
69
69
|
return this.meetingInfoCollection.get(id);
|
|
@@ -215,6 +215,5 @@ var MeetingInfo = exports.default = /*#__PURE__*/function () {
|
|
|
215
215
|
});
|
|
216
216
|
}
|
|
217
217
|
}]);
|
|
218
|
-
return MeetingInfo;
|
|
219
218
|
}();
|
|
220
219
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_constants","require","_loggerProxy","_interopRequireDefault","_collection","_request","_util","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","MeetingInfo","exports","webex","_classCallCheck2","meetingInfoRequest","MeetingInfoRequest","meetingInfoCollection","MeetingInfoCollection","_createClass2","key","value","getMeetingInfo","id","get","setMeetingInfo","info","set","requestFetchInfo","options","_this","meetingId","sendCAevents","internal","newMetrics","submitInternalEvent","name","submitClientEvent","fetchMeetingInfo","then","_info$body","_info$body2","_info$body3","payload","identifiers","meetingLookupUrl","url","webexConferenceIdStr","body","confIdStr","confID","globalMeetingId","sipMeetingUri","meetingLink","catch","error","LoggerProxy","logger","concat","rawError","_promise","reject","fetchInfoOptions","destination","type","MeetingInfoUtil","generateOptions","_this2","undefined","password","captchaInfo","installedOrgID","locusId","extraParams","DESTINATION_TYPE","PERSONAL_ROOM","device","userId","extractDestination","infoOptions","MEETING_LINK","convertLinkToSip","SIP_URI"],"sources":["index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {DESTINATION_TYPE} from '../constants';\nimport LoggerProxy from '../common/logs/logger-proxy';\n\nimport MeetingInfoCollection from './collection';\nimport MeetingInfoRequest from './request';\nimport MeetingInfoUtil from './util';\n\n/**\n * @class MeetingInfo\n */\nexport default class MeetingInfo {\n meetingInfoCollection: any;\n meetingInfoRequest: any;\n webex: any;\n\n /**\n *\n * @param {WebexSDK} webex\n */\n constructor(webex: any) {\n this.webex = webex;\n\n /**\n * The meeting info request server interface\n * @instance\n * @type {Object}\n * @private\n * @memberof MeetingInfo\n */\n this.meetingInfoRequest = new MeetingInfoRequest(this.webex);\n /**\n * The meeting information collection interface\n * @instance\n * @type {Object}\n * @private\n * @memberof MeetingInfo\n */\n this.meetingInfoCollection = new MeetingInfoCollection();\n }\n\n /**\n * @param {string} id\n * @returns {object}\n * @public\n * @memberof MeetingInfo\n */\n public getMeetingInfo(id: string) {\n return this.meetingInfoCollection.get(id);\n }\n\n /**\n * @param {string} id\n * @param {object} info\n * @returns {null}\n * @public\n * @memberof MeetingInfo\n */\n public setMeetingInfo(id: string, info: object) {\n this.meetingInfoCollection.set(id, info);\n }\n\n /**\n * Helper to make the actual MeetingInfo request and set the meetingInfo if successful, else reject\n * @param {Object} options\n * @returns {Promise}\n * @private\n * @memberof MeetingInfo\n */\n private requestFetchInfo(options: any) {\n const {meetingId, sendCAevents} = options;\n if (meetingId && sendCAevents) {\n this.webex.internal.newMetrics.submitInternalEvent({\n name: 'internal.client.meetinginfo.request',\n });\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.request',\n options: {\n meetingId,\n },\n });\n }\n\n return this.meetingInfoRequest\n .fetchMeetingInfo(options)\n .then((info) => {\n if (meetingId && sendCAevents) {\n this.webex.internal.newMetrics.submitInternalEvent({\n name: 'internal.client.meetinginfo.response',\n });\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.response',\n payload: {\n identifiers: {\n meetingLookupUrl: info?.url,\n },\n },\n options: {\n meetingId,\n webexConferenceIdStr: info?.body?.confIdStr || info?.body?.confID,\n globalMeetingId: info?.body?.meetingId,\n },\n });\n }\n if (info && info.body) {\n this.setMeetingInfo(info.body.sipMeetingUri || info.body.meetingLink, info.body);\n }\n\n return info;\n })\n .catch((error) => {\n LoggerProxy.logger.error(\n `Meeting-info:index#requestFetchInfo --> ${error} fetch meetingInfo`\n );\n if (meetingId && sendCAevents) {\n this.webex.internal.newMetrics.submitInternalEvent({\n name: 'internal.client.meetinginfo.response',\n });\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.response',\n payload: {\n identifiers: {\n meetingLookupUrl: error?.url,\n },\n },\n options: {\n meetingId,\n rawError: error,\n },\n });\n }\n\n return Promise.reject(error);\n });\n }\n\n /**\n * Helper to generate the options for the MeetingInfo request\n * @param {String} destination\n * @param {String} type\n * @returns {Promise}\n * @private\n * @memberof MeetingInfo\n */\n private fetchInfoOptions(destination: string, type: string) {\n return MeetingInfoUtil.generateOptions({\n destination,\n type,\n webex: this.webex,\n });\n }\n\n // eslint-disable-next-line valid-jsdoc\n /**\n * Fetches meeting info from the server\n * @param {String} destination one of many different types of destinations to look up info for\n * @param {DESTINATION_TYPE} [type] to match up with the destination value\n * @param {String} [password] meeting password\n * @param {Object} [captchaInfo] captcha code and id\n * @param {String} [installedOrgID]\n * @param {String} [locusId]\n * @param {Object} [extraParams]\n * @param {Boolean} [options] meeting Id and whether Call Analyzer events should be sent\n * @returns {Promise} returns a meeting info object\n * @public\n * @memberof MeetingInfo\n */\n public fetchMeetingInfo(\n destination: string,\n type: DESTINATION_TYPE = null,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n password: string = null,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n captchaInfo: {\n code: string;\n id: string;\n } = null,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n installedOrgID = null,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n locusId = null,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n extraParams: object = {},\n options: {meetingId?: string; sendCAevents?: boolean} = {}\n ) {\n if (type === DESTINATION_TYPE.PERSONAL_ROOM && !destination) {\n destination = this.webex.internal.device.userId;\n }\n\n return this.fetchInfoOptions(MeetingInfoUtil.extractDestination(destination, type), type).then(\n (infoOptions) =>\n // fetch meeting info\n this.requestFetchInfo({...infoOptions, ...options}).catch((error) => {\n // if it failed the first time as meeting link\n if (infoOptions.type === DESTINATION_TYPE.MEETING_LINK) {\n // convert the meeting link to sip URI and retry\n return this.requestFetchInfo({\n ...this.fetchInfoOptions(\n MeetingInfoUtil.convertLinkToSip(destination),\n DESTINATION_TYPE.SIP_URI\n ),\n ...options,\n });\n }\n\n return Promise.reject(error);\n })\n );\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_constants","require","_loggerProxy","_interopRequireDefault","_collection","_request","_util","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","MeetingInfo","exports","webex","_classCallCheck2","meetingInfoRequest","MeetingInfoRequest","meetingInfoCollection","MeetingInfoCollection","_createClass2","key","value","getMeetingInfo","id","get","setMeetingInfo","info","set","requestFetchInfo","options","_this","meetingId","sendCAevents","internal","newMetrics","submitInternalEvent","name","submitClientEvent","fetchMeetingInfo","then","_info$body","_info$body2","_info$body3","payload","identifiers","meetingLookupUrl","url","webexConferenceIdStr","body","confIdStr","confID","globalMeetingId","sipMeetingUri","meetingLink","catch","error","LoggerProxy","logger","concat","rawError","_promise","reject","fetchInfoOptions","destination","type","MeetingInfoUtil","generateOptions","_this2","undefined","password","captchaInfo","installedOrgID","locusId","extraParams","DESTINATION_TYPE","PERSONAL_ROOM","device","userId","extractDestination","infoOptions","MEETING_LINK","convertLinkToSip","SIP_URI"],"sources":["index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {DESTINATION_TYPE} from '../constants';\nimport LoggerProxy from '../common/logs/logger-proxy';\n\nimport MeetingInfoCollection from './collection';\nimport MeetingInfoRequest from './request';\nimport MeetingInfoUtil from './util';\n\n/**\n * @class MeetingInfo\n */\nexport default class MeetingInfo {\n meetingInfoCollection: any;\n meetingInfoRequest: any;\n webex: any;\n\n /**\n *\n * @param {WebexSDK} webex\n */\n constructor(webex: any) {\n this.webex = webex;\n\n /**\n * The meeting info request server interface\n * @instance\n * @type {Object}\n * @private\n * @memberof MeetingInfo\n */\n this.meetingInfoRequest = new MeetingInfoRequest(this.webex);\n /**\n * The meeting information collection interface\n * @instance\n * @type {Object}\n * @private\n * @memberof MeetingInfo\n */\n this.meetingInfoCollection = new MeetingInfoCollection();\n }\n\n /**\n * @param {string} id\n * @returns {object}\n * @public\n * @memberof MeetingInfo\n */\n public getMeetingInfo(id: string) {\n return this.meetingInfoCollection.get(id);\n }\n\n /**\n * @param {string} id\n * @param {object} info\n * @returns {null}\n * @public\n * @memberof MeetingInfo\n */\n public setMeetingInfo(id: string, info: object) {\n this.meetingInfoCollection.set(id, info);\n }\n\n /**\n * Helper to make the actual MeetingInfo request and set the meetingInfo if successful, else reject\n * @param {Object} options\n * @returns {Promise}\n * @private\n * @memberof MeetingInfo\n */\n private requestFetchInfo(options: any) {\n const {meetingId, sendCAevents} = options;\n if (meetingId && sendCAevents) {\n this.webex.internal.newMetrics.submitInternalEvent({\n name: 'internal.client.meetinginfo.request',\n });\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.request',\n options: {\n meetingId,\n },\n });\n }\n\n return this.meetingInfoRequest\n .fetchMeetingInfo(options)\n .then((info) => {\n if (meetingId && sendCAevents) {\n this.webex.internal.newMetrics.submitInternalEvent({\n name: 'internal.client.meetinginfo.response',\n });\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.response',\n payload: {\n identifiers: {\n meetingLookupUrl: info?.url,\n },\n },\n options: {\n meetingId,\n webexConferenceIdStr: info?.body?.confIdStr || info?.body?.confID,\n globalMeetingId: info?.body?.meetingId,\n },\n });\n }\n if (info && info.body) {\n this.setMeetingInfo(info.body.sipMeetingUri || info.body.meetingLink, info.body);\n }\n\n return info;\n })\n .catch((error) => {\n LoggerProxy.logger.error(\n `Meeting-info:index#requestFetchInfo --> ${error} fetch meetingInfo`\n );\n if (meetingId && sendCAevents) {\n this.webex.internal.newMetrics.submitInternalEvent({\n name: 'internal.client.meetinginfo.response',\n });\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.meetinginfo.response',\n payload: {\n identifiers: {\n meetingLookupUrl: error?.url,\n },\n },\n options: {\n meetingId,\n rawError: error,\n },\n });\n }\n\n return Promise.reject(error);\n });\n }\n\n /**\n * Helper to generate the options for the MeetingInfo request\n * @param {String} destination\n * @param {String} type\n * @returns {Promise}\n * @private\n * @memberof MeetingInfo\n */\n private fetchInfoOptions(destination: string, type: string) {\n return MeetingInfoUtil.generateOptions({\n destination,\n type,\n webex: this.webex,\n });\n }\n\n // eslint-disable-next-line valid-jsdoc\n /**\n * Fetches meeting info from the server\n * @param {String} destination one of many different types of destinations to look up info for\n * @param {DESTINATION_TYPE} [type] to match up with the destination value\n * @param {String} [password] meeting password\n * @param {Object} [captchaInfo] captcha code and id\n * @param {String} [installedOrgID]\n * @param {String} [locusId]\n * @param {Object} [extraParams]\n * @param {Boolean} [options] meeting Id and whether Call Analyzer events should be sent\n * @returns {Promise} returns a meeting info object\n * @public\n * @memberof MeetingInfo\n */\n public fetchMeetingInfo(\n destination: string,\n type: DESTINATION_TYPE = null,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n password: string = null,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n captchaInfo: {\n code: string;\n id: string;\n } = null,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n installedOrgID = null,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n locusId = null,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n extraParams: object = {},\n options: {meetingId?: string; sendCAevents?: boolean} = {}\n ) {\n if (type === DESTINATION_TYPE.PERSONAL_ROOM && !destination) {\n destination = this.webex.internal.device.userId;\n }\n\n return this.fetchInfoOptions(MeetingInfoUtil.extractDestination(destination, type), type).then(\n (infoOptions) =>\n // fetch meeting info\n this.requestFetchInfo({...infoOptions, ...options}).catch((error) => {\n // if it failed the first time as meeting link\n if (infoOptions.type === DESTINATION_TYPE.MEETING_LINK) {\n // convert the meeting link to sip URI and retry\n return this.requestFetchInfo({\n ...this.fetchInfoOptions(\n MeetingInfoUtil.convertLinkToSip(destination),\n DESTINATION_TYPE.SIP_URI\n ),\n ...options,\n });\n }\n\n return Promise.reject(error);\n })\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|