@webex/plugin-meetings 3.7.0-wxcc.1 → 3.8.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 (220) 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-error.js +149 -0
  25. package/dist/common/errors/reclaim-host-role-error.js.map +1 -0
  26. package/dist/common/errors/reclaim-host-role-errors.d.ts +60 -0
  27. package/dist/common/errors/reconnection-in-progress.d.ts +9 -0
  28. package/dist/common/errors/reconnection-in-progress.js +33 -0
  29. package/dist/common/errors/reconnection-in-progress.js.map +1 -0
  30. package/dist/common/errors/reconnection.d.ts +15 -0
  31. package/dist/common/errors/stats.d.ts +15 -0
  32. package/dist/common/errors/webex-errors.d.ts +93 -0
  33. package/dist/common/errors/webex-meetings-error.d.ts +20 -0
  34. package/dist/common/events/events-scope.d.ts +17 -0
  35. package/dist/common/events/events.d.ts +12 -0
  36. package/dist/common/events/trigger-proxy.d.ts +2 -0
  37. package/dist/common/events/util.d.ts +2 -0
  38. package/dist/common/logs/logger-config.d.ts +2 -0
  39. package/dist/common/logs/logger-proxy.d.ts +2 -0
  40. package/dist/common/logs/request.d.ts +36 -0
  41. package/dist/common/queue.d.ts +34 -0
  42. package/dist/config.d.ts +72 -0
  43. package/dist/constants.d.ts +1088 -0
  44. package/dist/constants.js +15 -3
  45. package/dist/constants.js.map +1 -1
  46. package/dist/controls-options-manager/constants.d.ts +4 -0
  47. package/dist/controls-options-manager/enums.d.ts +15 -0
  48. package/dist/controls-options-manager/index.d.ts +136 -0
  49. package/dist/controls-options-manager/types.d.ts +43 -0
  50. package/dist/controls-options-manager/util.d.ts +1 -0
  51. package/dist/index.d.ts +7 -0
  52. package/dist/interceptors/index.d.ts +2 -0
  53. package/dist/interceptors/locusRetry.d.ts +27 -0
  54. package/dist/interpretation/collection.d.ts +5 -0
  55. package/dist/interpretation/index.d.ts +5 -0
  56. package/dist/interpretation/index.js +1 -1
  57. package/dist/interpretation/siLanguage.d.ts +5 -0
  58. package/dist/interpretation/siLanguage.js +1 -1
  59. package/dist/locus-info/controlsUtils.d.ts +2 -0
  60. package/dist/locus-info/embeddedAppsUtils.d.ts +2 -0
  61. package/dist/locus-info/fullState.d.ts +2 -0
  62. package/dist/locus-info/hostUtils.d.ts +2 -0
  63. package/dist/locus-info/index.d.ts +322 -0
  64. package/dist/locus-info/infoUtils.d.ts +2 -0
  65. package/dist/locus-info/mediaSharesUtils.d.ts +2 -0
  66. package/dist/locus-info/parser.d.ts +272 -0
  67. package/dist/locus-info/selfUtils.d.ts +2 -0
  68. package/dist/locus-info/selfUtils.js +5 -0
  69. package/dist/locus-info/selfUtils.js.map +1 -1
  70. package/dist/media/MediaConnectionAwaiter.js +1 -0
  71. package/dist/media/MediaConnectionAwaiter.js.map +1 -1
  72. package/dist/media/index.d.ts +34 -0
  73. package/dist/media/properties.d.ts +93 -0
  74. package/dist/media/properties.js +30 -16
  75. package/dist/media/properties.js.map +1 -1
  76. package/dist/media/util.d.ts +2 -0
  77. package/dist/mediaQualityMetrics/config.d.ts +241 -0
  78. package/dist/mediaQualityMetrics/config.js +502 -0
  79. package/dist/mediaQualityMetrics/config.js.map +1 -0
  80. package/dist/meeting/brbState.js +167 -0
  81. package/dist/meeting/brbState.js.map +1 -0
  82. package/dist/meeting/effectsState.js +260 -0
  83. package/dist/meeting/effectsState.js.map +1 -0
  84. package/dist/meeting/in-meeting-actions.d.ts +167 -0
  85. package/dist/meeting/index.d.ts +1825 -0
  86. package/dist/meeting/index.js +363 -295
  87. package/dist/meeting/index.js.map +1 -1
  88. package/dist/meeting/locusMediaRequest.d.ts +74 -0
  89. package/dist/meeting/muteState.d.ts +178 -0
  90. package/dist/meeting/muteState.js +1 -6
  91. package/dist/meeting/muteState.js.map +1 -1
  92. package/dist/meeting/request.d.ts +295 -0
  93. package/dist/meeting/request.type.d.ts +11 -0
  94. package/dist/meeting/state.d.ts +9 -0
  95. package/dist/meeting/util.d.ts +119 -0
  96. package/dist/meeting/voicea-meeting.d.ts +16 -0
  97. package/dist/meeting-info/collection.d.ts +20 -0
  98. package/dist/meeting-info/index.d.ts +69 -0
  99. package/dist/meeting-info/meeting-info-v2.d.ts +123 -0
  100. package/dist/meeting-info/meeting-info-v2.js +19 -12
  101. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  102. package/dist/meeting-info/request.d.ts +22 -0
  103. package/dist/meeting-info/util.d.ts +2 -0
  104. package/dist/meeting-info/utilv2.d.ts +2 -0
  105. package/dist/meeting-info/utilv2.js +5 -1
  106. package/dist/meeting-info/utilv2.js.map +1 -1
  107. package/dist/meetings/collection.d.ts +40 -0
  108. package/dist/meetings/index.d.ts +390 -0
  109. package/dist/meetings/meetings.types.d.ts +4 -0
  110. package/dist/meetings/request.d.ts +27 -0
  111. package/dist/meetings/util.d.ts +18 -0
  112. package/dist/member/index.d.ts +160 -0
  113. package/dist/member/member.types.js +17 -0
  114. package/dist/member/member.types.js.map +1 -0
  115. package/dist/member/types.d.ts +32 -0
  116. package/dist/member/util.d.ts +2 -0
  117. package/dist/members/collection.d.ts +29 -0
  118. package/dist/members/index.d.ts +353 -0
  119. package/dist/members/request.d.ts +114 -0
  120. package/dist/members/types.d.ts +25 -0
  121. package/dist/members/util.d.ts +215 -0
  122. package/dist/metrics/config.js +276 -0
  123. package/dist/metrics/config.js.map +1 -0
  124. package/dist/metrics/constants.d.ts +70 -0
  125. package/dist/metrics/constants.js +2 -0
  126. package/dist/metrics/constants.js.map +1 -1
  127. package/dist/metrics/index.d.ts +45 -0
  128. package/dist/multistream/mediaRequestManager.d.ts +119 -0
  129. package/dist/multistream/receiveSlot.d.ts +68 -0
  130. package/dist/multistream/receiveSlotManager.d.ts +56 -0
  131. package/dist/multistream/remoteMedia.d.ts +72 -0
  132. package/dist/multistream/remoteMediaGroup.d.ts +49 -0
  133. package/dist/multistream/remoteMediaManager.d.ts +300 -0
  134. package/dist/multistream/sendSlotManager.d.ts +69 -0
  135. package/dist/networkQualityMonitor/index.d.ts +70 -0
  136. package/dist/networkQualityMonitor/index.js +221 -0
  137. package/dist/networkQualityMonitor/index.js.map +1 -0
  138. package/dist/peer-connection-manager/index.js +671 -0
  139. package/dist/peer-connection-manager/index.js.map +1 -0
  140. package/dist/peer-connection-manager/util.js +109 -0
  141. package/dist/peer-connection-manager/util.js.map +1 -0
  142. package/dist/personal-meeting-room/index.d.ts +47 -0
  143. package/dist/personal-meeting-room/request.d.ts +14 -0
  144. package/dist/personal-meeting-room/util.d.ts +2 -0
  145. package/dist/reachability/clusterReachability.d.ts +109 -0
  146. package/dist/reachability/index.d.ts +105 -0
  147. package/dist/reachability/index.js +31 -3
  148. package/dist/reachability/index.js.map +1 -1
  149. package/dist/reachability/request.d.ts +39 -0
  150. package/dist/reachability/util.d.ts +8 -0
  151. package/dist/reactions/constants.d.ts +3 -0
  152. package/dist/reactions/reactions.d.ts +4 -0
  153. package/dist/reactions/reactions.type.d.ts +52 -0
  154. package/dist/reconnection-manager/index.d.ts +136 -0
  155. package/dist/recording-controller/enums.d.ts +7 -0
  156. package/dist/recording-controller/index.d.ts +207 -0
  157. package/dist/recording-controller/util.d.ts +14 -0
  158. package/dist/roap/collection.js +62 -0
  159. package/dist/roap/collection.js.map +1 -0
  160. package/dist/roap/handler.js +275 -0
  161. package/dist/roap/handler.js.map +1 -0
  162. package/dist/roap/index.d.ts +86 -0
  163. package/dist/roap/request.d.ts +39 -0
  164. package/dist/roap/state.js +126 -0
  165. package/dist/roap/state.js.map +1 -0
  166. package/dist/roap/turnDiscovery.d.ts +155 -0
  167. package/dist/roap/util.js +75 -0
  168. package/dist/roap/util.js.map +1 -0
  169. package/dist/rtcMetrics/constants.d.ts +4 -0
  170. package/dist/rtcMetrics/constants.js +11 -0
  171. package/dist/rtcMetrics/constants.js.map +1 -0
  172. package/dist/rtcMetrics/index.d.ts +61 -0
  173. package/dist/rtcMetrics/index.js +197 -0
  174. package/dist/rtcMetrics/index.js.map +1 -0
  175. package/dist/statsAnalyzer/global.d.ts +36 -0
  176. package/dist/statsAnalyzer/global.js +126 -0
  177. package/dist/statsAnalyzer/global.js.map +1 -0
  178. package/dist/statsAnalyzer/index.d.ts +217 -0
  179. package/dist/statsAnalyzer/index.js +1013 -0
  180. package/dist/statsAnalyzer/index.js.map +1 -0
  181. package/dist/statsAnalyzer/mqaUtil.d.ts +48 -0
  182. package/dist/statsAnalyzer/mqaUtil.js +179 -0
  183. package/dist/statsAnalyzer/mqaUtil.js.map +1 -0
  184. package/dist/transcription/index.d.ts +64 -0
  185. package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
  186. package/dist/types/constants.d.ts +9 -2
  187. package/dist/types/mediaQualityMetrics/config.d.ts +241 -0
  188. package/dist/types/meeting/brbState.d.ts +54 -0
  189. package/dist/types/meeting/index.d.ts +23 -0
  190. package/dist/types/meeting-info/meeting-info-v2.d.ts +3 -1
  191. package/dist/types/metrics/constants.d.ts +2 -0
  192. package/dist/types/networkQualityMonitor/index.d.ts +70 -0
  193. package/dist/types/reachability/index.d.ts +9 -1
  194. package/dist/types/rtcMetrics/constants.d.ts +4 -0
  195. package/dist/types/rtcMetrics/index.d.ts +71 -0
  196. package/dist/types/statsAnalyzer/global.d.ts +36 -0
  197. package/dist/types/statsAnalyzer/index.d.ts +217 -0
  198. package/dist/types/statsAnalyzer/mqaUtil.d.ts +48 -0
  199. package/dist/webinar/collection.d.ts +16 -0
  200. package/dist/webinar/index.d.ts +5 -0
  201. package/dist/webinar/index.js +1 -1
  202. package/package.json +23 -23
  203. package/src/constants.ts +10 -2
  204. package/src/locus-info/selfUtils.ts +5 -0
  205. package/src/media/MediaConnectionAwaiter.ts +2 -0
  206. package/src/media/properties.ts +34 -13
  207. package/src/meeting/brbState.ts +169 -0
  208. package/src/meeting/index.ts +112 -26
  209. package/src/meeting/muteState.ts +1 -6
  210. package/src/meeting-info/meeting-info-v2.ts +9 -1
  211. package/src/meeting-info/utilv2.ts +14 -2
  212. package/src/metrics/constants.ts +2 -0
  213. package/src/reachability/index.ts +29 -1
  214. package/test/unit/spec/locus-info/selfUtils.js +10 -0
  215. package/test/unit/spec/media/properties.ts +15 -0
  216. package/test/unit/spec/meeting/brbState.ts +114 -0
  217. package/test/unit/spec/meeting/index.js +92 -30
  218. package/test/unit/spec/meeting/muteState.js +0 -24
  219. package/test/unit/spec/meeting-info/utilv2.js +9 -0
  220. package/test/unit/spec/reachability/index.ts +120 -10
@@ -0,0 +1,390 @@
1
+ import '@webex/internal-plugin-mercury';
2
+ import '@webex/internal-plugin-conversation';
3
+ import '@webex/internal-plugin-metrics';
4
+ import { WebexPlugin } from '@webex/webex-core';
5
+ import * as mediaHelpersModule from '@webex/media-helpers';
6
+ import 'webrtc-adapter';
7
+ import { CallStateForMetrics } from '../meeting';
8
+ import Reachability from '../reachability';
9
+ import { INoiseReductionEffect, IVirtualBackgroundEffect } from './meetings.types';
10
+ /**
11
+ * Meetings Ready Event
12
+ * Emitted when the meetings instance on webex is ready
13
+ * @event meetings:ready
14
+ * @instance
15
+ * @memberof Meetings
16
+ */
17
+ /**
18
+ * Meetings Network Disconnected Event
19
+ * Emitted when the meetings instance is disconnected from
20
+ * the internal mercury server
21
+ * @event network:disconnected
22
+ * @instance
23
+ * @memberof Meetings
24
+ */
25
+ /**
26
+ * Meetings Registered Event
27
+ * Emitted when the meetings instance has been registered and listening
28
+ * @event meetings:registered
29
+ * @instance
30
+ * @memberof Meetings
31
+ */
32
+ /**
33
+ * Meeting Removed Event
34
+ * Emitted when a meeting was removed from the cache of meetings
35
+ * @event meeting:removed
36
+ * @instance
37
+ * @type {Object}
38
+ * @property {String} meetingId the removed meeting
39
+ * @property {Object} response the server response
40
+ * @property {String} type what type of meeting it was
41
+ * @memberof Meetings
42
+ */
43
+ /**
44
+ * Meeting Added Event
45
+ * Emitted when a meeting was added to the cache of meetings
46
+ * @event meeting:added
47
+ * @instance
48
+ * @type {Object}
49
+ * @property {String} meetingId the added meeting
50
+ * @property {String} type what type of meeting it was
51
+ * @memberof Meetings
52
+ */
53
+ /**
54
+ * Maintain a cache of meetings and sync with services.
55
+ * @class
56
+ */
57
+ export default class Meetings extends WebexPlugin {
58
+ loggerRequest: any;
59
+ media: any;
60
+ meetingCollection: any;
61
+ personalMeetingRoom: any;
62
+ preferredWebexSite: any;
63
+ reachability: Reachability;
64
+ registered: any;
65
+ request: any;
66
+ geoHintInfo: any;
67
+ meetingInfo: any;
68
+ mediaHelpers: any;
69
+ breakoutLocusForHandleLater: any;
70
+ namespace: string;
71
+ /**
72
+ * Initializes the Meetings Plugin
73
+ * @constructor
74
+ * @public
75
+ * @memberof Meetings
76
+ */
77
+ constructor(...args: any[]);
78
+ /**
79
+ * check whether you need to handle this main session's locus data or not
80
+ * @param {Object} meeting current meeting data
81
+ * @param {Object} newLocus new locus data
82
+ * @returns {boolean}
83
+ * @private
84
+ * @memberof Meetings
85
+ */
86
+ private isNeedHandleMainLocus;
87
+ /**
88
+ * check whether you need to handle this locus data or not
89
+ * @param {Object} meeting old locus data
90
+ * @param {Object} newLocus new locus data
91
+ * @returns {boolean}
92
+ * @private
93
+ * @memberof Meetings
94
+ */
95
+ private isNeedHandleLocusDTO;
96
+ /**
97
+ * get corresponding meeting object by locus data
98
+ * @param {Object} data a locus event
99
+ * @param {String} data.locusUrl
100
+ * @param {Object} data.locus
101
+ * @returns {Object}
102
+ * @private
103
+ * @memberof Meetings
104
+ */
105
+ getCorrespondingMeetingByLocus(data: any): any;
106
+ /**
107
+ * handle locus events and takes meeting actions with them as they come in
108
+ * @param {Object} data a locus event
109
+ * @param {String} data.locusUrl
110
+ * @param {Object} data.locus
111
+ * @param {Boolean} useRandomDelayForInfo whether a random delay should be added to fetching meeting info
112
+ * @param {String} data.eventType
113
+ * @returns {undefined}
114
+ * @private
115
+ * @memberof Meetings
116
+ */
117
+ private handleLocusEvent;
118
+ /**
119
+ * handles locus events through mercury that are not roap
120
+ * @param {Object} envelope
121
+ * @param {Object} envelope.data
122
+ * @param {String} envelope.data.eventType
123
+ * @returns {undefined}
124
+ * @private
125
+ * @memberof Meetings
126
+ */
127
+ private handleLocusMercury;
128
+ /**
129
+ * handles mecury offline event
130
+ * @returns {undefined}
131
+ * @private
132
+ * @memberof Meetings
133
+ */
134
+ private handleMercuryOffline;
135
+ /**
136
+ * registers for locus and roap mercury events
137
+ * @returns {undefined}
138
+ * @private
139
+ * @memberof Meetings
140
+ */
141
+ private listenForEvents;
142
+ /**
143
+ * stops listening for locus and roap mercury events
144
+ * @returns {undefined}
145
+ * @private
146
+ * @memberof Meetings
147
+ */
148
+ private stopListeningForEvents;
149
+ /**
150
+ * @returns {undefined}
151
+ * @private
152
+ * @memberof Meetings
153
+ */
154
+ private onReady;
155
+ /**
156
+ * API to toggle unified meetings
157
+ * @param {Boolean} changeState
158
+ * @private
159
+ * @memberof Meetings
160
+ * @returns {undefined}
161
+ */
162
+ private _toggleUnifiedMeetings;
163
+ /**
164
+ * API to toggle starting adhoc meeting
165
+ * @param {Boolean} changeState
166
+ * @private
167
+ * @memberof Meetings
168
+ * @returns {undefined}
169
+ */
170
+ private _toggleAdhocMeetings;
171
+ /**
172
+ * API to toggle TCP reachability, needs to be called before webex.meetings.register()
173
+ * @param {Boolean} newValue
174
+ * @private
175
+ * @memberof Meetings
176
+ * @returns {undefined}
177
+ */
178
+ private _toggleTcpReachability;
179
+ /**
180
+ * Explicitly sets up the meetings plugin by registering
181
+ * the device, connecting to mercury, and listening for locus events.
182
+ *
183
+ * @returns {Promise}
184
+ * @public
185
+ * @memberof Meetings
186
+ */
187
+ register(): Promise<void>;
188
+ /**
189
+ * Explicitly tears down the meetings plugin by deregistering
190
+ * the device, disconnecting from mercury, and stops listening to locus events
191
+ *
192
+ * @returns {Promise}
193
+ * @public
194
+ * @memberof Meetings
195
+ */
196
+ unregister(): any;
197
+ /**
198
+ * Creates a noise reduction effect
199
+ *
200
+ * @param {INoiseReductionEffect} options optional custom effect options
201
+ * @returns {Promise<effect>} noise reduction effect.
202
+ * @public
203
+ * @memberof Meetings
204
+ */
205
+ createNoiseReductionEffect: (options?: INoiseReductionEffect) => Promise<mediaHelpersModule.NoiseReductionEffect>;
206
+ /**
207
+ * Creates a virtual background effect
208
+ *
209
+ * @param {IVirtualBackgroundEffect} options optional custom effect options
210
+ * @returns {Promise<effect>} virtual background effect.
211
+ * @public
212
+ * @memberof Meetings
213
+ */
214
+ createVirtualBackgroundEffect: (options?: IVirtualBackgroundEffect) => Promise<mediaHelpersModule.VirtualBackgroundEffect>;
215
+ /**
216
+ * Uploads logs to the webex services for tracking
217
+ * @param {Object} [options={}]
218
+ * @param {String} [options.callStart] Call Start Time
219
+ * @param {String} [options.feedbackId] ID used for tracking
220
+ * @param {String} [options.locusId]
221
+ * @param {String} [options.correlationId]
222
+ * @param {String} [options.meetingId] webex meeting ID
223
+ * @param {String} [options.userId] userId
224
+ * @param {String} [options.orgId] org id
225
+ * @returns {String} feedback ID logs were submitted under
226
+ */
227
+ uploadLogs(options?: {
228
+ autoupload?: boolean;
229
+ callStart?: string;
230
+ feedbackId?: string;
231
+ locussessionid?: string;
232
+ locusId?: string;
233
+ correlationId?: string;
234
+ meetingId?: string;
235
+ userId?: string;
236
+ orgId?: string;
237
+ }): any;
238
+ /**
239
+ * gets the reachability instance for Meetings
240
+ * @returns {Reachability}
241
+ * @public
242
+ * @memberof Meetings
243
+ */
244
+ getReachability(): Reachability;
245
+ /**
246
+ * initializes and starts gathering reachability for Meetings
247
+ * @returns {Promise}
248
+ * @public
249
+ * @memberof Meetings
250
+ */
251
+ startReachability(): Promise<import("../reachability").ReachabilityResults>;
252
+ /**
253
+ * Get geoHint for info for meetings
254
+ * @returns {Promise}
255
+ * @private
256
+ * @memberof Meetings
257
+ */
258
+ getGeoHint(): any;
259
+ /**
260
+ * Fetch user preferred webex site information
261
+ * This also has other infomation about the user
262
+ * @returns {Promise}
263
+ * @private
264
+ * @memberof Meetings
265
+ */
266
+ fetchUserPreferredWebexSite(): any;
267
+ /**
268
+ * gets the personal meeting room instance, for saved PMR values for this user
269
+ * @returns {PersonalMeetingRoom}
270
+ * @public
271
+ * @memberof Meetings
272
+ */
273
+ getPersonalMeetingRoom(): any;
274
+ /**
275
+ * @param {Meeting} meeting
276
+ * @param {Object} reason
277
+ * @param {String} type
278
+ * @returns {Undefined}
279
+ * @private
280
+ * @memberof Meetings
281
+ */
282
+ private destroy;
283
+ /**
284
+ * Create a meeting or return an existing meeting.
285
+ *
286
+ * When meeting info passed it should be complete, e.g.: fetched after password or captcha provided
287
+ *
288
+ * @param {string} destination - sipURL, phonenumber, or locus object}
289
+ * @param {string} [type] - the optional specified type, such as locusId
290
+ * @param {Boolean} useRandomDelayForInfo - whether a random delay should be added to fetching meeting info
291
+ * @param {Object} infoExtraParams extra parameters to be provided when fetching meeting info
292
+ * @param {string} correlationId - the optional specified correlationId (callStateForMetrics.correlationId can be provided instead)
293
+ * @param {Boolean} failOnMissingMeetingInfo - whether to throw an error if meeting info fails to fetch (for calls that are not 1:1 or content share)
294
+ * @param {CallStateForMetrics} callStateForMetrics - information about call state for metrics
295
+ * @param {Object} [meetingInfo] - Pre-fetched complete meeting info
296
+ * @param {String} [meetingLookupUrl] - meeting info prefetch url
297
+ * @returns {Promise<Meeting>} A new Meeting.
298
+ * @public
299
+ * @memberof Meetings
300
+ */
301
+ create(destination: string, type?: string, useRandomDelayForInfo?: boolean, infoExtraParams?: {}, correlationId?: string, failOnMissingMeetingInfo?: boolean, callStateForMetrics?: CallStateForMetrics, meetingInfo?: any, meetingLookupUrl?: any): any;
302
+ /**
303
+ * Create meeting
304
+ *
305
+ * When meeting info passed it should be complete, e.g.: fetched after password or captcha provided
306
+ *
307
+ * @param {String} destination see create()
308
+ * @param {String} type see create()
309
+ * @param {Boolean} useRandomDelayForInfo whether a random delay should be added to fetching meeting info
310
+ * @param {Object} infoExtraParams extra parameters to be provided when fetching meeting info
311
+ * @param {CallStateForMetrics} callStateForMetrics - information about call state for metrics
312
+ * @param {Boolean} failOnMissingMeetingInfo - whether to throw an error if meeting info fails to fetch (for calls that are not 1:1 or content share)
313
+ * @param {Object} [meetingInfo] - Pre-fetched complete meeting info
314
+ * @param {String} [meetingLookupUrl] - meeting info prefetch url
315
+ * @returns {Promise} a new meeting instance complete with meeting info and destination
316
+ * @private
317
+ * @memberof Meetings
318
+ */
319
+ private createMeeting;
320
+ /**
321
+ * get a specifc meeting given it's type matched to the value, i.e., locus url
322
+ * @param {String} type
323
+ * @param {Object} value
324
+ * @returns {Meeting}
325
+ * @public
326
+ * @memberof Meetings
327
+ */
328
+ getMeetingByType(type: string, value: object): any;
329
+ /**
330
+ * Get all meetings.
331
+ * @param {object} options
332
+ * @param {object} options.startDate - get meetings after this start date
333
+ * @param {object} options.endDate - get meetings before this end date
334
+ * @returns {Object} All currently active meetings.
335
+ * @public
336
+ * @memberof Meetings
337
+ */
338
+ getAllMeetings(options?: {
339
+ startDate: object;
340
+ endDate: object;
341
+ }): any;
342
+ /**
343
+ * Syncs all the meetings from server. Does nothing and returns immediately if unverified guest.
344
+ * @param {boolean} keepOnlyLocusMeetings - whether the sync should keep only locus meetings or any other meeting in meetingCollection
345
+ * @returns {Promise<void>}
346
+ * @public
347
+ * @memberof Meetings
348
+ */
349
+ syncMeetings({ keepOnlyLocusMeetings }?: {
350
+ keepOnlyLocusMeetings?: boolean;
351
+ }): Promise<void>;
352
+ /**
353
+ * sort out locus array for initial creating
354
+ * @param {Array} loci original locus array
355
+ * @returns {undefined}
356
+ * @public
357
+ * @memberof Meetings
358
+ */
359
+ sortLocusArrayToUpdate(loci: any[]): any[];
360
+ /**
361
+ * check breakout locus which waiting for main locus's meeting to be created, then handle the breakout locus
362
+ * @param {Object} newCreatedLocus the locus which just create meeting object of it
363
+ * @returns {undefined}
364
+ * @public
365
+ * @memberof Meetings
366
+ */
367
+ checkHandleBreakoutLocus(newCreatedLocus: any): void;
368
+ /**
369
+ * Get all scheduled meetings.
370
+ * @param {object} options
371
+ * @param {object} options.startDate - get meetings after this start date
372
+ * @param {object} options.endDate - get meetings before this end date
373
+ * @returns {Object} All scheduled meetings.
374
+ * @memberof Meetings
375
+ */
376
+ getScheduledMeetings(): any;
377
+ /**
378
+ * Get the logger instance for plugin-meetings
379
+ * @returns {Logger}
380
+ */
381
+ getLogger(): any;
382
+ /**
383
+ * Returns the first meeting it finds that has the webrtc media connection created.
384
+ * Useful for debugging in the console.
385
+ *
386
+ * @private
387
+ * @returns {Meeting} Meeting object that has a webrtc media connection, else undefined
388
+ */
389
+ getActiveWebrtcMeeting(): any;
390
+ }
@@ -0,0 +1,4 @@
1
+ import type { NoiseReductionEffectOptions, VirtualBackgroundEffectOptions } from '@webex/media-helpers';
2
+ type INoiseReductionEffect = Omit<NoiseReductionEffectOptions, 'authToken' | 'workletProcessorUrl' | 'legacyProcessorUrl'>;
3
+ type IVirtualBackgroundEffect = Omit<VirtualBackgroundEffectOptions, 'authToken'>;
4
+ export type { INoiseReductionEffect, IVirtualBackgroundEffect };
@@ -0,0 +1,27 @@
1
+ import { StatelessWebexPlugin } from '@webex/webex-core';
2
+ /**
3
+ * @class MeetingRequest
4
+ */
5
+ export default class MeetingRequest extends StatelessWebexPlugin {
6
+ /**
7
+ * get all the active meetings for the user
8
+ * @returns {Array} return locus array
9
+ */
10
+ getActiveMeetings(): any;
11
+ /**
12
+ * fetch geoHit for the user
13
+ * @returns {Promise<object>} geoHintInfo
14
+ */
15
+ fetchGeoHint(): any;
16
+ /**
17
+ * get user meeting preference information
18
+ * @returns {Promise<object>} getMeetingPreferences
19
+ */
20
+ getMeetingPreferences(): any;
21
+ /**
22
+ * Fetches indivdual locus rather then getting all at once
23
+ * @param {object} responseBody determine the locus and fetch them if a remoteUrl is given
24
+ * @returns {Promise} returns locusObject array
25
+ */
26
+ determineRedirections(responseBody: any): Promise<any>;
27
+ }
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Meetings Media Codec Missing Event
3
+ * Emitted when H.264 codec is not
4
+ * found in the browser.
5
+ * @event media:codec:missing
6
+ * @instance
7
+ * @memberof MeetingsUtil
8
+ */
9
+ /**
10
+ * Meetings Media Codec Loaded Event
11
+ * Emitted when H.264 codec has been
12
+ * loaded in the browser.
13
+ * @event media:codec:loaded
14
+ * @instance
15
+ * @memberof MeetingsUtil
16
+ */
17
+ declare const MeetingsUtil: any;
18
+ export default MeetingsUtil;
@@ -0,0 +1,160 @@
1
+ import { IExternalRoles, IMediaStatus } from './types';
2
+ /**
3
+ * @class Member
4
+ */
5
+ export default class Member {
6
+ associatedUser: any;
7
+ canReclaimHost: boolean;
8
+ id: any;
9
+ isAudioMuted: any;
10
+ isContentSharing: any;
11
+ isDevice: any;
12
+ isGuest: any;
13
+ isHandRaised: any;
14
+ isHost: any;
15
+ isInLobby: any;
16
+ isInMeeting: any;
17
+ isModerator: any;
18
+ isModeratorAssignmentProhibited: any;
19
+ isMutable: any;
20
+ isNotAdmitted: any;
21
+ isRecording: any;
22
+ isRemovable: any;
23
+ isSelf: any;
24
+ isUser: any;
25
+ isVideoMuted: any;
26
+ roles: IExternalRoles;
27
+ mediaStatus: IMediaStatus;
28
+ name: any;
29
+ participant: any;
30
+ status: any;
31
+ supportsBreakouts: boolean;
32
+ supportsInterpretation: boolean;
33
+ supportLiveAnnotation: boolean;
34
+ type: any;
35
+ namespace: string;
36
+ /**
37
+ * @param {Object} participant - the locus participant
38
+ * @param {Object} [options] - constructor params
39
+ * @param {String} options.selfId
40
+ * @param {String} options.hostId
41
+ * @param {String} options.contentSharingId
42
+ * @param {String} options.type
43
+ * @returns {Member}
44
+ * @memberof Member
45
+ */
46
+ constructor(participant: object, options?: {
47
+ selfId: string;
48
+ hostId: string;
49
+ contentSharingId: string;
50
+ type: string;
51
+ } | any);
52
+ /**
53
+ * set all the participant values extracted directly from locus participant
54
+ * @param {Object} participant the locus participant object
55
+ * @returns {undefined}
56
+ * @private
57
+ * @memberof Member
58
+ */
59
+ private processParticipant;
60
+ /**
61
+ * Use the members options and participant values to set on the member
62
+ * @param {Object} participant the locus participant object
63
+ * @param {Object} options the passed in options, what was set on members
64
+ * @returns {undefined}
65
+ * @private
66
+ * @memberof Member
67
+ */
68
+ private processParticipantOptions;
69
+ /**
70
+ * processes what already exists on the member to determine other info about the member
71
+ * @returns {undefined}
72
+ * @private
73
+ * @memberof Member
74
+ */
75
+ private processMember;
76
+ /**
77
+ * set the status on member object
78
+ * @param {Object} participant the locus participant object
79
+ * @returns {undefined}
80
+ * @private
81
+ * @memberof Member
82
+ */
83
+ private processStatus;
84
+ /**
85
+ * set the isContentSharing on member
86
+ * @param {Boolean} flag
87
+ * @returns {undefined}
88
+ * @public
89
+ * @memberof Member
90
+ */
91
+ setIsContentSharing(flag: boolean): void;
92
+ /**
93
+ * set the isHost on member
94
+ * @param {Boolean} flag
95
+ * @returns {undefined}
96
+ * @public
97
+ * @memberof Member
98
+ */
99
+ setIsHost(flag: boolean): void;
100
+ /**
101
+ * set the isSelf on member
102
+ * @param {Boolean} flag
103
+ * @returns {undefined}
104
+ * @public
105
+ * @memberof Member
106
+ */
107
+ setIsSelf(flag: boolean): void;
108
+ /**
109
+ * determine if this member is content sharing
110
+ * @param {Object} participant
111
+ * @param {String} sharingId
112
+ * @returns {undefined}
113
+ * @public
114
+ * @memberof Member
115
+ */
116
+ processIsContentSharing(participant: object, sharingId: string): void;
117
+ /**
118
+ * Determine if this member is recording
119
+ * @param {Object} participant
120
+ * @param {String} recordingId
121
+ * @returns {undefined}
122
+ * @public
123
+ * @memberof Member
124
+ */
125
+ processIsRecording(participant: object, recordingId: string): void;
126
+ /**
127
+ * determine if this member is the self
128
+ * @param {Object} participant
129
+ * @param {String} selfId
130
+ * @returns {undefined}
131
+ * @private
132
+ * @memberof Member
133
+ */
134
+ private processIsSelf;
135
+ /**
136
+ * determine if this member is the host
137
+ * @param {Object} participant
138
+ * @param {String} hostId
139
+ * @returns {undefined}
140
+ * @private
141
+ * @memberof Member
142
+ */
143
+ private processIsHost;
144
+ /**
145
+ * process the roles that have been applied to this member
146
+ * @param {Object} participant
147
+ * @returns {undefined}
148
+ * @private
149
+ * @memberof Member
150
+ */
151
+ private processRoles;
152
+ /**
153
+ * set the type for the member, could be MEETING or CALL
154
+ * @param {String} type
155
+ * @returns {undefined}
156
+ * @private
157
+ * @memberof Member
158
+ */
159
+ private processType;
160
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
+ _Object$defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.MediaStatus = void 0;
8
+ // values are inherited from locus so don't update these
9
+ var MediaStatus = exports.MediaStatus = /*#__PURE__*/function (MediaStatus) {
10
+ MediaStatus["RECVONLY"] = "RECVONLY";
11
+ MediaStatus["SENDONLY"] = "SENDONLY";
12
+ MediaStatus["SENDRECV"] = "SENDRECV";
13
+ MediaStatus["INACTIVE"] = "INACTIVE";
14
+ MediaStatus["UNKNOWN"] = "UNKNOWN";
15
+ return MediaStatus;
16
+ }({}); // participant has not added media in the meeting
17
+ //# sourceMappingURL=member.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MediaStatus","exports"],"sources":["member.types.ts"],"sourcesContent":["// values are inherited from locus so don't update these\nexport enum MediaStatus {\n RECVONLY = 'RECVONLY', // participant only receiving and not sending\n SENDONLY = 'SENDONLY', // participant only sending and not receiving\n SENDRECV = 'SENDRECV', // participant both sending and receiving\n INACTIVE = 'INACTIVE', // participant is not connected to media source\n UNKNOWN = 'UNKNOWN', // participant has not added media in the meeting\n}\n\nexport interface IMediaStatus {\n audio: MediaStatus;\n video: MediaStatus;\n}\n"],"mappings":";;;;;;;AAAA;AAAA,IACYA,WAAW,GAAAC,OAAA,CAAAD,WAAA,0BAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAXA,WAAW;EAAA,OAAXA,WAAW;AAAA,OAKA","ignoreList":[]}
@@ -0,0 +1,32 @@
1
+ export interface IExternalRoles {
2
+ cohost: boolean;
3
+ moderator: boolean;
4
+ presenter: boolean;
5
+ }
6
+ export declare enum ServerRoles {
7
+ Cohost = "COHOST",
8
+ Moderator = "MODERATOR",
9
+ Presenter = "PRESENTER"
10
+ }
11
+ export type ServerRoleShape = {
12
+ type: ServerRoles;
13
+ hasRole: boolean;
14
+ };
15
+ export type ParticipantWithRoles = {
16
+ controls: {
17
+ role: {
18
+ roles: Array<ServerRoleShape>;
19
+ };
20
+ };
21
+ };
22
+ export declare enum MediaStatus {
23
+ RECVONLY = "RECVONLY",
24
+ SENDONLY = "SENDONLY",
25
+ SENDRECV = "SENDRECV",
26
+ INACTIVE = "INACTIVE",
27
+ UNKNOWN = "UNKNOWN"
28
+ }
29
+ export interface IMediaStatus {
30
+ audio: MediaStatus;
31
+ video: MediaStatus;
32
+ }
@@ -0,0 +1,2 @@
1
+ declare const MemberUtil: any;
2
+ export default MemberUtil;
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @class MembersCollection
3
+ */
4
+ export default class MembersCollection {
5
+ members: any;
6
+ namespace: string;
7
+ /**
8
+ * @param {Object} locus
9
+ * @memberof Members
10
+ */
11
+ constructor();
12
+ set(id: any, member: any): void;
13
+ setAll(members: any): void;
14
+ /**
15
+ * @param {String} id
16
+ * @returns {Member}
17
+ */
18
+ get(id: string): any;
19
+ /**
20
+ * @returns {Object} returns an object map of Member instances
21
+ * @memberof MembersCollection
22
+ */
23
+ getAll(): any;
24
+ /**
25
+ * @returns {void}
26
+ * reset members
27
+ */
28
+ reset(): void;
29
+ }