@agentunion/fastaun-browser 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.
Files changed (82) hide show
  1. package/README.md +604 -0
  2. package/dist/auth.d.ts +150 -0
  3. package/dist/auth.d.ts.map +1 -0
  4. package/dist/auth.js +1388 -0
  5. package/dist/auth.js.map +1 -0
  6. package/dist/certs/root.d.ts +2 -0
  7. package/dist/certs/root.d.ts.map +1 -0
  8. package/dist/certs/root.js +16 -0
  9. package/dist/certs/root.js.map +1 -0
  10. package/dist/client.d.ts +341 -0
  11. package/dist/client.d.ts.map +1 -0
  12. package/dist/client.js +4061 -0
  13. package/dist/client.js.map +1 -0
  14. package/dist/config.d.ts +37 -0
  15. package/dist/config.d.ts.map +1 -0
  16. package/dist/config.js +85 -0
  17. package/dist/config.js.map +1 -0
  18. package/dist/crypto.d.ts +41 -0
  19. package/dist/crypto.d.ts.map +1 -0
  20. package/dist/crypto.js +132 -0
  21. package/dist/crypto.js.map +1 -0
  22. package/dist/discovery.d.ts +20 -0
  23. package/dist/discovery.d.ts.map +1 -0
  24. package/dist/discovery.js +75 -0
  25. package/dist/discovery.js.map +1 -0
  26. package/dist/e2ee-group.d.ts +221 -0
  27. package/dist/e2ee-group.d.ts.map +1 -0
  28. package/dist/e2ee-group.js +1174 -0
  29. package/dist/e2ee-group.js.map +1 -0
  30. package/dist/e2ee.d.ts +187 -0
  31. package/dist/e2ee.d.ts.map +1 -0
  32. package/dist/e2ee.js +1067 -0
  33. package/dist/e2ee.js.map +1 -0
  34. package/dist/errors.d.ts +118 -0
  35. package/dist/errors.d.ts.map +1 -0
  36. package/dist/errors.js +250 -0
  37. package/dist/errors.js.map +1 -0
  38. package/dist/events.d.ts +33 -0
  39. package/dist/events.d.ts.map +1 -0
  40. package/dist/events.js +68 -0
  41. package/dist/events.js.map +1 -0
  42. package/dist/index.d.ts +22 -0
  43. package/dist/index.d.ts.map +1 -0
  44. package/dist/index.js +32 -0
  45. package/dist/index.js.map +1 -0
  46. package/dist/keystore/index.d.ts +88 -0
  47. package/dist/keystore/index.d.ts.map +1 -0
  48. package/dist/keystore/index.js +3 -0
  49. package/dist/keystore/index.js.map +1 -0
  50. package/dist/keystore/indexeddb.d.ts +94 -0
  51. package/dist/keystore/indexeddb.d.ts.map +1 -0
  52. package/dist/keystore/indexeddb.js +1434 -0
  53. package/dist/keystore/indexeddb.js.map +1 -0
  54. package/dist/namespaces/auth.d.ts +52 -0
  55. package/dist/namespaces/auth.d.ts.map +1 -0
  56. package/dist/namespaces/auth.js +237 -0
  57. package/dist/namespaces/auth.js.map +1 -0
  58. package/dist/namespaces/custody.d.ts +48 -0
  59. package/dist/namespaces/custody.d.ts.map +1 -0
  60. package/dist/namespaces/custody.js +230 -0
  61. package/dist/namespaces/custody.js.map +1 -0
  62. package/dist/secret-store/index.d.ts +20 -0
  63. package/dist/secret-store/index.d.ts.map +1 -0
  64. package/dist/secret-store/index.js +12 -0
  65. package/dist/secret-store/index.js.map +1 -0
  66. package/dist/secret-store/indexeddb-store.d.ts +22 -0
  67. package/dist/secret-store/indexeddb-store.d.ts.map +1 -0
  68. package/dist/secret-store/indexeddb-store.js +133 -0
  69. package/dist/secret-store/indexeddb-store.js.map +1 -0
  70. package/dist/seq-tracker.d.ts +30 -0
  71. package/dist/seq-tracker.d.ts.map +1 -0
  72. package/dist/seq-tracker.js +219 -0
  73. package/dist/seq-tracker.js.map +1 -0
  74. package/dist/transport.d.ts +45 -0
  75. package/dist/transport.d.ts.map +1 -0
  76. package/dist/transport.js +251 -0
  77. package/dist/transport.js.map +1 -0
  78. package/dist/types.d.ts +171 -0
  79. package/dist/types.d.ts.map +1 -0
  80. package/dist/types.js +10 -0
  81. package/dist/types.js.map +1 -0
  82. package/package.json +37 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const ROOT_CA_PEM = "-----BEGIN CERTIFICATE-----\nMIIB/TCCAYOgAwIBAgIUI/WLfQXFR9KpvBlhnvJFIAtylNQwCgYIKoZIzj0EAwMw\nKzEUMBIGA1UEAwwLQVVOIFJvb3QgQ0ExEzARBgNVBAoMCkFnZW50VW5pb24wIBcN\nMjYwMzE3MDE1NDUyWhgPMjA1NjAzMDkwMTU5NTJaMCsxFDASBgNVBAMMC0FVTiBS\nb290IENBMRMwEQYDVQQKDApBZ2VudFVuaW9uMHYwEAYHKoZIzj0CAQYFK4EEACID\nYgAEbuQMkmsHjhtwsgoFhfgC4514k2IMQVECNeBtxiwiEe5OTY0D7MvqwtEzz67r\n1jo2OXOuA+BajSW/ZOw89HH2zrWIshw2qVo5WP4ELnrKk/dipfiJBm9IrJXsO0kN\nope4o2YwZDASBgNVHRMBAf8ECDAGAQH/AgECMA4GA1UdDwEB/wQEAwIBhjAdBgNV\nHQ4EFgQULmOUMJCtK8VatDpoo/iigMIu3hwwHwYDVR0jBBgwFoAULmOUMJCtK8Va\ntDpoo/iigMIu3hwwCgYIKoZIzj0EAwMDaAAwZQIwPcby4jt32sKANZhUuFaOcWiy\nV8rgbF0pF+ROrlg+9JdQ3yRyGWTU2VRNyzd+FlNbAjEAgVKYzN6mpxnVfjk8dHYH\nvh6o6LY9oqw8rdZ/2Q1k1eUSaFxykTZQ9ipR84GIGXrc\n-----END CERTIFICATE-----";
2
+ //# sourceMappingURL=root.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../src/certs/root.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,WAAW,6vBAYE,CAAC"}
@@ -0,0 +1,16 @@
1
+ // ── 内置 AUN 根证书(base64 编码的 PEM)──────────────────
2
+ // 从 Python SDK 的 certs/root.crt 同步
3
+ export const ROOT_CA_PEM = `-----BEGIN CERTIFICATE-----
4
+ MIIB/TCCAYOgAwIBAgIUI/WLfQXFR9KpvBlhnvJFIAtylNQwCgYIKoZIzj0EAwMw
5
+ KzEUMBIGA1UEAwwLQVVOIFJvb3QgQ0ExEzARBgNVBAoMCkFnZW50VW5pb24wIBcN
6
+ MjYwMzE3MDE1NDUyWhgPMjA1NjAzMDkwMTU5NTJaMCsxFDASBgNVBAMMC0FVTiBS
7
+ b290IENBMRMwEQYDVQQKDApBZ2VudFVuaW9uMHYwEAYHKoZIzj0CAQYFK4EEACID
8
+ YgAEbuQMkmsHjhtwsgoFhfgC4514k2IMQVECNeBtxiwiEe5OTY0D7MvqwtEzz67r
9
+ 1jo2OXOuA+BajSW/ZOw89HH2zrWIshw2qVo5WP4ELnrKk/dipfiJBm9IrJXsO0kN
10
+ ope4o2YwZDASBgNVHRMBAf8ECDAGAQH/AgECMA4GA1UdDwEB/wQEAwIBhjAdBgNV
11
+ HQ4EFgQULmOUMJCtK8VatDpoo/iigMIu3hwwHwYDVR0jBBgwFoAULmOUMJCtK8Va
12
+ tDpoo/iigMIu3hwwCgYIKoZIzj0EAwMDaAAwZQIwPcby4jt32sKANZhUuFaOcWiy
13
+ V8rgbF0pF+ROrlg+9JdQ3yRyGWTU2VRNyzd+FlNbAjEAgVKYzN6mpxnVfjk8dHYH
14
+ vh6o6LY9oqw8rdZ/2Q1k1eUSaFxykTZQ9ipR84GIGXrc
15
+ -----END CERTIFICATE-----`;
16
+ //# sourceMappingURL=root.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"root.js","sourceRoot":"","sources":["../../src/certs/root.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,mCAAmC;AAEnC,MAAM,CAAC,MAAM,WAAW,GAAG;;;;;;;;;;;;0BAYD,CAAC"}
@@ -0,0 +1,341 @@
1
+ import { type AUNConfig } from './config.js';
2
+ import { type EventHandler, type Subscription } from './events.js';
3
+ import { GatewayDiscovery } from './discovery.js';
4
+ import { AuthNamespace } from './namespaces/auth.js';
5
+ import { CustodyNamespace } from './namespaces/custody.js';
6
+ import { E2EEManager } from './e2ee.js';
7
+ import { GroupE2EEManager } from './e2ee-group.js';
8
+ import { type ConnectionState, type MetadataRecord, type RpcParams, type RpcResult } from './types.js';
9
+ /**
10
+ * AUN Core SDK 客户端 — 浏览器版本。
11
+ *
12
+ * 职责:
13
+ * - 连接管理(WebSocket + 自动重连 + 指数退避)
14
+ * - 认证(token 初始化 / 多策略认证 / token 刷新)
15
+ * - RPC 调用(JSON-RPC 2.0)
16
+ * - E2EE 自动编排(加密/解密/密钥管理/group 生命周期)
17
+ * - 事件分发与管道
18
+ * - 后台任务(心跳、token 刷新、prekey 轮换、epoch 清理/轮换)
19
+ *
20
+ */
21
+ export declare class AUNClient {
22
+ /** SDK 配置模型 */
23
+ readonly configModel: AUNConfig;
24
+ /** 原始配置字典 */
25
+ readonly config: RpcParams;
26
+ private _aid;
27
+ private _identity;
28
+ private _state;
29
+ private _gatewayUrl;
30
+ private _deviceId;
31
+ private _slotId;
32
+ private _connectDeliveryMode;
33
+ private _defaultConnectDeliveryMode;
34
+ private _closing;
35
+ private _sessionParams;
36
+ private _sessionOptions;
37
+ private _dispatcher;
38
+ private _discovery;
39
+ private _keystore;
40
+ private _auth;
41
+ private _transport;
42
+ private _e2ee;
43
+ private _groupE2ee;
44
+ /** 认证命名空间 */
45
+ readonly auth: AuthNamespace;
46
+ /** AID 托管命名空间 */
47
+ readonly custody: CustodyNamespace;
48
+ private _certCache;
49
+ private _prekeyReplenishInflight;
50
+ private _prekeyReplenished;
51
+ private _peerPrekeysCache;
52
+ private _heartbeatTimer;
53
+ private _tokenRefreshTimer;
54
+ /** 非连接状态下 token 刷新的退避计数器 */
55
+ private _tokenDisconnectedRetries;
56
+ private _tokenRefreshFailures;
57
+ private _prekeyRefreshTimer;
58
+ private _groupEpochCleanupTimer;
59
+ private _groupEpochRotateTimer;
60
+ private _cacheCleanupTimer;
61
+ /** 消息序列号跟踪器(群消息 + P2P 空洞检测) */
62
+ private _seqTracker;
63
+ private _seqTrackerContext;
64
+ /** 补洞去重:已完成/进行中的 key 集合,防止重复 pull 同一区间 */
65
+ private _gapFillDone;
66
+ /** 推送路径已分发的 seq 集合(按命名空间),补洞路径 publish 前检查以避免重复分发 */
67
+ private _pushedSeqs;
68
+ private _pendingDecryptMsgs;
69
+ private _groupEpochRotationInflight;
70
+ private _groupEpochRecoveryInflight;
71
+ private _groupMembershipRotationDone;
72
+ private _groupEpochRotationRetryTimers;
73
+ /** Lazy group sync:首次发送群消息前自动拉取历史 */
74
+ private _groupSynced;
75
+ /** Lazy P2P sync:首次发送 P2P 消息前自动拉取历史 */
76
+ private _p2pSynced;
77
+ /** gap fill 来源标记:true 表示当前正在补洞(pull 触发),false 表示非补洞 */
78
+ private _gapFillActive;
79
+ private _reconnectActive;
80
+ private _reconnectAbort;
81
+ private _serverKicked;
82
+ constructor(config?: Partial<AUNConfig> & RpcParams, _debug?: boolean);
83
+ get aid(): string | null;
84
+ get state(): ConnectionState;
85
+ get gatewayUrl(): string | null;
86
+ set gatewayUrl(url: string | null);
87
+ get discovery(): GatewayDiscovery;
88
+ /** 最近一次 health check 结果,null 表示尚未检查 */
89
+ get gatewayHealth(): boolean | null;
90
+ /** 主动检查 gateway 可用性(GET /health) */
91
+ checkGatewayHealth(gatewayUrl: string, timeout?: number): Promise<boolean>;
92
+ get e2ee(): E2EEManager;
93
+ get groupE2ee(): GroupE2EEManager;
94
+ /**
95
+ * 连接到 Gateway。
96
+ *
97
+ * @param auth - 认证参数,必须包含 access_token 和 gateway
98
+ * @param options - 可选的会话选项(auto_reconnect, heartbeat_interval 等)
99
+ */
100
+ connect(auth: RpcParams, options?: RpcParams): Promise<void>;
101
+ /** 断开连接但保留本地状态,可再次 connect */
102
+ disconnect(): Promise<void>;
103
+ /** 列出本地所有已存储的身份摘要(仅返回有有效私钥的 AID) */
104
+ listIdentities(): Promise<Array<{
105
+ aid: string;
106
+ metadata?: MetadataRecord;
107
+ }>>;
108
+ /** 关闭连接 */
109
+ close(): Promise<void>;
110
+ /**
111
+ * 发起 RPC 调用。
112
+ *
113
+ * 自动拦截内部方法、自动加密 message.send/group.send、
114
+ * 自动解密 message.pull/group.pull、Group E2EE 生命周期编排。
115
+ */
116
+ call(method: string, params?: RpcParams): Promise<RpcResult>;
117
+ ping(params?: RpcParams): Promise<RpcResult>;
118
+ status(params?: RpcParams): Promise<RpcResult>;
119
+ trustRoots(params?: RpcParams): Promise<RpcResult>;
120
+ /**
121
+ * 订阅事件。
122
+ *
123
+ * 注意:off() 使用引用相等(===)匹配 handler,匿名函数将无法通过
124
+ * off() 取消订阅。建议使用返回的 Subscription 对象调用 unsubscribe()。
125
+ */
126
+ on(event: string, handler: EventHandler): Subscription;
127
+ /** 取消订阅事件 */
128
+ off(event: string, handler: EventHandler): void;
129
+ /** 处理 transport 层推送的原始消息:解密后 re-publish 给用户 */
130
+ private _onRawMessageReceived;
131
+ /** 实际处理推送消息的异步任务 */
132
+ private _processAndPublishMessage;
133
+ /** 处理群组消息推送:自动解密后 re-publish */
134
+ private _onRawGroupMessageCreated;
135
+ /**
136
+ * 处理群组推送消息的异步任务。
137
+ *
138
+ * 带 payload 的事件(消息推送):解密后 re-publish。
139
+ * 不带 payload 的事件(通知):自动 pull 最新消息,逐条解密后 re-publish。
140
+ */
141
+ private _processAndPublishGroupMessage;
142
+ /** 收到不带 payload 的 group.message_created 通知后,自动 pull 最新消息 */
143
+ private _autoPullGroupMessages;
144
+ /** 后台补齐群消息空洞 */
145
+ private _fillGroupGap;
146
+ /** 后台补齐群事件空洞 */
147
+ private _fillGroupEventGap;
148
+ /** 后台补齐 P2P 消息空洞 */
149
+ private _fillP2pGap;
150
+ /** 清理 pushedSeqs 中 <= contiguousSeq 的条目,防止无限增长 */
151
+ private _prunePushedSeqs;
152
+ /**
153
+ * 上线/重连后一次性同步所有已加入群:
154
+ * 1. 有 epoch key 的群 → 补消息 + 补事件
155
+ * 2. 无 epoch key 的群 → 主动向 owner 请求密钥恢复 + 补事件
156
+ */
157
+ private _syncAllGroupsOnce;
158
+ /** 主动向指定成员请求群组密钥(用于重连时无 epoch key 的群)(与 Python 对齐) */
159
+ private _requestGroupKeyFrom;
160
+ /**
161
+ * 处理群组变更事件:透传给用户,并在成员离开/被踢时自动触发 epoch 轮换。
162
+ * 按协议,轮换由剩余在线 admin/owner 负责。
163
+ */
164
+ private _membershipRotationExpectedEpoch;
165
+ private _membershipRotationTriggerId;
166
+ private _membershipRotationChanged;
167
+ private _extractGroupIdFromResult;
168
+ private _onRawGroupChanged;
169
+ /**
170
+ * 群组解散后清理本地状态:
171
+ * - keystore 中的 epoch key 数据
172
+ * - seq_tracker 中的群消息和群事件 seq 记录
173
+ * - 补洞去重缓存中的相关条目
174
+ * - 推送 seq 去重缓存
175
+ */
176
+ private _cleanupDissolvedGroup;
177
+ private _verifyEventSignature;
178
+ /** 自动加密并发送 P2P 消息 */
179
+ private _sendEncrypted;
180
+ /**
181
+ * 首次发送 P2P 消息前懒拉取历史消息,同步 seqTracker 避免空洞。
182
+ * 只在本连接周期内执行一次。
183
+ */
184
+ private _lazySyncP2p;
185
+ private _sendEncryptedSingle;
186
+ private _buildRecipientDeviceCopies;
187
+ private _resolveSelfCopyPeerCert;
188
+ private _buildSelfSyncCopies;
189
+ private _encryptCopyPayload;
190
+ private _ensureEncryptResult;
191
+ private _certFingerprint;
192
+ /**
193
+ * 从 X.509 DER 证书中提取 SubjectPublicKeyInfo 并计算其 SHA-256 指纹。
194
+ * 返回 "sha256:<hex>",提取失败返回空串。
195
+ * 用于 H7 指纹校验(DER 证书指纹 OR SPKI 指纹任一匹配)。
196
+ */
197
+ private _spkiFingerprint;
198
+ /** 自动加密并发送群组消息 */
199
+ private _sendGroupEncrypted;
200
+ /**
201
+ * 首次发送群消息前懒拉取历史消息,同步 seqTracker 避免空洞。
202
+ * 只在本连接周期内执行一次(per groupId)。
203
+ */
204
+ private _lazySyncGroup;
205
+ private _isGroupEpochTooOldError;
206
+ private _isGroupEpochRotationPendingError;
207
+ private _isGroupEpochChangedDuringSendError;
208
+ private _isRecoverableGroupEpochError;
209
+ private _groupKeyRecoveryCandidates;
210
+ private _requestGroupKeyFromCandidates;
211
+ private _recoverInitialGroupEpochIfNeeded;
212
+ private _ensureGroupEpochReady;
213
+ private _waitForGroupMembershipEpochFloor;
214
+ private _committedGroupEpochState;
215
+ private _groupSecretMatchesCommittedRotation;
216
+ private _ensureCommittedGroupSecretForSend;
217
+ /** 解密单条 P2P 消息 */
218
+ private _decryptSingleMessage;
219
+ /** 批量解密 P2P 消息(用于 message.pull) */
220
+ private _decryptMessages;
221
+ /** 解密单条群组消息。opts.skipReplay 用于 pull 场景跳过防重放。 */
222
+ private _enqueuePendingDecrypt;
223
+ private _retryPendingDecryptMsgs;
224
+ private _scheduleRetryPendingDecryptMsgs;
225
+ private _recoverGroupEpochKey;
226
+ private _doRecoverGroupEpochKey;
227
+ private _groupEpochSecretReadyForRecovery;
228
+ private _pendingGroupSecretStillCurrent;
229
+ private _decryptGroupMessage;
230
+ /** 批量解密群组消息(用于 group.pull)。跳过防重放检查。 */
231
+ private _decryptGroupMessages;
232
+ /**
233
+ * 尝试处理 P2P 传输的群组密钥消息。
234
+ *
235
+ * 返回值:
236
+ * - true = 已处理 / 已被抑制(外层不应再 publish 到业务事件)
237
+ * - false = 非密钥消息,外层应继续走普通 P2P 消息链路
238
+ *
239
+ * 外层 payload.type === 'e2ee.encrypted' 需要先解密才能判定是否为控制面。
240
+ * 解密失败交给普通链路处理;普通链路只发布安全的 undecryptable 事件。
241
+ */
242
+ private _tryHandleGroupKeyMessage;
243
+ /**
244
+ * 获取对方证书(带缓存 + 完整 PKI 验证:链 + CRL + OCSP + AID 绑定)。
245
+ * 跨域时自动将请求路由到 peer 所在域的 Gateway。
246
+ */
247
+ private _fetchPeerCert;
248
+ /** 获取对方所有设备的 prekey(带缓存)。 */
249
+ private _fetchPeerPrekeys;
250
+ /** 获取对方 prekey(兼容接口,优先返回第一条 device prekey)。 */
251
+ private _fetchPeerPrekey;
252
+ /** 生成 prekey 并上传到服务端 */
253
+ private _uploadPrekey;
254
+ /** 确保发送方证书在本地可用且未过期 */
255
+ private _ensureSenderCertCached;
256
+ /**
257
+ * 获取经过 PKI 验证的 peer 证书(仅信任内存缓存中已验证的证书)。
258
+ * 零信任要求:不直接信任 keystore 中可能由恶意服务端注入的证书。
259
+ */
260
+ private _getVerifiedPeerCert;
261
+ /**
262
+ * 为关键操作附加客户端 ECDSA 签名(_client_signature 字段)。
263
+ * 使用 SubtleCrypto 异步签名。
264
+ */
265
+ private _signClientOperation;
266
+ private _attachRotationId;
267
+ private _getGroupMemberAids;
268
+ private _distributeGroupEpochKey;
269
+ private _heartbeatGroupRotation;
270
+ private _ackGroupRotationKey;
271
+ private _verifyActiveGroupRotationDistribution;
272
+ private _discardGroupDistributionIfStale;
273
+ private _verifyGroupKeyResponseEpoch;
274
+ private _abortGroupRotation;
275
+ private _rotationExpectedMembersStale;
276
+ private _rotationRetryDelayMs;
277
+ private _scheduleGroupRotationRetry;
278
+ /** 建群后将本地 epoch 1 同步到服务端,最多重试 3 次 */
279
+ private _syncEpochToServer;
280
+ /**
281
+ * H21: 基于"排序最小 admin = leader"选举,其他 admin 走 jitter 兜底重试。
282
+ * 避免所有剩余 admin 同时触发 `_rotateGroupEpoch` 造成 CAS 风暴。
283
+ */
284
+ private _maybeLeadRotateGroupEpoch;
285
+ /**
286
+ * 为指定群组轮换 epoch 并分发新密钥。
287
+ * 使用服务端 CAS 保证只有一方成功。
288
+ */
289
+ private _rotateGroupEpoch;
290
+ /**
291
+ * 将当前 group_secret 通过 P2P E2EE 分发给新成员。
292
+ * 先拉服务端最新成员列表,更新本地,构建签名 manifest,再分发。
293
+ */
294
+ private _distributeKeyToNewMember;
295
+ /** 构建 epoch 轮换签名参数(异步,使用 SubtleCrypto)。失败时抛错,调用方在 try/catch 中跳过轮换。 */
296
+ private _buildRotationSignature;
297
+ private _connectOnce;
298
+ private _resolveGateway;
299
+ private _syncIdentityAfterConnect;
300
+ private _normalizeConnectParams;
301
+ private _buildSessionOptions;
302
+ private _startBackgroundTasks;
303
+ private _stopBackgroundTasks;
304
+ /** 心跳定时器 */
305
+ private _startHeartbeat;
306
+ /** Token 刷新定时器 */
307
+ private _startTokenRefresh;
308
+ /** Prekey 轮换定时器:定期检查本地 prekey 数量,不足时自动补充上传 */
309
+ private _startPrekeyRefresh;
310
+ private _extractConsumedPrekeyId;
311
+ private _validateMessageRecipient;
312
+ private _validateOutboundCall;
313
+ private _currentMessageDeliveryMode;
314
+ private _injectMessageCursorContext;
315
+ private _schedulePrekeyReplenishIfConsumed;
316
+ /** 群组 epoch 后台任务 */
317
+ private _startGroupEpochTasks;
318
+ /** 不重连 close code 集合:认证失败/权限错误/被踢等,重连无意义 */
319
+ private static readonly _NO_RECONNECT_CODES;
320
+ /** 处理服务端主动断开通知 event/gateway.disconnect */
321
+ private _onGatewayDisconnect;
322
+ private _handleTransportDisconnect;
323
+ /** 指数退避 + 固定上限抖动重连循环(默认无限重试,仅在不可重试错误或 close() 或 max_attempts 耗尽时终止) */
324
+ private _reconnectLoop;
325
+ /** 判断是否应重试重连 */
326
+ private _shouldRetryReconnect;
327
+ /** 从 keystore 恢复 SeqTracker 状态(真正可 await,确保在 transport.connect 前完成) */
328
+ private _restoreSeqTrackerState;
329
+ private _currentSeqTrackerContext;
330
+ private _resetSeqTrackingState;
331
+ private _refreshSeqTrackerContext;
332
+ /** 将 SeqTracker 状态保存到 keystore */
333
+ private _saveSeqTrackerState;
334
+ /** 发布 E2EE 编排错误事件 */
335
+ private _logE2eeError;
336
+ /** 安全执行异步操作(不阻塞调用方,错误打 warning 便于排障) */
337
+ private _safeAsync;
338
+ /** 可取消的 sleep */
339
+ private _sleep;
340
+ }
341
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}