fcr-core 3.6.3 → 3.7.0

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 (69) hide show
  1. package/lib/chat-connection/index.d.ts +0 -1
  2. package/lib/chat-connection/index.js +38 -46
  3. package/lib/engine/index.js +68 -66
  4. package/lib/imports.d.ts +8 -1
  5. package/lib/imports.js +41 -3
  6. package/lib/index.d.ts +2 -23
  7. package/lib/index.js +21 -23
  8. package/lib/media-control/desktop.js +23 -19
  9. package/lib/media-control/mobile.js +12 -20
  10. package/lib/media-control/type.d.ts +7 -3
  11. package/lib/monitor-control/index.js +3 -10
  12. package/lib/peer-session/index.js +37 -50
  13. package/lib/plugins/chatroom.js +202 -203
  14. package/lib/room-control/ability-control/index.js +7 -14
  15. package/lib/room-control/ability-control/type.d.ts +2 -1
  16. package/lib/room-control/ability-control/type.js +1 -0
  17. package/lib/room-control/group-control/index.js +14 -23
  18. package/lib/room-control/index.js +64 -88
  19. package/lib/room-control/interpreter-control/index.js +17 -25
  20. package/lib/room-control/interpreter-control/room.js +4 -6
  21. package/lib/room-control/interpreter-control/types.d.ts +1 -0
  22. package/lib/room-control/join-before-host-waitingroom-control/index.js +4 -6
  23. package/lib/room-control/mainroom-control/index.js +16 -25
  24. package/lib/room-control/privilege-control/helper.js +5 -10
  25. package/lib/room-control/privilege-control/index.js +17 -29
  26. package/lib/room-control/privilege-control/type.js +1 -0
  27. package/lib/room-control/room-connector-control/index.js +14 -25
  28. package/lib/room-control/room-session/index.js +37 -50
  29. package/lib/room-control/shared-cache.d.ts +4 -0
  30. package/lib/room-control/shared-cache.js +29 -26
  31. package/lib/room-control/sharing-control/index.d.ts +9 -2
  32. package/lib/room-control/sharing-control/index.js +101 -50
  33. package/lib/room-control/sharing-control/type.d.ts +3 -2
  34. package/lib/room-control/stream-control/index.js +199 -191
  35. package/lib/room-control/stream-control/type.d.ts +6 -1
  36. package/lib/room-control/user-control/index.js +135 -146
  37. package/lib/room-control/waitingroom-control/index.js +8 -15
  38. package/lib/room-control/whiteboard-control/board-window.d.ts +3 -0
  39. package/lib/room-control/whiteboard-control/board-window.js +58 -60
  40. package/lib/room-control/whiteboard-control/enums.js +84 -0
  41. package/lib/room-control/whiteboard-control/index.js +26 -40
  42. package/lib/room-control/whiteboard-control/mount-manager.js +2 -4
  43. package/lib/room-control/whiteboard-control/types.d.ts +11 -0
  44. package/lib/room-control/whiteboard-control/utils.js +14 -17
  45. package/lib/room-control/whiteboard-control-v2/annotation-control/index.d.ts +8 -2
  46. package/lib/room-control/whiteboard-control-v2/annotation-control/index.js +103 -35
  47. package/lib/room-control/whiteboard-control-v2/annotation-control/type.d.ts +1 -0
  48. package/lib/room-control/whiteboard-control-v2/index.d.ts +1 -1
  49. package/lib/room-control/whiteboard-control-v2/index.js +28 -41
  50. package/lib/room-control/whiteboard-control-v2/main-window.d.ts +5 -0
  51. package/lib/room-control/whiteboard-control-v2/main-window.js +34 -30
  52. package/lib/room-control/whiteboard-control-v2/whiteboard-control/type.d.ts +1 -1
  53. package/lib/room-router/index.js +54 -70
  54. package/lib/schema.d.ts +23 -16
  55. package/lib/schema.js +4 -3
  56. package/lib/service/api.d.ts +5 -1
  57. package/lib/service/api.js +125 -118
  58. package/lib/service/type.d.ts +1 -0
  59. package/lib/type.d.ts +93 -56
  60. package/lib/type.js +303 -19
  61. package/lib/utilities/collection.js +2 -3
  62. package/lib/utilities/error.js +6 -7
  63. package/lib/utilities/logger.js +2 -3
  64. package/lib/utilities/parameters.js +4 -8
  65. package/lib/utilities/stream.d.ts +8 -8
  66. package/lib/utilities/stream.js +12 -20
  67. package/lib/utilities/user.js +5 -4
  68. package/lib/utilities/validate-params.js +1 -2
  69. package/package.json +6 -9
@@ -11,7 +11,6 @@ export declare class FcrChatConnectionImpl implements FcrChatConnection {
11
11
  private _initConfig?;
12
12
  private _conn?;
13
13
  private _connectionState;
14
- private _offlineListener;
15
14
  constructor(_userId: string, _api: FcrCoreServiceApi, _chatIpList?: string[] | undefined, _restIpList?: string[] | undefined);
16
15
  login(): Promise<void>;
17
16
  private _addEventListeners;
@@ -1,14 +1,7 @@
1
1
  "use strict";
2
2
 
3
- require("core-js/modules/es.symbol.description.js");
4
- require("core-js/modules/es.error.cause.js");
5
3
  require("core-js/modules/es.array.push.js");
6
- require("core-js/modules/esnext.async-iterator.filter.js");
7
- require("core-js/modules/esnext.async-iterator.for-each.js");
8
4
  require("core-js/modules/esnext.function.metadata.js");
9
- require("core-js/modules/esnext.iterator.constructor.js");
10
- require("core-js/modules/esnext.iterator.filter.js");
11
- require("core-js/modules/esnext.iterator.for-each.js");
12
5
  require("core-js/modules/esnext.map.delete-all.js");
13
6
  require("core-js/modules/esnext.map.emplace.js");
14
7
  require("core-js/modules/esnext.map.every.js");
@@ -24,44 +17,34 @@ require("core-js/modules/esnext.map.reduce.js");
24
17
  require("core-js/modules/esnext.map.some.js");
25
18
  require("core-js/modules/esnext.map.update.js");
26
19
  require("core-js/modules/esnext.symbol.metadata.js");
27
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
28
20
  Object.defineProperty(exports, "__esModule", {
29
21
  value: true
30
22
  });
31
23
  exports.FcrChatConnectionImpl = void 0;
32
- require("core-js/modules/es.json.stringify.js");
33
- require("core-js/modules/es.regexp.exec.js");
34
- require("core-js/modules/web.dom-collections.iterator.js");
35
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
36
24
  var _imports = require("../imports");
37
25
  var _type = require("./type");
38
26
  var _config = require("./config");
39
27
  var _logger = require("../utilities/logger");
40
- var _FcrChatConnectionImpl;
28
+ var _packageInfo = require("../utilities/package-info");
41
29
  let _initProto;
42
- 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; }
43
- 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; }
44
30
  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)]; } }; }
45
31
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
46
32
  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); }
47
33
  function _setFunctionName(e, t, n) { "symbol" == typeof t && (t = (t = t.description) ? "[" + t + "]" : ""); try { Object.defineProperty(e, "name", { configurable: !0, value: n ? n + " " + t : t }); } catch (e) {} return e; }
48
34
  function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? typeof e : "null")); return e; }
49
35
  class FcrChatConnectionImpl {
36
+ static #_ = (() => [_initProto] = _applyDecs(this, [[_imports.trace, 2, "login"], [_imports.trace, 2, "logout"]], []).e)();
37
+ logger = (() => (_initProto(this), (0, _logger.createLogger)({
38
+ prefix: 'FcrChatConnectionImpl'
39
+ })))();
40
+ _observable = (() => new _imports.AgoraObservable())();
41
+ _connectionState = (() => _type.FcrChatConnectionState.DISCONNECTED)();
50
42
  constructor(_userId, _api, _chatIpList, _restIpList) {
51
- (0, _defineProperty2.default)(this, "logger", (_initProto(this), (0, _logger.createLogger)({
52
- prefix: 'FcrChatConnectionImpl'
53
- })));
54
- (0, _defineProperty2.default)(this, "_observable", new _imports.AgoraObservable());
55
- (0, _defineProperty2.default)(this, "_connectionState", _type.FcrChatConnectionState.DISCONNECTED);
56
- (0, _defineProperty2.default)(this, "_offlineListener", () => {
57
- if (this._connectionState !== _type.FcrChatConnectionState.DISCONNECTED) {
58
- this._setConnectionState(_type.FcrChatConnectionState.DISCONNECTED);
59
- }
60
- });
61
43
  this._userId = _userId;
62
44
  this._api = _api;
63
45
  this._chatIpList = _chatIpList;
64
46
  this._restIpList = _restIpList;
47
+ this.logger.info(`Chat Version: easemob-websdk@${(0, _packageInfo.getDependenciesInfo)('easemob-websdk')}`);
65
48
  }
66
49
  async login() {
67
50
  const privateConfig = this._getPrivateConfig();
@@ -71,19 +54,22 @@ class FcrChatConnectionImpl {
71
54
  await (0, _imports.to)((0, _imports.retryAttempt)(async () => {
72
55
  const tokenResult = await this._api.getUserToken(this._userId);
73
56
  this._initConfig = tokenResult;
74
- const connParams = _objectSpread(_objectSpread(_objectSpread({}, _config.agoraChatConfig), privateConfig), {}, {
57
+ const connParams = {
58
+ ..._config.agoraChatConfig,
59
+ ...privateConfig,
75
60
  appKey: tokenResult.appKey,
76
- autoReconnectNumMax: 99999
77
- });
61
+ autoReconnectNumMax: 99999,
62
+ isFixedDeviceId: false
63
+ };
78
64
  _imports.EasemobChatSDK.logger.setConsoleLogVisibility(false);
79
65
  this._conn = new _imports.EasemobChatSDK.connection(connParams);
66
+ this._addEventListeners();
80
67
  await this._conn.open({
81
68
  accessToken: this._initConfig.token,
82
69
  user: this._userId
83
70
  });
84
- this.logger.info("onConnectionLoginSuccess, token: ".concat(this._initConfig.token, ", userId: ").concat(this._userId));
71
+ this.logger.info(`onConnectionLoginSuccess, token: ${this._initConfig.token}, userId: ${this._userId}`);
85
72
  this._observable.notifyObservers('onConnectionLoginSuccess');
86
- this._addEventListeners();
87
73
  }, [], {
88
74
  retriesMax: 3
89
75
  }).fail(async _ref => {
@@ -95,34 +81,44 @@ class FcrChatConnectionImpl {
95
81
  if (error instanceof _imports.AgoraRestfulClientError) {
96
82
  throw error;
97
83
  }
98
- this.logger.error("retry to login ChatConnection, ".concat(error.message, ",retry ").concat(currentRetry, " times"));
84
+ this.logger.error(`retry to login ChatConnection, ${error.message},retry ${currentRetry} times`);
99
85
  await timeFn();
100
86
  return true;
101
87
  }).exec());
102
88
  }
103
89
  _addEventListeners() {
104
- var _this$_conn;
105
- window.addEventListener('offline', this._offlineListener);
106
- (_this$_conn = this._conn) === null || _this$_conn === void 0 || _this$_conn.addEventHandler('connection', {
90
+ this._conn?.addEventHandler('connectionListener', {
107
91
  onError: e => {
108
92
  this.logger.error('onError', e.message);
109
93
  },
110
94
  onConnected: () => {
111
95
  this.logger.info('onConnected');
112
- this._setConnectionState(_type.FcrChatConnectionState.CONNECTED);
96
+ if (this._connectionState !== _type.FcrChatConnectionState.CONNECTED) {
97
+ this._setConnectionState(_type.FcrChatConnectionState.CONNECTED);
98
+ }
113
99
  },
114
100
  onDisconnected: () => {
115
101
  if (this._connectionState !== _type.FcrChatConnectionState.DISCONNECTED) {
116
102
  this.logger.info('onDisconnected');
117
103
  this._setConnectionState(_type.FcrChatConnectionState.DISCONNECTED);
118
104
  }
105
+ },
106
+ onOnline: () => {
107
+ this.logger.info('onOnline');
108
+ if (this._connectionState !== _type.FcrChatConnectionState.CONNECTED) {
109
+ this._setConnectionState(_type.FcrChatConnectionState.CONNECTED);
110
+ }
111
+ },
112
+ onOffline: () => {
113
+ if (this._connectionState !== _type.FcrChatConnectionState.DISCONNECTED) {
114
+ this.logger.info('onOffline');
115
+ this._setConnectionState(_type.FcrChatConnectionState.DISCONNECTED);
116
+ }
119
117
  }
120
118
  });
121
119
  }
122
120
  logout() {
123
- var _this$_conn2;
124
- window.removeEventListener('offline', this._offlineListener);
125
- (_this$_conn2 = this._conn) === null || _this$_conn2 === void 0 || _this$_conn2.close();
121
+ this._conn?.close();
126
122
  }
127
123
  _setConnectionState(state) {
128
124
  this._connectionState = state;
@@ -141,22 +137,18 @@ class FcrChatConnectionImpl {
141
137
  this._observable.removeObserver(observer);
142
138
  }
143
139
  _getPrivateConfig() {
144
- var _this$_chatIpList, _this$_restIpList;
145
- if ((_this$_chatIpList = this._chatIpList) !== null && _this$_chatIpList !== void 0 && _this$_chatIpList.length || (_this$_restIpList = this._restIpList) !== null && _this$_restIpList !== void 0 && _this$_restIpList.length) {
146
- var _this$_chatIpList2, _this$_restIpList2;
140
+ if (this._chatIpList?.length || this._restIpList?.length) {
147
141
  const privateConfig = {
148
142
  isHttpDNS: false
149
143
  };
150
- if ((_this$_chatIpList2 = this._chatIpList) !== null && _this$_chatIpList2 !== void 0 && _this$_chatIpList2.length) {
144
+ if (this._chatIpList?.length) {
151
145
  privateConfig.url = this._chatIpList[0];
152
146
  }
153
- if ((_this$_restIpList2 = this._restIpList) !== null && _this$_restIpList2 !== void 0 && _this$_restIpList2.length) {
147
+ if (this._restIpList?.length) {
154
148
  privateConfig.apiUrl = this._restIpList[0];
155
149
  }
156
150
  return privateConfig;
157
151
  }
158
152
  }
159
153
  }
160
- exports.FcrChatConnectionImpl = FcrChatConnectionImpl;
161
- _FcrChatConnectionImpl = FcrChatConnectionImpl;
162
- [_initProto] = _applyDecs(_FcrChatConnectionImpl, [[_imports.trace, 2, "login"], [_imports.trace, 2, "logout"]], []).e;
154
+ exports.FcrChatConnectionImpl = FcrChatConnectionImpl;
@@ -1,13 +1,6 @@
1
1
  "use strict";
2
2
 
3
- require("core-js/modules/es.symbol.description.js");
4
- require("core-js/modules/es.error.cause.js");
5
- require("core-js/modules/esnext.async-iterator.filter.js");
6
- require("core-js/modules/esnext.async-iterator.for-each.js");
7
3
  require("core-js/modules/esnext.function.metadata.js");
8
- require("core-js/modules/esnext.iterator.constructor.js");
9
- require("core-js/modules/esnext.iterator.filter.js");
10
- require("core-js/modules/esnext.iterator.for-each.js");
11
4
  require("core-js/modules/esnext.map.delete-all.js");
12
5
  require("core-js/modules/esnext.map.emplace.js");
13
6
  require("core-js/modules/esnext.map.every.js");
@@ -29,12 +22,8 @@ Object.defineProperty(exports, "__esModule", {
29
22
  });
30
23
  exports.FcrCoreEngine = void 0;
31
24
  require("core-js/modules/es.array.push.js");
32
- require("core-js/modules/es.json.stringify.js");
33
- require("core-js/modules/es.regexp.exec.js");
34
- require("core-js/modules/esnext.async-iterator.map.js");
25
+ require("core-js/modules/esnext.iterator.constructor.js");
35
26
  require("core-js/modules/esnext.iterator.map.js");
36
- require("core-js/modules/web.dom-collections.iterator.js");
37
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
38
27
  var _imports = require("../imports");
39
28
  var _api = require("../service/api");
40
29
  var _monitorControl = require("../monitor-control");
@@ -61,30 +50,46 @@ var _schema = require("../schema");
61
50
  var _error2 = require("agora-rte-sdk/lib/core/utilities/error");
62
51
  var _roomRouter = require("../room-router");
63
52
  var _sharedCache = require("../room-control/shared-cache");
64
- var _FcrCoreEngine;
65
- let _initProto, _createMainRoomControlDecs, _createWaitingRoomControlDecs, _createRoomRouterDecs, _createRoomControlAndJoinDecs, _sendPeerMessageDecs, _setParametersDecs, _ref;
66
- 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; }
67
- 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; }
53
+ let _initProto, _createMainRoomControlDecs, _createWaitingRoomControlDecs, _createRoomRouterDecs, _createRoomControlAndJoinDecs, _sendPeerMessageDecs, _setParametersDecs;
68
54
  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)]; } }; }
69
55
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
70
56
  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); }
71
57
  function _setFunctionName(e, t, n) { "symbol" == typeof t && (t = (t = t.description) ? "[" + t + "]" : ""); try { Object.defineProperty(e, "name", { configurable: !0, value: n ? n + " " + t : t }); } catch (e) {} return e; }
72
58
  function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? typeof e : "null")); return e; }
73
- _ref = (_createMainRoomControlDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringSchema)], _createWaitingRoomControlDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringSchema)], _createRoomRouterDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringSchema)], _createRoomControlAndJoinDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringSchema, _schema.fcrRoomJoinOptionsSchema)], _sendPeerMessageDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringKeyUnknownValueSchema, _schema.booleanSchema, _schema.stringSchema)], _setParametersDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringKeyUnknownValueSchema)], "logger");
74
59
  class FcrCoreEngine {
60
+ static #_ = (() => [_initProto] = _applyDecs(this, [[_imports.trace, 2, "release"], [_imports.trace, 2, "login"], [_imports.trace, 2, "logout"], [_imports.trace, 2, "renewUserToken"], [_imports.trace, 2, "getVersion"], [_createMainRoomControlDecs, 2, "createMainRoomControl"], [_createWaitingRoomControlDecs, 2, "createWaitingRoomControl"], [_createRoomRouterDecs, 2, "createRoomRouter"], [_createRoomControlAndJoinDecs, 2, "createRoomControlAndJoin"], [_imports.trace, 2, "getDesktopMediaControl"], [_imports.trace, 2, "getMobileMediaControl"], [_imports.trace, 2, "getMonitorControl"], [_imports.trace, 2, "getPeerSessionControl"], [_sendPeerMessageDecs, 2, "sendPeerMessage"], [_setParametersDecs, 2, "setParameters"]], []).e)();
61
+ // @internal
62
+ [(_createMainRoomControlDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringSchema)], _createWaitingRoomControlDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringSchema)], _createRoomRouterDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringSchema)], _createRoomControlAndJoinDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringSchema, _schema.fcrRoomJoinOptionsSchema)], _sendPeerMessageDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringKeyUnknownValueSchema, _schema.booleanSchema, _schema.stringSchema)], _setParametersDecs = [_imports.trace, (0, _validateParams.default)(_schema.stringKeyUnknownValueSchema)], "logger")] = (() => (_initProto(this), (0, _logger.createLogger)({
63
+ prefix: 'FcrCoreEngine'
64
+ })))();
65
+ // @internal
66
+
67
+ // @internal
68
+
69
+ // @internal
70
+
71
+ // @internal
72
+
73
+ // @internal
74
+
75
+ // @internal
76
+
77
+ // @internal
78
+
79
+ // @internal
80
+
81
+ // @internal
82
+
83
+ // @internal
84
+ _isLoggingIn = false;
85
+ // @internal
86
+ _sharedCache = (() => new _sharedCache.FcrSharedCache())();
87
+ // @internal
88
+ _lock = (() => new _imports.Mutex())();
89
+
90
+ // @internal
91
+ _observable = (() => new _imports.AgoraObservable())();
75
92
  constructor(config) {
76
- // @internal
77
- (0, _defineProperty2.default)(this, _ref, (_initProto(this), (0, _logger.createLogger)({
78
- prefix: 'FcrCoreEngine'
79
- })));
80
- // @internal
81
- (0, _defineProperty2.default)(this, "_isLoggingIn", false);
82
- // @internal
83
- (0, _defineProperty2.default)(this, "_sharedCache", new _sharedCache.FcrSharedCache());
84
- // @internal
85
- (0, _defineProperty2.default)(this, "_lock", new _imports.Mutex());
86
- // @internal
87
- (0, _defineProperty2.default)(this, "_observable", new _imports.AgoraObservable());
88
93
  this._config = config;
89
94
  (0, _domainHolder.resetSharedDomainHolder)();
90
95
  const parameters = this._presetParameters(config.parameters);
@@ -217,29 +222,27 @@ class FcrCoreEngine {
217
222
  } = this._rteEngine.getConfig();
218
223
  let roomControl = null;
219
224
  let [error] = await (0, _imports.to)((0, _imports.retryAttempt)(async () => {
220
- const res = await (0, _error.handleRequestError)(() => {
221
- var _options$createStream;
222
- return this._apiService.checkIn({
223
- userName: options.userName,
224
- userId,
225
- userRole: _type.FcrUserRoleToStringMap[options.userRole],
226
- userProperties: options.userProperties,
227
- roomId,
228
- platform: (0, _imports.getPlatform)(),
229
- streams: (_options$createStream = options.createStreamConfigs) === null || _options$createStream === void 0 ? void 0 : _options$createStream.map(s => _objectSpread(_objectSpread({
230
- videoSourceUuid: s.videoSourceId,
231
- audioSourceUuid: s.audioSourceId,
232
- streamName: s.streamName
233
- }, (0, _helper.convertStreamTypeToPublishState)(s.streamType)), {}, {
234
- videoSourceType: s.videoSourceType,
235
- audioSourceType: s.audioSourceType,
236
- audioSourceState: s.audioSourceState,
237
- videoSourceState: s.videoSourceState
238
- })),
239
- version: (0, _imports.getVersion)(),
240
- password: options.password
241
- });
242
- }, _error.FcrErrorModuleCode.ENGINE);
225
+ const res = await (0, _error.handleRequestError)(() => this._apiService.checkIn({
226
+ userName: options.userName,
227
+ userId,
228
+ userRole: _type.FcrUserRoleToStringMap[options.userRole],
229
+ userProperties: options.userProperties,
230
+ roomId,
231
+ platform: (0, _imports.getPlatform)(),
232
+ streams: options.createStreamConfigs?.map(s => ({
233
+ videoSourceUuid: s.videoSourceId,
234
+ audioSourceUuid: s.audioSourceId,
235
+ streamName: s.streamName,
236
+ ...(0, _helper.convertStreamTypeToPublishState)(s.streamType),
237
+ videoSourceType: s.videoSourceType,
238
+ audioSourceType: s.audioSourceType,
239
+ audioSourceState: s.audioSourceState,
240
+ videoSourceState: s.videoSourceState
241
+ })),
242
+ version: (0, _imports.getVersion)(),
243
+ password: options.password,
244
+ avatar: options.avatar
245
+ }), _error.FcrErrorModuleCode.ENGINE);
243
246
  const {
244
247
  data,
245
248
  ts
@@ -249,28 +252,29 @@ class FcrCoreEngine {
249
252
  } else {
250
253
  roomControl = this.createMainRoomControl(roomId);
251
254
  }
252
- await roomControl.join(_objectSpread(_objectSpread({}, options), {}, {
255
+ await roomControl.join({
256
+ ...options,
253
257
  snapshot: data,
254
258
  timestamp: ts,
255
259
  createStreamConfigs: data.room.roomProperties.roomType === _type2.FcrRoomType.Waitingroom ? [] : options.createStreamConfigs
256
- }));
260
+ });
257
261
  }, [], {
258
262
  retriesMax: 10
259
- }).fail(async _ref2 => {
263
+ }).fail(async _ref => {
260
264
  let {
261
265
  error,
262
266
  timeFn,
263
267
  currentRetry
264
- } = _ref2;
268
+ } = _ref;
265
269
  if ((error instanceof _error2.AgoraRteError || error instanceof _error.FcrError) && _error.RTE_ERROR_CODES_NOT_RETRYABLE_WHEN_JOINING_ROOM.includes(error.code)) {
266
270
  throw error;
267
271
  }
268
- this.logger.error("retry to join room, ".concat(error.message, ", retry ").concat(currentRetry, " times"));
272
+ this.logger.error(`retry to join room, ${error.message}, retry ${currentRetry} times`);
269
273
  await timeFn();
270
274
  return true;
271
275
  }).exec());
272
276
  if (error) {
273
- this.logger.error("join room failed, ".concat(error.message, "-").concat(JSON.stringify(error)));
277
+ this.logger.error(`join room failed, ${error.message}-${JSON.stringify(error)}`);
274
278
  throw error;
275
279
  }
276
280
  return roomControl;
@@ -315,7 +319,7 @@ class FcrCoreEngine {
315
319
  * @param receiverId
316
320
  */
317
321
  async sendPeerMessage(payload, guaranteedDelivery, receiverId) {
318
- await this._rteEngine.sendPeerMessage(payload, "".concat(_cmd.CMD_PEER_MESSAGE), guaranteedDelivery, receiverId);
322
+ await this._rteEngine.sendPeerMessage(payload, `${_cmd.CMD_PEER_MESSAGE}`, guaranteedDelivery, receiverId);
319
323
  }
320
324
 
321
325
  /**
@@ -374,7 +378,7 @@ class FcrCoreEngine {
374
378
  _setupCoreIpList(parameters) {
375
379
  const coreIpList = (0, _parameters.getCoreIpList)(parameters);
376
380
  if (coreIpList) {
377
- this.logger.info("setup fixed service domain list: ".concat(JSON.stringify(coreIpList)));
381
+ this.logger.info(`setup fixed service domain list: ${JSON.stringify(coreIpList)}`);
378
382
  (0, _domainHolder.resetSharedDomainHolder)();
379
383
  (0, _imports.getSharedDomainHolder)(this._config.region).setFixedDomainList(coreIpList);
380
384
  this._restfulClient = new _agoraRteSdk.AgoraRestfulClientImpl(this._rteEngine.getHttpAuthHeadersProvider(), (0, _imports.getSharedDomainHolder)(this._config.region));
@@ -385,8 +389,8 @@ class FcrCoreEngine {
385
389
  const chatIpList = (0, _parameters.getEasemobChatIpList)(parameters);
386
390
  const restIpList = (0, _parameters.getEasemobRestIpList)(parameters);
387
391
  if (chatIpList && restIpList) {
388
- this.logger.info("setup chat ip list: ".concat(JSON.stringify(chatIpList), ", rest ip list: ").concat(JSON.stringify(restIpList)));
389
- this._chatConnection = this._createChatConnection();
392
+ this.logger.info(`setup chat ip list: ${JSON.stringify(chatIpList)}, rest ip list: ${JSON.stringify(restIpList)}`);
393
+ this._chatConnection = this._createChatConnection(parameters);
390
394
  }
391
395
  }
392
396
  _createChatConnection(parameters) {
@@ -412,13 +416,11 @@ class FcrCoreEngine {
412
416
  return parametersList;
413
417
  }
414
418
  _getRtcPresetParameters() {
415
- let rtcPresetParameters = ['{\"che.video.videoCodecIndex\": 1}', '{\"rtc.video.new_complexity\": true}', '{\"rtc.video.default_complexity\": 1027}', '{\"rtc.video.enable_doc_screen_share_sr\":true}', '{\"rtc.video.enable_pvc\":false}', '{\"che.video.brightness_detection_enable\":false} ', '{\"che.audio.bitrate_level\":1}', '{\"rtc.video.downMaxRetryTimes\":5}'];
419
+ let rtcPresetParameters = ['{\"che.video.videoCodecIndex\": 1}', '{\"rtc.video.new_complexity\": true}', '{\"rtc.video.default_complexity\": 1027}', '{\"rtc.video.enable_doc_screen_share_sr\":true}', '{\"rtc.video.enable_pvc\":false}', '{\"che.video.brightness_detection_enable\":false} ', '{\"che.audio.bitrate_level\":1}', '{\"rtc.video.downMaxRetryTimes\":5}', '{\"che.video.vqc_min_width\": 1280}', '{\"che.video.vqc_min_height\": 720}', '{\"che.video.lowest_dev_score_4_seg\":0}'];
416
420
  if ((0, _imports.getPlatform)() == _imports.FcrApplicationPlatform.WINDOWS) {
417
421
  rtcPresetParameters.push('{\"engine.video.hw_decoder_provider\":\"qsv\"}', '{\"rtc.video.default_hw_decoder_thres\":921600}');
418
422
  }
419
423
  return rtcPresetParameters;
420
424
  }
421
425
  }
422
- exports.FcrCoreEngine = FcrCoreEngine;
423
- _FcrCoreEngine = FcrCoreEngine;
424
- [_initProto] = _applyDecs(_FcrCoreEngine, [[_imports.trace, 2, "release"], [_imports.trace, 2, "login"], [_imports.trace, 2, "logout"], [_imports.trace, 2, "renewUserToken"], [_imports.trace, 2, "getVersion"], [_createMainRoomControlDecs, 2, "createMainRoomControl"], [_createWaitingRoomControlDecs, 2, "createWaitingRoomControl"], [_createRoomRouterDecs, 2, "createRoomRouter"], [_createRoomControlAndJoinDecs, 2, "createRoomControlAndJoin"], [_imports.trace, 2, "getDesktopMediaControl"], [_imports.trace, 2, "getMobileMediaControl"], [_imports.trace, 2, "getMonitorControl"], [_imports.trace, 2, "getPeerSessionControl"], [_sendPeerMessageDecs, 2, "sendPeerMessage"], [_setParametersDecs, 2, "setParameters"]], []).e;
426
+ exports.FcrCoreEngine = FcrCoreEngine;
package/lib/imports.d.ts CHANGED
@@ -11,6 +11,11 @@ export { EasemobChat } from 'easemob-websdk';
11
11
  export { WhiteWebSdk, createPlugins } from 'white-web-sdk';
12
12
  export * as netlessVideoPlugin from '@netless/video-js-plugin';
13
13
  export { WindowManager } from '@netless/window-manager';
14
+ export { RTMProvider_2_2 as FcrRTMProvider_2_2 } from '@netless/forge-rtm';
15
+ export { Room as FcrRoom } from '@netless/forge-room';
16
+ export { WhiteboardApplication as FcrWhiteboardApplication } from '@netless/forge-whiteboard';
17
+ export type { ApplicationInstanceType as FcrApplicationInstanceType } from '@netless/forge-room';
18
+ export type { Whiteboard as FcrWhiteboard, WhiteboardToolType as FcrWhiteboardToolType, } from '@netless/forge-whiteboard';
14
19
  export { getLogger, createLogger } from 'agora-foundation/lib/logger';
15
20
  export { serializeArgs } from 'agora-foundation/lib/decorator/log/log-serializer';
16
21
  export { AgoraObservable } from 'agora-foundation/lib/utilities/observable';
@@ -28,6 +33,7 @@ export type { AgoraRteEngineObserver } from 'agora-rte-sdk/lib/type';
28
33
  export type { AgoraRteNetworkQualityEvent } from 'agora-rte-sdk/lib/core/scene/type';
29
34
  export type { AgoraRteOperatCause } from 'agora-rte-sdk/lib/core/processor/type';
30
35
  export type { AgoraRestfulClient } from 'agora-rte-sdk/lib/core/services/client';
36
+ export { AgoraRteError } from 'agora-rte-sdk/lib/core/utilities/error';
31
37
  export type { AgoraRteUserUpdatedReason as FcrUserUpdatedReason, AgoraRteUserPageParams, AgoraRteUserPageResponse, AgoraRteUserPropertiesDeletedEvent, AgoraRteUserPropertiesUpdatedEvent, AgoraRteUserInfo, AgoraRteSceneObserver, AgoraRteSnapshotInfo, AgoraRteEntryRoomResponse, AgoraRteMediaStreamEvent, } from 'agora-rte-sdk/lib/core/scene/type';
32
38
  export type AgoraRteMediaStreamCreateConfig = FcrMediaStreamCreateConfigSchema;
33
39
  export type AgoraRteStreamBindConfig = FcrStreamBindConfigSchema;
@@ -37,11 +43,12 @@ export type { AgoraRteAudioRawDataConfig, AgoraRteBeautyOptions, AgoraRteCameraP
37
43
  export type { AgoraRteMediaStreamInfo } from 'agora-rte-sdk/lib/core/processor/struct';
38
44
  export type { AgoraRteMonitor } from 'agora-rte-sdk/lib/core/monitor';
39
45
  export type { AgoraRteMediaControl } from 'agora-rte-sdk/lib/core/media';
46
+ export type { AgoraRteUpdateStreamPrivilege } from 'agora-rte-sdk/lib/core/scene/type';
40
47
  export { AgoraRteConnectionState, AgoraRteEngine, convertStreamTypeToPublishState, AgoraRteLatencyLevel, } from 'agora-rte-sdk';
41
48
  export { AgoraRteRoomConnectorType, AgoraRteStreamPrivilegeOperation, AgoraRteStreamPrivilegeVideoSourceType, AgoraRteStreamPrivilegeAudioSourceType, AgoraRteMediaStreamType, } from 'agora-rte-sdk/lib/core/scene/type';
42
49
  export { AgoraRtcRegion, AgoraRtcVideoSourceType, AgoraRtcAudioSourceType, AgoraRtcMediaSourceState, AgoraRtcRenderMode, AgoraRtcVideoStreamType, AgoraRtcCapability, AgoraRtcAiDenoiseLevel, AgoraRtcAudioOutputRouting, AgoraRtcLatencyLevelType, AgoraRtcEncryptionMode, } from 'agora-rte-sdk/lib/core/rtc/type';
43
50
  export { AgoraRtmRegion } from 'agora-rte-sdk/lib/core/rtm/type';
44
- export { AgoraRteRegion, AgoraRteAudioSourceType, AgoraRteVideoSourceType, } from 'agora-rte-sdk/lib/type';
51
+ export { AgoraRteRegion, AgoraRteAudioSourceType, AgoraRteVideoSourceType, AgoraRteMediaPublishState, AgoraRteScreenScenarioType as FcrScreenScenarioType, } from 'agora-rte-sdk/lib/type';
45
52
  export { AgoraRestfulClientError } from 'agora-rte-sdk/lib/core/services/client';
46
53
  export { getSharedDomainHolder } from 'agora-rte-sdk/lib/core/services/domain-holder';
47
54
  export { AgoraRteScreenCaptureType, AgoraRteVideoOrientation, } from 'agora-rte-sdk/lib/core/media/type';
package/lib/imports.js CHANGED
@@ -2,7 +2,6 @@
2
2
 
3
3
  require("core-js/modules/esnext.weak-map.delete-all.js");
4
4
  require("core-js/modules/esnext.weak-map.emplace.js");
5
- require("core-js/modules/web.dom-collections.iterator.js");
6
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
7
6
  Object.defineProperty(exports, "__esModule", {
8
7
  value: true
@@ -109,12 +108,24 @@ Object.defineProperty(exports, "AgoraRteEngine", {
109
108
  return _agoraRteSdk.AgoraRteEngine;
110
109
  }
111
110
  });
111
+ Object.defineProperty(exports, "AgoraRteError", {
112
+ enumerable: true,
113
+ get: function () {
114
+ return _error.AgoraRteError;
115
+ }
116
+ });
112
117
  Object.defineProperty(exports, "AgoraRteLatencyLevel", {
113
118
  enumerable: true,
114
119
  get: function () {
115
120
  return _agoraRteSdk.AgoraRteLatencyLevel;
116
121
  }
117
122
  });
123
+ Object.defineProperty(exports, "AgoraRteMediaPublishState", {
124
+ enumerable: true,
125
+ get: function () {
126
+ return _type4.AgoraRteMediaPublishState;
127
+ }
128
+ });
118
129
  Object.defineProperty(exports, "AgoraRteMediaStreamType", {
119
130
  enumerable: true,
120
131
  get: function () {
@@ -217,6 +228,30 @@ Object.defineProperty(exports, "FcrCoreEngine", {
217
228
  return _engine.FcrCoreEngine;
218
229
  }
219
230
  });
231
+ Object.defineProperty(exports, "FcrRTMProvider_2_2", {
232
+ enumerable: true,
233
+ get: function () {
234
+ return _forgeRtm.RTMProvider_2_2;
235
+ }
236
+ });
237
+ Object.defineProperty(exports, "FcrRoom", {
238
+ enumerable: true,
239
+ get: function () {
240
+ return _forgeRoom.Room;
241
+ }
242
+ });
243
+ Object.defineProperty(exports, "FcrScreenScenarioType", {
244
+ enumerable: true,
245
+ get: function () {
246
+ return _type4.AgoraRteScreenScenarioType;
247
+ }
248
+ });
249
+ Object.defineProperty(exports, "FcrWhiteboardApplication", {
250
+ enumerable: true,
251
+ get: function () {
252
+ return _forgeWhiteboard.WhiteboardApplication;
253
+ }
254
+ });
220
255
  Object.defineProperty(exports, "Mutex", {
221
256
  enumerable: true,
222
257
  get: function () {
@@ -451,6 +486,9 @@ var _whiteWebSdk = require("white-web-sdk");
451
486
  var _netlessVideoPlugin = _interopRequireWildcard(require("@netless/video-js-plugin"));
452
487
  exports.netlessVideoPlugin = _netlessVideoPlugin;
453
488
  var _windowManager = require("@netless/window-manager");
489
+ var _forgeRtm = require("@netless/forge-rtm");
490
+ var _forgeRoom = require("@netless/forge-room");
491
+ var _forgeWhiteboard = require("@netless/forge-whiteboard");
454
492
  var _logger = require("agora-foundation/lib/logger");
455
493
  var _logSerializer = require("agora-foundation/lib/decorator/log/log-serializer");
456
494
  var _observable = require("agora-foundation/lib/utilities/observable");
@@ -463,6 +501,7 @@ var _misc = require("agora-foundation/lib/utilities/misc");
463
501
  var _schema = require("agora-foundation/lib/utilities/schema");
464
502
  var _validate = require("agora-foundation/lib/decorator/validate");
465
503
  var _mutex = require("agora-foundation/lib/worker/mutex");
504
+ var _error = require("agora-rte-sdk/lib/core/utilities/error");
466
505
  var _agoraRteSdk = require("agora-rte-sdk");
467
506
  var _type = require("agora-rte-sdk/lib/core/scene/type");
468
507
  var _type2 = require("agora-rte-sdk/lib/core/rtc/type");
@@ -474,5 +513,4 @@ var _type5 = require("agora-rte-sdk/lib/core/media/type");
474
513
  var _plugin = require("agora-rte-sdk/lib/core/engine/plugin");
475
514
  var _engine = require("./engine");
476
515
  var _packageInfo = require("./utilities/package-info");
477
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
478
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
516
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
package/lib/index.d.ts CHANGED
@@ -1,23 +1,2 @@
1
- export { FcrUserRole, FcrStreamState } from './type';
2
- export { FcrPermissionAction, FcrPrivilegeUserRole } from './room-control/privilege-control/type';
3
- export type { FcrError } from './utilities/error';
4
- export type { FcrCoreEngineConfig, FcrDualVideoStreamConfig } from './type';
5
- export type { FcrDesktopMediaControl, FcrDesktopMediaObserver, FcrMobileMediaControl, FcrMobileMediaObserver, } from './media-control/type';
6
- export type { FcrMonitorControl, FcrMonitorObserver } from './monitor-control/type';
7
- export type { FcrBaseRoomControl, FcrRoomObserver } from './room-control/type';
8
- export type { FcrUserControl, FcrUserObserver } from './room-control/user-control/type';
9
- export type { FcrStreamControl, FcrStreamObserver } from './room-control/stream-control/type';
10
- export type { FcrPrivilegeControl, FcrPermission } from './room-control/privilege-control/type';
11
- export { AgoraRteLatencyLevel as FcrStreamLatencyLevel } from './imports';
12
- export { AgoraRteRegion as FcrRegion } from './imports';
13
- export { AgoraRteMediaStreamType as FcrStreamType } from './imports';
14
- export { AgoraRteUserUpdatedReason as FcrUserUpdatedReason } from './imports';
15
- export { AgoraRteRoomConnectorType as FcrRoomConnectorType } from './imports';
16
- export { AgoraRtcVideoSourceType as FcrVideoSourceType, AgoraRtcAudioSourceType as FcrAudioSourceType, AgoraRtcMediaSourceState as FcrMediaSourceState, } from './imports';
17
- export { AgoraRtcRenderMode as FcrVideoRenderMode } from './imports';
18
- export { AgoraRtcVideoStreamType as FcrVideoStreamType } from './imports';
19
- export { AgoraRtcCapability as FcrCapability } from './imports';
20
- export { AgoraRtcAiDenoiseLevel as FcrAiDenoiseLevel } from './imports';
21
- export { AgoraRteStreamPrivilegeOperation as FcrStreamPrivilegeOperation, AgoraRteStreamPrivilegeVideoSourceType as FcrStreamPrivilegeVideoSourceType, AgoraRteStreamPrivilegeAudioSourceType as FcrStreamPrivilegeAudioSourceType, } from './imports';
22
- export { AgoraRteConnectionState as FcrConnectionState } from './imports';
23
- export { FcrCoreEngine, registerPlugin } from './imports';
1
+ export type { FcrCoreEngineConfig, FcrDualVideoStreamConfig, FcrDesktopMediaControl, FcrDesktopMediaObserver, FcrMobileMediaControl, FcrMobileMediaObserver, FcrMonitorControl, FcrMonitorObserver, FcrBaseRoomControl, FcrRoomObserver, FcrUserControl, FcrUserObserver, FcrStreamControl, FcrStreamObserver, FcrPrivilegeControl, FcrPermission, FcrError, } from './type';
2
+ export { FcrStreamLatencyLevel, FcrPermissionAction, FcrPrivilegeUserRole, FcrUserRole, FcrStreamState, FcrRegion, FcrStreamType, FcrUserUpdatedReason, FcrRoomConnectorType, FcrVideoSourceType, FcrAudioSourceType, FcrMediaSourceState, FcrVideoRenderMode, FcrVideoStreamType, FcrCapability, FcrAiDenoiseLevel, FcrStreamPrivilegeOperation, FcrStreamPrivilegeVideoSourceType, FcrStreamPrivilegeAudioSourceType, FcrConnectionState, FcrCoreEngine, registerPlugin, } from './type';