@webex/plugin-meetings 3.1.0-next.9 → 3.2.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.
Files changed (181) hide show
  1. package/dist/annotation/annotation.types.d.ts +42 -0
  2. package/dist/annotation/constants.d.ts +31 -0
  3. package/dist/annotation/index.d.ts +117 -0
  4. package/dist/breakouts/breakout.d.ts +8 -0
  5. package/dist/breakouts/breakout.js +1 -1
  6. package/dist/breakouts/collection.d.ts +5 -0
  7. package/dist/breakouts/edit-lock-error.d.ts +15 -0
  8. package/dist/breakouts/events.d.ts +8 -0
  9. package/dist/breakouts/index.d.ts +5 -0
  10. package/dist/breakouts/index.js +1 -1
  11. package/dist/breakouts/request.d.ts +22 -0
  12. package/dist/breakouts/utils.d.ts +15 -0
  13. package/dist/common/browser-detection.d.ts +9 -0
  14. package/dist/common/collection.d.ts +48 -0
  15. package/dist/common/config.d.ts +2 -0
  16. package/dist/common/errors/captcha-error.d.ts +15 -0
  17. package/dist/common/errors/intent-to-join.d.ts +16 -0
  18. package/dist/common/errors/join-meeting.d.ts +17 -0
  19. package/dist/common/errors/media.d.ts +15 -0
  20. package/dist/common/errors/no-meeting-info.d.ts +14 -0
  21. package/dist/common/errors/parameter.d.ts +15 -0
  22. package/dist/common/errors/password-error.d.ts +15 -0
  23. package/dist/common/errors/permission.d.ts +14 -0
  24. package/dist/common/errors/reclaim-host-role-errors.d.ts +60 -0
  25. package/dist/common/errors/reconnection-in-progress.d.ts +9 -0
  26. package/dist/common/errors/reconnection-in-progress.js +34 -0
  27. package/dist/common/errors/reconnection-in-progress.js.map +1 -0
  28. package/dist/common/errors/reconnection.d.ts +15 -0
  29. package/dist/common/errors/stats.d.ts +15 -0
  30. package/dist/common/errors/webex-errors.d.ts +93 -0
  31. package/dist/common/errors/webex-meetings-error.d.ts +20 -0
  32. package/dist/common/events/events-scope.d.ts +17 -0
  33. package/dist/common/events/events.d.ts +12 -0
  34. package/dist/common/events/trigger-proxy.d.ts +2 -0
  35. package/dist/common/events/util.d.ts +2 -0
  36. package/dist/common/logs/logger-config.d.ts +2 -0
  37. package/dist/common/logs/logger-proxy.d.ts +2 -0
  38. package/dist/common/logs/request.d.ts +36 -0
  39. package/dist/common/queue.d.ts +34 -0
  40. package/dist/config.d.ts +73 -0
  41. package/dist/constants.d.ts +1088 -0
  42. package/dist/constants.js +6 -3
  43. package/dist/constants.js.map +1 -1
  44. package/dist/controls-options-manager/constants.d.ts +4 -0
  45. package/dist/controls-options-manager/enums.d.ts +15 -0
  46. package/dist/controls-options-manager/index.d.ts +136 -0
  47. package/dist/controls-options-manager/types.d.ts +43 -0
  48. package/dist/controls-options-manager/util.d.ts +1 -0
  49. package/dist/index.d.ts +7 -0
  50. package/dist/interceptors/index.d.ts +2 -0
  51. package/dist/interceptors/locusRetry.d.ts +27 -0
  52. package/dist/interpretation/collection.d.ts +5 -0
  53. package/dist/interpretation/index.d.ts +5 -0
  54. package/dist/interpretation/index.js +1 -1
  55. package/dist/interpretation/siLanguage.d.ts +5 -0
  56. package/dist/interpretation/siLanguage.js +1 -1
  57. package/dist/locus-info/controlsUtils.d.ts +2 -0
  58. package/dist/locus-info/embeddedAppsUtils.d.ts +2 -0
  59. package/dist/locus-info/fullState.d.ts +2 -0
  60. package/dist/locus-info/hostUtils.d.ts +2 -0
  61. package/dist/locus-info/index.d.ts +322 -0
  62. package/dist/locus-info/infoUtils.d.ts +2 -0
  63. package/dist/locus-info/mediaSharesUtils.d.ts +2 -0
  64. package/dist/locus-info/parser.d.ts +272 -0
  65. package/dist/locus-info/selfUtils.d.ts +2 -0
  66. package/dist/media/MediaConnectionAwaiter.d.ts +61 -0
  67. package/dist/media/index.d.ts +34 -0
  68. package/dist/media/properties.d.ts +93 -0
  69. package/dist/media/util.d.ts +2 -0
  70. package/dist/mediaQualityMetrics/config.d.ts +241 -0
  71. package/dist/mediaQualityMetrics/config.js +10 -10
  72. package/dist/mediaQualityMetrics/config.js.map +1 -1
  73. package/dist/meeting/in-meeting-actions.d.ts +167 -0
  74. package/dist/meeting/index.d.ts +1825 -0
  75. package/dist/meeting/index.js +112 -64
  76. package/dist/meeting/index.js.map +1 -1
  77. package/dist/meeting/locusMediaRequest.d.ts +74 -0
  78. package/dist/meeting/locusMediaRequest.js +27 -0
  79. package/dist/meeting/locusMediaRequest.js.map +1 -1
  80. package/dist/meeting/muteState.d.ts +178 -0
  81. package/dist/meeting/request.d.ts +295 -0
  82. package/dist/meeting/request.type.d.ts +11 -0
  83. package/dist/meeting/state.d.ts +9 -0
  84. package/dist/meeting/util.d.ts +119 -0
  85. package/dist/meeting/util.js +0 -16
  86. package/dist/meeting/util.js.map +1 -1
  87. package/dist/meeting/voicea-meeting.d.ts +16 -0
  88. package/dist/meeting/voicea-meeting.js +37 -49
  89. package/dist/meeting/voicea-meeting.js.map +1 -1
  90. package/dist/meeting-info/collection.d.ts +20 -0
  91. package/dist/meeting-info/index.d.ts +69 -0
  92. package/dist/meeting-info/meeting-info-v2.d.ts +123 -0
  93. package/dist/meeting-info/request.d.ts +22 -0
  94. package/dist/meeting-info/util.d.ts +2 -0
  95. package/dist/meeting-info/utilv2.d.ts +2 -0
  96. package/dist/meetings/collection.d.ts +40 -0
  97. package/dist/meetings/index.d.ts +398 -0
  98. package/dist/meetings/index.js +12 -28
  99. package/dist/meetings/index.js.map +1 -1
  100. package/dist/meetings/meetings.types.d.ts +4 -0
  101. package/dist/meetings/request.d.ts +27 -0
  102. package/dist/meetings/util.d.ts +18 -0
  103. package/dist/member/index.d.ts +160 -0
  104. package/dist/member/types.d.ts +32 -0
  105. package/dist/member/util.d.ts +2 -0
  106. package/dist/members/collection.d.ts +29 -0
  107. package/dist/members/index.d.ts +353 -0
  108. package/dist/members/request.d.ts +114 -0
  109. package/dist/members/types.d.ts +25 -0
  110. package/dist/members/util.d.ts +215 -0
  111. package/dist/metrics/constants.d.ts +70 -0
  112. package/dist/metrics/index.d.ts +45 -0
  113. package/dist/multistream/mediaRequestManager.d.ts +119 -0
  114. package/dist/multistream/receiveSlot.d.ts +68 -0
  115. package/dist/multistream/receiveSlotManager.d.ts +56 -0
  116. package/dist/multistream/remoteMedia.d.ts +72 -0
  117. package/dist/multistream/remoteMediaGroup.d.ts +49 -0
  118. package/dist/multistream/remoteMediaManager.d.ts +300 -0
  119. package/dist/multistream/sendSlotManager.d.ts +69 -0
  120. package/dist/networkQualityMonitor/index.d.ts +70 -0
  121. package/dist/personal-meeting-room/index.d.ts +47 -0
  122. package/dist/personal-meeting-room/request.d.ts +14 -0
  123. package/dist/personal-meeting-room/util.d.ts +2 -0
  124. package/dist/reachability/clusterReachability.d.ts +110 -0
  125. package/dist/reachability/index.d.ts +109 -0
  126. package/dist/reachability/index.js +88 -9
  127. package/dist/reachability/index.js.map +1 -1
  128. package/dist/reachability/request.d.ts +39 -0
  129. package/dist/reachability/util.d.ts +15 -0
  130. package/dist/reactions/constants.d.ts +3 -0
  131. package/dist/reactions/reactions.d.ts +4 -0
  132. package/dist/reactions/reactions.type.d.ts +52 -0
  133. package/dist/reconnection-manager/index.d.ts +136 -0
  134. package/dist/recording-controller/enums.d.ts +7 -0
  135. package/dist/recording-controller/index.d.ts +207 -0
  136. package/dist/recording-controller/util.d.ts +14 -0
  137. package/dist/roap/index.d.ts +86 -0
  138. package/dist/roap/request.d.ts +39 -0
  139. package/dist/roap/request.js +3 -27
  140. package/dist/roap/request.js.map +1 -1
  141. package/dist/roap/turnDiscovery.d.ts +155 -0
  142. package/dist/rtcMetrics/constants.d.ts +4 -0
  143. package/dist/rtcMetrics/index.d.ts +61 -0
  144. package/dist/statsAnalyzer/global.d.ts +36 -0
  145. package/dist/statsAnalyzer/index.d.ts +217 -0
  146. package/dist/statsAnalyzer/index.js +4 -2
  147. package/dist/statsAnalyzer/index.js.map +1 -1
  148. package/dist/statsAnalyzer/mqaUtil.d.ts +48 -0
  149. package/dist/statsAnalyzer/mqaUtil.js +14 -0
  150. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  151. package/dist/transcription/index.d.ts +64 -0
  152. package/dist/types/constants.d.ts +3 -1
  153. package/dist/types/mediaQualityMetrics/config.d.ts +8 -2
  154. package/dist/types/meeting/index.d.ts +10 -1
  155. package/dist/types/meeting/locusMediaRequest.d.ts +1 -0
  156. package/dist/types/meeting/voicea-meeting.d.ts +3 -2
  157. package/dist/types/meetings/index.d.ts +1 -16
  158. package/dist/types/reachability/index.d.ts +11 -0
  159. package/dist/webinar/collection.d.ts +16 -0
  160. package/dist/webinar/index.d.ts +5 -0
  161. package/dist/webinar/index.js +1 -1
  162. package/package.json +21 -21
  163. package/src/constants.ts +3 -2
  164. package/src/mediaQualityMetrics/config.ts +13 -7
  165. package/src/meeting/index.ts +73 -30
  166. package/src/meeting/locusMediaRequest.ts +31 -0
  167. package/src/meeting/util.ts +1 -16
  168. package/src/meeting/voicea-meeting.ts +44 -46
  169. package/src/meetings/index.ts +15 -27
  170. package/src/reachability/index.ts +60 -0
  171. package/src/roap/request.ts +1 -24
  172. package/src/statsAnalyzer/index.ts +6 -3
  173. package/src/statsAnalyzer/mqaUtil.ts +18 -0
  174. package/test/unit/spec/meeting/index.js +70 -33
  175. package/test/unit/spec/meeting/locusMediaRequest.ts +49 -0
  176. package/test/unit/spec/meeting/utils.js +0 -10
  177. package/test/unit/spec/meeting/voicea-meeting.ts +5 -14
  178. package/test/unit/spec/meetings/index.js +59 -17
  179. package/test/unit/spec/reachability/index.ts +266 -0
  180. package/test/unit/spec/roap/request.ts +0 -37
  181. package/test/unit/spec/stats-analyzer/index.js +89 -8
@@ -64,7 +64,7 @@ describe('plugin-meetings', () => {
64
64
  assert(calledSpy.calledOnce);
65
65
  });
66
66
 
67
- it('processOutboundRTPResult should create the correct stats results', () => {
67
+ it('processOutboundRTPResult should create the correct stats results for audio', () => {
68
68
  // establish the `statsResults` object.
69
69
  statsAnalyzer.parseGetStatsResult({type: 'none'}, 'audio-send', true);
70
70
 
@@ -80,8 +80,6 @@ describe('plugin-meetings', () => {
80
80
  nackCount: 1,
81
81
  packetsSent: 3600,
82
82
  remoteId: 'RTCRemoteInboundRtpAudioStream_123456789',
83
- retransmittedBytesSent: 100,
84
- retransmittedPacketsSent: 2,
85
83
  ssrc: 123456789,
86
84
  targetBitrate: 256000,
87
85
  timestamp: 1707341489336,
@@ -99,17 +97,54 @@ describe('plugin-meetings', () => {
99
97
  assert.strictEqual(statsAnalyzer.statsResults['audio-send'].send.totalNackCount, 1);
100
98
  assert.strictEqual(statsAnalyzer.statsResults['audio-send'].send.totalPacketsSent, 3600);
101
99
  assert.strictEqual(statsAnalyzer.statsResults['audio-send'].send.requestedBitrate, 10000);
100
+ });
101
+
102
+ it('processOutboundRTPResult should create the correct stats results for video', () => {
103
+ // establish the `statsResults` object for video.
104
+ statsAnalyzer.parseGetStatsResult({type: 'none'}, 'video-send', true);
105
+
106
+ statsAnalyzer.processOutboundRTPResult(
107
+ {
108
+ bytesSent: 250000,
109
+ codecId: 'RTCCodec_1_Outbound_107',
110
+ headerBytesSent: 50000,
111
+ id: 'RTCOutboundRTPVideoStream_987654321',
112
+ kind: 'video',
113
+ mediaSourceId: 'RTCVideoSource_3',
114
+ mediaType: 'video',
115
+ nackCount: 5,
116
+ packetsSent: 15000,
117
+ remoteId: 'RTCRemoteInboundRtpVideoStream_987654321',
118
+ retransmittedBytesSent: 500,
119
+ retransmittedPacketsSent: 10,
120
+ ssrc: 987654321,
121
+ targetBitrate: 1024000,
122
+ timestamp: 1707341489336,
123
+ trackId: 'RTCMediaStreamTrack_sender_3',
124
+ transportId: 'RTCTransport_0_2',
125
+ type: 'outbound-rtp',
126
+ requestedBitrate: 50000,
127
+ },
128
+ 'video-send',
129
+ true
130
+ );
131
+
132
+ assert.strictEqual(statsAnalyzer.statsResults['video-send'].send.headerBytesSent, 50000);
133
+ assert.strictEqual(statsAnalyzer.statsResults['video-send'].send.totalBytesSent, 250000);
134
+ assert.strictEqual(statsAnalyzer.statsResults['video-send'].send.totalNackCount, 5);
135
+ assert.strictEqual(statsAnalyzer.statsResults['video-send'].send.totalPacketsSent, 15000);
136
+ assert.strictEqual(statsAnalyzer.statsResults['video-send'].send.requestedBitrate, 50000);
102
137
  assert.strictEqual(
103
- statsAnalyzer.statsResults['audio-send'].send.retransmittedPacketsSent,
104
- 2
138
+ statsAnalyzer.statsResults['video-send'].send.totalRtxPacketsSent,
139
+ 10
105
140
  );
106
141
  assert.strictEqual(
107
- statsAnalyzer.statsResults['audio-send'].send.retransmittedBytesSent,
108
- 100
142
+ statsAnalyzer.statsResults['video-send'].send.totalRtxBytesSent,
143
+ 500
109
144
  );
110
145
  });
111
146
 
112
- it('processInboundRTPResult should create the correct stats results', () => {
147
+ it('processInboundRTPResult should create the correct stats results for audio', () => {
113
148
  // establish the `statsResults` object.
114
149
  statsAnalyzer.parseGetStatsResult({type: 'none'}, 'audio-recv-1', false);
115
150
 
@@ -176,6 +211,52 @@ describe('plugin-meetings', () => {
176
211
  );
177
212
  });
178
213
 
214
+ it('processInboundRTPResult should create the correct stats results for video', () => {
215
+ // establish the `statsResults` object for video.
216
+ statsAnalyzer.parseGetStatsResult({type: 'none'}, 'video-recv', false);
217
+
218
+ statsAnalyzer.processInboundRTPResult(
219
+ {
220
+ bytesReceived: 100000,
221
+ codecId: 'RTCCodec_6_Inbound_107',
222
+ fecPacketsDiscarded: 2,
223
+ fecPacketsReceived: 2,
224
+ headerBytesReceived: 10000,
225
+ id: 'RTCInboundRTPVideoStream_987654321',
226
+ jitter: 0.05,
227
+ jitterBufferDelay: 5000,
228
+ jitterBufferEmittedCount: 50000,
229
+ kind: 'video',
230
+ lastPacketReceivedTimestamp: 1707341488529,
231
+ mediaType: 'video',
232
+ packetsDiscarded: 5,
233
+ packetsLost: 10,
234
+ packetsReceived: 1500,
235
+ remoteId: 'RTCRemoteOutboundRTPVideoStream_987654321',
236
+ ssrc: 987654321,
237
+ timestamp: 1707341489419,
238
+ trackId: 'RTCMediaStreamTrack_receiver_3',
239
+ transportId: 'RTCTransport_0_2',
240
+ type: 'inbound-rtp',
241
+ requestedBitrate: 50000,
242
+ retransmittedBytesReceived: 500,
243
+ retransmittedPacketsReceived: 10,
244
+ },
245
+ 'video-recv',
246
+ false
247
+ );
248
+
249
+ assert.strictEqual(statsAnalyzer.statsResults['video-recv'].recv.totalPacketsReceived, 1500);
250
+ assert.strictEqual(statsAnalyzer.statsResults['video-recv'].recv.fecPacketsDiscarded, 2);
251
+ assert.strictEqual(statsAnalyzer.statsResults['video-recv'].recv.fecPacketsReceived, 2);
252
+ assert.strictEqual(statsAnalyzer.statsResults['video-recv'].recv.totalBytesReceived, 100000);
253
+ assert.strictEqual(statsAnalyzer.statsResults['video-recv'].recv.requestedBitrate, 50000);
254
+ assert.strictEqual(statsAnalyzer.statsResults['video-recv'].recv.headerBytesReceived, 10000);
255
+ assert.strictEqual(statsAnalyzer.statsResults['video-recv'].recv.totalRtxBytesReceived, 500);
256
+ assert.strictEqual(statsAnalyzer.statsResults['video-recv'].recv.totalRtxPacketsReceived, 10);
257
+ });
258
+
259
+
179
260
  it('parseAudioSource should create the correct stats results', () => {
180
261
  // establish the `statsResults` object.
181
262
  statsAnalyzer.parseGetStatsResult({type: 'none'}, 'audio-send', true);