@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,295 @@
1
+ import { StatelessWebexPlugin } from '@webex/webex-core';
2
+ import { IP_VERSION } from '../constants';
3
+ import { SendReactionOptions, ToggleReactionsOptions } from './request.type';
4
+ import { AnnotationInfo } from '../annotation/annotation.types';
5
+ /**
6
+ * @class MeetingRequest
7
+ */
8
+ export default class MeetingRequest extends StatelessWebexPlugin {
9
+ changeVideoLayoutDebounced: any;
10
+ meetingRef: WeakRef<any>;
11
+ locusDeltaRequest: (options: object) => Promise<any>;
12
+ buildLocusDeltaRequestOptions: (options: object) => Promise<any>;
13
+ /**
14
+ * Constructor
15
+ * @param {Object} attrs
16
+ * @param {Object} options
17
+ */
18
+ constructor(attrs: any, options: any);
19
+ /**
20
+ * Returns joinCookie from boundedStorage if present.
21
+ * @returns {Object} joinCookie
22
+ */
23
+ private getJoinCookie;
24
+ /**
25
+ * Make a network request to join a meeting
26
+ * @param {Object} options
27
+ * @param {String} options.sipUri
28
+ * @param {String} options.deviceUrl
29
+ * @param {String} options.locusUrl
30
+ * @param {String} options.resourceId,
31
+ * @param {String} options.correlationId
32
+ * @param {boolean} options.ensureConversation
33
+ * @param {boolean} options.moderator
34
+ * @param {boolean} options.pin
35
+ * @param {boolean} options.moveToResource
36
+ * @param {Object} options.roapMessage
37
+ * @param {boolean} options.breakoutsSupported
38
+ * @param {String} options.locale,
39
+ * @param {Array} options.deviceCapabilities
40
+ * @param {boolean} options.liveAnnotationSupported
41
+ * @param {String} options.alias
42
+ * @returns {Promise}
43
+ */
44
+ joinMeeting(options: {
45
+ sipUri: string;
46
+ deviceUrl: string;
47
+ locusUrl: string;
48
+ locusClusterUrl: string;
49
+ resourceId: string;
50
+ correlationId: string;
51
+ ensureConversation: boolean;
52
+ moderator: boolean;
53
+ pin: boolean;
54
+ moveToResource: boolean;
55
+ roapMessage: any;
56
+ asResourceOccupant: any;
57
+ inviteeAddress: any;
58
+ meetingNumber: any;
59
+ permissionToken: any;
60
+ preferTranscoding: any;
61
+ reachability: any;
62
+ breakoutsSupported: boolean;
63
+ locale?: string;
64
+ deviceCapabilities?: Array<string>;
65
+ liveAnnotationSupported: boolean;
66
+ ipVersion?: IP_VERSION;
67
+ alias?: string;
68
+ }): Promise<any>;
69
+ /**
70
+ * Send a request to refresh the captcha
71
+ * @param {Object} options
72
+ * @param {String} options.captchaRefreshUrl
73
+ * @param {String} options.captchaId
74
+ * @returns {Promise}
75
+ * @private
76
+ */
77
+ private refreshCaptcha;
78
+ /**
79
+ * Make a network request to add a dial in device
80
+ * @param {Object} options
81
+ * @param {String} options.correlationId
82
+ * @param {String} options.locusUrl url for the meeting
83
+ * @param {String} options.dialInUrl identifier for the to-be provisioned device
84
+ * @param {String} options.clientUrl identifier for the web device
85
+ * @returns {Promise}
86
+ * @private
87
+ */
88
+ private dialIn;
89
+ /**
90
+ * Make a network request to add a dial out device
91
+ * @param {Object} options
92
+ * @param {String} options.correlationId
93
+ * @param {String} options.locusUrl url for the meeting
94
+ * @param {String} options.dialOutUrl identifier for the to-be provisioned device
95
+ * @param {String} options.phoneNumber phone number to dial out to
96
+ * @param {String} options.clientUrl identifier for the web device
97
+ * @returns {Promise}
98
+ * @private
99
+ */
100
+ private dialOut;
101
+ /**
102
+ * Sends a requests to get the latest locus DTO, it might be a full Locus or a delta, depending on the url provided
103
+ * @param {Object} options
104
+ * @param {String} options.locusUrl sync url to get ht elatest locus delta
105
+ * @returns {Promise}
106
+ */
107
+ getLocusDTO(options: {
108
+ url: string;
109
+ }): any;
110
+ /**
111
+ * Make a network request to make a provisioned phone leave the meeting
112
+ * @param {Object} options
113
+ * @param {String} options.locusUrl
114
+ * @param {String} options.phoneUrl
115
+ * @param {String} options.correlationId
116
+ * @param {String} options.selfId
117
+ * @returns {Promise}
118
+ * @private
119
+ */
120
+ private disconnectPhoneAudio;
121
+ /**
122
+ * Prepares request options to to leave a meeting
123
+ * @param {Object} options
124
+ * @param {Url} options.locusUrl
125
+ * @param {String} options.selfId
126
+ * @param {Url} options.deviceUrl
127
+ * @param {String} options.resourceId,
128
+ * @param {String} options.correlationId
129
+ * @returns {Object} request options
130
+ */
131
+ prepareLeaveMeetingRequestOptions({ locusUrl, selfId, deviceUrl: url, resourceId, correlationId, }: {
132
+ locusUrl: string;
133
+ selfId: string;
134
+ deviceUrl: string;
135
+ resourceId: string;
136
+ correlationId: string;
137
+ }): {
138
+ method: string;
139
+ uri: string;
140
+ body: {
141
+ device: {
142
+ deviceType: any;
143
+ url: string;
144
+ };
145
+ usingResource: string;
146
+ correlationId: string;
147
+ };
148
+ };
149
+ /**
150
+ * Make a network request to leave a meeting
151
+ * @param {Object} options
152
+ * @returns {Promise}
153
+ */
154
+ leaveMeeting({ locusUrl, selfId, deviceUrl: url, resourceId, correlationId, }: {
155
+ locusUrl: string;
156
+ selfId: string;
157
+ deviceUrl: string;
158
+ resourceId: string;
159
+ correlationId: string;
160
+ }): Promise<any>;
161
+ /**
162
+ * Builds request options to leave a meeting
163
+ * @param {Object} options
164
+ * @returns {Object} request options
165
+ */
166
+ buildLeaveMeetingRequestOptions(options: any): Promise<any>;
167
+ /**
168
+ * Make a network request to acknowledge a meeting
169
+ * @param {Object} options
170
+ * @param {String} options.locusUrl
171
+ * @param {String} options.deviceUrl
172
+ * @param {String} options.correlationId
173
+ * @returns {Promise}
174
+ */
175
+ acknowledgeMeeting(options: {
176
+ locusUrl: string;
177
+ deviceUrl: string;
178
+ correlationId: string;
179
+ }): Promise<any>;
180
+ /**
181
+ * Makes a network request to lock the meeting
182
+ * @param {Object} options
183
+ * @param {Boolean} options.lock Whether it is locked or not
184
+ * @returns {Promise}
185
+ */
186
+ lockMeeting(options: any): Promise<any>;
187
+ /**
188
+ * Make a network request to decline a meeting
189
+ * @param {Object} options
190
+ * @param {String} options.locusUrl
191
+ * @param {String} options.deviceUrl
192
+ * @param {String} options.reason
193
+ * @returns {Promise}
194
+ */
195
+ declineMeeting(options: {
196
+ locusUrl: string;
197
+ deviceUrl: string;
198
+ reason: string;
199
+ }): Promise<any>;
200
+ /**
201
+ * change the content floor grant
202
+ * @param {Object} options options for floor grant
203
+ * @param {String} options.disposition floor action (granted/released)
204
+ * @param {String} options.personUrl personUrl who is requesting floor
205
+ * @param {String} options.deviceUrl Url of a device
206
+ * @param {String} options.resourceId Populated if you are paired to a device
207
+ * @param {String} options.uri floor grant uri
208
+ * @param {String} options.shareInstanceId id for current share
209
+ * @returns {Promise}
210
+ */
211
+ changeMeetingFloor(options: {
212
+ disposition: string;
213
+ personUrl: string;
214
+ deviceUrl: string;
215
+ resourceId: string;
216
+ uri: string;
217
+ annotationInfo: AnnotationInfo;
218
+ shareInstanceId: string;
219
+ } | any): any;
220
+ /**
221
+ * Sends a request to the DTMF endpoint to send tones
222
+ * @param {Object} options
223
+ * @param {String} options.locusUrl
224
+ * @param {String} options.deviceUrl
225
+ * @param {String} options.tones a string of one or more DTMF tones to send
226
+ * @returns {Promise}
227
+ */
228
+ sendDTMF({ locusUrl, deviceUrl, tones }: {
229
+ locusUrl: string;
230
+ deviceUrl: string;
231
+ tones: string;
232
+ }): Promise<any>;
233
+ /**
234
+ * Sends a request to the controls endpoint to set the video layout
235
+ * @param {Object} options
236
+ * @param {String} options.locusUrl
237
+ * @param {String} options.deviceUrl
238
+ * @param {String} options.layoutType a layout type that should be available in meeting constants {@link #layout_types}
239
+ * @param {Object} options.main preferred dimensions for the remote main video stream
240
+ * @param {Number} options.main.width preferred width of main video stream
241
+ * @param {Number} options.main.height preferred height of main video stream
242
+ * @param {Object} options.content preferred dimensions for the remote content share stream
243
+ * @param {Number} options.content.width preferred width of content share stream
244
+ * @param {Number} options.content.height preferred height of content share stream
245
+ * @returns {Promise}
246
+ */
247
+ changeVideoLayout({ locusUrl, deviceUrl, layoutType, main, content, }: {
248
+ locusUrl: string;
249
+ deviceUrl: string;
250
+ layoutType: string;
251
+ main: {
252
+ width: number;
253
+ height: number;
254
+ };
255
+ content: {
256
+ width: number;
257
+ height: number;
258
+ };
259
+ }): Promise<any>;
260
+ /**
261
+ * Make a network request to end meeting for all
262
+ * @param {Object} options
263
+ * @param {Url} options.locusUrl
264
+ * @returns {Promise}
265
+ */
266
+ endMeetingForAll({ locusUrl }: {
267
+ locusUrl: string;
268
+ }): Promise<any>;
269
+ /**
270
+ * Send a locus keepAlive (used in lobby)
271
+ * @param {Object} options
272
+ * @param {Url} options.keepAliveUrl
273
+ * @returns {Promise}
274
+ */
275
+ keepAlive({ keepAliveUrl }: {
276
+ keepAliveUrl: string;
277
+ }): any;
278
+ /**
279
+ * Make a network request to send a reaction.
280
+ * @param {Object} options
281
+ * @param {Url} options.reactionChannelUrl
282
+ * @param {Reaction} options.reaction
283
+ * @param {string} options.senderID
284
+ * @returns {Promise}
285
+ */
286
+ sendReaction({ reactionChannelUrl, reaction, participantId }: SendReactionOptions): any;
287
+ /**
288
+ * Make a network request to enable or disable reactions.
289
+ * @param {boolean} options.enable - determines if we need to enable or disable.
290
+ * @param {locusUrl} options.locusUrl
291
+ * @returns {Promise}
292
+ */
293
+ toggleReactions({ enable, locusUrl, requestingParticipantId }: ToggleReactionsOptions): Promise<any>;
294
+ getLocusStatusByUrl(locusUrl: string): any;
295
+ }
@@ -0,0 +1,11 @@
1
+ import { Reaction } from '../reactions/reactions.type';
2
+ export type SendReactionOptions = {
3
+ reactionChannelUrl: string;
4
+ reaction: Reaction;
5
+ participantId: string;
6
+ };
7
+ export type ToggleReactionsOptions = {
8
+ enable: boolean;
9
+ locusUrl: string;
10
+ requestingParticipantId: string;
11
+ };
@@ -0,0 +1,9 @@
1
+ declare const MeetingStateMachine: {
2
+ /**
3
+ * Initializes the StateMachine for the meeting
4
+ * @param {Meeting} meetingRef A reference to a meeting instance
5
+ * @returns {StateMachine}
6
+ */
7
+ create(meetingRef: any): any;
8
+ };
9
+ export default MeetingStateMachine;
@@ -0,0 +1,119 @@
1
+ import { LocalCameraStream, LocalMicrophoneStream } from '@webex/media-helpers';
2
+ import { SELF_POLICY, IP_VERSION } from '../constants';
3
+ declare const MeetingUtil: {
4
+ parseLocusJoin: (response: any) => any;
5
+ remoteUpdateAudioVideo: (meeting: any, audioMuted?: boolean, videoMuted?: boolean) => any;
6
+ hasOwner: (info: any) => any;
7
+ isOwnerSelf: (owner: any, selfId: any) => boolean;
8
+ isPinOrGuest: (err: any) => boolean;
9
+ /**
10
+ * Returns the current state of knowledge about whether we are on an ipv4-only or ipv6-only or mixed (ipv4 and ipv6) network.
11
+ * The return value matches the possible values of "ipver" parameter used by the backend APIs.
12
+ *
13
+ * @param {Object} webex webex instance
14
+ * @returns {IP_VERSION|undefined} ipver value to be passed to the backend APIs or undefined if we should not pass any value to the backend
15
+ */
16
+ getIpVersion(webex: any): IP_VERSION | undefined;
17
+ joinMeeting: (meeting: any, options: any) => any;
18
+ cleanUp: (meeting: any) => any;
19
+ disconnectPhoneAudio: (meeting: any, phoneUrl: any) => any;
20
+ /**
21
+ * Returns options for leaving a meeting.
22
+ * @param {any} meeting
23
+ * @param {any} options
24
+ * @returns {any} leave options
25
+ */
26
+ prepareLeaveMeetingOptions: (meeting: any, options?: any) => any;
27
+ leaveMeeting: (meeting: any, options?: any) => any;
28
+ declineMeeting: (meeting: any, reason: any) => any;
29
+ isUserInLeftState: (locusInfo: any) => boolean;
30
+ isUserInIdleState: (locusInfo: any) => boolean;
31
+ isUserInJoinedState: (locusInfo: any) => boolean;
32
+ isMediaEstablished: (currentMediaStatus: any) => any;
33
+ joinMeetingOptions: (meeting: any, options?: any) => any;
34
+ /**
35
+ * Returns request options for leaving a meeting.
36
+ * @param {any} meeting
37
+ * @param {any} options
38
+ * @returns {any} request options
39
+ */
40
+ buildLeaveFetchRequestOptions: (meeting: any, options?: any) => any;
41
+ getTrack: (stream: any) => {
42
+ audioTrack: any;
43
+ videoTrack: any;
44
+ };
45
+ getModeratorFromLocusInfo: (locusInfo: any) => any;
46
+ getPolicyFromLocusInfo: (locusInfo: any) => any;
47
+ getUserDisplayHintsFromLocusInfo: (locusInfo: any) => any;
48
+ canInviteNewParticipants: (displayHints: any) => any;
49
+ canAdmitParticipant: (displayHints: any) => any;
50
+ canUserLock: (displayHints: any) => any;
51
+ canUserUnlock: (displayHints: any) => any;
52
+ canUserRaiseHand: (displayHints: any) => any;
53
+ canUserLowerAllHands: (displayHints: any) => any;
54
+ canUserLowerSomeoneElsesHand: (displayHints: any) => any;
55
+ bothLeaveAndEndMeetingAvailable: (displayHints: any) => any;
56
+ canManageBreakout: (displayHints: any) => any;
57
+ canBroadcastMessageToBreakout: (displayHints: any, policies?: {}) => boolean;
58
+ isSuppressBreakoutSupport: (displayHints: any) => any;
59
+ canAdmitLobbyToBreakout: (displayHints: any) => boolean;
60
+ isBreakoutPreassignmentsEnabled: (displayHints: any) => boolean;
61
+ canUserAskForHelp: (displayHints: any) => boolean;
62
+ lockMeeting: (actions: any, request: any, locusUrl: any) => any;
63
+ unlockMeeting: (actions: any, request: any, locusUrl: any) => any;
64
+ handleAudioLogging: (audioStream?: LocalMicrophoneStream) => void;
65
+ handleVideoLogging: (videoStream?: LocalCameraStream) => void;
66
+ handleDeviceLogging: (devices?: any[]) => void;
67
+ endMeetingForAll: (meeting: any) => any;
68
+ canEnableClosedCaption: (displayHints: any) => any;
69
+ isSaveTranscriptsEnabled: (displayHints: any) => any;
70
+ canStartTranscribing: (displayHints: any) => any;
71
+ canStopTranscribing: (displayHints: any) => any;
72
+ isClosedCaptionActive: (displayHints: any) => any;
73
+ isWebexAssistantActive: (displayHints: any) => any;
74
+ canViewCaptionPanel: (displayHints: any) => any;
75
+ isRealTimeTranslationEnabled: (displayHints: any) => any;
76
+ canSelectSpokenLanguages: (displayHints: any) => any;
77
+ waitingForOthersToJoin: (displayHints: any) => any;
78
+ canSendReactions: (originalValue: any, displayHints: any) => any;
79
+ canUserRenameSelfAndObserved: (displayHints: any) => any;
80
+ canUserRenameOthers: (displayHints: any) => any;
81
+ canShareWhiteBoard: (displayHints: any) => any;
82
+ /**
83
+ * Adds the current locus sequence information to a request body
84
+ * @param {Object} meeting The meeting object
85
+ * @param {Object} requestBody The body of a request to locus
86
+ * @returns {void}
87
+ */
88
+ addSequence: (meeting: any, requestBody: any) => void;
89
+ /**
90
+ * Updates the locus info for the meeting with the delta locus
91
+ * returned from requests that include the sequence information
92
+ * Returns the original response object
93
+ * @param {Object} meeting The meeting object
94
+ * @param {Object} response The response of the http request
95
+ * @returns {Object}
96
+ */
97
+ updateLocusWithDelta: (meeting: any, response: any) => any;
98
+ generateBuildLocusDeltaRequestOptions: (originalMeeting: any) => (originalOptions: any) => any;
99
+ generateLocusDeltaRequest: (originalMeeting: any) => (originalOptions: any) => any;
100
+ selfSupportsFeature: (feature: SELF_POLICY, userPolicies: Record<SELF_POLICY, boolean>) => boolean;
101
+ parseInterpretationInfo: (meeting: any, meetingInfo: any) => void;
102
+ /**
103
+ * Returns a CA-recognized error payload for the specified raw error message/reason.
104
+ *
105
+ * New errors can be added to this function for handling in the future
106
+ *
107
+ * @param {String} reason the raw error message
108
+ * @returns {Array<object>} an array of payload objects
109
+ */
110
+ getChangeMeetingFloorErrorPayload: (reason: string) => {
111
+ fatal: boolean;
112
+ category: string;
113
+ errorCode: number;
114
+ errorDescription: string;
115
+ name: string;
116
+ shownToUser: boolean;
117
+ }[];
118
+ };
119
+ export default MeetingUtil;
@@ -0,0 +1,16 @@
1
+ export declare const getSpeaker: (members: any, csis?: any[]) => unknown;
2
+ export declare const getSpeakerFromProxyOrStore: ({ csisKey, meetingMembers, transcriptData }: {
3
+ csisKey: any;
4
+ meetingMembers: any;
5
+ transcriptData: any;
6
+ }) => {
7
+ speaker: {
8
+ speakerId: string;
9
+ name: string;
10
+ };
11
+ needsCaching: boolean;
12
+ };
13
+ export declare const processNewCaptions: ({ data, meeting }: {
14
+ data: any;
15
+ meeting: any;
16
+ }) => void;
@@ -0,0 +1,20 @@
1
+ import Collection from '../common/collection';
2
+ /**
3
+ * @class MeetingInfoCollection
4
+ */
5
+ export default class MeetingInfoCollection extends Collection {
6
+ namespace: string;
7
+ /**
8
+ * @memberof MeetingInfoCollection
9
+ * @constructor
10
+ * @public
11
+ */
12
+ constructor();
13
+ /**
14
+ * @param {String} id ID of the meeting info you wish to retreive
15
+ * @returns {MeetingInfo} returns a meeting info instance
16
+ * @public
17
+ * @memberof MeetingInfoCollection
18
+ */
19
+ get(id: string): any;
20
+ }
@@ -0,0 +1,69 @@
1
+ /*!
2
+ * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
3
+ */
4
+ /**
5
+ * @class MeetingInfo
6
+ */
7
+ export default class MeetingInfo {
8
+ meetingInfoCollection: any;
9
+ meetingInfoRequest: any;
10
+ webex: any;
11
+ /**
12
+ *
13
+ * @param {WebexSDK} webex
14
+ */
15
+ constructor(webex: any);
16
+ /**
17
+ * @param {string} id
18
+ * @returns {object}
19
+ * @public
20
+ * @memberof MeetingInfo
21
+ */
22
+ getMeetingInfo(id: string): any;
23
+ /**
24
+ * @param {string} id
25
+ * @param {object} info
26
+ * @returns {null}
27
+ * @public
28
+ * @memberof MeetingInfo
29
+ */
30
+ setMeetingInfo(id: string, info: object): void;
31
+ /**
32
+ * Helper to make the actual MeetingInfo request and set the meetingInfo if successful, else reject
33
+ * @param {Object} options
34
+ * @returns {Promise}
35
+ * @private
36
+ * @memberof MeetingInfo
37
+ */
38
+ private requestFetchInfo;
39
+ /**
40
+ * Helper to generate the options for the MeetingInfo request
41
+ * @param {String} destination
42
+ * @param {String} type
43
+ * @returns {Promise}
44
+ * @private
45
+ * @memberof MeetingInfo
46
+ */
47
+ private fetchInfoOptions;
48
+ /**
49
+ * Fetches meeting info from the server
50
+ * @param {String} destination one of many different types of destinations to look up info for
51
+ * @param {String} [type] to match up with the destination value
52
+ * @param {String} [password] meeting password
53
+ * @param {Object} [captchaInfo] captcha code and id
54
+ * @param {String} [installedOrgID]
55
+ * @param {String} [locusId]
56
+ * @param {Object} [extraParams]
57
+ * @param {Boolean} [options] meeting Id and whether Call Analyzer events should be sent
58
+ * @returns {Promise} returns a meeting info object
59
+ * @public
60
+ * @memberof MeetingInfo
61
+ */
62
+ fetchMeetingInfo(destination: string, type?: string, password?: string, captchaInfo?: {
63
+ code: string;
64
+ id: string;
65
+ }, installedOrgID?: any, locusId?: any, extraParams?: object, options?: {
66
+ meetingId?: string;
67
+ sendCAevents?: boolean;
68
+ }): any;
69
+ }
@@ -0,0 +1,123 @@
1
+ /**
2
+ * Error to indicate that wbxappapi requires a password
3
+ */
4
+ export declare class MeetingInfoV2PasswordError extends Error {
5
+ meetingInfo: any;
6
+ sdkMessage: any;
7
+ wbxAppApiCode: any;
8
+ body: any;
9
+ /**
10
+ *
11
+ * @constructor
12
+ * @param {Number} [wbxAppApiErrorCode]
13
+ * @param {Object} [meetingInfo]
14
+ * @param {String} [message]
15
+ */
16
+ constructor(wbxAppApiErrorCode?: number, meetingInfo?: object, message?: string);
17
+ }
18
+ /**
19
+ * Error generating a adhoc space meeting
20
+ */
21
+ export declare class MeetingInfoV2AdhocMeetingError extends Error {
22
+ sdkMessage: any;
23
+ wbxAppApiCode: any;
24
+ /**
25
+ *
26
+ * @constructor
27
+ * @param {Number} [wbxAppApiErrorCode]
28
+ * @param {String} [message]
29
+ */
30
+ constructor(wbxAppApiErrorCode?: number, message?: string);
31
+ }
32
+ /**
33
+ * Error preventing join because of a meeting policy
34
+ */
35
+ export declare class MeetingInfoV2PolicyError extends Error {
36
+ meetingInfo: object;
37
+ sdkMessage: string;
38
+ wbxAppApiCode: number;
39
+ /**
40
+ *
41
+ * @constructor
42
+ * @param {Number} [wbxAppApiErrorCode]
43
+ * @param {Object} [meetingInfo]
44
+ * @param {String} [message]
45
+ */
46
+ constructor(wbxAppApiErrorCode?: number, meetingInfo?: object, message?: string);
47
+ }
48
+ /**
49
+ * Error to indicate that preferred webex site not present to start adhoc meeting
50
+ */
51
+ export declare class MeetingInfoV2CaptchaError extends Error {
52
+ captchaInfo: any;
53
+ isPasswordRequired: any;
54
+ sdkMessage: any;
55
+ wbxAppApiCode: any;
56
+ body: any;
57
+ /**
58
+ *
59
+ * @constructor
60
+ * @param {Number} [wbxAppApiErrorCode]
61
+ * @param {Object} [captchaInfo]
62
+ * @param {String} [message]
63
+ */
64
+ constructor(wbxAppApiErrorCode?: number, captchaInfo?: object, message?: string);
65
+ }
66
+ /**
67
+ * @class MeetingInfo
68
+ */
69
+ export default class MeetingInfoV2 {
70
+ webex: any;
71
+ /**
72
+ *
73
+ * @param {WebexSDK} webex
74
+ */
75
+ constructor(webex: any);
76
+ /**
77
+ * converts hydra id into conversation url and persons Id
78
+ * @param {String} destination one of many different types of destinations to look up info for
79
+ * @param {String} [type] to match up with the destination value
80
+ * @returns {Promise} destination and type
81
+ * @public
82
+ * @memberof MeetingInfo
83
+ */
84
+ fetchInfoOptions(destination: string, type?: string): any;
85
+ /**
86
+ * Raises a MeetingInfoV2PolicyError for policy error codes
87
+ * @param {any} err the error from the request
88
+ * @returns {void}
89
+ */
90
+ handlePolicyError: (err: any) => void;
91
+ /**
92
+ * Creates adhoc space meetings for a space by fetching the conversation infomation
93
+ * @param {String} conversationUrl conversationUrl to start adhoc meeting on
94
+ * @param {String} installedOrgID org ID of user's machine
95
+ * @returns {Promise} returns a meeting info object
96
+ * @public
97
+ * @memberof MeetingInfo
98
+ */
99
+ createAdhocSpaceMeeting(conversationUrl: string, installedOrgID?: string): Promise<any>;
100
+ /**
101
+ * Fetches meeting info from the server
102
+ * @param {String} destination one of many different types of destinations to look up info for
103
+ * @param {String} [type] to match up with the destination value
104
+ * @param {String} password
105
+ * @param {Object} captchaInfo
106
+ * @param {String} captchaInfo.code
107
+ * @param {String} captchaInfo.id
108
+ * @param {String} installedOrgID org ID of user's machine
109
+ * @param {String} locusId
110
+ * @param {Object} extraParams
111
+ * @param {Object} options
112
+ * @returns {Promise} returns a meeting info object
113
+ * @public
114
+ * @memberof MeetingInfo
115
+ */
116
+ fetchMeetingInfo(destination: string, type?: string, password?: string, captchaInfo?: {
117
+ code: string;
118
+ id: string;
119
+ }, installedOrgID?: any, locusId?: any, extraParams?: object, options?: {
120
+ meetingId?: string;
121
+ sendCAevents?: boolean;
122
+ }): Promise<any>;
123
+ }