@webex/plugin-meetings 2.59.1-next.0 → 2.59.2

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 (134) hide show
  1. package/dist/common/browser-detection.d.ts +9 -0
  2. package/dist/common/browser-detection.js +2 -2
  3. package/dist/common/browser-detection.js.map +1 -1
  4. package/dist/common/collection.d.ts +48 -0
  5. package/dist/common/collection.js +2 -2
  6. package/dist/common/collection.js.map +1 -1
  7. package/dist/common/config.d.ts +2 -0
  8. package/dist/common/errors/captcha-error.d.ts +15 -0
  9. package/dist/common/errors/intent-to-join.d.ts +16 -0
  10. package/dist/common/errors/join-meeting.d.ts +17 -0
  11. package/dist/common/errors/media.d.ts +15 -0
  12. package/dist/common/errors/parameter.d.ts +15 -0
  13. package/dist/common/errors/password-error.d.ts +15 -0
  14. package/dist/common/errors/permission.d.ts +14 -0
  15. package/dist/common/errors/reconnection-in-progress.d.ts +9 -0
  16. package/dist/common/errors/reconnection.d.ts +15 -0
  17. package/dist/common/errors/stats.d.ts +15 -0
  18. package/dist/common/errors/webex-errors.d.ts +81 -0
  19. package/dist/common/errors/webex-meetings-error.d.ts +20 -0
  20. package/dist/common/events/events-scope.d.ts +17 -0
  21. package/dist/common/events/events.d.ts +12 -0
  22. package/dist/common/events/trigger-proxy.d.ts +2 -0
  23. package/dist/common/events/util.d.ts +2 -0
  24. package/dist/common/logs/logger-config.d.ts +2 -0
  25. package/dist/common/logs/logger-proxy.d.ts +2 -0
  26. package/dist/common/logs/request.d.ts +34 -0
  27. package/dist/common/queue.d.ts +32 -0
  28. package/dist/config.d.ts +73 -0
  29. package/dist/constants.d.ts +924 -0
  30. package/dist/controls-options-manager/constants.d.ts +4 -0
  31. package/dist/controls-options-manager/enums.d.ts +5 -0
  32. package/dist/controls-options-manager/index.d.ts +120 -0
  33. package/dist/controls-options-manager/index.js +2 -2
  34. package/dist/controls-options-manager/index.js.map +1 -1
  35. package/dist/controls-options-manager/util.d.ts +7 -0
  36. package/dist/index.d.ts +4 -0
  37. package/dist/locus-info/controlsUtils.d.ts +2 -0
  38. package/dist/locus-info/controlsUtils.js +6 -6
  39. package/dist/locus-info/controlsUtils.js.map +1 -1
  40. package/dist/locus-info/embeddedAppsUtils.d.ts +2 -0
  41. package/dist/locus-info/fullState.d.ts +2 -0
  42. package/dist/locus-info/hostUtils.d.ts +2 -0
  43. package/dist/locus-info/index.d.ts +269 -0
  44. package/dist/locus-info/index.js +18 -18
  45. package/dist/locus-info/index.js.map +1 -1
  46. package/dist/locus-info/infoUtils.d.ts +2 -0
  47. package/dist/locus-info/mediaSharesUtils.d.ts +2 -0
  48. package/dist/locus-info/parser.d.ts +212 -0
  49. package/dist/locus-info/parser.js +2 -2
  50. package/dist/locus-info/parser.js.map +1 -1
  51. package/dist/locus-info/selfUtils.d.ts +2 -0
  52. package/dist/media/index.d.ts +32 -0
  53. package/dist/media/properties.d.ts +108 -0
  54. package/dist/media/util.d.ts +2 -0
  55. package/dist/mediaQualityMetrics/config.d.ts +233 -0
  56. package/dist/meeting/effectsState.d.ts +42 -0
  57. package/dist/meeting/in-meeting-actions.d.ts +79 -0
  58. package/dist/meeting/index.d.ts +1621 -0
  59. package/dist/meeting/index.js +19 -13
  60. package/dist/meeting/index.js.map +1 -1
  61. package/dist/meeting/muteState.d.ts +116 -0
  62. package/dist/meeting/request.d.ts +255 -0
  63. package/dist/meeting/request.js +2 -2
  64. package/dist/meeting/request.js.map +1 -1
  65. package/dist/meeting/state.d.ts +9 -0
  66. package/dist/meeting/util.d.ts +2 -0
  67. package/dist/meeting/util.js +4 -4
  68. package/dist/meeting/util.js.map +1 -1
  69. package/dist/meeting-info/collection.d.ts +20 -0
  70. package/dist/meeting-info/collection.js +2 -2
  71. package/dist/meeting-info/collection.js.map +1 -1
  72. package/dist/meeting-info/index.d.ts +57 -0
  73. package/dist/meeting-info/meeting-info-v2.d.ts +93 -0
  74. package/dist/meeting-info/request.d.ts +22 -0
  75. package/dist/meeting-info/util.d.ts +2 -0
  76. package/dist/meeting-info/utilv2.d.ts +2 -0
  77. package/dist/meetings/collection.d.ts +23 -0
  78. package/dist/meetings/collection.js +2 -2
  79. package/dist/meetings/collection.js.map +1 -1
  80. package/dist/meetings/index.d.ts +296 -0
  81. package/dist/meetings/request.d.ts +27 -0
  82. package/dist/meetings/util.d.ts +18 -0
  83. package/dist/member/index.d.ts +147 -0
  84. package/dist/member/member.types.d.ts +11 -0
  85. package/dist/member/util.d.ts +2 -0
  86. package/dist/members/collection.d.ts +24 -0
  87. package/dist/members/index.d.ts +298 -0
  88. package/dist/members/index.js +2 -2
  89. package/dist/members/index.js.map +1 -1
  90. package/dist/members/request.d.ts +50 -0
  91. package/dist/members/util.d.ts +2 -0
  92. package/dist/metrics/config.d.ts +169 -0
  93. package/dist/metrics/constants.d.ts +57 -0
  94. package/dist/metrics/index.d.ts +152 -0
  95. package/dist/metrics/index.js +2 -2
  96. package/dist/metrics/index.js.map +1 -1
  97. package/dist/networkQualityMonitor/index.d.ts +70 -0
  98. package/dist/peer-connection-manager/index.d.ts +6 -0
  99. package/dist/peer-connection-manager/util.d.ts +6 -0
  100. package/dist/personal-meeting-room/index.d.ts +47 -0
  101. package/dist/personal-meeting-room/request.d.ts +14 -0
  102. package/dist/personal-meeting-room/util.d.ts +2 -0
  103. package/dist/reachability/index.d.ts +139 -0
  104. package/dist/reachability/index.js +2 -9
  105. package/dist/reachability/index.js.map +1 -1
  106. package/dist/reachability/request.d.ts +35 -0
  107. package/dist/reactions/reactions.d.ts +4 -0
  108. package/dist/reactions/reactions.type.d.ts +32 -0
  109. package/dist/reconnection-manager/index.d.ts +112 -0
  110. package/dist/recording-controller/enums.d.ts +7 -0
  111. package/dist/recording-controller/index.d.ts +193 -0
  112. package/dist/recording-controller/util.d.ts +13 -0
  113. package/dist/roap/collection.d.ts +10 -0
  114. package/dist/roap/handler.d.ts +47 -0
  115. package/dist/roap/index.d.ts +116 -0
  116. package/dist/roap/request.d.ts +35 -0
  117. package/dist/roap/state.d.ts +9 -0
  118. package/dist/roap/turnDiscovery.d.ts +67 -0
  119. package/dist/roap/util.d.ts +2 -0
  120. package/dist/statsAnalyzer/global.d.ts +116 -0
  121. package/dist/statsAnalyzer/global.js +0 -10
  122. package/dist/statsAnalyzer/global.js.map +1 -1
  123. package/dist/statsAnalyzer/index.d.ts +191 -0
  124. package/dist/statsAnalyzer/index.js +13 -11
  125. package/dist/statsAnalyzer/index.js.map +1 -1
  126. package/dist/statsAnalyzer/mqaUtil.d.ts +22 -0
  127. package/dist/statsAnalyzer/mqaUtil.js +15 -15
  128. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  129. package/dist/transcription/index.d.ts +64 -0
  130. package/package.json +20 -21
  131. package/src/meeting/index.ts +6 -0
  132. package/src/statsAnalyzer/global.ts +0 -10
  133. package/src/statsAnalyzer/index.ts +11 -12
  134. package/test/unit/spec/stats-analyzer/index.js +68 -0
@@ -0,0 +1,191 @@
1
+ /// <reference types="node" />
2
+ import EventsScope from '../common/events/events-scope';
3
+ export declare const EVENTS: {
4
+ MEDIA_QUALITY: string;
5
+ LOCAL_MEDIA_STARTED: string;
6
+ LOCAL_MEDIA_STOPPED: string;
7
+ REMOTE_MEDIA_STARTED: string;
8
+ REMOTE_MEDIA_STOPPED: string;
9
+ };
10
+ /**
11
+ * Stats Analyzer class that will emit events based on detected quality
12
+ *
13
+ * @export
14
+ * @class StatsAnalyzer
15
+ * @extends {EventsScope}
16
+ */
17
+ export declare class StatsAnalyzer extends EventsScope {
18
+ config: any;
19
+ correlationId: any;
20
+ lastEmittedStartStopEvent: any;
21
+ lastMqaDataSent: any;
22
+ lastStatsResults: any;
23
+ localMQEStats: any;
24
+ meetingMediaStatus: any;
25
+ mqaInterval: NodeJS.Timeout;
26
+ mqaSentCount: any;
27
+ networkQualityMonitor: any;
28
+ peerConnection: any;
29
+ statsInterval: NodeJS.Timeout;
30
+ statsResults: any;
31
+ statsStarted: any;
32
+ /**
33
+ * Creates a new instance of StatsAnalyzer
34
+ * @constructor
35
+ * @public
36
+ * @param {Object} config SDK Configuration Object
37
+ * @param {Object} networkQualityMonitor class for assessing network characteristics (jitter, packetLoss, latency)
38
+ * @param {Object} statsResults Default properties for stats
39
+ */
40
+ constructor(config: any, networkQualityMonitor?: object, statsResults?: object);
41
+ populateResults(lastMqa: any): void;
42
+ resetStatsResults(): void;
43
+ /**
44
+ * sets mediaStatus status for analyzing metrics
45
+ *
46
+ * @public
47
+ * @param {Object} status for the audio and video
48
+ * @memberof StatsAnalyzer
49
+ * @returns {void}
50
+ */
51
+ updateMediaStatus(status: object): void;
52
+ /**
53
+ * captures MQA data from peerconnection
54
+ *
55
+ * @public
56
+ * @memberof StatsAnalyzer
57
+ * @returns {void}
58
+ */
59
+ sendMqaData(): void;
60
+ /**
61
+ * updated the peerconnection when changed
62
+ *
63
+ * @private
64
+ * @memberof updatePeerconnection
65
+ * @param {PeerConnection} peerConnection
66
+ * @returns {void}
67
+ */
68
+ updatePeerconnection(peerConnection: any): void;
69
+ /**
70
+ * Starts the stats analyzer on interval
71
+ *
72
+ * @public
73
+ * @memberof StatsAnalyzer
74
+ * @param {PeerConnection} peerConnection
75
+ * @returns {Promise}
76
+ */
77
+ startAnalyzer(peerConnection: any): Promise<void>;
78
+ /**
79
+ * Cleans up the analyzer when done
80
+ *
81
+ * @public
82
+ * @memberof StatsAnalyzer
83
+ * @returns {void}
84
+ */
85
+ stopAnalyzer(): Promise<void>;
86
+ /**
87
+ * Parse a single result of get stats
88
+ *
89
+ * @private
90
+ * @param {*} getStatsResult
91
+ * @param {String} type
92
+ * @param {boolean} isSender
93
+ * @returns {void}
94
+ * @memberof StatsAnalyzer
95
+ */
96
+ private parseGetStatsResult;
97
+ /**
98
+ * Filters the get stats results for types
99
+ * @private
100
+ * @param {Array} getStatsResults
101
+ * @param {String} type
102
+ * @param {boolean} isSender
103
+ * @returns {void}
104
+ */
105
+ private filterAndParseGetStatsResults;
106
+ /**
107
+ * parse the audio
108
+ * @param {String} result
109
+ * @param {boolean} type
110
+ * @returns {void}
111
+ */
112
+ parseAudioSource(result: any, type: any): void;
113
+ /**
114
+ * emits started/stopped events for local/remote media by checking
115
+ * if given values are increasing or not. The previousValue, currentValue
116
+ * params can be any numerical value like number of receive packets or
117
+ * decoded frames, etc.
118
+ *
119
+ * @private
120
+ * @param {string} mediaType
121
+ * @param {number} previousValue - value to compare
122
+ * @param {number} currentValue - value to compare (must be same type of value as previousValue)
123
+ * @param {boolean} isLocal - true if stats are for local media being sent out, false for remote media being received
124
+ * @memberof StatsAnalyzer
125
+ * @returns {void}
126
+ */
127
+ emitStartStopEvents: (mediaType: string, previousValue: number, currentValue: number, isLocal: boolean) => void;
128
+ /**
129
+ * compares current and previous stats to check if packets are not sent
130
+ *
131
+ * @private
132
+ * @memberof StatsAnalyzer
133
+ * @returns {void}
134
+ */
135
+ private compareLastStatsResult;
136
+ /**
137
+ * Does a `getStats` on all the transceivers and parses the results
138
+ *
139
+ * @private
140
+ * @memberof StatsAnalyzer
141
+ * @returns {Promise}
142
+ */
143
+ private getStatsAndParse;
144
+ /**
145
+ * Processes OutboundRTP stats result and stores
146
+ * @private
147
+ * @param {*} result
148
+ * @param {*} type
149
+ * @returns {void}
150
+ */
151
+ private processOutboundRTPResult;
152
+ /**
153
+ * Processes InboundRTP stats result and stores
154
+ * @private
155
+ * @param {*} result
156
+ * @param {*} type
157
+ * @returns {void}
158
+ */
159
+ private processInboundRTPResult;
160
+ /**
161
+ * Processes remote and local candidate result and stores
162
+ * @private
163
+ * @param {*} result
164
+ * @param {*} type
165
+ * @param {boolean} isSender
166
+ * @param {boolean} isRemote
167
+ *
168
+ * @returns {void}
169
+ */
170
+ parseCandidate: (result: any, type: any, isSender: boolean, isRemote: boolean) => void;
171
+ /**
172
+ * Process Track results
173
+ *
174
+ * @private
175
+ * @param {*} result
176
+ * @param {*} mediaType
177
+ * @param {*} sendrecvType
178
+ * @returns {void}
179
+ * @memberof StatsAnalyzer
180
+ */
181
+ private processTrackResult;
182
+ /**
183
+ *
184
+ * @private
185
+ * @param {*} result
186
+ * @param {*} type
187
+ * @returns {void}
188
+ * @memberof StatsAnalyzer
189
+ */
190
+ private compareSentAndReceived;
191
+ }
@@ -16,7 +16,7 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/
16
16
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
17
17
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
18
18
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
19
- var _lodash = require("lodash");
19
+ var _cloneDeep2 = _interopRequireDefault(require("lodash/cloneDeep"));
20
20
  var _eventsScope = _interopRequireDefault(require("../common/events/events-scope"));
21
21
  var _constants = require("../constants");
22
22
  var _config = _interopRequireDefault(require("../mediaQualityMetrics/config"));
@@ -412,7 +412,7 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
412
412
  _config.default.intervals[0].intervalNumber = this.mqaSentCount;
413
413
 
414
414
  // DO Deep copy, for some reason it takes the reference all the time rather then old value set
415
- this.lastMqaDataSent = (0, _lodash.cloneDeep)(this.statsResults);
415
+ this.lastMqaDataSent = (0, _cloneDeep2.default)(this.statsResults);
416
416
  this.populateResults(_config.default.intervals[0]);
417
417
  this.resetStatsResults();
418
418
  this.emit({
@@ -520,9 +520,6 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
520
520
  case 'inbound-rtp':
521
521
  this.processInboundRTPResult(getStatsResult, type);
522
522
  break;
523
- case 'track':
524
- this.processTrackResult(getStatsResult, type);
525
- break;
526
523
  case 'remote-inbound-rtp':
527
524
  case 'remote-outbound-rtp':
528
525
  // @ts-ignore
@@ -761,6 +758,7 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
761
758
  value: function processOutboundRTPResult(result, type) {
762
759
  var mediaType = type || _constants.STATS.AUDIO_CORRELATE;
763
760
  var sendrecvType = _constants.STATS.SEND_DIRECTION;
761
+ this.processTrackResult(result, type, sendrecvType);
764
762
  if (result.bytesSent) {
765
763
  var kilobytes = 0;
766
764
  if (!this.statsResults.internal[mediaType][sendrecvType].prevBytesSent) {
@@ -817,6 +815,7 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
817
815
  value: function processInboundRTPResult(result, type) {
818
816
  var mediaType = type || _constants.STATS.AUDIO_CORRELATE;
819
817
  var sendrecvType = _constants.STATS.RECEIVE_DIRECTION;
818
+ this.processTrackResult(result, type, sendrecvType);
820
819
  if (result.bytesReceived) {
821
820
  var kilobytes = 0;
822
821
  if (!this.statsResults.internal[mediaType][sendrecvType].prevBytesReceived) {
@@ -896,25 +895,28 @@ var StatsAnalyzer = /*#__PURE__*/function (_EventsScope) {
896
895
  * @private
897
896
  * @param {*} result
898
897
  * @param {*} mediaType
898
+ * @param {*} sendrecvType
899
899
  * @returns {void}
900
900
  * @memberof StatsAnalyzer
901
901
  */
902
- function processTrackResult(result, mediaType) {
903
- if (!result || result.type !== 'track') {
902
+ function processTrackResult(result, mediaType, sendrecvType) {
903
+ if (!result || mediaType === _constants.STATS.AUDIO_CORRELATE) {
904
+ return;
905
+ }
906
+ if (result.type !== 'inbound-rtp' && result.type !== 'outbound-rtp') {
904
907
  return;
905
908
  }
906
- if (result.type !== 'track') return;
907
- var sendrecvType = result.remoteSource === true ? _constants.STATS.RECEIVE_DIRECTION : _constants.STATS.SEND_DIRECTION;
908
909
  if (result.frameWidth && result.frameHeight) {
909
910
  this.statsResults.resolutions[mediaType][sendrecvType].width = result.frameWidth;
910
911
  this.statsResults.resolutions[mediaType][sendrecvType].height = result.frameHeight;
911
- this.statsResults.resolutions[mediaType][sendrecvType].framesSent = result.framesSent;
912
- this.statsResults.resolutions[mediaType][sendrecvType].hugeFramesSent = result.hugeFramesSent;
913
912
  }
914
913
  if (sendrecvType === _constants.STATS.RECEIVE_DIRECTION) {
915
914
  this.statsResults.resolutions[mediaType][sendrecvType].framesReceived = result.framesReceived;
916
915
  this.statsResults.resolutions[mediaType][sendrecvType].framesDecoded = result.framesDecoded;
917
916
  this.statsResults.resolutions[mediaType][sendrecvType].framesDropped = result.framesDropped;
917
+ } else if (sendrecvType === _constants.STATS.SEND_DIRECTION) {
918
+ this.statsResults.resolutions[mediaType][sendrecvType].framesSent = result.framesSent;
919
+ this.statsResults.resolutions[mediaType][sendrecvType].hugeFramesSent = result.hugeFramesSent;
918
920
  }
919
921
  if (result.trackIdentifier && mediaType !== _constants.STATS.AUDIO_CORRELATE) {
920
922
  this.statsResults.resolutions[mediaType][sendrecvType].trackIdentifier = result.trackIdentifier;