fcr-core 3.10.2 → 3.10.5

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 (127) hide show
  1. package/lib/engine/index.js +102 -108
  2. package/lib/imports.js +1 -0
  3. package/lib/media-control/desktop.js +22 -13
  4. package/lib/media-control/mobile.js +27 -19
  5. package/lib/media-control/type.d.ts +3 -3
  6. package/lib/monitor-control/index.js +17 -7
  7. package/lib/peer-session/index.js +120 -121
  8. package/lib/plugins/chat/chatroom.js +119 -96
  9. package/lib/plugins/chat/connector.js +69 -48
  10. package/lib/remote-control/index.js +194 -216
  11. package/lib/room-control/ability-control/index.js +20 -10
  12. package/lib/room-control/application-control/index.js +82 -75
  13. package/lib/room-control/group-control/index.js +31 -30
  14. package/lib/room-control/helpers/board-init-info-helper.js +16 -10
  15. package/lib/room-control/helpers/validation-helper.js +1 -1
  16. package/lib/room-control/index.js +70 -51
  17. package/lib/room-control/infinity-room-control/index.js +27 -19
  18. package/lib/room-control/interpreter-control/index.js +77 -65
  19. package/lib/room-control/interpreter-control/room.js +6 -4
  20. package/lib/room-control/join-before-host-waitingroom-control/index.js +6 -4
  21. package/lib/room-control/mainroom-control/index.js +37 -25
  22. package/lib/room-control/privilege-control/helper.js +28 -13
  23. package/lib/room-control/privilege-control/index.js +36 -28
  24. package/lib/room-control/room-connector-control/index.js +52 -49
  25. package/lib/room-control/room-connector-control/type.d.ts +1 -1
  26. package/lib/room-control/room-control-factory.js +10 -12
  27. package/lib/room-control/room-session/index.js +77 -74
  28. package/lib/room-control/shared-cache.js +63 -56
  29. package/lib/room-control/sharing-control/index.js +65 -57
  30. package/lib/room-control/stream-control/index.js +197 -193
  31. package/lib/room-control/stt-control/de-compress-gzip.js +10 -0
  32. package/lib/room-control/stt-control/index.js +93 -86
  33. package/lib/room-control/user-control/index.js +162 -155
  34. package/lib/room-control/waitingroom-control/index.js +18 -9
  35. package/lib/room-control/whiteboard-control/utils.js +4 -2
  36. package/lib/room-control/whiteboard-control-v1/board-subwindow.js +2 -1
  37. package/lib/room-control/whiteboard-control-v1/board-window.js +120 -103
  38. package/lib/room-control/whiteboard-control-v1/factory.js +7 -4
  39. package/lib/room-control/whiteboard-control-v1/index.js +80 -67
  40. package/lib/room-control/whiteboard-control-v1/mount-manager.js +4 -2
  41. package/lib/room-control/whiteboard-control-v1/utils.js +17 -14
  42. package/lib/room-control/whiteboard-control-v2/annotation-control/control.js +14 -10
  43. package/lib/room-control/whiteboard-control-v2/annotation-control/factory.js +17 -8
  44. package/lib/room-control/whiteboard-control-v2/base/index.js +61 -53
  45. package/lib/room-control/whiteboard-control-v2/base/main-window.js +39 -30
  46. package/lib/room-control/whiteboard-control-v2/utils.js +10 -10
  47. package/lib/room-control/whiteboard-control-v2/whiteboard-control/control.js +45 -33
  48. package/lib/room-control/whiteboard-control-v2/whiteboard-control/factory.js +27 -11
  49. package/lib/room-control/widget-control/index.js +43 -33
  50. package/lib/room-router/index.js +66 -58
  51. package/lib/schema.d.ts +15 -15
  52. package/lib/service/api.js +446 -548
  53. package/lib/struct.js +5 -2
  54. package/lib/utilities/abortable-retry.js +3 -0
  55. package/lib/utilities/collection.js +15 -11
  56. package/lib/utilities/error-helpers.js +34 -27
  57. package/lib/utilities/error.js +4 -3
  58. package/lib/utilities/join-helper.js +37 -31
  59. package/lib/utilities/logger.js +8 -5
  60. package/lib/utilities/parameters.js +21 -10
  61. package/lib/utilities/retry-helpers.js +1 -0
  62. package/lib/utilities/stream.js +16 -11
  63. package/lib/utilities/user.js +4 -3
  64. package/lib/utilities/validate-params.js +1 -1
  65. package/lib/utilities/video-encoder-config.js +10 -5
  66. package/lib-es/engine/index.js +102 -108
  67. package/lib-es/media-control/desktop.js +22 -13
  68. package/lib-es/media-control/mobile.js +27 -19
  69. package/lib-es/monitor-control/index.js +16 -7
  70. package/lib-es/peer-session/index.js +120 -121
  71. package/lib-es/plugins/chat/chatroom.js +118 -95
  72. package/lib-es/plugins/chat/connector.js +67 -47
  73. package/lib-es/remote-control/index.js +194 -216
  74. package/lib-es/room-control/ability-control/index.js +19 -10
  75. package/lib-es/room-control/application-control/index.js +81 -75
  76. package/lib-es/room-control/group-control/index.js +31 -30
  77. package/lib-es/room-control/helpers/board-init-info-helper.js +15 -10
  78. package/lib-es/room-control/helpers/validation-helper.js +1 -1
  79. package/lib-es/room-control/index.js +69 -51
  80. package/lib-es/room-control/infinity-room-control/index.js +26 -19
  81. package/lib-es/room-control/interpreter-control/index.js +77 -65
  82. package/lib-es/room-control/interpreter-control/room.js +5 -4
  83. package/lib-es/room-control/join-before-host-waitingroom-control/index.js +5 -4
  84. package/lib-es/room-control/mainroom-control/index.js +37 -25
  85. package/lib-es/room-control/privilege-control/helper.js +27 -13
  86. package/lib-es/room-control/privilege-control/index.js +36 -28
  87. package/lib-es/room-control/room-connector-control/index.js +52 -49
  88. package/lib-es/room-control/room-control-factory.js +10 -12
  89. package/lib-es/room-control/room-session/index.js +77 -74
  90. package/lib-es/room-control/shared-cache.js +62 -56
  91. package/lib-es/room-control/sharing-control/index.js +64 -57
  92. package/lib-es/room-control/stream-control/index.js +197 -193
  93. package/lib-es/room-control/stt-control/de-compress-gzip.js +10 -0
  94. package/lib-es/room-control/stt-control/index.js +93 -86
  95. package/lib-es/room-control/user-control/index.js +162 -155
  96. package/lib-es/room-control/waitingroom-control/index.js +18 -9
  97. package/lib-es/room-control/whiteboard-control/utils.js +4 -2
  98. package/lib-es/room-control/whiteboard-control-v1/board-subwindow.js +2 -1
  99. package/lib-es/room-control/whiteboard-control-v1/board-window.js +120 -103
  100. package/lib-es/room-control/whiteboard-control-v1/factory.js +6 -4
  101. package/lib-es/room-control/whiteboard-control-v1/index.js +80 -67
  102. package/lib-es/room-control/whiteboard-control-v1/mount-manager.js +3 -2
  103. package/lib-es/room-control/whiteboard-control-v1/utils.js +17 -14
  104. package/lib-es/room-control/whiteboard-control-v2/annotation-control/control.js +13 -10
  105. package/lib-es/room-control/whiteboard-control-v2/annotation-control/factory.js +16 -8
  106. package/lib-es/room-control/whiteboard-control-v2/base/index.js +60 -53
  107. package/lib-es/room-control/whiteboard-control-v2/base/main-window.js +39 -30
  108. package/lib-es/room-control/whiteboard-control-v2/utils.js +10 -10
  109. package/lib-es/room-control/whiteboard-control-v2/whiteboard-control/control.js +45 -33
  110. package/lib-es/room-control/whiteboard-control-v2/whiteboard-control/factory.js +26 -11
  111. package/lib-es/room-control/widget-control/index.js +42 -33
  112. package/lib-es/room-router/index.js +66 -58
  113. package/lib-es/service/api.js +445 -548
  114. package/lib-es/struct.js +4 -2
  115. package/lib-es/utilities/abortable-retry.js +3 -0
  116. package/lib-es/utilities/collection.js +14 -11
  117. package/lib-es/utilities/error-helpers.js +33 -26
  118. package/lib-es/utilities/error.js +4 -3
  119. package/lib-es/utilities/join-helper.js +36 -29
  120. package/lib-es/utilities/logger.js +7 -5
  121. package/lib-es/utilities/parameters.js +21 -10
  122. package/lib-es/utilities/retry-helpers.js +1 -0
  123. package/lib-es/utilities/stream.js +15 -11
  124. package/lib-es/utilities/user.js +4 -3
  125. package/lib-es/utilities/validate-params.js +1 -1
  126. package/lib-es/utilities/video-encoder-config.js +10 -5
  127. package/package.json +4 -4
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
 
3
+ require("core-js/modules/es.symbol.description.js");
4
+ require("core-js/modules/es.error.cause.js");
3
5
  require("core-js/modules/esnext.function.metadata.js");
6
+ require("core-js/modules/esnext.iterator.for-each.js");
4
7
  require("core-js/modules/esnext.symbol.metadata.js");
5
8
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
9
  Object.defineProperty(exports, "__esModule", {
@@ -26,6 +29,9 @@ require("core-js/modules/esnext.map.merge.js");
26
29
  require("core-js/modules/esnext.map.reduce.js");
27
30
  require("core-js/modules/esnext.map.some.js");
28
31
  require("core-js/modules/esnext.map.update.js");
32
+ require("core-js/modules/web.dom-collections.iterator.js");
33
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
34
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
29
35
  var _imports = require("../../imports");
30
36
  var _schema = require("../../schema");
31
37
  var _type = require("../../type");
@@ -35,7 +41,10 @@ var _user = require("../../utilities/user");
35
41
  var _validateParams = _interopRequireDefault(require("../../utilities/validate-params"));
36
42
  var _type2 = require("../type");
37
43
  var _type3 = require("./type");
38
- let _initProto, _startCaptionDecs, _startTranscribingDecs, _updateSourceLanguageDecs, _subscribeTranscribingLanguageDecs;
44
+ var _FcrSttControlImpl;
45
+ let _initProto, _startCaptionDecs, _startTranscribingDecs, _updateSourceLanguageDecs, _subscribeTranscribingLanguageDecs, _ref;
46
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
47
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
39
48
  function _applyDecs(e, t, r, n, o, a) { function i(e, t, r) { return function (n, o) { return r && r(n), e[t].call(n, o); }; } function c(e, t) { for (var r = 0; r < e.length; r++) e[r].call(t); return t; } function s(e, t, r, n) { if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined")); return e; } function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) { function m(e) { if (!h(e)) throw new TypeError("Attempted to access private element on non-instance"); } var y, v = t[0], g = t[3], b = !u; if (!b) { r || Array.isArray(v) || (v = [v]); var w = {}, S = [], A = 3 === o ? "get" : 4 === o || d ? "set" : "value"; f ? (p || d ? w = { get: _setFunctionName(function () { return g(this); }, n, "get"), set: function (e) { t[4](this, e); } } : w[A] = g, p || _setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n)); } for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) { var D = v[j], E = r ? v[j - 1] : void 0, I = {}, O = { kind: ["field", "accessor", "method", "getter", "setter", "class"][o], name: n, metadata: a, addInitializer: function (e, t) { if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); s(t, "An initializer", "be", !0), c.push(t); }.bind(null, I) }; try { if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else { var k, F; O.static = l, O.private = f, f ? 2 === o ? k = function (e) { return m(e), w.value; } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function (e) { return e[n]; }, (o < 2 || 4 === o) && (F = function (e, t) { e[n] = t; })); var N = O.access = { has: f ? h.bind() : function (e) { return n in e; } }; if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? { get: w.get, set: w.set } : w[A], O), d) { if ("object" == typeof P && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P); } } finally { I.v = !0; } } return (p || d) && u.push(function (e, t) { for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t); return t; }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P; } function u(e, t) { return Object.defineProperty(e, Symbol.metadata || Symbol.for("Symbol.metadata"), { configurable: !0, enumerable: !0, value: t }); } if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol.for("Symbol.metadata")]; var f = Object.create(null == l ? null : l), p = function (e, t, r, n) { var o, a, i = [], s = function (t) { return _checkInRHS(t) === e; }, u = new Map(); function l(e) { e && i.push(c.bind(null, e)); } for (var f = 0; f < t.length; f++) { var p = t[f]; if (Array.isArray(p)) { var d = p[1], h = p[2], m = p.length > 3, y = 16 & d, v = !!(8 & d), g = 0 == (d &= 7), b = h + "/" + v; if (!g && !m) { var w = u.get(b); if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); u.set(b, !(d > 2) || d); } applyDec(v ? e : e.prototype, p, y, m ? "#" + h : _toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r); } } return l(o), l(a), i; }(e, t, o, f); return r.length || u(e, f), { e: p, get c() { var t = []; return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)]; } }; }
40
49
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
41
50
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
@@ -44,92 +53,85 @@ function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side
44
53
  /**
45
54
  * @internal
46
55
  */
56
+ _ref = (_startCaptionDecs = [(0, _imports.trace)(['config']), (0, _validateParams.default)(_schema.fcrLanguageConfigSchema)], _startTranscribingDecs = [(0, _imports.trace)(['config']), (0, _validateParams.default)(_schema.fcrLanguageConfigSchema)], _updateSourceLanguageDecs = [(0, _imports.trace)(['language']), (0, _validateParams.default)(_schema.fcrLanguageSchema)], _subscribeTranscribingLanguageDecs = [_imports.trace, (0, _validateParams.default)(_schema.fcrLanguageSchema)], "logger");
47
57
  class FcrSttControlImpl {
48
- static {
49
- [_initProto] = _applyDecs(this, [[_startCaptionDecs, 2, "startCaption"], [_imports.trace, 2, "stopCaption"], [_startTranscribingDecs, 2, "startTranscribing"], [_imports.trace, 2, "stopTranscribing"], [_updateSourceLanguageDecs, 2, "updateSourceLanguage"], [_subscribeTranscribingLanguageDecs, 2, "subscribeTranscribingLanguage"], [_imports.trace, 2, "unsubscribeTranscribingLanguage"], [_imports.trace, 2, "release"]], []).e;
50
- }
51
- //@internal
52
- [(_startCaptionDecs = [(0, _imports.trace)(['config']), (0, _validateParams.default)(_schema.fcrLanguageConfigSchema)], _startTranscribingDecs = [(0, _imports.trace)(['config']), (0, _validateParams.default)(_schema.fcrLanguageConfigSchema)], _updateSourceLanguageDecs = [(0, _imports.trace)(['language']), (0, _validateParams.default)(_schema.fcrLanguageSchema)], _subscribeTranscribingLanguageDecs = [_imports.trace, (0, _validateParams.default)(_schema.fcrLanguageSchema)], "logger")] = (_initProto(this), (0, _logger.createLogger)({
53
- prefix: 'FcrUserControlImpl'
54
- }));
55
-
56
- //@internal
57
- _observable = new _imports.AgoraObservable();
58
-
59
- //@internal
60
-
61
- _cacheMaxLimit = 10;
62
- _sttEventWrapperListMap = new Map();
63
-
64
- //@internal
65
- _sceneObserver = {
66
- onStreamMessageReceived: async (sceneId, data) => {
67
- const sttUids = this._scene.getScenePropertiesByKeyPath('widgets.stt.extra.pubBotUids');
68
- if (!Array.isArray(sttUids)) {
69
- this.logger.error('sttUids is not an array');
70
- return;
71
- }
72
- const isSttBot = sttUids.includes(Number(data.streamId));
73
- if (!isSttBot) {
74
- return;
75
- }
76
- const sttStreamMessageData = await (0, _imports.deCompressGzipToJson)(data.payload);
77
- this._handleSttStreamMessageData(sttStreamMessageData, sceneId);
78
- },
79
- onUserPropertiesUpdated: (sceneId, event) => {
80
- if (event.cause && event.cause.data) {
81
- const causeData = event.cause.data;
82
- if (causeData.widgetUuid == _type2.FcrWidgetUuid.STT && causeData.widgetCause && causeData.widgetCause.cmd == 3450) {
83
- const localUserId = this._scene.localUser.getLocalUserId();
84
- if (event.operatorUser.userId !== localUserId) {
85
- return;
86
- }
87
- const operatorUser = (0, _user.convertRteUserToFcrUser)(event.operatorUser, this._roomCache);
88
- if (causeData.widgetCause.reason === 0) {
89
- const isTranscribingStopped = this._getTranscribingState() === _type3.FcrTranscribingState.STOPPED;
90
- if (isTranscribingStopped) {
91
- this._sttEventWrapperListMap.clear();
92
- }
93
- this._observable.notifyObservers('onLocalCaptionStateUpdated', sceneId, _type3.FcrCaptionState.STOPPED, operatorUser);
94
- }
95
- if (causeData.widgetCause.reason === 1) {
96
- this._observable.notifyObservers('onLocalCaptionStateUpdated', sceneId, _type3.FcrCaptionState.STARTED, operatorUser);
97
- }
58
+ constructor(_scene, _api, _sharedCache) {
59
+ //@internal
60
+ (0, _defineProperty2.default)(this, _ref, (_initProto(this), (0, _logger.createLogger)({
61
+ prefix: 'FcrUserControlImpl'
62
+ })));
63
+ //@internal
64
+ (0, _defineProperty2.default)(this, "_observable", new _imports.AgoraObservable());
65
+ (0, _defineProperty2.default)(this, "_cacheMaxLimit", 10);
66
+ (0, _defineProperty2.default)(this, "_sttEventWrapperListMap", new Map());
67
+ //@internal
68
+ (0, _defineProperty2.default)(this, "_sceneObserver", {
69
+ onStreamMessageReceived: async (sceneId, data) => {
70
+ const sttUids = this._scene.getScenePropertiesByKeyPath('widgets.stt.extra.pubBotUids');
71
+ if (!Array.isArray(sttUids)) {
72
+ this.logger.error('sttUids is not an array');
73
+ return;
98
74
  }
99
- }
100
- },
101
- onScenePropertiesUpdated: (sceneId, event) => {
102
- if (event.cause && event.cause.data) {
103
- const causeData = event.cause.data;
104
- if (!causeData.widgetCause) {
75
+ const isSttBot = sttUids.includes(Number(data.streamId));
76
+ if (!isSttBot) {
105
77
  return;
106
78
  }
107
- if (causeData.widgetUuid == _type2.FcrWidgetUuid.TRANSCRIBE && causeData.widgetCause.cmd == _type2.FcrWidgetCauseCmd.TRANSCRIBE) {
108
- const operatorUser = (0, _user.convertRteUserToFcrUser)(event.operatorUser, this._roomCache);
109
- if (causeData.widgetCause.reason === 0) {
110
- const isCaptionStopped = this._getLocalCaptionState() === _type3.FcrCaptionState.STOPPED;
111
- if (isCaptionStopped) {
112
- this._sttEventWrapperListMap.clear();
79
+ const sttStreamMessageData = await (0, _imports.deCompressGzipToJson)(data.payload);
80
+ this._handleSttStreamMessageData(sttStreamMessageData, sceneId);
81
+ },
82
+ onUserPropertiesUpdated: (sceneId, event) => {
83
+ if (event.cause && event.cause.data) {
84
+ const causeData = event.cause.data;
85
+ if (causeData.widgetUuid == _type2.FcrWidgetUuid.STT && causeData.widgetCause && causeData.widgetCause.cmd == 3450) {
86
+ const localUserId = this._scene.localUser.getLocalUserId();
87
+ if (event.operatorUser.userId !== localUserId) {
88
+ return;
89
+ }
90
+ const operatorUser = (0, _user.convertRteUserToFcrUser)(event.operatorUser, this._roomCache);
91
+ if (causeData.widgetCause.reason === 0) {
92
+ const isTranscribingStopped = this._getTranscribingState() === _type3.FcrTranscribingState.STOPPED;
93
+ if (isTranscribingStopped) {
94
+ this._sttEventWrapperListMap.clear();
95
+ }
96
+ this._observable.notifyObservers('onLocalCaptionStateUpdated', sceneId, _type3.FcrCaptionState.STOPPED, operatorUser);
97
+ }
98
+ if (causeData.widgetCause.reason === 1) {
99
+ this._observable.notifyObservers('onLocalCaptionStateUpdated', sceneId, _type3.FcrCaptionState.STARTED, operatorUser);
113
100
  }
114
- this._observable.notifyObservers('onTranscribingStateUpdated', sceneId, _type3.FcrTranscribingState.STOPPED, operatorUser);
115
- }
116
- if (causeData.widgetCause.reason === 1) {
117
- this._observable.notifyObservers('onTranscribingStateUpdated', sceneId, _type3.FcrTranscribingState.STARTED, operatorUser);
118
101
  }
119
102
  }
120
- if (causeData.widgetUuid == _type2.FcrWidgetUuid.STT && causeData.widgetCause.cmd == _type2.FcrWidgetCauseCmd.STT) {
121
- let operatorUser;
122
- if (event.operatorUser) {
123
- operatorUser = (0, _user.convertRteUserToFcrUser)(event.operatorUser, this._roomCache);
103
+ },
104
+ onScenePropertiesUpdated: (sceneId, event) => {
105
+ if (event.cause && event.cause.data) {
106
+ const causeData = event.cause.data;
107
+ if (!causeData.widgetCause) {
108
+ return;
124
109
  }
125
- if (causeData.widgetCause.reason === 2) {
126
- this._observable.notifyObservers('onSourceLanguageUpdated', sceneId, operatorUser);
110
+ if (causeData.widgetUuid == _type2.FcrWidgetUuid.TRANSCRIBE && causeData.widgetCause.cmd == _type2.FcrWidgetCauseCmd.TRANSCRIBE) {
111
+ const operatorUser = (0, _user.convertRteUserToFcrUser)(event.operatorUser, this._roomCache);
112
+ if (causeData.widgetCause.reason === 0) {
113
+ const isCaptionStopped = this._getLocalCaptionState() === _type3.FcrCaptionState.STOPPED;
114
+ if (isCaptionStopped) {
115
+ this._sttEventWrapperListMap.clear();
116
+ }
117
+ this._observable.notifyObservers('onTranscribingStateUpdated', sceneId, _type3.FcrTranscribingState.STOPPED, operatorUser);
118
+ }
119
+ if (causeData.widgetCause.reason === 1) {
120
+ this._observable.notifyObservers('onTranscribingStateUpdated', sceneId, _type3.FcrTranscribingState.STARTED, operatorUser);
121
+ }
122
+ }
123
+ if (causeData.widgetUuid == _type2.FcrWidgetUuid.STT && causeData.widgetCause.cmd == _type2.FcrWidgetCauseCmd.STT) {
124
+ let operatorUser;
125
+ if (event.operatorUser) {
126
+ operatorUser = (0, _user.convertRteUserToFcrUser)(event.operatorUser, this._roomCache);
127
+ }
128
+ if (causeData.widgetCause.reason === 2) {
129
+ this._observable.notifyObservers('onSourceLanguageUpdated', sceneId, operatorUser);
130
+ }
127
131
  }
128
132
  }
129
133
  }
130
- }
131
- };
132
- constructor(_scene, _api, _sharedCache) {
134
+ });
133
135
  this._scene = _scene;
134
136
  this._api = _api;
135
137
  this._sharedCache = _sharedCache;
@@ -229,6 +231,7 @@ class FcrSttControlImpl {
229
231
  return this._scene.getScenePropertiesByKeyPath('widgets.transcribe.state');
230
232
  }
231
233
  _handleSttStreamMessageData(sttStreamMessageData, sceneId) {
234
+ var _this$_scene$getStrea;
232
235
  const codeMap = {
233
236
  'zh-CN': _type.FcrLanguage.ZH,
234
237
  'en-US': _type.FcrLanguage.EN,
@@ -241,12 +244,12 @@ class FcrSttControlImpl {
241
244
  const transcript = sttStreamMessageData.transcript;
242
245
  const translation = sttStreamMessageData.translation;
243
246
  const messageItem = transcript || translation;
244
- const uid = messageItem?.uid;
247
+ const uid = messageItem === null || messageItem === void 0 ? void 0 : messageItem.uid;
245
248
  if (!uid) {
246
249
  this.logger.error('parseSTT failed, uid is null');
247
250
  return null;
248
251
  }
249
- const owner = this._scene.getStreamByStreamId(uid.toString())?.owner;
252
+ const owner = (_this$_scene$getStrea = this._scene.getStreamByStreamId(uid.toString())) === null || _this$_scene$getStrea === void 0 ? void 0 : _this$_scene$getStrea.owner;
250
253
  if (!owner) {
251
254
  this.logger.error('parseSTT failed, owner is null');
252
255
  return null;
@@ -305,10 +308,9 @@ class FcrSttControlImpl {
305
308
  startTs: lastSttEventWrapper.startTs,
306
309
  endTs: transcript.textTs,
307
310
  event: (0, _imports.merge)(lastSttEventWrapper.event, {
308
- transcript: {
309
- ...formatTranscript,
311
+ transcript: _objectSpread(_objectSpread({}, formatTranscript), {}, {
310
312
  id: lastSttEventWrapper.event.transcript.id
311
- }
313
+ })
312
314
  })
313
315
  };
314
316
  this._observable.notifyObservers('onSttEventReceived', sceneId, sttEventWrapperList[sttEventWrapperList.length - 1].event);
@@ -317,8 +319,9 @@ class FcrSttControlImpl {
317
319
  }
318
320
  }
319
321
  if (translation) {
322
+ var _sttEventWrapperList;
320
323
  // 获取缓存句子
321
- sttEventWrapperList = sttEventWrapperList?.map(wrapper => {
324
+ sttEventWrapperList = (_sttEventWrapperList = sttEventWrapperList) === null || _sttEventWrapperList === void 0 ? void 0 : _sttEventWrapperList.map(wrapper => {
322
325
  const language = codeMap[translation.results0.language];
323
326
  const formatTranslation = {
324
327
  id: wrapper.event.transcript.id,
@@ -334,10 +337,9 @@ class FcrSttControlImpl {
334
337
  wrapper.event.translations.set(formatTranslation.language, formatTranslation);
335
338
  this._observable.notifyObservers('onSttEventReceived', sceneId, wrapper.event);
336
339
  } else if (translation.textTs >= transInfo.timestamp) {
337
- wrapper.event.translations.set(formatTranslation.language, {
338
- ...formatTranslation,
340
+ wrapper.event.translations.set(formatTranslation.language, _objectSpread(_objectSpread({}, formatTranslation), {}, {
339
341
  id: wrapper.event.transcript.id
340
- });
342
+ }));
341
343
  this._observable.notifyObservers('onSttEventReceived', sceneId, wrapper.event);
342
344
  } else if (transInfo.isFinal == true && wrapper.event.transcript.isFinal == true) {
343
345
  return null;
@@ -356,4 +358,9 @@ class FcrSttControlImpl {
356
358
  ['onLocalCaptionStateUpdated', ['roomId', 'state', 'operatorUser']], ['onTranscribingStateUpdated', ['roomId', 'state', 'operatorUser']], ['onSourceLanguageUpdated', ['roomId', 'operatorUser']]]));
357
359
  }
358
360
  }
359
- exports.FcrSttControlImpl = FcrSttControlImpl;
361
+ exports.FcrSttControlImpl = FcrSttControlImpl;
362
+ _FcrSttControlImpl = FcrSttControlImpl;
363
+ var _applyDecs$e = _applyDecs(_FcrSttControlImpl, [[_startCaptionDecs, 2, "startCaption"], [_imports.trace, 2, "stopCaption"], [_startTranscribingDecs, 2, "startTranscribing"], [_imports.trace, 2, "stopTranscribing"], [_updateSourceLanguageDecs, 2, "updateSourceLanguage"], [_subscribeTranscribingLanguageDecs, 2, "subscribeTranscribingLanguage"], [_imports.trace, 2, "unsubscribeTranscribingLanguage"], [_imports.trace, 2, "release"]], []).e;
364
+ var _applyDecs$e2 = (0, _slicedToArray2.default)(_applyDecs$e, 1);
365
+ _initProto = _applyDecs$e2[0];
366
+ _applyDecs$e;