fcr-core 3.8.1 → 3.9.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.
- package/lib/chat-connector/type.d.ts +40 -0
- package/lib/{chat-connection → chat-connector}/type.js +1 -1
- package/lib/engine/index.d.ts +10 -11
- package/lib/engine/index.js +63 -72
- package/lib/engine/type.d.ts +96 -0
- package/lib/engine/type.js +5 -0
- package/lib/imports.d.ts +7 -4
- package/lib/imports.js +30 -4
- package/lib/index.d.ts +3 -2
- package/lib/index.js +21 -2
- package/lib/media-control/desktop.js +12 -12
- package/lib/media-control/mobile.js +4 -0
- package/lib/media-control/type.d.ts +32 -33
- package/lib/monitor-control/index.js +3 -3
- package/lib/peer-session/index.js +14 -14
- package/lib/peer-session/type.d.ts +1 -1
- package/lib/plugins/chat/chatroom.js +417 -0
- package/lib/{chat-connection → plugins/chat}/config.d.ts +1 -0
- package/lib/{room-control/chatroom-control → plugins/chat}/config.js +2 -1
- package/lib/plugins/chat/connector.d.ts +38 -0
- package/lib/{chat-connection/index.js → plugins/chat/connector.js} +181 -61
- package/lib/room-control/ability-control/index.js +5 -4
- package/lib/room-control/ability-control/type.d.ts +5 -1
- package/lib/room-control/ability-control/type.js +4 -0
- package/lib/room-control/chatroom-control/type.d.ts +44 -35
- package/lib/room-control/group-control/index.js +9 -9
- package/lib/room-control/index.js +37 -22
- package/lib/room-control/interpreter-control/index.js +7 -4
- package/lib/room-control/interpreter-control/room.js +3 -3
- package/lib/room-control/interpreter-control/types.d.ts +2 -2
- package/lib/room-control/join-before-host-waitingroom-control/index.js +3 -3
- package/lib/room-control/mainroom-control/index.js +15 -13
- package/lib/room-control/privilege-control/index.js +39 -24
- package/lib/room-control/privilege-control/type.d.ts +15 -15
- package/lib/room-control/room-connector-control/index.js +7 -5
- package/lib/room-control/room-connector-control/type.d.ts +1 -1
- package/lib/room-control/room-control-factory.d.ts +3 -3
- package/lib/room-control/room-control-factory.js +7 -7
- package/lib/room-control/room-session/index.js +17 -15
- package/lib/room-control/room-session/type.d.ts +3 -3
- package/lib/room-control/sharing-control/index.js +13 -7
- package/lib/room-control/stream-control/index.js +18 -16
- package/lib/room-control/stream-control/type.d.ts +5 -5
- package/lib/room-control/stt-control/index.js +38 -31
- package/lib/room-control/type.d.ts +19 -19
- package/lib/room-control/user-control/index.js +20 -22
- package/lib/room-control/user-control/type.d.ts +1 -1
- package/lib/room-control/waitingroom-control/index.js +11 -11
- package/lib/room-control/whiteboard-control-v1/board-window.d.ts +21 -20
- package/lib/room-control/whiteboard-control-v1/board-window.js +27 -8
- package/lib/room-control/whiteboard-control-v1/factory.js +1 -1
- package/lib/room-control/whiteboard-control-v1/index.js +26 -18
- package/lib/room-control/whiteboard-control-v1/type.d.ts +26 -25
- package/lib/room-control/whiteboard-control-v1/type.js +1 -0
- package/lib/room-control/whiteboard-control-v2/annotation-control/control.d.ts +15 -6
- package/lib/room-control/whiteboard-control-v2/annotation-control/control.js +39 -5
- package/lib/room-control/whiteboard-control-v2/annotation-control/factory.d.ts +4 -5
- package/lib/room-control/whiteboard-control-v2/annotation-control/factory.js +6 -5
- package/lib/room-control/whiteboard-control-v2/annotation-control/type.d.ts +7 -1
- package/lib/room-control/whiteboard-control-v2/base/index.d.ts +9 -8
- package/lib/room-control/whiteboard-control-v2/base/index.js +84 -42
- package/lib/room-control/whiteboard-control-v2/base/main-window.d.ts +16 -15
- package/lib/room-control/whiteboard-control-v2/base/main-window.js +23 -4
- package/lib/room-control/whiteboard-control-v2/type.d.ts +17 -17
- package/lib/room-control/whiteboard-control-v2/whiteboard-control/control.d.ts +12 -6
- package/lib/room-control/whiteboard-control-v2/whiteboard-control/control.js +64 -18
- package/lib/room-control/whiteboard-control-v2/whiteboard-control/factory.d.ts +2 -2
- package/lib/room-control/whiteboard-control-v2/whiteboard-control/factory.js +10 -10
- package/lib/room-control/whiteboard-control-v2/whiteboard-control/type.d.ts +1 -1
- package/lib/room-router/index.js +10 -7
- package/lib/room-router/type.d.ts +1 -1
- package/lib/schema.d.ts +24 -46
- package/lib/schema.js +1 -2
- package/lib/service/api.d.ts +5 -3
- package/lib/service/api.js +17 -12
- package/lib/type.d.ts +64 -45
- package/lib/type.js +76 -11
- package/lib/utilities/abortable-retry.d.ts +38 -0
- package/lib/utilities/abortable-retry.js +61 -0
- package/lib/utilities/dual-video-stream-config.d.ts +6 -0
- package/lib/utilities/dual-video-stream-config.js +25 -0
- package/lib/utilities/error-helpers.d.ts +10 -9
- package/lib/utilities/error-helpers.js +12 -11
- package/lib/utilities/error.d.ts +4 -40
- package/lib/utilities/error.js +20 -77
- package/lib/utilities/join-helper.js +2 -2
- package/lib/utilities/logger.d.ts +2 -2
- package/lib/utilities/logger.js +6 -25
- package/lib/utilities/package-info.d.ts +1 -2
- package/lib/utilities/package-info.js +4 -8
- package/lib/utilities/parameters.js +88 -15
- package/lib/utilities/validate-params.js +1 -1
- package/lib/utilities/video-encoder-config.d.ts +9 -0
- package/lib/utilities/video-encoder-config.js +109 -0
- package/lib-es/base-session.js +1 -0
- package/lib-es/chat-connector/type.js +6 -0
- package/lib-es/engine/index.js +412 -0
- package/lib-es/engine/type.js +1 -0
- package/lib-es/imports.js +59 -0
- package/lib-es/index.js +8 -0
- package/lib-es/media-control/desktop.js +172 -0
- package/lib-es/media-control/mobile.js +198 -0
- package/lib-es/media-control/type.js +6 -0
- package/lib-es/monitor-control/index.js +46 -0
- package/lib-es/monitor-control/type.js +1 -0
- package/lib-es/peer-session/index.js +279 -0
- package/lib-es/peer-session/type.js +1 -0
- package/lib-es/plugins/chat/chatroom.js +409 -0
- package/{lib/chat-connection → lib-es/plugins/chat}/config.js +5 -9
- package/lib-es/plugins/chat/connector.js +269 -0
- package/lib-es/plugins/electron-rtc-plugin.js +1 -0
- package/lib-es/plugins/rtm-plugin.js +1 -0
- package/lib-es/plugins/web-rtc-plugin.js +1 -0
- package/lib-es/room-control/ability-control/index.js +58 -0
- package/lib-es/room-control/ability-control/type.js +15 -0
- package/lib-es/room-control/chatroom-control/type.js +12 -0
- package/lib-es/room-control/group-control/index.js +256 -0
- package/lib-es/room-control/helpers/constants.js +92 -0
- package/lib-es/room-control/helpers/index.js +20 -0
- package/lib-es/room-control/helpers/validation-helper.js +46 -0
- package/lib-es/room-control/index.js +623 -0
- package/lib-es/room-control/interpreter-control/index.js +172 -0
- package/lib-es/room-control/interpreter-control/room.js +28 -0
- package/lib-es/room-control/interpreter-control/types.js +26 -0
- package/lib-es/room-control/join-before-host-waitingroom-control/index.js +29 -0
- package/lib-es/room-control/mainroom-control/index.js +248 -0
- package/lib-es/room-control/privilege-control/helper.js +97 -0
- package/lib-es/room-control/privilege-control/index.js +339 -0
- package/lib-es/room-control/privilege-control/type.js +159 -0
- package/lib-es/room-control/room-connector-control/index.js +182 -0
- package/lib-es/room-control/room-connector-control/type.js +28 -0
- package/lib-es/room-control/room-control-factory.js +77 -0
- package/lib-es/room-control/room-session/index.js +292 -0
- package/lib-es/room-control/room-session/type.js +1 -0
- package/lib-es/room-control/shared-cache.js +47 -0
- package/lib-es/room-control/sharing-control/index.js +307 -0
- package/lib-es/room-control/sharing-control/type.js +16 -0
- package/lib-es/room-control/stream-control/index.js +536 -0
- package/lib-es/room-control/stream-control/type.js +1 -0
- package/lib-es/room-control/stt-control/de-compress-gzip.js +33 -0
- package/lib-es/room-control/stt-control/index.js +350 -0
- package/lib-es/room-control/stt-control/type.js +10 -0
- package/lib-es/room-control/type.js +30 -0
- package/lib-es/room-control/user-control/index.js +344 -0
- package/lib-es/room-control/user-control/type.js +21 -0
- package/lib-es/room-control/waitingroom-control/index.js +68 -0
- package/lib-es/room-control/whiteboard-control/enum.js +18 -0
- package/lib-es/room-control/whiteboard-control/type.js +10 -0
- package/lib-es/room-control/whiteboard-control/utils.js +13 -0
- package/lib-es/room-control/whiteboard-control-v1/board-subwindow.js +18 -0
- package/lib-es/room-control/whiteboard-control-v1/board-window.js +573 -0
- package/lib-es/room-control/whiteboard-control-v1/enum.js +157 -0
- package/lib-es/room-control/whiteboard-control-v1/factory.js +12 -0
- package/lib-es/room-control/whiteboard-control-v1/index.js +427 -0
- package/lib-es/room-control/whiteboard-control-v1/mount-manager.js +6 -0
- package/lib-es/room-control/whiteboard-control-v1/type.js +8 -0
- package/lib-es/room-control/whiteboard-control-v1/utils.js +273 -0
- package/lib-es/room-control/whiteboard-control-v2/annotation-control/control.js +76 -0
- package/lib-es/room-control/whiteboard-control-v2/annotation-control/factory.js +37 -0
- package/lib-es/room-control/whiteboard-control-v2/annotation-control/type.js +1 -0
- package/lib-es/room-control/whiteboard-control-v2/base/index.js +347 -0
- package/lib-es/room-control/whiteboard-control-v2/base/main-window.js +269 -0
- package/lib-es/room-control/whiteboard-control-v2/constant.js +9 -0
- package/lib-es/room-control/whiteboard-control-v2/enum.js +28 -0
- package/lib-es/room-control/whiteboard-control-v2/type.js +1 -0
- package/lib-es/room-control/whiteboard-control-v2/utils.js +92 -0
- package/lib-es/room-control/whiteboard-control-v2/whiteboard-control/control.js +204 -0
- package/lib-es/room-control/whiteboard-control-v2/whiteboard-control/factory.js +61 -0
- package/lib-es/room-control/whiteboard-control-v2/whiteboard-control/type.js +1 -0
- package/lib-es/room-router/index.js +263 -0
- package/lib-es/room-router/type.js +5 -0
- package/lib-es/schema.js +231 -0
- package/lib-es/service/api.js +1211 -0
- package/lib-es/service/type.js +1 -0
- package/lib-es/type.js +222 -0
- package/lib-es/utilities/abortable-retry.js +54 -0
- package/lib-es/utilities/cmd.js +1 -0
- package/lib-es/utilities/collection.js +64 -0
- package/lib-es/utilities/dual-video-stream-config.js +19 -0
- package/lib-es/utilities/error-helpers.js +224 -0
- package/lib-es/utilities/error.js +43 -0
- package/lib-es/utilities/join-helper.js +219 -0
- package/lib-es/utilities/logger.js +7 -0
- package/lib-es/utilities/package-info.js +5 -0
- package/lib-es/utilities/parameters.js +106 -0
- package/lib-es/utilities/retry-helpers.js +66 -0
- package/lib-es/utilities/shared-storage.js +31 -0
- package/lib-es/utilities/stream.js +18 -0
- package/lib-es/utilities/user.js +30 -0
- package/lib-es/utilities/validate-params.js +8 -0
- package/lib-es/utilities/video-encoder-config.js +103 -0
- package/package.json +11 -10
- package/lib/chat-connection/index.d.ts +0 -24
- package/lib/chat-connection/type.d.ts +0 -17
- package/lib/plugins/chatroom.js +0 -454
- package/lib/room-control/chatroom-control/config.d.ts +0 -51
- package/lib/utilities/storage.d.ts +0 -8
- package/lib/utilities/storage.js +0 -33
- /package/lib/plugins/{chatroom.d.ts → chat/chatroom.d.ts} +0 -0
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 房间控制相关的常量定义
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* 通用加入房间常量
|
|
7
|
+
* room-control 和 room-router 共享的常量
|
|
8
|
+
*/
|
|
9
|
+
export const COMMON_JOIN_CONSTANTS = {
|
|
10
|
+
/** 加入房间最大重试次数 */
|
|
11
|
+
MAX_JOIN_ATTEMPTS: 10
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* 房间控制常量
|
|
16
|
+
*/
|
|
17
|
+
export const ROOM_CONTROL_CONSTANTS = {
|
|
18
|
+
/** 加入房间最大重试次数 */
|
|
19
|
+
MAX_JOIN_ATTEMPTS: COMMON_JOIN_CONSTANTS.MAX_JOIN_ATTEMPTS,
|
|
20
|
+
/** 加入状态 */
|
|
21
|
+
JOIN_STATE: {
|
|
22
|
+
CANCELED: 0,
|
|
23
|
+
JOINING: 1
|
|
24
|
+
},
|
|
25
|
+
/** 错误消息 */
|
|
26
|
+
ERROR_MESSAGES: {
|
|
27
|
+
NOT_INITIALIZED: 'The controller is not initialized, please add the room first',
|
|
28
|
+
JOIN_CONFLICT: 'Failed to join the room, the room has been added',
|
|
29
|
+
JOIN_IN_PROGRESS: 'Failed to join the room, the previous join operation has not been completed yet',
|
|
30
|
+
JOIN_CANCELED: 'Joining operation has been cancelled'
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* 房间消息命令码
|
|
36
|
+
*/
|
|
37
|
+
export const ROOM_MESSAGE_COMMANDS = {
|
|
38
|
+
/** 房间路由切换命令 */
|
|
39
|
+
ROOM_ROUTE_SWITCH: 1100,
|
|
40
|
+
/** 云录制命令 */
|
|
41
|
+
CLOUD_RECORDING: 1,
|
|
42
|
+
/** 房间状态更新命令 */
|
|
43
|
+
ROOM_STATE_UPDATE: 4,
|
|
44
|
+
/** 房间属性更新命令 */
|
|
45
|
+
ROOM_PROPERTIES_UPDATE: 8,
|
|
46
|
+
/** 直播状态更新命令 */
|
|
47
|
+
LIVE_STREAMING_UPDATE: 700,
|
|
48
|
+
/** 用户被踢出命令 */
|
|
49
|
+
USER_KICK_OUT: 5,
|
|
50
|
+
/** 房间会话请求命令 */
|
|
51
|
+
ROOM_SESSION_REQUEST: 1001,
|
|
52
|
+
/** 房间会话接受命令 */
|
|
53
|
+
ROOM_SESSION_ACCEPT: 1002
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* 录制状态值
|
|
58
|
+
*/
|
|
59
|
+
export const RECORDING_STATE_VALUES = {
|
|
60
|
+
/** 录制停止 */
|
|
61
|
+
STOPPED: 0,
|
|
62
|
+
/** 录制中 */
|
|
63
|
+
RECORDING: 1
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* 直播状态值
|
|
68
|
+
*/
|
|
69
|
+
export const LIVE_STREAMING_STATE_VALUES = {
|
|
70
|
+
/** 直播停止 */
|
|
71
|
+
STOPPED: 0,
|
|
72
|
+
/** 直播开始 */
|
|
73
|
+
STARTED: 1,
|
|
74
|
+
/** 直播停止(另一种状态) */
|
|
75
|
+
STOPPED_ALT: 2
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* 房间状态值
|
|
80
|
+
*/
|
|
81
|
+
export const ROOM_STATE_VALUES = {
|
|
82
|
+
/** 房间结束 */
|
|
83
|
+
ENDED: 3
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* 响应状态码
|
|
88
|
+
*/
|
|
89
|
+
export const RESPONSE_CODES = {
|
|
90
|
+
/** 成功 */
|
|
91
|
+
SUCCESS: 0
|
|
92
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 房间控制辅助工具统一导出
|
|
3
|
+
*
|
|
4
|
+
* 提供房间控制相关的所有辅助工具和常量
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
// 常量定义
|
|
8
|
+
export * from './constants';
|
|
9
|
+
|
|
10
|
+
// 验证工具
|
|
11
|
+
export * from './validation-helper';
|
|
12
|
+
|
|
13
|
+
// 错误处理工具 - 从 utilities 重新导出
|
|
14
|
+
export { FcrErrorHelper, ControllerType, roomControlErrorHelper, engineErrorHelper, liveStreamingErrorHelper, defaultErrorHelper } from '../../utilities/error-helpers';
|
|
15
|
+
|
|
16
|
+
// 加入相关工具 - 从 utilities 重新导出
|
|
17
|
+
export { handleJoinRetryFailure, FcrJoinHelper } from '../../utilities/join-helper';
|
|
18
|
+
|
|
19
|
+
// 重试工具 - 从 utilities 重新导出
|
|
20
|
+
export { canRetryJoinError } from '../../utilities/retry-helpers';
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 房间控制验证辅助工具
|
|
3
|
+
*
|
|
4
|
+
* 专门处理房间控制相关的验证逻辑
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { roomControlErrorHelper } from '../../utilities/error-helpers';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* 验证控制器是否已初始化
|
|
11
|
+
* @param controller 控制器实例
|
|
12
|
+
* @param controllerType 控制器类型
|
|
13
|
+
* @throws {FcrError} 如果控制器未初始化
|
|
14
|
+
*/
|
|
15
|
+
export function validateControllerInitialized(controller, controllerType) {
|
|
16
|
+
if (!controller) {
|
|
17
|
+
throw roomControlErrorHelper.createControllerNotInitializedError(controllerType);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* 验证房间是否已加入
|
|
23
|
+
* @param joinRoomSuccess 是否已成功加入房间
|
|
24
|
+
* @param operation 操作名称
|
|
25
|
+
* @throws {FcrError} 如果房间未加入
|
|
26
|
+
*/
|
|
27
|
+
export function validateRoomJoined(joinRoomSuccess, operation) {
|
|
28
|
+
if (!joinRoomSuccess) {
|
|
29
|
+
throw roomControlErrorHelper.createOperationError(`${operation}, please join room first`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* 验证加入房间的前置条件
|
|
35
|
+
* @param joinRoomSuccess 是否已成功加入房间
|
|
36
|
+
* @param joining 是否正在加入
|
|
37
|
+
* @throws {FcrError} 如果不满足加入条件
|
|
38
|
+
*/
|
|
39
|
+
export function validateJoinRoomPreconditions(joinRoomSuccess, joining) {
|
|
40
|
+
if (joinRoomSuccess) {
|
|
41
|
+
throw roomControlErrorHelper.createJoinConflictError(true);
|
|
42
|
+
}
|
|
43
|
+
if (joining) {
|
|
44
|
+
throw roomControlErrorHelper.createJoinConflictError(false);
|
|
45
|
+
}
|
|
46
|
+
}
|