@webex/plugin-meetings 2.59.0 → 2.59.1-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/common/browser-detection.js +2 -2
- package/dist/common/browser-detection.js.map +1 -1
- package/dist/common/collection.js +2 -2
- package/dist/common/collection.js.map +1 -1
- package/dist/controls-options-manager/index.js +2 -2
- package/dist/controls-options-manager/index.js.map +1 -1
- package/dist/locus-info/controlsUtils.js +6 -6
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/index.js +18 -18
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/parser.js +2 -2
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/meeting/index.js +8 -11
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/request.js +2 -2
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/util.js +4 -4
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/collection.js +2 -2
- package/dist/meeting-info/collection.js.map +1 -1
- package/dist/meetings/collection.js +2 -2
- package/dist/meetings/collection.js.map +1 -1
- package/dist/members/index.js +2 -2
- package/dist/members/index.js.map +1 -1
- package/dist/metrics/index.js +2 -2
- package/dist/metrics/index.js.map +1 -1
- package/dist/reachability/index.js +9 -2
- package/dist/reachability/index.js.map +1 -1
- package/dist/statsAnalyzer/index.js +2 -2
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.js +15 -15
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/package.json +21 -20
- package/dist/common/browser-detection.d.ts +0 -9
- package/dist/common/collection.d.ts +0 -48
- package/dist/common/config.d.ts +0 -2
- package/dist/common/errors/captcha-error.d.ts +0 -15
- package/dist/common/errors/intent-to-join.d.ts +0 -16
- package/dist/common/errors/join-meeting.d.ts +0 -17
- package/dist/common/errors/media.d.ts +0 -15
- package/dist/common/errors/parameter.d.ts +0 -15
- package/dist/common/errors/password-error.d.ts +0 -15
- package/dist/common/errors/permission.d.ts +0 -14
- package/dist/common/errors/reconnection-in-progress.d.ts +0 -9
- package/dist/common/errors/reconnection.d.ts +0 -15
- package/dist/common/errors/stats.d.ts +0 -15
- package/dist/common/errors/webex-errors.d.ts +0 -81
- package/dist/common/errors/webex-meetings-error.d.ts +0 -20
- package/dist/common/events/events-scope.d.ts +0 -17
- package/dist/common/events/events.d.ts +0 -12
- package/dist/common/events/trigger-proxy.d.ts +0 -2
- package/dist/common/events/util.d.ts +0 -2
- package/dist/common/logs/logger-config.d.ts +0 -2
- package/dist/common/logs/logger-proxy.d.ts +0 -2
- package/dist/common/logs/request.d.ts +0 -34
- package/dist/common/queue.d.ts +0 -32
- package/dist/config.d.ts +0 -73
- package/dist/constants.d.ts +0 -924
- package/dist/controls-options-manager/constants.d.ts +0 -4
- package/dist/controls-options-manager/enums.d.ts +0 -5
- package/dist/controls-options-manager/index.d.ts +0 -120
- package/dist/controls-options-manager/util.d.ts +0 -7
- package/dist/index.d.ts +0 -4
- package/dist/locus-info/controlsUtils.d.ts +0 -2
- package/dist/locus-info/embeddedAppsUtils.d.ts +0 -2
- package/dist/locus-info/fullState.d.ts +0 -2
- package/dist/locus-info/hostUtils.d.ts +0 -2
- package/dist/locus-info/index.d.ts +0 -269
- package/dist/locus-info/infoUtils.d.ts +0 -2
- package/dist/locus-info/mediaSharesUtils.d.ts +0 -2
- package/dist/locus-info/parser.d.ts +0 -212
- package/dist/locus-info/selfUtils.d.ts +0 -2
- package/dist/media/index.d.ts +0 -32
- package/dist/media/properties.d.ts +0 -108
- package/dist/media/util.d.ts +0 -2
- package/dist/mediaQualityMetrics/config.d.ts +0 -233
- package/dist/meeting/effectsState.d.ts +0 -42
- package/dist/meeting/in-meeting-actions.d.ts +0 -79
- package/dist/meeting/index.d.ts +0 -1621
- package/dist/meeting/muteState.d.ts +0 -116
- package/dist/meeting/request.d.ts +0 -255
- package/dist/meeting/state.d.ts +0 -9
- package/dist/meeting/util.d.ts +0 -2
- package/dist/meeting-info/collection.d.ts +0 -20
- package/dist/meeting-info/index.d.ts +0 -57
- package/dist/meeting-info/meeting-info-v2.d.ts +0 -93
- package/dist/meeting-info/request.d.ts +0 -22
- package/dist/meeting-info/util.d.ts +0 -2
- package/dist/meeting-info/utilv2.d.ts +0 -2
- package/dist/meetings/collection.d.ts +0 -23
- package/dist/meetings/index.d.ts +0 -296
- package/dist/meetings/request.d.ts +0 -27
- package/dist/meetings/util.d.ts +0 -18
- package/dist/member/index.d.ts +0 -147
- package/dist/member/member.types.d.ts +0 -11
- package/dist/member/util.d.ts +0 -2
- package/dist/members/collection.d.ts +0 -24
- package/dist/members/index.d.ts +0 -298
- package/dist/members/request.d.ts +0 -50
- package/dist/members/util.d.ts +0 -2
- package/dist/metrics/config.d.ts +0 -169
- package/dist/metrics/constants.d.ts +0 -57
- package/dist/metrics/index.d.ts +0 -152
- package/dist/networkQualityMonitor/index.d.ts +0 -70
- package/dist/peer-connection-manager/index.d.ts +0 -6
- package/dist/peer-connection-manager/util.d.ts +0 -6
- package/dist/personal-meeting-room/index.d.ts +0 -47
- package/dist/personal-meeting-room/request.d.ts +0 -14
- package/dist/personal-meeting-room/util.d.ts +0 -2
- package/dist/reachability/index.d.ts +0 -139
- package/dist/reachability/request.d.ts +0 -35
- package/dist/reactions/reactions.d.ts +0 -4
- package/dist/reactions/reactions.type.d.ts +0 -32
- package/dist/reconnection-manager/index.d.ts +0 -112
- package/dist/recording-controller/enums.d.ts +0 -7
- package/dist/recording-controller/index.d.ts +0 -193
- package/dist/recording-controller/util.d.ts +0 -13
- package/dist/roap/collection.d.ts +0 -10
- package/dist/roap/handler.d.ts +0 -47
- package/dist/roap/index.d.ts +0 -116
- package/dist/roap/request.d.ts +0 -35
- package/dist/roap/state.d.ts +0 -9
- package/dist/roap/turnDiscovery.d.ts +0 -67
- package/dist/roap/util.d.ts +0 -2
- package/dist/statsAnalyzer/global.d.ts +0 -126
- package/dist/statsAnalyzer/index.d.ts +0 -190
- package/dist/statsAnalyzer/mqaUtil.d.ts +0 -22
- package/dist/transcription/index.d.ts +0 -64
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_constants","require","getAudioReceiverMqa","_ref","audioReceiver","statsResults","lastMqaDataSent","mediaType","STATS","AUDIO_CORRELATE","sendrecvType","RECEIVE_DIRECTION","common","direction","transportType","connectionType","remote","transport","rtpPackets","totalPacketsReceived","streams","mediaHopByHopLost","totalPacketsLost","rtpHopByHopLost","maxRtpJitter","_max2","default","meanRtpJitter","_mean2","rtpJitter","fecRecovered","fecPacketsReceived","fecPacketsDiscarded","rtpEndToEndLost","framesDropped","totalSamplesDecoded","renderedFrameRate","framesReceived","totalSamplesReceived","concealedFrames","concealedSamples","receivedBitrate","totalBytesReceived","rtpBitrate","exports","getAudioSenderMqa","_ref2","audioSender","SEND_DIRECTION","local","maxRemoteJitter","meanRemoteJitter","totalPacketsSent","availableBitrate","availableOutgoingBitrate","totalpacketsLostForaMin","totalPacketsLostOnReceiver","remoteLossRate","maxRoundTripTime","meanRoundTripTime","roundTripTime","totalBytesSentInaMin","totalBytesSent","transmittedBitrate","transmittedKeyFrames","totalKeyFramesEncoded","requestedKeyFrames","totalFirCount","getVideoReceiverMqa","_ref3","videoReceiver","_ref3$isShareStream","isShareStream","SHARE_CORRELATE","VIDEO_CORRELATE","totalPacketLoss","totalBytesReceivedInaMin","totalFrameReceivedInaMin","resolutions","totalFrameDecodedInaMin","framesDecoded","receivedFrameRate","receivedHeight","height","receivedWidth","width","receivedFrameSize","receivedKeyFrames","keyFramesDecoded","totalPliCount","getVideoSenderMqa","_ref4","videoSender","_ref4$isShareStream","totalFrameSentInaMin","framesSent","transmittedFrameRate","transmittedHeight","transmittedWidth","transmittedFrameSize"],"sources":["mqaUtil.ts"],"sourcesContent":["/* eslint-disable prefer-destructuring */\n\nimport {mean, max} from 'lodash';\n\nimport {STATS} from '../constants';\n\nexport const getAudioReceiverMqa = ({audioReceiver, statsResults, lastMqaDataSent}) => {\n const mediaType = STATS.AUDIO_CORRELATE;\n const sendrecvType = STATS.RECEIVE_DIRECTION;\n\n audioReceiver.common.common.direction = statsResults[mediaType].direction;\n audioReceiver.common.transportType = statsResults.connectionType.remote.transport[0];\n // add rtpPacket info inside common as also for call analyzer\n audioReceiver.common.rtpPackets =\n statsResults[mediaType][sendrecvType].totalPacketsReceived -\n lastMqaDataSent[mediaType][sendrecvType].totalPacketsReceived || 0;\n // Hop by hop are numbers and not percentage so we compare on what we sent the last min\n // collect the packets received for the last min\n audioReceiver.streams[0].common.rtpPackets = audioReceiver.common.rtpPackets;\n audioReceiver.common.mediaHopByHopLost =\n statsResults[mediaType][sendrecvType].totalPacketsLost -\n lastMqaDataSent[mediaType][sendrecvType].totalPacketsLost || 0;\n audioReceiver.common.rtpHopByHopLost =\n statsResults[mediaType][sendrecvType].totalPacketsLost -\n lastMqaDataSent[mediaType][sendrecvType].totalPacketsLost || 0;\n\n // @ts-ignore\n audioReceiver.streams[0].common.maxRtpJitter =\n // @ts-ignore\n max(statsResults[mediaType][sendrecvType].meanRtpJitter) * 1000 || 0;\n audioReceiver.streams[0].common.meanRtpJitter =\n mean(statsResults[mediaType][sendrecvType].meanRtpJitter) * 1000 || 0;\n audioReceiver.streams[0].common.rtpJitter = audioReceiver.streams[0].common.maxRtpJitter;\n\n // Fec packets do come in as part of the FEC only for audio\n const fecRecovered =\n statsResults[mediaType][sendrecvType].fecPacketsReceived -\n lastMqaDataSent[mediaType][sendrecvType].fecPacketsReceived -\n (statsResults[mediaType][sendrecvType].fecPacketsDiscarded -\n lastMqaDataSent[mediaType][sendrecvType].fecPacketsDiscarded);\n\n audioReceiver.streams[0].common.rtpEndToEndLost =\n statsResults[mediaType][sendrecvType].totalPacketsLost -\n lastMqaDataSent[mediaType][sendrecvType].totalPacketsLost -\n fecRecovered || 0;\n\n audioReceiver.streams[0].common.framesDropped =\n statsResults[mediaType][sendrecvType].totalSamplesDecoded -\n lastMqaDataSent[mediaType][sendrecvType].totalSamplesDecoded || 0;\n audioReceiver.streams[0].common.renderedFrameRate =\n (audioReceiver.streams[0].common.framesDropped * 100) / 60 || 0;\n audioReceiver.streams[0].common.framesReceived =\n statsResults[mediaType][sendrecvType].totalSamplesReceived -\n lastMqaDataSent[mediaType][sendrecvType].totalSamplesReceived || 0;\n audioReceiver.streams[0].common.concealedFrames =\n statsResults[mediaType][sendrecvType].concealedSamples -\n lastMqaDataSent[mediaType][sendrecvType].concealedSamples || 0;\n audioReceiver.streams[0].common.receivedBitrate =\n ((statsResults[mediaType][sendrecvType].totalBytesReceived -\n lastMqaDataSent[mediaType][sendrecvType].totalBytesReceived) *\n 8) /\n 60 || 0;\n\n audioReceiver.common.rtpBitrate = audioReceiver.streams[0].common.receivedBitrate;\n};\n\nexport const getAudioSenderMqa = ({audioSender, statsResults, lastMqaDataSent}) => {\n const mediaType = STATS.AUDIO_CORRELATE;\n const sendrecvType = STATS.SEND_DIRECTION;\n\n audioSender.common.common.direction = statsResults[mediaType].direction;\n audioSender.common.transportType = statsResults.connectionType.local.transport[0];\n\n // @ts-ignore\n audioSender.common.maxRemoteJitter =\n // @ts-ignore\n max(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;\n audioSender.common.meanRemoteJitter =\n mean(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;\n\n audioSender.common.rtpPackets =\n statsResults[mediaType][sendrecvType].totalPacketsSent -\n lastMqaDataSent[mediaType][sendrecvType].totalPacketsSent || 0;\n audioSender.streams[0].common.rtpPackets = audioSender.common.rtpPackets;\n // From candidate-pair\n audioSender.common.availableBitrate =\n statsResults[mediaType][sendrecvType].availableOutgoingBitrate || 0;\n // Calculate based on how much packets lost of received compated to how to the client sent\n\n const totalpacketsLostForaMin =\n statsResults[mediaType][sendrecvType].totalPacketsLostOnReceiver -\n lastMqaDataSent[mediaType][sendrecvType].totalPacketsLostOnReceiver;\n\n audioSender.common.remoteLossRate =\n totalpacketsLostForaMin > 0\n ? (totalpacketsLostForaMin * 100) / audioSender.common.rtpPackets\n : 0; // This is the packets sent with in last min || 0;\n\n // @ts-ignore\n audioSender.common.maxRoundTripTime =\n // @ts-ignore\n max(statsResults[mediaType][sendrecvType].meanRoundTripTime) * 1000 || 0;\n audioSender.common.meanRoundTripTime =\n mean(statsResults[mediaType][sendrecvType].meanRoundTripTime) * 1000 || 0;\n audioSender.common.roundTripTime = audioSender.common.maxRoundTripTime;\n\n // Calculate the outgoing bitrate\n const totalBytesSentInaMin =\n statsResults[mediaType][sendrecvType].totalBytesSent -\n lastMqaDataSent[mediaType][sendrecvType].totalBytesSent;\n\n audioSender.streams[0].common.transmittedBitrate = totalBytesSentInaMin\n ? (totalBytesSentInaMin * 8) / 60\n : 0;\n audioSender.common.rtpBitrate = audioSender.streams[0].common.transmittedBitrate;\n\n audioSender.streams[0].transmittedKeyFrames =\n statsResults[mediaType][sendrecvType].totalKeyFramesEncoded -\n lastMqaDataSent[mediaType][sendrecvType].totalKeyFramesEncoded || 0;\n audioSender.streams[0].requestedKeyFrames =\n statsResults[mediaType][sendrecvType].totalFirCount -\n lastMqaDataSent[mediaType][sendrecvType].totalFirCount || 0;\n};\n\nexport const getVideoReceiverMqa = ({\n videoReceiver,\n statsResults,\n lastMqaDataSent,\n isShareStream = false,\n}) => {\n const mediaType = isShareStream ? STATS.SHARE_CORRELATE : STATS.VIDEO_CORRELATE;\n const sendrecvType = STATS.RECEIVE_DIRECTION;\n\n videoReceiver.common.common.direction = statsResults[mediaType].direction;\n videoReceiver.common.transportType = statsResults.connectionType.remote.transport[0];\n // collect the packets received for the last min\n videoReceiver.common.rtpPackets =\n statsResults[mediaType][sendrecvType].totalPacketsReceived -\n lastMqaDataSent[mediaType][sendrecvType].totalPacketsReceived || 0;\n videoReceiver.streams[0].common.rtpPackets = videoReceiver.common.rtpPackets;\n\n const totalPacketLoss =\n statsResults[mediaType][sendrecvType].totalPacketsLost -\n lastMqaDataSent[mediaType][sendrecvType].totalPacketsLost || 0;\n\n // Hope by hop are numbers and not percentage so we compare on what we sent the last min\n // this is including packet lost\n videoReceiver.common.mediaHopByHopLost = totalPacketLoss;\n videoReceiver.common.rtpHopByHopLost = totalPacketLoss;\n\n // End to end packetloss is after recovery\n videoReceiver.streams[0].common.rtpEndToEndLost = totalPacketLoss;\n\n // calculate this values\n\n // @ts-ignore\n videoReceiver.common.maxRemoteJitter =\n // @ts-ignore\n max(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;\n videoReceiver.common.meanRemoteJitter =\n mean(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;\n\n videoReceiver.streams[0].common.rtpJitter = videoReceiver.common.maxRemoteJitter;\n // videoReceiver.streams[0].common.rtpJitter = (statsResults.resolutions[mediaType][sendrecvType].jitterBufferDelay - lastMqaDataSent.resolutions[mediaType][sendrecvType].jitterBufferDelay) / (statsResults.resolutions[mediaType][sendrecvType].jitterBufferEmittedCount - lastMqaDataSent.resolutions[mediaType][sendrecvType].jitterBufferEmittedCount) * 1000 || 0;\n\n // Calculate the outgoing bitrate\n const totalBytesReceivedInaMin =\n statsResults[mediaType][sendrecvType].totalBytesReceived -\n lastMqaDataSent[mediaType][sendrecvType].totalBytesReceived;\n\n videoReceiver.streams[0].common.receivedBitrate = totalBytesReceivedInaMin\n ? (totalBytesReceivedInaMin * 8) / 60\n : 0;\n videoReceiver.common.rtpBitrate = videoReceiver.streams[0].common.receivedBitrate;\n\n // From tracks //TODO: calculate a proper one\n const totalFrameReceivedInaMin =\n statsResults.resolutions[mediaType][sendrecvType].framesReceived -\n lastMqaDataSent.resolutions[mediaType][sendrecvType].framesReceived;\n const totalFrameDecodedInaMin =\n statsResults.resolutions[mediaType][sendrecvType].framesDecoded -\n lastMqaDataSent.resolutions[mediaType][sendrecvType].framesDecoded;\n\n videoReceiver.streams[0].common.receivedFrameRate = totalFrameReceivedInaMin\n ? (totalFrameReceivedInaMin * 100) / 60\n : 0;\n videoReceiver.streams[0].common.renderedFrameRate = totalFrameDecodedInaMin\n ? (totalFrameDecodedInaMin * 100) / 60\n : 0;\n\n videoReceiver.streams[0].common.framesDropped =\n statsResults.resolutions[mediaType][sendrecvType].framesDropped -\n lastMqaDataSent.resolutions[mediaType][sendrecvType].framesDropped;\n videoReceiver.streams[0].receivedHeight =\n statsResults.resolutions[mediaType][sendrecvType].height;\n videoReceiver.streams[0].receivedWidth = statsResults.resolutions[mediaType][sendrecvType].width;\n videoReceiver.streams[0].receivedFrameSize =\n (statsResults.resolutions[mediaType][sendrecvType].height *\n statsResults.resolutions[mediaType][sendrecvType].height) /\n 256;\n\n videoReceiver.streams[0].receivedKeyFrames =\n statsResults[mediaType][sendrecvType].keyFramesDecoded -\n lastMqaDataSent[mediaType][sendrecvType].keyFramesDecoded || 0;\n videoReceiver.streams[0].requestedKeyFrames =\n statsResults[mediaType][sendrecvType].totalPliCount -\n lastMqaDataSent[mediaType][sendrecvType].totalPliCount || 0;\n};\n\nexport const getVideoSenderMqa = ({\n videoSender,\n statsResults,\n lastMqaDataSent,\n isShareStream = false,\n}) => {\n const mediaType = isShareStream ? STATS.SHARE_CORRELATE : STATS.VIDEO_CORRELATE;\n const sendrecvType = STATS.SEND_DIRECTION;\n\n videoSender.common.common.direction = statsResults[mediaType].direction;\n videoSender.common.transportType = statsResults.connectionType.local.transport[0];\n\n // @ts-ignore\n videoSender.common.maxRemoteJitter =\n // @ts-ignore\n max(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;\n videoSender.common.meanRemoteJitter =\n mean(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;\n\n videoSender.common.rtpPackets =\n statsResults[mediaType][sendrecvType].totalPacketsSent -\n lastMqaDataSent[mediaType][sendrecvType].totalPacketsSent || 0;\n videoSender.common.availableBitrate =\n statsResults[mediaType][sendrecvType].availableOutgoingBitrate || 0;\n // Calculate based on how much packets lost of received compated to how to the client sent\n\n const totalpacketsLostForaMin =\n statsResults[mediaType][sendrecvType].totalPacketsLostOnReceiver -\n lastMqaDataSent[mediaType][sendrecvType].totalPacketsLostOnReceiver;\n\n videoSender.common.remoteLossRate =\n totalpacketsLostForaMin > 0\n ? (totalpacketsLostForaMin * 100) / (videoSender.common.rtpPackets + totalpacketsLostForaMin)\n : 0; // This is the packets sent with in last min || 0;\n\n // @ts-ignore\n videoSender.common.maxRoundTripTime =\n // @ts-ignore\n max(statsResults[mediaType][sendrecvType].meanRoundTripTime) * 1000 || 0;\n videoSender.common.meanRoundTripTime =\n mean(statsResults[mediaType][sendrecvType].meanRoundTripTime) * 1000 || 0;\n videoSender.common.roundTripTime = videoSender.common.maxRoundTripTime;\n\n videoSender.streams[0].common.rtpPackets =\n statsResults[mediaType][sendrecvType].totalPacketsSent -\n lastMqaDataSent[mediaType][sendrecvType].totalPacketsSent || 0;\n\n // Calculate the outgoing bitrate\n const totalBytesSentInaMin =\n statsResults[mediaType][sendrecvType].totalBytesSent -\n lastMqaDataSent[mediaType][sendrecvType].totalBytesSent;\n\n videoSender.streams[0].common.transmittedBitrate = totalBytesSentInaMin\n ? (totalBytesSentInaMin * 8) / 60\n : 0;\n\n videoSender.common.rtpBitrate = videoSender.streams[0].common.transmittedBitrate;\n\n videoSender.streams[0].transmittedKeyFrames =\n statsResults[mediaType][sendrecvType].totalKeyFramesEncoded -\n lastMqaDataSent[mediaType][sendrecvType].totalKeyFramesEncoded || 0;\n videoSender.streams[0].requestedKeyFrames =\n statsResults[mediaType][sendrecvType].totalFirCount -\n lastMqaDataSent[mediaType][sendrecvType].totalFirCount || 0;\n\n // From tracks //TODO: calculate a proper one\n const totalFrameSentInaMin =\n statsResults.resolutions[mediaType][sendrecvType].framesSent -\n (lastMqaDataSent.resolutions[mediaType][sendrecvType].framesSent || 0);\n\n videoSender.streams[0].common.transmittedFrameRate = totalFrameSentInaMin\n ? (totalFrameSentInaMin * 100) / 60\n : 0;\n videoSender.streams[0].transmittedHeight =\n statsResults.resolutions[mediaType][sendrecvType].height;\n videoSender.streams[0].transmittedWidth = statsResults.resolutions[mediaType][sendrecvType].width;\n videoSender.streams[0].transmittedFrameSize =\n (statsResults.resolutions[mediaType][sendrecvType].height *\n statsResults.resolutions[mediaType][sendrecvType].width) /\n 254;\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_lodash","require","_constants","getAudioReceiverMqa","_ref","audioReceiver","statsResults","lastMqaDataSent","mediaType","STATS","AUDIO_CORRELATE","sendrecvType","RECEIVE_DIRECTION","common","direction","transportType","connectionType","remote","transport","rtpPackets","totalPacketsReceived","streams","mediaHopByHopLost","totalPacketsLost","rtpHopByHopLost","maxRtpJitter","max","meanRtpJitter","mean","rtpJitter","fecRecovered","fecPacketsReceived","fecPacketsDiscarded","rtpEndToEndLost","framesDropped","totalSamplesDecoded","renderedFrameRate","framesReceived","totalSamplesReceived","concealedFrames","concealedSamples","receivedBitrate","totalBytesReceived","rtpBitrate","exports","getAudioSenderMqa","_ref2","audioSender","SEND_DIRECTION","local","maxRemoteJitter","meanRemoteJitter","totalPacketsSent","availableBitrate","availableOutgoingBitrate","totalpacketsLostForaMin","totalPacketsLostOnReceiver","remoteLossRate","maxRoundTripTime","meanRoundTripTime","roundTripTime","totalBytesSentInaMin","totalBytesSent","transmittedBitrate","transmittedKeyFrames","totalKeyFramesEncoded","requestedKeyFrames","totalFirCount","getVideoReceiverMqa","_ref3","videoReceiver","_ref3$isShareStream","isShareStream","SHARE_CORRELATE","VIDEO_CORRELATE","totalPacketLoss","totalBytesReceivedInaMin","totalFrameReceivedInaMin","resolutions","totalFrameDecodedInaMin","framesDecoded","receivedFrameRate","receivedHeight","height","receivedWidth","width","receivedFrameSize","receivedKeyFrames","keyFramesDecoded","totalPliCount","getVideoSenderMqa","_ref4","videoSender","_ref4$isShareStream","totalFrameSentInaMin","framesSent","transmittedFrameRate","transmittedHeight","transmittedWidth","transmittedFrameSize"],"sources":["mqaUtil.ts"],"sourcesContent":["/* eslint-disable prefer-destructuring */\n\nimport {mean, max} from 'lodash';\n\nimport {STATS} from '../constants';\n\nexport const getAudioReceiverMqa = ({audioReceiver, statsResults, lastMqaDataSent}) => {\n const mediaType = STATS.AUDIO_CORRELATE;\n const sendrecvType = STATS.RECEIVE_DIRECTION;\n\n audioReceiver.common.common.direction = statsResults[mediaType].direction;\n audioReceiver.common.transportType = statsResults.connectionType.remote.transport[0];\n // add rtpPacket info inside common as also for call analyzer\n audioReceiver.common.rtpPackets =\n statsResults[mediaType][sendrecvType].totalPacketsReceived -\n lastMqaDataSent[mediaType][sendrecvType].totalPacketsReceived || 0;\n // Hop by hop are numbers and not percentage so we compare on what we sent the last min\n // collect the packets received for the last min\n audioReceiver.streams[0].common.rtpPackets = audioReceiver.common.rtpPackets;\n audioReceiver.common.mediaHopByHopLost =\n statsResults[mediaType][sendrecvType].totalPacketsLost -\n lastMqaDataSent[mediaType][sendrecvType].totalPacketsLost || 0;\n audioReceiver.common.rtpHopByHopLost =\n statsResults[mediaType][sendrecvType].totalPacketsLost -\n lastMqaDataSent[mediaType][sendrecvType].totalPacketsLost || 0;\n\n // @ts-ignore\n audioReceiver.streams[0].common.maxRtpJitter =\n // @ts-ignore\n max(statsResults[mediaType][sendrecvType].meanRtpJitter) * 1000 || 0;\n audioReceiver.streams[0].common.meanRtpJitter =\n mean(statsResults[mediaType][sendrecvType].meanRtpJitter) * 1000 || 0;\n audioReceiver.streams[0].common.rtpJitter = audioReceiver.streams[0].common.maxRtpJitter;\n\n // Fec packets do come in as part of the FEC only for audio\n const fecRecovered =\n statsResults[mediaType][sendrecvType].fecPacketsReceived -\n lastMqaDataSent[mediaType][sendrecvType].fecPacketsReceived -\n (statsResults[mediaType][sendrecvType].fecPacketsDiscarded -\n lastMqaDataSent[mediaType][sendrecvType].fecPacketsDiscarded);\n\n audioReceiver.streams[0].common.rtpEndToEndLost =\n statsResults[mediaType][sendrecvType].totalPacketsLost -\n lastMqaDataSent[mediaType][sendrecvType].totalPacketsLost -\n fecRecovered || 0;\n\n audioReceiver.streams[0].common.framesDropped =\n statsResults[mediaType][sendrecvType].totalSamplesDecoded -\n lastMqaDataSent[mediaType][sendrecvType].totalSamplesDecoded || 0;\n audioReceiver.streams[0].common.renderedFrameRate =\n (audioReceiver.streams[0].common.framesDropped * 100) / 60 || 0;\n audioReceiver.streams[0].common.framesReceived =\n statsResults[mediaType][sendrecvType].totalSamplesReceived -\n lastMqaDataSent[mediaType][sendrecvType].totalSamplesReceived || 0;\n audioReceiver.streams[0].common.concealedFrames =\n statsResults[mediaType][sendrecvType].concealedSamples -\n lastMqaDataSent[mediaType][sendrecvType].concealedSamples || 0;\n audioReceiver.streams[0].common.receivedBitrate =\n ((statsResults[mediaType][sendrecvType].totalBytesReceived -\n lastMqaDataSent[mediaType][sendrecvType].totalBytesReceived) *\n 8) /\n 60 || 0;\n\n audioReceiver.common.rtpBitrate = audioReceiver.streams[0].common.receivedBitrate;\n};\n\nexport const getAudioSenderMqa = ({audioSender, statsResults, lastMqaDataSent}) => {\n const mediaType = STATS.AUDIO_CORRELATE;\n const sendrecvType = STATS.SEND_DIRECTION;\n\n audioSender.common.common.direction = statsResults[mediaType].direction;\n audioSender.common.transportType = statsResults.connectionType.local.transport[0];\n\n // @ts-ignore\n audioSender.common.maxRemoteJitter =\n // @ts-ignore\n max(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;\n audioSender.common.meanRemoteJitter =\n mean(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;\n\n audioSender.common.rtpPackets =\n statsResults[mediaType][sendrecvType].totalPacketsSent -\n lastMqaDataSent[mediaType][sendrecvType].totalPacketsSent || 0;\n audioSender.streams[0].common.rtpPackets = audioSender.common.rtpPackets;\n // From candidate-pair\n audioSender.common.availableBitrate =\n statsResults[mediaType][sendrecvType].availableOutgoingBitrate || 0;\n // Calculate based on how much packets lost of received compated to how to the client sent\n\n const totalpacketsLostForaMin =\n statsResults[mediaType][sendrecvType].totalPacketsLostOnReceiver -\n lastMqaDataSent[mediaType][sendrecvType].totalPacketsLostOnReceiver;\n\n audioSender.common.remoteLossRate =\n totalpacketsLostForaMin > 0\n ? (totalpacketsLostForaMin * 100) / audioSender.common.rtpPackets\n : 0; // This is the packets sent with in last min || 0;\n\n // @ts-ignore\n audioSender.common.maxRoundTripTime =\n // @ts-ignore\n max(statsResults[mediaType][sendrecvType].meanRoundTripTime) * 1000 || 0;\n audioSender.common.meanRoundTripTime =\n mean(statsResults[mediaType][sendrecvType].meanRoundTripTime) * 1000 || 0;\n audioSender.common.roundTripTime = audioSender.common.maxRoundTripTime;\n\n // Calculate the outgoing bitrate\n const totalBytesSentInaMin =\n statsResults[mediaType][sendrecvType].totalBytesSent -\n lastMqaDataSent[mediaType][sendrecvType].totalBytesSent;\n\n audioSender.streams[0].common.transmittedBitrate = totalBytesSentInaMin\n ? (totalBytesSentInaMin * 8) / 60\n : 0;\n audioSender.common.rtpBitrate = audioSender.streams[0].common.transmittedBitrate;\n\n audioSender.streams[0].transmittedKeyFrames =\n statsResults[mediaType][sendrecvType].totalKeyFramesEncoded -\n lastMqaDataSent[mediaType][sendrecvType].totalKeyFramesEncoded || 0;\n audioSender.streams[0].requestedKeyFrames =\n statsResults[mediaType][sendrecvType].totalFirCount -\n lastMqaDataSent[mediaType][sendrecvType].totalFirCount || 0;\n};\n\nexport const getVideoReceiverMqa = ({\n videoReceiver,\n statsResults,\n lastMqaDataSent,\n isShareStream = false,\n}) => {\n const mediaType = isShareStream ? STATS.SHARE_CORRELATE : STATS.VIDEO_CORRELATE;\n const sendrecvType = STATS.RECEIVE_DIRECTION;\n\n videoReceiver.common.common.direction = statsResults[mediaType].direction;\n videoReceiver.common.transportType = statsResults.connectionType.remote.transport[0];\n // collect the packets received for the last min\n videoReceiver.common.rtpPackets =\n statsResults[mediaType][sendrecvType].totalPacketsReceived -\n lastMqaDataSent[mediaType][sendrecvType].totalPacketsReceived || 0;\n videoReceiver.streams[0].common.rtpPackets = videoReceiver.common.rtpPackets;\n\n const totalPacketLoss =\n statsResults[mediaType][sendrecvType].totalPacketsLost -\n lastMqaDataSent[mediaType][sendrecvType].totalPacketsLost || 0;\n\n // Hope by hop are numbers and not percentage so we compare on what we sent the last min\n // this is including packet lost\n videoReceiver.common.mediaHopByHopLost = totalPacketLoss;\n videoReceiver.common.rtpHopByHopLost = totalPacketLoss;\n\n // End to end packetloss is after recovery\n videoReceiver.streams[0].common.rtpEndToEndLost = totalPacketLoss;\n\n // calculate this values\n\n // @ts-ignore\n videoReceiver.common.maxRemoteJitter =\n // @ts-ignore\n max(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;\n videoReceiver.common.meanRemoteJitter =\n mean(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;\n\n videoReceiver.streams[0].common.rtpJitter = videoReceiver.common.maxRemoteJitter;\n // videoReceiver.streams[0].common.rtpJitter = (statsResults.resolutions[mediaType][sendrecvType].jitterBufferDelay - lastMqaDataSent.resolutions[mediaType][sendrecvType].jitterBufferDelay) / (statsResults.resolutions[mediaType][sendrecvType].jitterBufferEmittedCount - lastMqaDataSent.resolutions[mediaType][sendrecvType].jitterBufferEmittedCount) * 1000 || 0;\n\n // Calculate the outgoing bitrate\n const totalBytesReceivedInaMin =\n statsResults[mediaType][sendrecvType].totalBytesReceived -\n lastMqaDataSent[mediaType][sendrecvType].totalBytesReceived;\n\n videoReceiver.streams[0].common.receivedBitrate = totalBytesReceivedInaMin\n ? (totalBytesReceivedInaMin * 8) / 60\n : 0;\n videoReceiver.common.rtpBitrate = videoReceiver.streams[0].common.receivedBitrate;\n\n // From tracks //TODO: calculate a proper one\n const totalFrameReceivedInaMin =\n statsResults.resolutions[mediaType][sendrecvType].framesReceived -\n lastMqaDataSent.resolutions[mediaType][sendrecvType].framesReceived;\n const totalFrameDecodedInaMin =\n statsResults.resolutions[mediaType][sendrecvType].framesDecoded -\n lastMqaDataSent.resolutions[mediaType][sendrecvType].framesDecoded;\n\n videoReceiver.streams[0].common.receivedFrameRate = totalFrameReceivedInaMin\n ? (totalFrameReceivedInaMin * 100) / 60\n : 0;\n videoReceiver.streams[0].common.renderedFrameRate = totalFrameDecodedInaMin\n ? (totalFrameDecodedInaMin * 100) / 60\n : 0;\n\n videoReceiver.streams[0].common.framesDropped =\n statsResults.resolutions[mediaType][sendrecvType].framesDropped -\n lastMqaDataSent.resolutions[mediaType][sendrecvType].framesDropped;\n videoReceiver.streams[0].receivedHeight =\n statsResults.resolutions[mediaType][sendrecvType].height;\n videoReceiver.streams[0].receivedWidth = statsResults.resolutions[mediaType][sendrecvType].width;\n videoReceiver.streams[0].receivedFrameSize =\n (statsResults.resolutions[mediaType][sendrecvType].height *\n statsResults.resolutions[mediaType][sendrecvType].height) /\n 256;\n\n videoReceiver.streams[0].receivedKeyFrames =\n statsResults[mediaType][sendrecvType].keyFramesDecoded -\n lastMqaDataSent[mediaType][sendrecvType].keyFramesDecoded || 0;\n videoReceiver.streams[0].requestedKeyFrames =\n statsResults[mediaType][sendrecvType].totalPliCount -\n lastMqaDataSent[mediaType][sendrecvType].totalPliCount || 0;\n};\n\nexport const getVideoSenderMqa = ({\n videoSender,\n statsResults,\n lastMqaDataSent,\n isShareStream = false,\n}) => {\n const mediaType = isShareStream ? STATS.SHARE_CORRELATE : STATS.VIDEO_CORRELATE;\n const sendrecvType = STATS.SEND_DIRECTION;\n\n videoSender.common.common.direction = statsResults[mediaType].direction;\n videoSender.common.transportType = statsResults.connectionType.local.transport[0];\n\n // @ts-ignore\n videoSender.common.maxRemoteJitter =\n // @ts-ignore\n max(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;\n videoSender.common.meanRemoteJitter =\n mean(statsResults[mediaType][sendrecvType].meanRemoteJitter) * 1000 || 0;\n\n videoSender.common.rtpPackets =\n statsResults[mediaType][sendrecvType].totalPacketsSent -\n lastMqaDataSent[mediaType][sendrecvType].totalPacketsSent || 0;\n videoSender.common.availableBitrate =\n statsResults[mediaType][sendrecvType].availableOutgoingBitrate || 0;\n // Calculate based on how much packets lost of received compated to how to the client sent\n\n const totalpacketsLostForaMin =\n statsResults[mediaType][sendrecvType].totalPacketsLostOnReceiver -\n lastMqaDataSent[mediaType][sendrecvType].totalPacketsLostOnReceiver;\n\n videoSender.common.remoteLossRate =\n totalpacketsLostForaMin > 0\n ? (totalpacketsLostForaMin * 100) / (videoSender.common.rtpPackets + totalpacketsLostForaMin)\n : 0; // This is the packets sent with in last min || 0;\n\n // @ts-ignore\n videoSender.common.maxRoundTripTime =\n // @ts-ignore\n max(statsResults[mediaType][sendrecvType].meanRoundTripTime) * 1000 || 0;\n videoSender.common.meanRoundTripTime =\n mean(statsResults[mediaType][sendrecvType].meanRoundTripTime) * 1000 || 0;\n videoSender.common.roundTripTime = videoSender.common.maxRoundTripTime;\n\n videoSender.streams[0].common.rtpPackets =\n statsResults[mediaType][sendrecvType].totalPacketsSent -\n lastMqaDataSent[mediaType][sendrecvType].totalPacketsSent || 0;\n\n // Calculate the outgoing bitrate\n const totalBytesSentInaMin =\n statsResults[mediaType][sendrecvType].totalBytesSent -\n lastMqaDataSent[mediaType][sendrecvType].totalBytesSent;\n\n videoSender.streams[0].common.transmittedBitrate = totalBytesSentInaMin\n ? (totalBytesSentInaMin * 8) / 60\n : 0;\n\n videoSender.common.rtpBitrate = videoSender.streams[0].common.transmittedBitrate;\n\n videoSender.streams[0].transmittedKeyFrames =\n statsResults[mediaType][sendrecvType].totalKeyFramesEncoded -\n lastMqaDataSent[mediaType][sendrecvType].totalKeyFramesEncoded || 0;\n videoSender.streams[0].requestedKeyFrames =\n statsResults[mediaType][sendrecvType].totalFirCount -\n lastMqaDataSent[mediaType][sendrecvType].totalFirCount || 0;\n\n // From tracks //TODO: calculate a proper one\n const totalFrameSentInaMin =\n statsResults.resolutions[mediaType][sendrecvType].framesSent -\n (lastMqaDataSent.resolutions[mediaType][sendrecvType].framesSent || 0);\n\n videoSender.streams[0].common.transmittedFrameRate = totalFrameSentInaMin\n ? (totalFrameSentInaMin * 100) / 60\n : 0;\n videoSender.streams[0].transmittedHeight =\n statsResults.resolutions[mediaType][sendrecvType].height;\n videoSender.streams[0].transmittedWidth = statsResults.resolutions[mediaType][sendrecvType].width;\n videoSender.streams[0].transmittedFrameSize =\n (statsResults.resolutions[mediaType][sendrecvType].height *\n statsResults.resolutions[mediaType][sendrecvType].width) /\n 254;\n};\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webex/plugin-meetings",
|
|
3
|
-
"version": "2.59.0",
|
|
4
3
|
"description": "",
|
|
5
4
|
"license": "Cisco EULA (https://www.cisco.com/c/en/us/products/end-user-license-agreement.html)",
|
|
6
5
|
"contributors": [
|
|
@@ -30,6 +29,7 @@
|
|
|
30
29
|
"scripts": {
|
|
31
30
|
"build": "yarn run -T tsc --declaration true --declarationDir ./dist",
|
|
32
31
|
"build:src": "webex-legacy-tools build -dest \"./dist\" -src \"./src\" -js -ts -maps",
|
|
32
|
+
"deploy:npm": "npm publish",
|
|
33
33
|
"test:broken": "yarn test:style && yarn test:unit && yarn test:integration && yarn test:browser",
|
|
34
34
|
"test:browser:broken": "webex-legacy-tools test --integration --unit --runner karma",
|
|
35
35
|
"test:integration:broken": "webex-legacy-tools test --integration --runner mocha",
|
|
@@ -39,17 +39,17 @@
|
|
|
39
39
|
"devDependencies": {
|
|
40
40
|
"@babel/core": "^7.17.10",
|
|
41
41
|
"@types/jsdom": "^21",
|
|
42
|
-
"@webex/babel-config-legacy": "
|
|
43
|
-
"@webex/eslint-config-legacy": "
|
|
44
|
-
"@webex/jest-config-legacy": "
|
|
45
|
-
"@webex/legacy-tools": "
|
|
46
|
-
"@webex/plugin-meetings": "
|
|
47
|
-
"@webex/plugin-rooms": "
|
|
48
|
-
"@webex/test-helper-chai": "
|
|
49
|
-
"@webex/test-helper-mocha": "
|
|
50
|
-
"@webex/test-helper-mock-webex": "
|
|
51
|
-
"@webex/test-helper-retry": "
|
|
52
|
-
"@webex/test-helper-test-users": "
|
|
42
|
+
"@webex/babel-config-legacy": "workspace:^",
|
|
43
|
+
"@webex/eslint-config-legacy": "workspace:^",
|
|
44
|
+
"@webex/jest-config-legacy": "workspace:^",
|
|
45
|
+
"@webex/legacy-tools": "workspace:^",
|
|
46
|
+
"@webex/plugin-meetings": "workspace:^",
|
|
47
|
+
"@webex/plugin-rooms": "workspace:^",
|
|
48
|
+
"@webex/test-helper-chai": "workspace:^",
|
|
49
|
+
"@webex/test-helper-mocha": "workspace:^",
|
|
50
|
+
"@webex/test-helper-mock-webex": "workspace:^",
|
|
51
|
+
"@webex/test-helper-retry": "workspace:^",
|
|
52
|
+
"@webex/test-helper-test-users": "workspace:^",
|
|
53
53
|
"chai": "^4.3.4",
|
|
54
54
|
"chai-as-promised": "^7.1.1",
|
|
55
55
|
"eslint": "^8.24.0",
|
|
@@ -60,15 +60,15 @@
|
|
|
60
60
|
"typescript": "^4.7.4"
|
|
61
61
|
},
|
|
62
62
|
"dependencies": {
|
|
63
|
-
"@webex/common": "
|
|
63
|
+
"@webex/common": "workspace:^",
|
|
64
64
|
"@webex/internal-media-core": "0.0.7-beta",
|
|
65
|
-
"@webex/internal-plugin-device": "
|
|
66
|
-
"@webex/internal-plugin-metrics": "
|
|
67
|
-
"@webex/internal-plugin-support": "
|
|
68
|
-
"@webex/internal-plugin-user": "
|
|
69
|
-
"@webex/plugin-people": "
|
|
65
|
+
"@webex/internal-plugin-device": "workspace:^",
|
|
66
|
+
"@webex/internal-plugin-metrics": "workspace:^",
|
|
67
|
+
"@webex/internal-plugin-support": "workspace:^",
|
|
68
|
+
"@webex/internal-plugin-user": "workspace:^",
|
|
69
|
+
"@webex/plugin-people": "workspace:^",
|
|
70
70
|
"@webex/ts-sdp": "1.0.1",
|
|
71
|
-
"@webex/webex-core": "
|
|
71
|
+
"@webex/webex-core": "workspace:^",
|
|
72
72
|
"bowser": "^2.11.0",
|
|
73
73
|
"btoa": "^1.2.1",
|
|
74
74
|
"dotenv": "^4.0.0",
|
|
@@ -79,5 +79,6 @@
|
|
|
79
79
|
"sdp-transform": "^2.12.0",
|
|
80
80
|
"uuid": "^3.3.2",
|
|
81
81
|
"webrtc-adapter": "^7.7.0"
|
|
82
|
-
}
|
|
82
|
+
},
|
|
83
|
+
"version": "2.59.1-next.0"
|
|
83
84
|
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/// <reference types="lodash" />
|
|
2
|
-
declare const _default: ((agent?: any) => {
|
|
3
|
-
getOSName: () => any;
|
|
4
|
-
getOSVersion: () => any;
|
|
5
|
-
getBrowserName: () => any;
|
|
6
|
-
getBrowserVersion: () => any;
|
|
7
|
-
isBrowser: (name: any) => boolean;
|
|
8
|
-
}) & import("lodash").MemoizedFunction;
|
|
9
|
-
export default _default;
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @class Collection
|
|
3
|
-
*/
|
|
4
|
-
export default class Collection {
|
|
5
|
-
namespace: string;
|
|
6
|
-
propertyName: string;
|
|
7
|
-
/**
|
|
8
|
-
* @param {String} property
|
|
9
|
-
* @memberof Collection
|
|
10
|
-
*/
|
|
11
|
-
constructor(property: string);
|
|
12
|
-
/**
|
|
13
|
-
* @param {String} id ID of the thing stuffed into the collection at id location
|
|
14
|
-
* @returns {Any} returns whatever is being stuffed into the collection
|
|
15
|
-
* @public
|
|
16
|
-
* @memberof Collection
|
|
17
|
-
*/
|
|
18
|
-
get(id: string): any;
|
|
19
|
-
/**
|
|
20
|
-
* @param {String} id the id of the meeting info instance to add to the collection
|
|
21
|
-
* @param {Any} value the thing to set in the collection
|
|
22
|
-
* @returns {Any} returns the thing just put in the collection
|
|
23
|
-
* @public
|
|
24
|
-
* @memberof Collection
|
|
25
|
-
*/
|
|
26
|
-
set(id: string, value: any): any;
|
|
27
|
-
/**
|
|
28
|
-
* remove the thing at the id
|
|
29
|
-
* @param {String} id ID of the thing you wish to delete from the collection
|
|
30
|
-
* @returns {undefined}
|
|
31
|
-
* @public
|
|
32
|
-
* @memberof Collection
|
|
33
|
-
*/
|
|
34
|
-
delete(id: string): void;
|
|
35
|
-
/**
|
|
36
|
-
* @returns {Object} returns an object map of things stuffed into the collection
|
|
37
|
-
* @public
|
|
38
|
-
* @memberof Collection
|
|
39
|
-
*/
|
|
40
|
-
getAll(): any;
|
|
41
|
-
/**
|
|
42
|
-
* @param {Object} set the replacement object
|
|
43
|
-
* @returns {Object} returns an object map of things stuffed into the collection
|
|
44
|
-
* @public
|
|
45
|
-
* @memberof Collection
|
|
46
|
-
*/
|
|
47
|
-
setAll(set: object): any;
|
|
48
|
-
}
|
package/dist/common/config.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Extended Error object to signify captcha related errors
|
|
3
|
-
*/
|
|
4
|
-
export default class CaptchaError extends Error {
|
|
5
|
-
code: any;
|
|
6
|
-
error: any;
|
|
7
|
-
sdkMessage: any;
|
|
8
|
-
/**
|
|
9
|
-
*
|
|
10
|
-
* @constructor
|
|
11
|
-
* @param {String} [message]
|
|
12
|
-
* @param {Object} [error]
|
|
13
|
-
*/
|
|
14
|
-
constructor(message?: string, error?: any);
|
|
15
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Extended Error object to signify the intent to join for unclaimed PMR scenarios
|
|
3
|
-
*/
|
|
4
|
-
export default class IntentToJoinError extends Error {
|
|
5
|
-
code: any;
|
|
6
|
-
error: any;
|
|
7
|
-
joinIntentRequired: any;
|
|
8
|
-
sdkMessage: any;
|
|
9
|
-
/**
|
|
10
|
-
*
|
|
11
|
-
* @constructor
|
|
12
|
-
* @param {String} [message]
|
|
13
|
-
* @param {Object} [error]
|
|
14
|
-
*/
|
|
15
|
-
constructor(message?: string, error?: any);
|
|
16
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Extended Error object to signify a join meeting error
|
|
3
|
-
*/
|
|
4
|
-
export default class JoinMeetingError extends Error {
|
|
5
|
-
code: any;
|
|
6
|
-
error: any;
|
|
7
|
-
joinOptions: any;
|
|
8
|
-
sdkMessage: any;
|
|
9
|
-
/**
|
|
10
|
-
*
|
|
11
|
-
* @constructor
|
|
12
|
-
* @param {Object} [options]
|
|
13
|
-
* @param {String} [message]
|
|
14
|
-
* @param {Object} [error]
|
|
15
|
-
*/
|
|
16
|
-
constructor(options?: object, message?: string, error?: any);
|
|
17
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Extended Error object for media errors
|
|
3
|
-
*/
|
|
4
|
-
export default class MediaError extends Error {
|
|
5
|
-
code: any;
|
|
6
|
-
error: any;
|
|
7
|
-
sdkMessage: any;
|
|
8
|
-
/**
|
|
9
|
-
*
|
|
10
|
-
* @constructor
|
|
11
|
-
* @param {String} [message]
|
|
12
|
-
* @param {Object} [error]
|
|
13
|
-
*/
|
|
14
|
-
constructor(message?: string, error?: any);
|
|
15
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Extended Error object for general parameter errors
|
|
3
|
-
*/
|
|
4
|
-
export default class ParameterError extends Error {
|
|
5
|
-
sdkMessage: string;
|
|
6
|
-
error: null;
|
|
7
|
-
code: number;
|
|
8
|
-
/**
|
|
9
|
-
*
|
|
10
|
-
* @constructor
|
|
11
|
-
* @param {String} [message]
|
|
12
|
-
* @param {Object} [error]
|
|
13
|
-
*/
|
|
14
|
-
constructor(message?: string, error?: any);
|
|
15
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Extended Error object to signify password related errors
|
|
3
|
-
*/
|
|
4
|
-
export default class PasswordError extends Error {
|
|
5
|
-
code: any;
|
|
6
|
-
error: any;
|
|
7
|
-
sdkMessage: any;
|
|
8
|
-
/**
|
|
9
|
-
*
|
|
10
|
-
* @constructor
|
|
11
|
-
* @param {String} [message]
|
|
12
|
-
* @param {Object} [error]
|
|
13
|
-
*/
|
|
14
|
-
constructor(message?: string, error?: any);
|
|
15
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Extended Error object for general parameter errors
|
|
3
|
-
*/
|
|
4
|
-
export default class PermissionError extends Error {
|
|
5
|
-
code: any;
|
|
6
|
-
error: any;
|
|
7
|
-
sdkMessage: any;
|
|
8
|
-
/**
|
|
9
|
-
* @constructor
|
|
10
|
-
* @param {String} [message]
|
|
11
|
-
* @param {Object} [error]
|
|
12
|
-
*/
|
|
13
|
-
constructor(message?: string, error?: any);
|
|
14
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Extended Error object to signify the intent to join for unclaimed PMR scenarios
|
|
3
|
-
*/
|
|
4
|
-
export default class ReconnectionError extends Error {
|
|
5
|
-
code: any;
|
|
6
|
-
error: any;
|
|
7
|
-
sdkMessage: any;
|
|
8
|
-
/**
|
|
9
|
-
*
|
|
10
|
-
* @constructor
|
|
11
|
-
* @param {String} [message]
|
|
12
|
-
* @param {Object} [error]
|
|
13
|
-
*/
|
|
14
|
-
constructor(message?: string, error?: any);
|
|
15
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Extended Error object for Stats Errors
|
|
3
|
-
*/
|
|
4
|
-
export default class StatsError extends Error {
|
|
5
|
-
code: any;
|
|
6
|
-
error: any;
|
|
7
|
-
sdkMessage: any;
|
|
8
|
-
/**
|
|
9
|
-
*
|
|
10
|
-
* @constructor
|
|
11
|
-
* @param {String} [message]
|
|
12
|
-
* @param {Object} [error]
|
|
13
|
-
*/
|
|
14
|
-
constructor(message?: string, error?: any);
|
|
15
|
-
}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import WebexMeetingsError from './webex-meetings-error';
|
|
2
|
-
/**
|
|
3
|
-
* Create a {@link WebexMeetingsError} for a given code and message.
|
|
4
|
-
* @private
|
|
5
|
-
* @param {number} [code] - Error code
|
|
6
|
-
* @param {string} [message] - Error message
|
|
7
|
-
* @returns {WebexMeetingsError}
|
|
8
|
-
*/
|
|
9
|
-
export declare function createMeetingsError(code?: number, message?: string): any;
|
|
10
|
-
/**
|
|
11
|
-
* @class MeetingNotActiveError
|
|
12
|
-
* @classdesc Raised whenever Meeting has already ended and user tries to do a action.
|
|
13
|
-
* @extends WebexMeetingsError
|
|
14
|
-
* @property {number} code - 30101
|
|
15
|
-
* @property {string} message - 'Meeting has already Ended or not Active'
|
|
16
|
-
*/
|
|
17
|
-
declare class MeetingNotActiveError extends WebexMeetingsError {
|
|
18
|
-
static CODE: number;
|
|
19
|
-
constructor();
|
|
20
|
-
}
|
|
21
|
-
export { MeetingNotActiveError };
|
|
22
|
-
/**
|
|
23
|
-
* @class UserNotJoinedError
|
|
24
|
-
* @classdesc Raised whenever the user has already left the meeting and user tries to do a action.
|
|
25
|
-
* @extends WebexMeetingsError
|
|
26
|
-
* @property {number} code - 30102
|
|
27
|
-
* @property {string} message - 'User has already left the meeting'
|
|
28
|
-
*/
|
|
29
|
-
declare class UserNotJoinedError extends WebexMeetingsError {
|
|
30
|
-
static CODE: number;
|
|
31
|
-
constructor();
|
|
32
|
-
}
|
|
33
|
-
export { UserNotJoinedError };
|
|
34
|
-
/**
|
|
35
|
-
* @class NoMediaEstablishedYetError
|
|
36
|
-
* @classdesc Raised whenever the user has not established media yet.
|
|
37
|
-
* @extends WebexMeetingsError
|
|
38
|
-
* @property {number} code - 30103
|
|
39
|
-
* @property {string} message - 'User has not established media yet'
|
|
40
|
-
*/
|
|
41
|
-
declare class NoMediaEstablishedYetError extends WebexMeetingsError {
|
|
42
|
-
static CODE: number;
|
|
43
|
-
constructor();
|
|
44
|
-
}
|
|
45
|
-
export { NoMediaEstablishedYetError };
|
|
46
|
-
/**
|
|
47
|
-
* @class UserInLobbyError
|
|
48
|
-
* @classdesc Raised whenever the user is in lobby and not joined yet.
|
|
49
|
-
* @extends WebexMeetingsError
|
|
50
|
-
* @property {number} code - 30104
|
|
51
|
-
* @property {string} message - 'user is still in the lobby or not joined'
|
|
52
|
-
*/
|
|
53
|
-
declare class UserInLobbyError extends WebexMeetingsError {
|
|
54
|
-
static CODE: number;
|
|
55
|
-
constructor();
|
|
56
|
-
}
|
|
57
|
-
export { UserInLobbyError };
|
|
58
|
-
/**
|
|
59
|
-
* @class InvalidSdpError
|
|
60
|
-
* @classdesc Raised whenever SDP generated via browser is invalid.
|
|
61
|
-
* @extends WebexMeetingsError
|
|
62
|
-
* @property {number} code - 30201
|
|
63
|
-
* @property {string} message - 'user is still in the lobby or not joined'
|
|
64
|
-
*/
|
|
65
|
-
declare class InvalidSdpError extends WebexMeetingsError {
|
|
66
|
-
static CODE: number;
|
|
67
|
-
constructor(message: any);
|
|
68
|
-
}
|
|
69
|
-
export { InvalidSdpError };
|
|
70
|
-
/**
|
|
71
|
-
* @class IceGatheringFailed
|
|
72
|
-
* @classdesc Raised whenever ice gathering fails.
|
|
73
|
-
* @extends WebexMeetingsError
|
|
74
|
-
* @property {number} code - 30202
|
|
75
|
-
* @property {string} message - 'user failed ice gathering check network/firewall'
|
|
76
|
-
*/
|
|
77
|
-
declare class IceGatheringFailed extends WebexMeetingsError {
|
|
78
|
-
static CODE: number;
|
|
79
|
-
constructor();
|
|
80
|
-
}
|
|
81
|
-
export { IceGatheringFailed };
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @extends Error
|
|
3
|
-
* @property {number} code - Error code
|
|
4
|
-
*/
|
|
5
|
-
export default class WebexMeetingsError extends Error {
|
|
6
|
-
code: any;
|
|
7
|
-
/**
|
|
8
|
-
* Creates a new {@link WebexMeetingsError}
|
|
9
|
-
* @param {number} code - Error code
|
|
10
|
-
* @param {string} [message] - Error message
|
|
11
|
-
* @param {string} [fileName] - Name of the script file where error was generated
|
|
12
|
-
* @param {number} [lineNumber] - Line number of the script file where error was generated
|
|
13
|
-
*/
|
|
14
|
-
constructor(code: number, ...args: any[]);
|
|
15
|
-
/**
|
|
16
|
-
* Returns human readable string describing the error.
|
|
17
|
-
* @returns {string}
|
|
18
|
-
*/
|
|
19
|
-
toString(): string;
|
|
20
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import ChildEmitter from 'events';
|
|
3
|
-
/**
|
|
4
|
-
* Events
|
|
5
|
-
* plugin-meetings local
|
|
6
|
-
* Used to emit events internally between modules specific to an object
|
|
7
|
-
*/
|
|
8
|
-
export default class EventsScope extends ChildEmitter {
|
|
9
|
-
/**
|
|
10
|
-
* Emits and logs an event
|
|
11
|
-
* @param {*} scope
|
|
12
|
-
* @param {*} eventName
|
|
13
|
-
* @param {*} args
|
|
14
|
-
* @returns {Function}
|
|
15
|
-
*/
|
|
16
|
-
emit(scope: any, eventName: any, args: any): boolean;
|
|
17
|
-
}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import EventEmitter from 'events';
|
|
3
|
-
/**
|
|
4
|
-
* Events
|
|
5
|
-
* plugin-meetings global
|
|
6
|
-
* Used to emit events internally between modules
|
|
7
|
-
*/
|
|
8
|
-
declare class Events extends EventEmitter {
|
|
9
|
-
emit(scope: any, eventName: any, args: any): boolean;
|
|
10
|
-
}
|
|
11
|
-
declare const _default: Events;
|
|
12
|
-
export default _default;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @class LogsRequest
|
|
3
|
-
*/
|
|
4
|
-
export default class LogsRequest {
|
|
5
|
-
webex: any;
|
|
6
|
-
/**
|
|
7
|
-
*
|
|
8
|
-
* @param {Object} options
|
|
9
|
-
* @param {Object} options.webex Webex SDK instance
|
|
10
|
-
* @param {ClientMetrics} metrics
|
|
11
|
-
*/
|
|
12
|
-
constructor(options: {
|
|
13
|
-
webex: object;
|
|
14
|
-
});
|
|
15
|
-
/**
|
|
16
|
-
* Uploads logs to the support server
|
|
17
|
-
*
|
|
18
|
-
* @param {Object} [options={}]
|
|
19
|
-
* @param {String} [options.feedbackId=uuid.v4] ID used for tracking
|
|
20
|
-
* @param {String} [options.locusId]
|
|
21
|
-
* @param {String} [options.correlationId]
|
|
22
|
-
* @param {String} [options.callStart] Call Start Time
|
|
23
|
-
* @param {String} [options.meetingId] webex meeting ID
|
|
24
|
-
* @returns {Promise.<String>} Feedback ID
|
|
25
|
-
* @memberof LogsRequest
|
|
26
|
-
*/
|
|
27
|
-
uploadLogs(options?: {
|
|
28
|
-
feedbackId?: string;
|
|
29
|
-
locusId?: string;
|
|
30
|
-
correlationId?: string;
|
|
31
|
-
callStart?: string;
|
|
32
|
-
meetingId?: string;
|
|
33
|
-
}): Promise<any>;
|
|
34
|
-
}
|