@rongcloud/engine 5.14.1-c-rtc-alpha-1 → 5.16.0-c-rtc-alpha-2

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
@@ -31,7 +31,6 @@ declare enum UploadMethod {
31
31
  */
32
32
  declare enum LogTagId {
33
33
  L_IMSDK_VER_O = "L-imsdk_ver-O",
34
- A_INIT_O = "A-init-O",
35
34
  A_INIT_REPEAT_O = "A_INIT_REPEAT_O",
36
35
  L_INIT_O = "L-init-O",
37
36
  A_DESTROY_O = "A_DESTROY_O",
@@ -95,7 +94,9 @@ declare enum LogTagId {
95
94
  A_DELETE_MESSAGES_S = "A-delete_messages-S",
96
95
  P_DELETE_MSG_S = "P-delete_msg-S",
97
96
  L_PULL_CONVERSATION_S = "L-pull_conversation-S",
98
- L_RECALL_ULTRA_MSG_S = "L-recall_ultra_msg-S",
97
+ A_RECALL_MESSAGE_T = "A-recall_msg-T",
98
+ A_RECALL_MESSAGE_R = "A-recall_msg-R",
99
+ A_RECALL_MESSAGE_E = "A-recall_msg-E",
99
100
  A_REGTYP_O = "A-regtyp-O",
100
101
  P_REGTYP_E = "P-regtype-E",
101
102
  L_GET_NAVI_T = "L-get_navi-T",
@@ -124,6 +125,8 @@ declare enum LogTagId {
124
125
  L_CHECK_ALIVE_IM_T = "L-check_alive_im-T",
125
126
  L_CHECK_ALIVE_IM_R = "L-check_alive_im-R",
126
127
  L_CHECK_ALIVE_IM_S = "L-check_alive_im-S",
128
+ A_GET_LOCAL_MESSAGE_T = "A-get_local_message-T",
129
+ A_GET_LOCAL_MESSAGE_R = "A-get_local_message-R",
127
130
  A_GET_HISTORY_MSG_T = "A-get_history_msg-T",
128
131
  A_GET_HISTORY_MSG_R = "A-get_history_msg-R",
129
132
  L_GET_HISTORY_MSG_T = "L-get_history_msg-T",
@@ -226,7 +229,11 @@ declare enum LogTagId {
226
229
  L_PULL_EVENT_CHANGE_NOTIFY_ULTRA_ONLINE_S = "L-pull_event_change_notify_ultra_online-S",
227
230
  L_PULL_EVENT_CHANGE_T = "L-pull_event_change-T",
228
231
  L_PULL_EVENT_CHANGE_R = "L-pull_event_change-R",
229
- L_PARSE_JSON_E = "L-parse_json-E"
232
+ L_PARSE_JSON_E = "L-parse_json-E",
233
+ L_REQ_STREAM_MSG_CONTENT_T = "L-req_stream_msg_content-T",
234
+ L_REQ_STREAM_MSG_CONTENT_R = "L-req_stream_msg_content-R",
235
+ L_REQ_STREAM_MSG_CONTENT_O = "L-req_stream_msg_content-O",
236
+ L_REQ_STREAM_MSG_CONTENT_E = "L-req_stream_msg_content-E"
230
237
  }
231
238
 
232
239
  /**
@@ -1228,6 +1235,12 @@ declare enum ErrorCode {
1228
1235
  * @since 5.12.0
1229
1236
  */
1230
1237
  RC_FRIEND_NOT_ALLOW_ADD_SELF = 25473,
1238
+ /**
1239
+ * 25480
1240
+ * 托管资料信息审核不通过
1241
+ * @since 5.16.0
1242
+ */
1243
+ SERVICE_INFORMATION_AUDIT_FAILED = 25480,
1231
1244
  /**
1232
1245
  * 26001
1233
1246
  * 用户级设置服务 请求参数不合法
@@ -1265,7 +1278,7 @@ declare enum ErrorCode {
1265
1278
  RC_SERVER_PARAMETER_MESSAGEUID_INVALID = 26009,
1266
1279
  /**
1267
1280
  * 26010
1268
- * 参数有误
1281
+ * 参数有���
1269
1282
  */
1270
1283
  RC_SERVER_PARAMETER_INVALID = 26010,
1271
1284
  /**
@@ -1395,6 +1408,12 @@ declare enum ErrorCode {
1395
1408
  * @since 5.2.0
1396
1409
  */
1397
1410
  RC_MSG_CONTENT_EXCEED_LIMIT = 30016,
1411
+ /**
1412
+ * 30017
1413
+ * 消息类型不支持发送。
1414
+ * @since 5.16.0
1415
+ */
1416
+ MESSAGE_NOT_SUPPORT_SENDING = 30017,
1398
1417
  /**
1399
1418
  * 30019
1400
1419
  * 网络连接不可用
@@ -1430,7 +1449,7 @@ declare enum ErrorCode {
1430
1449
  RC_CONN_IDENTIFIER_REJECTED = 31002,
1431
1450
  /**
1432
1451
  * 31003
1433
- * 连接服务未开通,需要排查后台小程序(或桌面端)服务是否已开通
1452
+ * 连接服务未开通���需要排查后台小程序(或桌面端)服务是否已开通
1434
1453
  * @solution 建议到开发者后台 - 服务管理开通对应业务服务
1435
1454
  * @since 5.2.0
1436
1455
  */
@@ -2539,6 +2558,42 @@ declare enum ErrorCode {
2539
2558
  * @deprecated
2540
2559
  */
2541
2560
  DRAF_GET_ERROR = 38001,
2561
+ /**
2562
+ * 39001
2563
+ * 流式消息不可用
2564
+ * @since 5.16.0
2565
+ */
2566
+ STREAM_MESSAGE_DISABLE = 39001,
2567
+ /**
2568
+ * 39002
2569
+ * 流式消息并发个数限制,最多 3 个。
2570
+ * @since 5.16.0
2571
+ */
2572
+ STREAM_MESSAGE_REQUEST_COUNT_LIMIT_EXCEEDED = 39002,
2573
+ /**
2574
+ * 39003
2575
+ * 流式消息的摘要扩展 Key 不支持修改或删除。
2576
+ * @since 5.16.0
2577
+ */
2578
+ STREAM_MESSAGE_EXPANSION_KEY_ERROR = 39003,
2579
+ /**
2580
+ * 39005
2581
+ * 拉取流式消息请求失败。
2582
+ * @since 5.16.0
2583
+ */
2584
+ STREAM_MESSAGE_REQUEST_FAIL = 39005,
2585
+ /**
2586
+ * 39006
2587
+ * 消息内容正在拉取中,请勿重复请求
2588
+ * @since 5.16.0
2589
+ */
2590
+ STREAM_MESSAGE_REQUEST_IN_PROCESS = 39006,
2591
+ /**
2592
+ * 39007
2593
+ * 流式消息已同步完成,不需要重新拉取
2594
+ * @since 5.16.0
2595
+ */
2596
+ STREAM_MESSAGE_SYNCED = 39007,
2542
2597
  /**
2543
2598
  * 41002
2544
2599
  * 获取七牛token失败
@@ -2800,7 +2855,11 @@ declare enum MessageType {
2800
2855
  /**
2801
2856
  * 云控消息
2802
2857
  */
2803
- CLOUD_CONTROL = "RC:CCConfigChangeRequestMsg"
2858
+ CLOUD_CONTROL = "RC:CCConfigChangeRequestMsg",
2859
+ /**
2860
+ * 流式消息
2861
+ */
2862
+ STREAM_MESSAGE = "RC:StreamMsg"
2804
2863
  }
2805
2864
 
2806
2865
  /**
@@ -3228,6 +3287,208 @@ declare const UUId: {
3228
3287
  genWithLen(strLen?: number): string;
3229
3288
  };
3230
3289
 
3290
+ declare type LSR<T> = {
3291
+ [P in keyof T]: T[P] extends (...args: any) => any ? T[P] : never;
3292
+ };
3293
+ declare type Params<T, K extends keyof T> = Parameters<LSR<T>[K]> extends never ? any : Parameters<LSR<T>[K]>;
3294
+ /**
3295
+ * @typeParam T - 事件类型与回调函数类型映射,用于数据类型推导
3296
+ */
3297
+ declare class EventEmitter$1<T> {
3298
+ /**
3299
+ * 事件监听器集合,其中键为事件类型,值为监听器数组;监听器数组中以优先级升序排列
3300
+ */
3301
+ private readonly _map;
3302
+ private _addItem;
3303
+ /**
3304
+ * @hidden
3305
+ * 添加事件监听器
3306
+ * @param event 事件类型
3307
+ * @param listener 监听器
3308
+ * @param target 监听器回调时的 this 对象
3309
+ * @param priority 监听器调用优先级,默认为 0,值越大调用优先级越高,最大值 100
3310
+ * @returns 返回 symbol,移除监听时使用
3311
+ */
3312
+ on<K extends keyof T>(event: K, listener: LSR<T>[K], target?: any, priority?: number): symbol;
3313
+ /**
3314
+ * @hidden
3315
+ * 添加事件监听器,并在一次通知过后移除该监听器
3316
+ * @param event 事件类型
3317
+ * @param listener 监听器
3318
+ * @param target 监听器回调时的 this 对象
3319
+ * @param priority 监听器调用优先级,默认为 0,值越大调用优先级越高,最大值 100
3320
+ * @returns 返回 symbol,移除监听时使用
3321
+ */
3322
+ once<K extends keyof T>(event: K, listener: LSR<T>[K], target?: any, priority?: number): symbol;
3323
+ /**
3324
+ * @hidden
3325
+ * 移除事件监听
3326
+ * @param symbol - 监听器 symbol
3327
+ */
3328
+ off(symbol: symbol): void;
3329
+ /**
3330
+ * @hidden
3331
+ * 派发事件以通知所有观察者,派发顺序按监听器优先级降序调用
3332
+ */
3333
+ emit<K extends keyof T>(event: K, ...args: Params<T, K>): void;
3334
+ /**
3335
+ * @hidden
3336
+ * 清除指定类型的所有事件监听
3337
+ * @param event
3338
+ */
3339
+ removeAll(event: keyof T): void;
3340
+ /**
3341
+ * @hidden
3342
+ * 清除所有事件监听器,同时解除所有事件的 pipe
3343
+ */
3344
+ clear(): void;
3345
+ private _piped;
3346
+ /**
3347
+ * 连接目标事件监听器,本实例派发的事件会被传递给入参事件监听器
3348
+ * 举例:a.pipe(b) 后,当 a.emit 后,b 的所有监听器也会触发,但会晚于所有 a 的监听器;
3349
+ * @param emitter
3350
+ * @hidden
3351
+ */
3352
+ pipe(emitter: EventEmitter$1<any>): void;
3353
+ }
3354
+
3355
+ declare class SuspendablePromise<T> {
3356
+ private readonly _promise;
3357
+ private _resolve;
3358
+ private _onCancel;
3359
+ constructor(handle: (resolve: (val: T) => void) => void, onCancel: (resolve: (val: T) => void) => void);
3360
+ private _onResolve;
3361
+ result(): Promise<T>;
3362
+ abort(): void;
3363
+ }
3364
+
3365
+ declare class RCResult<T = void> {
3366
+ readonly code: number;
3367
+ readonly msg: string;
3368
+ readonly data?: T;
3369
+ readonly isOk: boolean;
3370
+ /**
3371
+ * @hidden
3372
+ */
3373
+ constructor(code: number, msg: string, data?: T);
3374
+ /**
3375
+ * 结果为 ok 时,进行后续异步操作
3376
+ * @hidden
3377
+ */
3378
+ next<U>(onfulfilled: (value: T) => Promise<RCResult<U>>): Promise<RCResult<U>>;
3379
+ /**
3380
+ * 当结果为 ok 时,直接返回当前值;若结果为 fail 是,调用 onfail 等待处理,并返回处理结果
3381
+ * @param onfail
3382
+ * @description 回调函数返回的数据类型需与原类型保持一致
3383
+ * @hidden
3384
+ */
3385
+ or(onfail: (code: number) => Promise<RCResult<T>>): Promise<RCResult<T>>;
3386
+ /**
3387
+ * 结果为 ok 时,对 data 进行数据转换
3388
+ * @hidden
3389
+ */
3390
+ trans<U>(handler: (data: T) => U): RCResult<U>;
3391
+ /**
3392
+ * 结果为 ok 时,尝试进行后续数据转换,并返回转换结果
3393
+ * @hidden
3394
+ */
3395
+ tryTrans<U>(handler: (data: T) => RCResult<U>): RCResult<U>;
3396
+ /**
3397
+ * JSON 序列号错误信息
3398
+ * @hidden
3399
+ */
3400
+ errmsg(): string;
3401
+ /**
3402
+ * 抹除 data 数据,返回新的 RCResult 对象,不改变原数据
3403
+ * @hidden
3404
+ */
3405
+ wipe(): RCResult<any>;
3406
+ }
3407
+ declare const ok: <T>(data?: T, desc?: string) => RCResult<T>;
3408
+ declare const fail: <T>(code: number, desc?: string, data?: T) => RCResult<T>;
3409
+
3410
+ declare class Validator {
3411
+ protected readonly _apiName: string;
3412
+ /**
3413
+ * @param apiName 记录方法名
3414
+ * @returns
3415
+ */
3416
+ static create(apiName: string): Validator;
3417
+ /** 验证结果是否有效 */
3418
+ private _isValid;
3419
+ /** 当结果无效时定义错误码 */
3420
+ private _code;
3421
+ private _errmsg;
3422
+ /** 检测结果失败时定义错误码及错误信息,整个检测过程中仅第一次调用生效 */
3423
+ fail(code: number, msg?: string): Validator;
3424
+ /** 获取检测结果 */
3425
+ result(): RCResult;
3426
+ /**
3427
+ * @hidden
3428
+ */
3429
+ constructor(_apiName: string);
3430
+ /**
3431
+ * 验证参数是否合规
3432
+ * @param key
3433
+ * @param value
3434
+ * @param handler
3435
+ * @param required
3436
+ */
3437
+ validate(key: string, value: any, handler: (value: any) => boolean, required?: boolean): Validator;
3438
+ /**
3439
+ * 验证参数是否合规,不合规时抛出 CMSYError
3440
+ * @param key - 参数名,当抛出异常时用于提供详细错误信息
3441
+ * @param value - 待验证数据
3442
+ * @param handler - 验证方法,返回一个 boolean
3443
+ * @param required - 待验证参数是否未必填项
3444
+ * @throws CMSYError
3445
+ */
3446
+ assert(key: string, value: any, handler: (value: any) => boolean, required?: boolean): Validator;
3447
+ isString(key: string, value: unknown, required?: boolean): Validator;
3448
+ /** string 类型检查 */
3449
+ assertString(key: string, value: unknown, required?: boolean): Validator;
3450
+ /** 长度不为 0 的有效字符串 */
3451
+ isNotEmptyString(key: string, value: unknown, required?: boolean): Validator;
3452
+ assertNotEmptyString(key: string, value: unknown, required?: boolean): Validator;
3453
+ isLimitedString(key: string, value: unknown, minLength: number, maxLength: number, required?: boolean): Validator;
3454
+ /** 限定长度字符串检查,检查失败时抛出 CMSYError */
3455
+ assertLimitedString(key: string, value: unknown, minLength: number, maxLength: number, required?: boolean): Validator;
3456
+ isBoolean(key: string, value: unknown, required?: boolean): Validator;
3457
+ /** 布尔值类型检查 */
3458
+ assertBoolean(key: string, value: unknown, required?: boolean): Validator;
3459
+ isNumber(key: string, value: unknown, required?: boolean): Validator;
3460
+ /** Number 类型检查 */
3461
+ assertNumber(key: string, value: unknown, required?: boolean): Validator;
3462
+ isLimitedNumber(key: string, value: unknown, min: number, max: number, required?: boolean): Validator;
3463
+ /** 检查限定范围数字 */
3464
+ assertLimitedNumber(key: string, value: unknown, min: number, max: number, required?: boolean): Validator;
3465
+ isInteger(key: string, value: unknown, required?: boolean): Validator;
3466
+ /** 整数检查 */
3467
+ assertInteger(key: string, value: unknown, required?: boolean): Validator;
3468
+ isLimitedInteger(key: string, value: unknown, min: number, max: number, required?: boolean): Validator;
3469
+ /** 有限整数检查 */
3470
+ assertLimitedInteger(key: string, value: unknown, min: number, max: number, required?: boolean): Validator;
3471
+ isArray(key: string, value: unknown, required?: boolean): Validator;
3472
+ /** Array 类型检查 */
3473
+ assertArray(key: string, value: unknown, required?: boolean): Validator;
3474
+ isLimitedArray(key: string, value: unknown, maxLength: number, required?: boolean, minLength?: number): Validator;
3475
+ /** 检查是否为限定长度的数组 */
3476
+ assertLimitedArray(key: string, value: unknown, maxLength: number, required?: boolean, minLength?: number): Validator;
3477
+ isTypedArray(key: string, value: unknown, itemValidator: (item: any) => boolean, required?: boolean): Validator;
3478
+ /** 类型化数组检查,除数组类型检查外,增加对每个元素的检查 */
3479
+ assertTypedArray(key: string, value: unknown, itemValidator: (item: any) => boolean, required?: boolean): Validator;
3480
+ isLimitedTypedArray(key: string, value: unknown, maxLength: number, itemValidator: (item: any) => boolean, required?: boolean, minLength?: number): Validator;
3481
+ /** 检查是否为限定长度的类型化数组 */
3482
+ assertLimitedTypedArray(key: string, value: unknown, maxLength: number, itemValidator: (item: any) => boolean, required?: boolean, minLength?: number): Validator;
3483
+ isObject(key: string, value: unknown, required?: boolean): Validator;
3484
+ /** Object 类型检查 */
3485
+ assertObject(key: string, value: unknown, required?: boolean): Validator;
3486
+ isValueOf<T extends Object>(key: string, value: unknown, target: T, required?: boolean): Validator;
3487
+ assertValueOf<T extends Object>(key: string, value: unknown, target: T, required?: boolean): Validator;
3488
+ isFunction(key: string, value: unknown, required?: boolean): Validator;
3489
+ assertFunction(key: string, value: unknown, required?: boolean): Validator;
3490
+ }
3491
+
3231
3492
  /**
3232
3493
  * @category Interface
3233
3494
  */
@@ -5270,24 +5531,24 @@ interface IOperateStatusNotify {
5270
5531
  */
5271
5532
  summary: IOperateSummary[];
5272
5533
  }
5273
- interface IRecallMsgOptions {
5534
+ declare type IRecallMsgOptions = {
5274
5535
  /**
5275
- * 会话组织机构标识
5276
- * 默认值未 空字符串
5277
- */
5278
- channelId: string;
5536
+ * 消息的唯一id,客户端依赖此属性查找要撤回的消息
5537
+ */
5538
+ messageUId: string;
5279
5539
  /**
5280
- * 发送消息携带的用户信息
5540
+ * 消息发送时间
5541
+ * @deprecated 目前公有云已不再依赖消息的发送时间,私有云因存在一些老客户服务版本过旧,暂时仍建议发送该参数
5542
+ */
5543
+ sentTime: number;
5544
+ /**
5545
+ * 撤回消息携带用户信息
5281
5546
  */
5282
5547
  user?: IUserProfile;
5283
5548
  /**
5284
5549
  * Push 信息
5285
5550
  */
5286
5551
  pushContent?: string;
5287
- /**
5288
- * 原消息体
5289
- */
5290
- oriContent?: any;
5291
5552
  /**
5292
5553
  * 是否发送静默消息
5293
5554
  * @description
@@ -5299,22 +5560,26 @@ interface IRecallMsgOptions {
5299
5560
  */
5300
5561
  pushConfig?: IPushConfig;
5301
5562
  /**
5302
- * 其他拓展信息
5303
- */
5563
+ * 撤回消息携带扩展信息
5564
+ */
5304
5565
  extra?: string;
5305
5566
  /**
5306
- * 是否删除原始消息(在移动端会使用到),为 true 时移动端会不显示小灰条提示
5567
+ * 是否删除接收端本地存储的原始消息,对 Web 平台无效
5307
5568
  */
5308
5569
  isDelete?: boolean;
5309
5570
  /**
5310
- * 定向消息撤回,人员列表
5571
+ * 用于标识定向消息撤回,只当 conversationType 值为 群、超级群 时有效
5311
5572
  */
5312
5573
  directionalUserIdList?: string[];
5313
5574
  /**
5314
- * 禁止更新到会话最新一条消息,默认 false: 更新,true: 不更新
5575
+ * 禁止更新到会话最新一条消息,默认 false: 更新,true: 不更新。
5315
5576
  */
5316
5577
  disableUpdateLastMessage?: boolean;
5317
- }
5578
+ /**
5579
+ * 用于融云 IMKit 展示需求,或业务其他需求,为透传字段,无实际管理作用
5580
+ */
5581
+ isAdmin?: boolean;
5582
+ };
5318
5583
  /**
5319
5584
  * 发送消息时的可选项信息
5320
5585
  */
@@ -5574,6 +5839,8 @@ interface ISendExMsgOptions {
5574
5839
  originExpansion?: {
5575
5840
  [key: string]: string;
5576
5841
  } | null;
5842
+ /** 消息类型 */
5843
+ messageType: string;
5577
5844
  }
5578
5845
  interface IUltraExMsgOptions {
5579
5846
  canIncludeExpansion: boolean;
@@ -5866,134 +6133,6 @@ interface IGroupMessageDeliverStatus {
5866
6133
  list: IGroupMessageDeliveredStatusInfo[];
5867
6134
  }
5868
6135
 
5869
- declare class SuspendablePromise<T> {
5870
- private readonly _promise;
5871
- private _resolve;
5872
- private _onCancel;
5873
- constructor(handle: (resolve: (val: T) => void) => void, onCancel: (resolve: (val: T) => void) => void);
5874
- private _onResolve;
5875
- result(): Promise<T>;
5876
- abort(): void;
5877
- }
5878
-
5879
- declare class RCResult<T = void> {
5880
- readonly code: number;
5881
- readonly msg: string;
5882
- readonly data?: T;
5883
- readonly isOk: boolean;
5884
- /**
5885
- * @internal
5886
- */
5887
- constructor(code: number, msg: string, data?: T);
5888
- /**
5889
- * 结果为 ok 时,进行后续异步操作
5890
- * @internal
5891
- */
5892
- next<U>(onfulfilled: (value: T) => Promise<RCResult<U>>): Promise<RCResult<U>>;
5893
- /**
5894
- * 结果为 ok 时,对 data 进行数据转换
5895
- * @internal
5896
- */
5897
- trans<U>(handler: (data: T) => U): RCResult<U>;
5898
- /**
5899
- * 结果为 ok 时,尝试进行后续数据转换,并返回转换结果
5900
- * @internal
5901
- */
5902
- tryTrans<U>(handler: (data: T) => RCResult<U>): RCResult<U>;
5903
- /**
5904
- * 抹除 data 数据
5905
- * @internal
5906
- */
5907
- wipe(): RCResult<any>;
5908
- /** @internal */
5909
- static ok<T>(data?: T, desc?: string): RCResult<T>;
5910
- /** @internal */
5911
- static fail<T>(code: number, desc?: string, data?: T): RCResult<T>;
5912
- }
5913
- declare const ok: typeof RCResult.ok;
5914
- declare const fail: typeof RCResult.fail;
5915
-
5916
- declare class Validator {
5917
- protected readonly _apiName: string;
5918
- /**
5919
- * @param apiName 记录方法名
5920
- * @returns
5921
- */
5922
- static create(apiName: string): Validator;
5923
- /** 验证结果是否有效 */
5924
- private _isValid;
5925
- /** 当结果无效时定义错误码 */
5926
- private _code;
5927
- private _errmsg;
5928
- /** 检测结果失败时定义错误码及错误信息,整个检测过程中仅第一次调用生效 */
5929
- fail(code: number, msg?: string): Validator;
5930
- /** 获取检测结果 */
5931
- result(): RCResult;
5932
- /**
5933
- * @internal
5934
- * @param _apiName
5935
- */
5936
- constructor(_apiName: string);
5937
- /**
5938
- * 验证参数是否合规
5939
- * @param key
5940
- * @param value
5941
- * @param handler
5942
- * @param required
5943
- */
5944
- validate(key: string, value: any, handler: (value: any) => boolean, required?: boolean): Validator;
5945
- /**
5946
- * 验证参数是否合规,不合规时抛出 CMSYError
5947
- * @param key - 参数名,当抛出异常时用于提供详细错误信息
5948
- * @param value - 待验证数据
5949
- * @param handler - 验证方法,返回一个 boolean
5950
- * @param required - 待验证参数是否未必填项
5951
- * @throws CMSYError
5952
- */
5953
- assert(key: string, value: any, handler: (value: any) => boolean, required?: boolean): Validator;
5954
- isString(key: string, value: unknown, required?: boolean): Validator;
5955
- /** string 类型检查 */
5956
- assertString(key: string, value: unknown, required?: boolean): Validator;
5957
- /** 长度不为 0 的有效字符串 */
5958
- isNotEmptyString(key: string, value: unknown, required?: boolean): Validator;
5959
- assertNotEmptyString(key: string, value: unknown, required?: boolean): Validator;
5960
- isLimitedString(key: string, value: unknown, minLength: number, maxLength: number, required?: boolean): Validator;
5961
- /** 限定长度字符串检查,检查失败时抛出 CMSYError */
5962
- assertLimitedString(key: string, value: unknown, minLength: number, maxLength: number, required?: boolean): Validator;
5963
- isBoolean(key: string, value: unknown, required?: boolean): Validator;
5964
- /** 布尔值类型检查 */
5965
- assertBoolean(key: string, value: unknown, required?: boolean): Validator;
5966
- isNumber(key: string, value: unknown, required?: boolean): Validator;
5967
- /** Number 类型检查 */
5968
- assertNumber(key: string, value: unknown, required?: boolean): Validator;
5969
- isLimitedNumber(key: string, value: unknown, min: number, max: number, required?: boolean): Validator;
5970
- /** 检查限定范围数字 */
5971
- assertLimitedNumber(key: string, value: unknown, min: number, max: number, required?: boolean): Validator;
5972
- isInteger(key: string, value: unknown, required?: boolean): Validator;
5973
- /** 整数检查 */
5974
- assertInteger(key: string, value: unknown, required?: boolean): Validator;
5975
- isLimitedInteger(key: string, value: unknown, min: number, max: number, required?: boolean): Validator;
5976
- /** 有限整数检查 */
5977
- assertLimitedInteger(key: string, value: unknown, min: number, max: number, required?: boolean): Validator;
5978
- isArray(key: string, value: unknown, required?: boolean): Validator;
5979
- /** Array 类型检查 */
5980
- assertArray(key: string, value: unknown, required?: boolean): Validator;
5981
- isLimitedArray(key: string, value: unknown, maxLength: number, required?: boolean, minLength?: number): Validator;
5982
- /** 检查是否为限定长度的数组 */
5983
- assertLimitedArray(key: string, value: unknown, maxLength: number, required?: boolean, minLength?: number): Validator;
5984
- isTypedArray(key: string, value: unknown, itemValidator: (item: any) => boolean, required?: boolean): Validator;
5985
- /** 类型化数组检查,除数组类型检查外,增加对每个元素的检查 */
5986
- assertTypedArray(key: string, value: unknown, itemValidator: (item: any) => boolean, required?: boolean): Validator;
5987
- isLimitedTypedArray(key: string, value: unknown, maxLength: number, itemValidator: (item: any) => boolean, required?: boolean, minLength?: number): Validator;
5988
- /** 检查是否为限定长度的类型化数组 */
5989
- assertLimitedTypedArray(key: string, value: unknown, maxLength: number, itemValidator: (item: any) => boolean, required?: boolean, minLength?: number): Validator;
5990
- isObject(key: string, value: unknown, required?: boolean): Validator;
5991
- /** Object 类型检查 */
5992
- assertObject(key: string, value: unknown, required?: boolean): Validator;
5993
- isValueOf<T extends Object>(key: string, value: unknown, target: T, required?: boolean): Validator;
5994
- assertValueOf<T extends Object>(key: string, value: unknown, target: T, required?: boolean): Validator;
5995
- }
5996
-
5997
6136
  /**
5998
6137
  * 异步任务结果结构
5999
6138
  * @category Interface
@@ -6025,7 +6164,9 @@ interface IServerAddressData {
6025
6164
  addr: string;
6026
6165
  protocol: EConnectProtocol;
6027
6166
  weight: number;
6167
+ /** 是否进行 tls 和 quic 竞速 */
6028
6168
  race?: boolean;
6169
+ /** 非服务下发属性,用于判断地址是否失败过的标识 */
6029
6170
  failed?: boolean;
6030
6171
  }
6031
6172
  interface ILogPolicy {
@@ -6037,6 +6178,14 @@ interface INaviLogConfig {
6037
6178
  policy: ILogPolicy;
6038
6179
  addrs: IServerAddressData[];
6039
6180
  }
6181
+ declare type IStreamServerAddress = {
6182
+ /** 服务地址,域名 + 端口 */
6183
+ addr: string;
6184
+ /** 协议类型 */
6185
+ protocol: EConnectProtocol;
6186
+ /** 权重,值越大优先级越高 */
6187
+ weight: number;
6188
+ };
6040
6189
  /**
6041
6190
  * 导航信息数据结构
6042
6191
  */
@@ -6341,6 +6490,13 @@ interface INaviInfo {
6341
6490
  * 0 未 ipv4 域名,1 为双栈域名,默认 0
6342
6491
  */
6343
6492
  ipType?: number;
6493
+ /**
6494
+ * AI 流式消息拉取服务地址
6495
+ */
6496
+ streamServer?: {
6497
+ /** 服务地址数据列表 */
6498
+ addrs?: IStreamServerAddress[];
6499
+ };
6344
6500
  }
6345
6501
 
6346
6502
  /**
@@ -7054,7 +7210,7 @@ interface IGroupInfoChanged {
7054
7210
  operatorInfo: IGroupMemberInfo;
7055
7211
  /**
7056
7212
  * 变更的群组信息,仅包含变更字段
7057
- * @deprecated - 从 5.14.0 版本开始,建议使用 `changedGroupInfo` 字段替代
7213
+ * @deprecated 从 5.14.0 版本开始,建议使用 `changedGroupInfo` 字段替代
7058
7214
  */
7059
7215
  groupInfo: IGroupInfo;
7060
7216
  /**
@@ -7271,7 +7427,7 @@ interface IEngine {
7271
7427
  * 会话的业务标识
7272
7428
  */
7273
7429
  channelId: string): Promise<ErrorCode>;
7274
- recallMsg(conversationType: ConversationType, targetId: string, messageUId: string, sentTime: number, recallMsgOptions: IRecallMsgOptions): IPromiseResult<IReceivedMessage>;
7430
+ recallMsg(conversation: IConversationOption, recallMsgOptions: IRecallMsgOptions): Promise<RCResult<IReceivedMessage>>;
7275
7431
  /**
7276
7432
  * 删除历史消息 通过 时间戳
7277
7433
  * @param timestamp 小于等于传入时间戳的消息均删除
@@ -7629,7 +7785,7 @@ interface IEngine {
7629
7785
  /**
7630
7786
  * 获取消息
7631
7787
  */
7632
- getMessage(messageId: number | string): IPromiseResult<IReceivedMessage>;
7788
+ getMessage(messageId: number | string): Promise<RCResult<IReceivedMessage>>;
7633
7789
  /**
7634
7790
  * 设置消息内容
7635
7791
  */
@@ -8027,14 +8183,14 @@ interface IEngineWatcher extends IConnectionListener {
8027
8183
  declare type IErrorKeys = {
8028
8184
  /**
8029
8185
  * 更新错误的 key 数组
8030
- * @since - 5.16.0
8186
+ * @since 5.16.0
8031
8187
  */
8032
8188
  errorKeys?: string[];
8033
8189
  };
8034
8190
  declare type IUpdateMyProfileFail = IErrorKeys & {
8035
8191
  /**
8036
8192
  * 更新错误的 key;自 5.16.0 版本开始,该值废弃;请优先使用 errorKeys
8037
- * @deprecated - @since 5.16.0;
8193
+ * @deprecated @since 5.16.0;
8038
8194
  */
8039
8195
  errorKey: string;
8040
8196
  };
@@ -8265,10 +8421,10 @@ declare abstract class BasicLogger {
8265
8421
  private static _traceIdCount;
8266
8422
  constructor(_appkey: string, _id: string, _type: LogType);
8267
8423
  /**
8268
- * 由子类继承实现日志入库
8269
- */
8270
- protected abstract flush(data: ILogData): void;
8271
- protected _writer(level: LogL, tag: string, content?: LogContent, traceId?: string): void;
8424
+ * 由子类继承实现日志入库
8425
+ */
8426
+ protected abstract _handleWrite(data: ILogData): void;
8427
+ protected _write(logData: ILogData): void;
8272
8428
  /**
8273
8429
  * 创建事务追踪 ID,全局唯一,便于跨进程、异步事务追踪,需要考虑多进程
8274
8430
  */
@@ -8278,7 +8434,7 @@ declare abstract class BasicLogger {
8278
8434
  * @returns
8279
8435
  */
8280
8436
  getSessionId(): string;
8281
- private _stdout;
8437
+ protected _stdout(logData: ILogData): void;
8282
8438
  /**
8283
8439
  * 用户的打印日志等级配置
8284
8440
  */
@@ -8289,6 +8445,18 @@ declare abstract class BasicLogger {
8289
8445
  info: (tag: string, content?: LogContent | undefined, traceId?: string | undefined) => void;
8290
8446
  warn: (tag: string, content?: LogContent | undefined, traceId?: string | undefined) => void;
8291
8447
  error: (tag: string, content?: LogContent | undefined, traceId?: string | undefined) => void;
8448
+ /**
8449
+ * 汇总 result 结果记录并记录日志
8450
+ * @param tag
8451
+ * @param isSuccess
8452
+ * @param traceId
8453
+ * @param summaryInfo - 日志摘要数据
8454
+ * @param successMsg - 自定义成功日志信息,优先级高于 summaryInfo
8455
+ * @param failMsg - 自定义失败日志信息,优先级高于 summaryInfo
8456
+ */
8457
+ summary(tag: string, res: RCResult<any>, traceId?: string, summaryInfo?: {
8458
+ [key: string]: string | number | boolean | undefined;
8459
+ }, successMsg?: () => string, failMsg?: () => string): void;
8292
8460
  /**
8293
8461
  * 内部质量数据统计接口,仅限 IMLib 与 RTCLib 内部使用
8294
8462
  */
@@ -8338,6 +8506,49 @@ declare enum AreaCode {
8338
8506
  SA = 5
8339
8507
  }
8340
8508
 
8509
+ interface ISSERequestOpts {
8510
+ /** 应用 appkey */
8511
+ readonly appkey: string;
8512
+ /** Token */
8513
+ readonly token: string;
8514
+ /** 消息 UId */
8515
+ readonly msgUId: string;
8516
+ /**
8517
+ * 原始数据回调,SSEClient 不处理业务数据
8518
+ * @param rawContent - 当次收到的增量数据
8519
+ */
8520
+ onRawContent(rawContent: string): void;
8521
+ /**
8522
+ * 连接中网络中断
8523
+ */
8524
+ onNetworkError(code: number): void;
8525
+ /**
8526
+ * 连接超时配置,单位毫秒
8527
+ */
8528
+ timeout: number;
8529
+ }
8530
+ interface ISSEClientInitOpts extends ISSERequestOpts {
8531
+ readonly logger: ILogger;
8532
+ }
8533
+ declare abstract class SSEClient {
8534
+ #private;
8535
+ /** 平台标识,用于请求时携带 */
8536
+ protected abstract _platform: string;
8537
+ protected readonly _logger: ILogger;
8538
+ constructor(
8539
+ /** 初始化参数 */
8540
+ initOpts: ISSEClientInitOpts);
8541
+ /**
8542
+ * @param url - 服务地址
8543
+ * @param opts
8544
+ */
8545
+ protected abstract _openHandler(url: string, opts: ISSERequestOpts): Promise<RCResult>;
8546
+ /**
8547
+ * 打开 SSE 连接,SSEClient 将依次按权重顺序尝试每个服务地址,直到成功打开连接。
8548
+ */
8549
+ open(addrs: IStreamServerAddress[]): Promise<RCResult>;
8550
+ }
8551
+
8341
8552
  interface IStorage {
8342
8553
  setItem(key: string, value: string): void;
8343
8554
  getItem(key: string): string | null;
@@ -8430,6 +8641,10 @@ interface IRuntime {
8430
8641
  * @since 5.7.9
8431
8642
  */
8432
8643
  removeNetworkStatusListener: () => void;
8644
+ /**
8645
+ * 创建 EventSource 客户端建立 SSE 链路,用于拉取 AI 流式消息数据
8646
+ */
8647
+ createSSEClient(initOpts: ISSEClientInitOpts): RCResult<SSEClient>;
8433
8648
  }
8434
8649
 
8435
8650
  declare const runtime: IRuntime;
@@ -8749,7 +8964,7 @@ declare type ModuleType<T> = {
8749
8964
  [key in KeyType<T>]?: any;
8750
8965
  };
8751
8966
  /**
8752
- * @deprecated - 因该工具已向 RTC 业务暴露,因此暂时不可删除,待 RTC 迁移到新工具后删除
8967
+ * @deprecated 因该工具已向 RTC 业务暴露,因此暂时不可删除,待 RTC 迁移到新工具后删除
8753
8968
  */
8754
8969
  declare class Codec<T> {
8755
8970
  /**
@@ -8826,7 +9041,7 @@ declare class PluginContext {
8826
9041
  * 获取 context
8827
9042
  */
8828
9043
  __getContext(): APIContext;
8829
- /** @deprecated - 使用 `createPBCodec` 替代 */
9044
+ /** @deprecated 使用 `createPBCodec` 替代 */
8830
9045
  createCodec<T extends CodecPBMaps>(keymaps: T, pbDesc: string): Codec<T>;
8831
9046
  createPBCodec<T>(desc: string, nestedMap: Map<string, keyof T>): Codec$1<T>;
8832
9047
  /**
@@ -9115,6 +9330,66 @@ interface IConnectResult {
9115
9330
  userId?: string;
9116
9331
  }
9117
9332
 
9333
+ /**
9334
+ * 流式消息数据拉取响应事件类型
9335
+ * @category Enum
9336
+ */
9337
+ declare enum StreamMessageResponseEventType {
9338
+ /**
9339
+ * 流式消息内容传输通道就绪
9340
+ */
9341
+ INIT = "INIT",
9342
+ /**
9343
+ * 流式消息数据到达通知
9344
+ */
9345
+ DATA = "DATA",
9346
+ /**
9347
+ * 流式消息拉取结束通知
9348
+ */
9349
+ END = "END"
9350
+ }
9351
+
9352
+ /**
9353
+ * 流式消息内容数据结构,在 `StreamMessageEvent.DATA` 事件中返回
9354
+ */
9355
+ declare type IStreamMessageResponseChunkData = {
9356
+ /**
9357
+ * 本次事件接收到的增量内容
9358
+ */
9359
+ content: string;
9360
+ /**
9361
+ * 已拉取到的累加内容
9362
+ */
9363
+ fullContent: string;
9364
+ };
9365
+ /**
9366
+ * 流式消息事件数据
9367
+ */
9368
+ declare type IStreamMessageResponseEventData<T> = {
9369
+ /** 流式消息 UId */
9370
+ messageUId: string;
9371
+ /** 消息实例,仅 Electron 平台支持 */
9372
+ message?: T;
9373
+ /** 当 type 值为 END 时,需要依赖 code 值确定重置或结束原因 */
9374
+ code: number;
9375
+ /** 响应事件类型 */
9376
+ type: StreamMessageResponseEventType;
9377
+ /** 接收到的流数据,仅当 type 值为 DATA 时有效 */
9378
+ chunk?: IStreamMessageResponseChunkData;
9379
+ /**
9380
+ * 服务器端数据是否已同步完成,当值为 true 时,表示服务器已不再产生新的流数据;仅当 type 值为 END 时有效
9381
+ */
9382
+ complete?: boolean;
9383
+ };
9384
+ /** SSE 模块 */
9385
+ declare class SSEModule extends EventEmitter$1<{
9386
+ message: (data: IStreamMessageResponseEventData<IReceivedMessage>) => void;
9387
+ }> {
9388
+ #private;
9389
+ constructor(ctx: APIContext, inElectron: boolean);
9390
+ requestStreamMessageContent(messageUId: string): Promise<RCResult>;
9391
+ }
9392
+
9118
9393
  declare class APIContext {
9119
9394
  private static _context?;
9120
9395
  static init(options: IAPIContextOption): APIContext;
@@ -9139,6 +9414,8 @@ declare class APIContext {
9139
9414
  private readonly _engine;
9140
9415
  readonly appkey: string;
9141
9416
  private readonly _options;
9417
+ /** 流式消息处理模块 */
9418
+ readonly sse: SSEModule;
9142
9419
  private _versionInfo;
9143
9420
  private _typingInfo;
9144
9421
  /**
@@ -9326,6 +9603,8 @@ declare class APIContext {
9326
9603
  getDeviceId(): string;
9327
9604
  getCurrentUserId(): string;
9328
9605
  getConnectionStatus(): RCConnectionStatus;
9606
+ /** 高阶函数,生成一个验证方法,验证是否处于连接中状态,并在连接状态可用时返回导航数据 */
9607
+ get validatorConnected(): () => RCResult<INaviInfo>;
9329
9608
  get token(): string;
9330
9609
  refetchNaviInfo(): IPromiseResult<INaviInfo | null>;
9331
9610
  /**
@@ -9388,9 +9667,6 @@ declare class APIContext {
9388
9667
  sendMessage(conversationType: ConversationType, targetId: string, options: ISendMsgOptions, onBefore?: (messageId: number) => void, traceId?: string): Promise<IAsyncRes<IReceivedMessage>>;
9389
9668
  /**
9390
9669
  * 发送扩展消息
9391
- * @param messageUId 消息 Id
9392
- * @param keys 需要删除的 key
9393
- * @param expansion 设置的扩展
9394
9670
  */
9395
9671
  sendExpansionMessage(options: ISendExMsgOptions): Promise<IAsyncRes<ErrorCode>>;
9396
9672
  /**
@@ -9554,7 +9830,15 @@ declare class APIContext {
9554
9830
  saveConversationMessageDraft(conversationType: ConversationType, targetId: string, draft: string, channelId?: string): Promise<ErrorCode>;
9555
9831
  getConversationMessageDraft(conversationType: ConversationType, targetId: string, channelId?: string): Promise<IAsyncRes<string>>;
9556
9832
  clearConversationMessageDraft(conversationType: ConversationType, targetId: string, channelId?: string): Promise<ErrorCode>;
9557
- recallMessage(conversationType: ConversationType, targetId: string, messageUId: string, sentTime: number, recallMsgOptions: IRecallMsgOptions): Promise<IAsyncRes<IReceivedMessage>>;
9833
+ /**
9834
+ * 撤回消息
9835
+ * @param conversation 会话信息
9836
+ * @param messageUId
9837
+ * @param sentTime - 目前公有云已撤回消息已不再依赖消息的发送时间,私有云因存在一些老客户服务版本过旧,暂时仍需发送该参数
9838
+ * @param recallMsgOptions
9839
+ * @returns
9840
+ */
9841
+ recallMessage(conversation: IConversationOption, recallMsgOptions: IRecallMsgOptions): Promise<RCResult<IReceivedMessage>>;
9558
9842
  /**
9559
9843
  * 删除远端消息
9560
9844
  * @param conversationType
@@ -9945,7 +10229,7 @@ declare class APIContext {
9945
10229
  /**
9946
10230
  * 获取本地消息
9947
10231
  */
9948
- getMessage(messageId: number | string): Promise<IAsyncRes<IReceivedMessage>>;
10232
+ getLocalMessage(messageId: number | string): Promise<RCResult<IReceivedMessage>>;
9949
10233
  /**
9950
10234
  * 设置消息内容
9951
10235
  */
@@ -10187,8 +10471,8 @@ declare class RTCPluginContext extends PluginContext {
10187
10471
  setRTCData(roomId: string, key: string, value: string, isInner: boolean, apiType: RTCApiType, message?: any): Promise<ErrorCode>;
10188
10472
  /**
10189
10473
  * @deprecated
10190
- * @param - roomId
10191
- * @param - message 向前兼容的消息数据,以兼容旧版本 SDK,即增量数据,如:
10474
+ * @param roomId
10475
+ * @param message 向前兼容的消息数据,以兼容旧版本 SDK,即增量数据,如:
10192
10476
  * ```
10193
10477
  * JSON.stringify({
10194
10478
  * name: 'RCRTC:PublishResource',
@@ -10196,8 +10480,8 @@ declare class RTCPluginContext extends PluginContext {
10196
10480
  * }
10197
10481
  * })
10198
10482
  * ```
10199
- * @param - valueInfo 全量资源数据
10200
- * @param - 全量 URI 消息名,即 `RCRTC:TotalContentResources`
10483
+ * @param valueInfo 全量资源数据
10484
+ * @param 全量 URI 消息名,即 `RCRTC:TotalContentResources`
10201
10485
  */
10202
10486
  setRTCTotalRes(roomId: string,
10203
10487
  /**
@@ -10486,7 +10770,7 @@ declare abstract class AEngine {
10486
10770
  * 会话的业务标识
10487
10771
  */
10488
10772
  channelId: string): Promise<ErrorCode>;
10489
- abstract recallMsg(conversationType: ConversationType, targetId: string, messageUId: string, sentTime: number, recallMsgOptions: IRecallMsgOptions): IPromiseResult<IReceivedMessage>;
10773
+ abstract recallMsg(conversation: IConversationOption, recallMsgOptions: IRecallMsgOptions): Promise<RCResult<IReceivedMessage>>;
10490
10774
  /**
10491
10775
  * 删除历史消息 通过 时间戳
10492
10776
  * @param timestamp 小于等于传入时间戳的消息均删除
@@ -10970,7 +11254,7 @@ declare abstract class AEngine {
10970
11254
  /**
10971
11255
  * 获取消息
10972
11256
  */
10973
- abstract getMessage(messageId: number | string): IPromiseResult<IReceivedMessage>;
11257
+ abstract getMessage(messageId: number | string): Promise<RCResult<IReceivedMessage>>;
10974
11258
  /**
10975
11259
  * 设置消息内容
10976
11260
  */
@@ -11521,11 +11805,11 @@ declare const isValidConversation: (conversation: any, conversationTypeList?: Co
11521
11805
  };
11522
11806
 
11523
11807
  /**
11524
- * @deprecated - 使用 UUId.gen() 替代
11808
+ * @deprecated 使用 UUId.gen() 替代
11525
11809
  */
11526
11810
  declare const getUUID: () => string;
11527
11811
  /**
11528
- * @deprecated - 使用 UUId.genWithLen(22) 替代
11812
+ * @deprecated 使用 UUId.genWithLen(22) 替代
11529
11813
  */
11530
11814
  declare const getUUID22: () => string;
11531
11815
 
@@ -11552,4 +11836,4 @@ declare class AppStorage {
11552
11836
  }): void;
11553
11837
  }
11554
11838
 
11555
- export { AEngine, APIContext, AbsCodec, AppStorage, AreaCode, AssertRules, BasicLogger, ChatroomEntryType, ChatroomSyncStatusReason, ChatroomUserChangeType, ChrmMemBanType, ChrmMemOperateType, ChrmSyncStatus, Codec, CodecPBMaps, ConnectionStatus, ConversationType, DirectionType, EnableLogL, ErrorCode, EventEmitter, FileType, FriendAddPermission, FriendApplicationStatus, FriendApplicationType, FriendRelationType, GroupApplicationDirection, GroupApplicationStatus, GroupApplicationType, GroupInviteHandlePermission, GroupJoinPermission, GroupMemberInfoEditPermission, GroupMemberRole, GroupOperation, GroupOperationPermission, GroupOperationRole, GroupOperationStatus, GroupOperationType, HttpMethod, IAPIContextOption, IAndroidPushConfig, IAsyncRes, IBaseConversationInfo, IBlockedMessageInfo, IChannelAndUserGroupChangeData, IChatRoomEntries, IChatRoomEntry, IChatroomEntries, IChatroomEntry, IChatroomEntryListenerData, IChatroomInfo, IChatroomJoinResponse, IChatroomListener, IChatroomListenerData, IChatroomModule, IChatroomNotifyBan, IChatroomNotifyBlock, IChatroomNotifyMultiLoginSync, IChatroomRejoinedFailed, IChatroomRejoinedInfo, IChatroomRejoinedSuccessed, IChatroomUser, IChatroomUserChangeInfo, IChrmKVEntries, IChrmKVEntry, IClearMessageOption, ICombineV2MessageContent, ICombinedMessage, IConnectionStatusListener, IConversationIdentifier, IConversationOption, IConversationState, IConversationStateListener, IConversationTag, IConversationTagListener, IConversationUnreadCount, ICreateGroupFail, IDeletedExpansion, IDeliveredUser, IDownloadAuth, IEngine, IEngineWatcher, IErrorKeys, IEventListener, IExpansionListener, IExpansionListenerData, IExtraMethod, IFirstUnreadMessageInfo, IFollowsInfo, IFriendAdd, IFriendApplicationInfo, IFriendApplicationStatusChange, IFriendDelete, IFriendInfo, IFriendInfoChangedSync, IFriendRelationInfo, IGetMsgOption, IGetUltraGroupListOption, IGooglePushConfig, IGroupApplicationInfo, IGroupFollowsChangedSync, IGroupFollowsList, IGroupFollowsUserInfo, IGroupInfo, IGroupInfoChanged, IGroupInfoOption, IGroupMemberInfo, IGroupMemberInfoChanged, IGroupMembers, IGroupMessageDeliverInfo, IGroupMessageDeliverStatus, IGroupMessageDeliveredStatusInfo, IGroupOperationInfo, IGroupReadReceiptData, IGroupRemarkChangedSync, IHarmonyOSPushConfig, IInsertMessage, IInsertMsgOptions, ILocalTagStatus, ILogData, ILogger, IMessageDeliver, IMessageDeliveredListener, IMessageListnenr, IMessageReadReceiptV4Response, IMessageReader, IMessageReaderResponse, INaviInfo, INetwork, INotificationQuietHoursSetting, IOSInfo, IOperateInfo, IOperateStatusNotify, IOperateSummary, IPagingQueryOption, IPagingQueryResult, IPluginGenerator, IPrivateReadReceiptData, IProcessCache, IProcessCode, IProcessInfo, IPromiseResult, IProxy, IPushConfig, IQuitGroupConfig, IRTCInnerListener, IRTCJoinedInfo, IRTCRoomBindOption, IRTCUsers, IReadReceiptData, IReadReceiptInfo, IReadReceiptResponseInfo, IRecallMsgOptions, IReceivedConversation, IReceivedConversationByTag, IReceivedMessage, IReceivedStatusInfo, IRemoveChatRoomEntries, IRemoveChatRoomEntry, IRemoveChatroomEntries, IRemoveChatroomEntry, IRequest, IResponse, IRuntime, ISendMsgOptions, IServerConversationStatus, IServerGroupBaseInfo, IServerUserSetting, ISetConversationStatusOptions, IStorage, ISubscribeRelationInfo, ISubscribeStatusDetail, ISubscribeUserStatusInfo, ISyncReadStatusData, ITagInfo, ITagListener, ITagParam, ITypingMessage, ITypingUser, IUltraChannelChangeInfo, IUltraChannelDeleteInfo, IUltraChannelUserKickedInfo, IUltraExMsgOptions, IUltraGroupConversation, IUltraGroupOption, IUltraGroupUnreadInfo, IUltraGroupUnreadMentionedOption, IUltraModifyMsgOptions, IUltraMsgQueryOptions, IUltraUnreadMsg, IUpdateItem, IUpdateMyProfileFail, IUpdatedConversation, IUpdatedExpansion, IUploadAuth, IUserGroupChangeData, IUserGroupStatusInfo, IUserProfile, IUserProfileInfo, IWatcher, IiOSPushConfig, InnerRTCKeyMaps, InterruptionLevel, ItypingStateListener, KVString, LogL, LogLevel, LogSource, LogTagId, LogType, MAX_MESSAGE_CONTENT_BYTES, MAX_UPLOAD_FILE_SIZE, MentionedInfoBody, MentionedType, MessageBlockSourceType, MessageBlockType, MessageDirection, MessageType, NotificationLevel, NotificationStatus, OnlineStatus, OperateStatus, Codec$1 as PBCodec, PlatformInfo, PluginContext, PushImportanceHonor, PushNotificationQuietHoursLevel, QueryFriendsDirectionType, RCConnectionStatus, RCResult, RTCApiType, RTCJoinType, RTCMode, RTCPluginContext, ReceivedStatus, SEND_MESSAGE_TYPE_OPTION, SentStatus, SubscribeOperationType, SubscribeType, SuspendablePromise, UPLOAD_FILE_CHUNK_SIZE, UUId, UltraGroupChannelChangeType, UltraGroupChannelType, UploadMethod, UserProfileVisibility, Validator, ValidatorManage, VersionManage, assert, fail, fixUrlProtocol, forEach, getUUID, getUUID22, httpRequest, isArray, isBoolean, isFunction, isHttpUrl, isInteger, isLimitedArray, isLimitedString, isNull, isNumber, isObject, isString, isUndefined, isValidConversation, isValidConversationType, isValidEnum, isValidFileType, isValidGroupId, isValidNotificationLevel, isValidTargetId, logger, map, notEmptyArray, notEmptyObject, notEmptyString, ok, runtime, transformReceivedStatusFlag, transformReceivedStatusInfo, usingCppEngine, validate };
11839
+ export { AEngine, APIContext, AbsCodec, AppStorage, AreaCode, AssertRules, BasicLogger, ChatroomEntryType, ChatroomSyncStatusReason, ChatroomUserChangeType, ChrmMemBanType, ChrmMemOperateType, ChrmSyncStatus, Codec, CodecPBMaps, ConnectionStatus, ConversationType, DirectionType, EnableLogL, ErrorCode, EventEmitter, FileType, FriendAddPermission, FriendApplicationStatus, FriendApplicationType, FriendRelationType, GroupApplicationDirection, GroupApplicationStatus, GroupApplicationType, GroupInviteHandlePermission, GroupJoinPermission, GroupMemberInfoEditPermission, GroupMemberRole, GroupOperation, GroupOperationPermission, GroupOperationRole, GroupOperationStatus, GroupOperationType, HttpMethod, IAPIContextOption, IAndroidPushConfig, IAsyncRes, IBaseConversationInfo, IBlockedMessageInfo, IChannelAndUserGroupChangeData, IChatRoomEntries, IChatRoomEntry, IChatroomEntries, IChatroomEntry, IChatroomEntryListenerData, IChatroomInfo, IChatroomJoinResponse, IChatroomListener, IChatroomListenerData, IChatroomModule, IChatroomNotifyBan, IChatroomNotifyBlock, IChatroomNotifyMultiLoginSync, IChatroomRejoinedFailed, IChatroomRejoinedInfo, IChatroomRejoinedSuccessed, IChatroomUser, IChatroomUserChangeInfo, IChrmKVEntries, IChrmKVEntry, IClearMessageOption, ICombineV2MessageContent, ICombinedMessage, IConnectionStatusListener, IConversationIdentifier, IConversationOption, IConversationState, IConversationStateListener, IConversationTag, IConversationTagListener, IConversationUnreadCount, ICreateGroupFail, IDeletedExpansion, IDeliveredUser, IDownloadAuth, IEngine, IEngineWatcher, IErrorKeys, IEventListener, IExpansionListener, IExpansionListenerData, IExtraMethod, IFirstUnreadMessageInfo, IFollowsInfo, IFriendAdd, IFriendApplicationInfo, IFriendApplicationStatusChange, IFriendDelete, IFriendInfo, IFriendInfoChangedSync, IFriendRelationInfo, IGetMsgOption, IGetUltraGroupListOption, IGooglePushConfig, IGroupApplicationInfo, IGroupFollowsChangedSync, IGroupFollowsList, IGroupFollowsUserInfo, IGroupInfo, IGroupInfoChanged, IGroupInfoOption, IGroupMemberInfo, IGroupMemberInfoChanged, IGroupMembers, IGroupMessageDeliverInfo, IGroupMessageDeliverStatus, IGroupMessageDeliveredStatusInfo, IGroupOperationInfo, IGroupReadReceiptData, IGroupRemarkChangedSync, IHarmonyOSPushConfig, IInsertMessage, IInsertMsgOptions, ILocalTagStatus, ILogData, ILogger, IMessageDeliver, IMessageDeliveredListener, IMessageListnenr, IMessageReadReceiptV4Response, IMessageReader, IMessageReaderResponse, INaviInfo, INetwork, INotificationQuietHoursSetting, IOSInfo, IOperateInfo, IOperateStatusNotify, IOperateSummary, IPagingQueryOption, IPagingQueryResult, IPluginGenerator, IPrivateReadReceiptData, IProcessCache, IProcessCode, IProcessInfo, IPromiseResult, IProxy, IPushConfig, IQuitGroupConfig, IRTCInnerListener, IRTCJoinedInfo, IRTCRoomBindOption, IRTCUsers, IReadReceiptData, IReadReceiptInfo, IReadReceiptResponseInfo, IRecallMsgOptions, IReceivedConversation, IReceivedConversationByTag, IReceivedMessage, IReceivedStatusInfo, IRemoveChatRoomEntries, IRemoveChatRoomEntry, IRemoveChatroomEntries, IRemoveChatroomEntry, IRequest, IResponse, IRuntime, ISendMsgOptions, IServerConversationStatus, IServerGroupBaseInfo, IServerUserSetting, ISetConversationStatusOptions, IStorage, IStreamMessageResponseChunkData, IStreamMessageResponseEventData, ISubscribeRelationInfo, ISubscribeStatusDetail, ISubscribeUserStatusInfo, ISyncReadStatusData, ITagInfo, ITagListener, ITagParam, ITypingMessage, ITypingUser, IUltraChannelChangeInfo, IUltraChannelDeleteInfo, IUltraChannelUserKickedInfo, IUltraExMsgOptions, IUltraGroupConversation, IUltraGroupOption, IUltraGroupUnreadInfo, IUltraGroupUnreadMentionedOption, IUltraModifyMsgOptions, IUltraMsgQueryOptions, IUltraUnreadMsg, IUpdateItem, IUpdateMyProfileFail, IUpdatedConversation, IUpdatedExpansion, IUploadAuth, IUserGroupChangeData, IUserGroupStatusInfo, IUserProfile, IUserProfileInfo, IWatcher, IiOSPushConfig, InnerRTCKeyMaps, InterruptionLevel, ItypingStateListener, KVString, LogL, LogLevel, LogSource, LogTagId, LogType, MAX_MESSAGE_CONTENT_BYTES, MAX_UPLOAD_FILE_SIZE, MentionedInfoBody, MentionedType, MessageBlockSourceType, MessageBlockType, MessageDirection, MessageType, NotificationLevel, NotificationStatus, OnlineStatus, OperateStatus, Codec$1 as PBCodec, PlatformInfo, PluginContext, PushImportanceHonor, PushNotificationQuietHoursLevel, QueryFriendsDirectionType, RCConnectionStatus, RCResult, RTCApiType, RTCJoinType, RTCMode, RTCPluginContext, ReceivedStatus, SEND_MESSAGE_TYPE_OPTION, SSEModule, SentStatus, StreamMessageResponseEventType, SubscribeOperationType, SubscribeType, SuspendablePromise, UPLOAD_FILE_CHUNK_SIZE, UUId, UltraGroupChannelChangeType, UltraGroupChannelType, UploadMethod, UserProfileVisibility, Validator, ValidatorManage, VersionManage, assert, fail, fixUrlProtocol, forEach, getUUID, getUUID22, httpRequest, isArray, isBoolean, isFunction, isHttpUrl, isInteger, isLimitedArray, isLimitedString, isNull, isNumber, isObject, isString, isUndefined, isValidConversation, isValidConversationType, isValidEnum, isValidFileType, isValidGroupId, isValidNotificationLevel, isValidTargetId, logger, map, notEmptyArray, notEmptyObject, notEmptyString, ok, runtime, transformReceivedStatusFlag, transformReceivedStatusInfo, usingCppEngine, validate };