@webex/plugin-meetings 3.9.0-next.2 → 3.9.0-next.20

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.
Files changed (85) hide show
  1. package/dist/breakouts/breakout.js +1 -1
  2. package/dist/breakouts/index.js +1 -1
  3. package/dist/constants.js +2 -0
  4. package/dist/constants.js.map +1 -1
  5. package/dist/interpretation/index.js +1 -1
  6. package/dist/interpretation/siLanguage.js +1 -1
  7. package/dist/locus-info/index.js +38 -10
  8. package/dist/locus-info/index.js.map +1 -1
  9. package/dist/locus-info/parser.js +4 -1
  10. package/dist/locus-info/parser.js.map +1 -1
  11. package/dist/media/properties.js +53 -5
  12. package/dist/media/properties.js.map +1 -1
  13. package/dist/meeting/in-meeting-actions.js +2 -0
  14. package/dist/meeting/in-meeting-actions.js.map +1 -1
  15. package/dist/meeting/index.js +189 -122
  16. package/dist/meeting/index.js.map +1 -1
  17. package/dist/meeting/muteState.js +2 -5
  18. package/dist/meeting/muteState.js.map +1 -1
  19. package/dist/meeting/request.js +25 -0
  20. package/dist/meeting/request.js.map +1 -1
  21. package/dist/meeting/util.js +30 -11
  22. package/dist/meeting/util.js.map +1 -1
  23. package/dist/meeting-info/meeting-info-v2.js +29 -21
  24. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  25. package/dist/meetings/index.js +31 -25
  26. package/dist/meetings/index.js.map +1 -1
  27. package/dist/member/types.js.map +1 -1
  28. package/dist/members/collection.js +13 -0
  29. package/dist/members/collection.js.map +1 -1
  30. package/dist/members/index.js +42 -20
  31. package/dist/members/index.js.map +1 -1
  32. package/dist/members/util.js +7 -2
  33. package/dist/members/util.js.map +1 -1
  34. package/dist/metrics/constants.js +2 -1
  35. package/dist/metrics/constants.js.map +1 -1
  36. package/dist/reachability/index.js +3 -3
  37. package/dist/reachability/index.js.map +1 -1
  38. package/dist/types/constants.d.ts +2 -0
  39. package/dist/types/locus-info/index.d.ts +54 -1
  40. package/dist/types/media/properties.d.ts +21 -0
  41. package/dist/types/meeting/in-meeting-actions.d.ts +2 -0
  42. package/dist/types/meeting/index.d.ts +11 -1
  43. package/dist/types/meeting/request.d.ts +9 -0
  44. package/dist/types/meeting/util.d.ts +10 -3
  45. package/dist/types/meeting-info/meeting-info-v2.d.ts +6 -3
  46. package/dist/types/meetings/index.d.ts +3 -1
  47. package/dist/types/member/types.d.ts +1 -0
  48. package/dist/types/members/collection.d.ts +6 -0
  49. package/dist/types/members/index.d.ts +12 -2
  50. package/dist/types/members/util.d.ts +6 -3
  51. package/dist/types/metrics/constants.d.ts +1 -0
  52. package/dist/webinar/index.js +1 -1
  53. package/package.json +16 -16
  54. package/src/constants.ts +2 -0
  55. package/src/locus-info/index.ts +84 -9
  56. package/src/locus-info/parser.ts +5 -1
  57. package/src/media/properties.ts +43 -0
  58. package/src/meeting/in-meeting-actions.ts +4 -0
  59. package/src/meeting/index.ts +91 -4
  60. package/src/meeting/muteState.ts +2 -6
  61. package/src/meeting/request.ts +23 -0
  62. package/src/meeting/util.ts +41 -20
  63. package/src/meeting-info/meeting-info-v2.ts +24 -5
  64. package/src/meetings/index.ts +9 -3
  65. package/src/member/types.ts +1 -0
  66. package/src/members/collection.ts +11 -0
  67. package/src/members/index.ts +38 -5
  68. package/src/members/util.ts +18 -2
  69. package/src/metrics/constants.ts +1 -0
  70. package/src/reachability/index.ts +3 -3
  71. package/test/unit/spec/locus-info/index.js +30 -15
  72. package/test/unit/spec/locus-info/parser.js +3 -2
  73. package/test/unit/spec/media/properties.ts +137 -0
  74. package/test/unit/spec/meeting/in-meeting-actions.ts +2 -0
  75. package/test/unit/spec/meeting/index.js +255 -27
  76. package/test/unit/spec/meeting/muteState.js +32 -6
  77. package/test/unit/spec/meeting/request.js +21 -0
  78. package/test/unit/spec/meeting/utils.js +45 -16
  79. package/test/unit/spec/meeting-info/meetinginfov2.js +8 -3
  80. package/test/unit/spec/meetings/index.js +10 -1
  81. package/test/unit/spec/members/collection.js +120 -0
  82. package/test/unit/spec/members/index.js +72 -3
  83. package/test/unit/spec/members/request.js +55 -0
  84. package/test/unit/spec/members/utils.js +116 -14
  85. package/test/unit/spec/reachability/index.ts +158 -3
@@ -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","then","_response$body","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","joinMeeting","_joinMeeting","_asyncToGenerator2","_regenerator","mark","_callee","options","_meeting$meetingInfo","reachability","clientMediaPreferences","wrap","_callee$","_context","prev","abrupt","getWebexObject","newMetrics","submitClientEvent","meetingId","ipver","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","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","canStopManualCaption","MANUAL_CAPTION_STOP","isManualCaptionActive","MANUAL_CAPTION_STATUS_ACTIVE","isWebexAssistantActive","WEBEX_ASSISTANT_STATUS_ACTIVE","canViewCaptionPanel","ENABLE_CAPTION_PANEL","isRealTimeTranslationEnabled","DISPLAY_REAL_TIME_TRANSLATION","canSelectSpokenLanguages","DISPLAY_NON_ENGLISH_ASR","waitingForOthersToJoin","WAITING_FOR_OTHERS","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","updateLocusWithDelta","_response$body2","handleLocusDelta","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\n .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 .then((response) => response?.body?.locus);\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 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 canStopManualCaption: (displayHints) => displayHints.includes(DISPLAY_HINTS.MANUAL_CAPTION_STOP),\n\n isManualCaptionActive: (displayHints) =>\n displayHints.includes(DISPLAY_HINTS.MANUAL_CAPTION_STATUS_ACTIVE),\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 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 delta locus\n * returned from requests that include the sequence information\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 updateLocusWithDelta: (meeting, response) => {\n if (!meeting) {\n return response;\n }\n\n const locus = response?.body?.locus;\n\n if (locus) {\n meeting.locusInfo.handleLocusDelta(locus, meeting);\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.updateLocusWithDelta(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","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","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","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 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 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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"}
@@ -417,6 +417,7 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
417
417
  * @param {String} conversationUrl conversationUrl to start adhoc meeting on
418
418
  * @param {String} installedOrgID org ID of user's machine
419
419
  * @param {Boolean} enableStaticMeetingLink whether or not to enable static meeting link
420
+ * @param {String} classificationId need it to start adhoc meeting if space support classification
420
421
  * @returns {Promise} returns a meeting info object
421
422
  * @public
422
423
  * @memberof MeetingInfo
@@ -425,12 +426,14 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
425
426
  var _createAdhocSpaceMeetingOrEnableStaticMeetingLink = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(conversationUrl, installedOrgID) {
426
427
  var _this10 = this;
427
428
  var enableStaticMeetingLink,
429
+ classificationId,
428
430
  getInvitees,
429
431
  _args = arguments;
430
432
  return _regenerator.default.wrap(function _callee$(_context) {
431
433
  while (1) switch (_context.prev = _context.next) {
432
434
  case 0:
433
435
  enableStaticMeetingLink = _args.length > 2 && _args[2] !== undefined ? _args[2] : false;
436
+ classificationId = _args.length > 3 && _args[3] !== undefined ? _args[3] : undefined;
434
437
  getInvitees = function getInvitees() {
435
438
  var particpants = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
436
439
  var invitees = [];
@@ -460,7 +463,8 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
460
463
  kroUrl: conversation.kmsResourceObjectUrl,
461
464
  invitees: getInvitees((_conversation$partici = conversation.participants) === null || _conversation$partici === void 0 ? void 0 : _conversation$partici.items),
462
465
  installedOrgID: installedOrgID,
463
- schedule: enableStaticMeetingLink
466
+ schedule: enableStaticMeetingLink,
467
+ classificationId: classificationId
464
468
  };
465
469
  if (installedOrgID) {
466
470
  body.installedOrgID = installedOrgID;
@@ -472,7 +476,7 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
472
476
  body: body
473
477
  });
474
478
  }));
475
- case 3:
479
+ case 4:
476
480
  case "end":
477
481
  return _context.stop();
478
482
  }
@@ -487,6 +491,7 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
487
491
  * Creates adhoc space meetings for a space by fetching the conversation infomation
488
492
  * @param {String} conversationUrl conversationUrl to start adhoc meeting on
489
493
  * @param {String} installedOrgID org ID of user's machine
494
+ * @param {String} classificationId if space is support classification, it needs provide it during start instant meeting
490
495
  * @returns {Promise} returns a meeting info object
491
496
  * @public
492
497
  * @memberof MeetingInfo
@@ -495,7 +500,7 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
495
500
  }, {
496
501
  key: "createAdhocSpaceMeeting",
497
502
  value: (function () {
498
- var _createAdhocSpaceMeeting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(conversationUrl, installedOrgID) {
503
+ var _createAdhocSpaceMeeting = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(conversationUrl, installedOrgID, classificationId) {
499
504
  var _this11 = this;
500
505
  return _regenerator.default.wrap(function _callee2$(_context2) {
501
506
  while (1) switch (_context2.prev = _context2.next) {
@@ -506,7 +511,7 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
506
511
  }
507
512
  throw Error('No preferred webex site found');
508
513
  case 2:
509
- return _context2.abrupt("return", this.createAdhocSpaceMeetingOrEnableStaticMeetingLink(conversationUrl, installedOrgID).then(function (requestResult) {
514
+ return _context2.abrupt("return", this.createAdhocSpaceMeetingOrEnableStaticMeetingLink(conversationUrl, installedOrgID, false, classificationId).then(function (requestResult) {
510
515
  _metrics.default.sendBehavioralMetric(_constants2.default.ADHOC_MEETING_SUCCESS);
511
516
  return requestResult;
512
517
  }).catch(function (err) {
@@ -526,7 +531,7 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
526
531
  }
527
532
  }, _callee2, this);
528
533
  }));
529
- function createAdhocSpaceMeeting(_x3, _x4) {
534
+ function createAdhocSpaceMeeting(_x3, _x4, _x5) {
530
535
  return _createAdhocSpaceMeeting.apply(this, arguments);
531
536
  }
532
537
  return createAdhocSpaceMeeting;
@@ -585,7 +590,7 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
585
590
  }
586
591
  }, _callee3, this);
587
592
  }));
588
- function fetchStaticMeetingLink(_x5) {
593
+ function fetchStaticMeetingLink(_x6) {
589
594
  return _fetchStaticMeetingLink.apply(this, arguments);
590
595
  }
591
596
  return fetchStaticMeetingLink;
@@ -643,7 +648,7 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
643
648
  }
644
649
  }, _callee4, this);
645
650
  }));
646
- function enableStaticMeetingLink(_x6) {
651
+ function enableStaticMeetingLink(_x7) {
647
652
  return _enableStaticMeetingLink.apply(this, arguments);
648
653
  }
649
654
  return enableStaticMeetingLink;
@@ -702,7 +707,7 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
702
707
  }
703
708
  }, _callee5, this);
704
709
  }));
705
- function disableStaticMeetingLink(_x7) {
710
+ function disableStaticMeetingLink(_x8) {
706
711
  return _disableStaticMeetingLink.apply(this, arguments);
707
712
  }
708
713
  return disableStaticMeetingLink;
@@ -721,6 +726,7 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
721
726
  * @param {Object} options
722
727
  * @param {String} registrationId
723
728
  * @param {String} fullSiteUrl
729
+ * @param {String} classificationId
724
730
  * @returns {Promise} returns a meeting info object
725
731
  * @public
726
732
  * @memberof MeetingInfo
@@ -740,6 +746,7 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
740
746
  options,
741
747
  registrationId,
742
748
  fullSiteUrl,
749
+ classificationId,
743
750
  meetingId,
744
751
  sendCAevents,
745
752
  destinationType,
@@ -762,22 +769,23 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
762
769
  options = _args6.length > 7 && _args6[7] !== undefined ? _args6[7] : {};
763
770
  registrationId = _args6.length > 8 && _args6[8] !== undefined ? _args6[8] : null;
764
771
  fullSiteUrl = _args6.length > 9 && _args6[9] !== undefined ? _args6[9] : null;
772
+ classificationId = _args6.length > 10 && _args6[10] !== undefined ? _args6[10] : null;
765
773
  meetingId = options.meetingId, sendCAevents = options.sendCAevents;
766
- _context6.next = 12;
774
+ _context6.next = 13;
767
775
  return _utilv.default.getDestinationType({
768
776
  destination: destination,
769
777
  type: type,
770
778
  webex: this.webex
771
779
  });
772
- case 12:
780
+ case 13:
773
781
  destinationType = _context6.sent;
774
782
  if (!(destinationType.type === _constants.DESTINATION_TYPE.CONVERSATION_URL && this.webex.config.meetings.experimental.enableAdhocMeetings && this.webex.meetings.preferredWebexSite)) {
775
- _context6.next = 15;
783
+ _context6.next = 16;
776
784
  break;
777
785
  }
778
- return _context6.abrupt("return", this.createAdhocSpaceMeeting(destinationType.destination, installedOrgID));
779
- case 15:
780
- _context6.next = 17;
786
+ return _context6.abrupt("return", this.createAdhocSpaceMeeting(destinationType.destination, installedOrgID, classificationId));
787
+ case 16:
788
+ _context6.next = 18;
781
789
  return _utilv.default.getRequestBody(_objectSpread(_objectSpread({}, destinationType), {}, {
782
790
  password: password,
783
791
  captchaInfo: captchaInfo,
@@ -787,10 +795,10 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
787
795
  registrationId: registrationId,
788
796
  disableWebRedirect: true
789
797
  }));
790
- case 17:
798
+ case 18:
791
799
  body = _context6.sent;
792
800
  if (_lodash.default.difference((0, _keys.default)(body), (0, _keys.default)(_constants.DEFAULT_MEETING_INFO_REQUEST_BODY)).length) {
793
- _context6.next = 22;
801
+ _context6.next = 23;
794
802
  break;
795
803
  }
796
804
  err = new Error('Not enough information to fetch meeting info');
@@ -801,14 +809,14 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
801
809
  sipUri: destinationType === null || destinationType === void 0 ? void 0 : (_destinationType$info2 = destinationType.info) === null || _destinationType$info2 === void 0 ? void 0 : _destinationType$info2.sipUri
802
810
  });
803
811
  throw err;
804
- case 22:
812
+ case 23:
805
813
  requestOptions = {
806
814
  method: _constants.HTTP_VERBS.POST,
807
815
  body: body
808
816
  };
809
- _context6.next = 25;
817
+ _context6.next = 26;
810
818
  return _utilv.default.getDirectMeetingInfoURI(destinationType);
811
- case 25:
819
+ case 26:
812
820
  directURI = _context6.sent;
813
821
  if (fullSiteUrl) {
814
822
  requestOptions.uri = "https://".concat(fullSiteUrl, "/wbxappapi/v1/meetingInfo");
@@ -899,13 +907,13 @@ var MeetingInfoV2 = exports.default = /*#__PURE__*/function () {
899
907
  });
900
908
  throw err;
901
909
  }));
902
- case 29:
910
+ case 30:
903
911
  case "end":
904
912
  return _context6.stop();
905
913
  }
906
914
  }, _callee6, this);
907
915
  }));
908
- function fetchMeetingInfo(_x8) {
916
+ function fetchMeetingInfo(_x9) {
909
917
  return _fetchMeetingInfo.apply(this, arguments);
910
918
  }
911
919
  return fetchMeetingInfo;