@agentunion/fastaun-browser 0.2.20 → 0.3.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.
Files changed (119) hide show
  1. package/CHANGELOG.md +50 -26
  2. package/_packed_docs/CHANGELOG.md +50 -26
  3. package/_packed_docs/protocol/15-/347/246/273/347/272/277/346/216/250/351/200/201/351/200/232/347/237/245/345/215/217/350/256/256.md +419 -0
  4. package/_packed_docs/protocol/index.md +13 -3
  5. package/_packed_docs/python-sdk-v2-only-changelog.md +189 -0
  6. package/_packed_docs/sdk/04-/350/277/236/346/216/245/344/270/216/350/256/244/350/257/201.md +39 -16
  7. package/_packed_docs/sdk/06-API/346/211/213/345/206/214.md +90 -39
  8. package/dist/auth.d.ts.map +1 -1
  9. package/dist/auth.js +20 -3
  10. package/dist/auth.js.map +1 -1
  11. package/dist/bundle.js +14300 -0
  12. package/dist/client.d.ts +179 -187
  13. package/dist/client.d.ts.map +1 -1
  14. package/dist/client.js +3007 -4012
  15. package/dist/client.js.map +1 -1
  16. package/dist/config.d.ts +0 -4
  17. package/dist/config.d.ts.map +1 -1
  18. package/dist/config.js +0 -4
  19. package/dist/config.js.map +1 -1
  20. package/dist/crypto.d.ts +8 -1
  21. package/dist/crypto.d.ts.map +1 -1
  22. package/dist/crypto.js +114 -1
  23. package/dist/crypto.js.map +1 -1
  24. package/dist/e2ee.d.ts +5 -210
  25. package/dist/e2ee.d.ts.map +1 -1
  26. package/dist/e2ee.js +4 -1379
  27. package/dist/e2ee.js.map +1 -1
  28. package/dist/index.d.ts +7 -3
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +5 -4
  31. package/dist/index.js.map +1 -1
  32. package/dist/namespaces/auth.d.ts.map +1 -1
  33. package/dist/namespaces/auth.js +5 -4
  34. package/dist/namespaces/auth.js.map +1 -1
  35. package/dist/protected-headers.d.ts +14 -0
  36. package/dist/protected-headers.d.ts.map +1 -0
  37. package/dist/protected-headers.js +47 -0
  38. package/dist/protected-headers.js.map +1 -0
  39. package/dist/seq-tracker.d.ts +7 -2
  40. package/dist/seq-tracker.d.ts.map +1 -1
  41. package/dist/seq-tracker.js +31 -10
  42. package/dist/seq-tracker.js.map +1 -1
  43. package/dist/v2/crypto/aead.d.ts +26 -0
  44. package/dist/v2/crypto/aead.d.ts.map +1 -0
  45. package/dist/v2/crypto/aead.js +63 -0
  46. package/dist/v2/crypto/aead.js.map +1 -0
  47. package/dist/v2/crypto/canonical.d.ts +21 -0
  48. package/dist/v2/crypto/canonical.d.ts.map +1 -0
  49. package/dist/v2/crypto/canonical.js +111 -0
  50. package/dist/v2/crypto/canonical.js.map +1 -0
  51. package/dist/v2/crypto/dh-path.d.ts +21 -0
  52. package/dist/v2/crypto/dh-path.d.ts.map +1 -0
  53. package/dist/v2/crypto/dh-path.js +50 -0
  54. package/dist/v2/crypto/dh-path.js.map +1 -0
  55. package/dist/v2/crypto/ecdh.d.ts +19 -0
  56. package/dist/v2/crypto/ecdh.d.ts.map +1 -0
  57. package/dist/v2/crypto/ecdh.js +101 -0
  58. package/dist/v2/crypto/ecdh.js.map +1 -0
  59. package/dist/v2/crypto/ecdsa.d.ts +16 -0
  60. package/dist/v2/crypto/ecdsa.d.ts.map +1 -0
  61. package/dist/v2/crypto/ecdsa.js +52 -0
  62. package/dist/v2/crypto/ecdsa.js.map +1 -0
  63. package/dist/v2/crypto/hkdf.d.ts +21 -0
  64. package/dist/v2/crypto/hkdf.d.ts.map +1 -0
  65. package/dist/v2/crypto/hkdf.js +32 -0
  66. package/dist/v2/crypto/hkdf.js.map +1 -0
  67. package/dist/v2/crypto/index.d.ts +9 -0
  68. package/dist/v2/crypto/index.d.ts.map +1 -0
  69. package/dist/v2/crypto/index.js +8 -0
  70. package/dist/v2/crypto/index.js.map +1 -0
  71. package/dist/v2/crypto/recipients.d.ts +43 -0
  72. package/dist/v2/crypto/recipients.d.ts.map +1 -0
  73. package/dist/v2/crypto/recipients.js +188 -0
  74. package/dist/v2/crypto/recipients.js.map +1 -0
  75. package/dist/v2/e2ee/decrypt.d.ts +13 -0
  76. package/dist/v2/e2ee/decrypt.d.ts.map +1 -0
  77. package/dist/v2/e2ee/decrypt.js +176 -0
  78. package/dist/v2/e2ee/decrypt.js.map +1 -0
  79. package/dist/v2/e2ee/encrypt-group.d.ts +14 -0
  80. package/dist/v2/e2ee/encrypt-group.d.ts.map +1 -0
  81. package/dist/v2/e2ee/encrypt-group.js +196 -0
  82. package/dist/v2/e2ee/encrypt-group.js.map +1 -0
  83. package/dist/v2/e2ee/encrypt-p2p.d.ts +15 -0
  84. package/dist/v2/e2ee/encrypt-p2p.d.ts.map +1 -0
  85. package/dist/v2/e2ee/encrypt-p2p.js +240 -0
  86. package/dist/v2/e2ee/encrypt-p2p.js.map +1 -0
  87. package/dist/v2/e2ee/index.d.ts +9 -0
  88. package/dist/v2/e2ee/index.d.ts.map +1 -0
  89. package/dist/v2/e2ee/index.js +9 -0
  90. package/dist/v2/e2ee/index.js.map +1 -0
  91. package/dist/v2/e2ee/metadata-auth.d.ts +9 -0
  92. package/dist/v2/e2ee/metadata-auth.d.ts.map +1 -0
  93. package/dist/v2/e2ee/metadata-auth.js +60 -0
  94. package/dist/v2/e2ee/metadata-auth.js.map +1 -0
  95. package/dist/v2/e2ee/types.d.ts +57 -0
  96. package/dist/v2/e2ee/types.d.ts.map +1 -0
  97. package/dist/v2/e2ee/types.js +7 -0
  98. package/dist/v2/e2ee/types.js.map +1 -0
  99. package/dist/v2/session/index.d.ts +4 -0
  100. package/dist/v2/session/index.d.ts.map +1 -0
  101. package/dist/v2/session/index.js +3 -0
  102. package/dist/v2/session/index.js.map +1 -0
  103. package/dist/v2/session/keystore.d.ts +48 -0
  104. package/dist/v2/session/keystore.d.ts.map +1 -0
  105. package/dist/v2/session/keystore.js +184 -0
  106. package/dist/v2/session/keystore.js.map +1 -0
  107. package/dist/v2/session/session.d.ts +98 -0
  108. package/dist/v2/session/session.d.ts.map +1 -0
  109. package/dist/v2/session/session.js +270 -0
  110. package/dist/v2/session/session.js.map +1 -0
  111. package/dist/v2/state/commitment.d.ts +10 -0
  112. package/dist/v2/state/commitment.d.ts.map +1 -0
  113. package/dist/v2/state/commitment.js +86 -0
  114. package/dist/v2/state/commitment.js.map +1 -0
  115. package/dist/v2/state/index.d.ts +2 -0
  116. package/dist/v2/state/index.d.ts.map +1 -0
  117. package/dist/v2/state/index.js +2 -0
  118. package/dist/v2/state/index.js.map +1 -0
  119. package/package.json +8 -5
package/dist/client.d.ts CHANGED
@@ -4,8 +4,6 @@ import { GatewayDiscovery } from './discovery.js';
4
4
  import { AuthNamespace } from './namespaces/auth.js';
5
5
  import { CustodyNamespace } from './namespaces/custody.js';
6
6
  import { MetaNamespace } from './namespaces/meta.js';
7
- import { E2EEManager } from './e2ee.js';
8
- import { GroupE2EEManager } from './e2ee-group.js';
9
7
  import { type ConnectionState, type MetadataRecord, type RpcParams, type RpcResult } from './types.js';
10
8
  /**
11
9
  * AUN Core SDK 客户端 — 浏览器版本。
@@ -16,7 +14,7 @@ import { type ConnectionState, type MetadataRecord, type RpcParams, type RpcResu
16
14
  * - RPC 调用(JSON-RPC 2.0)
17
15
  * - E2EE 自动编排(加密/解密/密钥管理/group 生命周期)
18
16
  * - 事件分发与管道
19
- * - 后台任务(心跳、token 刷新、prekey 轮换、epoch 清理/轮换)
17
+ * - 后台任务(心跳、token 刷新、V2 缓存清理)
20
18
  *
21
19
  */
22
20
  export declare class AUNClient {
@@ -41,8 +39,6 @@ export declare class AUNClient {
41
39
  private _keystore;
42
40
  private _auth;
43
41
  private _transport;
44
- private _e2ee;
45
- private _groupE2ee;
46
42
  /** 认证命名空间 */
47
43
  readonly auth: AuthNamespace;
48
44
  /** AID 托管命名空间 */
@@ -50,24 +46,36 @@ export declare class AUNClient {
50
46
  /** 元数据命名空间(心跳、状态、信任根管理) */
51
47
  readonly meta: MetaNamespace;
52
48
  private _certCache;
53
- private _prekeyReplenishInflight;
54
- private _prekeyReplenished;
55
- private _activePrekeyId;
56
- private _peerPrekeysCache;
57
49
  private _heartbeatTimer;
50
+ private _heartbeatCount;
58
51
  private _tokenRefreshTimer;
59
52
  private _tokenRefreshFailures;
60
- private _prekeyRefreshTimer;
61
- private _groupEpochCleanupTimer;
62
- private _groupEpochRotateTimer;
63
53
  private _cacheCleanupTimer;
54
+ private _v2Session?;
55
+ private _v2KeyStore?;
56
+ private _v2BootstrapCache;
57
+ private static readonly V2_BOOTSTRAP_TTL_MS;
58
+ private static readonly V2_RETRYABLE_CODES;
59
+ /** V2 state 签名验证缓存:cacheKey(hex) → expiry_unix_ms */
60
+ private _v2SigCache;
61
+ private static readonly _V2_SIG_CACHE_TTL;
62
+ private static readonly _V2_SIG_CACHE_MAX;
63
+ /** V2 state chain 本地记录:group_id → [state_version, chain_hash] */
64
+ private _v2StateChains;
65
+ /** 群安全等级追踪(变化时发布 group.v2.security_level 事件) */
66
+ private _v2GroupSecurityLevels;
67
+ /** 同一 group 的 V2 自动提案串行化,避免并发重复提交同一 state_version。 */
68
+ private _v2AutoProposeInflight;
69
+ /** 同一 group 在运行中的自动提案期间收到的新触发,结束后至多再补跑一次。 */
70
+ private _v2AutoProposePending;
71
+ /** 最近一次已成功确认的 membership_snapshot;相同快照直接跳过。 */
72
+ private _v2AutoProposeLastSnapshot;
73
+ private _v2LazyProposeTriggered;
64
74
  /**
65
75
  * 本地 agent.md 内容对应的 etag(quoted sha256 hex,与服务端 _agent_md_etag 一致)。
66
76
  *
67
- * 浏览器无法直接读本地文件,因此 API 不接收 path,而是接收 markdown 字符串:
68
- * 应用层(如 `<input type=file>`)读出文本后调用 setLocalAgentMdContent() 设置。
69
- * 用于跟服务端 RPC 注入的 _meta.agent_md_etag 比对,触发"本地未发布到服务端"或
70
- * "服务端版本更新"的 UI 提示。
77
+ * publishAgentMd() / fetchAgentMd(自身 aid) 写入;用于跟服务端 RPC 注入的 _meta.agent_md_etag
78
+ * 比对,触发"本地未发布到服务端"或"服务端版本更新"的 UI 提示。
71
79
  */
72
80
  private _localAgentMdEtag;
73
81
  /** gateway 在 RPC envelope._meta.agent_md_etag 注入的服务端 etag;纯观察,无下游依赖。 */
@@ -81,13 +89,6 @@ export declare class AUNClient {
81
89
  private _pushedSeqs;
82
90
  /** 已解密但因 seq 空洞暂缓发布的应用层消息(按 namespace -> seq) */
83
91
  private _pendingOrderedMsgs;
84
- private _pendingDecryptMsgs;
85
- private _groupEpochRotationInflight;
86
- private _groupEpochRecoveryInflight;
87
- private _groupMembershipRotationDone;
88
- /** 群密钥 backfill 去重:已完成/进行中的 key 集合,防止重复分发 */
89
- private _groupMemberKeyBackfillDone;
90
- private _groupEpochRotationRetryTimers;
91
92
  /** Lazy group sync:首次发送群消息前自动拉取历史 */
92
93
  private _groupSynced;
93
94
  /** gap fill 来源标记:true 表示当前正在补洞(pull 触发),false 表示非补洞 */
@@ -102,8 +103,6 @@ export declare class AUNClient {
102
103
  private _lastDisconnectInfo;
103
104
  private _logger;
104
105
  private _clientLog;
105
- private _logE2;
106
- private _logEG;
107
106
  private _logAuth;
108
107
  private _logTransport;
109
108
  private _logKeystore;
@@ -112,23 +111,22 @@ export declare class AUNClient {
112
111
  constructor(config?: Partial<AUNConfig> & RpcParams, _debug?: boolean);
113
112
  get aid(): string | null;
114
113
  /**
115
- * 设置本地 agent.md 内容并一次性计算 etag(quoted sha256,与服务端一致)。
114
+ * 浏览器版本 publishAgentMd。接收 agent.md 文本(应用层用 `<input type=file>` 等读出文本传入),
115
+ * 内部签名 → 上传 → 更新 _localAgentMdEtag(quoted sha256,与服务端一致)。
116
116
  *
117
- * 浏览器环境无法直接读本地文件,应用应通过 `<input type=file>` 等方式读出 markdown
118
- * 文本后调用本方法。content 为空字符串时清除本地 etag。失败不抛异常(debug 日志记录),
119
- * 应用可读 getLocalAgentMdEtag() 返回值或本方法返回值判断。
120
- *
121
- * 返回当前 etag(quoted hex 或空串)。
117
+ * @throws ValidationError content 为空
122
118
  */
123
- setLocalAgentMdContent(content: string): Promise<string>;
124
- /** 返回 setLocalAgentMdContent 计算的 etag;未设置或计算失败时返回空串。 */
125
- getLocalAgentMdEtag(): string;
119
+ publishAgentMd(content: string): Promise<Record<string, unknown>>;
126
120
  /**
127
- * 返回 gateway 在最近一次 RPC envelope._meta 注入的服务端 agent.md etag。
128
- *
129
- * 未收到过则为空串;不阻塞调用,纯内存读。
121
+ * 浏览器版本 fetchAgentMd。aid 缺省时取自身;不接受 savePath(浏览器无文件系统);
122
+ * 若 aid 是自己则同步刷新 _localAgentMdEtag 与 in_sync。
130
123
  */
131
- getRemoteAgentMdEtag(): string;
124
+ fetchAgentMd(aid?: string | null): Promise<{
125
+ aid: string;
126
+ content: string;
127
+ signature: Record<string, unknown>;
128
+ in_sync: boolean | null;
129
+ }>;
132
130
  /** transport 的 meta observer:吸收 gateway 注入的 _meta 字段。失败不影响业务。 */
133
131
  private _observeRpcMeta;
134
132
  get state(): ConnectionState;
@@ -139,8 +137,6 @@ export declare class AUNClient {
139
137
  get gatewayHealth(): boolean | null;
140
138
  /** 主动检查 gateway 可用性(GET /health) */
141
139
  checkGatewayHealth(gatewayUrl: string, timeout?: number): Promise<boolean>;
142
- get e2ee(): E2EEManager;
143
- get groupE2ee(): GroupE2EEManager;
144
140
  /**
145
141
  * 连接到 Gateway。
146
142
  *
@@ -177,17 +173,19 @@ export declare class AUNClient {
177
173
  on(event: string, handler: EventHandler): Subscription;
178
174
  /** 取消订阅事件 */
179
175
  off(event: string, handler: EventHandler): void;
180
- /** 处理 transport 层推送的原始消息:解密后 re-publish 给用户 */
176
+ /** 处理 transport 层推送的原始消息:re-publish 给用户(V2 加密消息走 _raw.peer.v2.message_received) */
181
177
  private _onRawMessageReceived;
182
- /** 实际处理推送消息的异步任务 */
178
+ /** 实际处理推送消息的异步任务(V2-only:明文消息直接透传,V2 加密消息走 _onV2PushNotification) */
183
179
  private _processAndPublishMessage;
184
- /** 处理群组消息推送:自动解密后 re-publish */
180
+ /** 处理群组消息推送:re-publish(V2 加密消息走 V2 push 路径) */
185
181
  private _onRawGroupMessageCreated;
182
+ /** 处理 V2 群消息通知:主动 pull V2 envelope,由 pullGroupV2 解密并发布。 */
183
+ private _onRawGroupV2MessageCreated;
186
184
  /**
187
- * 处理群组推送消息的异步任务。
185
+ * 处理群组推送消息的异步任务(V2-only:明文消息直接透传)。
188
186
  *
189
- * 带 payload 的事件(消息推送):解密后 re-publish。
190
- * 不带 payload 的事件(通知):自动 pull 最新消息,逐条解密后 re-publish。
187
+ * 带 payload 的事件(消息推送):直接 re-publish。
188
+ * 不带 payload 的事件(通知):自动 pull 最新消息。
191
189
  */
192
190
  private _processAndPublishGroupMessage;
193
191
  /** 收到不带 payload 的 group.message_created 通知后,自动 pull 最新消息 */
@@ -198,7 +196,7 @@ export declare class AUNClient {
198
196
  private _fillGroupEventGap;
199
197
  /** 后台补齐 P2P 消息空洞 */
200
198
  private _fillP2pGap;
201
- /** 清理 pushedSeqs <= contiguousSeq 的条目,防止无限增长 */
199
+ /** 只按硬上限裁剪 published guard,不能按 contiguousSeq 清理。 */
202
200
  private _prunePushedSeqs;
203
201
  private _markPublishedSeq;
204
202
  private _enqueueOrderedMessage;
@@ -213,15 +211,7 @@ export declare class AUNClient {
213
211
  private _messageTargetsCurrentInstance;
214
212
  private _drainOrderedMessages;
215
213
  private _publishOrderedMessage;
216
- /** 主动向指定成员请求群组密钥(用于重连时无 epoch key 的群)(与 Python 对齐) */
217
- private _requestGroupKeyFrom;
218
- /**
219
- * 处理群组变更事件:透传给用户,并在成员离开/被踢时自动触发 epoch 轮换。
220
- * 按协议,轮换由剩余在线 admin/owner 负责。
221
- */
222
- private _membershipRotationExpectedEpoch;
223
- private _membershipRotationTriggerId;
224
- private _membershipRotationChanged;
214
+ private _publishPulledMessage;
225
215
  private _extractGroupIdFromResult;
226
216
  private _onRawGroupChanged;
227
217
  /**
@@ -240,13 +230,6 @@ export declare class AUNClient {
240
230
  private _cleanupDissolvedGroup;
241
231
  private _verifyEventSignature;
242
232
  private _protectedHeadersFromParams;
243
- /** 自动加密并发送 P2P 消息 */
244
- private _sendEncrypted;
245
- private _buildRecipientDeviceCopies;
246
- private _resolveSelfCopyPeerCert;
247
- private _buildSelfSyncCopies;
248
- private _encryptCopyPayload;
249
- private _ensureEncryptResult;
250
233
  private _certFingerprint;
251
234
  /**
252
235
  * 从 X.509 DER 证书中提取 SubjectPublicKeyInfo 并计算其 SHA-256 指纹。
@@ -254,89 +237,13 @@ export declare class AUNClient {
254
237
  * 用于 H7 指纹校验(DER 证书指纹 OR SPKI 指纹任一匹配)。
255
238
  */
256
239
  private _spkiFingerprint;
257
- /** 自动加密并发送群组消息 */
258
- private _sendGroupEncrypted;
259
- private _putGroupThoughtEncrypted;
260
- private _putMessageThoughtEncrypted;
261
- private _callGroupEncryptedRpc;
262
- private _prepareGroupEncryptedRpcParams;
263
- /**
264
- * 首次发送群消息前懒拉取历史消息,同步 seqTracker 避免空洞。
265
- * 只在本连接周期内执行一次(per groupId)。
266
- */
267
- private _lazySyncGroup;
268
- private _isGroupEpochTooOldError;
269
- private _isGroupEpochRotationPendingError;
270
- private _isGroupEpochChangedDuringSendError;
271
- private _isRecoverableGroupEpochError;
272
- private _groupKeyRecoveryCandidates;
273
- private _requestGroupKeyFromCandidates;
274
- private _recoverInitialGroupEpochIfNeeded;
275
- private _ensureGroupEpochReady;
276
- private _waitForGroupMembershipEpochFloor;
277
- private _committedGroupEpochState;
278
- private _groupSecretMatchesCommittedRotation;
279
- private _ensureCommittedGroupSecretForSend;
280
- private _committedRotationMembershipGap;
281
- /** 解密单条 P2P 消息 */
282
- private _decryptSingleMessage;
283
- /** 批量解密 P2P 消息(用于 message.pull) */
284
- private _decryptMessages;
285
- /** 解密单条群组消息。opts.skipReplay 用于 pull 场景跳过防重放。 */
286
- private _enqueuePendingDecrypt;
287
- private _retryPendingDecryptMsgs;
288
- private _recoveryTimeoutScheduled;
289
- private _scheduleRecoveryTimeout;
290
- private _scheduleRetryPendingDecryptMsgs;
291
- private _recoverGroupEpochKey;
292
- private static _extractGroupJoinMode;
293
- private static _joinModeAllowsMemberEpochRotation;
294
- private _groupAllowsMemberEpochRotation;
295
- /** 尝试从服务端拉取 ECIES 加密的 epoch key 并解密存入 keystore */
296
- private _tryRecoverEpochKeyFromServer;
297
- /** 为每个成员用其 AID 证书公钥 ECIES 加密 group_secret */
298
- private _buildEpochEncryptedKeys;
299
- /** 从 PEM 证书中提取 EC 公钥的未压缩字节(65B) */
300
- private _extractEcPubkeyFromCert;
301
- private _doRecoverGroupEpochKey;
302
- /** 只向在线成员发送密钥恢复请求 */
303
- private _requestGroupKeyFromOnline;
304
- private _groupEpochSecretReadyForRecovery;
305
- private _pendingGroupSecretStillCurrent;
306
- private _decryptGroupMessage;
307
- private _attachGroupDispatchModeToPayload;
308
- /** 批量解密群组消息(用于 group.pull)。跳过防重放检查。 */
309
- private _decryptGroupMessages;
310
240
  private _decryptGroupThoughts;
311
241
  private _decryptMessageThoughts;
312
- /**
313
- * 尝试处理 P2P 传输的群组密钥消息。
314
- *
315
- * 返回值:
316
- * - true = 已处理 / 已被抑制(外层不应再 publish 到业务事件)
317
- * - false = 非密钥消息,外层应继续走普通 P2P 消息链路
318
- *
319
- * 外层 payload.type === 'e2ee.encrypted' 需要先解密才能判定是否为控制面。
320
- * 解密失败交给普通链路处理;普通链路只发布安全的 undecryptable 事件。
321
- */
322
- private _tryHandleGroupKeyMessage;
323
242
  /**
324
243
  * 获取对方证书(带缓存 + 完整 PKI 验证:链 + CRL + OCSP + AID 绑定)。
325
244
  * 跨域时自动将请求路由到 peer 所在域的 Gateway。
326
245
  */
327
246
  private _fetchPeerCert;
328
- /** 获取对方所有设备的 prekey(带缓存)。 */
329
- private _fetchPeerPrekeys;
330
- /** 清除对端 prekey 的双层缓存(_peerPrekeysCache + e2ee 内部缓存) */
331
- private _invalidatePeerPrekeyCache;
332
- /** 清除对端证书缓存(精确匹配 aid 或 aid# 前缀的所有条目) */
333
- private _clearPeerCertCache;
334
- /** 清除对端所有缓存后重新拉取 prekey(用于指纹不匹配时的强制刷新) */
335
- private _refreshPeerPrekeys;
336
- /** 获取对方 prekey(兼容接口,优先返回第一条 device prekey)。 */
337
- private _fetchPeerPrekey;
338
- /** 生成 prekey 并上传到服务端 */
339
- private _uploadPrekey;
340
247
  /** 确保发送方证书在本地可用且未过期 */
341
248
  private _ensureSenderCertCached;
342
249
  /**
@@ -349,46 +256,6 @@ export declare class AUNClient {
349
256
  * 使用 SubtleCrypto 异步签名。
350
257
  */
351
258
  private _signClientOperation;
352
- private _attachRotationId;
353
- private _getGroupMemberAids;
354
- private _distributeGroupEpochKey;
355
- private _heartbeatGroupRotation;
356
- private _ackGroupRotationKey;
357
- private _verifyActiveGroupRotationDistribution;
358
- private _discardGroupDistributionIfStale;
359
- private _verifyGroupKeyResponseEpoch;
360
- private _abortGroupRotation;
361
- private _rotationExpectedMembersStale;
362
- private _rotationRetryDelayMs;
363
- private _scheduleGroupRotationRetry;
364
- /** 建群后将本地 epoch 1 同步到服务端,最多重试 3 次 */
365
- private _syncEpochToServer;
366
- /**
367
- * H21: 基于"排序最小 admin = leader"选举,其他 admin 走 jitter 兜底重试。
368
- * 避免所有剩余 admin 同时触发 `_rotateGroupEpoch` 造成 CAS 风暴。
369
- */
370
- private _maybeLeadRotateGroupEpoch;
371
- /**
372
- * 为指定群组轮换 epoch 并分发新密钥。
373
- * 使用服务端 CAS 保证只有一方成功。
374
- */
375
- private _rotateGroupEpoch;
376
- /** 从成员加入事件 payload 中提取新加入的成员 AID 列表。 */
377
- private _joinedMemberAidsFromPayload;
378
- /** 延迟轮换等待时间(毫秒) */
379
- private static readonly _JOIN_ROTATION_DELAY_MS;
380
- private static readonly _SELF_JOIN_ROTATION_DELAY_MS;
381
- /** open/invite_code 入群后延迟轮换。 */
382
- private _delayedRotateAfterJoin;
383
- /** 当新成员加入但缺少 old_epoch 时,将当前 epoch 密钥分发给新成员。 */
384
- private _maybeBackfillKeyToJoinedMember;
385
- /**
386
- * 将当前 group_secret 通过 P2P E2EE 分发给新成员。
387
- * 先拉服务端最新成员列表,更新本地,构建签名 manifest,再分发。
388
- */
389
- private _distributeKeyToNewMember;
390
- /** 构建 epoch 轮换签名参数(异步,使用 SubtleCrypto)。失败时抛错,调用方在 try/catch 中跳过轮换。 */
391
- private _buildRotationSignature;
392
259
  private _connectOnce;
393
260
  private _resolveGateway;
394
261
  private _syncIdentityAfterConnect;
@@ -402,16 +269,10 @@ export declare class AUNClient {
402
269
  private _applyServerHeartbeatInterval;
403
270
  /** Token 刷新定时器 */
404
271
  private _startTokenRefresh;
405
- /** Prekey 轮换定时器:定期检查本地 prekey 数量,不足时自动补充上传 */
406
- private _startPrekeyRefresh;
407
- private _extractConsumedPrekeyId;
408
272
  private _validateMessageRecipient;
409
273
  private _validateOutboundCall;
410
274
  private _currentMessageDeliveryMode;
411
275
  private _injectMessageCursorContext;
412
- private _schedulePrekeyReplenishIfConsumed;
413
- /** 群组 epoch 后台任务 */
414
- private _startGroupEpochTasks;
415
276
  /** 不重连 close code 集合:认证失败/权限错误/被踢等,重连无意义 */
416
277
  private static readonly _NO_RECONNECT_CODES;
417
278
  /** 处理服务端主动断开通知 event/gateway.disconnect
@@ -446,8 +307,139 @@ export declare class AUNClient {
446
307
  private _refreshSeqTrackerContext;
447
308
  /** 将 SeqTracker 状态保存到 keystore */
448
309
  private _saveSeqTrackerState;
449
- /** 发布 E2EE 编排错误事件 */
450
- private _logE2eeError;
310
+ /**
311
+ * 初始化 V2 session:从 AID PEM 私钥提取 raw scalar + DER 公钥,
312
+ * 打开 V2 KeyStore(IndexedDB),构造 V2Session 并注册当前设备 SPK。
313
+ *
314
+ * connect 成功后自动调用,可幂等手动调用。
315
+ */
316
+ initV2Session(): Promise<void>;
317
+ private _getV2SenderPubDer;
318
+ /**
319
+ * V2 P2P 加密发送(推测性:用缓存 bootstrap 直接发,失败刷新重试一次)。
320
+ *
321
+ * @param to 目标 AID
322
+ * @param payload 业务 payload(将被加密)
323
+ * @param opts 可选 messageId / timestamp(与 Python 行为一致)
324
+ * @returns 服务端响应
325
+ */
326
+ sendV2(to: string, payload: Record<string, unknown>, opts?: {
327
+ messageId?: string;
328
+ timestamp?: number;
329
+ protectedHeaders?: Record<string, unknown>;
330
+ context?: Record<string, unknown>;
331
+ }): Promise<unknown>;
332
+ /**
333
+ * 拉取并解密 V2 P2P 消息。
334
+ *
335
+ * @param afterSeq 从此 seq 之后开始拉取(0/省略 = 从当前 contiguous 开始)
336
+ * @param limit 最多拉取条数
337
+ */
338
+ pullV2(afterSeq?: number, limit?: number): Promise<unknown[]>;
339
+ /**
340
+ * 确认 V2 消息已消费 + 自检销毁旧 SPK(PFS)。
341
+ *
342
+ * @param upToSeq 确认到此 seq;省略则用当前 contiguous
343
+ */
344
+ ackV2(upToSeq?: number): Promise<unknown>;
345
+ /** 解密单条 V2 消息(与 Python `_decrypt_v2_message` 对齐) */
346
+ private _decryptV2Message;
347
+ /**
348
+ * V2 Group 加密发送(推测性:用缓存 bootstrap 直接发,失败刷新重试一次)。
349
+ *
350
+ * @param groupId 群 ID
351
+ * @param payload 业务 payload(将被加密)
352
+ * @param opts 可选 messageId / timestamp
353
+ * @returns 服务端响应
354
+ */
355
+ sendGroupV2(groupId: string, payload: Record<string, unknown>, opts?: {
356
+ messageId?: string;
357
+ timestamp?: number;
358
+ protectedHeaders?: Record<string, unknown>;
359
+ context?: Record<string, unknown>;
360
+ }): Promise<unknown>;
361
+ private _pullGroupV2Internal;
362
+ /**
363
+ * 拉取并解密 V2 Group 消息。
364
+ *
365
+ * @param groupId 群 ID
366
+ * @param afterSeq 从此 seq 之后开始拉取(0/省略 = 从当前 contiguous 开始)
367
+ * @param limit 最多拉取条数
368
+ */
369
+ pullGroupV2(groupId: string, afterSeq?: number, limit?: number): Promise<unknown[]>;
370
+ /**
371
+ * 确认 V2 群消息已消费。
372
+ *
373
+ * @param groupId 群 ID
374
+ * @param upToSeq 确认到此 seq;省略则用当前 contiguous
375
+ */
376
+ ackGroupV2(groupId: string, upToSeq?: number): Promise<unknown>;
377
+ /**
378
+ * V2 P2P 多设备 wrap envelope 构造(不发送)。
379
+ * thought.put 复用此函数构造与 message.send 相同的 V2 envelope。
380
+ * 与 Python `_build_v2_p2p_envelope` 对齐。
381
+ */
382
+ private _buildV2P2PEnvelope;
383
+ /**
384
+ * V2 P2P thought.put:使用 V2 多设备 wrap envelope。
385
+ * 服务端仍走 message.thought.put(内存 KV),envelope 透传,由接收端单设备解密。
386
+ * 与 Python `_put_message_thought_encrypted_v2` 对齐。
387
+ */
388
+ private _putMessageThoughtEncryptedV2;
389
+ /**
390
+ * V2 Group 多设备 wrap envelope 构造(不发送)。
391
+ * 与 Python `_build_v2_group_envelope` 对齐。
392
+ */
393
+ private _buildV2GroupEnvelope;
394
+ private _publishV2GroupSecurityLevel;
395
+ /**
396
+ * V2 Group thought.put:多设备 wrap envelope。
397
+ * 与 Python `_put_group_thought_encrypted_v2` 对齐。
398
+ */
399
+ private _putGroupThoughtEncryptedV2;
400
+ /**
401
+ * 解密一个 V2 thought envelope(P2P 或 Group),返回 payload dict。
402
+ * 与 _decryptV2Message 不同:不依赖 envelope_json 包装;失败返回 null,不发布 undecryptable 事件。
403
+ * 与 Python `_decrypt_v2_envelope_for_thought` 对齐。
404
+ */
405
+ private _decryptV2EnvelopeForThought;
406
+ /**
407
+ * 验证 owner/admin 对 state 的 ECDSA 签名(防服务端篡改 bootstrap 字段)。
408
+ * 与 Python SDK 对齐:证书获取或验签失败时拒绝信任 bootstrap。
409
+ */
410
+ private _v2VerifyStateSignature;
411
+ /**
412
+ * 分叉检测:比对服务端 state_chain 与本地存储。
413
+ */
414
+ private _v2CheckFork;
415
+ private _v2MaybeTriggerAutoPropose;
416
+ /**
417
+ * 成员变更后自动 propose state(仅 owner/admin 执行)。
418
+ */
419
+ private _v2AutoProposeState;
420
+ private _v2LeaderDelayMs;
421
+ private _v2AutoProposeLeaderDelay;
422
+ private _v2VerifyCommittedStateBase;
423
+ private _doV2AutoProposeState;
424
+ private _v2VerifyPendingProposalAgainstBase;
425
+ private _v2ConfirmPendingProposal;
426
+ /**
427
+ * Owner 上线时自动检查并签名确认 pending state proposals。
428
+ */
429
+ private _v2AutoConfirmPendingProposals;
430
+ private _onV2StateProposed;
431
+ private _onV2StateRetryNeeded;
432
+ private _onV2StateConfirmed;
433
+ /**
434
+ * 处理 V2 push 通知:自动 pull + decrypt + emit。
435
+ */
436
+ private _v2PullInflight;
437
+ private _v2PullPending;
438
+ private _onV2PushNotification;
439
+ /**
440
+ * 处理 V2 epoch 轮换事件:清除 bootstrap 缓存 + 触发 SPK rotation。
441
+ */
442
+ private _onV2EpochRotated;
451
443
  /** 安全执行异步操作(不阻塞调用方,错误打 warning 便于排障) */
452
444
  private _safeAsync;
453
445
  /** 可取消的 sleep */
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}