@webex/plugin-meetings 3.11.0-next.4 → 3.11.0-next.40

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 (146) 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 +3 -3
  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 +5 -1
  10. package/dist/config.js.map +1 -1
  11. package/dist/constants.js +26 -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 +709 -380
  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 +233 -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/interpretation/index.js +2 -2
  32. package/dist/interpretation/index.js.map +1 -1
  33. package/dist/interpretation/siLanguage.js +1 -1
  34. package/dist/locus-info/controlsUtils.js +5 -3
  35. package/dist/locus-info/controlsUtils.js.map +1 -1
  36. package/dist/locus-info/index.js +125 -68
  37. package/dist/locus-info/index.js.map +1 -1
  38. package/dist/locus-info/selfUtils.js +1 -0
  39. package/dist/locus-info/selfUtils.js.map +1 -1
  40. package/dist/locus-info/types.js.map +1 -1
  41. package/dist/media/MediaConnectionAwaiter.js +57 -1
  42. package/dist/media/MediaConnectionAwaiter.js.map +1 -1
  43. package/dist/media/properties.js +4 -2
  44. package/dist/media/properties.js.map +1 -1
  45. package/dist/meeting/in-meeting-actions.js +7 -1
  46. package/dist/meeting/in-meeting-actions.js.map +1 -1
  47. package/dist/meeting/index.js +209 -90
  48. package/dist/meeting/index.js.map +1 -1
  49. package/dist/meeting/request.js +50 -0
  50. package/dist/meeting/request.js.map +1 -1
  51. package/dist/meeting/request.type.js.map +1 -1
  52. package/dist/meeting/util.js +128 -2
  53. package/dist/meeting/util.js.map +1 -1
  54. package/dist/meetings/index.js +78 -36
  55. package/dist/meetings/index.js.map +1 -1
  56. package/dist/member/index.js +10 -0
  57. package/dist/member/index.js.map +1 -1
  58. package/dist/member/util.js +10 -0
  59. package/dist/member/util.js.map +1 -1
  60. package/dist/metrics/constants.js +2 -1
  61. package/dist/metrics/constants.js.map +1 -1
  62. package/dist/multistream/mediaRequestManager.js +1 -1
  63. package/dist/multistream/mediaRequestManager.js.map +1 -1
  64. package/dist/multistream/remoteMediaManager.js +11 -0
  65. package/dist/multistream/remoteMediaManager.js.map +1 -1
  66. package/dist/reactions/reactions.type.js.map +1 -1
  67. package/dist/types/aiEnableRequest/index.d.ts +5 -0
  68. package/dist/types/aiEnableRequest/utils.d.ts +2 -0
  69. package/dist/types/config.d.ts +3 -0
  70. package/dist/types/constants.d.ts +21 -1
  71. package/dist/types/hashTree/constants.d.ts +1 -0
  72. package/dist/types/hashTree/hashTree.d.ts +7 -0
  73. package/dist/types/hashTree/hashTreeParser.d.ts +99 -14
  74. package/dist/types/hashTree/types.d.ts +3 -0
  75. package/dist/types/hashTree/utils.d.ts +6 -0
  76. package/dist/types/index.d.ts +1 -0
  77. package/dist/types/interceptors/constant.d.ts +5 -0
  78. package/dist/types/interceptors/dataChannelAuthToken.d.ts +35 -0
  79. package/dist/types/interceptors/index.d.ts +2 -1
  80. package/dist/types/locus-info/index.d.ts +9 -2
  81. package/dist/types/locus-info/types.d.ts +1 -0
  82. package/dist/types/media/MediaConnectionAwaiter.d.ts +10 -1
  83. package/dist/types/media/properties.d.ts +2 -1
  84. package/dist/types/meeting/in-meeting-actions.d.ts +6 -0
  85. package/dist/types/meeting/index.d.ts +24 -2
  86. package/dist/types/meeting/request.d.ts +16 -1
  87. package/dist/types/meeting/request.type.d.ts +5 -0
  88. package/dist/types/meeting/util.d.ts +31 -0
  89. package/dist/types/meetings/index.d.ts +4 -2
  90. package/dist/types/member/index.d.ts +1 -0
  91. package/dist/types/member/util.d.ts +5 -0
  92. package/dist/types/metrics/constants.d.ts +1 -0
  93. package/dist/types/reactions/reactions.type.d.ts +1 -0
  94. package/dist/webinar/index.js +1 -1
  95. package/package.json +22 -22
  96. package/src/aiEnableRequest/README.md +84 -0
  97. package/src/aiEnableRequest/index.ts +170 -0
  98. package/src/aiEnableRequest/utils.ts +25 -0
  99. package/src/annotation/index.ts +7 -4
  100. package/src/config.ts +3 -0
  101. package/src/constants.ts +26 -1
  102. package/src/hashTree/constants.ts +1 -0
  103. package/src/hashTree/hashTree.ts +17 -0
  104. package/src/hashTree/hashTreeParser.ts +627 -249
  105. package/src/hashTree/types.ts +4 -0
  106. package/src/hashTree/utils.ts +9 -0
  107. package/src/index.ts +8 -1
  108. package/src/interceptors/constant.ts +6 -0
  109. package/src/interceptors/dataChannelAuthToken.ts +142 -0
  110. package/src/interceptors/index.ts +2 -1
  111. package/src/interpretation/index.ts +2 -2
  112. package/src/locus-info/controlsUtils.ts +11 -0
  113. package/src/locus-info/index.ts +146 -58
  114. package/src/locus-info/selfUtils.ts +1 -0
  115. package/src/locus-info/types.ts +1 -0
  116. package/src/media/MediaConnectionAwaiter.ts +41 -1
  117. package/src/media/properties.ts +3 -1
  118. package/src/meeting/in-meeting-actions.ts +12 -0
  119. package/src/meeting/index.ts +127 -17
  120. package/src/meeting/request.ts +42 -0
  121. package/src/meeting/request.type.ts +6 -0
  122. package/src/meeting/util.ts +156 -1
  123. package/src/meetings/index.ts +94 -9
  124. package/src/member/index.ts +10 -0
  125. package/src/member/util.ts +12 -0
  126. package/src/metrics/constants.ts +1 -0
  127. package/src/multistream/mediaRequestManager.ts +1 -1
  128. package/src/multistream/remoteMediaManager.ts +13 -0
  129. package/src/reactions/reactions.type.ts +1 -0
  130. package/test/unit/spec/aiEnableRequest/index.ts +981 -0
  131. package/test/unit/spec/aiEnableRequest/utils.ts +130 -0
  132. package/test/unit/spec/hashTree/hashTree.ts +66 -0
  133. package/test/unit/spec/hashTree/hashTreeParser.ts +1869 -189
  134. package/test/unit/spec/interceptors/dataChannelAuthToken.ts +141 -0
  135. package/test/unit/spec/locus-info/controlsUtils.js +29 -0
  136. package/test/unit/spec/locus-info/index.js +201 -45
  137. package/test/unit/spec/media/MediaConnectionAwaiter.ts +41 -1
  138. package/test/unit/spec/media/properties.ts +12 -3
  139. package/test/unit/spec/meeting/in-meeting-actions.ts +8 -2
  140. package/test/unit/spec/meeting/index.js +441 -75
  141. package/test/unit/spec/meeting/request.js +64 -0
  142. package/test/unit/spec/meeting/utils.js +433 -22
  143. package/test/unit/spec/meetings/index.js +550 -10
  144. package/test/unit/spec/member/index.js +28 -4
  145. package/test/unit/spec/member/util.js +65 -27
  146. package/test/unit/spec/multistream/remoteMediaManager.ts +30 -0
@@ -23,6 +23,7 @@ var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/pr
23
23
  var _map = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/map"));
24
24
  var _isNan = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/number/is-nan"));
25
25
  var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
26
+ var _assign = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/assign"));
26
27
  var _weakMap = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/weak-map"));
27
28
  var _typeof2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/typeof"));
28
29
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
@@ -40,6 +41,7 @@ var _common = require("@webex/common");
40
41
  var _commonTimers = require("@webex/common-timers");
41
42
  var _internalPluginMetrics = require("@webex/internal-plugin-metrics");
42
43
  var _internalMediaCore = require("@webex/internal-media-core");
44
+ var _internalPluginLlm = require("@webex/internal-plugin-llm");
43
45
  var _mediaHelpers = require("@webex/media-helpers");
44
46
  var _internalPluginVoicea = require("@webex/internal-plugin-voicea");
45
47
  var _webCapabilities = require("@webex/web-capabilities");
@@ -90,6 +92,7 @@ var _joinWebinarError = _interopRequireDefault(require("../common/errors/join-we
90
92
  var _brbState = require("./brbState");
91
93
  var _multistreamNotSupportedError = _interopRequireDefault(require("../common/errors/multistream-not-supported-error"));
92
94
  var _joinForbiddenError = _interopRequireDefault(require("../common/errors/join-forbidden-error"));
95
+ var _aiEnableRequest = _interopRequireDefault(require("../aiEnableRequest"));
93
96
  function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof _Symbol && r[_Symbol$iterator] || r["@@iterator"]; if (!t) { if (_Array$isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
94
97
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? _Array$from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
95
98
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
@@ -387,7 +390,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
387
390
  * @memberof Meeting
388
391
  */
389
392
  function Meeting(attrs, _options, callback) {
390
- var _attrs$callStateForMe, _attrs$callStateForMe2, _this$locusInfo, _this$locusInfo$links, _this$locusInfo$links2, _this$locusInfo$links3, _this$locusInfo2, _this$locusInfo2$full, _this$locusInfo3, _this$locusInfo4;
393
+ var _attrs$callStateForMe, _attrs$callStateForMe2, _this$locusInfo2, _this$locusInfo2$link, _this$locusInfo2$link2, _this$locusInfo2$link3, _this$locusInfo3, _this$locusInfo3$full, _this$locusInfo4, _this$locusInfo5;
391
394
  var _this;
392
395
  (0, _classCallCheck2.default)(this, Meeting);
393
396
  _this = _callSuper(this, Meeting, [{}, _options]);
@@ -403,6 +406,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
403
406
  (0, _defineProperty3.default)(_this, "breakouts", void 0);
404
407
  (0, _defineProperty3.default)(_this, "simultaneousInterpretation", void 0);
405
408
  (0, _defineProperty3.default)(_this, "annotation", void 0);
409
+ (0, _defineProperty3.default)(_this, "aiEnableRequest", void 0);
406
410
  (0, _defineProperty3.default)(_this, "webinar", void 0);
407
411
  (0, _defineProperty3.default)(_this, "conversationUrl", void 0);
408
412
  (0, _defineProperty3.default)(_this, "callStateForMetrics", void 0);
@@ -505,6 +509,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
505
509
  (0, _defineProperty3.default)(_this, "localAudioStreamMuteStateHandler", void 0);
506
510
  (0, _defineProperty3.default)(_this, "localVideoStreamMuteStateHandler", void 0);
507
511
  (0, _defineProperty3.default)(_this, "localOutputTrackChangeHandler", void 0);
512
+ (0, _defineProperty3.default)(_this, "localConstraintsChangeHandler", void 0);
508
513
  (0, _defineProperty3.default)(_this, "environment", void 0);
509
514
  (0, _defineProperty3.default)(_this, "namespace", _constants.MEETINGS);
510
515
  (0, _defineProperty3.default)(_this, "allowMediaInLobby", void 0);
@@ -591,13 +596,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
591
596
  if (
592
597
  // @ts-ignore - config coming from registerPlugin
593
598
  (_this.config.receiveReactions || options.receiveReactions) && _this.isReactionsSupported()) {
599
+ var _this$locusInfo, _this$locusInfo$info;
594
600
  var member = _this.members.membersCollection.get(e.data.sender.participantId);
595
- if (!member) {
601
+ if (!member && !((_this$locusInfo = _this.locusInfo) !== null && _this$locusInfo !== void 0 && (_this$locusInfo$info = _this$locusInfo.info) !== null && _this$locusInfo$info !== void 0 && _this$locusInfo$info.isWebinar)) {
596
602
  // @ts-ignore -- fix type
597
603
  _loggerProxy.default.logger.warn("Meeting:index#processRelayEvent --> Skipping handling of ".concat(_constants3.REACTION_RELAY_TYPES.REACTION, " for ").concat(_this.id, ". participantId ").concat(e.data.sender.participantId, " does not exist in membersCollection."));
598
604
  break;
599
605
  }
600
- var name = member.name;
606
+ var name = member && member.name || e.data.sender.displayName;
601
607
  var processedReaction = {
602
608
  reaction: e.data.reaction,
603
609
  sender: {
@@ -1610,6 +1616,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
1610
1616
  _this.simultaneousInterpretation = new _interpretation.default({}, {
1611
1617
  parent: _this.webex
1612
1618
  });
1619
+
1620
+ // @ts-ignore
1621
+ _this.aiEnableRequest = new _aiEnableRequest.default({}, {
1622
+ parent: _this.webex
1623
+ });
1624
+
1613
1625
  /**
1614
1626
  * @instance
1615
1627
  * @type {Annotation}
@@ -2189,9 +2201,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
2189
2201
  * @memberof Meeting
2190
2202
  */
2191
2203
  _this.recordingController = new _recordingController.default(_this.meetingRequest, {
2192
- serviceUrl: (_this$locusInfo = _this.locusInfo) === null || _this$locusInfo === void 0 ? void 0 : (_this$locusInfo$links = _this$locusInfo.links) === null || _this$locusInfo$links === void 0 ? void 0 : (_this$locusInfo$links2 = _this$locusInfo$links.services) === null || _this$locusInfo$links2 === void 0 ? void 0 : (_this$locusInfo$links3 = _this$locusInfo$links2.record) === null || _this$locusInfo$links3 === void 0 ? void 0 : _this$locusInfo$links3.url,
2193
- sessionId: (_this$locusInfo2 = _this.locusInfo) === null || _this$locusInfo2 === void 0 ? void 0 : (_this$locusInfo2$full = _this$locusInfo2.fullState) === null || _this$locusInfo2$full === void 0 ? void 0 : _this$locusInfo2$full.sessionId,
2194
- locusUrl: (_this$locusInfo3 = _this.locusInfo) === null || _this$locusInfo3 === void 0 ? void 0 : _this$locusInfo3.url,
2204
+ serviceUrl: (_this$locusInfo2 = _this.locusInfo) === null || _this$locusInfo2 === void 0 ? void 0 : (_this$locusInfo2$link = _this$locusInfo2.links) === null || _this$locusInfo2$link === void 0 ? void 0 : (_this$locusInfo2$link2 = _this$locusInfo2$link.services) === null || _this$locusInfo2$link2 === void 0 ? void 0 : (_this$locusInfo2$link3 = _this$locusInfo2$link2.record) === null || _this$locusInfo2$link3 === void 0 ? void 0 : _this$locusInfo2$link3.url,
2205
+ sessionId: (_this$locusInfo3 = _this.locusInfo) === null || _this$locusInfo3 === void 0 ? void 0 : (_this$locusInfo3$full = _this$locusInfo3.fullState) === null || _this$locusInfo3$full === void 0 ? void 0 : _this$locusInfo3$full.sessionId,
2206
+ locusUrl: (_this$locusInfo4 = _this.locusInfo) === null || _this$locusInfo4 === void 0 ? void 0 : _this$locusInfo4.url,
2195
2207
  displayHints: []
2196
2208
  });
2197
2209
 
@@ -2203,7 +2215,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
2203
2215
  * @memberof Meeting
2204
2216
  */
2205
2217
  _this.controlsOptionsManager = new _controlsOptionsManager.default(_this.meetingRequest, {
2206
- locusUrl: (_this$locusInfo4 = _this.locusInfo) === null || _this$locusInfo4 === void 0 ? void 0 : _this$locusInfo4.url,
2218
+ locusUrl: (_this$locusInfo5 = _this.locusInfo) === null || _this$locusInfo5 === void 0 ? void 0 : _this$locusInfo5.url,
2207
2219
  displayHints: []
2208
2220
  });
2209
2221
  _this.setUpLocusInfoListeners();
@@ -2232,6 +2244,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
2232
2244
  _this.updateTranscodedMediaConnection();
2233
2245
  }
2234
2246
  };
2247
+ _this.localConstraintsChangeHandler = function () {
2248
+ if (!_this.isMultistream) {
2249
+ var _this$mediaProperties6;
2250
+ (_this$mediaProperties6 = _this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties6 === void 0 ? void 0 : _this$mediaProperties6.updatePreferredBitrateKbps();
2251
+ }
2252
+ };
2235
2253
 
2236
2254
  /**
2237
2255
  * Promise that exists if SDP offer has been generated, and resolves once sdp answer is received.
@@ -3570,8 +3588,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3570
3588
  state: state
3571
3589
  });
3572
3590
  });
3573
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_WEBCAST_CHANGED, function (_ref22) {
3574
- var state = _ref22.state;
3591
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_AI_SUMMARY_NOTIFICATION_UPDATED, function (_ref22) {
3592
+ var aiSummaryNotification = _ref22.aiSummaryNotification;
3593
+ _triggerProxy.default.trigger(_this12, {
3594
+ file: 'meeting/index',
3595
+ function: 'setupLocusControlsListener'
3596
+ }, _constants.EVENT_TRIGGERS.MEETING_CONTROLS_AI_SUMMARY_NOTIFICATION_UPDATED, {
3597
+ aiSummaryNotification: aiSummaryNotification
3598
+ });
3599
+ });
3600
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_WEBCAST_CHANGED, function (_ref23) {
3601
+ var state = _ref23.state;
3575
3602
  _triggerProxy.default.trigger(_this12, {
3576
3603
  file: 'meeting/index',
3577
3604
  function: 'setupLocusControlsListener'
@@ -3579,8 +3606,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3579
3606
  state: state
3580
3607
  });
3581
3608
  });
3582
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_FULL_CHANGED, function (_ref23) {
3583
- var state = _ref23.state;
3609
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_MEETING_FULL_CHANGED, function (_ref24) {
3610
+ var state = _ref24.state;
3584
3611
  _triggerProxy.default.trigger(_this12, {
3585
3612
  file: 'meeting/index',
3586
3613
  function: 'setupLocusControlsListener'
@@ -3588,8 +3615,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3588
3615
  state: state
3589
3616
  });
3590
3617
  });
3591
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_PRACTICE_SESSION_STATUS_UPDATED, function (_ref24) {
3592
- var state = _ref24.state;
3618
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_PRACTICE_SESSION_STATUS_UPDATED, function (_ref25) {
3619
+ var state = _ref25.state;
3593
3620
  _this12.webinar.updatePracticeSessionStatus(state);
3594
3621
  _triggerProxy.default.trigger(_this12, {
3595
3622
  file: 'meeting/index',
@@ -3598,8 +3625,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3598
3625
  state: state
3599
3626
  });
3600
3627
  });
3601
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_STAGE_VIEW_UPDATED, function (_ref25) {
3602
- var state = _ref25.state;
3628
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_STAGE_VIEW_UPDATED, function (_ref26) {
3629
+ var state = _ref26.state;
3603
3630
  _triggerProxy.default.trigger(_this12, {
3604
3631
  file: 'meeting/index',
3605
3632
  function: 'setupLocusControlsListener'
@@ -3607,8 +3634,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3607
3634
  state: state
3608
3635
  });
3609
3636
  });
3610
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIDEO_CHANGED, function (_ref26) {
3611
- var state = _ref26.state;
3637
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_VIDEO_CHANGED, function (_ref27) {
3638
+ var state = _ref27.state;
3612
3639
  _triggerProxy.default.trigger(_this12, {
3613
3640
  file: 'meeting/index',
3614
3641
  function: 'setupLocusControlsListener'
@@ -3616,8 +3643,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3616
3643
  state: state
3617
3644
  });
3618
3645
  });
3619
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_AUTO_END_MEETING_WARNING_CHANGED, function (_ref27) {
3620
- var state = _ref27.state;
3646
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_AUTO_END_MEETING_WARNING_CHANGED, function (_ref28) {
3647
+ var state = _ref28.state;
3621
3648
  _triggerProxy.default.trigger(_this12, {
3622
3649
  file: 'meeting/index',
3623
3650
  function: 'setupLocusControlsListener'
@@ -3625,8 +3652,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3625
3652
  state: state
3626
3653
  });
3627
3654
  });
3628
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_ANNOTATION_CHANGED, function (_ref28) {
3629
- var state = _ref28.state;
3655
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_ANNOTATION_CHANGED, function (_ref29) {
3656
+ var state = _ref29.state;
3630
3657
  _triggerProxy.default.trigger(_this12, {
3631
3658
  file: 'meeting/index',
3632
3659
  function: 'setupLocusControlsListener'
@@ -3634,8 +3661,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3634
3661
  state: state
3635
3662
  });
3636
3663
  });
3637
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_REMOTE_DESKTOP_CONTROL_CHANGED, function (_ref29) {
3638
- var state = _ref29.state;
3664
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_REMOTE_DESKTOP_CONTROL_CHANGED, function (_ref30) {
3665
+ var state = _ref30.state;
3639
3666
  _triggerProxy.default.trigger(_this12, {
3640
3667
  file: 'meeting/index',
3641
3668
  function: 'setupLocusControlsListener'
@@ -3643,8 +3670,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3643
3670
  state: state
3644
3671
  });
3645
3672
  });
3646
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_POLLING_QA_CHANGED, function (_ref30) {
3647
- var state = _ref30.state;
3673
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.CONTROLS_POLLING_QA_CHANGED, function (_ref31) {
3674
+ var state = _ref31.state;
3648
3675
  _triggerProxy.default.trigger(_this12, {
3649
3676
  file: 'meeting/index',
3650
3677
  function: 'setupLocusControlsListener'
@@ -3691,7 +3718,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3691
3718
  var _this13 = this;
3692
3719
  // Will get triggered on local and remote share
3693
3720
  this.locusInfo.on(_constants.EVENTS.LOCUS_INFO_UPDATE_MEDIA_SHARES, /*#__PURE__*/function () {
3694
- var _ref31 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee8(payload) {
3721
+ var _ref32 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee8(payload) {
3695
3722
  var _payload$previous, _payload$previous2;
3696
3723
  var _payload$current, contentShare, whiteboardShare, previousContentShare, previousWhiteboardShare, newShareStatus, _this13$locusInfo, _this13$locusInfo$inf, _this13$webinar, oldShareStatus, sendStartedSharingRemote, _this13$mediaProperti, _t6, _t7;
3697
3724
  return _regenerator.default.wrap(function (_context8) {
@@ -3926,7 +3953,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3926
3953
  }, _callee8, null, [[9,, 10, 11]]);
3927
3954
  }));
3928
3955
  return function (_x8) {
3929
- return _ref31.apply(this, arguments);
3956
+ return _ref32.apply(this, arguments);
3930
3957
  };
3931
3958
  }());
3932
3959
  }
@@ -3955,6 +3982,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3955
3982
  _this14.recordingController.setLocusUrl(_this14.locusUrl);
3956
3983
  _this14.controlsOptionsManager.setLocusUrl(_this14.locusUrl, !!isMainLocus);
3957
3984
  _this14.webinar.locusUrlUpdate(url);
3985
+ // @ts-ignore
3986
+ _this14.webex.internal.llm.setRefreshHandler(function () {
3987
+ return _this14.refreshDataChannelToken();
3988
+ });
3958
3989
  _triggerProxy.default.trigger(_this14, {
3959
3990
  file: 'meeting/index',
3960
3991
  function: 'setUpLocusSelfListener'
@@ -3978,12 +4009,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
3978
4009
  value: function setUpLocusServicesListener() {
3979
4010
  var _this15 = this;
3980
4011
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.LINKS_SERVICES, function (payload) {
3981
- var _payload$services, _payload$services$rec, _this15$locusInfo, _this15$locusInfo$ful, _payload$services2, _payload$services2$br, _payload$services3, _payload$services3$ap, _payload$services4, _payload$services4$ap;
4012
+ var _payload$services, _payload$services$rec, _this15$locusInfo, _this15$locusInfo$ful, _payload$services2, _payload$services2$br, _payload$services3, _payload$services3$ap, _payload$services4, _payload$services4$ap, _payload$services5, _payload$services5$ap;
3982
4013
  _this15.recordingController.setServiceUrl(payload === null || payload === void 0 ? void 0 : (_payload$services = payload.services) === null || _payload$services === void 0 ? void 0 : (_payload$services$rec = _payload$services.record) === null || _payload$services$rec === void 0 ? void 0 : _payload$services$rec.url);
3983
4014
  _this15.recordingController.setSessionId((_this15$locusInfo = _this15.locusInfo) === null || _this15$locusInfo === void 0 ? void 0 : (_this15$locusInfo$ful = _this15$locusInfo.fullState) === null || _this15$locusInfo$ful === void 0 ? void 0 : _this15$locusInfo$ful.sessionId);
3984
4015
  _this15.breakouts.breakoutServiceUrlUpdate(payload === null || payload === void 0 ? void 0 : (_payload$services2 = payload.services) === null || _payload$services2 === void 0 ? void 0 : (_payload$services2$br = _payload$services2.breakout) === null || _payload$services2$br === void 0 ? void 0 : _payload$services2$br.url);
3985
4016
  _this15.annotation.approvalUrlUpdate(payload === null || payload === void 0 ? void 0 : (_payload$services3 = payload.services) === null || _payload$services3 === void 0 ? void 0 : (_payload$services3$ap = _payload$services3.approval) === null || _payload$services3$ap === void 0 ? void 0 : _payload$services3$ap.url);
3986
4017
  _this15.simultaneousInterpretation.approvalUrlUpdate(payload === null || payload === void 0 ? void 0 : (_payload$services4 = payload.services) === null || _payload$services4 === void 0 ? void 0 : (_payload$services4$ap = _payload$services4.approval) === null || _payload$services4$ap === void 0 ? void 0 : _payload$services4$ap.url);
4018
+ _this15.aiEnableRequest.approvalUrlUpdate(payload === null || payload === void 0 ? void 0 : (_payload$services5 = payload.services) === null || _payload$services5 === void 0 ? void 0 : (_payload$services5$ap = _payload$services5.approval) === null || _payload$services5$ap === void 0 ? void 0 : _payload$services5$ap.url);
3987
4019
  });
3988
4020
  }
3989
4021
 
@@ -4042,8 +4074,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4042
4074
  });
4043
4075
  }
4044
4076
  });
4045
- this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_INFO_UPDATED, function (_ref32) {
4046
- var isInitializing = _ref32.isInitializing;
4077
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.MEETING_INFO_UPDATED, function (_ref33) {
4078
+ var isInitializing = _ref33.isInitializing;
4047
4079
  _this17.updateMeetingActions();
4048
4080
  _this17.recordingController.setDisplayHints(_this17.userDisplayHints);
4049
4081
  _this17.recordingController.setUserPolicy(_this17.selfUserPolicies);
@@ -4181,7 +4213,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4181
4213
  _this19.updateLLMConnection();
4182
4214
  });
4183
4215
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_ADMITTED_GUEST, /*#__PURE__*/function () {
4184
- var _ref33 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee9(payload) {
4216
+ var _ref34 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee9(payload) {
4185
4217
  var _this19$rtcMetrics;
4186
4218
  return _regenerator.default.wrap(function (_context9) {
4187
4219
  while (1) switch (_context9.prev = _context9.next) {
@@ -4215,7 +4247,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4215
4247
  }, _callee9);
4216
4248
  }));
4217
4249
  return function (_x9) {
4218
- return _ref33.apply(this, arguments);
4250
+ return _ref34.apply(this, arguments);
4219
4251
  };
4220
4252
  }());
4221
4253
 
@@ -4267,6 +4299,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4267
4299
  function: 'setUpLocusInfoSelfListener'
4268
4300
  }, _constants.EVENT_TRIGGERS.MEETING_BREAKOUTS_UPDATE);
4269
4301
  });
4302
+ this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_ID_CHANGED, function (payload) {
4303
+ _this19.aiEnableRequest.selfParticipantIdUpdate(payload.selfId);
4304
+ });
4270
4305
  this.locusInfo.on(_constants.LOCUSINFO.EVENTS.SELF_MEETING_INTERPRETATION_CHANGED, function (payload) {
4271
4306
  var targetChanged = _this19.simultaneousInterpretation.updateSelfInterpretation(payload);
4272
4307
  _triggerProxy.default.trigger(_this19, {
@@ -4334,7 +4369,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4334
4369
  }
4335
4370
  });
4336
4371
  this.locusInfo.on(_constants.EVENTS.DESTROY_MEETING, /*#__PURE__*/function () {
4337
- var _ref34 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee0(payload) {
4372
+ var _ref35 = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee0(payload) {
4338
4373
  var _t8;
4339
4374
  return _regenerator.default.wrap(function (_context0) {
4340
4375
  while (1) switch (_context0.prev = _context0.next) {
@@ -4395,7 +4430,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4395
4430
  }, _callee0, null, [[3, 5]]);
4396
4431
  }));
4397
4432
  return function (_x0) {
4398
- return _ref34.apply(this, arguments);
4433
+ return _ref35.apply(this, arguments);
4399
4434
  };
4400
4435
  }());
4401
4436
  }
@@ -4748,6 +4783,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4748
4783
  canLowerAllHands: _util2.default.canUserLowerAllHands(this.userDisplayHints),
4749
4784
  canLowerSomeoneElsesHand: _util2.default.canUserLowerSomeoneElsesHand(this.userDisplayHints),
4750
4785
  bothLeaveAndEndMeetingAvailable: _util2.default.bothLeaveAndEndMeetingAvailable(this.userDisplayHints),
4786
+ requireHostEndMeetingBeforeLeave: _util2.default.requireHostEndMeetingBeforeLeave(this.userDisplayHints),
4751
4787
  canEnableClosedCaption: _util2.default.canEnableClosedCaption(this.userDisplayHints),
4752
4788
  canStartTranscribing: _util2.default.canStartTranscribing(this.userDisplayHints),
4753
4789
  canStopTranscribing: _util2.default.canStopTranscribing(this.userDisplayHints),
@@ -4977,7 +5013,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
4977
5013
  canDisablePollingQA: _util5.default.hasHints({
4978
5014
  requiredHints: [_constants.DISPLAY_HINTS.DISABLE_ATTENDEE_START_POLLING_QA],
4979
5015
  displayHints: this.userDisplayHints
4980
- })
5016
+ }),
5017
+ canAttendeeRequestAiAssistantEnabled: _util2.default.canAttendeeRequestAiAssistantEnabled(this.userDisplayHints, this.roles),
5018
+ isAttendeeRequestAiAssistantDeclinedAll: _util2.default.attendeeRequestAiAssistantDeclinedAll(this.userDisplayHints)
4981
5019
  }) || changed;
4982
5020
  }
4983
5021
  if (changed) {
@@ -5059,7 +5097,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5059
5097
  this.locusInfo.initialSetup({
5060
5098
  trigger: 'join-response',
5061
5099
  locus: mtgLocus,
5062
- dataSets: data.dataSets
5100
+ dataSets: data.dataSets,
5101
+ metadata: data.metadata
5063
5102
  });
5064
5103
  }
5065
5104
 
@@ -5174,10 +5213,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5174
5213
  key: "closeRemoteStreams",
5175
5214
  value: function closeRemoteStreams() {
5176
5215
  var _this24 = this;
5177
- var _this$mediaProperties6 = this.mediaProperties,
5178
- remoteAudioStream = _this$mediaProperties6.remoteAudioStream,
5179
- remoteVideoStream = _this$mediaProperties6.remoteVideoStream,
5180
- remoteShareStream = _this$mediaProperties6.remoteShareStream;
5216
+ var _this$mediaProperties7 = this.mediaProperties,
5217
+ remoteAudioStream = _this$mediaProperties7.remoteAudioStream,
5218
+ remoteVideoStream = _this$mediaProperties7.remoteVideoStream,
5219
+ remoteShareStream = _this$mediaProperties7.remoteShareStream;
5181
5220
 
5182
5221
  /**
5183
5222
  * Triggers an event to the developer
@@ -5279,6 +5318,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5279
5318
  oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localVideoStreamMuteStateHandler);
5280
5319
  oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localVideoStreamMuteStateHandler);
5281
5320
  oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
5321
+ oldStream === null || oldStream === void 0 ? void 0 : oldStream.off(_mediaHelpers.LocalStreamEventNames.ConstraintsChange, this.localConstraintsChangeHandler);
5282
5322
 
5283
5323
  // we don't update this.mediaProperties.mediaDirection.sendVideo, because we always keep it as true to avoid extra SDP exchanges
5284
5324
  this.mediaProperties.setLocalVideoStream(localStream);
@@ -5286,6 +5326,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5286
5326
  localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localVideoStreamMuteStateHandler);
5287
5327
  localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localVideoStreamMuteStateHandler);
5288
5328
  localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
5329
+ localStream === null || localStream === void 0 ? void 0 : localStream.on(_mediaHelpers.LocalStreamEventNames.ConstraintsChange, this.localConstraintsChangeHandler);
5289
5330
  if (!(!this.isMultistream || !localStream)) {
5290
5331
  _context11.next = 1;
5291
5332
  break;
@@ -5429,17 +5470,18 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
5429
5470
  }, {
5430
5471
  key: "cleanupLocalStreams",
5431
5472
  value: function cleanupLocalStreams() {
5432
- var _this$mediaProperties7 = this.mediaProperties,
5433
- audioStream = _this$mediaProperties7.audioStream,
5434
- videoStream = _this$mediaProperties7.videoStream,
5435
- shareAudioStream = _this$mediaProperties7.shareAudioStream,
5436
- shareVideoStream = _this$mediaProperties7.shareVideoStream;
5473
+ var _this$mediaProperties8 = this.mediaProperties,
5474
+ audioStream = _this$mediaProperties8.audioStream,
5475
+ videoStream = _this$mediaProperties8.videoStream,
5476
+ shareAudioStream = _this$mediaProperties8.shareAudioStream,
5477
+ shareVideoStream = _this$mediaProperties8.shareVideoStream;
5437
5478
  audioStream === null || audioStream === void 0 ? void 0 : audioStream.off(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localAudioStreamMuteStateHandler);
5438
5479
  audioStream === null || audioStream === void 0 ? void 0 : audioStream.off(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localAudioStreamMuteStateHandler);
5439
5480
  audioStream === null || audioStream === void 0 ? void 0 : audioStream.off(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
5440
5481
  videoStream === null || videoStream === void 0 ? void 0 : videoStream.off(_mediaHelpers.LocalStreamEventNames.UserMuteStateChange, this.localVideoStreamMuteStateHandler);
5441
5482
  videoStream === null || videoStream === void 0 ? void 0 : videoStream.off(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.localVideoStreamMuteStateHandler);
5442
5483
  videoStream === null || videoStream === void 0 ? void 0 : videoStream.off(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
5484
+ videoStream === null || videoStream === void 0 ? void 0 : videoStream.off(_mediaHelpers.LocalStreamEventNames.ConstraintsChange, this.localConstraintsChangeHandler);
5443
5485
  shareAudioStream === null || shareAudioStream === void 0 ? void 0 : shareAudioStream.off(_mediaHelpers.StreamEventNames.Ended, this.handleShareAudioStreamEnded);
5444
5486
  shareAudioStream === null || shareAudioStream === void 0 ? void 0 : shareAudioStream.off(_mediaHelpers.LocalStreamEventNames.OutputTrackChange, this.localOutputTrackChangeHandler);
5445
5487
  shareVideoStream === null || shareVideoStream === void 0 ? void 0 : shareVideoStream.off(_mediaHelpers.LocalStreamEventNames.SystemMuteStateChange, this.handleShareVideoStreamMuteStateChange);
@@ -6099,8 +6141,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6099
6141
  }, {
6100
6142
  key: "isReactionsSupported",
6101
6143
  value: function isReactionsSupported() {
6102
- var _this$locusInfo5, _this$locusInfo5$cont;
6103
- if ((_this$locusInfo5 = this.locusInfo) !== null && _this$locusInfo5 !== void 0 && (_this$locusInfo5$cont = _this$locusInfo5.controls) !== null && _this$locusInfo5$cont !== void 0 && _this$locusInfo5$cont.reactions.enabled) {
6144
+ var _this$locusInfo6, _this$locusInfo6$cont;
6145
+ if ((_this$locusInfo6 = this.locusInfo) !== null && _this$locusInfo6 !== void 0 && (_this$locusInfo6$cont = _this$locusInfo6.controls) !== null && _this$locusInfo6$cont !== void 0 && _this$locusInfo6$cont.reactions.enabled) {
6104
6146
  return true;
6105
6147
  }
6106
6148
  _loggerProxy.default.logger.error('Meeting:index#isReactionsSupported --> Reactions is not supported');
@@ -6572,14 +6614,25 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6572
6614
  value: (function () {
6573
6615
  var _updateLLMConnection = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee18() {
6574
6616
  var _this36 = this;
6575
- var _this$locusInfo6, url, _this$locusInfo6$info, _this$locusInfo6$info2, datachannelUrl, practiceSessionDatachannelUrl, isJoined, dataChannelUrl;
6617
+ var _ref37, _ref37$url, url, _ref37$info, _ref37$info2, _ref37$info2$datachan, datachannelUrl, _ref37$info2$practice, practiceSessionDatachannelUrl, _ref37$self, _ref37$self2, _ref37$self2$datachan, datachannelToken, _ref37$self2$practice, practiceSessionDatachannelToken, isJoined, dataChannelTokenType, isPracticeSession, currentToken, locusToken, finalToken, dataChannelUrl;
6576
6618
  return _regenerator.default.wrap(function (_context18) {
6577
6619
  while (1) switch (_context18.prev = _context18.next) {
6578
6620
  case 0:
6579
6621
  // @ts-ignore - Fix type
6580
- _this$locusInfo6 = this.locusInfo, url = _this$locusInfo6.url, _this$locusInfo6$info = _this$locusInfo6.info, _this$locusInfo6$info2 = _this$locusInfo6$info === void 0 ? {} : _this$locusInfo6$info, datachannelUrl = _this$locusInfo6$info2.datachannelUrl, practiceSessionDatachannelUrl = _this$locusInfo6$info2.practiceSessionDatachannelUrl;
6581
- isJoined = this.isJoined(); // webinar panelist should use new data channel in practice session
6582
- dataChannelUrl = this.webinar.isJoinPracticeSessionDataChannel() && practiceSessionDatachannelUrl ? practiceSessionDatachannelUrl : datachannelUrl; // @ts-ignore - Fix type
6622
+ _ref37 = this.locusInfo || {}, _ref37$url = _ref37.url, url = _ref37$url === void 0 ? undefined : _ref37$url, _ref37$info = _ref37.info, _ref37$info2 = _ref37$info === void 0 ? {} : _ref37$info, _ref37$info2$datachan = _ref37$info2.datachannelUrl, datachannelUrl = _ref37$info2$datachan === void 0 ? undefined : _ref37$info2$datachan, _ref37$info2$practice = _ref37$info2.practiceSessionDatachannelUrl, practiceSessionDatachannelUrl = _ref37$info2$practice === void 0 ? undefined : _ref37$info2$practice, _ref37$self = _ref37.self, _ref37$self2 = _ref37$self === void 0 ? {} : _ref37$self, _ref37$self2$datachan = _ref37$self2.datachannelToken, datachannelToken = _ref37$self2$datachan === void 0 ? undefined : _ref37$self2$datachan, _ref37$self2$practice = _ref37$self2.practiceSessionDatachannelToken, practiceSessionDatachannelToken = _ref37$self2$practice === void 0 ? undefined : _ref37$self2$practice;
6623
+ isJoined = this.isJoined();
6624
+ dataChannelTokenType = this.getDataChannelTokenType();
6625
+ isPracticeSession = dataChannelTokenType === _internalPluginLlm.DataChannelTokenType.PracticeSession; // @ts-ignore
6626
+ currentToken = this.webex.internal.llm.getDatachannelToken(dataChannelTokenType);
6627
+ locusToken = isPracticeSession ? practiceSessionDatachannelToken : datachannelToken;
6628
+ finalToken = currentToken !== null && currentToken !== void 0 ? currentToken : locusToken;
6629
+ if (!currentToken && locusToken) {
6630
+ // @ts-ignore
6631
+ this.webex.internal.llm.setDatachannelToken(locusToken, dataChannelTokenType);
6632
+ }
6633
+
6634
+ // webinar panelist should use new data channel in practice session
6635
+ dataChannelUrl = isPracticeSession && practiceSessionDatachannelUrl ? practiceSessionDatachannelUrl : datachannelUrl; // @ts-ignore - Fix type
6583
6636
  if (!this.webex.internal.llm.isConnected()) {
6584
6637
  _context18.next = 3;
6585
6638
  break;
@@ -6595,10 +6648,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6595
6648
  return _context18.abrupt("return", undefined);
6596
6649
  case 1:
6597
6650
  _context18.next = 2;
6598
- return this.webex.internal.llm.disconnectLLM(isJoined ? {
6651
+ return this.webex.internal.llm.disconnectLLM({
6599
6652
  code: 3050,
6600
6653
  reason: 'done (permanent)'
6601
- } : undefined);
6654
+ });
6602
6655
  case 2:
6603
6656
  // @ts-ignore - Fix type
6604
6657
  this.webex.internal.llm.off('event:relay.event', this.processRelayEvent);
@@ -6612,7 +6665,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
6612
6665
  }
6613
6666
  return _context18.abrupt("return", undefined);
6614
6667
  case 4:
6615
- return _context18.abrupt("return", this.webex.internal.llm.registerAndConnect(url, dataChannelUrl).then(function (registerAndConnectResult) {
6668
+ return _context18.abrupt("return", this.webex.internal.llm.registerAndConnect(url, dataChannelUrl, finalToken).then(function (registerAndConnectResult) {
6616
6669
  // @ts-ignore - Fix type
6617
6670
  _this36.webex.internal.llm.off('event:relay.event', _this36.processRelayEvent);
6618
6671
  // @ts-ignore - Fix type
@@ -7144,13 +7197,13 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7144
7197
  key: "waitForMediaConnectionConnected",
7145
7198
  value: (function () {
7146
7199
  var _waitForMediaConnectionConnected = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee22() {
7147
- var iceConnected, _this$mediaProperties8, _this$mediaProperties9, _this$mediaProperties0, _this$mediaProperties1, _this$mediaProperties10, _this$mediaProperties11, _this$mediaProperties12, timedOutError, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27;
7200
+ var iceConnected, _this$mediaProperties9, _this$mediaProperties0, _this$mediaProperties1, _this$mediaProperties10, _this$mediaProperties11, _this$mediaProperties12, _this$mediaProperties13, timedOutError, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27;
7148
7201
  return _regenerator.default.wrap(function (_context22) {
7149
7202
  while (1) switch (_context22.prev = _context22.next) {
7150
7203
  case 0:
7151
7204
  _context22.prev = 0;
7152
7205
  _context22.next = 1;
7153
- return this.mediaProperties.waitForMediaConnectionConnected();
7206
+ return this.mediaProperties.waitForMediaConnectionConnected(this.correlationId);
7154
7207
  case 1:
7155
7208
  _context22.next = 5;
7156
7209
  break;
@@ -7167,7 +7220,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7167
7220
  _t16 = this.addMediaData.icePhaseCallback();
7168
7221
  _t17 = this.webex.internal.newMetrics.callDiagnosticMetrics;
7169
7222
  _t18 = _internalPluginMetrics.CallDiagnosticUtils;
7170
- _t19 = ((_this$mediaProperties8 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties8 === void 0 ? void 0 : (_this$mediaProperties9 = _this$mediaProperties8.multistreamConnection) === null || _this$mediaProperties9 === void 0 ? void 0 : (_this$mediaProperties0 = _this$mediaProperties9.pc) === null || _this$mediaProperties0 === void 0 ? void 0 : (_this$mediaProperties1 = _this$mediaProperties0.pc) === null || _this$mediaProperties1 === void 0 ? void 0 : _this$mediaProperties1.signalingState) || ((_this$mediaProperties10 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties10 === void 0 ? void 0 : (_this$mediaProperties11 = _this$mediaProperties10.mediaConnection) === null || _this$mediaProperties11 === void 0 ? void 0 : (_this$mediaProperties12 = _this$mediaProperties11.pc) === null || _this$mediaProperties12 === void 0 ? void 0 : _this$mediaProperties12.signalingState) || 'unknown';
7223
+ _t19 = ((_this$mediaProperties9 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties9 === void 0 ? void 0 : (_this$mediaProperties0 = _this$mediaProperties9.multistreamConnection) === null || _this$mediaProperties0 === void 0 ? void 0 : (_this$mediaProperties1 = _this$mediaProperties0.pc) === null || _this$mediaProperties1 === void 0 ? void 0 : (_this$mediaProperties10 = _this$mediaProperties1.pc) === null || _this$mediaProperties10 === void 0 ? void 0 : _this$mediaProperties10.signalingState) || ((_this$mediaProperties11 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties11 === void 0 ? void 0 : (_this$mediaProperties12 = _this$mediaProperties11.mediaConnection) === null || _this$mediaProperties12 === void 0 ? void 0 : (_this$mediaProperties13 = _this$mediaProperties12.pc) === null || _this$mediaProperties13 === void 0 ? void 0 : _this$mediaProperties13.signalingState) || 'unknown';
7171
7224
  _t20 = iceConnected;
7172
7225
  _t21 = this.turnServerUsed;
7173
7226
  _context22.next = 3;
@@ -7880,7 +7933,6 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7880
7933
  numTransports,
7881
7934
  iceCandidateErrors,
7882
7935
  reachabilityMetrics,
7883
- _this$mediaProperties13,
7884
7936
  _this$mediaProperties14,
7885
7937
  _this$mediaProperties15,
7886
7938
  _this$mediaProperties16,
@@ -7901,6 +7953,7 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
7901
7953
  _this$mediaProperties31,
7902
7954
  _this$mediaProperties32,
7903
7955
  _this$mediaProperties33,
7956
+ _this$mediaProperties34,
7904
7957
  _reachabilityMetrics,
7905
7958
  _yield$this$mediaProp2,
7906
7959
  _selectedCandidatePairChanges,
@@ -8103,9 +8156,9 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8103
8156
  retriedWithTurnServer: this.addMediaData.retriedWithTurnServer,
8104
8157
  isMultistream: this.isMultistream,
8105
8158
  isJoinWithMediaRetry: this.joinWithMediaRetryInfo.isRetry,
8106
- signalingState: ((_this$mediaProperties13 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties13 === void 0 ? void 0 : (_this$mediaProperties14 = _this$mediaProperties13.multistreamConnection) === null || _this$mediaProperties14 === void 0 ? void 0 : (_this$mediaProperties15 = _this$mediaProperties14.pc) === null || _this$mediaProperties15 === void 0 ? void 0 : (_this$mediaProperties16 = _this$mediaProperties15.pc) === null || _this$mediaProperties16 === void 0 ? void 0 : _this$mediaProperties16.signalingState) || ((_this$mediaProperties17 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties17 === void 0 ? void 0 : (_this$mediaProperties18 = _this$mediaProperties17.mediaConnection) === null || _this$mediaProperties18 === void 0 ? void 0 : (_this$mediaProperties19 = _this$mediaProperties18.pc) === null || _this$mediaProperties19 === void 0 ? void 0 : _this$mediaProperties19.signalingState) || 'unknown',
8107
- connectionState: ((_this$mediaProperties20 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties20 === void 0 ? void 0 : (_this$mediaProperties21 = _this$mediaProperties20.multistreamConnection) === null || _this$mediaProperties21 === void 0 ? void 0 : (_this$mediaProperties22 = _this$mediaProperties21.pc) === null || _this$mediaProperties22 === void 0 ? void 0 : (_this$mediaProperties23 = _this$mediaProperties22.pc) === null || _this$mediaProperties23 === void 0 ? void 0 : _this$mediaProperties23.connectionState) || ((_this$mediaProperties24 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties24 === void 0 ? void 0 : (_this$mediaProperties25 = _this$mediaProperties24.mediaConnection) === null || _this$mediaProperties25 === void 0 ? void 0 : (_this$mediaProperties26 = _this$mediaProperties25.pc) === null || _this$mediaProperties26 === void 0 ? void 0 : _this$mediaProperties26.connectionState) || 'unknown',
8108
- iceConnectionState: ((_this$mediaProperties27 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties27 === void 0 ? void 0 : (_this$mediaProperties28 = _this$mediaProperties27.multistreamConnection) === null || _this$mediaProperties28 === void 0 ? void 0 : (_this$mediaProperties29 = _this$mediaProperties28.pc) === null || _this$mediaProperties29 === void 0 ? void 0 : (_this$mediaProperties30 = _this$mediaProperties29.pc) === null || _this$mediaProperties30 === void 0 ? void 0 : _this$mediaProperties30.iceConnectionState) || ((_this$mediaProperties31 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties31 === void 0 ? void 0 : (_this$mediaProperties32 = _this$mediaProperties31.mediaConnection) === null || _this$mediaProperties32 === void 0 ? void 0 : (_this$mediaProperties33 = _this$mediaProperties32.pc) === null || _this$mediaProperties33 === void 0 ? void 0 : _this$mediaProperties33.iceConnectionState) || 'unknown'
8159
+ signalingState: ((_this$mediaProperties14 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties14 === void 0 ? void 0 : (_this$mediaProperties15 = _this$mediaProperties14.multistreamConnection) === null || _this$mediaProperties15 === void 0 ? void 0 : (_this$mediaProperties16 = _this$mediaProperties15.pc) === null || _this$mediaProperties16 === void 0 ? void 0 : (_this$mediaProperties17 = _this$mediaProperties16.pc) === null || _this$mediaProperties17 === void 0 ? void 0 : _this$mediaProperties17.signalingState) || ((_this$mediaProperties18 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties18 === void 0 ? void 0 : (_this$mediaProperties19 = _this$mediaProperties18.mediaConnection) === null || _this$mediaProperties19 === void 0 ? void 0 : (_this$mediaProperties20 = _this$mediaProperties19.pc) === null || _this$mediaProperties20 === void 0 ? void 0 : _this$mediaProperties20.signalingState) || 'unknown',
8160
+ connectionState: ((_this$mediaProperties21 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties21 === void 0 ? void 0 : (_this$mediaProperties22 = _this$mediaProperties21.multistreamConnection) === null || _this$mediaProperties22 === void 0 ? void 0 : (_this$mediaProperties23 = _this$mediaProperties22.pc) === null || _this$mediaProperties23 === void 0 ? void 0 : (_this$mediaProperties24 = _this$mediaProperties23.pc) === null || _this$mediaProperties24 === void 0 ? void 0 : _this$mediaProperties24.connectionState) || ((_this$mediaProperties25 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties25 === void 0 ? void 0 : (_this$mediaProperties26 = _this$mediaProperties25.mediaConnection) === null || _this$mediaProperties26 === void 0 ? void 0 : (_this$mediaProperties27 = _this$mediaProperties26.pc) === null || _this$mediaProperties27 === void 0 ? void 0 : _this$mediaProperties27.connectionState) || 'unknown',
8161
+ iceConnectionState: ((_this$mediaProperties28 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties28 === void 0 ? void 0 : (_this$mediaProperties29 = _this$mediaProperties28.multistreamConnection) === null || _this$mediaProperties29 === void 0 ? void 0 : (_this$mediaProperties30 = _this$mediaProperties29.pc) === null || _this$mediaProperties30 === void 0 ? void 0 : (_this$mediaProperties31 = _this$mediaProperties30.pc) === null || _this$mediaProperties31 === void 0 ? void 0 : _this$mediaProperties31.iceConnectionState) || ((_this$mediaProperties32 = this.mediaProperties.webrtcMediaConnection) === null || _this$mediaProperties32 === void 0 ? void 0 : (_this$mediaProperties33 = _this$mediaProperties32.mediaConnection) === null || _this$mediaProperties33 === void 0 ? void 0 : (_this$mediaProperties34 = _this$mediaProperties33.pc) === null || _this$mediaProperties34 === void 0 ? void 0 : _this$mediaProperties34.iceConnectionState) || 'unknown'
8109
8162
  }, _reachabilityMetrics), _iceCandidateErrors), {}, {
8110
8163
  iceCandidatesCount: this.iceCandidatesCount,
8111
8164
  ipver: ipver
@@ -8910,10 +8963,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
8910
8963
  var renderInfo = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
8911
8964
  var main = renderInfo.main,
8912
8965
  content = renderInfo.content;
8913
- var _this$mediaProperties34 = this.mediaProperties,
8914
- mediaDirection = _this$mediaProperties34.mediaDirection,
8915
- remoteShareStream = _this$mediaProperties34.remoteShareStream,
8916
- remoteVideoStream = _this$mediaProperties34.remoteVideoStream;
8966
+ var _this$mediaProperties35 = this.mediaProperties,
8967
+ mediaDirection = _this$mediaProperties35.mediaDirection,
8968
+ remoteShareStream = _this$mediaProperties35.remoteShareStream,
8969
+ remoteVideoStream = _this$mediaProperties35.remoteVideoStream;
8917
8970
  var layoutInfo = (0, _lodash.cloneDeep)(this.lastVideoLayoutInfo);
8918
8971
 
8919
8972
  // TODO: We need a real time value for Audio, Video and Share send indicator
@@ -9164,12 +9217,12 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
9164
9217
  */
9165
9218
  }, {
9166
9219
  key: "extendMeeting",
9167
- value: function extendMeeting(_ref37) {
9168
- var meetingPolicyUrl = _ref37.meetingPolicyUrl,
9169
- meetingInstanceId = _ref37.meetingInstanceId,
9170
- participantId = _ref37.participantId,
9171
- _ref37$extensionMinut = _ref37.extensionMinutes,
9172
- extensionMinutes = _ref37$extensionMinut === void 0 ? 30 : _ref37$extensionMinut;
9220
+ value: function extendMeeting(_ref39) {
9221
+ var meetingPolicyUrl = _ref39.meetingPolicyUrl,
9222
+ meetingInstanceId = _ref39.meetingInstanceId,
9223
+ participantId = _ref39.participantId,
9224
+ _ref39$extensionMinut = _ref39.extensionMinutes,
9225
+ extensionMinutes = _ref39$extensionMinut === void 0 ? 30 : _ref39$extensionMinut;
9173
9226
  if (!meetingInstanceId || !participantId) {
9174
9227
  return _promise.default.reject(new Error('Missing meetingInstanceId or participantId'));
9175
9228
  }
@@ -9234,8 +9287,8 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
9234
9287
  }, {
9235
9288
  key: "checkMediaConnection",
9236
9289
  value: function checkMediaConnection() {
9237
- var _this$mediaProperties35;
9238
- if ((_this$mediaProperties35 = this.mediaProperties) !== null && _this$mediaProperties35 !== void 0 && _this$mediaProperties35.webrtcMediaConnection) {
9290
+ var _this$mediaProperties36;
9291
+ if ((_this$mediaProperties36 = this.mediaProperties) !== null && _this$mediaProperties36 !== void 0 && _this$mediaProperties36.webrtcMediaConnection) {
9239
9292
  return;
9240
9293
  }
9241
9294
  throw new _webexErrors.NoMediaEstablishedYetError();
@@ -9295,14 +9348,14 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
9295
9348
  }, {
9296
9349
  key: "updateTranscodedMediaConnection",
9297
9350
  value: function updateTranscodedMediaConnection() {
9298
- var _this$mediaProperties36,
9299
- _this$mediaProperties37,
9351
+ var _this$mediaProperties37,
9300
9352
  _this$mediaProperties38,
9301
9353
  _this$mediaProperties39,
9302
9354
  _this$mediaProperties40,
9303
9355
  _this$mediaProperties41,
9304
9356
  _this$mediaProperties42,
9305
9357
  _this$mediaProperties43,
9358
+ _this$mediaProperties44,
9306
9359
  _this57 = this;
9307
9360
  var LOG_HEADER = 'Meeting:index#updateTranscodedMediaConnection -->';
9308
9361
  _loggerProxy.default.logger.info("".concat(LOG_HEADER, " starting"));
@@ -9312,10 +9365,10 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
9312
9365
  return this.mediaProperties.webrtcMediaConnection.update({
9313
9366
  // TODO: RoapMediaConnection is not ready to use stream classes yet, so we pass the raw MediaStreamTrack for now
9314
9367
  localTracks: {
9315
- audio: ((_this$mediaProperties36 = this.mediaProperties.audioStream) === null || _this$mediaProperties36 === void 0 ? void 0 : (_this$mediaProperties37 = _this$mediaProperties36.outputStream) === null || _this$mediaProperties37 === void 0 ? void 0 : _this$mediaProperties37.getTracks()[0]) || null,
9316
- video: ((_this$mediaProperties38 = this.mediaProperties.videoStream) === null || _this$mediaProperties38 === void 0 ? void 0 : (_this$mediaProperties39 = _this$mediaProperties38.outputStream) === null || _this$mediaProperties39 === void 0 ? void 0 : _this$mediaProperties39.getTracks()[0]) || null,
9317
- screenShareVideo: ((_this$mediaProperties40 = this.mediaProperties.shareVideoStream) === null || _this$mediaProperties40 === void 0 ? void 0 : (_this$mediaProperties41 = _this$mediaProperties40.outputStream) === null || _this$mediaProperties41 === void 0 ? void 0 : _this$mediaProperties41.getTracks()[0]) || null,
9318
- screenShareAudio: ((_this$mediaProperties42 = this.mediaProperties.shareAudioStream) === null || _this$mediaProperties42 === void 0 ? void 0 : (_this$mediaProperties43 = _this$mediaProperties42.outputStream) === null || _this$mediaProperties43 === void 0 ? void 0 : _this$mediaProperties43.getTracks()[0]) || null
9368
+ audio: ((_this$mediaProperties37 = this.mediaProperties.audioStream) === null || _this$mediaProperties37 === void 0 ? void 0 : (_this$mediaProperties38 = _this$mediaProperties37.outputStream) === null || _this$mediaProperties38 === void 0 ? void 0 : _this$mediaProperties38.getTracks()[0]) || null,
9369
+ video: ((_this$mediaProperties39 = this.mediaProperties.videoStream) === null || _this$mediaProperties39 === void 0 ? void 0 : (_this$mediaProperties40 = _this$mediaProperties39.outputStream) === null || _this$mediaProperties40 === void 0 ? void 0 : _this$mediaProperties40.getTracks()[0]) || null,
9370
+ screenShareVideo: ((_this$mediaProperties41 = this.mediaProperties.shareVideoStream) === null || _this$mediaProperties41 === void 0 ? void 0 : (_this$mediaProperties42 = _this$mediaProperties41.outputStream) === null || _this$mediaProperties42 === void 0 ? void 0 : _this$mediaProperties42.getTracks()[0]) || null,
9371
+ screenShareAudio: ((_this$mediaProperties43 = this.mediaProperties.shareAudioStream) === null || _this$mediaProperties43 === void 0 ? void 0 : (_this$mediaProperties44 = _this$mediaProperties43.outputStream) === null || _this$mediaProperties44 === void 0 ? void 0 : _this$mediaProperties44.getTracks()[0]) || null
9319
9372
  },
9320
9373
  direction: {
9321
9374
  audio: _media.default.getDirection(true, this.mediaProperties.mediaDirection.receiveAudio, this.mediaProperties.mediaDirection.sendAudio),
@@ -9783,17 +9836,17 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
9783
9836
  }, {
9784
9837
  key: "setStage",
9785
9838
  value: function setStage() {
9786
- var _ref38 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
9787
- _ref38$activeSpeakerP = _ref38.activeSpeakerProportion,
9788
- activeSpeakerProportion = _ref38$activeSpeakerP === void 0 ? 0.5 : _ref38$activeSpeakerP,
9789
- customBackground = _ref38.customBackground,
9790
- customLogo = _ref38.customLogo,
9791
- customNameLabel = _ref38.customNameLabel,
9792
- importantParticipants = _ref38.importantParticipants,
9793
- _ref38$lockAttendeeVi = _ref38.lockAttendeeViewOnStage,
9794
- lockAttendeeViewOnStage = _ref38$lockAttendeeVi === void 0 ? false : _ref38$lockAttendeeVi,
9795
- _ref38$showActiveSpea = _ref38.showActiveSpeaker,
9796
- showActiveSpeaker = _ref38$showActiveSpea === void 0 ? false : _ref38$showActiveSpea;
9839
+ var _ref40 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
9840
+ _ref40$activeSpeakerP = _ref40.activeSpeakerProportion,
9841
+ activeSpeakerProportion = _ref40$activeSpeakerP === void 0 ? 0.5 : _ref40$activeSpeakerP,
9842
+ customBackground = _ref40.customBackground,
9843
+ customLogo = _ref40.customLogo,
9844
+ customNameLabel = _ref40.customNameLabel,
9845
+ importantParticipants = _ref40.importantParticipants,
9846
+ _ref40$lockAttendeeVi = _ref40.lockAttendeeViewOnStage,
9847
+ lockAttendeeViewOnStage = _ref40$lockAttendeeVi === void 0 ? false : _ref40$lockAttendeeVi,
9848
+ _ref40$showActiveSpea = _ref40.showActiveSpeaker,
9849
+ showActiveSpeaker = _ref40$showActiveSpea === void 0 ? false : _ref40$showActiveSpea;
9797
9850
  var videoLayout = {
9798
9851
  overrideDefault: true,
9799
9852
  lockAttendeeViewOnStageOnly: lockAttendeeViewOnStage,
@@ -9889,6 +9942,72 @@ var Meeting = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin) {
9889
9942
  value: function cancelSipCallOut(participantId) {
9890
9943
  return this.meetingRequest.cancelSipCallOut(participantId);
9891
9944
  }
9945
+
9946
+ /**
9947
+ * Method to get new data
9948
+ * @returns {Promise}
9949
+ */
9950
+ }, {
9951
+ key: "refreshDataChannelToken",
9952
+ value: (function () {
9953
+ var _refreshDataChannelToken = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee41() {
9954
+ var isPracticeSession, dataChannelTokenType, res, msg, err, _t34;
9955
+ return _regenerator.default.wrap(function (_context41) {
9956
+ while (1) switch (_context41.prev = _context41.next) {
9957
+ case 0:
9958
+ isPracticeSession = this.webinar.isJoinPracticeSessionDataChannel();
9959
+ dataChannelTokenType = this.getDataChannelTokenType();
9960
+ _context41.prev = 1;
9961
+ _context41.next = 2;
9962
+ return this.meetingRequest.fetchDatachannelToken({
9963
+ locusUrl: this.locusUrl,
9964
+ requestingParticipantId: this.members.selfId,
9965
+ isPracticeSession: isPracticeSession
9966
+ });
9967
+ case 2:
9968
+ res = _context41.sent;
9969
+ return _context41.abrupt("return", {
9970
+ body: {
9971
+ datachannelToken: res.body.datachannelToken,
9972
+ dataChannelTokenType: dataChannelTokenType
9973
+ }
9974
+ });
9975
+ case 3:
9976
+ _context41.prev = 3;
9977
+ _t34 = _context41["catch"](1);
9978
+ msg = (_t34 === null || _t34 === void 0 ? void 0 : _t34.message) || String(_t34);
9979
+ err = (0, _assign.default)(new Error("Failed to refresh data channel token: ".concat(msg)), {
9980
+ statusCode: _t34 === null || _t34 === void 0 ? void 0 : _t34.statusCode,
9981
+ original: _t34
9982
+ });
9983
+ throw err;
9984
+ case 4:
9985
+ case "end":
9986
+ return _context41.stop();
9987
+ }
9988
+ }, _callee41, this, [[1, 3]]);
9989
+ }));
9990
+ function refreshDataChannelToken() {
9991
+ return _refreshDataChannelToken.apply(this, arguments);
9992
+ }
9993
+ return refreshDataChannelToken;
9994
+ }()
9995
+ /**
9996
+ * Determines the current data channel token type based on the meeting state.
9997
+ *
9998
+ * variant should be used when connecting to the LLM data channel.
9999
+ *
10000
+ * @returns {DataChannelTokenType} The token type representing the current session mode.
10001
+ */
10002
+ )
10003
+ }, {
10004
+ key: "getDataChannelTokenType",
10005
+ value: function getDataChannelTokenType() {
10006
+ if (this.webinar.isJoinPracticeSessionDataChannel()) {
10007
+ return _internalPluginLlm.DataChannelTokenType.PracticeSession;
10008
+ }
10009
+ return _internalPluginLlm.DataChannelTokenType.Default;
10010
+ }
9892
10011
  }]);
9893
10012
  }(_webexCore.StatelessWebexPlugin);
9894
10013
  //# sourceMappingURL=index.js.map