fcr-core 3.7.9-alpha → 3.8.0-alpha

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 (130) hide show
  1. package/lib/chat-connection/index.d.ts +1 -1
  2. package/lib/chat-connection/index.js +41 -26
  3. package/lib/engine/index.js +72 -78
  4. package/lib/imports.d.ts +7 -2
  5. package/lib/imports.js +26 -4
  6. package/lib/index.d.ts +2 -2
  7. package/lib/index.js +12 -0
  8. package/lib/media-control/desktop.js +22 -17
  9. package/lib/media-control/mobile.js +38 -33
  10. package/lib/media-control/type.d.ts +8 -0
  11. package/lib/monitor-control/index.js +10 -5
  12. package/lib/peer-session/index.js +48 -39
  13. package/lib/plugins/chatroom.js +237 -205
  14. package/lib/room-control/ability-control/index.js +14 -9
  15. package/lib/room-control/ability-control/type.d.ts +4 -1
  16. package/lib/room-control/ability-control/type.js +3 -0
  17. package/lib/room-control/group-control/index.js +21 -16
  18. package/lib/room-control/helpers/constants.d.ts +4 -0
  19. package/lib/room-control/helpers/constants.js +5 -1
  20. package/lib/room-control/helpers/validation-helper.js +1 -1
  21. package/lib/room-control/index.js +66 -38
  22. package/lib/room-control/interpreter-control/index.js +49 -38
  23. package/lib/room-control/interpreter-control/room.js +6 -4
  24. package/lib/room-control/join-before-host-waitingroom-control/index.js +6 -4
  25. package/lib/room-control/mainroom-control/index.js +90 -17
  26. package/lib/room-control/privilege-control/helper.js +8 -5
  27. package/lib/room-control/privilege-control/index.js +66 -19
  28. package/lib/room-control/privilege-control/type.d.ts +57 -10
  29. package/lib/room-control/privilege-control/type.js +17 -0
  30. package/lib/room-control/room-connector-control/index.js +28 -19
  31. package/lib/room-control/room-control-factory.js +3 -2
  32. package/lib/room-control/room-session/index.js +68 -49
  33. package/lib/room-control/room-session/type.d.ts +2 -2
  34. package/lib/room-control/shared-cache.js +36 -29
  35. package/lib/room-control/sharing-control/index.d.ts +5 -5
  36. package/lib/room-control/sharing-control/index.js +81 -43
  37. package/lib/room-control/sharing-control/type.d.ts +9 -5
  38. package/lib/room-control/sharing-control/type.js +6 -1
  39. package/lib/room-control/stream-control/index.d.ts +8 -1
  40. package/lib/room-control/stream-control/index.js +310 -199
  41. package/lib/room-control/stream-control/type.d.ts +6 -0
  42. package/lib/room-control/stt-control/de-compress-gzip.d.ts +1 -0
  43. package/lib/room-control/stt-control/de-compress-gzip.js +49 -0
  44. package/lib/room-control/stt-control/index.d.ts +1 -0
  45. package/lib/room-control/stt-control/index.js +353 -0
  46. package/lib/room-control/stt-control/type.d.ts +142 -0
  47. package/lib/room-control/stt-control/type.js +16 -0
  48. package/lib/room-control/type.d.ts +15 -0
  49. package/lib/room-control/type.js +13 -1
  50. package/lib/room-control/user-control/index.js +143 -136
  51. package/lib/room-control/waitingroom-control/index.js +14 -9
  52. package/lib/room-control/whiteboard-control/enum.d.ts +15 -0
  53. package/lib/room-control/whiteboard-control/{types.js → enum.js} +12 -1
  54. package/lib/room-control/whiteboard-control/type.d.ts +38 -0
  55. package/lib/room-control/whiteboard-control/type.js +15 -0
  56. package/lib/room-control/whiteboard-control/utils.d.ts +3 -0
  57. package/lib/room-control/whiteboard-control/utils.js +23 -0
  58. package/lib/room-control/whiteboard-control-v1/board-subwindow.d.ts +6 -0
  59. package/lib/room-control/whiteboard-control-v1/board-subwindow.js +26 -0
  60. package/lib/room-control/whiteboard-control-v1/board-window.d.ts +58 -0
  61. package/lib/room-control/whiteboard-control-v1/board-window.js +571 -0
  62. package/lib/room-control/{whiteboard-control/enums.d.ts → whiteboard-control-v1/enum.d.ts} +3 -17
  63. package/lib/room-control/{whiteboard-control/enums.js → whiteboard-control-v1/enum.js} +3 -20
  64. package/lib/room-control/whiteboard-control-v1/factory.d.ts +9 -0
  65. package/lib/room-control/whiteboard-control-v1/factory.js +22 -0
  66. package/lib/room-control/whiteboard-control-v1/index.d.ts +1 -0
  67. package/lib/room-control/whiteboard-control-v1/index.js +440 -0
  68. package/lib/room-control/whiteboard-control-v1/mount-manager.d.ts +4 -0
  69. package/lib/room-control/whiteboard-control-v1/mount-manager.js +15 -0
  70. package/lib/room-control/whiteboard-control-v1/type.d.ts +300 -0
  71. package/lib/room-control/whiteboard-control-v1/type.js +13 -0
  72. package/lib/room-control/whiteboard-control-v1/utils.d.ts +53 -0
  73. package/lib/room-control/whiteboard-control-v1/utils.js +290 -0
  74. package/lib/room-control/whiteboard-control-v2/annotation-control/control.d.ts +17 -31
  75. package/lib/room-control/whiteboard-control-v2/annotation-control/control.js +42 -228
  76. package/lib/room-control/whiteboard-control-v2/annotation-control/factory.d.ts +10 -0
  77. package/lib/room-control/whiteboard-control-v2/annotation-control/factory.js +48 -0
  78. package/lib/room-control/whiteboard-control-v2/annotation-control/type.d.ts +11 -19
  79. package/lib/room-control/whiteboard-control-v2/annotation-control/type.js +1 -3
  80. package/lib/room-control/whiteboard-control-v2/base/index.d.ts +42 -0
  81. package/lib/room-control/whiteboard-control-v2/base/index.js +317 -0
  82. package/lib/room-control/whiteboard-control-v2/{main-window.d.ts → base/main-window.d.ts} +6 -4
  83. package/lib/room-control/whiteboard-control-v2/{main-window.js → base/main-window.js} +54 -36
  84. package/lib/room-control/whiteboard-control-v2/constant.d.ts +6 -0
  85. package/lib/room-control/whiteboard-control-v2/constant.js +15 -0
  86. package/lib/room-control/whiteboard-control-v2/enum.d.ts +26 -0
  87. package/lib/room-control/whiteboard-control-v2/enum.js +34 -0
  88. package/lib/room-control/{whiteboard-control/types.d.ts → whiteboard-control-v2/type.d.ts} +51 -165
  89. package/lib/room-control/whiteboard-control-v2/type.js +5 -0
  90. package/lib/room-control/whiteboard-control-v2/utils.d.ts +5 -4
  91. package/lib/room-control/whiteboard-control-v2/utils.js +29 -27
  92. package/lib/room-control/whiteboard-control-v2/whiteboard-control/control.d.ts +34 -33
  93. package/lib/room-control/whiteboard-control-v2/whiteboard-control/control.js +131 -187
  94. package/lib/room-control/whiteboard-control-v2/whiteboard-control/factory.d.ts +11 -0
  95. package/lib/room-control/whiteboard-control-v2/{annotation-control/index.js → whiteboard-control/factory.js} +40 -38
  96. package/lib/room-control/whiteboard-control-v2/whiteboard-control/type.d.ts +18 -30
  97. package/lib/room-control/whiteboard-control-v2/whiteboard-control/type.js +1 -9
  98. package/lib/room-router/index.js +56 -42
  99. package/lib/schema.d.ts +23 -9
  100. package/lib/schema.js +10 -4
  101. package/lib/service/api.d.ts +75 -19
  102. package/lib/service/api.js +401 -208
  103. package/lib/type.d.ts +15 -2
  104. package/lib/type.js +13 -0
  105. package/lib/utilities/collection.js +3 -2
  106. package/lib/utilities/error-helpers.d.ts +2 -1
  107. package/lib/utilities/error-helpers.js +35 -27
  108. package/lib/utilities/error.d.ts +1 -0
  109. package/lib/utilities/error.js +10 -8
  110. package/lib/utilities/join-helper.js +32 -25
  111. package/lib/utilities/logger.d.ts +2 -2
  112. package/lib/utilities/logger.js +6 -3
  113. package/lib/utilities/parameters.js +8 -4
  114. package/lib/utilities/retry-helpers.js +1 -0
  115. package/lib/utilities/shared-storage.d.ts +3 -1
  116. package/lib/utilities/shared-storage.js +10 -1
  117. package/lib/utilities/storage.js +1 -0
  118. package/lib/utilities/stream.js +16 -11
  119. package/lib/utilities/user.js +4 -3
  120. package/lib/utilities/validate-params.js +2 -1
  121. package/package.json +11 -5
  122. package/lib/room-control/whiteboard-control-v2/annotation-control/index.d.ts +0 -19
  123. package/lib/room-control/whiteboard-control-v2/annotation-control/privilege-control.d.ts +0 -36
  124. package/lib/room-control/whiteboard-control-v2/annotation-control/privilege-control.js +0 -252
  125. package/lib/room-control/whiteboard-control-v2/index.d.ts +0 -38
  126. package/lib/room-control/whiteboard-control-v2/index.js +0 -274
  127. package/lib/room-control/whiteboard-control-v2/whiteboard-control/index.d.ts +0 -17
  128. package/lib/room-control/whiteboard-control-v2/whiteboard-control/index.js +0 -30
  129. package/lib/room-control/whiteboard-control-v2/whiteboard-control/privilege-control.d.ts +0 -36
  130. package/lib/room-control/whiteboard-control-v2/whiteboard-control/privilege-control.js +0 -240
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
 
3
+ require("core-js/modules/es.symbol.description.js");
3
4
  require("core-js/modules/es.array.push.js");
4
5
  require("core-js/modules/esnext.function.metadata.js");
6
+ require("core-js/modules/esnext.iterator.constructor.js");
7
+ require("core-js/modules/esnext.iterator.filter.js");
8
+ require("core-js/modules/esnext.iterator.for-each.js");
5
9
  require("core-js/modules/esnext.map.delete-all.js");
6
10
  require("core-js/modules/esnext.map.emplace.js");
7
11
  require("core-js/modules/esnext.map.every.js");
@@ -22,6 +26,10 @@ Object.defineProperty(exports, "__esModule", {
22
26
  value: true
23
27
  });
24
28
  exports.FcrRoomRouterImpl = void 0;
29
+ require("core-js/modules/es.error.cause.js");
30
+ require("core-js/modules/es.regexp.exec.js");
31
+ require("core-js/modules/web.dom-collections.iterator.js");
32
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
33
  var _imports = require("../imports");
26
34
  var _roomControlFactory = require("../room-control/room-control-factory");
27
35
  var _type = require("../room-control/type");
@@ -32,7 +40,10 @@ var _retryHelpers = require("../utilities/retry-helpers");
32
40
  var _logger = require("../utilities/logger");
33
41
  var _validateParams = _interopRequireDefault(require("../utilities/validate-params"));
34
42
  var _type2 = require("./type");
35
- let _initProto, _initDecs, _joinRoomDecs;
43
+ var _FcrRoomRouterImpl;
44
+ let _initProto, _initDecs, _joinRoomDecs, _ref;
45
+ 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; }
46
+ 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; }
36
47
  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)]; } }; }
37
48
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
38
49
  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); }
@@ -41,40 +52,37 @@ function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side
41
52
  /**
42
53
  * @internal
43
54
  */
44
-
55
+ _ref = (_initDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringSchema)], _joinRoomDecs = [_imports.trace, (0, _validateParams.default)(_schema.fcrRoomJoinOptionsSchema)], "logger");
45
56
  class FcrRoomRouterImpl {
46
- static {
47
- [_initProto] = _applyDecs(this, [[_initDecs, 2, "_init"], [_joinRoomDecs, 2, "joinRoom"], [_imports.trace, 2, "leaveRoom"]], []).e;
48
- }
49
- [(_initDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringSchema)], _joinRoomDecs = [_imports.trace, (0, _validateParams.default)(_schema.fcrRoomJoinOptionsSchema)], "logger")] = (_initProto(this), (0, _logger.createLogger)({
50
- prefix: 'FcrRoomRouterImpl'
51
- }));
52
- _abortController = null;
53
- _observable = new _imports.AgoraObservable();
54
- _roomControlObservable = {
55
- onRoomRouteSwitched: async event => {
56
- this._nextRoomRoute = event.targetRouting;
57
- this._observable.notifyObservers('onRoomRouteSwitched', this._nextRoomRoute);
58
- this.roomControl.removeObserver(this._roomControlObservable);
59
- this._roomControl = null;
60
- }
61
- };
62
- _roomControl = null;
63
- _nextRoomRoute = {
64
- roomId: '',
65
- roomType: _type.FcrRoomType.Mainroom,
66
- isJoined: false
67
- };
68
-
69
- // 接口中新增一个bypass字段,在第一次调用joinRoom的时候不传,在后续收到房间切换后的joinRoom时传true
70
- _bypass = undefined;
71
57
  constructor(_rteEngine, _apiService, _config, _chatConnection, _sharedCache, roomId) {
58
+ (0, _defineProperty2.default)(this, _ref, (_initProto(this), (0, _logger.createLogger)({
59
+ prefix: 'FcrRoomRouterImpl'
60
+ })));
61
+ (0, _defineProperty2.default)(this, "_abortController", null);
62
+ (0, _defineProperty2.default)(this, "_observable", new _imports.AgoraObservable());
63
+ (0, _defineProperty2.default)(this, "_roomControlObservable", {
64
+ onRoomRouteSwitched: async event => {
65
+ this._nextRoomRoute = event.targetRouting;
66
+ this._observable.notifyObservers('onRoomRouteSwitched', this._nextRoomRoute);
67
+ this.roomControl.removeObserver(this._roomControlObservable);
68
+ this._roomControl = null;
69
+ }
70
+ });
71
+ (0, _defineProperty2.default)(this, "_roomControl", null);
72
+ (0, _defineProperty2.default)(this, "_nextRoomRoute", {
73
+ roomId: '',
74
+ roomType: _type.FcrRoomType.Mainroom,
75
+ isJoined: false
76
+ });
77
+ // 接口中新增一个bypass字段,在第一次调用joinRoom的时候不传,在后续收到房间切换后的joinRoom时传true
78
+ (0, _defineProperty2.default)(this, "_bypass", undefined);
72
79
  this._rteEngine = _rteEngine;
73
80
  this._apiService = _apiService;
74
81
  this._config = _config;
75
82
  this._chatConnection = _chatConnection;
76
83
  this._sharedCache = _sharedCache;
77
84
  this._init(roomId);
85
+ this._addLogObserver();
78
86
  }
79
87
  get roomControl() {
80
88
  if (!this._roomControl) {
@@ -101,9 +109,10 @@ class FcrRoomRouterImpl {
101
109
  }
102
110
  }
103
111
  async leaveRoom() {
104
- this._abortController?.abort();
112
+ var _this$_abortControlle, _this$_roomControl;
113
+ (_this$_abortControlle = this._abortController) === null || _this$_abortControlle === void 0 || _this$_abortControlle.abort();
105
114
  this._abortController = null;
106
- this._roomControl?.leave();
115
+ (_this$_roomControl = this._roomControl) === null || _this$_roomControl === void 0 || _this$_roomControl.leave();
107
116
  this._roomControl = null;
108
117
  }
109
118
 
@@ -125,11 +134,12 @@ class FcrRoomRouterImpl {
125
134
  const abortController = this._abortController;
126
135
  return (0, _imports.retryAttempt)(() => this._performSingleJoinAttempt(options), [], {
127
136
  retriesMax: _type2.ROOM_ROUTER_CONSTANTS.MAX_JOIN_ATTEMPTS
128
- }).fail(async ({
129
- error,
130
- timeFn: waitBeforeRetry,
131
- currentRetry: attemptCount
132
- }) => {
137
+ }).fail(async _ref2 => {
138
+ let {
139
+ error,
140
+ timeFn: waitBeforeRetry,
141
+ currentRetry: attemptCount
142
+ } = _ref2;
133
143
  return (0, _joinHelper.handleJoinRetryFailure)(error, waitBeforeRetry, attemptCount, _retryHelpers.canRetryJoinError, () => {
134
144
  this._throwIfAborted(abortController);
135
145
  }, 'join room via router');
@@ -182,15 +192,14 @@ class FcrRoomRouterImpl {
182
192
  } = roomResponse;
183
193
  const abortController = this._abortController;
184
194
  const roomControl = this._createRoomControl(data);
185
- abortController?.signal.addEventListener('abort', () => {
195
+ abortController === null || abortController === void 0 || abortController.signal.addEventListener('abort', () => {
186
196
  roomControl.leave();
187
197
  });
188
- await roomControl.join({
189
- ...options,
198
+ await roomControl.join(_objectSpread(_objectSpread({}, options), {}, {
190
199
  snapshot: data,
191
200
  timestamp: ts,
192
201
  createStreamConfigs: options.createStreamConfigs
193
- });
202
+ }));
194
203
  return roomControl;
195
204
  }
196
205
 
@@ -218,8 +227,8 @@ class FcrRoomRouterImpl {
218
227
  * @private
219
228
  */
220
229
  _handleJoinRoomError(error) {
221
- this.logger.error(`Failed to join the room: ${error.message}`);
222
- const fcrError = (0, _error.generateFcrCoreClientErrorNew)(_error.FcrErrorModuleCode.ROOM, _error.FcrErrorCode.LOCAL_HTTP_REQUEST_FAILED, `join room failed: ${error.message}`);
230
+ this.logger.error("Failed to join the room: ".concat(error.message));
231
+ const fcrError = (0, _error.generateFcrCoreClientErrorNew)(_error.FcrErrorModuleCode.ROOM, _error.FcrErrorCode.LOCAL_HTTP_REQUEST_FAILED, "join room failed: ".concat(error.message));
223
232
  this._observable.notifyObservers('onErrorOccurred', fcrError);
224
233
  }
225
234
 
@@ -244,10 +253,13 @@ class FcrRoomRouterImpl {
244
253
  });
245
254
  }
246
255
  _throwIfAborted(abortController) {
247
- if (abortController?.signal.aborted) {
256
+ if (abortController !== null && abortController !== void 0 && abortController.signal.aborted) {
248
257
  throw new Error('Join room attempt aborted');
249
258
  }
250
259
  }
260
+ _addLogObserver() {
261
+ this.addObserver((0, _logger.generateLogObserver)(this.logger, ['onErrorOccurred', 'onRoomJoined', 'onRoomRouteSwitched']));
262
+ }
251
263
  addObserver(observer) {
252
264
  this._observable.addObserver(observer);
253
265
  }
@@ -255,4 +267,6 @@ class FcrRoomRouterImpl {
255
267
  this._observable.removeObserver(observer);
256
268
  }
257
269
  }
258
- exports.FcrRoomRouterImpl = FcrRoomRouterImpl;
270
+ exports.FcrRoomRouterImpl = FcrRoomRouterImpl;
271
+ _FcrRoomRouterImpl = FcrRoomRouterImpl;
272
+ [_initProto] = _applyDecs(_FcrRoomRouterImpl, [[_initDecs, 2, "_init"], [_joinRoomDecs, 2, "joinRoom"], [_imports.trace, 2, "leaveRoom"]], []).e;
package/lib/schema.d.ts CHANGED
@@ -2,7 +2,7 @@ import { FcrLanguage } from './room-control/interpreter-control/types';
2
2
  import { FcrPermissionAction, FcrPrivilegeUserRole, FcrSecurityAction } from './room-control/privilege-control/type';
3
3
  import { FcrIPConnectorSessionType } from './room-control/room-connector-control/type';
4
4
  import { FcrUserKickedOutType, FcrUserRole } from './room-control/user-control/type';
5
- import { FcrBoardToolType } from './room-control/whiteboard-control/enums';
5
+ import { FcrBoardToolType } from './room-control/whiteboard-control-v2/enum';
6
6
  import { FcrChatRoomMessageType } from './room-control/chatroom-control/type';
7
7
  import { AgoraRtcAudioSourceType, AgoraRtcCapability, AgoraRtcEncryptionMode, AgoraRtcLatencyLevelType, AgoraRtcMediaSourceState, AgoraRtcRenderMode, AgoraRtcVideoStreamType, AgoraRteMediaStreamType, AgoraRteVideoSourceType, z, AgoraRteStreamPrivilegeOperation, AgoraRteStreamPrivilegeAudioSourceType, AgoraRteStreamPrivilegeVideoSourceType, FcrScreenScenarioType } from './imports';
8
8
  import { FcrDeviceType } from './media-control/type';
@@ -63,6 +63,17 @@ export declare const fcrUserRolesSchema: z.ZodArray<z.ZodNativeEnum<typeof FcrUs
63
63
  export type FcrUserRolesSchema = z.infer<typeof fcrUserRolesSchema>;
64
64
  export declare const fcrPrivilegeUserRoleArraySchema: z.ZodArray<z.ZodNativeEnum<typeof FcrPrivilegeUserRole>, "many">;
65
65
  export type FcrPrivilegeUserRoleArraySchema = z.infer<typeof fcrPrivilegeUserRoleArraySchema>;
66
+ export declare const fcrLanguageConfigSchema: z.ZodObject<{
67
+ sourceLanguage: z.ZodNativeEnum<typeof FcrLanguage>;
68
+ targetLanguage: z.ZodOptional<z.ZodNativeEnum<typeof FcrLanguage>>;
69
+ }, "strip", z.ZodTypeAny, {
70
+ sourceLanguage: FcrLanguage;
71
+ targetLanguage?: FcrLanguage | undefined;
72
+ }, {
73
+ sourceLanguage: FcrLanguage;
74
+ targetLanguage?: FcrLanguage | undefined;
75
+ }>;
76
+ export type FcrLanguageConfigSchema = z.infer<typeof fcrLanguageConfigSchema>;
66
77
  export declare const fcrSessionBaseSchema: z.ZodObject<{
67
78
  sessionId: z.ZodString;
68
79
  sessionKey: z.ZodString;
@@ -72,17 +83,17 @@ export declare const fcrSessionBaseSchema: z.ZodObject<{
72
83
  senderId: z.ZodString;
73
84
  interval: z.ZodNumber;
74
85
  }, "strip", z.ZodTypeAny, {
86
+ payload: Record<string, unknown>;
75
87
  sessionKey: string;
76
88
  duration: number;
77
- payload: Record<string, unknown>;
78
89
  sessionId: string;
79
90
  timestamp: number;
80
91
  senderId: string;
81
92
  interval: number;
82
93
  }, {
94
+ payload: Record<string, unknown>;
83
95
  sessionKey: string;
84
96
  duration: number;
85
- payload: Record<string, unknown>;
86
97
  sessionId: string;
87
98
  timestamp: number;
88
99
  senderId: string;
@@ -153,12 +164,12 @@ export declare const fcrPhoneConnectorSessionParamsSchema: z.ZodObject<{
153
164
  userName: z.ZodString;
154
165
  phoneUserId: z.ZodOptional<z.ZodString>;
155
166
  }, "strip", z.ZodTypeAny, {
156
- phoneNumber: string;
157
167
  userName: string;
168
+ phoneNumber: string;
158
169
  phoneUserId?: string | undefined;
159
170
  }, {
160
- phoneNumber: string;
161
171
  userName: string;
172
+ phoneNumber: string;
162
173
  phoneUserId?: string | undefined;
163
174
  }>;
164
175
  export type FcrPhoneConnectorSessionParamsSchema = z.infer<typeof fcrPhoneConnectorSessionParamsSchema>;
@@ -178,27 +189,30 @@ export declare const fcrRoomSessionParamsSchema: z.ZodObject<{
178
189
  duration: z.ZodNumber;
179
190
  payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
180
191
  }, "strip", z.ZodTypeAny, {
192
+ payload: Record<string, unknown>;
181
193
  sessionKey: string;
182
194
  duration: number;
183
- payload: Record<string, unknown>;
184
195
  }, {
196
+ payload: Record<string, unknown>;
185
197
  sessionKey: string;
186
198
  duration: number;
187
- payload: Record<string, unknown>;
188
199
  }>;
189
200
  export type FcrRoomSessionParamsSchema = z.infer<typeof fcrRoomSessionParamsSchema>;
190
201
  export declare const colorSchema: z.ZodObject<{
191
202
  r: z.ZodNumber;
192
203
  g: z.ZodNumber;
193
204
  b: z.ZodNumber;
205
+ a: z.ZodOptional<z.ZodNumber>;
194
206
  }, "strip", z.ZodTypeAny, {
195
207
  r: number;
196
208
  g: number;
197
209
  b: number;
210
+ a?: number | undefined;
198
211
  }, {
199
212
  r: number;
200
213
  g: number;
201
214
  b: number;
215
+ a?: number | undefined;
202
216
  }>;
203
217
  export type ColorSchema = z.infer<typeof colorSchema>;
204
218
  export declare const fcrPeerSessionParamsSchema: z.ZodObject<{
@@ -207,14 +221,14 @@ export declare const fcrPeerSessionParamsSchema: z.ZodObject<{
207
221
  duration: z.ZodNumber;
208
222
  payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
209
223
  }, "strip", z.ZodTypeAny, {
224
+ payload: Record<string, unknown>;
210
225
  sessionKey: string;
211
226
  duration: number;
212
- payload: Record<string, unknown>;
213
227
  receiverId: string;
214
228
  }, {
229
+ payload: Record<string, unknown>;
215
230
  sessionKey: string;
216
231
  duration: number;
217
- payload: Record<string, unknown>;
218
232
  receiverId: string;
219
233
  }>;
220
234
  export type FcrPeerSessionParamsSchema = z.infer<typeof fcrPeerSessionParamsSchema>;
package/lib/schema.js CHANGED
@@ -35,7 +35,7 @@ Object.defineProperty(exports, "createUnionSchema", {
35
35
  return _imports.createUnionSchema;
36
36
  }
37
37
  });
38
- exports.fcrRenderModeSchema = exports.fcrRenderConfigSchema = exports.fcrPrivilegeUserRoleSchema = exports.fcrPrivilegeUserRoleArraySchema = exports.fcrPhoneConnectorSessionParamsSchema = exports.fcrPermissionActionSchema = exports.fcrPeerSessionParamsSchema = exports.fcrMobileDeviceIdOrNameSchema = exports.fcrMediaStreamTypeSchema = exports.fcrMediaStreamCreateConfigSchema = exports.fcrMediaSourceStateSchema = exports.fcrLocalStreamCreateArrayConfigSchema = exports.fcrLineTypeSchema = exports.fcrLatencyLevelTypeSchema = exports.fcrLanguageSchema = exports.fcrInterpreterUsersParamsSchema = exports.fcrInterpreterUsersParamsArraySchema = exports.fcrIPConnectorSessionTypeSchema = exports.fcrIPConnectorSessionParamsSchema = exports.fcrGroupUpdateOptionsSchema = exports.fcrGroupUpdateOptionsArraySchema = exports.fcrGroupCreateConfigSchema = exports.fcrGroupCreateConfigArraySchema = exports.fcrEncryptionModeSchema = exports.fcrDeviceTypeSchema = exports.fcrChatRoomSendTextMessageSchema = exports.fcrChatRoomSendImageMessageSchema = exports.fcrChatRoomSendBaseMessageSchema = exports.fcrChatRoomMessageTypeSchema = exports.fcrChatRoomFileSchema = exports.fcrCapabilitySchema = exports.fcrBoardToolTypeSchema = exports.fcrAudioSourceTypeSchema = void 0;
38
+ exports.fcrRenderModeSchema = exports.fcrRenderConfigSchema = exports.fcrPrivilegeUserRoleSchema = exports.fcrPrivilegeUserRoleArraySchema = exports.fcrPhoneConnectorSessionParamsSchema = exports.fcrPermissionActionSchema = exports.fcrPeerSessionParamsSchema = exports.fcrMobileDeviceIdOrNameSchema = exports.fcrMediaStreamTypeSchema = exports.fcrMediaStreamCreateConfigSchema = exports.fcrMediaSourceStateSchema = exports.fcrLocalStreamCreateArrayConfigSchema = exports.fcrLineTypeSchema = exports.fcrLatencyLevelTypeSchema = exports.fcrLanguageSchema = exports.fcrLanguageConfigSchema = exports.fcrInterpreterUsersParamsSchema = exports.fcrInterpreterUsersParamsArraySchema = exports.fcrIPConnectorSessionTypeSchema = exports.fcrIPConnectorSessionParamsSchema = exports.fcrGroupUpdateOptionsSchema = exports.fcrGroupUpdateOptionsArraySchema = exports.fcrGroupCreateConfigSchema = exports.fcrGroupCreateConfigArraySchema = exports.fcrEncryptionModeSchema = exports.fcrDeviceTypeSchema = exports.fcrChatRoomSendTextMessageSchema = exports.fcrChatRoomSendImageMessageSchema = exports.fcrChatRoomSendBaseMessageSchema = exports.fcrChatRoomMessageTypeSchema = exports.fcrChatRoomFileSchema = exports.fcrCapabilitySchema = exports.fcrBoardToolTypeSchema = exports.fcrAudioSourceTypeSchema = void 0;
39
39
  Object.defineProperty(exports, "fcrRenderViewSchema", {
40
40
  enumerable: true,
41
41
  get: function () {
@@ -75,7 +75,7 @@ var _types = require("./room-control/interpreter-control/types");
75
75
  var _type = require("./room-control/privilege-control/type");
76
76
  var _type2 = require("./room-control/room-connector-control/type");
77
77
  var _type3 = require("./room-control/user-control/type");
78
- var _enums = require("./room-control/whiteboard-control/enums");
78
+ var _enum = require("./room-control/whiteboard-control-v2/enum");
79
79
  var _type4 = require("./room-control/chatroom-control/type");
80
80
  var _imports = require("./imports");
81
81
  var _type5 = require("./media-control/type");
@@ -92,7 +92,7 @@ const fcrPrivilegeUserRoleSchema = exports.fcrPrivilegeUserRoleSchema = _imports
92
92
  const fcrLineTypeSchema = exports.fcrLineTypeSchema = _imports.z.nativeEnum(_type6.FcrLineType);
93
93
  const fcrUserRoleSchema = exports.fcrUserRoleSchema = _imports.z.nativeEnum(_type3.FcrUserRole);
94
94
  const fcrUserKickedOutTypeSchema = exports.fcrUserKickedOutTypeSchema = _imports.z.nativeEnum(_type3.FcrUserKickedOutType);
95
- const fcrBoardToolTypeSchema = exports.fcrBoardToolTypeSchema = _imports.z.nativeEnum(_enums.FcrBoardToolType);
95
+ const fcrBoardToolTypeSchema = exports.fcrBoardToolTypeSchema = _imports.z.nativeEnum(_enum.FcrBoardToolType);
96
96
  const fcrLanguageSchema = exports.fcrLanguageSchema = _imports.z.nativeEnum(_types.FcrLanguage);
97
97
  const fcrIPConnectorSessionTypeSchema = exports.fcrIPConnectorSessionTypeSchema = _imports.z.nativeEnum(_type2.FcrIPConnectorSessionType);
98
98
  const fcrDeviceTypeSchema = exports.fcrDeviceTypeSchema = _imports.z.nativeEnum(_type5.FcrDeviceType);
@@ -114,6 +114,11 @@ const fcrStreamPrivilegeVideoSourceTypeSchema = exports.fcrStreamPrivilegeVideoS
114
114
  const fcrUserRolesSchema = exports.fcrUserRolesSchema = _imports.z.array(fcrUserRoleSchema);
115
115
  const fcrPrivilegeUserRoleArraySchema = exports.fcrPrivilegeUserRoleArraySchema = _imports.z.array(fcrPrivilegeUserRoleSchema);
116
116
  // Object Schemas
117
+
118
+ const fcrLanguageConfigSchema = exports.fcrLanguageConfigSchema = _imports.z.object({
119
+ sourceLanguage: fcrLanguageSchema,
120
+ targetLanguage: fcrLanguageSchema.optional()
121
+ });
117
122
  const fcrSessionBaseSchema = exports.fcrSessionBaseSchema = _imports.z.object({
118
123
  sessionId: _imports.stringSchema,
119
124
  sessionKey: _imports.stringSchema,
@@ -154,7 +159,8 @@ const fcrRoomSessionParamsSchema = exports.fcrRoomSessionParamsSchema = _imports
154
159
  const colorSchema = exports.colorSchema = _imports.z.object({
155
160
  r: _imports.numberSchema,
156
161
  g: _imports.numberSchema,
157
- b: _imports.numberSchema
162
+ b: _imports.numberSchema,
163
+ a: _imports.numberSchema.optional()
158
164
  });
159
165
  const fcrPeerSessionParamsSchema = exports.fcrPeerSessionParamsSchema = _imports.z.object({
160
166
  sessionKey: _imports.stringSchema,
@@ -1,15 +1,15 @@
1
1
  import { AgoraRestfulClient, AgoraRteEntryRoomResponse } from '../imports';
2
- import { FcrCloudRecordingConfig, FcrGroupCreateConfig, FcrGroupUpdateOptions, FcrLiveStreamingLayoutType, FcrLiveStreamingConfig, FcrSharePermissionProps, FcrAllowWatermarkPayloadBody, FcrAnnotationProps } from '../type';
2
+ import { FcrCloudRecordingConfig, FcrGroupCreateConfig, FcrGroupUpdateOptions, FcrLiveStreamingLayoutType, FcrLiveStreamingConfig, FcrSharePermissionProps, FcrAllowWatermarkPayloadBody, FcrAnnotationProps, FcrLanguageConfig, FcrLanguage } from '../type';
3
3
  import { AgoraRteRegion } from '../imports';
4
4
  import { FcrCheckInParams, FcrChatRoomTokenResData } from './type';
5
- import { FcrSharePermissionState } from '../room-control/whiteboard-control/enums';
6
- import { FcrPrivilegeUserRole, FcrSecuritySendChatPayload } from '../room-control/privilege-control/type';
5
+ import { FcrPrivilegeUserRole, FcrPrivilegeUserRoleToStringMap, FcrSecuritySendChatPayload } from '../room-control/privilege-control/type';
7
6
  import { FcrUserKickedOutType } from '../room-control/user-control/type';
8
7
  import { AgoraRteAudioSourceType, AgoraRteMediaPublishState, AgoraRteVideoSourceType } from '../imports';
9
- import { FcrBoardInfo } from '../room-control/whiteboard-control/types';
8
+ import { FcrObjectForgeInitConfig } from '../room-control/whiteboard-control-v2/type';
9
+ import { FcrSharePermissionState } from '../room-control/sharing-control/type';
10
10
  export declare class FcrCoreServiceApi {
11
11
  private _client;
12
- protected logger: import("agora-foundation/lib/logger").Logger;
12
+ protected logger: import("agora-foundation/lib/logger/type").Logger;
13
13
  private _pathPrefix;
14
14
  constructor(_client: AgoraRestfulClient, appId: string, region: AgoraRteRegion, pathIncludeRegion?: boolean);
15
15
  setRestfulClient(client: AgoraRestfulClient): void;
@@ -74,12 +74,14 @@ export declare class FcrCoreServiceApi {
74
74
  duration: number;
75
75
  payload: unknown;
76
76
  targetId: string;
77
+ targetRoles?: (typeof FcrPrivilegeUserRoleToStringMap)[keyof typeof FcrPrivilegeUserRoleToStringMap][];
77
78
  }): Promise<any>;
78
79
  deleteRoomSession(params: {
79
80
  userId: string;
80
81
  sessionId: string;
81
82
  sessionKey: string;
82
83
  receiverIds: string[];
84
+ target: 1 | 2;
83
85
  action: 1 | 2;
84
86
  payload: unknown;
85
87
  }): Promise<any>;
@@ -184,6 +186,11 @@ export declare class FcrCoreServiceApi {
184
186
  enable: boolean;
185
187
  targetRoles: string[];
186
188
  }): Promise<any>;
189
+ allowJoinWithPromptSound({ roomId, enable, targetRoles, }: {
190
+ roomId: string;
191
+ enable: boolean;
192
+ targetRoles: string[];
193
+ }): Promise<any>;
187
194
  allowStartVideo({ roomId, enable, targetRoles, }: {
188
195
  roomId: string;
189
196
  enable: boolean;
@@ -242,12 +249,7 @@ export declare class FcrCoreServiceApi {
242
249
  roomId: string;
243
250
  userId: string;
244
251
  }): Promise<{
245
- data: {
246
- boardAppId: string;
247
- boardId: string;
248
- boardRegion: FcrBoardInfo['extra']['boardRegion'];
249
- boardToken: string;
250
- };
252
+ data: FcrObjectForgeInitConfig;
251
253
  }>;
252
254
  /**
253
255
  * @description 获取批注token
@@ -256,14 +258,7 @@ export declare class FcrCoreServiceApi {
256
258
  roomId: string;
257
259
  userId: string;
258
260
  }): Promise<{
259
- data: {
260
- boardUserUuid: string;
261
- boardUserToken: string;
262
- boardAppId: string;
263
- boardId: string;
264
- boardToken: string;
265
- region: 'cn-hz';
266
- };
261
+ data: FcrObjectForgeInitConfig;
267
262
  }>;
268
263
  /**
269
264
  * @description 开启/关闭屏幕共享标注权限
@@ -287,6 +282,20 @@ export declare class FcrCoreServiceApi {
287
282
  code: number;
288
283
  ts: number;
289
284
  }>;
285
+ /**
286
+ * @description 设置'启用/禁用屏幕共享&白板'的用户列表
287
+ */
288
+ toggleShareEnableByUserIds(params: {
289
+ roomId: string;
290
+ enable: boolean;
291
+ toUserUuids: string[];
292
+ payload?: FcrSharePermissionProps;
293
+ }): Promise<{
294
+ msg: string;
295
+ data: Record<string, FcrSharePermissionProps>;
296
+ code: number;
297
+ ts: number;
298
+ }>;
290
299
  /**
291
300
  * @description 开启 / 关闭屏幕共享
292
301
  */
@@ -428,4 +437,51 @@ export declare class FcrCoreServiceApi {
428
437
  deleteStreamBatch(roomUuid: string, streams: {
429
438
  streamUuid: string;
430
439
  }[]): Promise<any>;
440
+ startCaption(params: {
441
+ roomUuid: string;
442
+ userUuid: string;
443
+ config: FcrLanguageConfig;
444
+ }): Promise<any>;
445
+ stopCaption(params: {
446
+ roomUuid: string;
447
+ userUuid: string;
448
+ }): Promise<any>;
449
+ startTranscribing(params: {
450
+ roomUuid: string;
451
+ userUuid: string;
452
+ config: FcrLanguageConfig;
453
+ }): Promise<any>;
454
+ stopTranscribing(params: {
455
+ roomUuid: string;
456
+ userUuid: string;
457
+ }): Promise<any>;
458
+ updateSourceLanguage(params: {
459
+ roomUuid: string;
460
+ userUuid: string;
461
+ language: FcrLanguage;
462
+ }): Promise<any>;
463
+ subscribeTranscribingLanguage(params: {
464
+ roomUuid: string;
465
+ userUuid: string;
466
+ language: FcrLanguage;
467
+ }): Promise<any>;
468
+ unsubscribeTranscribingLanguage(params: {
469
+ roomUuid: string;
470
+ userUuid: string;
471
+ }): Promise<any>;
472
+ allowStartCaption(params: {
473
+ roomUuid: string;
474
+ enable: boolean;
475
+ targetRoles: string[];
476
+ }): Promise<any>;
477
+ allowStartTranscribing(params: {
478
+ roomUuid: string;
479
+ enable: boolean;
480
+ targetRoles: string[];
481
+ }): Promise<any>;
482
+ allowUpdateSttSourceLanguage(params: {
483
+ roomUuid: string;
484
+ enable: boolean;
485
+ targetRoles: string[];
486
+ }): Promise<any>;
431
487
  }