@webex/plugin-meetings 3.11.0 → 3.12.0-mobius-socket.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 (175) hide show
  1. package/dist/aiEnableRequest/index.js +184 -0
  2. package/dist/aiEnableRequest/index.js.map +1 -0
  3. package/dist/aiEnableRequest/utils.js +36 -0
  4. package/dist/aiEnableRequest/utils.js.map +1 -0
  5. package/dist/annotation/index.js +14 -5
  6. package/dist/annotation/index.js.map +1 -1
  7. package/dist/breakouts/breakout.js +1 -1
  8. package/dist/breakouts/index.js +1 -1
  9. package/dist/config.js +7 -2
  10. package/dist/config.js.map +1 -1
  11. package/dist/constants.js +28 -6
  12. package/dist/constants.js.map +1 -1
  13. package/dist/hashTree/constants.js +3 -1
  14. package/dist/hashTree/constants.js.map +1 -1
  15. package/dist/hashTree/hashTree.js +18 -0
  16. package/dist/hashTree/hashTree.js.map +1 -1
  17. package/dist/hashTree/hashTreeParser.js +868 -419
  18. package/dist/hashTree/hashTreeParser.js.map +1 -1
  19. package/dist/hashTree/types.js +4 -2
  20. package/dist/hashTree/types.js.map +1 -1
  21. package/dist/hashTree/utils.js +10 -0
  22. package/dist/hashTree/utils.js.map +1 -1
  23. package/dist/index.js +11 -2
  24. package/dist/index.js.map +1 -1
  25. package/dist/interceptors/constant.js +12 -0
  26. package/dist/interceptors/constant.js.map +1 -0
  27. package/dist/interceptors/dataChannelAuthToken.js +290 -0
  28. package/dist/interceptors/dataChannelAuthToken.js.map +1 -0
  29. package/dist/interceptors/index.js +7 -0
  30. package/dist/interceptors/index.js.map +1 -1
  31. package/dist/interceptors/utils.js +27 -0
  32. package/dist/interceptors/utils.js.map +1 -0
  33. package/dist/interpretation/index.js +2 -2
  34. package/dist/interpretation/index.js.map +1 -1
  35. package/dist/interpretation/siLanguage.js +1 -1
  36. package/dist/locus-info/controlsUtils.js +5 -3
  37. package/dist/locus-info/controlsUtils.js.map +1 -1
  38. package/dist/locus-info/index.js +522 -131
  39. package/dist/locus-info/index.js.map +1 -1
  40. package/dist/locus-info/selfUtils.js +1 -0
  41. package/dist/locus-info/selfUtils.js.map +1 -1
  42. package/dist/locus-info/types.js.map +1 -1
  43. package/dist/media/MediaConnectionAwaiter.js +57 -1
  44. package/dist/media/MediaConnectionAwaiter.js.map +1 -1
  45. package/dist/media/properties.js +4 -2
  46. package/dist/media/properties.js.map +1 -1
  47. package/dist/meeting/in-meeting-actions.js +7 -1
  48. package/dist/meeting/in-meeting-actions.js.map +1 -1
  49. package/dist/meeting/index.js +1304 -928
  50. package/dist/meeting/index.js.map +1 -1
  51. package/dist/meeting/request.js +50 -0
  52. package/dist/meeting/request.js.map +1 -1
  53. package/dist/meeting/request.type.js.map +1 -1
  54. package/dist/meeting/util.js +133 -3
  55. package/dist/meeting/util.js.map +1 -1
  56. package/dist/meetings/index.js +117 -48
  57. package/dist/meetings/index.js.map +1 -1
  58. package/dist/member/index.js +10 -0
  59. package/dist/member/index.js.map +1 -1
  60. package/dist/member/util.js +10 -0
  61. package/dist/member/util.js.map +1 -1
  62. package/dist/metrics/constants.js +6 -1
  63. package/dist/metrics/constants.js.map +1 -1
  64. package/dist/multistream/mediaRequestManager.js +9 -60
  65. package/dist/multistream/mediaRequestManager.js.map +1 -1
  66. package/dist/multistream/remoteMediaManager.js +11 -0
  67. package/dist/multistream/remoteMediaManager.js.map +1 -1
  68. package/dist/multistream/sendSlotManager.js +116 -2
  69. package/dist/multistream/sendSlotManager.js.map +1 -1
  70. package/dist/reachability/index.js +18 -10
  71. package/dist/reachability/index.js.map +1 -1
  72. package/dist/reactions/reactions.type.js.map +1 -1
  73. package/dist/reconnection-manager/index.js +0 -1
  74. package/dist/reconnection-manager/index.js.map +1 -1
  75. package/dist/types/aiEnableRequest/index.d.ts +5 -0
  76. package/dist/types/aiEnableRequest/utils.d.ts +2 -0
  77. package/dist/types/config.d.ts +4 -0
  78. package/dist/types/constants.d.ts +23 -1
  79. package/dist/types/hashTree/constants.d.ts +1 -0
  80. package/dist/types/hashTree/hashTree.d.ts +7 -0
  81. package/dist/types/hashTree/hashTreeParser.d.ts +122 -14
  82. package/dist/types/hashTree/types.d.ts +3 -0
  83. package/dist/types/hashTree/utils.d.ts +6 -0
  84. package/dist/types/index.d.ts +1 -0
  85. package/dist/types/interceptors/constant.d.ts +5 -0
  86. package/dist/types/interceptors/dataChannelAuthToken.d.ts +43 -0
  87. package/dist/types/interceptors/index.d.ts +2 -1
  88. package/dist/types/interceptors/utils.d.ts +1 -0
  89. package/dist/types/locus-info/index.d.ts +60 -8
  90. package/dist/types/locus-info/types.d.ts +7 -0
  91. package/dist/types/media/MediaConnectionAwaiter.d.ts +10 -1
  92. package/dist/types/media/properties.d.ts +2 -1
  93. package/dist/types/meeting/in-meeting-actions.d.ts +6 -0
  94. package/dist/types/meeting/index.d.ts +72 -7
  95. package/dist/types/meeting/request.d.ts +16 -1
  96. package/dist/types/meeting/request.type.d.ts +5 -0
  97. package/dist/types/meeting/util.d.ts +31 -0
  98. package/dist/types/meetings/index.d.ts +4 -2
  99. package/dist/types/member/index.d.ts +1 -0
  100. package/dist/types/member/util.d.ts +5 -0
  101. package/dist/types/metrics/constants.d.ts +5 -0
  102. package/dist/types/multistream/mediaRequestManager.d.ts +0 -23
  103. package/dist/types/multistream/sendSlotManager.d.ts +23 -1
  104. package/dist/types/reactions/reactions.type.d.ts +1 -0
  105. package/dist/types/webinar/utils.d.ts +6 -0
  106. package/dist/webinar/index.js +438 -163
  107. package/dist/webinar/index.js.map +1 -1
  108. package/dist/webinar/utils.js +25 -0
  109. package/dist/webinar/utils.js.map +1 -0
  110. package/package.json +24 -23
  111. package/src/aiEnableRequest/README.md +84 -0
  112. package/src/aiEnableRequest/index.ts +170 -0
  113. package/src/aiEnableRequest/utils.ts +25 -0
  114. package/src/annotation/index.ts +27 -7
  115. package/src/config.ts +4 -0
  116. package/src/constants.ts +29 -1
  117. package/src/hashTree/constants.ts +1 -0
  118. package/src/hashTree/hashTree.ts +17 -0
  119. package/src/hashTree/hashTreeParser.ts +761 -260
  120. package/src/hashTree/types.ts +4 -0
  121. package/src/hashTree/utils.ts +9 -0
  122. package/src/index.ts +8 -1
  123. package/src/interceptors/constant.ts +6 -0
  124. package/src/interceptors/dataChannelAuthToken.ts +170 -0
  125. package/src/interceptors/index.ts +2 -1
  126. package/src/interceptors/utils.ts +16 -0
  127. package/src/interpretation/index.ts +2 -2
  128. package/src/locus-info/controlsUtils.ts +11 -0
  129. package/src/locus-info/index.ts +579 -113
  130. package/src/locus-info/selfUtils.ts +1 -0
  131. package/src/locus-info/types.ts +8 -0
  132. package/src/media/MediaConnectionAwaiter.ts +41 -1
  133. package/src/media/properties.ts +3 -1
  134. package/src/meeting/in-meeting-actions.ts +12 -0
  135. package/src/meeting/index.ts +389 -87
  136. package/src/meeting/request.ts +42 -0
  137. package/src/meeting/request.type.ts +6 -0
  138. package/src/meeting/util.ts +160 -2
  139. package/src/meetings/index.ts +157 -44
  140. package/src/member/index.ts +10 -0
  141. package/src/member/util.ts +12 -0
  142. package/src/metrics/constants.ts +6 -0
  143. package/src/multistream/mediaRequestManager.ts +4 -54
  144. package/src/multistream/remoteMediaManager.ts +13 -0
  145. package/src/multistream/sendSlotManager.ts +97 -3
  146. package/src/reachability/index.ts +9 -0
  147. package/src/reactions/reactions.type.ts +1 -0
  148. package/src/reconnection-manager/index.ts +0 -1
  149. package/src/webinar/index.ts +265 -6
  150. package/src/webinar/utils.ts +16 -0
  151. package/test/unit/spec/aiEnableRequest/index.ts +981 -0
  152. package/test/unit/spec/aiEnableRequest/utils.ts +130 -0
  153. package/test/unit/spec/annotation/index.ts +69 -7
  154. package/test/unit/spec/hashTree/hashTree.ts +66 -0
  155. package/test/unit/spec/hashTree/hashTreeParser.ts +2321 -175
  156. package/test/unit/spec/interceptors/dataChannelAuthToken.ts +210 -0
  157. package/test/unit/spec/interceptors/utils.ts +75 -0
  158. package/test/unit/spec/locus-info/controlsUtils.js +29 -0
  159. package/test/unit/spec/locus-info/index.js +1134 -55
  160. package/test/unit/spec/media/MediaConnectionAwaiter.ts +41 -1
  161. package/test/unit/spec/media/properties.ts +12 -3
  162. package/test/unit/spec/meeting/in-meeting-actions.ts +8 -2
  163. package/test/unit/spec/meeting/index.js +884 -152
  164. package/test/unit/spec/meeting/request.js +70 -0
  165. package/test/unit/spec/meeting/utils.js +438 -26
  166. package/test/unit/spec/meetings/index.js +653 -32
  167. package/test/unit/spec/member/index.js +28 -4
  168. package/test/unit/spec/member/util.js +65 -27
  169. package/test/unit/spec/multistream/mediaRequestManager.ts +2 -85
  170. package/test/unit/spec/multistream/remoteMediaManager.ts +30 -0
  171. package/test/unit/spec/multistream/sendSlotManager.ts +135 -36
  172. package/test/unit/spec/reachability/index.ts +23 -0
  173. package/test/unit/spec/reconnection-manager/index.js +4 -8
  174. package/test/unit/spec/webinar/index.ts +534 -37
  175. package/test/unit/spec/webinar/utils.ts +39 -0
@@ -6,15 +6,18 @@ _Object$defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.default = void 0;
9
+ var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
9
10
  var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
10
11
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
11
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
12
13
  var _webexCore = require("@webex/webex-core");
13
14
  var _uuid = _interopRequireDefault(require("uuid"));
14
15
  var _lodash = require("lodash");
16
+ var _internalPluginLlm = require("@webex/internal-plugin-llm");
15
17
  var _constants = require("../constants");
16
18
  var _collection = _interopRequireDefault(require("./collection"));
17
19
  var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
20
+ var _utils = require("./utils");
18
21
  /*!
19
22
  * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.
20
23
  */
@@ -42,6 +45,13 @@ var Webinar = _webexCore.WebexPlugin.extend({
42
45
  // practice session enabled
43
46
  meetingId: 'string'
44
47
  },
48
+ /**
49
+ * Calls this to clean up listeners
50
+ * @returns {void}
51
+ */
52
+ cleanUp: function cleanUp() {
53
+ this.cleanupPSDataChannel();
54
+ },
45
55
  /**
46
56
  * Update the current locus url of the webinar
47
57
  * @param {string} locusUrl
@@ -105,10 +115,7 @@ var Webinar = _webexCore.WebexPlugin.extend({
105
115
  // while panelist still need subscribe native mode so trigger force update here
106
116
  meeting === null || meeting === void 0 ? void 0 : (_meeting$locusInfo = meeting.locusInfo) === null || _meeting$locusInfo === void 0 ? void 0 : _meeting$locusInfo.updateMediaShares(meeting === null || meeting === void 0 ? void 0 : (_meeting$locusInfo2 = meeting.locusInfo) === null || _meeting$locusInfo2 === void 0 ? void 0 : _meeting$locusInfo2.mediaShares, true);
107
117
  }
108
- if (this.practiceSessionEnabled) {
109
- // may need change data channel in practice session
110
- meeting === null || meeting === void 0 ? void 0 : meeting.updateLLMConnection();
111
- }
118
+ this.updatePSDataChannel();
112
119
  },
113
120
  /**
114
121
  * should join practice session data channel or not
@@ -117,6 +124,217 @@ var Webinar = _webexCore.WebexPlugin.extend({
117
124
  isJoinPracticeSessionDataChannel: function isJoinPracticeSessionDataChannel() {
118
125
  return this.selfIsPanelist && this.practiceSessionEnabled;
119
126
  },
127
+ /**
128
+ * Disconnects the practice session data channel and removes its relay listener.
129
+ * @returns {Promise<void>}
130
+ */
131
+ cleanupPSDataChannel: function cleanupPSDataChannel() {
132
+ var _this = this;
133
+ return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
134
+ var meeting;
135
+ return _regenerator.default.wrap(function (_context) {
136
+ while (1) switch (_context.prev = _context.next) {
137
+ case 0:
138
+ if (_this._pendingOnlineListener) {
139
+ // @ts-ignore - Fix type
140
+ _this.webex.internal.llm.off('online', _this._pendingOnlineListener);
141
+ _this._pendingOnlineListener = null;
142
+ }
143
+ meeting = _this.webex.meetings.getMeetingByType(_constants._ID_, _this.meetingId); // @ts-ignore - Fix type
144
+ _context.next = 1;
145
+ return _this.webex.internal.llm.disconnectLLM({
146
+ code: 3050,
147
+ reason: 'done (permanent)'
148
+ }, _constants.LLM_PRACTICE_SESSION);
149
+ case 1:
150
+ // @ts-ignore - Fix type
151
+ _this.webex.internal.llm.off("event:relay.event:".concat(_constants.LLM_PRACTICE_SESSION), meeting === null || meeting === void 0 ? void 0 : meeting.processRelayEvent);
152
+ case 2:
153
+ case "end":
154
+ return _context.stop();
155
+ }
156
+ }, _callee);
157
+ }))();
158
+ },
159
+ /**
160
+ * Ensures practice-session token exists before registering the practice LLM channel.
161
+ * @param {object} meeting
162
+ * @returns {Promise<string|undefined>}
163
+ */
164
+ ensurePracticeSessionDatachannelToken: function ensurePracticeSessionDatachannelToken(meeting) {
165
+ var _this2 = this;
166
+ return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
167
+ var isDataChannelTokenEnabled, cachedToken, _refreshResponse$body, refreshResponse, _ref2, datachannelToken, dataChannelTokenType, _t;
168
+ return _regenerator.default.wrap(function (_context2) {
169
+ while (1) switch (_context2.prev = _context2.next) {
170
+ case 0:
171
+ _context2.next = 1;
172
+ return _this2.webex.internal.llm.isDataChannelTokenEnabled();
173
+ case 1:
174
+ isDataChannelTokenEnabled = _context2.sent;
175
+ if (isDataChannelTokenEnabled) {
176
+ _context2.next = 2;
177
+ break;
178
+ }
179
+ return _context2.abrupt("return", undefined);
180
+ case 2:
181
+ // @ts-ignore
182
+ cachedToken = _this2.webex.internal.llm.getDatachannelToken(_internalPluginLlm.DataChannelTokenType.PracticeSession);
183
+ if (!cachedToken) {
184
+ _context2.next = 3;
185
+ break;
186
+ }
187
+ return _context2.abrupt("return", cachedToken);
188
+ case 3:
189
+ _context2.prev = 3;
190
+ _context2.next = 4;
191
+ return meeting.refreshDataChannelToken();
192
+ case 4:
193
+ refreshResponse = _context2.sent;
194
+ _ref2 = (_refreshResponse$body = refreshResponse === null || refreshResponse === void 0 ? void 0 : refreshResponse.body) !== null && _refreshResponse$body !== void 0 ? _refreshResponse$body : {}, datachannelToken = _ref2.datachannelToken, dataChannelTokenType = _ref2.dataChannelTokenType;
195
+ if (datachannelToken) {
196
+ _context2.next = 5;
197
+ break;
198
+ }
199
+ return _context2.abrupt("return", undefined);
200
+ case 5:
201
+ // @ts-ignore
202
+ _this2.webex.internal.llm.setDatachannelToken(datachannelToken, dataChannelTokenType || _internalPluginLlm.DataChannelTokenType.PracticeSession);
203
+ return _context2.abrupt("return", datachannelToken);
204
+ case 6:
205
+ _context2.prev = 6;
206
+ _t = _context2["catch"](3);
207
+ _loggerProxy.default.logger.warn("Webinar:index#ensurePracticeSessionDatachannelToken --> failed to proactively refresh practice-session token: ".concat((_t === null || _t === void 0 ? void 0 : _t.message) || String(_t)));
208
+ return _context2.abrupt("return", undefined);
209
+ case 7:
210
+ case "end":
211
+ return _context2.stop();
212
+ }
213
+ }, _callee2, null, [[3, 6]]);
214
+ }))();
215
+ },
216
+ /**
217
+ * Connects to low latency mercury and reconnects if the address has changed
218
+ * It will also disconnect if called when the meeting has ended
219
+ * @returns {Promise}
220
+ */
221
+ updatePSDataChannel: function updatePSDataChannel() {
222
+ var _this3 = this;
223
+ return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3() {
224
+ var invocationSequence, meeting, isPracticeSession, _ref3, _ref3$url, url, _ref3$info, _ref3$info2, _ref3$info2$practiceS, practiceSessionDatachannelUrl, practiceSessionDatachannelToken, isCaptionBoxOn, _onDefaultSessionConnected, refreshedPracticeSessionToken, latestPracticeSessionDatachannelUrl, isStillPracticeSession;
225
+ return _regenerator.default.wrap(function (_context3) {
226
+ while (1) switch (_context3.prev = _context3.next) {
227
+ case 0:
228
+ _this3._updatePSDataChannelSequence = (_this3._updatePSDataChannelSequence || 0) + 1;
229
+ invocationSequence = _this3._updatePSDataChannelSequence;
230
+ meeting = _this3.webex.meetings.getMeetingByType(_constants._ID_, _this3.meetingId);
231
+ isPracticeSession = (meeting === null || meeting === void 0 ? void 0 : meeting.isJoined()) && _this3.isJoinPracticeSessionDataChannel();
232
+ if (isPracticeSession) {
233
+ _context3.next = 2;
234
+ break;
235
+ }
236
+ _context3.next = 1;
237
+ return _this3.cleanupPSDataChannel();
238
+ case 1:
239
+ return _context3.abrupt("return", undefined);
240
+ case 2:
241
+ // @ts-ignore - Fix type
242
+ _ref3 = (meeting === null || meeting === void 0 ? void 0 : meeting.locusInfo) || {}, _ref3$url = _ref3.url, url = _ref3$url === void 0 ? undefined : _ref3$url, _ref3$info = _ref3.info, _ref3$info2 = _ref3$info === void 0 ? {} : _ref3$info, _ref3$info2$practiceS = _ref3$info2.practiceSessionDatachannelUrl, practiceSessionDatachannelUrl = _ref3$info2$practiceS === void 0 ? undefined : _ref3$info2$practiceS; // @ts-ignore
243
+ practiceSessionDatachannelToken = _this3.webex.internal.llm.getDatachannelToken(_internalPluginLlm.DataChannelTokenType.PracticeSession);
244
+ isCaptionBoxOn = _this3.webex.internal.voicea.getIsCaptionBoxOn();
245
+ if (practiceSessionDatachannelUrl) {
246
+ _context3.next = 3;
247
+ break;
248
+ }
249
+ return _context3.abrupt("return", undefined);
250
+ case 3:
251
+ if (!_this3.webex.internal.llm.isConnected(_constants.LLM_PRACTICE_SESSION)) {
252
+ _context3.next = 5;
253
+ break;
254
+ }
255
+ if (!(
256
+ // @ts-ignore - Fix type
257
+ url === _this3.webex.internal.llm.getLocusUrl(_constants.LLM_PRACTICE_SESSION) &&
258
+ // @ts-ignore - Fix type
259
+ practiceSessionDatachannelUrl === _this3.webex.internal.llm.getDatachannelUrl(_constants.LLM_PRACTICE_SESSION))) {
260
+ _context3.next = 4;
261
+ break;
262
+ }
263
+ return _context3.abrupt("return", undefined);
264
+ case 4:
265
+ _context3.next = 5;
266
+ return _this3.cleanupPSDataChannel();
267
+ case 5:
268
+ // Ensure the default session data channel is connected before connecting the practice session.
269
+ // Subscribe before checking isConnected() to avoid a race where the 'online' event fires
270
+ // between the check and the subscription — Mercury does not replay missed events.
271
+ if (!_this3._pendingOnlineListener) {
272
+ _onDefaultSessionConnected = function onDefaultSessionConnected() {
273
+ _this3._pendingOnlineListener = null;
274
+ // @ts-ignore - Fix type
275
+ _this3.webex.internal.llm.off('online', _onDefaultSessionConnected);
276
+ _this3.updatePSDataChannel();
277
+ };
278
+ _this3._pendingOnlineListener = _onDefaultSessionConnected;
279
+ // @ts-ignore - Fix type
280
+ _this3.webex.internal.llm.on('online', _onDefaultSessionConnected);
281
+ }
282
+
283
+ // @ts-ignore - Fix type
284
+ if (_this3.webex.internal.llm.isConnected()) {
285
+ _context3.next = 6;
286
+ break;
287
+ }
288
+ _loggerProxy.default.logger.info('Webinar:index#updatePSDataChannel --> default session not yet connected, deferring practice session connect.');
289
+ return _context3.abrupt("return", undefined);
290
+ case 6:
291
+ // Default session is already connected — cancel the pending listener and proceed
292
+ if (_this3._pendingOnlineListener) {
293
+ // @ts-ignore - Fix type
294
+ _this3.webex.internal.llm.off('online', _this3._pendingOnlineListener);
295
+ _this3._pendingOnlineListener = null;
296
+ }
297
+ _context3.next = 7;
298
+ return _this3.ensurePracticeSessionDatachannelToken(meeting);
299
+ case 7:
300
+ refreshedPracticeSessionToken = _context3.sent;
301
+ latestPracticeSessionDatachannelUrl = (0, _lodash.get)(meeting, 'locusInfo.info.practiceSessionDatachannelUrl');
302
+ isStillPracticeSession = (meeting === null || meeting === void 0 ? void 0 : meeting.isJoined()) && _this3.isJoinPracticeSessionDataChannel(); // Skip stale invocations after async refresh to avoid reconnecting a session
303
+ // that was already updated/cleaned by a newer state transition.
304
+ if (!(invocationSequence !== _this3._updatePSDataChannelSequence || !isStillPracticeSession || !latestPracticeSessionDatachannelUrl || latestPracticeSessionDatachannelUrl !== practiceSessionDatachannelUrl)) {
305
+ _context3.next = 8;
306
+ break;
307
+ }
308
+ return _context3.abrupt("return", undefined);
309
+ case 8:
310
+ if (refreshedPracticeSessionToken) {
311
+ practiceSessionDatachannelToken = refreshedPracticeSessionToken;
312
+ }
313
+
314
+ // @ts-ignore - Fix type
315
+ return _context3.abrupt("return", _this3.webex.internal.llm.registerAndConnect(url, practiceSessionDatachannelUrl, practiceSessionDatachannelToken, _constants.LLM_PRACTICE_SESSION).then(function (registerAndConnectResult) {
316
+ var _this3$webex$internal, _this3$webex$internal2;
317
+ // @ts-ignore - Fix type
318
+ _this3.webex.internal.llm.off("event:relay.event:".concat(_constants.LLM_PRACTICE_SESSION), meeting === null || meeting === void 0 ? void 0 : meeting.processRelayEvent);
319
+ // @ts-ignore - Fix type
320
+ _this3.webex.internal.llm.on("event:relay.event:".concat(_constants.LLM_PRACTICE_SESSION), meeting === null || meeting === void 0 ? void 0 : meeting.processRelayEvent);
321
+ // @ts-ignore - Fix type
322
+ (_this3$webex$internal = _this3.webex.internal.voicea) === null || _this3$webex$internal === void 0 ? void 0 : (_this3$webex$internal2 = _this3$webex$internal.announce) === null || _this3$webex$internal2 === void 0 ? void 0 : _this3$webex$internal2.call(_this3$webex$internal);
323
+ if (isCaptionBoxOn) {
324
+ _this3.webex.internal.voicea.updateSubchannelSubscriptions({
325
+ subscribe: ['transcription']
326
+ });
327
+ }
328
+ _loggerProxy.default.logger.info("Webinar:index#updatePSDataChannel --> enabled to receive relay events for default session for ".concat(_constants.LLM_PRACTICE_SESSION, "!"));
329
+ return _promise.default.resolve(registerAndConnectResult);
330
+ }));
331
+ case 9:
332
+ case "end":
333
+ return _context3.stop();
334
+ }
335
+ }, _callee3);
336
+ }))();
337
+ },
120
338
  /**
121
339
  * start or stop practice session for webinar
122
340
  * @param {boolean} enabled
@@ -143,6 +361,7 @@ var Webinar = _webexCore.WebexPlugin.extend({
143
361
  */
144
362
  updatePracticeSessionStatus: function updatePracticeSessionStatus(payload) {
145
363
  this.set('practiceSessionEnabled', !!(payload !== null && payload !== void 0 && payload.enabled));
364
+ this.updatePSDataChannel().then(function () {});
146
365
  },
147
366
  /**
148
367
  * start webcast mode for webinar
@@ -151,33 +370,33 @@ var Webinar = _webexCore.WebexPlugin.extend({
151
370
  * @returns {Promise}
152
371
  */
153
372
  startWebcast: function startWebcast(meeting, layout) {
154
- var _this = this;
155
- return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
156
- var _t, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
157
- return _regenerator.default.wrap(function (_context) {
158
- while (1) switch (_context.prev = _context.next) {
373
+ var _this4 = this;
374
+ return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4() {
375
+ var _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
376
+ return _regenerator.default.wrap(function (_context4) {
377
+ while (1) switch (_context4.prev = _context4.next) {
159
378
  case 0:
160
379
  if (meeting) {
161
- _context.next = 1;
380
+ _context4.next = 1;
162
381
  break;
163
382
  }
164
383
  _loggerProxy.default.logger.error("Meeting:webinar#startWebcast failed --> meeting parameter : ".concat(meeting));
165
384
  throw new Error('Meeting parameter does not meet expectations');
166
385
  case 1:
167
- _t = _this;
168
- _t2 = _constants.HTTP_VERBS.PUT;
169
- _t3 = "".concat(_this.webcastInstanceUrl, "/streaming");
170
- _t4 = _defineProperty2.default;
171
- _context.next = 2;
172
- return _this.webex.credentials.getUserToken();
386
+ _t2 = _this4;
387
+ _t3 = _constants.HTTP_VERBS.PUT;
388
+ _t4 = "".concat(_this4.webcastInstanceUrl, "/streaming");
389
+ _t5 = _defineProperty2.default;
390
+ _context4.next = 2;
391
+ return _this4.webex.credentials.getUserToken();
173
392
  case 2:
174
- _t5 = _context.sent;
175
- _t6 = "".concat(_webexCore.config.trackingIdPrefix, "_").concat(_uuid.default.v4().toString());
176
- _t7 = _t4({
177
- authorization: _t5,
178
- trackingId: _t6
393
+ _t6 = _context4.sent;
394
+ _t7 = "".concat(_webexCore.config.trackingIdPrefix, "_").concat(_uuid.default.v4().toString());
395
+ _t8 = _t5({
396
+ authorization: _t6,
397
+ trackingId: _t7
179
398
  }, _constants.HEADERS.CONTENT_TYPE, _constants.HEADERS.CONTENT_TYPE_VALUE.APPLICATION_JSON);
180
- _t8 = {
399
+ _t9 = {
181
400
  action: 'start',
182
401
  meetingInfo: {
183
402
  locusId: meeting.locusId,
@@ -185,20 +404,20 @@ var Webinar = _webexCore.WebexPlugin.extend({
185
404
  },
186
405
  layout: layout
187
406
  };
188
- return _context.abrupt("return", _t.request.call(_t, {
189
- method: _t2,
190
- uri: _t3,
191
- headers: _t7,
192
- body: _t8
407
+ return _context4.abrupt("return", _t2.request.call(_t2, {
408
+ method: _t3,
409
+ uri: _t4,
410
+ headers: _t8,
411
+ body: _t9
193
412
  }).catch(function (error) {
194
413
  _loggerProxy.default.logger.error('Meeting:webinar#startWebcast failed', error);
195
414
  throw error;
196
415
  }));
197
416
  case 3:
198
417
  case "end":
199
- return _context.stop();
418
+ return _context4.stop();
200
419
  }
201
- }, _callee);
420
+ }, _callee4);
202
421
  }))();
203
422
  },
204
423
  /**
@@ -206,42 +425,42 @@ var Webinar = _webexCore.WebexPlugin.extend({
206
425
  * @returns {Promise}
207
426
  */
208
427
  stopWebcast: function stopWebcast() {
209
- var _this2 = this;
210
- return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
211
- var _t9, _t0, _t1, _t10, _t11, _t12, _t13, _t14;
212
- return _regenerator.default.wrap(function (_context2) {
213
- while (1) switch (_context2.prev = _context2.next) {
428
+ var _this5 = this;
429
+ return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5() {
430
+ var _t0, _t1, _t10, _t11, _t12, _t13, _t14, _t15;
431
+ return _regenerator.default.wrap(function (_context5) {
432
+ while (1) switch (_context5.prev = _context5.next) {
214
433
  case 0:
215
- _t9 = _this2;
216
- _t0 = _constants.HTTP_VERBS.PUT;
217
- _t1 = "".concat(_this2.webcastInstanceUrl, "/streaming");
218
- _t10 = _defineProperty2.default;
219
- _context2.next = 1;
220
- return _this2.webex.credentials.getUserToken();
434
+ _t0 = _this5;
435
+ _t1 = _constants.HTTP_VERBS.PUT;
436
+ _t10 = "".concat(_this5.webcastInstanceUrl, "/streaming");
437
+ _t11 = _defineProperty2.default;
438
+ _context5.next = 1;
439
+ return _this5.webex.credentials.getUserToken();
221
440
  case 1:
222
- _t11 = _context2.sent;
223
- _t12 = "".concat(_webexCore.config.trackingIdPrefix, "_").concat(_uuid.default.v4().toString());
224
- _t13 = _t10({
225
- authorization: _t11,
226
- trackingId: _t12
441
+ _t12 = _context5.sent;
442
+ _t13 = "".concat(_webexCore.config.trackingIdPrefix, "_").concat(_uuid.default.v4().toString());
443
+ _t14 = _t11({
444
+ authorization: _t12,
445
+ trackingId: _t13
227
446
  }, _constants.HEADERS.CONTENT_TYPE, _constants.HEADERS.CONTENT_TYPE_VALUE.APPLICATION_JSON);
228
- _t14 = {
447
+ _t15 = {
229
448
  action: 'stop'
230
449
  };
231
- return _context2.abrupt("return", _t9.request.call(_t9, {
232
- method: _t0,
233
- uri: _t1,
234
- headers: _t13,
235
- body: _t14
450
+ return _context5.abrupt("return", _t0.request.call(_t0, {
451
+ method: _t1,
452
+ uri: _t10,
453
+ headers: _t14,
454
+ body: _t15
236
455
  }).catch(function (error) {
237
456
  _loggerProxy.default.logger.error('Meeting:webinar#stopWebcast failed', error);
238
457
  throw error;
239
458
  }));
240
459
  case 2:
241
460
  case "end":
242
- return _context2.stop();
461
+ return _context5.stop();
243
462
  }
244
- }, _callee2);
463
+ }, _callee5);
245
464
  }))();
246
465
  },
247
466
  /**
@@ -249,37 +468,37 @@ var Webinar = _webexCore.WebexPlugin.extend({
249
468
  * @returns {Promise}
250
469
  */
251
470
  queryWebcastLayout: function queryWebcastLayout() {
252
- var _this3 = this;
253
- return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3() {
254
- var _t15, _t16, _t17, _t18, _t19, _t20;
255
- return _regenerator.default.wrap(function (_context3) {
256
- while (1) switch (_context3.prev = _context3.next) {
471
+ var _this6 = this;
472
+ return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6() {
473
+ var _t16, _t17, _t18, _t19, _t20, _t21;
474
+ return _regenerator.default.wrap(function (_context6) {
475
+ while (1) switch (_context6.prev = _context6.next) {
257
476
  case 0:
258
- _t15 = _this3;
259
- _t16 = _constants.HTTP_VERBS.GET;
260
- _t17 = "".concat(_this3.webcastInstanceUrl, "/layout");
261
- _context3.next = 1;
262
- return _this3.webex.credentials.getUserToken();
477
+ _t16 = _this6;
478
+ _t17 = _constants.HTTP_VERBS.GET;
479
+ _t18 = "".concat(_this6.webcastInstanceUrl, "/layout");
480
+ _context6.next = 1;
481
+ return _this6.webex.credentials.getUserToken();
263
482
  case 1:
264
- _t18 = _context3.sent;
265
- _t19 = "".concat(_webexCore.config.trackingIdPrefix, "_").concat(_uuid.default.v4().toString());
266
- _t20 = {
267
- authorization: _t18,
268
- trackingId: _t19
483
+ _t19 = _context6.sent;
484
+ _t20 = "".concat(_webexCore.config.trackingIdPrefix, "_").concat(_uuid.default.v4().toString());
485
+ _t21 = {
486
+ authorization: _t19,
487
+ trackingId: _t20
269
488
  };
270
- return _context3.abrupt("return", _t15.request.call(_t15, {
271
- method: _t16,
272
- uri: _t17,
273
- headers: _t20
489
+ return _context6.abrupt("return", _t16.request.call(_t16, {
490
+ method: _t17,
491
+ uri: _t18,
492
+ headers: _t21
274
493
  }).catch(function (error) {
275
494
  _loggerProxy.default.logger.error('Meeting:webinar#queryWebcastLayout failed', error);
276
495
  throw error;
277
496
  }));
278
497
  case 2:
279
498
  case "end":
280
- return _context3.stop();
499
+ return _context6.stop();
281
500
  }
282
- }, _callee3);
501
+ }, _callee6);
283
502
  }))();
284
503
  },
285
504
  /**
@@ -288,84 +507,83 @@ var Webinar = _webexCore.WebexPlugin.extend({
288
507
  * @returns {Promise}
289
508
  */
290
509
  updateWebcastLayout: function updateWebcastLayout(layout) {
291
- var _this4 = this;
292
- return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4() {
293
- var _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28;
294
- return _regenerator.default.wrap(function (_context4) {
295
- while (1) switch (_context4.prev = _context4.next) {
510
+ var _this7 = this;
511
+ return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee7() {
512
+ var _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29;
513
+ return _regenerator.default.wrap(function (_context7) {
514
+ while (1) switch (_context7.prev = _context7.next) {
296
515
  case 0:
297
- _t21 = _this4;
298
- _t22 = _constants.HTTP_VERBS.PUT;
299
- _t23 = "".concat(_this4.webcastInstanceUrl, "/layout");
300
- _t24 = _defineProperty2.default;
301
- _context4.next = 1;
302
- return _this4.webex.credentials.getUserToken();
516
+ _t22 = _this7;
517
+ _t23 = _constants.HTTP_VERBS.PUT;
518
+ _t24 = "".concat(_this7.webcastInstanceUrl, "/layout");
519
+ _t25 = _defineProperty2.default;
520
+ _context7.next = 1;
521
+ return _this7.webex.credentials.getUserToken();
303
522
  case 1:
304
- _t25 = _context4.sent;
305
- _t26 = "".concat(_webexCore.config.trackingIdPrefix, "_").concat(_uuid.default.v4().toString());
306
- _t27 = _t24({
307
- authorization: _t25,
308
- trackingId: _t26
523
+ _t26 = _context7.sent;
524
+ _t27 = "".concat(_webexCore.config.trackingIdPrefix, "_").concat(_uuid.default.v4().toString());
525
+ _t28 = _t25({
526
+ authorization: _t26,
527
+ trackingId: _t27
309
528
  }, _constants.HEADERS.CONTENT_TYPE, _constants.HEADERS.CONTENT_TYPE_VALUE.APPLICATION_JSON);
310
- _t28 = {
529
+ _t29 = {
311
530
  videoLayout: layout.videoLayout,
312
531
  contentLayout: layout.contentLayout,
313
532
  syncStageLayout: layout.syncStageLayout,
314
533
  syncStageInMeeting: layout.syncStageInMeeting
315
534
  };
316
- return _context4.abrupt("return", _t21.request.call(_t21, {
317
- method: _t22,
318
- uri: _t23,
319
- headers: _t27,
320
- body: _t28
535
+ return _context7.abrupt("return", _t22.request.call(_t22, {
536
+ method: _t23,
537
+ uri: _t24,
538
+ headers: _t28,
539
+ body: _t29
321
540
  }).catch(function (error) {
322
541
  _loggerProxy.default.logger.error('Meeting:webinar#updateWebcastLayout failed', error);
323
542
  throw error;
324
543
  }));
325
544
  case 2:
326
545
  case "end":
327
- return _context4.stop();
546
+ return _context7.stop();
328
547
  }
329
- }, _callee4);
548
+ }, _callee7);
330
549
  }))();
331
550
  },
332
551
  /**
333
552
  * view all webcast attendees
334
- * @param {string} queryString
335
553
  * @returns {Promise}
336
554
  */
337
555
  viewAllWebcastAttendees: function viewAllWebcastAttendees() {
338
- var _this5 = this;
339
- return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5() {
340
- var _t29, _t30, _t31, _t32, _t33, _t34;
341
- return _regenerator.default.wrap(function (_context5) {
342
- while (1) switch (_context5.prev = _context5.next) {
556
+ var _this8 = this;
557
+ return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee8() {
558
+ var _t30, _t31, _t32, _t33, _t34, _t35;
559
+ return _regenerator.default.wrap(function (_context8) {
560
+ while (1) switch (_context8.prev = _context8.next) {
343
561
  case 0:
344
- _t29 = _this5;
345
- _t30 = _constants.HTTP_VERBS.GET;
346
- _t31 = "".concat(_this5.webcastInstanceUrl, "/attendees");
347
- _context5.next = 1;
348
- return _this5.webex.credentials.getUserToken();
562
+ _t30 = _this8;
563
+ _t31 = _constants.HTTP_VERBS.GET;
564
+ _t32 = "".concat(_this8.webcastInstanceUrl, "/attendees");
565
+ _context8.next = 1;
566
+ return _this8.webex.credentials.getUserToken();
349
567
  case 1:
350
- _t32 = _context5.sent;
351
- _t33 = "".concat(_webexCore.config.trackingIdPrefix, "_").concat(_uuid.default.v4().toString());
352
- _t34 = {
353
- authorization: _t32,
354
- trackingId: _t33
568
+ _t33 = _context8.sent;
569
+ _t34 = "".concat(_webexCore.config.trackingIdPrefix, "_").concat(_uuid.default.v4().toString());
570
+ _t35 = {
571
+ authorization: _t33,
572
+ trackingId: _t34
355
573
  };
356
- return _context5.abrupt("return", _t29.request.call(_t29, {
357
- method: _t30,
358
- uri: _t31,
359
- headers: _t34
574
+ return _context8.abrupt("return", _t30.request.call(_t30, {
575
+ method: _t31,
576
+ uri: _t32,
577
+ headers: _t35
360
578
  }).catch(function (error) {
361
579
  _loggerProxy.default.logger.error('Meeting:webinar#viewAllWebcastAttendees failed', error);
362
580
  throw error;
363
581
  }));
364
582
  case 2:
365
583
  case "end":
366
- return _context5.stop();
584
+ return _context8.stop();
367
585
  }
368
- }, _callee5);
586
+ }, _callee8);
369
587
  }))();
370
588
  },
371
589
  /**
@@ -375,38 +593,38 @@ var Webinar = _webexCore.WebexPlugin.extend({
375
593
  */
376
594
  searchWebcastAttendees: function searchWebcastAttendees() {
377
595
  var _arguments = arguments,
378
- _this6 = this;
379
- return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6() {
380
- var queryString, _t35, _t36, _t37, _t38, _t39, _t40;
381
- return _regenerator.default.wrap(function (_context6) {
382
- while (1) switch (_context6.prev = _context6.next) {
596
+ _this9 = this;
597
+ return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee9() {
598
+ var queryString, _t36, _t37, _t38, _t39, _t40, _t41;
599
+ return _regenerator.default.wrap(function (_context9) {
600
+ while (1) switch (_context9.prev = _context9.next) {
383
601
  case 0:
384
602
  queryString = _arguments.length > 0 && _arguments[0] !== undefined ? _arguments[0] : '';
385
- _t35 = _this6;
386
- _t36 = _constants.HTTP_VERBS.GET;
387
- _t37 = "".concat(_this6.webcastInstanceUrl, "/attendees?keyword=").concat(encodeURIComponent(queryString));
388
- _context6.next = 1;
389
- return _this6.webex.credentials.getUserToken();
603
+ _t36 = _this9;
604
+ _t37 = _constants.HTTP_VERBS.GET;
605
+ _t38 = "".concat(_this9.webcastInstanceUrl, "/attendees?keyword=").concat(encodeURIComponent(queryString));
606
+ _context9.next = 1;
607
+ return _this9.webex.credentials.getUserToken();
390
608
  case 1:
391
- _t38 = _context6.sent;
392
- _t39 = "".concat(_webexCore.config.trackingIdPrefix, "_").concat(_uuid.default.v4().toString());
393
- _t40 = {
394
- authorization: _t38,
395
- trackingId: _t39
609
+ _t39 = _context9.sent;
610
+ _t40 = "".concat(_webexCore.config.trackingIdPrefix, "_").concat(_uuid.default.v4().toString());
611
+ _t41 = {
612
+ authorization: _t39,
613
+ trackingId: _t40
396
614
  };
397
- return _context6.abrupt("return", _t35.request.call(_t35, {
398
- method: _t36,
399
- uri: _t37,
400
- headers: _t40
615
+ return _context9.abrupt("return", _t36.request.call(_t36, {
616
+ method: _t37,
617
+ uri: _t38,
618
+ headers: _t41
401
619
  }).catch(function (error) {
402
620
  _loggerProxy.default.logger.error('Meeting:webinar#searchWebcastAttendees failed', error);
403
621
  throw error;
404
622
  }));
405
623
  case 2:
406
624
  case "end":
407
- return _context6.stop();
625
+ return _context9.stop();
408
626
  }
409
- }, _callee6);
627
+ }, _callee9);
410
628
  }))();
411
629
  },
412
630
  /**
@@ -415,40 +633,97 @@ var Webinar = _webexCore.WebexPlugin.extend({
415
633
  * @returns {Promise}
416
634
  */
417
635
  expelWebcastAttendee: function expelWebcastAttendee(participantId) {
418
- var _this7 = this;
419
- return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee7() {
420
- var _t41, _t42, _t43, _t44, _t45, _t46;
421
- return _regenerator.default.wrap(function (_context7) {
422
- while (1) switch (_context7.prev = _context7.next) {
636
+ var _this0 = this;
637
+ return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee0() {
638
+ var _t42, _t43, _t44, _t45, _t46, _t47;
639
+ return _regenerator.default.wrap(function (_context0) {
640
+ while (1) switch (_context0.prev = _context0.next) {
423
641
  case 0:
424
- _t41 = _this7;
425
- _t42 = _constants.HTTP_VERBS.DELETE;
426
- _t43 = "".concat(_this7.webcastInstanceUrl, "/attendees/").concat(participantId);
427
- _context7.next = 1;
428
- return _this7.webex.credentials.getUserToken();
642
+ _t42 = _this0;
643
+ _t43 = _constants.HTTP_VERBS.DELETE;
644
+ _t44 = "".concat(_this0.webcastInstanceUrl, "/attendees/").concat(participantId);
645
+ _context0.next = 1;
646
+ return _this0.webex.credentials.getUserToken();
429
647
  case 1:
430
- _t44 = _context7.sent;
431
- _t45 = "".concat(_webexCore.config.trackingIdPrefix, "_").concat(_uuid.default.v4().toString());
432
- _t46 = {
433
- authorization: _t44,
434
- trackingId: _t45
648
+ _t45 = _context0.sent;
649
+ _t46 = "".concat(_webexCore.config.trackingIdPrefix, "_").concat(_uuid.default.v4().toString());
650
+ _t47 = {
651
+ authorization: _t45,
652
+ trackingId: _t46
435
653
  };
436
- return _context7.abrupt("return", _t41.request.call(_t41, {
437
- method: _t42,
438
- uri: _t43,
439
- headers: _t46
654
+ return _context0.abrupt("return", _t42.request.call(_t42, {
655
+ method: _t43,
656
+ uri: _t44,
657
+ headers: _t47
440
658
  }).catch(function (error) {
441
659
  _loggerProxy.default.logger.error('Meeting:webinar#expelWebcastAttendee failed', error);
442
660
  throw error;
443
661
  }));
444
662
  case 2:
445
663
  case "end":
446
- return _context7.stop();
664
+ return _context0.stop();
447
665
  }
448
- }, _callee7);
666
+ }, _callee0);
667
+ }))();
668
+ },
669
+ /**
670
+ * search large scale webinar attendees
671
+ * @param {object} payload
672
+ * @param {string} payload.queryString
673
+ * @param {number} payload.limit
674
+ * @param {string} payload.next
675
+ * @returns {Promise}
676
+ */
677
+ searchLargeScaleWebinarAttendees: function searchLargeScaleWebinarAttendees(payload) {
678
+ var _this1 = this;
679
+ return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee1() {
680
+ var _payload$limit, _meeting$locusInfo3, _meeting$locusInfo3$l, _meeting$locusInfo3$l2, _meeting$locusInfo3$l3;
681
+ var meeting, rawParams, attendeeSearchUrl, _t48, _t49, _t50, _t51, _t52, _t53;
682
+ return _regenerator.default.wrap(function (_context1) {
683
+ while (1) switch (_context1.prev = _context1.next) {
684
+ case 0:
685
+ meeting = _this1.webex.meetings.getMeetingByType(_constants._ID_, _this1.meetingId);
686
+ rawParams = {
687
+ search_text: payload === null || payload === void 0 ? void 0 : payload.queryString,
688
+ limit: (_payload$limit = payload === null || payload === void 0 ? void 0 : payload.limit) !== null && _payload$limit !== void 0 ? _payload$limit : _constants.DEFAULT_LARGE_SCALE_WEBINAR_ATTENDEE_SEARCH_LIMIT,
689
+ next: payload === null || payload === void 0 ? void 0 : payload.next
690
+ };
691
+ attendeeSearchUrl = meeting === null || meeting === void 0 ? void 0 : (_meeting$locusInfo3 = meeting.locusInfo) === null || _meeting$locusInfo3 === void 0 ? void 0 : (_meeting$locusInfo3$l = _meeting$locusInfo3.links) === null || _meeting$locusInfo3$l === void 0 ? void 0 : (_meeting$locusInfo3$l2 = _meeting$locusInfo3$l.resources) === null || _meeting$locusInfo3$l2 === void 0 ? void 0 : (_meeting$locusInfo3$l3 = _meeting$locusInfo3$l2.attendeeSearch) === null || _meeting$locusInfo3$l3 === void 0 ? void 0 : _meeting$locusInfo3$l3.url;
692
+ if (attendeeSearchUrl) {
693
+ _context1.next = 1;
694
+ break;
695
+ }
696
+ _loggerProxy.default.logger.error("Meeting:webinar5k#searchLargeScaleWebinarAttendees failed");
697
+ throw new Error('Meeting:webinar5k#Attendee search url is not available');
698
+ case 1:
699
+ _t48 = _this1;
700
+ _t49 = _constants.HTTP_VERBS.GET;
701
+ _t50 = "".concat(attendeeSearchUrl, "?").concat(new URLSearchParams((0, _utils.sanitizeParams)(rawParams)).toString());
702
+ _context1.next = 2;
703
+ return _this1.webex.credentials.getUserToken();
704
+ case 2:
705
+ _t51 = _context1.sent;
706
+ _t52 = "".concat(_webexCore.config.trackingIdPrefix, "_").concat(_uuid.default.v4().toString());
707
+ _t53 = {
708
+ authorization: _t51,
709
+ trackingId: _t52
710
+ };
711
+ return _context1.abrupt("return", _t48.request.call(_t48, {
712
+ method: _t49,
713
+ uri: _t50,
714
+ headers: _t53
715
+ }).catch(function (error) {
716
+ _loggerProxy.default.logger.error('Meeting:webinar5k#searchLargeScaleWebinarAttendees failed', error);
717
+ throw error;
718
+ }));
719
+ case 3:
720
+ case "end":
721
+ return _context1.stop();
722
+ }
723
+ }, _callee1);
449
724
  }))();
450
725
  },
451
- version: "0.0.0"
726
+ version: "3.12.0-mobius-socket.2"
452
727
  });
453
728
  var _default = exports.default = Webinar;
454
729
  //# sourceMappingURL=index.js.map