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,14 @@
1
+ import "core-js/modules/es.symbol.description.js";
2
+ import "core-js/modules/es.error.cause.js";
1
3
  import "core-js/modules/esnext.function.metadata.js";
4
+ import "core-js/modules/esnext.iterator.for-each.js";
2
5
  import "core-js/modules/esnext.symbol.metadata.js";
3
- let _initProto, _startCaptionDecs, _startTranscribingDecs, _updateSourceLanguageDecs, _subscribeTranscribingLanguageDecs;
6
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
7
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
+ var _FcrSttControlImpl;
9
+ let _initProto, _startCaptionDecs, _startTranscribingDecs, _updateSourceLanguageDecs, _subscribeTranscribingLanguageDecs, _ref;
10
+ 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; }
11
+ 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) { _defineProperty(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; }
4
12
  import "core-js/modules/es.array.includes.js";
5
13
  import "core-js/modules/es.array.push.js";
6
14
  import "core-js/modules/esnext.iterator.constructor.js";
@@ -20,6 +28,7 @@ import "core-js/modules/esnext.map.merge.js";
20
28
  import "core-js/modules/esnext.map.reduce.js";
21
29
  import "core-js/modules/esnext.map.some.js";
22
30
  import "core-js/modules/esnext.map.update.js";
31
+ import "core-js/modules/web.dom-collections.iterator.js";
23
32
  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)]; } }; }
24
33
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
25
34
  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); }
@@ -38,92 +47,85 @@ import { FcrCaptionState, FcrTranscribingState } from './type';
38
47
  /**
39
48
  * @internal
40
49
  */
50
+ _ref = (_startCaptionDecs = [trace(['config']), validateParams(fcrLanguageConfigSchema)], _startTranscribingDecs = [trace(['config']), validateParams(fcrLanguageConfigSchema)], _updateSourceLanguageDecs = [trace(['language']), validateParams(fcrLanguageSchema)], _subscribeTranscribingLanguageDecs = [trace, validateParams(fcrLanguageSchema)], "logger");
41
51
  export class FcrSttControlImpl {
42
- static {
43
- [_initProto] = _applyDecs(this, [[_startCaptionDecs, 2, "startCaption"], [trace, 2, "stopCaption"], [_startTranscribingDecs, 2, "startTranscribing"], [trace, 2, "stopTranscribing"], [_updateSourceLanguageDecs, 2, "updateSourceLanguage"], [_subscribeTranscribingLanguageDecs, 2, "subscribeTranscribingLanguage"], [trace, 2, "unsubscribeTranscribingLanguage"], [trace, 2, "release"]], []).e;
44
- }
45
- //@internal
46
- [(_startCaptionDecs = [trace(['config']), validateParams(fcrLanguageConfigSchema)], _startTranscribingDecs = [trace(['config']), validateParams(fcrLanguageConfigSchema)], _updateSourceLanguageDecs = [trace(['language']), validateParams(fcrLanguageSchema)], _subscribeTranscribingLanguageDecs = [trace, validateParams(fcrLanguageSchema)], "logger")] = (_initProto(this), createLogger({
47
- prefix: 'FcrUserControlImpl'
48
- }));
49
-
50
- //@internal
51
- _observable = new AgoraObservable();
52
-
53
- //@internal
54
-
55
- _cacheMaxLimit = 10;
56
- _sttEventWrapperListMap = new Map();
57
-
58
- //@internal
59
- _sceneObserver = {
60
- onStreamMessageReceived: async (sceneId, data) => {
61
- const sttUids = this._scene.getScenePropertiesByKeyPath('widgets.stt.extra.pubBotUids');
62
- if (!Array.isArray(sttUids)) {
63
- this.logger.error('sttUids is not an array');
64
- return;
65
- }
66
- const isSttBot = sttUids.includes(Number(data.streamId));
67
- if (!isSttBot) {
68
- return;
69
- }
70
- const sttStreamMessageData = await deCompressGzipToJson(data.payload);
71
- this._handleSttStreamMessageData(sttStreamMessageData, sceneId);
72
- },
73
- onUserPropertiesUpdated: (sceneId, event) => {
74
- if (event.cause && event.cause.data) {
75
- const causeData = event.cause.data;
76
- if (causeData.widgetUuid == FcrWidgetUuid.STT && causeData.widgetCause && causeData.widgetCause.cmd == 3450) {
77
- const localUserId = this._scene.localUser.getLocalUserId();
78
- if (event.operatorUser.userId !== localUserId) {
79
- return;
80
- }
81
- const operatorUser = convertRteUserToFcrUser(event.operatorUser, this._roomCache);
82
- if (causeData.widgetCause.reason === 0) {
83
- const isTranscribingStopped = this._getTranscribingState() === FcrTranscribingState.STOPPED;
84
- if (isTranscribingStopped) {
85
- this._sttEventWrapperListMap.clear();
86
- }
87
- this._observable.notifyObservers('onLocalCaptionStateUpdated', sceneId, FcrCaptionState.STOPPED, operatorUser);
88
- }
89
- if (causeData.widgetCause.reason === 1) {
90
- this._observable.notifyObservers('onLocalCaptionStateUpdated', sceneId, FcrCaptionState.STARTED, operatorUser);
91
- }
52
+ constructor(_scene, _api, _sharedCache) {
53
+ //@internal
54
+ _defineProperty(this, _ref, (_initProto(this), createLogger({
55
+ prefix: 'FcrUserControlImpl'
56
+ })));
57
+ //@internal
58
+ _defineProperty(this, "_observable", new AgoraObservable());
59
+ _defineProperty(this, "_cacheMaxLimit", 10);
60
+ _defineProperty(this, "_sttEventWrapperListMap", new Map());
61
+ //@internal
62
+ _defineProperty(this, "_sceneObserver", {
63
+ onStreamMessageReceived: async (sceneId, data) => {
64
+ const sttUids = this._scene.getScenePropertiesByKeyPath('widgets.stt.extra.pubBotUids');
65
+ if (!Array.isArray(sttUids)) {
66
+ this.logger.error('sttUids is not an array');
67
+ return;
92
68
  }
93
- }
94
- },
95
- onScenePropertiesUpdated: (sceneId, event) => {
96
- if (event.cause && event.cause.data) {
97
- const causeData = event.cause.data;
98
- if (!causeData.widgetCause) {
69
+ const isSttBot = sttUids.includes(Number(data.streamId));
70
+ if (!isSttBot) {
99
71
  return;
100
72
  }
101
- if (causeData.widgetUuid == FcrWidgetUuid.TRANSCRIBE && causeData.widgetCause.cmd == FcrWidgetCauseCmd.TRANSCRIBE) {
102
- const operatorUser = convertRteUserToFcrUser(event.operatorUser, this._roomCache);
103
- if (causeData.widgetCause.reason === 0) {
104
- const isCaptionStopped = this._getLocalCaptionState() === FcrCaptionState.STOPPED;
105
- if (isCaptionStopped) {
106
- this._sttEventWrapperListMap.clear();
73
+ const sttStreamMessageData = await deCompressGzipToJson(data.payload);
74
+ this._handleSttStreamMessageData(sttStreamMessageData, sceneId);
75
+ },
76
+ onUserPropertiesUpdated: (sceneId, event) => {
77
+ if (event.cause && event.cause.data) {
78
+ const causeData = event.cause.data;
79
+ if (causeData.widgetUuid == FcrWidgetUuid.STT && causeData.widgetCause && causeData.widgetCause.cmd == 3450) {
80
+ const localUserId = this._scene.localUser.getLocalUserId();
81
+ if (event.operatorUser.userId !== localUserId) {
82
+ return;
83
+ }
84
+ const operatorUser = convertRteUserToFcrUser(event.operatorUser, this._roomCache);
85
+ if (causeData.widgetCause.reason === 0) {
86
+ const isTranscribingStopped = this._getTranscribingState() === FcrTranscribingState.STOPPED;
87
+ if (isTranscribingStopped) {
88
+ this._sttEventWrapperListMap.clear();
89
+ }
90
+ this._observable.notifyObservers('onLocalCaptionStateUpdated', sceneId, FcrCaptionState.STOPPED, operatorUser);
91
+ }
92
+ if (causeData.widgetCause.reason === 1) {
93
+ this._observable.notifyObservers('onLocalCaptionStateUpdated', sceneId, FcrCaptionState.STARTED, operatorUser);
107
94
  }
108
- this._observable.notifyObservers('onTranscribingStateUpdated', sceneId, FcrTranscribingState.STOPPED, operatorUser);
109
- }
110
- if (causeData.widgetCause.reason === 1) {
111
- this._observable.notifyObservers('onTranscribingStateUpdated', sceneId, FcrTranscribingState.STARTED, operatorUser);
112
95
  }
113
96
  }
114
- if (causeData.widgetUuid == FcrWidgetUuid.STT && causeData.widgetCause.cmd == FcrWidgetCauseCmd.STT) {
115
- let operatorUser;
116
- if (event.operatorUser) {
117
- operatorUser = convertRteUserToFcrUser(event.operatorUser, this._roomCache);
97
+ },
98
+ onScenePropertiesUpdated: (sceneId, event) => {
99
+ if (event.cause && event.cause.data) {
100
+ const causeData = event.cause.data;
101
+ if (!causeData.widgetCause) {
102
+ return;
118
103
  }
119
- if (causeData.widgetCause.reason === 2) {
120
- this._observable.notifyObservers('onSourceLanguageUpdated', sceneId, operatorUser);
104
+ if (causeData.widgetUuid == FcrWidgetUuid.TRANSCRIBE && causeData.widgetCause.cmd == FcrWidgetCauseCmd.TRANSCRIBE) {
105
+ const operatorUser = convertRteUserToFcrUser(event.operatorUser, this._roomCache);
106
+ if (causeData.widgetCause.reason === 0) {
107
+ const isCaptionStopped = this._getLocalCaptionState() === FcrCaptionState.STOPPED;
108
+ if (isCaptionStopped) {
109
+ this._sttEventWrapperListMap.clear();
110
+ }
111
+ this._observable.notifyObservers('onTranscribingStateUpdated', sceneId, FcrTranscribingState.STOPPED, operatorUser);
112
+ }
113
+ if (causeData.widgetCause.reason === 1) {
114
+ this._observable.notifyObservers('onTranscribingStateUpdated', sceneId, FcrTranscribingState.STARTED, operatorUser);
115
+ }
116
+ }
117
+ if (causeData.widgetUuid == FcrWidgetUuid.STT && causeData.widgetCause.cmd == FcrWidgetCauseCmd.STT) {
118
+ let operatorUser;
119
+ if (event.operatorUser) {
120
+ operatorUser = convertRteUserToFcrUser(event.operatorUser, this._roomCache);
121
+ }
122
+ if (causeData.widgetCause.reason === 2) {
123
+ this._observable.notifyObservers('onSourceLanguageUpdated', sceneId, operatorUser);
124
+ }
121
125
  }
122
126
  }
123
127
  }
124
- }
125
- };
126
- constructor(_scene, _api, _sharedCache) {
128
+ });
127
129
  this._scene = _scene;
128
130
  this._api = _api;
129
131
  this._sharedCache = _sharedCache;
@@ -223,6 +225,7 @@ export class FcrSttControlImpl {
223
225
  return this._scene.getScenePropertiesByKeyPath('widgets.transcribe.state');
224
226
  }
225
227
  _handleSttStreamMessageData(sttStreamMessageData, sceneId) {
228
+ var _this$_scene$getStrea;
226
229
  const codeMap = {
227
230
  'zh-CN': FcrLanguage.ZH,
228
231
  'en-US': FcrLanguage.EN,
@@ -235,12 +238,12 @@ export class FcrSttControlImpl {
235
238
  const transcript = sttStreamMessageData.transcript;
236
239
  const translation = sttStreamMessageData.translation;
237
240
  const messageItem = transcript || translation;
238
- const uid = messageItem?.uid;
241
+ const uid = messageItem === null || messageItem === void 0 ? void 0 : messageItem.uid;
239
242
  if (!uid) {
240
243
  this.logger.error('parseSTT failed, uid is null');
241
244
  return null;
242
245
  }
243
- const owner = this._scene.getStreamByStreamId(uid.toString())?.owner;
246
+ const owner = (_this$_scene$getStrea = this._scene.getStreamByStreamId(uid.toString())) === null || _this$_scene$getStrea === void 0 ? void 0 : _this$_scene$getStrea.owner;
244
247
  if (!owner) {
245
248
  this.logger.error('parseSTT failed, owner is null');
246
249
  return null;
@@ -299,10 +302,9 @@ export class FcrSttControlImpl {
299
302
  startTs: lastSttEventWrapper.startTs,
300
303
  endTs: transcript.textTs,
301
304
  event: merge(lastSttEventWrapper.event, {
302
- transcript: {
303
- ...formatTranscript,
305
+ transcript: _objectSpread(_objectSpread({}, formatTranscript), {}, {
304
306
  id: lastSttEventWrapper.event.transcript.id
305
- }
307
+ })
306
308
  })
307
309
  };
308
310
  this._observable.notifyObservers('onSttEventReceived', sceneId, sttEventWrapperList[sttEventWrapperList.length - 1].event);
@@ -311,8 +313,9 @@ export class FcrSttControlImpl {
311
313
  }
312
314
  }
313
315
  if (translation) {
316
+ var _sttEventWrapperList;
314
317
  // 获取缓存句子
315
- sttEventWrapperList = sttEventWrapperList?.map(wrapper => {
318
+ sttEventWrapperList = (_sttEventWrapperList = sttEventWrapperList) === null || _sttEventWrapperList === void 0 ? void 0 : _sttEventWrapperList.map(wrapper => {
316
319
  const language = codeMap[translation.results0.language];
317
320
  const formatTranslation = {
318
321
  id: wrapper.event.transcript.id,
@@ -328,10 +331,9 @@ export class FcrSttControlImpl {
328
331
  wrapper.event.translations.set(formatTranslation.language, formatTranslation);
329
332
  this._observable.notifyObservers('onSttEventReceived', sceneId, wrapper.event);
330
333
  } else if (translation.textTs >= transInfo.timestamp) {
331
- wrapper.event.translations.set(formatTranslation.language, {
332
- ...formatTranslation,
334
+ wrapper.event.translations.set(formatTranslation.language, _objectSpread(_objectSpread({}, formatTranslation), {}, {
333
335
  id: wrapper.event.transcript.id
334
- });
336
+ }));
335
337
  this._observable.notifyObservers('onSttEventReceived', sceneId, wrapper.event);
336
338
  } else if (transInfo.isFinal == true && wrapper.event.transcript.isFinal == true) {
337
339
  return null;
@@ -349,4 +351,9 @@ export class FcrSttControlImpl {
349
351
  // ['onSttEventReceived', ['roomId', 'event']],
350
352
  ['onLocalCaptionStateUpdated', ['roomId', 'state', 'operatorUser']], ['onTranscribingStateUpdated', ['roomId', 'state', 'operatorUser']], ['onSourceLanguageUpdated', ['roomId', 'operatorUser']]]));
351
353
  }
352
- }
354
+ }
355
+ _FcrSttControlImpl = FcrSttControlImpl;
356
+ var _applyDecs$e = _applyDecs(_FcrSttControlImpl, [[_startCaptionDecs, 2, "startCaption"], [trace, 2, "stopCaption"], [_startTranscribingDecs, 2, "startTranscribing"], [trace, 2, "stopTranscribing"], [_updateSourceLanguageDecs, 2, "updateSourceLanguage"], [_subscribeTranscribingLanguageDecs, 2, "subscribeTranscribingLanguage"], [trace, 2, "unsubscribeTranscribingLanguage"], [trace, 2, "release"]], []).e;
357
+ var _applyDecs$e2 = _slicedToArray(_applyDecs$e, 1);
358
+ _initProto = _applyDecs$e2[0];
359
+ _applyDecs$e;