@webex/plugin-meetings 3.12.0-next.64 → 3.12.0-next.66

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.
@@ -13,7 +13,6 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/
13
13
  var _webexCore = require("@webex/webex-core");
14
14
  var _uuid = _interopRequireDefault(require("uuid"));
15
15
  var _lodash = require("lodash");
16
- var _internalPluginLlm = require("@webex/internal-plugin-llm");
17
16
  var _constants = require("../constants");
18
17
  var _collection = _interopRequireDefault(require("./collection"));
19
18
  var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
@@ -23,6 +22,16 @@ var _utils = require("./utils");
23
22
  * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.
24
23
  */
25
24
 
25
+ var PS_LLM_EVENTS = [{
26
+ event: "event:relay.event:".concat(_constants.LLM_PRACTICE_SESSION),
27
+ listenerKey: 'relay',
28
+ handlerKey: 'processRelayEvent'
29
+ }, {
30
+ event: "".concat(_constants.LOCUS_LLM_EVENT, ":").concat(_constants.LLM_PRACTICE_SESSION),
31
+ listenerKey: 'locusLLM',
32
+ handlerKey: 'processLocusLLMEvent'
33
+ }];
34
+
26
35
  /**
27
36
  * @class Webinar
28
37
  */
@@ -160,32 +169,61 @@ var Webinar = _webexCore.WebexPlugin.extend({
160
169
  cleanupPSDataChannel: function cleanupPSDataChannel() {
161
170
  var _this = this;
162
171
  return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee() {
172
+ var _this$webex$internal$, isOwner, disconnected, _this$webex$internal$2, _this$webex$internal$3, _i, _PS_LLM_EVENTS, _PS_LLM_EVENTS$_i, event, listenerKey, _t;
163
173
  return _regenerator.default.wrap(function (_context) {
164
174
  while (1) switch (_context.prev = _context.next) {
165
175
  case 0:
176
+ _this$webex$internal$ = _this.webex.internal.llm.resolveSessionOwnership(_this.meetingId, _constants.LLM_PRACTICE_SESSION), isOwner = _this$webex$internal$.isOwner;
177
+ _this.llmListeners = _this.llmListeners || {};
166
178
  if (_this._pendingOnlineListener) {
167
179
  // @ts-ignore - Fix type
168
180
  _this.webex.internal.llm.off('online', _this._pendingOnlineListener);
169
181
  _this._pendingOnlineListener = null;
170
182
  }
171
-
172
- // @ts-ignore - Fix type
173
- _context.next = 1;
183
+ _context.prev = 1;
184
+ _context.next = 2;
174
185
  return _this.webex.internal.llm.disconnectLLM({
175
186
  code: 3050,
176
187
  reason: 'done (permanent)'
177
- }, _constants.LLM_PRACTICE_SESSION);
178
- case 1:
188
+ }, _constants.LLM_PRACTICE_SESSION, _this.meetingId);
189
+ case 2:
190
+ disconnected = _context.sent;
191
+ if (!disconnected) {
192
+ _loggerProxy.default.logger.info("Webinar:index#cleanupPSDataChannel --> skipping disconnect; practice-session LLM is not owned by meeting ".concat(_this.meetingId));
193
+ }
194
+ _context.next = 4;
195
+ break;
196
+ case 3:
197
+ _context.prev = 3;
198
+ _t = _context["catch"](1);
199
+ // disconnectLLM clears ownership only on success; release a stale owner
200
+ // tag here so other meeting instances can reclaim practice-session LLM.
201
+ if (isOwner) {
202
+ // @ts-ignore - Fix type
203
+ (_this$webex$internal$2 = (_this$webex$internal$3 = _this.webex.internal.llm).setOwnerMeetingId) === null || _this$webex$internal$2 === void 0 ? void 0 : _this$webex$internal$2.call(_this$webex$internal$3, undefined, _constants.LLM_PRACTICE_SESSION);
204
+ }
205
+ throw _t;
206
+ case 4:
207
+ _context.prev = 4;
179
208
  if (_this._practiceSessionRelayListener) {
180
209
  // @ts-ignore - Fix type
181
210
  _this.webex.internal.llm.off("event:relay.event:".concat(_constants.LLM_PRACTICE_SESSION), _this._practiceSessionRelayListener);
182
- _this._practiceSessionRelayListener = null;
183
211
  }
184
- case 2:
212
+ _this._practiceSessionRelayListener = null;
213
+ for (_i = 0, _PS_LLM_EVENTS = PS_LLM_EVENTS; _i < _PS_LLM_EVENTS.length; _i++) {
214
+ _PS_LLM_EVENTS$_i = _PS_LLM_EVENTS[_i], event = _PS_LLM_EVENTS$_i.event, listenerKey = _PS_LLM_EVENTS$_i.listenerKey;
215
+ if (_this.llmListeners[listenerKey]) {
216
+ // @ts-ignore - Fix type
217
+ _this.webex.internal.llm.off(event, _this.llmListeners[listenerKey]);
218
+ _this.llmListeners[listenerKey] = null;
219
+ }
220
+ }
221
+ return _context.finish(4);
222
+ case 5:
185
223
  case "end":
186
224
  return _context.stop();
187
225
  }
188
- }, _callee);
226
+ }, _callee, null, [[1, 3, 4, 5]]);
189
227
  }))();
190
228
  },
191
229
  /**
@@ -198,7 +236,7 @@ var Webinar = _webexCore.WebexPlugin.extend({
198
236
  ensurePracticeSessionDatachannelToken: function ensurePracticeSessionDatachannelToken(meeting) {
199
237
  var _this2 = this;
200
238
  return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2() {
201
- var isDataChannelTokenEnabled, cachedToken, _refreshResponse$body, refreshResponse, _ref2, datachannelToken, dataChannelTokenType, _t;
239
+ var isDataChannelTokenEnabled, cachedToken, _refreshResponse$body, refreshResponse, _ref2, datachannelToken, dataChannelTokenType, _t2;
202
240
  return _regenerator.default.wrap(function (_context2) {
203
241
  while (1) switch (_context2.prev = _context2.next) {
204
242
  case 0:
@@ -213,7 +251,7 @@ var Webinar = _webexCore.WebexPlugin.extend({
213
251
  return _context2.abrupt("return", undefined);
214
252
  case 2:
215
253
  // @ts-ignore
216
- cachedToken = _this2.webex.internal.llm.getDatachannelToken(_internalPluginLlm.DataChannelTokenType.PracticeSession);
254
+ cachedToken = _this2.webex.internal.llm.getDatachannelToken(_constants.LLM_PRACTICE_SESSION, _this2.meetingId);
217
255
  if (!cachedToken) {
218
256
  _context2.next = 3;
219
257
  break;
@@ -233,12 +271,12 @@ var Webinar = _webexCore.WebexPlugin.extend({
233
271
  return _context2.abrupt("return", undefined);
234
272
  case 5:
235
273
  // @ts-ignore
236
- _this2.webex.internal.llm.setDatachannelToken(datachannelToken, dataChannelTokenType || _internalPluginLlm.DataChannelTokenType.PracticeSession);
274
+ _this2.webex.internal.llm.setDatachannelToken(datachannelToken, dataChannelTokenType || _constants.LLM_PRACTICE_SESSION, _this2.meetingId);
237
275
  return _context2.abrupt("return", datachannelToken);
238
276
  case 6:
239
277
  _context2.prev = 6;
240
- _t = _context2["catch"](3);
241
- _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)));
278
+ _t2 = _context2["catch"](3);
279
+ _loggerProxy.default.logger.warn("Webinar:index#ensurePracticeSessionDatachannelToken --> failed to proactively refresh practice-session token: ".concat((_t2 === null || _t2 === void 0 ? void 0 : _t2.message) || String(_t2)));
242
280
  return _context2.abrupt("return", undefined);
243
281
  case 7:
244
282
  case "end":
@@ -255,14 +293,17 @@ var Webinar = _webexCore.WebexPlugin.extend({
255
293
  updatePSDataChannel: function updatePSDataChannel() {
256
294
  var _this3 = this;
257
295
  return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3() {
258
- var invocationSequence, meeting, isPracticeSession, _ref3, _ref3$url, url, _ref3$info, _ref3$info2, _ref3$info2$practiceS, practiceSessionDatachannelUrl, practiceSessionDatachannelToken, isCaptionBoxOn, _onDefaultSessionConnected, refreshedPracticeSessionToken, latestPracticeSessionDatachannelUrl, isStillPracticeSession;
296
+ var _this3$webex$internal3, _this3$webex$internal4;
297
+ var invocationSequence, meeting, isPracticeSession, _this3$webex$internal, currentOwner, isOwner, _ref3, _ref3$url, url, _ref3$info, _ref3$info2, _ref3$info2$practiceS, practiceSessionDatachannelUrl, practiceSessionDatachannelToken, isCaptionBoxOn, _onDefaultSessionConnected, refreshedPracticeSessionToken, latestPracticeSessionDatachannelUrl, isStillPracticeSession, _this3$webex$internal2, currentOwnerBeforeConnect, isOwnerBeforeConnect;
259
298
  return _regenerator.default.wrap(function (_context3) {
260
299
  while (1) switch (_context3.prev = _context3.next) {
261
300
  case 0:
301
+ _this3.llmListeners = _this3.llmListeners || {};
262
302
  _this3._updatePSDataChannelSequence = (_this3._updatePSDataChannelSequence || 0) + 1;
263
303
  invocationSequence = _this3._updatePSDataChannelSequence;
264
304
  meeting = _this3.getValidatedWebinarMeeting();
265
305
  isPracticeSession = (meeting === null || meeting === void 0 ? void 0 : meeting.isJoined()) && _this3.isJoinPracticeSessionDataChannel();
306
+ _this3$webex$internal = _this3.webex.internal.llm.resolveSessionOwnership(_this3.meetingId, _constants.LLM_PRACTICE_SESSION), currentOwner = _this3$webex$internal.currentOwner, isOwner = _this3$webex$internal.isOwner;
266
307
  if (isPracticeSession) {
267
308
  _context3.next = 2;
268
309
  break;
@@ -272,18 +313,25 @@ var Webinar = _webexCore.WebexPlugin.extend({
272
313
  case 1:
273
314
  return _context3.abrupt("return", undefined);
274
315
  case 2:
316
+ if (isOwner) {
317
+ _context3.next = 3;
318
+ break;
319
+ }
320
+ _loggerProxy.default.logger.info("Webinar:index#updatePSDataChannel --> skipping; practice-session LLM owned by meeting ".concat(currentOwner, ", not ").concat(_this3.meetingId));
321
+ return _context3.abrupt("return", undefined);
322
+ case 3:
275
323
  // @ts-ignore - Fix type
276
324
  _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
277
- practiceSessionDatachannelToken = _this3.webex.internal.llm.getDatachannelToken(_internalPluginLlm.DataChannelTokenType.PracticeSession);
325
+ practiceSessionDatachannelToken = _this3.webex.internal.llm.getDatachannelToken(_constants.LLM_PRACTICE_SESSION, _this3.meetingId);
278
326
  isCaptionBoxOn = _this3.webex.internal.voicea.getIsCaptionBoxOn();
279
327
  if (practiceSessionDatachannelUrl) {
280
- _context3.next = 3;
328
+ _context3.next = 4;
281
329
  break;
282
330
  }
283
331
  return _context3.abrupt("return", undefined);
284
- case 3:
332
+ case 4:
285
333
  if (!_this3.webex.internal.llm.isConnected(_constants.LLM_PRACTICE_SESSION)) {
286
- _context3.next = 5;
334
+ _context3.next = 6;
287
335
  break;
288
336
  }
289
337
  if (!(
@@ -291,14 +339,14 @@ var Webinar = _webexCore.WebexPlugin.extend({
291
339
  url === _this3.webex.internal.llm.getLocusUrl(_constants.LLM_PRACTICE_SESSION) &&
292
340
  // @ts-ignore - Fix type
293
341
  practiceSessionDatachannelUrl === _this3.webex.internal.llm.getDatachannelUrl(_constants.LLM_PRACTICE_SESSION))) {
294
- _context3.next = 4;
342
+ _context3.next = 5;
295
343
  break;
296
344
  }
297
345
  return _context3.abrupt("return", undefined);
298
- case 4:
299
- _context3.next = 5;
300
- return _this3.cleanupPSDataChannel();
301
346
  case 5:
347
+ _context3.next = 6;
348
+ return _this3.cleanupPSDataChannel();
349
+ case 6:
302
350
  // Ensure the default session data channel is connected before connecting the practice session.
303
351
  // Subscribe before checking isConnected() to avoid a race where the 'online' event fires
304
352
  // between the check and the subscription — Mercury does not replay missed events.
@@ -316,50 +364,85 @@ var Webinar = _webexCore.WebexPlugin.extend({
316
364
 
317
365
  // @ts-ignore - Fix type
318
366
  if (_this3.webex.internal.llm.isConnected()) {
319
- _context3.next = 6;
367
+ _context3.next = 7;
320
368
  break;
321
369
  }
322
370
  _loggerProxy.default.logger.info('Webinar:index#updatePSDataChannel --> default session not yet connected, deferring practice session connect.');
323
371
  return _context3.abrupt("return", undefined);
324
- case 6:
372
+ case 7:
325
373
  // Default session is already connected — cancel the pending listener and proceed
326
374
  if (_this3._pendingOnlineListener) {
327
375
  // @ts-ignore - Fix type
328
376
  _this3.webex.internal.llm.off('online', _this3._pendingOnlineListener);
329
377
  _this3._pendingOnlineListener = null;
330
378
  }
331
- _context3.next = 7;
379
+ _context3.next = 8;
332
380
  return _this3.ensurePracticeSessionDatachannelToken(meeting);
333
- case 7:
381
+ case 8:
334
382
  refreshedPracticeSessionToken = _context3.sent;
335
383
  latestPracticeSessionDatachannelUrl = (0, _lodash.get)(meeting, 'locusInfo.info.practiceSessionDatachannelUrl');
336
384
  isStillPracticeSession = (meeting === null || meeting === void 0 ? void 0 : meeting.isJoined()) && _this3.isJoinPracticeSessionDataChannel(); // Skip stale invocations after async refresh to avoid reconnecting a session
337
385
  // that was already updated/cleaned by a newer state transition.
338
386
  if (!(invocationSequence !== _this3._updatePSDataChannelSequence || !isStillPracticeSession || !latestPracticeSessionDatachannelUrl || latestPracticeSessionDatachannelUrl !== practiceSessionDatachannelUrl)) {
339
- _context3.next = 8;
387
+ _context3.next = 9;
340
388
  break;
341
389
  }
342
390
  return _context3.abrupt("return", undefined);
343
- case 8:
391
+ case 9:
344
392
  if (refreshedPracticeSessionToken) {
345
393
  practiceSessionDatachannelToken = refreshedPracticeSessionToken;
346
394
  }
395
+ _this3$webex$internal2 = _this3.webex.internal.llm.resolveSessionOwnership(_this3.meetingId, _constants.LLM_PRACTICE_SESSION), currentOwnerBeforeConnect = _this3$webex$internal2.currentOwner, isOwnerBeforeConnect = _this3$webex$internal2.isOwner;
396
+ if (isOwnerBeforeConnect) {
397
+ _context3.next = 10;
398
+ break;
399
+ }
400
+ _loggerProxy.default.logger.info("Webinar:index#updatePSDataChannel --> skipping pre-connect owner write; practice-session LLM owned by meeting ".concat(currentOwnerBeforeConnect, ", not ").concat(_this3.meetingId));
401
+ return _context3.abrupt("return", undefined);
402
+ case 10:
403
+ // Ensure refresh for practice datachannel requests is routed to this
404
+ // meeting only when we are actually about to connect the practice session.
405
+ // This avoids claiming ownership in flows that return early (e.g. missing
406
+ // practiceSessionDatachannelUrl or waiting for default session online).
407
+ // @ts-ignore - Fix type
408
+ _this3.webex.internal.llm.setRefreshHandler(function () {
409
+ return meeting.refreshDataChannelToken();
410
+ }, _constants.LLM_PRACTICE_SESSION, _this3.meetingId);
411
+ // @ts-ignore - Fix type
412
+ (_this3$webex$internal3 = (_this3$webex$internal4 = _this3.webex.internal.llm).setOwnerMeetingId) === null || _this3$webex$internal3 === void 0 ? void 0 : _this3$webex$internal3.call(_this3$webex$internal4, _this3.meetingId, _constants.LLM_PRACTICE_SESSION);
347
413
 
348
414
  // @ts-ignore - Fix type
349
415
  return _context3.abrupt("return", _this3.webex.internal.llm.registerAndConnect(url, practiceSessionDatachannelUrl, practiceSessionDatachannelToken, _constants.LLM_PRACTICE_SESSION).then(function (registerAndConnectResult) {
350
- var _this3$webex$internal, _this3$webex$internal2;
351
- // Track the exact listener reference so cleanupPSDataChannel can
416
+ var _this3$webex$internal8, _this3$webex$internal9;
417
+ var _this3$webex$internal5 = _this3.webex.internal.llm.resolveSessionOwnership(_this3.meetingId, _constants.LLM_PRACTICE_SESSION),
418
+ currentOwnerAfterConnect = _this3$webex$internal5.currentOwner,
419
+ isOwnerAfterConnect = _this3$webex$internal5.isOwner;
420
+ if (_this3.meetingId && isOwnerAfterConnect) {
421
+ var _this3$webex$internal6, _this3$webex$internal7;
422
+ // @ts-ignore - Fix type
423
+ (_this3$webex$internal6 = (_this3$webex$internal7 = _this3.webex.internal.llm).setOwnerMeetingId) === null || _this3$webex$internal6 === void 0 ? void 0 : _this3$webex$internal6.call(_this3$webex$internal7, _this3.meetingId, _constants.LLM_PRACTICE_SESSION);
424
+ } else {
425
+ _loggerProxy.default.logger.info("Webinar:index#updatePSDataChannel --> skipping post-connect owner write; practice-session LLM owned by meeting ".concat(currentOwnerAfterConnect, ", not ").concat(_this3.meetingId));
426
+ }
427
+
428
+ // Track the exact listener references so cleanupPSDataChannel can
352
429
  // unsubscribe deterministically, even if the meeting can no longer
353
430
  // be resolved at cleanup time.
354
- if (_this3._practiceSessionRelayListener) {
431
+ for (var _i2 = 0, _PS_LLM_EVENTS2 = PS_LLM_EVENTS; _i2 < _PS_LLM_EVENTS2.length; _i2++) {
432
+ var _PS_LLM_EVENTS2$_i = _PS_LLM_EVENTS2[_i2],
433
+ event = _PS_LLM_EVENTS2$_i.event,
434
+ listenerKey = _PS_LLM_EVENTS2$_i.listenerKey,
435
+ handlerKey = _PS_LLM_EVENTS2$_i.handlerKey;
436
+ if (_this3.llmListeners[listenerKey]) {
437
+ // @ts-ignore - Fix type
438
+ _this3.webex.internal.llm.off(event, _this3.llmListeners[listenerKey]);
439
+ }
440
+ _this3.llmListeners[listenerKey] = meeting === null || meeting === void 0 ? void 0 : meeting[handlerKey];
355
441
  // @ts-ignore - Fix type
356
- _this3.webex.internal.llm.off("event:relay.event:".concat(_constants.LLM_PRACTICE_SESSION), _this3._practiceSessionRelayListener);
442
+ _this3.webex.internal.llm.on(event, _this3.llmListeners[listenerKey]);
357
443
  }
358
- _this3._practiceSessionRelayListener = meeting === null || meeting === void 0 ? void 0 : meeting.processRelayEvent;
359
444
  // @ts-ignore - Fix type
360
- _this3.webex.internal.llm.on("event:relay.event:".concat(_constants.LLM_PRACTICE_SESSION), _this3._practiceSessionRelayListener);
361
- // @ts-ignore - Fix type
362
- (_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);
445
+ (_this3$webex$internal8 = _this3.webex.internal.voicea) === null || _this3$webex$internal8 === void 0 ? void 0 : (_this3$webex$internal9 = _this3$webex$internal8.announce) === null || _this3$webex$internal9 === void 0 ? void 0 : _this3$webex$internal9.call(_this3$webex$internal8);
363
446
  if (isCaptionBoxOn) {
364
447
  _this3.webex.internal.voicea.updateSubchannelSubscriptions({
365
448
  subscribe: ['transcription']
@@ -367,8 +450,20 @@ var Webinar = _webexCore.WebexPlugin.extend({
367
450
  }
368
451
  _loggerProxy.default.logger.info("Webinar:index#updatePSDataChannel --> enabled to receive relay events for default session for ".concat(_constants.LLM_PRACTICE_SESSION, "!"));
369
452
  return _promise.default.resolve(registerAndConnectResult);
453
+ }).catch(function (error) {
454
+ var _this3$webex$internal0 = _this3.webex.internal.llm.resolveSessionOwnership(_this3.meetingId, _constants.LLM_PRACTICE_SESSION),
455
+ currentOwnerAfterRegisterFailure = _this3$webex$internal0.currentOwner,
456
+ isOwnerAfterRegisterFailure = _this3$webex$internal0.isOwner;
457
+ if (isOwnerAfterRegisterFailure) {
458
+ var _this3$webex$internal1, _this3$webex$internal10;
459
+ // @ts-ignore - Fix type
460
+ (_this3$webex$internal1 = (_this3$webex$internal10 = _this3.webex.internal.llm).setOwnerMeetingId) === null || _this3$webex$internal1 === void 0 ? void 0 : _this3$webex$internal1.call(_this3$webex$internal10, undefined, _constants.LLM_PRACTICE_SESSION);
461
+ } else {
462
+ _loggerProxy.default.logger.info("Webinar:index#updatePSDataChannel --> skipping failure owner release; practice-session LLM owned by meeting ".concat(currentOwnerAfterRegisterFailure, ", not ").concat(_this3.meetingId));
463
+ }
464
+ throw error;
370
465
  }));
371
- case 9:
466
+ case 11:
372
467
  case "end":
373
468
  return _context3.stop();
374
469
  }
@@ -416,7 +511,7 @@ var Webinar = _webexCore.WebexPlugin.extend({
416
511
  startWebcast: function startWebcast(meeting, layout) {
417
512
  var _this4 = this;
418
513
  return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4() {
419
- var _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
514
+ var _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t0;
420
515
  return _regenerator.default.wrap(function (_context4) {
421
516
  while (1) switch (_context4.prev = _context4.next) {
422
517
  case 0:
@@ -427,20 +522,20 @@ var Webinar = _webexCore.WebexPlugin.extend({
427
522
  _loggerProxy.default.logger.error("Meeting:webinar#startWebcast failed --> meeting parameter : ".concat(meeting));
428
523
  throw new Error('Meeting parameter does not meet expectations');
429
524
  case 1:
430
- _t2 = _this4;
431
- _t3 = _constants.HTTP_VERBS.PUT;
432
- _t4 = "".concat(_this4.webcastInstanceUrl, "/streaming");
433
- _t5 = _defineProperty2.default;
525
+ _t3 = _this4;
526
+ _t4 = _constants.HTTP_VERBS.PUT;
527
+ _t5 = "".concat(_this4.webcastInstanceUrl, "/streaming");
528
+ _t6 = _defineProperty2.default;
434
529
  _context4.next = 2;
435
530
  return _this4.webex.credentials.getUserToken();
436
531
  case 2:
437
- _t6 = _context4.sent;
438
- _t7 = "".concat(_webexCore.config.trackingIdPrefix, "_").concat(_uuid.default.v4().toString());
439
- _t8 = _t5({
440
- authorization: _t6,
441
- trackingId: _t7
532
+ _t7 = _context4.sent;
533
+ _t8 = "".concat(_webexCore.config.trackingIdPrefix, "_").concat(_uuid.default.v4().toString());
534
+ _t9 = _t6({
535
+ authorization: _t7,
536
+ trackingId: _t8
442
537
  }, _constants.HEADERS.CONTENT_TYPE, _constants.HEADERS.CONTENT_TYPE_VALUE.APPLICATION_JSON);
443
- _t9 = {
538
+ _t0 = {
444
539
  action: 'start',
445
540
  meetingInfo: {
446
541
  locusId: meeting.locusId,
@@ -448,11 +543,11 @@ var Webinar = _webexCore.WebexPlugin.extend({
448
543
  },
449
544
  layout: layout
450
545
  };
451
- return _context4.abrupt("return", _t2.request.call(_t2, {
452
- method: _t3,
453
- uri: _t4,
454
- headers: _t8,
455
- body: _t9
546
+ return _context4.abrupt("return", _t3.request.call(_t3, {
547
+ method: _t4,
548
+ uri: _t5,
549
+ headers: _t9,
550
+ body: _t0
456
551
  }).catch(function (error) {
457
552
  _loggerProxy.default.logger.error('Meeting:webinar#startWebcast failed', error);
458
553
  throw error;
@@ -471,31 +566,31 @@ var Webinar = _webexCore.WebexPlugin.extend({
471
566
  stopWebcast: function stopWebcast() {
472
567
  var _this5 = this;
473
568
  return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5() {
474
- var _t0, _t1, _t10, _t11, _t12, _t13, _t14, _t15;
569
+ var _t1, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
475
570
  return _regenerator.default.wrap(function (_context5) {
476
571
  while (1) switch (_context5.prev = _context5.next) {
477
572
  case 0:
478
- _t0 = _this5;
479
- _t1 = _constants.HTTP_VERBS.PUT;
480
- _t10 = "".concat(_this5.webcastInstanceUrl, "/streaming");
481
- _t11 = _defineProperty2.default;
573
+ _t1 = _this5;
574
+ _t10 = _constants.HTTP_VERBS.PUT;
575
+ _t11 = "".concat(_this5.webcastInstanceUrl, "/streaming");
576
+ _t12 = _defineProperty2.default;
482
577
  _context5.next = 1;
483
578
  return _this5.webex.credentials.getUserToken();
484
579
  case 1:
485
- _t12 = _context5.sent;
486
- _t13 = "".concat(_webexCore.config.trackingIdPrefix, "_").concat(_uuid.default.v4().toString());
487
- _t14 = _t11({
488
- authorization: _t12,
489
- trackingId: _t13
580
+ _t13 = _context5.sent;
581
+ _t14 = "".concat(_webexCore.config.trackingIdPrefix, "_").concat(_uuid.default.v4().toString());
582
+ _t15 = _t12({
583
+ authorization: _t13,
584
+ trackingId: _t14
490
585
  }, _constants.HEADERS.CONTENT_TYPE, _constants.HEADERS.CONTENT_TYPE_VALUE.APPLICATION_JSON);
491
- _t15 = {
586
+ _t16 = {
492
587
  action: 'stop'
493
588
  };
494
- return _context5.abrupt("return", _t0.request.call(_t0, {
495
- method: _t1,
496
- uri: _t10,
497
- headers: _t14,
498
- body: _t15
589
+ return _context5.abrupt("return", _t1.request.call(_t1, {
590
+ method: _t10,
591
+ uri: _t11,
592
+ headers: _t15,
593
+ body: _t16
499
594
  }).catch(function (error) {
500
595
  _loggerProxy.default.logger.error('Meeting:webinar#stopWebcast failed', error);
501
596
  throw error;
@@ -514,26 +609,26 @@ var Webinar = _webexCore.WebexPlugin.extend({
514
609
  queryWebcastLayout: function queryWebcastLayout() {
515
610
  var _this6 = this;
516
611
  return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee6() {
517
- var _t16, _t17, _t18, _t19, _t20, _t21;
612
+ var _t17, _t18, _t19, _t20, _t21, _t22;
518
613
  return _regenerator.default.wrap(function (_context6) {
519
614
  while (1) switch (_context6.prev = _context6.next) {
520
615
  case 0:
521
- _t16 = _this6;
522
- _t17 = _constants.HTTP_VERBS.GET;
523
- _t18 = "".concat(_this6.webcastInstanceUrl, "/layout");
616
+ _t17 = _this6;
617
+ _t18 = _constants.HTTP_VERBS.GET;
618
+ _t19 = "".concat(_this6.webcastInstanceUrl, "/layout");
524
619
  _context6.next = 1;
525
620
  return _this6.webex.credentials.getUserToken();
526
621
  case 1:
527
- _t19 = _context6.sent;
528
- _t20 = "".concat(_webexCore.config.trackingIdPrefix, "_").concat(_uuid.default.v4().toString());
529
- _t21 = {
530
- authorization: _t19,
531
- trackingId: _t20
622
+ _t20 = _context6.sent;
623
+ _t21 = "".concat(_webexCore.config.trackingIdPrefix, "_").concat(_uuid.default.v4().toString());
624
+ _t22 = {
625
+ authorization: _t20,
626
+ trackingId: _t21
532
627
  };
533
- return _context6.abrupt("return", _t16.request.call(_t16, {
534
- method: _t17,
535
- uri: _t18,
536
- headers: _t21
628
+ return _context6.abrupt("return", _t17.request.call(_t17, {
629
+ method: _t18,
630
+ uri: _t19,
631
+ headers: _t22
537
632
  }).catch(function (error) {
538
633
  _loggerProxy.default.logger.error('Meeting:webinar#queryWebcastLayout failed', error);
539
634
  throw error;
@@ -553,34 +648,34 @@ var Webinar = _webexCore.WebexPlugin.extend({
553
648
  updateWebcastLayout: function updateWebcastLayout(layout) {
554
649
  var _this7 = this;
555
650
  return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee7() {
556
- var _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29;
651
+ var _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30;
557
652
  return _regenerator.default.wrap(function (_context7) {
558
653
  while (1) switch (_context7.prev = _context7.next) {
559
654
  case 0:
560
- _t22 = _this7;
561
- _t23 = _constants.HTTP_VERBS.PUT;
562
- _t24 = "".concat(_this7.webcastInstanceUrl, "/layout");
563
- _t25 = _defineProperty2.default;
655
+ _t23 = _this7;
656
+ _t24 = _constants.HTTP_VERBS.PUT;
657
+ _t25 = "".concat(_this7.webcastInstanceUrl, "/layout");
658
+ _t26 = _defineProperty2.default;
564
659
  _context7.next = 1;
565
660
  return _this7.webex.credentials.getUserToken();
566
661
  case 1:
567
- _t26 = _context7.sent;
568
- _t27 = "".concat(_webexCore.config.trackingIdPrefix, "_").concat(_uuid.default.v4().toString());
569
- _t28 = _t25({
570
- authorization: _t26,
571
- trackingId: _t27
662
+ _t27 = _context7.sent;
663
+ _t28 = "".concat(_webexCore.config.trackingIdPrefix, "_").concat(_uuid.default.v4().toString());
664
+ _t29 = _t26({
665
+ authorization: _t27,
666
+ trackingId: _t28
572
667
  }, _constants.HEADERS.CONTENT_TYPE, _constants.HEADERS.CONTENT_TYPE_VALUE.APPLICATION_JSON);
573
- _t29 = {
668
+ _t30 = {
574
669
  videoLayout: layout.videoLayout,
575
670
  contentLayout: layout.contentLayout,
576
671
  syncStageLayout: layout.syncStageLayout,
577
672
  syncStageInMeeting: layout.syncStageInMeeting
578
673
  };
579
- return _context7.abrupt("return", _t22.request.call(_t22, {
580
- method: _t23,
581
- uri: _t24,
582
- headers: _t28,
583
- body: _t29
674
+ return _context7.abrupt("return", _t23.request.call(_t23, {
675
+ method: _t24,
676
+ uri: _t25,
677
+ headers: _t29,
678
+ body: _t30
584
679
  }).catch(function (error) {
585
680
  _loggerProxy.default.logger.error('Meeting:webinar#updateWebcastLayout failed', error);
586
681
  throw error;
@@ -599,26 +694,26 @@ var Webinar = _webexCore.WebexPlugin.extend({
599
694
  viewAllWebcastAttendees: function viewAllWebcastAttendees() {
600
695
  var _this8 = this;
601
696
  return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee8() {
602
- var _t30, _t31, _t32, _t33, _t34, _t35;
697
+ var _t31, _t32, _t33, _t34, _t35, _t36;
603
698
  return _regenerator.default.wrap(function (_context8) {
604
699
  while (1) switch (_context8.prev = _context8.next) {
605
700
  case 0:
606
- _t30 = _this8;
607
- _t31 = _constants.HTTP_VERBS.GET;
608
- _t32 = "".concat(_this8.webcastInstanceUrl, "/attendees");
701
+ _t31 = _this8;
702
+ _t32 = _constants.HTTP_VERBS.GET;
703
+ _t33 = "".concat(_this8.webcastInstanceUrl, "/attendees");
609
704
  _context8.next = 1;
610
705
  return _this8.webex.credentials.getUserToken();
611
706
  case 1:
612
- _t33 = _context8.sent;
613
- _t34 = "".concat(_webexCore.config.trackingIdPrefix, "_").concat(_uuid.default.v4().toString());
614
- _t35 = {
615
- authorization: _t33,
616
- trackingId: _t34
707
+ _t34 = _context8.sent;
708
+ _t35 = "".concat(_webexCore.config.trackingIdPrefix, "_").concat(_uuid.default.v4().toString());
709
+ _t36 = {
710
+ authorization: _t34,
711
+ trackingId: _t35
617
712
  };
618
- return _context8.abrupt("return", _t30.request.call(_t30, {
619
- method: _t31,
620
- uri: _t32,
621
- headers: _t35
713
+ return _context8.abrupt("return", _t31.request.call(_t31, {
714
+ method: _t32,
715
+ uri: _t33,
716
+ headers: _t36
622
717
  }).catch(function (error) {
623
718
  _loggerProxy.default.logger.error('Meeting:webinar#viewAllWebcastAttendees failed', error);
624
719
  throw error;
@@ -639,27 +734,27 @@ var Webinar = _webexCore.WebexPlugin.extend({
639
734
  var _arguments = arguments,
640
735
  _this9 = this;
641
736
  return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee9() {
642
- var queryString, _t36, _t37, _t38, _t39, _t40, _t41;
737
+ var queryString, _t37, _t38, _t39, _t40, _t41, _t42;
643
738
  return _regenerator.default.wrap(function (_context9) {
644
739
  while (1) switch (_context9.prev = _context9.next) {
645
740
  case 0:
646
741
  queryString = _arguments.length > 0 && _arguments[0] !== undefined ? _arguments[0] : '';
647
- _t36 = _this9;
648
- _t37 = _constants.HTTP_VERBS.GET;
649
- _t38 = "".concat(_this9.webcastInstanceUrl, "/attendees?keyword=").concat(encodeURIComponent(queryString));
742
+ _t37 = _this9;
743
+ _t38 = _constants.HTTP_VERBS.GET;
744
+ _t39 = "".concat(_this9.webcastInstanceUrl, "/attendees?keyword=").concat(encodeURIComponent(queryString));
650
745
  _context9.next = 1;
651
746
  return _this9.webex.credentials.getUserToken();
652
747
  case 1:
653
- _t39 = _context9.sent;
654
- _t40 = "".concat(_webexCore.config.trackingIdPrefix, "_").concat(_uuid.default.v4().toString());
655
- _t41 = {
656
- authorization: _t39,
657
- trackingId: _t40
748
+ _t40 = _context9.sent;
749
+ _t41 = "".concat(_webexCore.config.trackingIdPrefix, "_").concat(_uuid.default.v4().toString());
750
+ _t42 = {
751
+ authorization: _t40,
752
+ trackingId: _t41
658
753
  };
659
- return _context9.abrupt("return", _t36.request.call(_t36, {
660
- method: _t37,
661
- uri: _t38,
662
- headers: _t41
754
+ return _context9.abrupt("return", _t37.request.call(_t37, {
755
+ method: _t38,
756
+ uri: _t39,
757
+ headers: _t42
663
758
  }).catch(function (error) {
664
759
  _loggerProxy.default.logger.error('Meeting:webinar#searchWebcastAttendees failed', error);
665
760
  throw error;
@@ -679,26 +774,26 @@ var Webinar = _webexCore.WebexPlugin.extend({
679
774
  expelWebcastAttendee: function expelWebcastAttendee(participantId) {
680
775
  var _this0 = this;
681
776
  return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee0() {
682
- var _t42, _t43, _t44, _t45, _t46, _t47;
777
+ var _t43, _t44, _t45, _t46, _t47, _t48;
683
778
  return _regenerator.default.wrap(function (_context0) {
684
779
  while (1) switch (_context0.prev = _context0.next) {
685
780
  case 0:
686
- _t42 = _this0;
687
- _t43 = _constants.HTTP_VERBS.DELETE;
688
- _t44 = "".concat(_this0.webcastInstanceUrl, "/attendees/").concat(participantId);
781
+ _t43 = _this0;
782
+ _t44 = _constants.HTTP_VERBS.DELETE;
783
+ _t45 = "".concat(_this0.webcastInstanceUrl, "/attendees/").concat(participantId);
689
784
  _context0.next = 1;
690
785
  return _this0.webex.credentials.getUserToken();
691
786
  case 1:
692
- _t45 = _context0.sent;
693
- _t46 = "".concat(_webexCore.config.trackingIdPrefix, "_").concat(_uuid.default.v4().toString());
694
- _t47 = {
695
- authorization: _t45,
696
- trackingId: _t46
787
+ _t46 = _context0.sent;
788
+ _t47 = "".concat(_webexCore.config.trackingIdPrefix, "_").concat(_uuid.default.v4().toString());
789
+ _t48 = {
790
+ authorization: _t46,
791
+ trackingId: _t47
697
792
  };
698
- return _context0.abrupt("return", _t42.request.call(_t42, {
699
- method: _t43,
700
- uri: _t44,
701
- headers: _t47
793
+ return _context0.abrupt("return", _t43.request.call(_t43, {
794
+ method: _t44,
795
+ uri: _t45,
796
+ headers: _t48
702
797
  }).catch(function (error) {
703
798
  _loggerProxy.default.logger.error('Meeting:webinar#expelWebcastAttendee failed', error);
704
799
  throw error;
@@ -722,7 +817,7 @@ var Webinar = _webexCore.WebexPlugin.extend({
722
817
  var _this1 = this;
723
818
  return (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee1() {
724
819
  var _payload$limit, _meeting$locusInfo3, _meeting$locusInfo3$l, _meeting$locusInfo3$l2, _meeting$locusInfo3$l3;
725
- var meeting, rawParams, attendeeSearchUrl, _t48, _t49, _t50, _t51, _t52, _t53;
820
+ var meeting, rawParams, attendeeSearchUrl, _t49, _t50, _t51, _t52, _t53, _t54;
726
821
  return _regenerator.default.wrap(function (_context1) {
727
822
  while (1) switch (_context1.prev = _context1.next) {
728
823
  case 0:
@@ -747,22 +842,22 @@ var Webinar = _webexCore.WebexPlugin.extend({
747
842
  _loggerProxy.default.logger.error('Meeting:webinar5k#searchLargeScaleWebinarAttendees failed --> attendee search url unavailable');
748
843
  throw new Error('Meeting:webinar5k#Attendee search url is not available');
749
844
  case 2:
750
- _t48 = _this1;
751
- _t49 = _constants.HTTP_VERBS.GET;
752
- _t50 = "".concat(attendeeSearchUrl, "?").concat(new URLSearchParams((0, _utils.sanitizeParams)(rawParams)).toString());
845
+ _t49 = _this1;
846
+ _t50 = _constants.HTTP_VERBS.GET;
847
+ _t51 = "".concat(attendeeSearchUrl, "?").concat(new URLSearchParams((0, _utils.sanitizeParams)(rawParams)).toString());
753
848
  _context1.next = 3;
754
849
  return _this1.webex.credentials.getUserToken();
755
850
  case 3:
756
- _t51 = _context1.sent;
757
- _t52 = "".concat(_webexCore.config.trackingIdPrefix, "_").concat(_uuid.default.v4().toString());
758
- _t53 = {
759
- authorization: _t51,
760
- trackingId: _t52
851
+ _t52 = _context1.sent;
852
+ _t53 = "".concat(_webexCore.config.trackingIdPrefix, "_").concat(_uuid.default.v4().toString());
853
+ _t54 = {
854
+ authorization: _t52,
855
+ trackingId: _t53
761
856
  };
762
- return _context1.abrupt("return", _t48.request.call(_t48, {
763
- method: _t49,
764
- uri: _t50,
765
- headers: _t53
857
+ return _context1.abrupt("return", _t49.request.call(_t49, {
858
+ method: _t50,
859
+ uri: _t51,
860
+ headers: _t54
766
861
  }).catch(function (error) {
767
862
  _loggerProxy.default.logger.error('Meeting:webinar5k#searchLargeScaleWebinarAttendees failed', error);
768
863
  throw error;
@@ -774,7 +869,7 @@ var Webinar = _webexCore.WebexPlugin.extend({
774
869
  }, _callee1);
775
870
  }))();
776
871
  },
777
- version: "3.12.0-next.64"
872
+ version: "3.12.0-next.66"
778
873
  });
779
874
  var _default = exports.default = Webinar;
780
875
  //# sourceMappingURL=index.js.map