fcr-core 3.7.9-alpha → 3.8.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 (111) hide show
  1. package/lib/chat-connection/index.d.ts +1 -1
  2. package/lib/chat-connection/index.js +1 -0
  3. package/lib/engine/index.js +6 -6
  4. package/lib/imports.d.ts +7 -2
  5. package/lib/imports.js +25 -4
  6. package/lib/index.d.ts +2 -2
  7. package/lib/index.js +12 -0
  8. package/lib/media-control/desktop.js +4 -4
  9. package/lib/media-control/mobile.js +20 -20
  10. package/lib/media-control/type.d.ts +8 -0
  11. package/lib/peer-session/index.js +1 -0
  12. package/lib/plugins/chatroom.js +19 -3
  13. package/lib/room-control/ability-control/type.d.ts +4 -1
  14. package/lib/room-control/ability-control/type.js +3 -0
  15. package/lib/room-control/helpers/constants.d.ts +4 -0
  16. package/lib/room-control/helpers/constants.js +5 -1
  17. package/lib/room-control/index.js +15 -4
  18. package/lib/room-control/interpreter-control/index.js +2 -4
  19. package/lib/room-control/mainroom-control/index.js +66 -1
  20. package/lib/room-control/privilege-control/index.js +43 -3
  21. package/lib/room-control/privilege-control/type.d.ts +57 -10
  22. package/lib/room-control/privilege-control/type.js +17 -0
  23. package/lib/room-control/room-control-factory.js +1 -1
  24. package/lib/room-control/room-session/index.js +24 -12
  25. package/lib/room-control/room-session/type.d.ts +2 -2
  26. package/lib/room-control/sharing-control/index.d.ts +5 -5
  27. package/lib/room-control/sharing-control/index.js +43 -13
  28. package/lib/room-control/sharing-control/type.d.ts +9 -5
  29. package/lib/room-control/sharing-control/type.js +6 -1
  30. package/lib/room-control/stream-control/index.d.ts +8 -1
  31. package/lib/room-control/stream-control/index.js +138 -36
  32. package/lib/room-control/stream-control/type.d.ts +6 -0
  33. package/lib/room-control/stt-control/de-compress-gzip.d.ts +1 -0
  34. package/lib/room-control/stt-control/de-compress-gzip.js +39 -0
  35. package/lib/room-control/stt-control/index.d.ts +1 -0
  36. package/lib/room-control/stt-control/index.js +350 -0
  37. package/lib/room-control/stt-control/type.d.ts +142 -0
  38. package/lib/room-control/stt-control/type.js +16 -0
  39. package/lib/room-control/type.d.ts +15 -0
  40. package/lib/room-control/type.js +13 -1
  41. package/lib/room-control/whiteboard-control/enum.d.ts +15 -0
  42. package/lib/room-control/whiteboard-control/{types.js → enum.js} +12 -1
  43. package/lib/room-control/whiteboard-control/type.d.ts +38 -0
  44. package/lib/room-control/whiteboard-control/type.js +15 -0
  45. package/lib/room-control/whiteboard-control/utils.d.ts +3 -0
  46. package/lib/room-control/whiteboard-control/utils.js +21 -0
  47. package/lib/room-control/whiteboard-control-v1/board-subwindow.d.ts +6 -0
  48. package/lib/room-control/whiteboard-control-v1/board-subwindow.js +25 -0
  49. package/lib/room-control/whiteboard-control-v1/board-window.d.ts +58 -0
  50. package/lib/room-control/whiteboard-control-v1/board-window.js +560 -0
  51. package/lib/room-control/{whiteboard-control/enums.d.ts → whiteboard-control-v1/enum.d.ts} +3 -17
  52. package/lib/room-control/{whiteboard-control/enums.js → whiteboard-control-v1/enum.js} +3 -20
  53. package/lib/room-control/whiteboard-control-v1/factory.d.ts +9 -0
  54. package/lib/room-control/whiteboard-control-v1/factory.js +19 -0
  55. package/lib/room-control/whiteboard-control-v1/index.d.ts +1 -0
  56. package/lib/room-control/whiteboard-control-v1/index.js +428 -0
  57. package/lib/room-control/whiteboard-control-v1/mount-manager.d.ts +4 -0
  58. package/lib/room-control/whiteboard-control-v1/mount-manager.js +13 -0
  59. package/lib/room-control/whiteboard-control-v1/type.d.ts +300 -0
  60. package/lib/room-control/whiteboard-control-v1/type.js +13 -0
  61. package/lib/room-control/whiteboard-control-v1/utils.d.ts +53 -0
  62. package/lib/room-control/whiteboard-control-v1/utils.js +287 -0
  63. package/lib/room-control/whiteboard-control-v2/annotation-control/control.d.ts +17 -31
  64. package/lib/room-control/whiteboard-control-v2/annotation-control/control.js +39 -227
  65. package/lib/room-control/whiteboard-control-v2/annotation-control/factory.d.ts +10 -0
  66. package/lib/room-control/whiteboard-control-v2/annotation-control/factory.js +43 -0
  67. package/lib/room-control/whiteboard-control-v2/annotation-control/type.d.ts +11 -19
  68. package/lib/room-control/whiteboard-control-v2/annotation-control/type.js +1 -3
  69. package/lib/room-control/whiteboard-control-v2/base/index.d.ts +42 -0
  70. package/lib/room-control/whiteboard-control-v2/base/index.js +310 -0
  71. package/lib/room-control/whiteboard-control-v2/{main-window.d.ts → base/main-window.d.ts} +6 -4
  72. package/lib/room-control/whiteboard-control-v2/{main-window.js → base/main-window.js} +31 -18
  73. package/lib/room-control/whiteboard-control-v2/constant.d.ts +6 -0
  74. package/lib/room-control/whiteboard-control-v2/constant.js +15 -0
  75. package/lib/room-control/whiteboard-control-v2/enum.d.ts +26 -0
  76. package/lib/room-control/whiteboard-control-v2/enum.js +34 -0
  77. package/lib/room-control/{whiteboard-control/types.d.ts → whiteboard-control-v2/type.d.ts} +51 -165
  78. package/lib/room-control/whiteboard-control-v2/type.js +5 -0
  79. package/lib/room-control/whiteboard-control-v2/utils.d.ts +5 -4
  80. package/lib/room-control/whiteboard-control-v2/utils.js +22 -21
  81. package/lib/room-control/whiteboard-control-v2/whiteboard-control/control.d.ts +33 -33
  82. package/lib/room-control/whiteboard-control-v2/whiteboard-control/control.js +118 -185
  83. package/lib/room-control/whiteboard-control-v2/whiteboard-control/factory.d.ts +11 -0
  84. package/lib/room-control/whiteboard-control-v2/{annotation-control/index.js → whiteboard-control/factory.js} +30 -35
  85. package/lib/room-control/whiteboard-control-v2/whiteboard-control/type.d.ts +18 -30
  86. package/lib/room-control/whiteboard-control-v2/whiteboard-control/type.js +1 -9
  87. package/lib/room-router/index.js +4 -0
  88. package/lib/schema.d.ts +23 -9
  89. package/lib/schema.js +10 -4
  90. package/lib/service/api.d.ts +75 -19
  91. package/lib/service/api.js +171 -1
  92. package/lib/type.d.ts +15 -2
  93. package/lib/type.js +13 -0
  94. package/lib/utilities/error-helpers.d.ts +2 -1
  95. package/lib/utilities/error-helpers.js +1 -0
  96. package/lib/utilities/error.d.ts +1 -0
  97. package/lib/utilities/error.js +1 -0
  98. package/lib/utilities/logger.d.ts +2 -2
  99. package/lib/utilities/shared-storage.d.ts +3 -1
  100. package/lib/utilities/shared-storage.js +10 -1
  101. package/lib/utilities/storage.js +1 -0
  102. package/package.json +12 -6
  103. package/lib/room-control/whiteboard-control-v2/annotation-control/index.d.ts +0 -19
  104. package/lib/room-control/whiteboard-control-v2/annotation-control/privilege-control.d.ts +0 -36
  105. package/lib/room-control/whiteboard-control-v2/annotation-control/privilege-control.js +0 -252
  106. package/lib/room-control/whiteboard-control-v2/index.d.ts +0 -38
  107. package/lib/room-control/whiteboard-control-v2/index.js +0 -274
  108. package/lib/room-control/whiteboard-control-v2/whiteboard-control/index.d.ts +0 -17
  109. package/lib/room-control/whiteboard-control-v2/whiteboard-control/index.js +0 -30
  110. package/lib/room-control/whiteboard-control-v2/whiteboard-control/privilege-control.d.ts +0 -36
  111. package/lib/room-control/whiteboard-control-v2/whiteboard-control/privilege-control.js +0 -240
@@ -6,7 +6,7 @@ export declare class FcrChatConnectionImpl implements FcrChatConnection {
6
6
  private _api;
7
7
  private _chatIpList?;
8
8
  private _restIpList?;
9
- protected logger: import("agora-foundation/lib/logger").Logger;
9
+ protected logger: import("agora-foundation/lib/logger/type").Logger;
10
10
  private _observable;
11
11
  private _initConfig?;
12
12
  private _conn?;
@@ -21,6 +21,7 @@ Object.defineProperty(exports, "__esModule", {
21
21
  value: true
22
22
  });
23
23
  exports.FcrChatConnectionImpl = void 0;
24
+ require("core-js/modules/es.json.stringify.js");
24
25
  var _imports = require("../imports");
25
26
  var _type = require("./type");
26
27
  var _config = require("./config");
@@ -22,6 +22,7 @@ Object.defineProperty(exports, "__esModule", {
22
22
  });
23
23
  exports.FcrCoreEngine = void 0;
24
24
  require("core-js/modules/es.array.push.js");
25
+ require("core-js/modules/es.json.stringify.js");
25
26
  require("core-js/modules/esnext.iterator.constructor.js");
26
27
  require("core-js/modules/esnext.iterator.map.js");
27
28
  var _imports = require("../imports");
@@ -88,7 +89,6 @@ class FcrCoreEngine {
88
89
  _sharedCache = new _sharedCache.FcrSharedCache();
89
90
  // @internal
90
91
  _lock = new _imports.Mutex();
91
-
92
92
  // @internal
93
93
  _observable = new _imports.AgoraObservable();
94
94
  constructor(config) {
@@ -99,7 +99,7 @@ class FcrCoreEngine {
99
99
  this._rteEngine = new _imports.AgoraRteEngine({
100
100
  appId: config.appId,
101
101
  userId: config.userId,
102
- token: config.token,
102
+ userToken: config.token,
103
103
  rteRegion: config.region,
104
104
  rtcRegion: _imports.AgoraRtcRegion.AREA_GLOBAL,
105
105
  rtmRegion: _imports.AgoraRtmRegion.AREA_GLOBAL,
@@ -111,7 +111,7 @@ class FcrCoreEngine {
111
111
  dualScreenVideoStreamConfig: config.dualScreenVideoStreamConfig,
112
112
  parameters: parameters
113
113
  });
114
- this._restfulClient = new _agoraRteSdk.AgoraRestfulClientImpl(this._rteEngine.getHttpAuthHeadersProvider(), (0, _imports.getSharedDomainHolder)(config.region));
114
+ this._restfulClient = new _agoraRteSdk.AgoraRestfulClientImpl(this._rteEngine.getHttpAuthHeadersProvider(), (0, _imports.getSharedDomainHolder)(config.region), this._rteEngine.getRequestScheduler());
115
115
  this._apiService = new _api.FcrCoreServiceApi(this._restfulClient, config.appId, config.region, !(0, _parameters.isEndpointRegionDisabled)(config.parameters));
116
116
 
117
117
  // cannot be lazy loaded, because all the observers should be added before the engine is started
@@ -197,7 +197,7 @@ class FcrCoreEngine {
197
197
  const scene = this._rteEngine.createScene({
198
198
  sceneId: roomId
199
199
  });
200
- return new _mainroomControl.FcrMainRoomControlImpl(this._rteEngine, scene, this._apiService, this._config, this._sharedCache, this._chatConnection, new _chatroom.FcrChatRoomControlImpl(scene, this._chatConnection, this._sharedCache));
200
+ return new _mainroomControl.FcrMainRoomControlImpl(this._rteEngine, scene, this._apiService, this._config, this._sharedCache, this._chatConnection, new _chatroom.FcrChatRoomControlImpl(scene, this._chatConnection, this._sharedCache, false));
201
201
  }
202
202
 
203
203
  /**
@@ -209,7 +209,7 @@ class FcrCoreEngine {
209
209
  const scene = this._rteEngine.createScene({
210
210
  sceneId: roomId
211
211
  });
212
- return new _waitingroomControl.FcrWaitingRoomControlImpl(this._rteEngine, scene, this._apiService, this._config, this._sharedCache, this._chatConnection, new _chatroom.FcrChatRoomControlImpl(scene, this._chatConnection, this._sharedCache));
212
+ return new _waitingroomControl.FcrWaitingRoomControlImpl(this._rteEngine, scene, this._apiService, this._config, this._sharedCache, this._chatConnection, new _chatroom.FcrChatRoomControlImpl(scene, this._chatConnection, this._sharedCache, false));
213
213
  }
214
214
 
215
215
  /**
@@ -391,7 +391,7 @@ class FcrCoreEngine {
391
391
  this.logger.info(`setup fixed service domain list: ${JSON.stringify(coreIpList)}`);
392
392
  (0, _domainHolder.resetSharedDomainHolder)();
393
393
  (0, _imports.getSharedDomainHolder)(this._config.region).setFixedDomainList(coreIpList);
394
- this._restfulClient = new _agoraRteSdk.AgoraRestfulClientImpl(this._rteEngine.getHttpAuthHeadersProvider(), (0, _imports.getSharedDomainHolder)(this._config.region));
394
+ this._restfulClient = new _agoraRteSdk.AgoraRestfulClientImpl(this._rteEngine.getHttpAuthHeadersProvider(), (0, _imports.getSharedDomainHolder)(this._config.region), this._rteEngine.getRequestScheduler());
395
395
  this._apiService.setRestfulClient(this._restfulClient);
396
396
  }
397
397
  }
package/lib/imports.d.ts CHANGED
@@ -16,6 +16,7 @@ export type { Whiteboard as FcrWhiteboard, WhiteboardToolType as FcrWhiteboardTo
16
16
  export { WhiteboardPermissionFlag as FcrWhiteboardPermissionFlag } from '@netless/forge-whiteboard';
17
17
  export type { JoinRoomOptions as FcrJoinRoomOptions } from '@netless/forge-room';
18
18
  export { getLogger, createLogger } from 'agora-foundation/lib/logger';
19
+ export type { Logger } from 'agora-foundation/lib/logger';
19
20
  export { serializeArgs } from 'agora-foundation/lib/decorator/log/log-serializer';
20
21
  export { AgoraObservable } from 'agora-foundation/lib/utilities/observable';
21
22
  export { retryAttempt } from 'agora-foundation/lib/utilities/async-retry';
@@ -28,6 +29,7 @@ export { z, ZodError, anySchema, booleanSchema, numberSchema, stringSchema, fcrR
28
29
  export { validateParams } from 'agora-foundation/lib/decorator/validate';
29
30
  export { Mutex } from 'agora-foundation/lib/worker/mutex';
30
31
  export type { AgoraRtcNetworkStats, AgoraRtcDeviceInfo, AgoraRtcDisplayInfo, AgoraRtcWindowInfo, AgoraRtePerformanceInfo, AgoraRteScenePropertiesDeletedEvent, AgoraRteStreamEncryptionConfig, AgoraRteStreamJoinConfig, AgoraRteDualVideoStreamConfig, AgoraRteMessage, AgoraRteScenePropertiesUpdatedEvent, AgoraRteRenderView, AgoraRteScene, } from 'agora-rte-sdk';
32
+ export type { AgoraRtmClient } from 'agora-rte-sdk/lib/core/rtm/client';
31
33
  export type { AgoraRteEngineObserver } from 'agora-rte-sdk/lib/type';
32
34
  export type { AgoraRteNetworkQualityEvent } from 'agora-rte-sdk/lib/core/scene/type';
33
35
  export type { AgoraRteOperatCause } from 'agora-rte-sdk/lib/core/processor/type';
@@ -55,9 +57,12 @@ export { registerPlugin } from 'agora-rte-sdk/lib/core/engine/plugin';
55
57
  export { AgoraRteUserUpdatedReason } from 'agora-rte-sdk/lib/core/scene/type';
56
58
  export type { AgoraRteUploadEvent } from 'agora-rte-sdk/lib/core/monitor/type';
57
59
  export { FcrCoreEngine } from './engine';
58
- export { FcrWhiteboardControlFactoryImpl } from './room-control/whiteboard-control-v2/whiteboard-control';
59
- export { FcrAnnotationControlFactoryImpl } from './room-control/whiteboard-control-v2/annotation-control';
60
+ export { FcrWhiteboardControlFactoryImpl } from './room-control/whiteboard-control-v2/whiteboard-control/factory';
61
+ export { FcrAnnotationControlFactoryImpl } from './room-control/whiteboard-control-v2/annotation-control/factory';
62
+ export { deCompressGzipToJson } from './room-control/stt-control/de-compress-gzip';
60
63
  export type FcrImageData = ImageData;
61
64
  export type FcrWhiteboardView = HTMLElement;
62
65
  export { getVersion } from './utilities/package-info';
63
66
  export declare const localStorage: Storage;
67
+ export { v4 } from 'uuid';
68
+ export { default as merge } from 'lodash/merge';
package/lib/imports.js CHANGED
@@ -225,7 +225,7 @@ Object.defineProperty(exports, "EasemobChatSDK", {
225
225
  Object.defineProperty(exports, "FcrAnnotationControlFactoryImpl", {
226
226
  enumerable: true,
227
227
  get: function () {
228
- return _annotationControl.FcrAnnotationControlFactoryImpl;
228
+ return _factory2.FcrAnnotationControlFactoryImpl;
229
229
  }
230
230
  });
231
231
  Object.defineProperty(exports, "FcrApplicationPlatform", {
@@ -273,7 +273,7 @@ Object.defineProperty(exports, "FcrWhiteboardApplication", {
273
273
  Object.defineProperty(exports, "FcrWhiteboardControlFactoryImpl", {
274
274
  enumerable: true,
275
275
  get: function () {
276
- return _whiteboardControl.FcrWhiteboardControlFactoryImpl;
276
+ return _factory.FcrWhiteboardControlFactoryImpl;
277
277
  }
278
278
  });
279
279
  Object.defineProperty(exports, "FcrWhiteboardPermissionFlag", {
@@ -342,6 +342,12 @@ Object.defineProperty(exports, "createUnionSchema", {
342
342
  return _schema.createUnionSchema;
343
343
  }
344
344
  });
345
+ Object.defineProperty(exports, "deCompressGzipToJson", {
346
+ enumerable: true,
347
+ get: function () {
348
+ return _deCompressGzip.deCompressGzipToJson;
349
+ }
350
+ });
345
351
  Object.defineProperty(exports, "fcrRenderViewSchema", {
346
352
  enumerable: true,
347
353
  get: function () {
@@ -391,6 +397,12 @@ Object.defineProperty(exports, "md5", {
391
397
  return _jsMd.md5;
392
398
  }
393
399
  });
400
+ Object.defineProperty(exports, "merge", {
401
+ enumerable: true,
402
+ get: function () {
403
+ return _merge.default;
404
+ }
405
+ });
394
406
  Object.defineProperty(exports, "numberSchema", {
395
407
  enumerable: true,
396
408
  get: function () {
@@ -475,6 +487,12 @@ Object.defineProperty(exports, "unknownSchema", {
475
487
  return _schema.unknownSchema;
476
488
  }
477
489
  });
490
+ Object.defineProperty(exports, "v4", {
491
+ enumerable: true,
492
+ get: function () {
493
+ return _uuid.v4;
494
+ }
495
+ });
478
496
  Object.defineProperty(exports, "validateParams", {
479
497
  enumerable: true,
480
498
  get: function () {
@@ -521,9 +539,12 @@ var _domainHolder = require("agora-rte-sdk/lib/core/services/domain-holder");
521
539
  var _type5 = require("agora-rte-sdk/lib/core/media/type");
522
540
  var _plugin = require("agora-rte-sdk/lib/core/engine/plugin");
523
541
  var _engine = require("./engine");
524
- var _whiteboardControl = require("./room-control/whiteboard-control-v2/whiteboard-control");
525
- var _annotationControl = require("./room-control/whiteboard-control-v2/annotation-control");
542
+ var _factory = require("./room-control/whiteboard-control-v2/whiteboard-control/factory");
543
+ var _factory2 = require("./room-control/whiteboard-control-v2/annotation-control/factory");
544
+ var _deCompressGzip = require("./room-control/stt-control/de-compress-gzip");
526
545
  var _packageInfo = require("./utilities/package-info");
546
+ var _uuid = require("uuid");
547
+ var _merge = _interopRequireDefault(require("lodash/merge"));
527
548
  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); }
528
549
  // Other utility exports
529
550
 
package/lib/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export type { FcrCoreEngineConfig, FcrDualVideoStreamConfig, FcrDesktopMediaControl, FcrDesktopMediaObserver, FcrMobileMediaControl, FcrMobileMediaObserver, FcrMonitorControl, FcrMonitorObserver, FcrBaseRoomControl, FcrRoomObserver, FcrUserControl, FcrUserObserver, FcrStreamControl, FcrStreamObserver, FcrPrivilegeControl, FcrPermission, } 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';
1
+ export type { FcrCoreEngineConfig, FcrDualVideoStreamConfig, FcrDesktopMediaControl, FcrDesktopMediaObserver, FcrMobileMediaControl, FcrMobileMediaObserver, FcrMonitorControl, FcrMonitorObserver, FcrBaseRoomControl, FcrRoomObserver, FcrUserControl, FcrUserObserver, FcrStreamControl, FcrStreamObserver, FcrPrivilegeControl, FcrPermission, FcrBoardMainWindow, FcrBoardMainWindowObserver, FcrColor, } 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, FcrBoardToolType, FcrBoardShape, } from './type';
3
3
  export { FcrError } from './type';
package/lib/index.js CHANGED
@@ -15,6 +15,18 @@ Object.defineProperty(exports, "FcrAudioSourceType", {
15
15
  return _type.FcrAudioSourceType;
16
16
  }
17
17
  });
18
+ Object.defineProperty(exports, "FcrBoardShape", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _type.FcrBoardShape;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "FcrBoardToolType", {
25
+ enumerable: true,
26
+ get: function () {
27
+ return _type.FcrBoardToolType;
28
+ }
29
+ });
18
30
  Object.defineProperty(exports, "FcrCapability", {
19
31
  enumerable: true,
20
32
  get: function () {
@@ -118,22 +118,22 @@ class FcrDesktopMediaControlImpl {
118
118
  return this._mediaControl.getDisplayList();
119
119
  }
120
120
  getCameraTrack(deviceId) {
121
- const track = this._mediaControl.getCameraVideoTrack(deviceId);
121
+ const track = this._mediaControl.getCameraTrack(deviceId);
122
122
  track.addObserver(this._cameraLogObserver);
123
123
  return track;
124
124
  }
125
125
  getMicrophoneTrack(deviceId) {
126
- const track = this._mediaControl.getMicrophoneAudioTrack(deviceId);
126
+ const track = this._mediaControl.getMicrophoneTrack(deviceId);
127
127
  track.addObserver(this._microphoneLogObserver);
128
128
  return track;
129
129
  }
130
130
  getScreenTrack(sourceId) {
131
- const track = this._mediaControl.getScreenVideoTrack(sourceId);
131
+ const track = this._mediaControl.getScreenTrack(sourceId);
132
132
  track.addObserver(this._screenLogObserver);
133
133
  return track;
134
134
  }
135
135
  getLoopbackTrack(sourceId) {
136
- const track = this._mediaControl.getLoopbackAudioTrack(sourceId);
136
+ const track = this._mediaControl.getLoopbackTrack(sourceId);
137
137
  track.addObserver(this._loopbackLogObserver);
138
138
  return track;
139
139
  }
@@ -50,12 +50,12 @@ class FcrMobileMediaControlImpl {
50
50
  _loopbackDeviceName = undefined;
51
51
  constructor(mediaControl) {
52
52
  this._mediaControl = mediaControl;
53
- this._mediaControl.getCameraVideoTrack(this._cameraDeviceName).addObserver({
53
+ this._mediaControl.getCameraTrack(this._cameraDeviceName).addObserver({
54
54
  onCameraStateUpdated: (deviceId, state) => {
55
55
  this._observable.notifyObservers('onCameraStateUpdated', state);
56
56
  }
57
57
  });
58
- this._mediaControl.getMicrophoneAudioTrack(this._microphoneDeviceName).addObserver({
58
+ this._mediaControl.getMicrophoneTrack(this._microphoneDeviceName).addObserver({
59
59
  onMicrophoneStateUpdated: (deviceId, state) => {
60
60
  this._observable.notifyObservers('onMicrophoneStateUpdated', state);
61
61
  },
@@ -63,7 +63,7 @@ class FcrMobileMediaControlImpl {
63
63
  this._observable.notifyObservers('onMicrophoneVolumeIndicationUpdated', volume);
64
64
  }
65
65
  });
66
- this._mediaControl.getScreenVideoTrack(this._screenDeviceName).addObserver({
66
+ this._mediaControl.getScreenTrack(this._screenDeviceName).addObserver({
67
67
  onScreenCaptureStateUpdated: (sourceId, state) => {
68
68
  this._observable.notifyObservers('onScreenCaptureStateUpdated', state);
69
69
  }
@@ -99,45 +99,45 @@ class FcrMobileMediaControlImpl {
99
99
  getDeviceState(deviceType) {
100
100
  switch (deviceType) {
101
101
  case _type.FcrDeviceType.Camera:
102
- return this._mediaControl.getCameraVideoTrack(this._cameraDeviceName).getState();
102
+ return this._mediaControl.getCameraTrack(this._cameraDeviceName).getState();
103
103
  case _type.FcrDeviceType.Microphone:
104
- return this._mediaControl.getMicrophoneAudioTrack(this._microphoneDeviceName).getState();
104
+ return this._mediaControl.getMicrophoneTrack(this._microphoneDeviceName).getState();
105
105
  default:
106
106
  return _type.FcrMediaSourceState.CLOSE;
107
107
  }
108
108
  }
109
109
  startCameraTest() {
110
- this._mediaControl.getCameraVideoTrack(this._cameraDeviceName).startTest();
110
+ this._mediaControl.getCameraTrack(this._cameraDeviceName).startTest();
111
111
  }
112
112
  stopCameraTest() {
113
- this._mediaControl.getCameraVideoTrack(this._cameraDeviceName).startTest();
113
+ this._mediaControl.getCameraTrack(this._cameraDeviceName).startTest();
114
114
  }
115
115
  startCameraPreview(view, config) {
116
- this._mediaControl.getCameraVideoTrack(this._cameraDeviceName).startPreview(config, view);
116
+ this._mediaControl.getCameraTrack(this._cameraDeviceName).startPreview(config, view);
117
117
  }
118
118
  stopCameraPreview(view) {
119
- this._mediaControl.getCameraVideoTrack(this._cameraDeviceName).stopPreview(view);
119
+ this._mediaControl.getCameraTrack(this._cameraDeviceName).stopPreview(view);
120
120
  }
121
121
  stopCameraPreviewOnAllCanvas() {
122
122
  throw new Error('Method not implemented.');
123
123
  }
124
124
  startScreenCapture(excludeWindowList) {
125
- this._mediaControl.getScreenVideoTrack(this._screenDeviceName).start(_imports.AgoraRteScreenCaptureType.SCREEN, excludeWindowList);
125
+ this._mediaControl.getScreenTrack(this._screenDeviceName).start(_imports.AgoraRteScreenCaptureType.SCREEN, excludeWindowList);
126
126
  }
127
127
  stopScreenCapture() {
128
- this._mediaControl.getScreenVideoTrack(this._screenDeviceName).stop();
128
+ this._mediaControl.getScreenTrack(this._screenDeviceName).stop();
129
129
  }
130
130
  getScreenCaptureState() {
131
- return this._mediaControl.getScreenVideoTrack(this._screenDeviceName).getState();
131
+ return this._mediaControl.getScreenTrack(this._screenDeviceName).getState();
132
132
  }
133
133
  startLoopbackRecording() {
134
- this._mediaControl.getLoopbackAudioTrack(this._loopbackDeviceName).start();
134
+ this._mediaControl.getLoopbackTrack(this._loopbackDeviceName).start();
135
135
  }
136
136
  stopLoopbackRecording() {
137
- this._mediaControl.getLoopbackAudioTrack(this._loopbackDeviceName).stop();
137
+ this._mediaControl.getLoopbackTrack(this._loopbackDeviceName).stop();
138
138
  }
139
139
  getLoopbackRecordingState() {
140
- return this._mediaControl.getLoopbackAudioTrack(this._loopbackDeviceName).getState();
140
+ return this._mediaControl.getLoopbackTrack(this._loopbackDeviceName).getState();
141
141
  }
142
142
  enableSpeaker(enable) {
143
143
  this._mediaControl.setEnableSpeaker(enable);
@@ -174,17 +174,17 @@ class FcrMobileMediaControlImpl {
174
174
  }
175
175
  }
176
176
  switchCamera() {
177
- this._mediaControl.getCameraVideoTrack(this._cameraDeviceName).switchPosition();
178
- return this._mediaControl.getCameraVideoTrack(this._cameraDeviceName).getPosition();
177
+ this._mediaControl.getCameraTrack(this._cameraDeviceName).switchPosition();
178
+ return this._mediaControl.getCameraTrack(this._cameraDeviceName).getPosition();
179
179
  }
180
180
  getCameraPosition() {
181
- return this._mediaControl.getCameraVideoTrack(this._cameraDeviceName).getPosition();
181
+ return this._mediaControl.getCameraTrack(this._cameraDeviceName).getPosition();
182
182
  }
183
183
  getCameraTrack(deviceId) {
184
- return this._mediaControl.getCameraVideoTrack(deviceId);
184
+ return this._mediaControl.getCameraTrack(deviceId);
185
185
  }
186
186
  getMicrophoneTrack(deviceId) {
187
- return this._mediaControl.getMicrophoneAudioTrack(deviceId);
187
+ return this._mediaControl.getMicrophoneTrack(deviceId);
188
188
  }
189
189
  isCapabilitySupported(capability) {
190
190
  return this._mediaControl.isCapabilitySupported(capability);
@@ -163,6 +163,14 @@ export interface FcrAudioEffectEnhancer {
163
163
  * Disables original sound mode for the audio track.
164
164
  */
165
165
  disableOriginalSoundMode(): void;
166
+ /**
167
+ * Enables AGC for the audio track.
168
+ */
169
+ enableAGC(): void;
170
+ /**
171
+ * Disables AGC for the audio track.
172
+ */
173
+ disableAGC(): void;
166
174
  }
167
175
  export interface FcrVideoEffectEnhancer {
168
176
  /**
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
10
  exports.FcrPeerSessionControlImpl = void 0;
11
+ require("core-js/modules/es.json.stringify.js");
11
12
  require("core-js/modules/esnext.map.delete-all.js");
12
13
  require("core-js/modules/esnext.map.emplace.js");
13
14
  require("core-js/modules/esnext.map.every.js");
@@ -52,6 +52,10 @@ class FcrChatRoomControlImpl {
52
52
  }));
53
53
  _observable = new _observable.AgoraObservable();
54
54
  _connectionState = _type.FcrChatRoomConnectionState.Disconnected;
55
+ _sceneObserver = {
56
+ onJoinSceneSuccess: () => this._handleJoinSceneSuccess(),
57
+ onJoinSceneFailure: () => this._handleJoinSceneFailure()
58
+ };
55
59
  _chatConnectionObserver = {
56
60
  onConnectionStateUpdated: async state => {
57
61
  // im reconnect
@@ -75,13 +79,16 @@ class FcrChatRoomControlImpl {
75
79
  return this._chatConnection.getConnectionInstance();
76
80
  }
77
81
  get chatRoomId() {
82
+ if (!this._joinSceneSuccess) {
83
+ return '';
84
+ }
78
85
  return this._scene.getScenePropertiesByKeyPath('widgets.easemobIM.extra.chatRoomId');
79
86
  }
80
- constructor(_scene, _chatConnection, _sharedCache) {
87
+ constructor(_scene, _chatConnection, sharedCache, joinSceneSuccess) {
81
88
  this._scene = _scene;
82
89
  this._chatConnection = _chatConnection;
83
- this._sharedCache = _sharedCache;
84
- this._roomCache = _sharedCache.getRoomCache(_scene.sceneId);
90
+ this._roomCache = sharedCache.getRoomCache(_scene.sceneId);
91
+ this._joinSceneSuccess = joinSceneSuccess;
85
92
  this._addLogObserver();
86
93
  this._chatConnection.addObserver(this._chatConnectionObserver);
87
94
  if (this._chatConnection.getConnectionInstance()) {
@@ -145,10 +152,12 @@ class FcrChatRoomControlImpl {
145
152
  }
146
153
  };
147
154
  _removeEventListener() {
155
+ this._scene.removeObserver(this._sceneObserver);
148
156
  this.conn.removeEventHandler(`chatroom${this._scene.sceneId}`);
149
157
  }
150
158
  _addEventListener() {
151
159
  this._removeEventListener();
160
+ this._scene.addObserver(this._sceneObserver);
152
161
  this.conn.addEventHandler(`chatroom${this._scene.sceneId}`, {
153
162
  onTextMessage: msg => {
154
163
  if (msg.to !== this.chatRoomId) {
@@ -382,6 +391,13 @@ class FcrChatRoomControlImpl {
382
391
  });
383
392
  return ret;
384
393
  }
394
+ _handleJoinSceneSuccess = () => {
395
+ this._joinSceneSuccess = true;
396
+ this._joinChatRoom(this._chatConnection.getConnectionState());
397
+ };
398
+ _handleJoinSceneFailure = () => {
399
+ this._joinSceneSuccess = false;
400
+ };
385
401
 
386
402
  // TODO: 3.x
387
403
  // async getAnnouncement(): Promise<string> {
@@ -4,7 +4,10 @@ export declare enum FcrAbility {
4
4
  RoomDetail = "room:detail",
5
5
  Live = "live",
6
6
  Interpreter = "interpreter",
7
- Annotation = "annotation"
7
+ Annotation = "annotation",
8
+ Caption = "caption",
9
+ Transcribe = "transcribe",
10
+ Recording = "recording"
8
11
  }
9
12
  export interface FcrAbilityControl {
10
13
  isAbilitySupported(ability: FcrAbility): boolean;
@@ -10,5 +10,8 @@ let FcrAbility = exports.FcrAbility = /*#__PURE__*/function (FcrAbility) {
10
10
  FcrAbility["Live"] = "live";
11
11
  FcrAbility["Interpreter"] = "interpreter";
12
12
  FcrAbility["Annotation"] = "annotation";
13
+ FcrAbility["Caption"] = "caption";
14
+ FcrAbility["Transcribe"] = "transcribe";
15
+ FcrAbility["Recording"] = "recording";
13
16
  return FcrAbility;
14
17
  }({});
@@ -44,6 +44,10 @@ export declare const ROOM_MESSAGE_COMMANDS: {
44
44
  readonly LIVE_STREAMING_UPDATE: 700;
45
45
  /** 用户被踢出命令 */
46
46
  readonly USER_KICK_OUT: 5;
47
+ /** 房间会话请求命令 */
48
+ readonly ROOM_SESSION_REQUEST: 1001;
49
+ /** 房间会话接受命令 */
50
+ readonly ROOM_SESSION_ACCEPT: 1002;
47
51
  };
48
52
  /**
49
53
  * 录制状态值
@@ -52,7 +52,11 @@ const ROOM_MESSAGE_COMMANDS = exports.ROOM_MESSAGE_COMMANDS = {
52
52
  /** 直播状态更新命令 */
53
53
  LIVE_STREAMING_UPDATE: 700,
54
54
  /** 用户被踢出命令 */
55
- USER_KICK_OUT: 5
55
+ USER_KICK_OUT: 5,
56
+ /** 房间会话请求命令 */
57
+ ROOM_SESSION_REQUEST: 1001,
58
+ /** 房间会话接受命令 */
59
+ ROOM_SESSION_ACCEPT: 1002
56
60
  };
57
61
 
58
62
  /**
@@ -37,6 +37,7 @@ var _logger = require("../utilities/logger");
37
37
  var _2 = require("..");
38
38
  var _helpers = require("./helpers");
39
39
  var _errorHelpers = require("../utilities/error-helpers");
40
+ var _sttControl = require("./stt-control");
40
41
  let _initProto; // Core SDK imports
41
42
  // Service and API imports
42
43
  // Type definitions
@@ -108,6 +109,7 @@ class FcrBaseRoomControlImpl {
108
109
  this.logger.info('[whiteboard]: join scene success, start create sharing control');
109
110
  this.sharingControl = new _sharingControl.FcrSharingControlImpl(this._scene, this._api, this._engine, this._privilegeControl, this._streamControl, this._sharedCache, this._userControl);
110
111
  }
112
+ this._sttControl = new _sttControl.FcrSttControlImpl(this._scene, this._api, this._sharedCache);
111
113
  this._observable.notifyObservers('onJoinRoomSuccess', sceneId);
112
114
  },
113
115
  // onJoinSceneFailure: (sceneId, error) => {
@@ -206,6 +208,17 @@ class FcrBaseRoomControlImpl {
206
208
  }
207
209
  };
208
210
  }
211
+
212
+ /**
213
+ * 获取字幕控制器
214
+ * @returns 字幕控制器实例
215
+ * @throws {FcrError} 如果控制器未初始化
216
+ */
217
+ // @trace
218
+ getSttControl() {
219
+ (0, _helpers.validateControllerInitialized)(this._sttControl, _errorHelpers.ControllerType.STT);
220
+ return this._sttControl;
221
+ }
209
222
  /**
210
223
  * 获取屏幕共享控制器
211
224
  * @returns 屏幕共享控制器实例
@@ -412,7 +425,7 @@ class FcrBaseRoomControlImpl {
412
425
  * @private
413
426
  */
414
427
  _handleJoinFailure(error) {
415
- this.logger.error(`加入房间失败: ${error.message}`);
428
+ this.logger.error(`failed to join room: ${error.message}`);
416
429
  this._observable.notifyObservers('onJoinRoomFailure', this._scene.sceneId, error);
417
430
  }
418
431
 
@@ -554,9 +567,7 @@ class FcrBaseRoomControlImpl {
554
567
  try {
555
568
  return await Promise.all([
556
569
  // @ts-ignore
557
- this._chatRoomControl?.leave(),
558
- // this._whiteboardControl?.close(),
559
- this._scene.leave()]);
570
+ this._chatRoomControl?.leave(), this.sharingControl?.getBoardControl().close(), this.sharingControl?.getAnnotationControl().close(), this._scene.leave()]);
560
571
  } finally {
561
572
  this._joinRoomSuccess = false;
562
573
  }
@@ -61,6 +61,7 @@ class FcrInterpreterControlImpl {
61
61
  this._roomCache = _sharedCache.getRoomCache(this._scene.sceneId);
62
62
  this._roomId = this._scene.sceneId;
63
63
  this._addInterpreterObservers();
64
+ this._addLogObserver();
64
65
  }
65
66
  createRoomControl(roomId) {
66
67
  return new _room.FcrInterpreterRoomControlImpl(this._engine, this._engine.createScene({
@@ -168,10 +169,7 @@ class FcrInterpreterControlImpl {
168
169
  });
169
170
  }
170
171
  _addLogObserver() {
171
- this.addObserver((0, _logger.generateLogObserver)(this.logger, ['onCloudRecordingStateUpdated', 'onJoinRoomFailure', 'onJoinRoomSuccess', 'onLiveStreamingStateUpdated',
172
- // 'onNetworkQualityUpdated',
173
- // 'onNetworkStatsUpdated',
174
- 'onRoomMessageReceived', 'onRoomPropertiesDeleted', 'onRoomPropertiesUpdated', 'onRoomStateUpdated', 'onInterpreterStateUpdated', 'onInterpreterUsersUpdated', 'onInterpreterRoomListUpdated']));
172
+ this.addObserver((0, _logger.generateLogObserver)(this.logger, ['onInterpreterStateUpdated', 'onInterpreterUsersUpdated', 'onInterpreterRoomListUpdated']));
175
173
  }
176
174
  }
177
175
  exports.FcrInterpreterControlImpl = FcrInterpreterControlImpl;