@agentunion/fastaun 0.2.13
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/LICENSE +17 -0
- package/README.md +78 -0
- package/dist/auth.d.ts +287 -0
- package/dist/auth.js +1668 -0
- package/dist/auth.js.map +1 -0
- package/dist/client.d.ts +359 -0
- package/dist/client.js +3918 -0
- package/dist/client.js.map +1 -0
- package/dist/config.d.ts +43 -0
- package/dist/config.js +119 -0
- package/dist/config.js.map +1 -0
- package/dist/crypto.d.ts +41 -0
- package/dist/crypto.js +85 -0
- package/dist/crypto.js.map +1 -0
- package/dist/discovery.d.ts +22 -0
- package/dist/discovery.js +110 -0
- package/dist/discovery.js.map +1 -0
- package/dist/e2ee-group.d.ts +192 -0
- package/dist/e2ee-group.js +1134 -0
- package/dist/e2ee-group.js.map +1 -0
- package/dist/e2ee.d.ts +120 -0
- package/dist/e2ee.js +890 -0
- package/dist/e2ee.js.map +1 -0
- package/dist/errors.d.ts +115 -0
- package/dist/errors.js +253 -0
- package/dist/errors.js.map +1 -0
- package/dist/events.d.ts +39 -0
- package/dist/events.js +82 -0
- package/dist/events.js.map +1 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.js +32 -0
- package/dist/index.js.map +1 -0
- package/dist/keystore/aid-db.d.ts +79 -0
- package/dist/keystore/aid-db.js +621 -0
- package/dist/keystore/aid-db.js.map +1 -0
- package/dist/keystore/file.d.ts +82 -0
- package/dist/keystore/file.js +395 -0
- package/dist/keystore/file.js.map +1 -0
- package/dist/keystore/index.d.ts +88 -0
- package/dist/keystore/index.js +7 -0
- package/dist/keystore/index.js.map +1 -0
- package/dist/keystore/sqlite-backup.d.ts +40 -0
- package/dist/keystore/sqlite-backup.js +379 -0
- package/dist/keystore/sqlite-backup.js.map +1 -0
- package/dist/logger.d.ts +6 -0
- package/dist/logger.js +53 -0
- package/dist/logger.js.map +1 -0
- package/dist/namespaces/auth.d.ts +49 -0
- package/dist/namespaces/auth.js +248 -0
- package/dist/namespaces/auth.js.map +1 -0
- package/dist/namespaces/custody.d.ts +47 -0
- package/dist/namespaces/custody.js +231 -0
- package/dist/namespaces/custody.js.map +1 -0
- package/dist/secret-store/file-store.d.ts +25 -0
- package/dist/secret-store/file-store.js +124 -0
- package/dist/secret-store/file-store.js.map +1 -0
- package/dist/secret-store/index.d.ts +28 -0
- package/dist/secret-store/index.js +19 -0
- package/dist/secret-store/index.js.map +1 -0
- package/dist/seq-tracker.d.ts +29 -0
- package/dist/seq-tracker.js +221 -0
- package/dist/seq-tracker.js.map +1 -0
- package/dist/transport.d.ts +60 -0
- package/dist/transport.js +355 -0
- package/dist/transport.js.map +1 -0
- package/dist/types.d.ts +170 -0
- package/dist/types.js +12 -0
- package/dist/types.js.map +1 -0
- package/package.json +42 -0
package/dist/auth.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1,359 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AUNClient — AUN Core SDK 主客户端
|
|
3
|
+
*
|
|
4
|
+
* 完整实现,与 Python SDK client.py 对齐。
|
|
5
|
+
* 功能:
|
|
6
|
+
* - 连接/断线重连/关闭
|
|
7
|
+
* - RPC 调用(含 E2EE 自动加解密编排)
|
|
8
|
+
* - 事件自动解密管线(P2P + 群组)
|
|
9
|
+
* - 后台任务(心跳、token 刷新、prekey 轮换、epoch 清理/轮换)
|
|
10
|
+
* - 客户端签名(关键操作)
|
|
11
|
+
* - 群组 E2EE 全自动编排(建群/加人/踢人/退出)
|
|
12
|
+
*/
|
|
13
|
+
import { E2EEManager } from './e2ee.js';
|
|
14
|
+
import { GroupE2EEManager } from './e2ee-group.js';
|
|
15
|
+
import { type Subscription, type EventHandler } from './events.js';
|
|
16
|
+
import { AuthNamespace } from './namespaces/auth.js';
|
|
17
|
+
import { CustodyNamespace } from './namespaces/custody.js';
|
|
18
|
+
import { type JsonValue, type RpcParams, type RpcResult } from './types.js';
|
|
19
|
+
/**
|
|
20
|
+
* 递归排序键的 JSON 序列化(Canonical JSON for AUN)
|
|
21
|
+
* 等价于 Python json.dumps(sort_keys=True, separators=(",",":"), ensure_ascii=False)
|
|
22
|
+
* 非 ASCII 字符直接以 UTF-8 输出,与 AAD 序列化规则一致。
|
|
23
|
+
*/
|
|
24
|
+
export declare function stableStringify(obj: JsonValue | object | undefined): string;
|
|
25
|
+
/**
|
|
26
|
+
* AUN Core SDK 主客户端
|
|
27
|
+
*/
|
|
28
|
+
export declare class AUNClient {
|
|
29
|
+
/** 原始配置 */
|
|
30
|
+
readonly config: RpcParams;
|
|
31
|
+
/** 解析后的配置模型 */
|
|
32
|
+
private _configModel;
|
|
33
|
+
/** 当前 AID */
|
|
34
|
+
private _aid;
|
|
35
|
+
/** 当前身份信息(内存缓存) */
|
|
36
|
+
private _identity;
|
|
37
|
+
/** 连接状态 */
|
|
38
|
+
private _state;
|
|
39
|
+
/** Gateway URL */
|
|
40
|
+
private _gatewayUrl;
|
|
41
|
+
/** 是否正在关闭 */
|
|
42
|
+
private _closing;
|
|
43
|
+
/** 事件调度器 */
|
|
44
|
+
private _dispatcher;
|
|
45
|
+
/** Gateway 发现 */
|
|
46
|
+
private _discovery;
|
|
47
|
+
/** 传输层 */
|
|
48
|
+
private _transport;
|
|
49
|
+
/** 认证流程 */
|
|
50
|
+
private _auth;
|
|
51
|
+
/** 密钥存储 */
|
|
52
|
+
private _keystore;
|
|
53
|
+
/** E2EE 管理器 */
|
|
54
|
+
private _e2ee;
|
|
55
|
+
/** 群组 E2EE 管理器 */
|
|
56
|
+
private _groupE2ee;
|
|
57
|
+
/** Auth 命名空间 */
|
|
58
|
+
readonly auth: AuthNamespace;
|
|
59
|
+
/** AID 托管命名空间 */
|
|
60
|
+
readonly custody: CustodyNamespace;
|
|
61
|
+
/** 会话参数(重连用) */
|
|
62
|
+
private _sessionParams;
|
|
63
|
+
/** 会话选项 */
|
|
64
|
+
private _sessionOptions;
|
|
65
|
+
/** 当前实例上下文 */
|
|
66
|
+
private _deviceId;
|
|
67
|
+
private _slotId;
|
|
68
|
+
private _connectDeliveryMode;
|
|
69
|
+
private _defaultConnectDeliveryMode;
|
|
70
|
+
/** peer 证书缓存 */
|
|
71
|
+
private _certCache;
|
|
72
|
+
private _peerPrekeysCache;
|
|
73
|
+
private _prekeyReplenishInflight;
|
|
74
|
+
private _prekeyReplenished;
|
|
75
|
+
/** 消息序列号跟踪器(群消息 + P2P 空洞检测) */
|
|
76
|
+
private _seqTracker;
|
|
77
|
+
private _seqTrackerContext;
|
|
78
|
+
/** 惰性群同步:已同步过的 group_id 集合 */
|
|
79
|
+
private _groupSynced;
|
|
80
|
+
/** 惰性 P2P 同步:是否已同步过 */
|
|
81
|
+
private _p2pSynced;
|
|
82
|
+
/** 补洞去重:已完成/进行中的 key -> 开始时间戳,防止重复 pull 同一区间 */
|
|
83
|
+
private _gapFillDone;
|
|
84
|
+
/** 推送路径已分发的 seq 集合(按命名空间),补洞路径 publish 前检查以避免重复分发 */
|
|
85
|
+
private _pushedSeqs;
|
|
86
|
+
private _pendingDecryptMsgs;
|
|
87
|
+
private _groupEpochRotationInflight;
|
|
88
|
+
private _groupEpochRecoveryInflight;
|
|
89
|
+
private _groupMembershipRotationDone;
|
|
90
|
+
private _groupEpochRotationRetryTimers;
|
|
91
|
+
private _heartbeatTimer;
|
|
92
|
+
private _tokenRefreshTimer;
|
|
93
|
+
private _tokenRefreshFailures;
|
|
94
|
+
private _prekeyRefreshTimer;
|
|
95
|
+
private _groupEpochCleanupTimer;
|
|
96
|
+
private _groupEpochRotateTimer;
|
|
97
|
+
private _cacheCleanupTimer;
|
|
98
|
+
private _reconnectActive;
|
|
99
|
+
private _reconnectAbort;
|
|
100
|
+
private _serverKicked;
|
|
101
|
+
constructor(config?: RpcParams, debug?: boolean);
|
|
102
|
+
/** 当前 AID */
|
|
103
|
+
get aid(): string | null;
|
|
104
|
+
/** 连接状态 */
|
|
105
|
+
get state(): string;
|
|
106
|
+
/** E2EE 管理器 */
|
|
107
|
+
get e2ee(): E2EEManager;
|
|
108
|
+
/** 群组 E2EE 管理器 */
|
|
109
|
+
get groupE2ee(): GroupE2EEManager;
|
|
110
|
+
/** 最近一次 gateway health check 结果,null 表示尚未检查 */
|
|
111
|
+
get gatewayHealth(): boolean | null;
|
|
112
|
+
/** 向 gatewayUrl 的 /health 端点发送 GET 请求,检查网关可用性 */
|
|
113
|
+
checkGatewayHealth(gatewayUrl: string, timeout?: number): Promise<boolean>;
|
|
114
|
+
/**
|
|
115
|
+
* 连接到 Gateway。
|
|
116
|
+
*
|
|
117
|
+
* @param auth - 认证参数(必须包含 access_token 和 gateway)
|
|
118
|
+
* @param options - 会话选项(auto_reconnect、heartbeat_interval 等)
|
|
119
|
+
*/
|
|
120
|
+
connect(auth: RpcParams, options?: RpcParams): Promise<void>;
|
|
121
|
+
/** 关闭连接 */
|
|
122
|
+
close(): Promise<void>;
|
|
123
|
+
/**
|
|
124
|
+
* 断开连接但不关闭客户端(可重新 connect,对齐 Python disconnect)。
|
|
125
|
+
* disconnect 是可恢复的:停止心跳、关闭 WebSocket,但不清理 keystore 等状态。
|
|
126
|
+
*/
|
|
127
|
+
disconnect(): Promise<void>;
|
|
128
|
+
/**
|
|
129
|
+
* 列出本地所有已存储的身份摘要(仅返回有有效私钥的 AID)。
|
|
130
|
+
*/
|
|
131
|
+
listIdentities(): Array<{
|
|
132
|
+
aid: string;
|
|
133
|
+
metadata?: Record<string, unknown>;
|
|
134
|
+
}>;
|
|
135
|
+
/**
|
|
136
|
+
* 发送 JSON-RPC 调用。
|
|
137
|
+
* 自动处理内部方法限制、E2EE 加解密、客户端签名等。
|
|
138
|
+
*/
|
|
139
|
+
call(method: string, params?: RpcParams): Promise<RpcResult>;
|
|
140
|
+
/** 心跳检测 */
|
|
141
|
+
ping(params?: RpcParams): Promise<RpcResult>;
|
|
142
|
+
/** 获取服务端状态 */
|
|
143
|
+
status(params?: RpcParams): Promise<RpcResult>;
|
|
144
|
+
/** 获取信任根证书列表 */
|
|
145
|
+
trustRoots(params?: RpcParams): Promise<RpcResult>;
|
|
146
|
+
/** 订阅事件 */
|
|
147
|
+
on(event: string, handler: EventHandler): Subscription;
|
|
148
|
+
/** 自动加密并发送 P2P 消息 */
|
|
149
|
+
private _sendEncrypted;
|
|
150
|
+
private _sendEncryptedSingle;
|
|
151
|
+
private _buildRecipientDeviceCopies;
|
|
152
|
+
private _resolveSelfCopyPeerCert;
|
|
153
|
+
private _buildSelfSyncCopies;
|
|
154
|
+
private _encryptCopyPayload;
|
|
155
|
+
private _ensureEncryptResult;
|
|
156
|
+
/** 自动加密并发送群组消息 */
|
|
157
|
+
private _sendGroupEncrypted;
|
|
158
|
+
/** 惰性同步:首次激活群时 pull 最近消息,建立 seq 基线 */
|
|
159
|
+
private _lazySyncGroup;
|
|
160
|
+
/** 惰性同步:首次激活 P2P 通道时 pull 最近消息,建立 seq 基线 */
|
|
161
|
+
private _lazySyncP2p;
|
|
162
|
+
private _isGroupEpochTooOldError;
|
|
163
|
+
private _isGroupEpochRotationPendingError;
|
|
164
|
+
private _isGroupEpochChangedDuringSendError;
|
|
165
|
+
private _isRecoverableGroupEpochError;
|
|
166
|
+
private _groupKeyRecoveryCandidates;
|
|
167
|
+
private _requestGroupKeyFrom;
|
|
168
|
+
private _requestGroupKeyFromCandidates;
|
|
169
|
+
private _recoverInitialGroupEpochIfNeeded;
|
|
170
|
+
private _ensureGroupEpochReady;
|
|
171
|
+
private _waitForGroupMembershipEpochFloor;
|
|
172
|
+
private _committedGroupEpochState;
|
|
173
|
+
private _groupSecretMatchesCommittedRotation;
|
|
174
|
+
private _ensureCommittedGroupSecretForSend;
|
|
175
|
+
/**
|
|
176
|
+
* 为关键操作附加客户端 ECDSA 签名(client_signature 字段)。
|
|
177
|
+
* 签名覆盖所有非 _ 前缀且非 client_signature 的业务字段。
|
|
178
|
+
*/
|
|
179
|
+
private _signClientOperation;
|
|
180
|
+
/** 处理 transport 层推送的原始 P2P 消息 */
|
|
181
|
+
private _onRawMessageReceived;
|
|
182
|
+
/** 实际处理推送消息的异步任务 */
|
|
183
|
+
private _processAndPublishMessage;
|
|
184
|
+
/** 处理群组消息推送:自动解密后 re-publish */
|
|
185
|
+
private _onRawGroupMessageCreated;
|
|
186
|
+
/**
|
|
187
|
+
* 处理群组推送消息的异步任务。
|
|
188
|
+
*
|
|
189
|
+
* 带 payload 的事件(消息推送):解密后 re-publish。
|
|
190
|
+
* 不带 payload 的事件(通知):自动 pull 最新消息,逐条解密后 re-publish。
|
|
191
|
+
*/
|
|
192
|
+
private _processAndPublishGroupMessage;
|
|
193
|
+
/** 收到不带 payload 的 group.message_created 通知后,自动 pull 最新消息 */
|
|
194
|
+
private _autoPullGroupMessages;
|
|
195
|
+
/** 后台补齐群消息空洞 */
|
|
196
|
+
private _fillGroupGap;
|
|
197
|
+
/** 后台补齐 P2P 消息空洞 */
|
|
198
|
+
private _fillP2pGap;
|
|
199
|
+
/** 清理 pushedSeqs 中 <= contiguousSeq 的条目,防止无限增长 */
|
|
200
|
+
private _prunePushedSeqs;
|
|
201
|
+
/** 后台补齐群事件空洞 */
|
|
202
|
+
private _fillGroupEventGap;
|
|
203
|
+
/**
|
|
204
|
+
* 上线/重连后一次性同步所有已加入群:
|
|
205
|
+
* 1. 有 epoch key 的群 → 补消息 + 补事件
|
|
206
|
+
* 2. 无 epoch key 的群 → 仅补事件(事件不加密,等推送触发密钥恢复)
|
|
207
|
+
*/
|
|
208
|
+
private _syncAllGroupsOnce;
|
|
209
|
+
/**
|
|
210
|
+
* 处理群组变更事件:透传给用户,并在成员离开/被踢时自动触发 epoch 轮换。
|
|
211
|
+
* 按协议,轮换由剩余在线 admin/owner 负责。
|
|
212
|
+
*/
|
|
213
|
+
private _membershipRotationExpectedEpoch;
|
|
214
|
+
private _membershipRotationTriggerId;
|
|
215
|
+
private _membershipRotationChanged;
|
|
216
|
+
private _extractGroupIdFromResult;
|
|
217
|
+
private _onRawGroupChanged;
|
|
218
|
+
/**
|
|
219
|
+
* 成员退出/被踢后,判断本地是否为 leader admin 并发起 epoch 轮换。
|
|
220
|
+
* 避免所有剩余 admin 同时触发 `_rotateGroupEpoch` 造成 CAS 风暴。
|
|
221
|
+
*/
|
|
222
|
+
private _maybeLeadRotateGroupEpoch;
|
|
223
|
+
/**
|
|
224
|
+
* 群组解散后清理本地状态:
|
|
225
|
+
* - keystore 中的 epoch key 数据
|
|
226
|
+
* - seq_tracker 中的群消息和群事件 seq 记录
|
|
227
|
+
* - 补洞去重缓存中的相关条目
|
|
228
|
+
*/
|
|
229
|
+
private _cleanupDissolvedGroup;
|
|
230
|
+
/** 同步验签群事件 client_signature。返回 true/false/"pending"。 */
|
|
231
|
+
/**
|
|
232
|
+
* H20 修复:原来返回 `string | boolean` 的三态;`_verified = 'pending'` 是 truthy
|
|
233
|
+
* 字符串,业务写 `if (event._verified)` 会把"证书未到"当成"已验证"。
|
|
234
|
+
* 改为严格 boolean,证书缺失时 await `_fetchPeerCert` 再判定;若仍失败返回 false
|
|
235
|
+
* 并触发 `signature_pending` 事件让上层感知。
|
|
236
|
+
*/
|
|
237
|
+
private _verifyEventSignatureAsync;
|
|
238
|
+
/** 尝试处理 P2P 传输的群组密钥消息。返回 true 表示已处理(不再传播)。 */
|
|
239
|
+
private _tryHandleGroupKeyMessage;
|
|
240
|
+
/**
|
|
241
|
+
* 获取对方证书(带缓存 + 完整 PKI 验证)。
|
|
242
|
+
* 跨域时自动路由到 peer 所在域的 Gateway。
|
|
243
|
+
*/
|
|
244
|
+
private _fetchPeerCert;
|
|
245
|
+
/** 获取对方所有设备的 prekey 列表。 */
|
|
246
|
+
private _fetchPeerPrekeys;
|
|
247
|
+
/** 获取对方的单个 prekey(兼容接口,优先返回第一条 device prekey)。 */
|
|
248
|
+
private _fetchPeerPrekey;
|
|
249
|
+
/** 生成 prekey 并上传到服务端 */
|
|
250
|
+
private _uploadPrekey;
|
|
251
|
+
/**
|
|
252
|
+
* 确保发送方证书在本地 keystore 中可用且未过期。
|
|
253
|
+
* 返回 true 表示证书已就绪(PKI 验证通过),false 表示不可用。
|
|
254
|
+
*/
|
|
255
|
+
private _ensureSenderCertCached;
|
|
256
|
+
/**
|
|
257
|
+
* 获取经过 PKI 验证的 peer 证书(仅信任内存缓存中已验证的证书)。
|
|
258
|
+
* 零信任:不直接信任 keystore 中可能由恶意服务端注入的证书。
|
|
259
|
+
*/
|
|
260
|
+
private _getVerifiedPeerCert;
|
|
261
|
+
/** 解密单条 P2P 消息 */
|
|
262
|
+
private _decryptSingleMessage;
|
|
263
|
+
/** 批量解密 P2P 消息(用于 message.pull) */
|
|
264
|
+
private _decryptMessages;
|
|
265
|
+
/** 解密单条群组消息。opts.skipReplay 用于 group.pull 场景跳过防重放。 */
|
|
266
|
+
private _enqueuePendingDecrypt;
|
|
267
|
+
private _retryPendingDecryptMsgs;
|
|
268
|
+
private _scheduleRetryPendingDecryptMsgs;
|
|
269
|
+
private _recoverGroupEpochKey;
|
|
270
|
+
private _doRecoverGroupEpochKey;
|
|
271
|
+
private _groupEpochSecretReadyForRecovery;
|
|
272
|
+
private _pendingGroupSecretStillCurrent;
|
|
273
|
+
private _decryptGroupMessage;
|
|
274
|
+
/** 批量解密群组消息(用于 group.pull,跳过防重放) */
|
|
275
|
+
private _decryptGroupMessages;
|
|
276
|
+
private _attachRotationId;
|
|
277
|
+
private _getGroupMemberAids;
|
|
278
|
+
private _distributeGroupEpochKey;
|
|
279
|
+
private _heartbeatGroupRotation;
|
|
280
|
+
private _ackGroupRotationKey;
|
|
281
|
+
private _verifyActiveGroupRotationDistribution;
|
|
282
|
+
private _discardGroupDistributionIfStale;
|
|
283
|
+
private _verifyGroupKeyResponseEpoch;
|
|
284
|
+
private _abortGroupRotation;
|
|
285
|
+
private _rotationExpectedMembersStale;
|
|
286
|
+
private _rotationRetryDelayMs;
|
|
287
|
+
private _scheduleGroupRotationRetry;
|
|
288
|
+
/** 建群后将本地 epoch 1 同步到服务端(服务端初始为 0),最多重试 3 次 */
|
|
289
|
+
private _syncEpochToServer;
|
|
290
|
+
/**
|
|
291
|
+
* 为指定群组轮换 epoch 并分发新密钥。
|
|
292
|
+
* 使用服务端两阶段 rotation,避免服务端先提交但密钥未分发。
|
|
293
|
+
*/
|
|
294
|
+
private _rotateGroupEpoch;
|
|
295
|
+
/** 将当前 group_secret 通过 P2P E2EE 分发给新成员 */
|
|
296
|
+
private _distributeKeyToNewMember;
|
|
297
|
+
/** 构建 epoch 轮换签名参数。失败时抛错,调用方需在 try/catch 中决定是否跳过轮换。 */
|
|
298
|
+
private _buildRotationSignature;
|
|
299
|
+
/** 从 keystore 恢复 SeqTracker 状态 */
|
|
300
|
+
private _restoreSeqTrackerState;
|
|
301
|
+
private _currentSeqTrackerContext;
|
|
302
|
+
private _resetSeqTrackingState;
|
|
303
|
+
private _refreshSeqTrackerContext;
|
|
304
|
+
/** 将 SeqTracker 状态保存到 keystore */
|
|
305
|
+
private _saveSeqTrackerState;
|
|
306
|
+
/** 记录 E2EE 自动编排错误 */
|
|
307
|
+
private _logE2eeError;
|
|
308
|
+
/** 跨域时将 Gateway URL 替换为 peer 所在域的 Gateway URL */
|
|
309
|
+
private static _resolvePeerGatewayUrl;
|
|
310
|
+
/** 构建证书下载 URL */
|
|
311
|
+
private static _certCacheKey;
|
|
312
|
+
private static _buildCertUrl;
|
|
313
|
+
/** 执行一次连接流程 */
|
|
314
|
+
private _connectOnce;
|
|
315
|
+
/** 从参数中解析 Gateway URL */
|
|
316
|
+
private _resolveGateway;
|
|
317
|
+
/** 连接后同步身份信息 */
|
|
318
|
+
private _syncIdentityAfterConnect;
|
|
319
|
+
/** 规范化连接参数 */
|
|
320
|
+
private _normalizeConnectParams;
|
|
321
|
+
/** 从参数构建会话选项 */
|
|
322
|
+
private _buildSessionOptions;
|
|
323
|
+
/** 启动所有后台任务 */
|
|
324
|
+
private _startBackgroundTasks;
|
|
325
|
+
/** 停止所有后台任务 */
|
|
326
|
+
private _stopBackgroundTasks;
|
|
327
|
+
/** 启动心跳任务 */
|
|
328
|
+
private _startHeartbeatTask;
|
|
329
|
+
/** 启动 token 刷新任务 */
|
|
330
|
+
private _startTokenRefreshTask;
|
|
331
|
+
/** 启动 prekey 刷新任务 */
|
|
332
|
+
private _startPrekeyRefreshTask;
|
|
333
|
+
private _extractConsumedPrekeyId;
|
|
334
|
+
private _validateMessageRecipient;
|
|
335
|
+
private _validateOutboundCall;
|
|
336
|
+
private _currentMessageDeliveryMode;
|
|
337
|
+
private _injectMessageCursorContext;
|
|
338
|
+
private _schedulePrekeyReplenishIfConsumed;
|
|
339
|
+
/** 启动群组 epoch 相关后台任务 */
|
|
340
|
+
private _startGroupEpochTasks;
|
|
341
|
+
/** 允许 Node.js 进程在只剩定时器时退出 */
|
|
342
|
+
private _unrefTimer;
|
|
343
|
+
/** 不重连 close code 集合:认证失败/权限错误/被踢等,重连无意义 */
|
|
344
|
+
private static readonly _NO_RECONNECT_CODES;
|
|
345
|
+
/** 处理服务端主动断开通知 event/gateway.disconnect */
|
|
346
|
+
private _onGatewayDisconnect;
|
|
347
|
+
/** 传输层断线回调 */
|
|
348
|
+
private _handleTransportDisconnect;
|
|
349
|
+
/** 启动重连循环(默认无限重试 + 指数退避 + 固定上限抖动,仅在不可重试错误、close() 或 max_attempts 耗尽时终止) */
|
|
350
|
+
private _startReconnect;
|
|
351
|
+
/** 重连循环(for 循环 + AbortController,与 JS/Python 对齐) */
|
|
352
|
+
private _reconnectLoop;
|
|
353
|
+
/** 可取消的 sleep */
|
|
354
|
+
private _sleep;
|
|
355
|
+
/** 停止重连 */
|
|
356
|
+
private _stopReconnect;
|
|
357
|
+
/** 判断是否应重试重连 */
|
|
358
|
+
private static _shouldRetryReconnect;
|
|
359
|
+
}
|