@rongcloud/engine 5.4.3 → 5.5.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.
package/index.d.ts CHANGED
@@ -239,22 +239,16 @@ declare class RongStreamWriter {
239
239
  getBytesArray(): Array<number>;
240
240
  }
241
241
 
242
- /**
243
- * @description
244
- * 与 Server 交互的信令封装
245
- */
246
242
  /**
247
243
  * @description
248
244
  * 读数据处理基类
249
245
  */
250
246
  declare class BaseReader {
251
247
  readonly header: Header;
252
- protected _name: string | null;
253
- lengthSize: number;
254
248
  messageId: number;
255
249
  timestamp: number;
256
250
  syncMsg: boolean;
257
- identifier: string;
251
+ protected identifier: string;
258
252
  constructor(header: Header);
259
253
  getIdentifier(): string | number;
260
254
  read(stream: RongStreamReader, length: number, protocolVer: ConnAckProtocolVer): void;
@@ -293,11 +287,9 @@ declare class RetryableReader extends BaseReader {
293
287
  };
294
288
  }
295
289
  declare class RetryableWriter extends BaseWriter {
296
- messageId: number;
297
290
  writeMessage(stream: RongStreamWriter): void;
298
291
  }
299
292
  declare class PublishReader extends RetryableReader {
300
- _name: string;
301
293
  topic: string;
302
294
  data: any;
303
295
  targetId: string;
@@ -314,7 +306,6 @@ declare class PublishReader extends RetryableReader {
314
306
  * 发消息使用
315
307
  */
316
308
  declare class PublishWriter extends RetryableWriter {
317
- _name: string;
318
309
  topic: string;
319
310
  data: any;
320
311
  targetId: string;
@@ -329,7 +320,6 @@ declare class PublishWriter extends RetryableWriter {
329
320
  * 发消息, Server 给的 Ack 回执
330
321
  */
331
322
  declare class PubAckReader extends RetryableReader {
332
- _name: string;
333
323
  status: number;
334
324
  date: number;
335
325
  data: any;
@@ -349,7 +339,6 @@ declare class PubAckReader extends RetryableReader {
349
339
  * Web 主动查询
350
340
  */
351
341
  declare class QueryWriter extends RetryableWriter {
352
- name: string;
353
342
  topic: string;
354
343
  data: any;
355
344
  targetId: string;
@@ -1412,7 +1401,13 @@ declare enum LogTagId {
1412
1401
  L_GET_HISTORY_MSG_T = "L-get_history_msg-T",
1413
1402
  L_GET_HISTORY_MSG_R = "L-get_history_msg-R",
1414
1403
  A_CALLBACK_O = "A-callback-O",
1415
- A_CALLBACK_E = "A-callback-E"
1404
+ A_CALLBACK_E = "A-callback-E",
1405
+ L_CALLBACK_E = "L-callback-E",
1406
+ /**
1407
+ * PB 数据编码错误
1408
+ */
1409
+ L_PB_ENCODE_E = "L-pb-encode-E",
1410
+ L_PB_DECODE_E = "L-pb-decode-E"
1416
1411
  }
1417
1412
 
1418
1413
  /**
@@ -1440,6 +1435,17 @@ declare enum MessageBlockType {
1440
1435
  */
1441
1436
  THIRD_PARTY = 3
1442
1437
  }
1438
+ /**
1439
+ * 消息被拦截源触发类型
1440
+ */
1441
+ declare enum MessageBlockSourceType {
1442
+ /** 原始消息 */
1443
+ MSG_ORIGINAL = 0,
1444
+ /** 消息扩展 */
1445
+ MSG_EXPANSION = 1,
1446
+ /** 消息修改 */
1447
+ MSG_MODIFY = 2
1448
+ }
1443
1449
 
1444
1450
  declare enum UltraGroupChannelType {
1445
1451
  PUBLIC = 0,
@@ -1478,7 +1484,15 @@ declare enum RTCMode {
1478
1484
  /**
1479
1485
  * 直播模式
1480
1486
  */
1481
- LIVE = 2
1487
+ LIVE = 2,
1488
+ /**
1489
+ * 跨应用多人房间
1490
+ */
1491
+ CROSS_MUTI = 7,
1492
+ /**
1493
+ * 跨应用直播
1494
+ */
1495
+ CROSS_LIVE = 8
1482
1496
  }
1483
1497
  /**
1484
1498
  * 直播类型
@@ -1581,6 +1595,11 @@ interface IChrmKVEntries {
1581
1595
  type?: number;
1582
1596
  isDeleted?: boolean;
1583
1597
  }
1598
+ interface IChrmKVPullData {
1599
+ kvEntries: IChrmKVEntry[];
1600
+ isFullUpdate?: boolean;
1601
+ syncTime?: number;
1602
+ }
1584
1603
  interface IServerConversationStatus {
1585
1604
  conversationType: number;
1586
1605
  targetId: string;
@@ -2218,6 +2237,10 @@ interface IBlockedMessageInfo {
2218
2237
  channelId: string;
2219
2238
  blockType: MessageBlockType;
2220
2239
  extra: any;
2240
+ sourceType?: MessageBlockSourceType;
2241
+ sourceContent?: {
2242
+ [key: string]: any;
2243
+ };
2221
2244
  }
2222
2245
 
2223
2246
  /**
@@ -3100,122 +3123,6 @@ interface IExtraMethod {
3100
3123
  updateMessageReceiptStatus(conersationType: ConversationType, targetId: string, timestamp: number, channelId?: string): Promise<IAsyncRes<boolean>>;
3101
3124
  }
3102
3125
 
3103
- interface IReqRoomPKOptions {
3104
- /**
3105
- * 当前房间 ID
3106
- */
3107
- roomId: string;
3108
- /**
3109
- * 被邀请房间 ID
3110
- */
3111
- invitedRoomId: string;
3112
- /**
3113
- * 被邀请用户 ID
3114
- */
3115
- invitedUserId: string;
3116
- /**
3117
- * 本次邀请超时时间
3118
- */
3119
- inviteTimeout: number;
3120
- /**
3121
- * 本次邀请额外信息
3122
- */
3123
- inviteInfo: string;
3124
- /**
3125
- * 本次邀请唯一 ID
3126
- */
3127
- inviteSessionId: string;
3128
- }
3129
- interface ICancelRoomPKOptions {
3130
- /**
3131
- * 当前房间 ID
3132
- */
3133
- roomId: string;
3134
- /**
3135
- * 被邀请房间 ID
3136
- */
3137
- invitedRoomId: string;
3138
- /**
3139
- * 被邀请用户 ID
3140
- */
3141
- invitedUserId: string;
3142
- /**
3143
- * 本次邀请额外信息
3144
- */
3145
- inviteInfo: string;
3146
- /**
3147
- * 本次邀请唯一 ID
3148
- */
3149
- inviteSessionId: string;
3150
- }
3151
- interface IResRoomPKOptions {
3152
- /**
3153
- * 当前房间 ID
3154
- */
3155
- roomId: string;
3156
- /**
3157
- * 邀请者 ID
3158
- */
3159
- inviteUserId: string;
3160
- /**
3161
- * 邀请者房间 ID
3162
- */
3163
- inviteRoomId: string;
3164
- /**
3165
- * 邀请的 session ID
3166
- */
3167
- inviteSessionId: string;
3168
- /**
3169
- * 需要转发的信息
3170
- */
3171
- content: string;
3172
- /**
3173
- * 同意邀请时要设置的 key, 放在room级别的k和v,新加入房间的能拉取到
3174
- */
3175
- key: string;
3176
- /**
3177
- * 同意邀请时要设置的 value, 放在room级别的k和v,新加入房间的能拉取到
3178
- */
3179
- value: string;
3180
- /**
3181
- * 是否同意邀请
3182
- */
3183
- agree: boolean;
3184
- }
3185
- interface IEndRoomPKOptions {
3186
- /**
3187
- * 当前房间 ID
3188
- */
3189
- roomId: string;
3190
- /**
3191
- * 需要结束的连麦房间 ID
3192
- */
3193
- endRoomId: string;
3194
- /**
3195
- * 需要结束连麦的 sessionID
3196
- */
3197
- sessionId: string;
3198
- /**
3199
- * 结束连麦的信息
3200
- */
3201
- content: string;
3202
- /**
3203
- * 需要删除连麦的信息的 keys
3204
- */
3205
- keys: string[];
3206
- }
3207
-
3208
- interface IRTCRoomBindOption {
3209
- /**
3210
- * 聊天室 ID
3211
- */
3212
- chatRoomId: string;
3213
- /**
3214
- * RTC房间 ID
3215
- */
3216
- rtcRoomId: string;
3217
- }
3218
-
3219
3126
  /**
3220
3127
  * engine 基本接口定义,用于约束 Electron 下主进程、渲染进程、JSEngine 的编码一致性
3221
3128
  */
@@ -3719,45 +3626,11 @@ interface IEngine {
3719
3626
  */
3720
3627
  getAllUnreadMentionedCount(): Promise<IAsyncRes<number>>;
3721
3628
  clearData(): Promise<IAsyncRes<boolean>>;
3722
- joinRTCRoom(roomId: string, mode: RTCMode, broadcastType?: number, joinType?: RTCJoinType, innerUserDatas?: IRTCUserData, outerUserDatas?: IRTCUserData): IPromiseResult<IJoinRTCRoomData>;
3723
- quitRTCRoom(roomId: string): Promise<ErrorCode>;
3724
3629
  rtcPing(roomId: string, mode: number, broadcastType?: number): Promise<ErrorCode>;
3725
- getRTCRoomInfo(roomId: string): IPromiseResult<IRTCRoomInfo>;
3726
- getRTCUserInfoList(roomId: string): IPromiseResult<IRTCUsers>;
3727
- getRTCUserInfo(roomId: string): IPromiseResult<unknown>;
3728
- setRTCUserInfo(roomId: string, key: string, value: string): Promise<ErrorCode>;
3729
- removeRTCUserInfo(roomId: string, keys: string[]): Promise<ErrorCode>;
3730
- setRTCData(roomId: string, key: string, value: string, isInner: boolean, apiType: RTCApiType, message?: {
3731
- name: string;
3732
- content: string;
3733
- }): Promise<ErrorCode>;
3734
- /**
3735
- * 全量订阅资源修改
3736
- * @param roomId 房间 Id
3737
- * @param message 向前兼容的消息内容
3738
- * @param valueInfo 全量资源数据
3739
- * @param objectName 全量 URI 消息名
3740
- */
3741
- setRTCTotalRes(roomId: string, message: {
3742
- name: string;
3743
- content: string;
3744
- }, valueInfo: string, objectName: string, mcuValInfo: string): Promise<ErrorCode>;
3745
- getRTCData(roomId: string, keys: string[], isInner: boolean, apiType: RTCApiType): IPromiseResult<KVString>;
3746
- removeRTCData(roomId: string, keys: string[], isInner: boolean, apiType: RTCApiType, message?: {
3747
- name: string;
3748
- content: string;
3749
- }): Promise<ErrorCode>;
3750
- setRTCOutData(roomId: string, rtcData: unknown, type: number, message: unknown): Promise<ErrorCode>;
3751
- getRTCOutData(roomId: string, userIds: string[]): IPromiseResult<unknown>;
3752
- getRTCToken(roomId: string, mode: number, broadcastType?: number): IPromiseResult<IRtcTokenData>;
3753
- setRTCState(roomId: string, reportId: string): Promise<ErrorCode>;
3754
- getRTCUserList(roomId: string): IPromiseResult<IRTCUsers>;
3755
- setRTCCDNUris(roomId: string, objectName: string, CDNUris: string): Promise<ErrorCode>;
3756
- requestRoomPK(options: IReqRoomPKOptions): Promise<ErrorCode>;
3757
- cancelRoomPK(options: ICancelRoomPKOptions): Promise<ErrorCode>;
3758
- responseRoomPK(options: IResRoomPKOptions): Promise<ErrorCode>;
3759
- endRoomPK(options: IEndRoomPKOptions): Promise<ErrorCode>;
3760
- bindRTCRoomForChatroom(options: IRTCRoomBindOption): Promise<ErrorCode>;
3630
+ rtcSignaling(roomId: string, method: string, isQuery: boolean, sourceData: any): Promise<{
3631
+ code: ErrorCode;
3632
+ buffer?: any;
3633
+ }>;
3761
3634
  }
3762
3635
 
3763
3636
  interface IExpansionMsgContent {
@@ -3799,6 +3672,17 @@ interface IRTCJoinedInfo {
3799
3672
  joinTime: number;
3800
3673
  }
3801
3674
 
3675
+ interface IRTCRoomBindOption {
3676
+ /**
3677
+ * 聊天室 ID
3678
+ */
3679
+ chatRoomId: string;
3680
+ /**
3681
+ * RTC房间 ID
3682
+ */
3683
+ rtcRoomId: string;
3684
+ }
3685
+
3802
3686
  interface IUpdatedExpansion {
3803
3687
  expansion: {
3804
3688
  [key: string]: any;
@@ -3852,6 +3736,111 @@ interface ITypingMessage {
3852
3736
  list: Array<ITypingUser>;
3853
3737
  }
3854
3738
 
3739
+ interface IReqRoomPKOptions {
3740
+ /**
3741
+ * 当前房间 ID
3742
+ */
3743
+ roomId: string;
3744
+ /**
3745
+ * 被邀请房间 ID
3746
+ */
3747
+ invitedRoomId: string;
3748
+ /**
3749
+ * 被邀请用户 ID
3750
+ */
3751
+ invitedUserId: string;
3752
+ /**
3753
+ * 本次邀请超时时间
3754
+ */
3755
+ inviteTimeout: number;
3756
+ /**
3757
+ * 本次邀请额外信息
3758
+ */
3759
+ inviteInfo: string;
3760
+ /**
3761
+ * 本次邀请唯一 ID
3762
+ */
3763
+ inviteSessionId: string;
3764
+ }
3765
+ interface ICancelRoomPKOptions {
3766
+ /**
3767
+ * 当前房间 ID
3768
+ */
3769
+ roomId: string;
3770
+ /**
3771
+ * 被邀请房间 ID
3772
+ */
3773
+ invitedRoomId: string;
3774
+ /**
3775
+ * 被邀请用户 ID
3776
+ */
3777
+ invitedUserId: string;
3778
+ /**
3779
+ * 本次邀请额外信息
3780
+ */
3781
+ inviteInfo: string;
3782
+ /**
3783
+ * 本次邀请唯一 ID
3784
+ */
3785
+ inviteSessionId: string;
3786
+ }
3787
+ interface IResRoomPKOptions {
3788
+ /**
3789
+ * 当前房间 ID
3790
+ */
3791
+ roomId: string;
3792
+ /**
3793
+ * 邀请者 ID
3794
+ */
3795
+ inviteUserId: string;
3796
+ /**
3797
+ * 邀请者房间 ID
3798
+ */
3799
+ inviteRoomId: string;
3800
+ /**
3801
+ * 邀请的 session ID
3802
+ */
3803
+ inviteSessionId: string;
3804
+ /**
3805
+ * 需要转发的信息
3806
+ */
3807
+ content: string;
3808
+ /**
3809
+ * 同意邀请时要设置的 key, 放在room级别的k和v,新加入房间的能拉取到
3810
+ */
3811
+ key: string;
3812
+ /**
3813
+ * 同意邀请时要设置的 value, 放在room级别的k和v,新加入房间的能拉取到
3814
+ */
3815
+ value: string;
3816
+ /**
3817
+ * 是否同意邀请
3818
+ */
3819
+ agree: boolean;
3820
+ }
3821
+ interface IEndRoomPKOptions {
3822
+ /**
3823
+ * 当前房间 ID
3824
+ */
3825
+ roomId: string;
3826
+ /**
3827
+ * 需要结束的连麦房间 ID
3828
+ */
3829
+ endRoomId: string;
3830
+ /**
3831
+ * 需要结束连麦的 sessionID
3832
+ */
3833
+ sessionId: string;
3834
+ /**
3835
+ * 结束连麦的信息
3836
+ */
3837
+ content: string;
3838
+ /**
3839
+ * 需要删除连麦的信息的 keys
3840
+ */
3841
+ keys: string[];
3842
+ }
3843
+
3855
3844
  /**
3856
3845
  * IndexDB中存储的log数据
3857
3846
  */
@@ -3968,18 +3957,6 @@ declare class DataCodec {
3968
3957
  * 格式化 会话状态 置顶、免打扰
3969
3958
  */
3970
3959
  private _formatConversationStatus;
3971
- /**
3972
- * 格式化 RTC 用户列表
3973
- */
3974
- private _formatRTCUserList;
3975
- /**
3976
- * 格式化 RTC 数据
3977
- */
3978
- private _formatRTCData;
3979
- /**
3980
- * 格式化 RTC 房间信息
3981
- */
3982
- private _formatRTCRoomInfo;
3983
3960
  /**
3984
3961
  * 格式化 获取已读列表
3985
3962
  */
@@ -3988,18 +3965,10 @@ declare class DataCodec {
3988
3965
  * 格式化用户配置通知
3989
3966
  */
3990
3967
  private _formatUserSettingNotification;
3991
- /**
3992
- * 格式化 RTC 用户加入房间后通知拉取的数据(房间内主播全量列表、房间全量资源)
3993
- */
3994
- private _formatRTCRoomKVList;
3995
3968
  /**
3996
3969
  * 拉取聊天室 kv 存储时的最新时间戳
3997
3970
  */
3998
3971
  private _formatChrmKVVersion;
3999
- /**
4000
- * 格式化观众加房间后返回数据
4001
- */
4002
- private _formatRTCAuidenceJoinRoomData;
4003
3972
  /**
4004
3973
  * 格式化加入 RTC 房间的用户信息
4005
3974
  */
@@ -4171,91 +4140,6 @@ declare class DataCodec {
4171
4140
  * 序列号超级群获取会话参数
4172
4141
  */
4173
4142
  encodeUltraGroup(syncTime: number, isEraseMsgContent: boolean): any;
4174
- /**
4175
- * ============ 以下为 RTC 相关 ============
4176
- */
4177
- /**
4178
- * 加入 RTC 房间
4179
- */
4180
- encodeJoinRTCRoom(mode: RTCMode, broadcastType?: number, joinType?: RTCJoinType, innerUserDatas?: IRTCUserData, outerUserDatas?: IRTCUserData): any[];
4181
- /**
4182
- * 退出 RTC 房间
4183
- */
4184
- encodeQuitRTCRoom(): any[];
4185
- /**
4186
- * 用户属性设置,及消息通知
4187
- */
4188
- encodeSetRTCData(key: string, value: string, isInner: boolean, apiType: RTCApiType, message?: {
4189
- name: string;
4190
- content: string;
4191
- }): any;
4192
- /**
4193
- * 全量 URI
4194
- */
4195
- encodeUserSetRTCData(message: any, valueInfo: string, objectName: string, mcuValInfo: string): any;
4196
- encodeUserSetRTCCDNUris(objectName: string, CDNUris: string): any;
4197
- /**
4198
- * 用户属性获取
4199
- */
4200
- encodeGetRTCData(keys: Array<string>, isInner: boolean, apiType: RTCApiType): any;
4201
- /**
4202
- * 用户属性删除
4203
- */
4204
- encodeRemoveRTCData(keys: Array<string>, isInner: boolean, apiType: RTCApiType, message: any): any;
4205
- /**
4206
- * 待完善注释
4207
- * @deprecated
4208
- */
4209
- encodeSetRTCOutData(data: any, type: number, message: any): any;
4210
- /**
4211
- * 待完善注释
4212
- * @deprecated
4213
- */
4214
- ecnodeGetRTCOutData(userIds: string[]): any;
4215
- /**
4216
- * rtc 北极星数据上传
4217
- */
4218
- encodeSetRTCState(report: string): any;
4219
- /**
4220
- * 获取房间用户资源
4221
- */
4222
- encodeGetRTCRoomInfo(): any;
4223
- /**
4224
- * 设置用户资源
4225
- */
4226
- encodeSetRTCUserInfo(key: string, value: string): any;
4227
- /**
4228
- * 删除用户及资源
4229
- */
4230
- encodeRemoveRTCUserInfo(keys: string[]): any;
4231
- /**
4232
- * RTC 直播房间身份切换
4233
- */
4234
- encodeIdentityChangeInfo(changeType: RTCIdentityChangeType, broadcastType?: number, needSyncChrm?: boolean): any;
4235
- /**
4236
- * RTC 直播观众拉取房间内 KV
4237
- */
4238
- encodePullRTCRoomKV(roomId: string, timestamp: number): any;
4239
- /**
4240
- * RTC 查询在房间内用户的信息
4241
- */
4242
- encodeQueryUserJoinedInfo(userId: string): any;
4243
- /**
4244
- * 连麦 PK 请求
4245
- */
4246
- encodeRequestRoomPK(options: IReqRoomPKOptions): any;
4247
- /**
4248
- * 取消连麦 PK 请求
4249
- */
4250
- encodeCancelRoomPK(options: ICancelRoomPKOptions): any;
4251
- /**
4252
- * 响应连麦 PK 请求
4253
- */
4254
- encodeResponseRoomPK(options: IResRoomPKOptions): any;
4255
- /**
4256
- * 结束连麦 PK
4257
- */
4258
- encodeEndRoomPK(options: IEndRoomPKOptions): any;
4259
4143
  /**
4260
4144
  * 设置聊天室关联的rtc房间
4261
4145
  */
@@ -4551,6 +4435,45 @@ interface IPluginGenerator<API, InitOption> {
4551
4435
  setup(context: PluginContext, runtime: IRuntime, options: InitOption): API;
4552
4436
  }
4553
4437
 
4438
+ declare type CodecPBMaps = {
4439
+ readonly [pbname: string]: readonly string[];
4440
+ };
4441
+ declare type KeyType<T> = T[keyof T & number] & string;
4442
+ declare type ModuleType<T> = {
4443
+ [key in KeyType<T>]?: any;
4444
+ };
4445
+ declare abstract class AbsCodec<T> {
4446
+ /**
4447
+ * Key 对应的 Value 结构映射表,用于不同 Key 数据的编解码
4448
+ */
4449
+ protected pbmaps: T;
4450
+ constructor(
4451
+ /**
4452
+ * Key 对应的 Value 结构映射表,用于不同 Key 数据的编解码
4453
+ */
4454
+ pbmaps: T);
4455
+ /**
4456
+ * 数据反序列化,反序列化的结果为未加工的原始数据,decode 函数本身不处理 format 过程
4457
+ * @param pbname 待解码数据的 PB 名
4458
+ * @param data 待解码数据
4459
+ */
4460
+ abstract decode(pbname: string, data: Uint8Array | string): any;
4461
+ /**
4462
+ * 数据序列化
4463
+ * @param pbname 待编码数据的 PB 名
4464
+ * @param params 待编码参数
4465
+ * @param returnSourceModule 当嵌套 PB 结构时,value 值需要使用原 module 模块而非 Uint8Array 数据
4466
+ * @example 对于嵌套型数据,需要由业务来进行数据组织,以 pb2 结构嵌套 pb1 举例,编码过程如下:
4467
+ * ```
4468
+ * // 对 pb1 结构进行编码
4469
+ * const buffer = codec.encode('pb1', { ...attrs })
4470
+ * // 再对 pb2 编码,pb1 作为编码用到的参数直接传入指定 key
4471
+ * const data = codec.encode('pb2', { key: buffer })
4472
+ * ```
4473
+ */
4474
+ abstract encode<K extends string & keyof T>(pbname: K, params?: ModuleType<T[K]>, returnSourceModule?: boolean): ArrayBuffer | ModuleType<T[K]>;
4475
+ }
4476
+
4554
4477
  declare class APIContext {
4555
4478
  private _runtime;
4556
4479
  private static _context?;
@@ -4580,7 +4503,13 @@ declare class APIContext {
4580
4503
  * 内部连接状态标识,为 ture 时不允许调用 reconnect 方法
4581
4504
  */
4582
4505
  private _isInternalConnected;
4506
+ /**
4507
+ * RTC 相关的编解码模块,用于向前兼容 RTC 旧版本的编解码,
4508
+ * 包括向 CppEngine 提供 RTC 业务编解码能力
4509
+ */
4510
+ private readonly _rtcCodec;
4583
4511
  constructor(_runtime: IRuntime, options: IAPIContextOption);
4512
+ createCodec<T extends CodecPBMaps>(keymaps: T, pbDesc: string): AbsCodec<T>;
4584
4513
  /**
4585
4514
  * 安装使用插件,并初始化插件实例
4586
4515
  * @param plugin
@@ -4702,6 +4631,11 @@ declare class APIContext {
4702
4631
  * @param isStatusMessage 是否是状态消息
4703
4632
  */
4704
4633
  registerMessageType(objectName: string, isPersited: boolean, isCounted: boolean, searchProps?: string[], isStatusMessage?: boolean): void;
4634
+ /**
4635
+ * 注册 RTC KV 通知监听器
4636
+ * @param listener
4637
+ */
4638
+ registerRTCSignalingListener(listener?: (buffer: Uint8Array) => void): void;
4705
4639
  /**
4706
4640
  * 发送消息
4707
4641
  * @param conversationType
@@ -5219,6 +5153,10 @@ declare class APIContext {
5219
5153
  getConversationListWithAllChannel(): Promise<IAsyncRes<IReceivedConversation[]>>;
5220
5154
  getConversationListWithAllChannelByPage(index: number, limit: number): Promise<IAsyncRes<IReceivedConversation[]>>;
5221
5155
  clearData(): Promise<IAsyncRes<boolean>>;
5156
+ rtcSignaling(roomId: string, method: string, isQuery: boolean, sourceData: any): Promise<{
5157
+ code: ErrorCode;
5158
+ buffer?: Uint8Array | string;
5159
+ }>;
5222
5160
  /**
5223
5161
  * 加入房间
5224
5162
  * @param roomId
@@ -5300,6 +5238,7 @@ declare class PluginContext {
5300
5238
  * 获取 context
5301
5239
  */
5302
5240
  __getContext(): APIContext;
5241
+ createCodec<T extends CodecPBMaps>(keymaps: T, pbDesc: string): AbsCodec<T>;
5303
5242
  /**
5304
5243
  * 获取当前的导航数据
5305
5244
  */
@@ -5323,14 +5262,6 @@ declare class PluginContext {
5323
5262
  * IM 客户端销毁通知
5324
5263
  */
5325
5264
  ondestroy?(): void;
5326
- /**
5327
- * RTC 数据通知
5328
- * @param roomdId 数据对应的房间 Id
5329
- * @param data 通知数据为 key:value 方式
5330
- * @description
5331
- * 目前仅通知:主播加入、退出房间的人员列表变更,发布、取消发布资源列表变更
5332
- */
5333
- onrtcdatachange?(data: IServerRTCRoomEntry[], roomdId?: string): void;
5334
5265
  /**
5335
5266
  * 获取 `@rongcloud/engine` 包版本
5336
5267
  */
@@ -5370,10 +5301,6 @@ declare class PluginContext {
5370
5301
  * 获取服务时间
5371
5302
  */
5372
5303
  getServerTime(): number;
5373
- /**
5374
- * 获取加入 RTC 房间的用户信息(当前仅能查自己的)
5375
- */
5376
- getRTCJoinedUserInfo(userId: string): IPromiseResult<IRTCJoinedInfo[]>;
5377
5304
  }
5378
5305
 
5379
5306
  declare class RTCPluginContext extends PluginContext {
@@ -5383,6 +5310,7 @@ declare class RTCPluginContext extends PluginContext {
5383
5310
  getNaviInfo(): INaviInfo | null;
5384
5311
  /**
5385
5312
  * 加入 RTC 房间
5313
+ * @deprecated
5386
5314
  * @todo 需确认 `broadcastType` 参数的作用与有效值
5387
5315
  * @param roomId
5388
5316
  * @param mode 房间模式:直播 or 会议
@@ -5390,15 +5318,40 @@ declare class RTCPluginContext extends PluginContext {
5390
5318
  * @param innerUserData 加副房间时的主房间 Id
5391
5319
  */
5392
5320
  joinRTCRoom(roomId: string, mode: RTCMode, broadcastType?: number, joinType?: RTCJoinType, innerUserDatas?: IRTCUserData, outerUserDatas?: IRTCUserData): IPromiseResult<IJoinRTCRoomData>;
5321
+ /**
5322
+ * @deprecated
5323
+ */
5393
5324
  quitRTCRoom(roomId: string): Promise<ErrorCode>;
5325
+ /**
5326
+ * rtc 房间保活
5327
+ */
5394
5328
  rtcPing(roomId: string, mode: number, broadcastType?: number): Promise<ErrorCode>;
5329
+ /**
5330
+ * @deprecated
5331
+ */
5395
5332
  getRTCRoomInfo(roomId: string): IPromiseResult<IRTCRoomInfo>;
5333
+ /**
5334
+ * @deprecated
5335
+ */
5396
5336
  getRTCUserInfoList(roomId: string): IPromiseResult<IRTCUsers>;
5337
+ /**
5338
+ * @deprecated
5339
+ */
5397
5340
  getRTCUserInfo(roomId: string): IPromiseResult<unknown>;
5341
+ /**
5342
+ * @deprecated
5343
+ */
5398
5344
  setRTCUserInfo(roomId: string, key: string, value: string): Promise<ErrorCode>;
5345
+ /**
5346
+ * @deprecated
5347
+ */
5399
5348
  removeRTCUserInfo(roomId: string, keys: string[]): Promise<ErrorCode>;
5349
+ /**
5350
+ * @deprecated
5351
+ */
5400
5352
  setRTCData(roomId: string, key: string, value: string, isInner: boolean, apiType: RTCApiType, message?: any): Promise<ErrorCode>;
5401
5353
  /**
5354
+ * @deprecated
5402
5355
  * @param - roomId
5403
5356
  * @param - message 向前兼容的消息数据,以兼容旧版本 SDK,即增量数据,如:
5404
5357
  * ```
@@ -5431,6 +5384,7 @@ declare class RTCPluginContext extends PluginContext {
5431
5384
  mcuValInfo?: string): Promise<ErrorCode>;
5432
5385
  /**
5433
5386
  * 设置 cdn_uris 扩散
5387
+ * @deprecated
5434
5388
  * @param objectName 全量 URI 消息名,即 `RCRTC:TotalContentResources`
5435
5389
  * @param CDNUris cdn_uris 扩散字段
5436
5390
  * {
@@ -5445,18 +5399,40 @@ declare class RTCPluginContext extends PluginContext {
5445
5399
  }[]
5446
5400
  */
5447
5401
  setRTCCDNUris(roomId: string, objectName: string, CDNUris: string): Promise<ErrorCode>;
5402
+ /**
5403
+ * @deprecated
5404
+ */
5448
5405
  getRTCData(roomId: string, keys: string[], isInner: boolean, apiType: RTCApiType): IPromiseResult<KVString>;
5406
+ /**
5407
+ * @deprecated
5408
+ */
5449
5409
  removeRTCData(roomId: string, keys: string[], isInner: boolean, apiType: RTCApiType, message?: {
5450
5410
  name: string;
5451
5411
  content: string;
5452
5412
  }): Promise<ErrorCode>;
5413
+ /**
5414
+ * @deprecated
5415
+ */
5453
5416
  setRTCOutData(roomId: string, rtcData: unknown, type: number, message: unknown): Promise<ErrorCode>;
5417
+ /**
5418
+ * @deprecated
5419
+ */
5454
5420
  getRTCOutData(roomId: string, userIds: string[]): IPromiseResult<unknown>;
5421
+ /**
5422
+ * @deprecated
5423
+ */
5455
5424
  getRTCToken(roomId: string, mode: number, broadcastType?: number): IPromiseResult<IRtcTokenData>;
5425
+ /**
5426
+ * @deprecated
5427
+ */
5456
5428
  setRTCState(roomId: string, report: string): Promise<ErrorCode>;
5429
+ /**
5430
+ * @deprecated
5431
+ */
5457
5432
  getRTCUserList(roomId: string): IPromiseResult<IRTCUsers>;
5458
5433
  /**
5459
5434
  * 直播观众加房间
5435
+ * @deprecated
5460
5436
  */
5461
5437
  joinLivingRoomAsAudience(roomId: string, mode: RTCMode, broadcastType?: number): IPromiseResult<{
5462
5438
  token: string;
@@ -5464,30 +5440,95 @@ declare class RTCPluginContext extends PluginContext {
5464
5440
  }>;
5465
5441
  /**
5466
5442
  * 直播观众退出房间
5443
+ * @deprecated
5467
5444
  */
5468
5445
  quitLivingRoomAsAudience(roomId: string): Promise<ErrorCode>;
5469
5446
  /**
5470
5447
  * 直播身份切换
5448
+ * @deprecated
5471
5449
  */
5472
5450
  rtcIdentityChange(roomId: string, changeType: RTCIdentityChangeType, broadcastType?: number): IPromiseResult<IJoinRTCRoomData>;
5473
5451
  /**
5474
5452
  * 连麦 PK 请求
5453
+ * @deprecated
5475
5454
  */
5476
5455
  requestRoomPK(options: IReqRoomPKOptions): Promise<ErrorCode>;
5477
5456
  /**
5478
5457
  * 取消连麦 PK 请求
5458
+ * @deprecated
5479
5459
  */
5480
5460
  cancelRoomPK(options: ICancelRoomPKOptions): Promise<ErrorCode>;
5481
5461
  /**
5482
5462
  * 响应连麦 PK 请求
5463
+ * @deprecated
5483
5464
  */
5484
5465
  responseRoomPK(options: IResRoomPKOptions): Promise<ErrorCode>;
5485
5466
  /**
5486
5467
  * 结束连麦 PK
5468
+ * @deprecated
5487
5469
  */
5488
5470
  endRoomPK(options: IEndRoomPKOptions): Promise<ErrorCode>;
5471
+ /**
5472
+ * 监听 RTC KV 变更通知,在监听到通知后续解码数据并重新拉取 KV
5473
+ * @param listener
5474
+ */
5475
+ registerRTCSignalListener(listener?: (buffer: Uint8Array) => void): void;
5476
+ /**
5477
+ * RTC 调用 signal 服务的通用接口
5478
+ * @param roomId 房间 ID
5479
+ * @param method signal 服务接口名
5480
+ * @param isQuery qry or pub
5481
+ * @param sourceData 待发送的编码数据
5482
+ */
5483
+ rtcSignaling(roomId: string, method: string, isQuery: boolean, sourceData: any): Promise<{
5484
+ code: ErrorCode;
5485
+ buffer?: Uint8Array | string;
5486
+ }>;
5487
+ /**
5488
+ * RTC KV 数据通知
5489
+ * @deprecated
5490
+ * @param roomdId 数据对应的房间 Id
5491
+ * @param data 通知数据为 key:value 方式
5492
+ * @description
5493
+ * 目前仅通知:主播加入、退出房间的人员列表变更,发布、取消发布资源列表变更
5494
+ */
5495
+ onrtcdatachange?(data: IServerRTCRoomEntry[], roomdId?: string): void;
5496
+ /**
5497
+ * 获取加入 RTC 房间的用户信息(当前仅能查自己的)
5498
+ * @deprecated
5499
+ */
5500
+ getRTCJoinedUserInfo(userId: string): IPromiseResult<IRTCJoinedInfo[]>;
5489
5501
  }
5490
5502
 
5503
+ declare const keymaps: {
5504
+ readonly RtcInput: readonly ["roomType", "broadcastType", "extraInnerData", "needSysChatroom", "identityChangeType", "joinType", "innerDatas", "outerDatas"];
5505
+ readonly RtcUserListOutput: readonly ["users", "token", "sessionId", "roomInfo"];
5506
+ readonly SetUserStatusInput: readonly ["status"];
5507
+ readonly RtcSetDataInput: readonly ["interior", "target", "key", "value", "objectName", "content"];
5508
+ readonly RtcUserSetDataInput: readonly ["valueInfo", "objectName", "content"];
5509
+ readonly RtcDataInput: readonly ["interior", "target", "key", "objectName", "content"];
5510
+ readonly RtcSetOutDataInput: readonly ["target", "valueInfo", "objectName", "content"];
5511
+ readonly MCFollowInput: readonly ["state"];
5512
+ readonly RtcTokenOutput: readonly ["rtcToken"];
5513
+ readonly RtcQryOutput: readonly ["outInfo"];
5514
+ readonly RtcQryUserOutDataInput: readonly ["userId"];
5515
+ readonly RtcUserOutDataOutput: readonly ["user"];
5516
+ readonly RtcQueryListInput: readonly ["order"];
5517
+ readonly RtcRoomInfoOutput: readonly ["roomId", "roomData", "userCount", "list"];
5518
+ readonly RtcValueInfo: readonly ["key", "value"];
5519
+ readonly RtcKeyDeleteInput: readonly ["key"];
5520
+ readonly RtcNotifyMsg: readonly ["type", "time", "roomId"];
5521
+ readonly RtcPullKV: readonly ["timestamp", "roomId"];
5522
+ readonly RtcKVOutput: readonly ["entries", "bFullUpdate", "syncTime"];
5523
+ readonly RtcQueryUserJoinedInput: readonly ["userId"];
5524
+ readonly RtcQueryUserJoinedOutput: readonly ["info"];
5525
+ readonly RtcInviteInput: readonly ["invitedUserId", "timeoutTime", "invitedRoomId", "inviteInfo", "inviteSessionId"];
5526
+ readonly RtcCancelInviteInput: readonly ["invitedUserId", "invitedRoomId", "inviteInfo", "inviteSessionId"];
5527
+ readonly RtcInviteAnswerInput: readonly ["inviteUserId", "answerCode", "inviteRoomId", "inviteSessionId", "content", "key", "value"];
5528
+ readonly RtcEndInviteInput: readonly ["inviteRoomId", "inviteSessionId", "inviteContent", "inviteRoomKeys"];
5529
+ };
5530
+ declare type RTCKeyMaps = typeof keymaps;
5531
+
5491
5532
  interface IEngineWatcher {
5492
5533
  /**
5493
5534
  * @param message 消息
@@ -5520,6 +5561,7 @@ interface IEngineWatcher {
5520
5561
  */
5521
5562
  declare abstract class AEngine implements IEngine {
5522
5563
  readonly runtime: IRuntime;
5564
+ readonly rtcCodec: AbsCodec<RTCKeyMaps>;
5523
5565
  protected readonly _watcher: IEngineWatcher;
5524
5566
  protected readonly _options: IAPIContextOption;
5525
5567
  /**
@@ -5529,11 +5571,18 @@ declare abstract class AEngine implements IEngine {
5529
5571
  protected readonly _appkey: string;
5530
5572
  protected readonly _apiVer: string;
5531
5573
  protected readonly _apiVersion: string;
5574
+ private _rtcKVManager;
5532
5575
  /**
5533
5576
  * 引擎初始化
5534
5577
  * @param _appkey
5535
5578
  */
5536
- constructor(runtime: IRuntime, _watcher: IEngineWatcher, _options: IAPIContextOption);
5579
+ constructor(runtime: IRuntime, rtcCodec: AbsCodec<RTCKeyMaps>, _watcher: IEngineWatcher, _options: IAPIContextOption);
5580
+ protected _rtcSignalingListener?: (buffer: Uint8Array) => void;
5581
+ /**
5582
+ * 注册 RTC KV 变更监听器
5583
+ * @param listener
5584
+ */
5585
+ registerRTCSignalingListener(listener: ((buffer: Uint8Array) => void) | undefined): void;
5537
5586
  abstract requestNaviInfo(uris: string[], appkey: string, token: string, checkCA?: boolean): Promise<INaviInfo | null>;
5538
5587
  /**
5539
5588
  * 获取导航数据
@@ -6159,15 +6208,27 @@ declare abstract class AEngine implements IEngine {
6159
6208
  */
6160
6209
  abstract getAllConversationState(): Promise<IAsyncRes<IConversationState[]>>;
6161
6210
  abstract clearData(): Promise<IAsyncRes<boolean>>;
6162
- abstract joinRTCRoom(roomId: string, mode: RTCMode, broadcastType?: number, joinType?: RTCJoinType, innerUserDatas?: IRTCUserData, outerUserDatas?: IRTCUserData): IPromiseResult<IJoinRTCRoomData>;
6163
- abstract quitRTCRoom(roomId: string): Promise<ErrorCode>;
6211
+ /**
6212
+ * RTC 通用调用接口
6213
+ * 在非 Comet 协议下,入参 sourceData 应为 ArrayBuffer 数据,返回结果为 Uint8Array 数据
6214
+ * @param roomId 房间 ID
6215
+ * @param method CMP 接口方法名
6216
+ * @param isQuery 使用 `qry` or `pub` 进行请求,按服务要求传递
6217
+ * @param sourceData PB 数据
6218
+ */
6219
+ abstract rtcSignaling(roomId: string, method: string, isQuery: boolean, sourceData: ArrayBuffer | object): Promise<{
6220
+ code: ErrorCode;
6221
+ buffer?: Uint8Array | string;
6222
+ }>;
6164
6223
  abstract rtcPing(roomId: string, mode: number, broadcastType?: number): Promise<ErrorCode>;
6165
- abstract getRTCRoomInfo(roomId: string): IPromiseResult<IRTCRoomInfo>;
6166
- abstract getRTCUserInfoList(roomId: string): IPromiseResult<IRTCUsers>;
6167
- abstract getRTCUserInfo(roomId: string): IPromiseResult<unknown>;
6168
- abstract setRTCUserInfo(roomId: string, key: string, value: string): Promise<ErrorCode>;
6169
- abstract removeRTCUserInfo(roomId: string, keys: string[]): Promise<ErrorCode>;
6170
- abstract setRTCData(roomId: string, key: string, value: string, isInner: boolean, apiType: RTCApiType, message?: {
6224
+ joinRTCRoom(roomId: string, mode: RTCMode, broadcastType?: number, joinType?: RTCJoinType, innerUserDatas?: IRTCUserData, outerUserDatas?: IRTCUserData): IPromiseResult<IJoinRTCRoomData>;
6225
+ quitRTCRoom(roomId: string): Promise<ErrorCode>;
6226
+ getRTCRoomInfo(roomId: string): IPromiseResult<IRTCRoomInfo>;
6227
+ getRTCUserInfoList(roomId: string): IPromiseResult<IRTCUsers>;
6228
+ getRTCUserInfo(roomId: string): IPromiseResult<unknown>;
6229
+ setRTCUserInfo(roomId: string, key: string, value: string): Promise<ErrorCode>;
6230
+ removeRTCUserInfo(roomId: string, keys: string[]): Promise<ErrorCode>;
6231
+ setRTCData(roomId: string, key: string, value: string, isInner: boolean, apiType: RTCApiType, message?: {
6171
6232
  name: string;
6172
6233
  content: string;
6173
6234
  }): Promise<ErrorCode>;
@@ -6178,33 +6239,41 @@ declare abstract class AEngine implements IEngine {
6178
6239
  * @param valueInfo 全量资源数据
6179
6240
  * @param objectName 全量 URI 消息名
6180
6241
  */
6181
- abstract setRTCTotalRes(roomId: string, message: {
6242
+ setRTCTotalRes(roomId: string, message: {
6182
6243
  name: string;
6183
6244
  content: string;
6184
6245
  }, valueInfo: string, objectName: string, mcuValInfo: string): Promise<ErrorCode>;
6185
- abstract getRTCData(roomId: string, keys: string[], isInner: boolean, apiType: RTCApiType): IPromiseResult<KVString>;
6186
- abstract removeRTCData(roomId: string, keys: string[], isInner: boolean, apiType: RTCApiType, message?: {
6246
+ getRTCData(roomId: string, keys: string[], isInner: boolean, apiType: RTCApiType): IPromiseResult<KVString>;
6247
+ removeRTCData(roomId: string, keys: string[], isInner: boolean, apiType: RTCApiType, message?: {
6187
6248
  name: string;
6188
6249
  content: string;
6189
6250
  }): Promise<ErrorCode>;
6190
- abstract setRTCOutData(roomId: string, rtcData: unknown, type: number, message: unknown): Promise<ErrorCode>;
6191
- abstract getRTCOutData(roomId: string, userIds: string[]): IPromiseResult<unknown>;
6192
- abstract getRTCToken(roomId: string, mode: number, broadcastType?: number): IPromiseResult<IRtcTokenData>;
6193
- abstract setRTCState(roomId: string, reportId: string): Promise<ErrorCode>;
6194
- abstract getRTCUserList(roomId: string): IPromiseResult<IRTCUsers>;
6195
- abstract joinLivingRoomAsAudience(roomId: string, mode: RTCMode, broadcastType?: number): Promise<IAsyncRes<{
6251
+ setRTCOutData(roomId: string, rtcData: unknown, type: number, message: unknown): Promise<ErrorCode>;
6252
+ getRTCOutData(roomId: string, userIds: string[]): IPromiseResult<unknown>;
6253
+ getRTCToken(roomId: string, mode: number, broadcastType?: number): IPromiseResult<IRtcTokenData>;
6254
+ setRTCState(roomId: string, report: string): Promise<ErrorCode>;
6255
+ getRTCUserList(roomId: string): IPromiseResult<IRTCUsers>;
6256
+ joinLivingRoomAsAudience(roomId: string, mode: RTCMode, broadcastType?: number): Promise<IAsyncRes<{
6196
6257
  token: string;
6197
6258
  kvEntries: IServerRTCRoomEntry[];
6198
6259
  }>>;
6199
- abstract quitLivingRoomAsAudience(roomId: string): Promise<ErrorCode>;
6200
- abstract rtcIdentityChange(roomId: string, changeType: RTCIdentityChangeType, broadcastType?: number): Promise<IAsyncRes<IJoinRTCRoomData>>;
6201
- abstract getRTCJoinedUserInfo(userId: string): Promise<IAsyncRes<IRTCJoinedInfo[]>>;
6202
- abstract setRTCCDNUris(roomId: string, objectName: string, CDNUris: string): Promise<ErrorCode>;
6203
- abstract requestRoomPK(options: IReqRoomPKOptions): Promise<ErrorCode>;
6204
- abstract cancelRoomPK(options: ICancelRoomPKOptions): Promise<ErrorCode>;
6205
- abstract responseRoomPK(options: IResRoomPKOptions): Promise<ErrorCode>;
6206
- abstract endRoomPK(options: IEndRoomPKOptions): Promise<ErrorCode>;
6260
+ pullRTCRoomEntry(roomId: string, _timestamp: number): Promise<IAsyncRes<IChrmKVPullData>>;
6261
+ quitLivingRoomAsAudience(roomId: string): Promise<ErrorCode>;
6262
+ rtcIdentityChange(roomId: string, changeType: RTCIdentityChangeType, broadcastType?: number): Promise<IAsyncRes<IJoinRTCRoomData>>;
6263
+ getRTCJoinedUserInfo(userId: string): Promise<IAsyncRes<IRTCJoinedInfo[]>>;
6264
+ setRTCCDNUris(roomId: string, objectName: string, CDNUris: string): Promise<ErrorCode>;
6265
+ requestRoomPK(options: IReqRoomPKOptions): Promise<ErrorCode>;
6266
+ cancelRoomPK(options: ICancelRoomPKOptions): Promise<ErrorCode>;
6267
+ responseRoomPK(options: IResRoomPKOptions): Promise<ErrorCode>;
6268
+ endRoomPK(options: IEndRoomPKOptions): Promise<ErrorCode>;
6269
+ /**
6270
+ * 设置聊天室关联的rtc房间
6271
+ */
6207
6272
  abstract bindRTCRoomForChatroom(options: IRTCRoomBindOption): Promise<ErrorCode>;
6273
+ /**
6274
+ * 接收 rtc 资源变更
6275
+ */
6276
+ protected _receiveRtcKv(buffer: Uint8Array): void;
6208
6277
  }
6209
6278
 
6210
6279
  declare class AppStorage {
@@ -6748,4 +6817,4 @@ declare const ONE_LOG_SIZE_MAX = 1000;
6748
6817
  */
6749
6818
  declare const version: string;
6750
6819
 
6751
- export { AEngine, APIContext, AppStorage, AssertRules, CONNECTION_TYPE, CPP_PROTOCAL_MSGTYPE_OPTION, CallLibMsgType, ChatroomEntryType, ChatroomUserChangeType, CometChannel, ConnectResultCode, ConnectionStatus, ConversationType, DB_LOG_FLUSH_FREQUENCY, DB_LOG_MAX_SIZE, DelayTimer, ErrorCode, EventEmitter, FileType, HttpMethod, IAPIContextOption, IAndroidPushConfig, IAsyncRes, IBaseConversationInfo, IBlockedMessageInfo, ICancelRoomPKOptions, IChatRoomEntries, IChatRoomEntry, IChatroomEntries, IChatroomEntry, IChatroomEntryListenerData, IChatroomInfo, IChatroomListener, IChatroomListenerData, IChatroomRejoinedFailed, IChatroomRejoinedInfo, IChatroomRejoinedSuccessed, IChatroomUser, IChatroomUserChangeInfo, IChrmKVEntries, IChrmKVEntry, IConnectResult, IConnectionStatusListener, IConversationOption, IConversationState, IConversationStateListener, IConversationTag, IConversationTagListener, IDataChannelWatcher, IDeletedExpansion, IEndRoomPKOptions, IEngine, IEngineWatcher, IEventListener, IExpansionListener, IExpansionListenerData, IExpansionMsgContent, IExtraMethod, IGetMsgOption, IGetUltraGroupListOption, IGooglePushConfig, IInsertMsgOptions, IIsValidExpansion, IJoinRTCRoomData, ILocalReadReceiptInfo, ILocalTagStatus, ILogExtensions, ILogInfo, ILogInit, IM_CHATROOM_PULL_INTERVAL_TIME, IM_COMET_PULLMSG_TIMEOUT, IM_PING_INTERVAL_TIME, IM_PING_MIN_TIMEOUT, IM_PING_TIMEOUT, IM_SIGNAL_TIMEOUT, IMessageListnenr, IMessageReader, IMessageReaderResponse, IMetionedData, INaviInfo, IPluginGenerator, IPromiseResult, IPushConfig, IRTCInnerListener, IRTCJoinedInfo, IRTCRoomBindOption, IRTCRoomInfo, IRTCUserData, IRTCUsers, IReadReceiptInfo, IRealTimeLog, IRecallMsgContent, IRecallMsgOptions, IReceivedConversation, IReceivedConversationByTag, IReceivedMessage, IRemoveChatRoomEntries, IRemoveChatRoomEntry, IRemoveChatroomEntries, IRemoveChatroomEntry, IReqRoomPKOptions, IRequest, IResRoomPKOptions, IResponse, IRtcTokenData, IRuntime, ISendExMsgOptions, ISendMsgOptions, IServerConversationStatus, IServerRTCRoomEntry, IServerUserSetting, ISetConversationStatusOptions, IStorage, ITagInfo, ITagListener, ITagParam, ITagStatus, ITypingInfo, ITypingMessage, ITypingUser, IUltraExMsgOptions, IUltraGroupConversation, IUltraGroupOption, IUltraModifyMsgOptions, IUltraMsgQueryOptions, IUpdatedConversation, IUpdatedExpansion, IUploadAuth, IUserProfile, IWatcher, IWebSocket, IiOSPushConfig, ItypingStateListener, KVString, LiveRole, LiveType, LogLevel, LogSource, LogTagId, Logger, MAX_MESSAGE_CONTENT_BYTES, MAX_MESSAGE_EXPANSION_KEY_LENGTH, MAX_MESSAGE_EXPANSION_VAL_LENGTH, MINI_COMET_CONNECT_URIS, MINI_SOCKET_CONNECT_URIS, MentionedType, MessageBlockType, MessageDirection, MessageType, NAVI_CACHE_DURATION, NAVI_REQ_TIMEOUT, NetworkType, NotificationLevel, NotificationStatus, ONE_LOG_SIZE_MAX, OperateStatus, PING_REQ_TIMEOUT, PUBLIC_CLOUD_NAVI_URIS, PluginContext, RCAssertError, REAT_TIME_LOG_SIZE, RTCApiType, RTCIdentityChangeType, RTCJoinType, RTCMode, RTCPluginContext, ReceivedStatus, SEND_MESSAGE_TYPE_OPTION, STATUS_MESSAGE, STORAGE_ROOT_KEY, TagChangeType, UltraGroupChannelChangeType, UltraGroupChannelType, UltraMsgChangeType, UltraMsgSubChangeType, UploadMethod, VersionManage, WEB_SOCKET_TIMEOUT, WebSocketChannel, appendUrl, assert, clone, cloneByJSON, _default as engineLogger, forEach, formatConnectResponseCode, getBrowser, getMimeKey, getUUID, getUUID22, getUploadFileName, indexOf, isArray, isArrayBuffer, isBoolean, isFunction, isHttpUrl, isInObject, isInclude, isNull, isNumber, isObject, isString, isUndefined, isValidChannelId, isValidChrmEntryKey, isValidChrmEntryValue, isValidConversationType, isValidExpansion, isValidFileType, base as logger, map, notEmptyArray, notEmptyObject, notEmptyString, pushConfigsToJSON, pushJSONToConfigs, randomNum, todo, usingCppEngine, validate, version };
6820
+ export { AEngine, APIContext, AbsCodec, AppStorage, AssertRules, CONNECTION_TYPE, CPP_PROTOCAL_MSGTYPE_OPTION, CallLibMsgType, ChatroomEntryType, ChatroomUserChangeType, CometChannel, ConnectResultCode, ConnectionStatus, ConversationType, DB_LOG_FLUSH_FREQUENCY, DB_LOG_MAX_SIZE, DelayTimer, ErrorCode, EventEmitter, FileType, HttpMethod, IAPIContextOption, IAndroidPushConfig, IAsyncRes, IBaseConversationInfo, IBlockedMessageInfo, ICancelRoomPKOptions, IChatRoomEntries, IChatRoomEntry, IChatroomEntries, IChatroomEntry, IChatroomEntryListenerData, IChatroomInfo, IChatroomListener, IChatroomListenerData, IChatroomRejoinedFailed, IChatroomRejoinedInfo, IChatroomRejoinedSuccessed, IChatroomUser, IChatroomUserChangeInfo, IChrmKVEntries, IChrmKVEntry, IConnectResult, IConnectionStatusListener, IConversationOption, IConversationState, IConversationStateListener, IConversationTag, IConversationTagListener, IDataChannelWatcher, IDeletedExpansion, IEndRoomPKOptions, IEngine, IEngineWatcher, IEventListener, IExpansionListener, IExpansionListenerData, IExpansionMsgContent, IExtraMethod, IGetMsgOption, IGetUltraGroupListOption, IGooglePushConfig, IInsertMsgOptions, IIsValidExpansion, IJoinRTCRoomData, ILocalReadReceiptInfo, ILocalTagStatus, ILogExtensions, ILogInfo, ILogInit, IM_CHATROOM_PULL_INTERVAL_TIME, IM_COMET_PULLMSG_TIMEOUT, IM_PING_INTERVAL_TIME, IM_PING_MIN_TIMEOUT, IM_PING_TIMEOUT, IM_SIGNAL_TIMEOUT, IMessageListnenr, IMessageReader, IMessageReaderResponse, IMetionedData, INaviInfo, IPluginGenerator, IPromiseResult, IPushConfig, IRTCInnerListener, IRTCJoinedInfo, IRTCRoomBindOption, IRTCRoomInfo, IRTCUserData, IRTCUsers, IReadReceiptInfo, IRealTimeLog, IRecallMsgContent, IRecallMsgOptions, IReceivedConversation, IReceivedConversationByTag, IReceivedMessage, IRemoveChatRoomEntries, IRemoveChatRoomEntry, IRemoveChatroomEntries, IRemoveChatroomEntry, IReqRoomPKOptions, IRequest, IResRoomPKOptions, IResponse, IRtcTokenData, IRuntime, ISendExMsgOptions, ISendMsgOptions, IServerConversationStatus, IServerRTCRoomEntry, IServerUserSetting, ISetConversationStatusOptions, IStorage, ITagInfo, ITagListener, ITagParam, ITagStatus, ITypingInfo, ITypingMessage, ITypingUser, IUltraExMsgOptions, IUltraGroupConversation, IUltraGroupOption, IUltraModifyMsgOptions, IUltraMsgQueryOptions, IUpdatedConversation, IUpdatedExpansion, IUploadAuth, IUserProfile, IWatcher, IWebSocket, IiOSPushConfig, ItypingStateListener, KVString, LiveRole, LiveType, LogLevel, LogSource, LogTagId, Logger, MAX_MESSAGE_CONTENT_BYTES, MAX_MESSAGE_EXPANSION_KEY_LENGTH, MAX_MESSAGE_EXPANSION_VAL_LENGTH, MINI_COMET_CONNECT_URIS, MINI_SOCKET_CONNECT_URIS, MentionedType, MessageBlockSourceType, MessageBlockType, MessageDirection, MessageType, NAVI_CACHE_DURATION, NAVI_REQ_TIMEOUT, NetworkType, NotificationLevel, NotificationStatus, ONE_LOG_SIZE_MAX, OperateStatus, PING_REQ_TIMEOUT, PUBLIC_CLOUD_NAVI_URIS, PluginContext, RCAssertError, REAT_TIME_LOG_SIZE, RTCApiType, RTCIdentityChangeType, RTCJoinType, RTCKeyMaps, RTCMode, RTCPluginContext, ReceivedStatus, SEND_MESSAGE_TYPE_OPTION, STATUS_MESSAGE, STORAGE_ROOT_KEY, TagChangeType, UltraGroupChannelChangeType, UltraGroupChannelType, UltraMsgChangeType, UltraMsgSubChangeType, UploadMethod, VersionManage, WEB_SOCKET_TIMEOUT, WebSocketChannel, appendUrl, assert, clone, cloneByJSON, _default as engineLogger, forEach, formatConnectResponseCode, getBrowser, getMimeKey, getUUID, getUUID22, getUploadFileName, indexOf, isArray, isArrayBuffer, isBoolean, isFunction, isHttpUrl, isInObject, isInclude, isNull, isNumber, isObject, isString, isUndefined, isValidChannelId, isValidChrmEntryKey, isValidChrmEntryValue, isValidConversationType, isValidExpansion, isValidFileType, base as logger, map, notEmptyArray, notEmptyObject, notEmptyString, pushConfigsToJSON, pushJSONToConfigs, randomNum, todo, usingCppEngine, validate, version };