@agentunion/fastaun-browser 0.5.10 → 0.5.12
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/CHANGELOG.md +62 -0
- package/_packed_docs/CHANGELOG.md +62 -0
- package/_packed_docs/INDEX.md +3 -3
- package/_packed_docs/KITE_DOCS_GUIDE.md +1 -1
- package/_packed_docs/protocol/10-Group-/345/255/220/345/215/217/350/256/256.md +21 -3
- package/_packed_docs/sdk/06-API/346/211/213/345/206/214.md +59 -0
- package/_packed_docs/sdk/09-group-rpc-manual.md +29 -2
- package/_packed_docs/sdk/AUN_DOCS_GUIDE.md +3 -2
- package/_packed_docs/sdk/INDEX.md +2 -1
- package/dist/bundle.js +1145 -381
- package/dist/client/delivery.d.ts +12 -4
- package/dist/client/delivery.d.ts.map +1 -1
- package/dist/client/delivery.js +341 -273
- package/dist/client/delivery.js.map +1 -1
- package/dist/client/group-state.d.ts.map +1 -1
- package/dist/client/group-state.js +1 -0
- package/dist/client/group-state.js.map +1 -1
- package/dist/client/rpc-pipeline.d.ts.map +1 -1
- package/dist/client/rpc-pipeline.js +38 -13
- package/dist/client/rpc-pipeline.js.map +1 -1
- package/dist/client/v2-e2ee.d.ts +3 -1
- package/dist/client/v2-e2ee.d.ts.map +1 -1
- package/dist/client/v2-e2ee.js +211 -75
- package/dist/client/v2-e2ee.js.map +1 -1
- package/dist/client.d.ts +15 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +402 -20
- package/dist/client.js.map +1 -1
- package/dist/facades.d.ts +7 -0
- package/dist/facades.d.ts.map +1 -1
- package/dist/facades.js +44 -0
- package/dist/facades.js.map +1 -1
- package/dist/seq-tracker.d.ts +2 -2
- package/dist/seq-tracker.d.ts.map +1 -1
- package/dist/seq-tracker.js +11 -7
- package/dist/seq-tracker.js.map +1 -1
- package/dist/tools/cross-sdk-agent.js +50 -12
- package/dist/tools/cross-sdk-agent.js.map +1 -1
- package/dist/transport.d.ts.map +1 -1
- package/dist/transport.js +162 -15
- package/dist/transport.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/dist/client.d.ts
CHANGED
|
@@ -173,6 +173,9 @@ export declare class AUNClient {
|
|
|
173
173
|
private _mailFacade?;
|
|
174
174
|
private _groupFacade?;
|
|
175
175
|
private _streamFacade?;
|
|
176
|
+
private _groupInvitePending;
|
|
177
|
+
private _groupInviteStateAid;
|
|
178
|
+
private _groupInviteStateLoad;
|
|
176
179
|
constructor(aid?: AID);
|
|
177
180
|
get aid(): string | null;
|
|
178
181
|
/** 返回后台刷新任务维护的最新 access token。 */
|
|
@@ -265,8 +268,10 @@ export declare class AUNClient {
|
|
|
265
268
|
call(method: string, params?: RpcParams): Promise<RpcResult>;
|
|
266
269
|
private _maybeHandleHalfOpenRpcFailure;
|
|
267
270
|
_recoverIdentityAdmission(err: unknown, _method?: string, params?: RpcParams): Promise<boolean>;
|
|
271
|
+
private _checkIdentityAdmissionAfterConnect;
|
|
268
272
|
private _runGroupIdentityOperation;
|
|
269
273
|
createGroup(params?: RpcParams, options?: CreateGroupOptions): Promise<RpcResult>;
|
|
274
|
+
private _inviteInitialGroupMembers;
|
|
270
275
|
private _groupAgentMdContent;
|
|
271
276
|
private _uploadGroupAgentMd;
|
|
272
277
|
bindGroupAid(params?: RpcParams, options?: BindGroupAidOptions): Promise<RpcResult>;
|
|
@@ -315,6 +320,16 @@ export declare class AUNClient {
|
|
|
315
320
|
private _publishOrderedMessage;
|
|
316
321
|
private _publishPulledMessage;
|
|
317
322
|
private _extractGroupIdFromResult;
|
|
323
|
+
private groupInviteKey;
|
|
324
|
+
private ensureGroupInviteStateLoaded;
|
|
325
|
+
private persistGroupInviteState;
|
|
326
|
+
private inviteArray;
|
|
327
|
+
private inviteBool;
|
|
328
|
+
private _onRawGroupInviteReceived;
|
|
329
|
+
private _onRawGroupInviteFinalized;
|
|
330
|
+
_onGroupInviteActionResult(method: string, params: RpcParams, result?: unknown, error?: unknown): Promise<void>;
|
|
331
|
+
private restoreGroupInvitesFromResult;
|
|
332
|
+
private restoreGroupInvitesAfterConnect;
|
|
318
333
|
private _onRawGroupChanged;
|
|
319
334
|
/**
|
|
320
335
|
* 处理 event/group.state_committed:验证 state_hash 链并更新本地存储。
|
package/dist/client.d.ts.map
CHANGED
|
@@ -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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"}
|
package/dist/client.js
CHANGED
|
@@ -96,10 +96,12 @@ const RECONNECT_MIN_BASE_DELAY_SECONDS = 1.0;
|
|
|
96
96
|
const RECONNECT_MAX_BASE_DELAY_SECONDS = 64.0;
|
|
97
97
|
const TOKEN_REFRESH_CHECK_INTERVAL_MS = 30_000;
|
|
98
98
|
const MAX_NOTIFY_PAYLOAD_SIZE = 64 * 1024;
|
|
99
|
+
const GROUP_INVITE_METADATA_KEY = 'group_invite_pending_v1';
|
|
99
100
|
// P1-23: 非幂等方法使用更长超时(35s),避免 SDK 10s 超时 < gateway 30s 处理时间
|
|
100
101
|
const NON_IDEMPOTENT_TIMEOUT = 35;
|
|
101
102
|
const NON_IDEMPOTENT_METHODS = new Set([
|
|
102
|
-
'message.send', 'mail.send', 'group.send', 'group.create',
|
|
103
|
+
'message.send', 'mail.send', 'group.send', 'group.create',
|
|
104
|
+
'group.accept_invite', 'group.reject_invite', 'group.revoke_invite',
|
|
103
105
|
'group.kick', 'group.remove_member', 'group.leave', 'group.dissolve',
|
|
104
106
|
'group.set_settings',
|
|
105
107
|
'group.update_announcement', 'group.update_rules',
|
|
@@ -120,7 +122,8 @@ const NON_IDEMPOTENT_METHODS = new Set([
|
|
|
120
122
|
'storage.volume.create', 'storage.volume.renew', 'storage.volume.expire_due',
|
|
121
123
|
'auth.create_aid', 'auth.renew_cert', 'auth.rekey',
|
|
122
124
|
'message.thought.put', 'group.thought.put',
|
|
123
|
-
'group.add_member',
|
|
125
|
+
'group.add_member',
|
|
126
|
+
'group.bind_group_aid', 'group.complete_transfer',
|
|
124
127
|
'group.fs.mkdir', 'group.fs.rm', 'group.fs.cp', 'group.fs.mv',
|
|
125
128
|
'group.fs.set_acl', 'group.fs.remove_acl',
|
|
126
129
|
'group.fs.mount', 'group.fs.umount',
|
|
@@ -142,7 +145,8 @@ const SIGNED_METHODS = new Set([
|
|
|
142
145
|
'group.v2.send', 'group.v2.pull', 'group.v2.ack',
|
|
143
146
|
'group.v2.propose_state', 'group.v2.confirm_state',
|
|
144
147
|
'group.v2.get_proposal',
|
|
145
|
-
'group.kick', 'group.add_member',
|
|
148
|
+
'group.kick', 'group.add_member', 'group.invite_member', 'group.list_my_invites',
|
|
149
|
+
'group.accept_invite', 'group.reject_invite', 'group.revoke_invite',
|
|
146
150
|
'group.leave', 'group.remove_member',
|
|
147
151
|
'group.update',
|
|
148
152
|
'group.set_role',
|
|
@@ -629,6 +633,9 @@ export class AUNClient {
|
|
|
629
633
|
_mailFacade;
|
|
630
634
|
_groupFacade;
|
|
631
635
|
_streamFacade;
|
|
636
|
+
_groupInvitePending = new Map();
|
|
637
|
+
_groupInviteStateAid = null;
|
|
638
|
+
_groupInviteStateLoad = null;
|
|
632
639
|
constructor(aid) {
|
|
633
640
|
if (aid !== null && aid !== undefined && !isAIDObject(aid)) {
|
|
634
641
|
throw new ValidationError('AUNClient only accepts an AID object or no argument');
|
|
@@ -749,6 +756,15 @@ export class AUNClient {
|
|
|
749
756
|
this._dispatcher.subscribe('_raw.group.changed', (data) => {
|
|
750
757
|
this._onRawGroupChanged(data);
|
|
751
758
|
});
|
|
759
|
+
this._dispatcher.subscribe('_raw.group.invite_created', (data) => {
|
|
760
|
+
this._safeAsync(this._onRawGroupInviteReceived(data, 'push'));
|
|
761
|
+
});
|
|
762
|
+
this._dispatcher.subscribe('_raw.group.invite_received', (data) => {
|
|
763
|
+
this._safeAsync(this._onRawGroupInviteReceived(data, 'push'));
|
|
764
|
+
});
|
|
765
|
+
this._dispatcher.subscribe('_raw.group.invite_finalized', (data) => {
|
|
766
|
+
this._safeAsync(this._onRawGroupInviteFinalized(data));
|
|
767
|
+
});
|
|
752
768
|
// V2 P2P / 群组服务平面事件:统一在构造期订阅,避免重连或重复初始化时重复注册。
|
|
753
769
|
this._dispatcher.subscribe('_raw.peer.v2.message_received', (data) => {
|
|
754
770
|
this._safeAsync(this._onV2PushNotification(data));
|
|
@@ -1232,6 +1248,61 @@ export class AUNClient {
|
|
|
1232
1248
|
await this._agentMdManager.upload(await this._agentMdManager.readContent(target) ?? buildDefaultAgentMd(target));
|
|
1233
1249
|
return true;
|
|
1234
1250
|
}
|
|
1251
|
+
async _checkIdentityAdmissionAfterConnect() {
|
|
1252
|
+
const aid = String(this._aid ?? this._currentAid?.aid ?? '').trim();
|
|
1253
|
+
if (!aid)
|
|
1254
|
+
return;
|
|
1255
|
+
try {
|
|
1256
|
+
const checked = await this._agentMdManager.check(aid);
|
|
1257
|
+
if (!checked.remote_found) {
|
|
1258
|
+
const content = await this._agentMdManager.readContent(aid) ?? buildDefaultAgentMd(aid);
|
|
1259
|
+
await this._agentMdManager.upload(content);
|
|
1260
|
+
}
|
|
1261
|
+
}
|
|
1262
|
+
catch (exc) {
|
|
1263
|
+
this._clientLog.warn(`post-connect agent.md check failed: ${String(exc)}`);
|
|
1264
|
+
}
|
|
1265
|
+
const store = this._aidStore;
|
|
1266
|
+
if (!store)
|
|
1267
|
+
return;
|
|
1268
|
+
let listed;
|
|
1269
|
+
try {
|
|
1270
|
+
listed = await this.call('group.list_my', {});
|
|
1271
|
+
}
|
|
1272
|
+
catch (exc) {
|
|
1273
|
+
this._clientLog.warn(`post-connect group identity check failed: ${String(exc)}`);
|
|
1274
|
+
return;
|
|
1275
|
+
}
|
|
1276
|
+
const result = isJsonObject(listed) ? listed : {};
|
|
1277
|
+
const groups = Array.isArray(result.groups) ? result.groups : (Array.isArray(result.items) ? result.items : []);
|
|
1278
|
+
for (const raw of groups) {
|
|
1279
|
+
if (!isJsonObject(raw))
|
|
1280
|
+
continue;
|
|
1281
|
+
const role = String(raw.role ?? raw.my_role ?? '').trim().toLowerCase();
|
|
1282
|
+
if (role !== 'owner')
|
|
1283
|
+
continue;
|
|
1284
|
+
const groupId = String(raw.group_id ?? raw.groupId ?? raw.group_aid ?? raw.groupAid ?? '').trim();
|
|
1285
|
+
const groupAid = String(raw.group_aid ?? raw.groupAid ?? groupId).trim();
|
|
1286
|
+
if (!groupId || !groupAid)
|
|
1287
|
+
continue;
|
|
1288
|
+
try {
|
|
1289
|
+
await this._runGroupIdentityOperation(groupId, async () => {
|
|
1290
|
+
const loaded = await store.load(groupAid);
|
|
1291
|
+
if (!loaded.ok || !loaded.data?.aid?.isPrivateKeyValid()) {
|
|
1292
|
+
await this.bindGroupAid({ group_id: groupId, group_aid: groupAid }, { aidStore: store });
|
|
1293
|
+
return;
|
|
1294
|
+
}
|
|
1295
|
+
const checked = await this._agentMdManager.check(groupAid);
|
|
1296
|
+
if (!checked.remote_found) {
|
|
1297
|
+
await this._uploadGroupAgentMd(store, groupAid, {}, {}, aid);
|
|
1298
|
+
}
|
|
1299
|
+
});
|
|
1300
|
+
}
|
|
1301
|
+
catch (exc) {
|
|
1302
|
+
this._clientLog.warn(`post-connect group identity check failed: group=${groupId} err=${String(exc)}`);
|
|
1303
|
+
}
|
|
1304
|
+
}
|
|
1305
|
+
}
|
|
1235
1306
|
async _runGroupIdentityOperation(groupId, operation) {
|
|
1236
1307
|
const aid = String(this._aid ?? this._currentAid?.aid ?? '').trim();
|
|
1237
1308
|
const dot = aid.indexOf('.');
|
|
@@ -1261,6 +1332,8 @@ export class AUNClient {
|
|
|
1261
1332
|
}
|
|
1262
1333
|
this._aidStore = store;
|
|
1263
1334
|
const payload = { ...params };
|
|
1335
|
+
const initialMembers = payload.members;
|
|
1336
|
+
delete payload.members;
|
|
1264
1337
|
if (payload.group_name === undefined && payload.groupName !== undefined) {
|
|
1265
1338
|
payload.group_name = payload.groupName;
|
|
1266
1339
|
delete payload.groupName;
|
|
@@ -1288,7 +1361,8 @@ export class AUNClient {
|
|
|
1288
1361
|
const result = { ...createdMap, ...boundMap, group: { ...createdGroup, ...boundGroup } };
|
|
1289
1362
|
const postprocessParams = { ...payload };
|
|
1290
1363
|
delete postprocessParams._defer_group_ready_postprocess;
|
|
1291
|
-
|
|
1364
|
+
const processed = await this._groupState.postprocessResult('group.create', postprocessParams, result);
|
|
1365
|
+
return await this._inviteInitialGroupMembers(processed, groupId, initialMembers);
|
|
1292
1366
|
}
|
|
1293
1367
|
const pendingKey = `create:${String(payload.group_name).trim().toLowerCase()}`;
|
|
1294
1368
|
const keystore = store._keystore;
|
|
@@ -1339,7 +1413,32 @@ export class AUNClient {
|
|
|
1339
1413
|
}
|
|
1340
1414
|
const postprocessParams = { ...payload };
|
|
1341
1415
|
delete postprocessParams._defer_group_ready_postprocess;
|
|
1342
|
-
|
|
1416
|
+
const processed = await this._groupState.postprocessResult('group.create', postprocessParams, result);
|
|
1417
|
+
return await this._inviteInitialGroupMembers(processed, String(group.group_id ?? groupAid).trim(), initialMembers);
|
|
1418
|
+
}
|
|
1419
|
+
async _inviteInitialGroupMembers(result, groupId, members) {
|
|
1420
|
+
const invites = [];
|
|
1421
|
+
const inviteErrors = [];
|
|
1422
|
+
const seen = new Set();
|
|
1423
|
+
if (Array.isArray(members)) {
|
|
1424
|
+
for (const item of members) {
|
|
1425
|
+
const aid = typeof item === 'string' ? item.trim() : (isJsonObject(item) ? String(item.aid ?? '').trim() : '');
|
|
1426
|
+
const memberType = isJsonObject(item) ? String(item.member_type ?? '').trim() : '';
|
|
1427
|
+
if (!aid || aid === String(this._aid ?? this._currentAid?.aid ?? '').trim() || seen.has(aid))
|
|
1428
|
+
continue;
|
|
1429
|
+
seen.add(aid);
|
|
1430
|
+
const params = { group_id: groupId, invitee_aid: aid };
|
|
1431
|
+
if (memberType)
|
|
1432
|
+
params.member_type = memberType;
|
|
1433
|
+
try {
|
|
1434
|
+
invites.push(await this.group.inviteMember(params));
|
|
1435
|
+
}
|
|
1436
|
+
catch (err) {
|
|
1437
|
+
inviteErrors.push({ aid, error: err instanceof Error ? err.message : String(err) });
|
|
1438
|
+
}
|
|
1439
|
+
}
|
|
1440
|
+
}
|
|
1441
|
+
return { ...(isJsonObject(result) ? result : {}), invites, invite_errors: inviteErrors };
|
|
1343
1442
|
}
|
|
1344
1443
|
_groupAgentMdContent(groupAid, params = {}, group = {}) {
|
|
1345
1444
|
const explicit = params.group_agent_md ?? params.groupAgentMd ?? params.content;
|
|
@@ -1875,7 +1974,7 @@ export class AUNClient {
|
|
|
1875
1974
|
_markPublishedSeq(ns, seq) {
|
|
1876
1975
|
this._delivery.markPublishedSeq(ns, seq);
|
|
1877
1976
|
}
|
|
1878
|
-
async _publishAppEvent(event, payload, source = '', ns = '', batch) {
|
|
1977
|
+
async _publishAppEvent(event, payload, source = 'direct', ns = '', batch) {
|
|
1879
1978
|
await this._delivery.publishAppEvent(event, payload, source, ns, batch);
|
|
1880
1979
|
}
|
|
1881
1980
|
_echoTimestamp() {
|
|
@@ -1937,6 +2036,293 @@ export class AUNClient {
|
|
|
1937
2036
|
const member = isJsonObject(result.member) ? result.member : null;
|
|
1938
2037
|
return member ? String(member.group_id ?? member.groupId ?? member.group_aid ?? member.groupAid ?? '') : '';
|
|
1939
2038
|
}
|
|
2039
|
+
groupInviteKey(groupId, inviteeAid) {
|
|
2040
|
+
const group = normalizeGroupId(groupId);
|
|
2041
|
+
const invitee = String(inviteeAid ?? '').trim().toLowerCase();
|
|
2042
|
+
return group && invitee ? `${group}\n${invitee}` : '';
|
|
2043
|
+
}
|
|
2044
|
+
async ensureGroupInviteStateLoaded() {
|
|
2045
|
+
const aid = String(this._aid ?? '').trim();
|
|
2046
|
+
if (!aid) {
|
|
2047
|
+
this._groupInvitePending.clear();
|
|
2048
|
+
this._groupInviteStateAid = null;
|
|
2049
|
+
return;
|
|
2050
|
+
}
|
|
2051
|
+
if (this._groupInviteStateAid === aid)
|
|
2052
|
+
return;
|
|
2053
|
+
if (this._groupInviteStateLoad) {
|
|
2054
|
+
await this._groupInviteStateLoad;
|
|
2055
|
+
if (this._groupInviteStateAid === aid)
|
|
2056
|
+
return;
|
|
2057
|
+
}
|
|
2058
|
+
this._groupInviteStateLoad = (async () => {
|
|
2059
|
+
this._groupInvitePending.clear();
|
|
2060
|
+
this._groupInviteStateAid = aid;
|
|
2061
|
+
const getter = this._tokenStore?.getMetadata;
|
|
2062
|
+
if (typeof getter !== 'function')
|
|
2063
|
+
return;
|
|
2064
|
+
try {
|
|
2065
|
+
const raw = await getter.call(this._tokenStore, aid, GROUP_INVITE_METADATA_KEY);
|
|
2066
|
+
const parsed = raw ? JSON.parse(String(raw)) : {};
|
|
2067
|
+
if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed))
|
|
2068
|
+
return;
|
|
2069
|
+
for (const [key, value] of Object.entries(parsed)) {
|
|
2070
|
+
if (value && typeof value === 'object' && !Array.isArray(value)) {
|
|
2071
|
+
this._groupInvitePending.set(key, value);
|
|
2072
|
+
}
|
|
2073
|
+
}
|
|
2074
|
+
}
|
|
2075
|
+
catch (exc) {
|
|
2076
|
+
this._clientLog.debug(`group invite state restore skipped: ${String(exc)}`);
|
|
2077
|
+
}
|
|
2078
|
+
})().finally(() => { this._groupInviteStateLoad = null; });
|
|
2079
|
+
return this._groupInviteStateLoad;
|
|
2080
|
+
}
|
|
2081
|
+
async persistGroupInviteState() {
|
|
2082
|
+
const aid = String(this._aid ?? '').trim();
|
|
2083
|
+
const setter = this._tokenStore?.setMetadata;
|
|
2084
|
+
if (!aid || typeof setter !== 'function')
|
|
2085
|
+
return;
|
|
2086
|
+
const state = {};
|
|
2087
|
+
for (const [key, value] of this._groupInvitePending)
|
|
2088
|
+
state[key] = value;
|
|
2089
|
+
try {
|
|
2090
|
+
await setter.call(this._tokenStore, aid, GROUP_INVITE_METADATA_KEY, JSON.stringify(state));
|
|
2091
|
+
}
|
|
2092
|
+
catch (exc) {
|
|
2093
|
+
this._clientLog.debug(`group invite state persist skipped: ${String(exc)}`);
|
|
2094
|
+
}
|
|
2095
|
+
}
|
|
2096
|
+
inviteArray(value, singular) {
|
|
2097
|
+
const values = Array.isArray(value) ? value : singular !== undefined ? [singular] : [];
|
|
2098
|
+
return [...new Set(values.map((item) => String(item ?? '').trim()).filter(Boolean))];
|
|
2099
|
+
}
|
|
2100
|
+
inviteBool(value) {
|
|
2101
|
+
return value === true || value === 1 || String(value ?? '').trim().toLowerCase() === 'true';
|
|
2102
|
+
}
|
|
2103
|
+
async _onRawGroupInviteReceived(data, source = 'push') {
|
|
2104
|
+
if (!isJsonObject(data))
|
|
2105
|
+
return;
|
|
2106
|
+
const groupId = normalizeGroupId(data.group_id ?? data.groupId ?? data.group_aid ?? data.groupAid);
|
|
2107
|
+
const inviteeAid = String(data.invitee_aid ?? data.inviteeAid ?? this._aid ?? '').trim();
|
|
2108
|
+
if (!groupId || !inviteeAid || (this._aid && inviteeAid.toLowerCase() !== this._aid.toLowerCase()))
|
|
2109
|
+
return;
|
|
2110
|
+
if (String(data.status ?? 'pending').trim().toLowerCase() !== 'pending') {
|
|
2111
|
+
await this._onRawGroupInviteFinalized(data);
|
|
2112
|
+
return;
|
|
2113
|
+
}
|
|
2114
|
+
await this.ensureGroupInviteStateLoaded();
|
|
2115
|
+
const key = this.groupInviteKey(groupId, inviteeAid);
|
|
2116
|
+
if (!key)
|
|
2117
|
+
return;
|
|
2118
|
+
const inviteIds = this.inviteArray(data.invite_ids, data.invite_id);
|
|
2119
|
+
const inviterAids = this.inviteArray(data.inviter_aids, data.inviter_aid);
|
|
2120
|
+
const existing = this._groupInvitePending.get(key);
|
|
2121
|
+
if (existing) {
|
|
2122
|
+
existing.invite_ids = [...new Set([...this.inviteArray(existing.invite_ids), ...inviteIds])];
|
|
2123
|
+
existing.inviter_aids = [...new Set([...this.inviteArray(existing.inviter_aids), ...inviterAids])];
|
|
2124
|
+
await this.persistGroupInviteState();
|
|
2125
|
+
return;
|
|
2126
|
+
}
|
|
2127
|
+
const payload = {
|
|
2128
|
+
...data,
|
|
2129
|
+
group_id: groupId,
|
|
2130
|
+
group_aid: groupId,
|
|
2131
|
+
invitee_aid: inviteeAid,
|
|
2132
|
+
invite_ids: inviteIds,
|
|
2133
|
+
inviter_aids: inviterAids,
|
|
2134
|
+
role: data.role ?? 'member',
|
|
2135
|
+
member_type: data.member_type ?? data.memberType ?? 'human',
|
|
2136
|
+
created_at: data.created_at ?? data.createdAt ?? 0,
|
|
2137
|
+
expires_at: data.expires_at ?? data.expiresAt ?? 0,
|
|
2138
|
+
status: 'pending',
|
|
2139
|
+
};
|
|
2140
|
+
delete payload.groupId;
|
|
2141
|
+
delete payload.groupAid;
|
|
2142
|
+
delete payload.inviteeAid;
|
|
2143
|
+
delete payload.inviterAid;
|
|
2144
|
+
this._groupInvitePending.set(key, payload);
|
|
2145
|
+
await this.persistGroupInviteState();
|
|
2146
|
+
await this._publishAppEvent('group.invite_received', JSON.parse(JSON.stringify(payload)), source);
|
|
2147
|
+
}
|
|
2148
|
+
async _onRawGroupInviteFinalized(data) {
|
|
2149
|
+
if (!isJsonObject(data))
|
|
2150
|
+
return;
|
|
2151
|
+
await this.ensureGroupInviteStateLoaded();
|
|
2152
|
+
const groupId = normalizeGroupId(data.group_id ?? data.groupId ?? data.group_aid ?? data.groupAid);
|
|
2153
|
+
const inviteeAid = String(data.invitee_aid ?? data.inviteeAid ?? this._aid ?? '').trim();
|
|
2154
|
+
if (this._aid && inviteeAid.toLowerCase() !== this._aid.toLowerCase())
|
|
2155
|
+
return;
|
|
2156
|
+
const inviteId = String(data.invite_id ?? '').trim();
|
|
2157
|
+
const key = this.groupInviteKey(groupId, inviteeAid);
|
|
2158
|
+
const status = String(data.status ?? '').trim().toLowerCase();
|
|
2159
|
+
const aggregateStatus = String(data.aggregate_status ?? data.aggregateStatus ?? '').trim().toLowerCase();
|
|
2160
|
+
const pendingIds = this.inviteArray(data.pending_invite_ids ?? data.pendingInviteIds);
|
|
2161
|
+
const pendingInviters = this.inviteArray(data.pending_inviter_aids ?? data.pendingInviterAids);
|
|
2162
|
+
const finalizedIds = this.inviteBool(data.remaining_pending) && inviteId
|
|
2163
|
+
? [inviteId]
|
|
2164
|
+
: this.inviteArray(data.invite_ids, data.invite_id);
|
|
2165
|
+
const finalizedInviters = this.inviteArray(data.inviter_aids, data.inviter_aid);
|
|
2166
|
+
const leavesPending = this.inviteBool(data.remaining_pending)
|
|
2167
|
+
|| this.inviteBool(data.pending)
|
|
2168
|
+
|| status === 'pending'
|
|
2169
|
+
|| aggregateStatus === 'pending'
|
|
2170
|
+
|| pendingIds.length > 0;
|
|
2171
|
+
let changed = false;
|
|
2172
|
+
const candidates = [];
|
|
2173
|
+
if (key) {
|
|
2174
|
+
const current = this._groupInvitePending.get(key);
|
|
2175
|
+
if (current)
|
|
2176
|
+
candidates.push([key, current]);
|
|
2177
|
+
}
|
|
2178
|
+
if (candidates.length === 0 && inviteId) {
|
|
2179
|
+
for (const [itemKey, item] of this._groupInvitePending) {
|
|
2180
|
+
if (this.inviteArray(item.invite_ids).includes(inviteId))
|
|
2181
|
+
candidates.push([itemKey, item]);
|
|
2182
|
+
}
|
|
2183
|
+
}
|
|
2184
|
+
for (const [itemKey, item] of candidates) {
|
|
2185
|
+
if (!leavesPending) {
|
|
2186
|
+
this._groupInvitePending.delete(itemKey);
|
|
2187
|
+
changed = true;
|
|
2188
|
+
continue;
|
|
2189
|
+
}
|
|
2190
|
+
const currentIds = this.inviteArray(item.invite_ids);
|
|
2191
|
+
const currentInviters = this.inviteArray(item.inviter_aids);
|
|
2192
|
+
const finalizedIndexes = new Set(currentIds
|
|
2193
|
+
.map((id, index) => finalizedIds.includes(id) ? index : -1)
|
|
2194
|
+
.filter((index) => index >= 0));
|
|
2195
|
+
const nextIds = pendingIds.length > 0
|
|
2196
|
+
? pendingIds
|
|
2197
|
+
: finalizedIds.length > 0
|
|
2198
|
+
? currentIds.filter((id) => !finalizedIds.includes(id))
|
|
2199
|
+
: currentIds;
|
|
2200
|
+
const nextInviters = pendingInviters.length > 0
|
|
2201
|
+
? pendingInviters
|
|
2202
|
+
: finalizedInviters.length > 0
|
|
2203
|
+
? currentInviters.filter((aid) => !finalizedInviters.includes(aid))
|
|
2204
|
+
: finalizedIndexes.size > 0
|
|
2205
|
+
? currentInviters.filter((_aid, index) => !finalizedIndexes.has(index))
|
|
2206
|
+
: currentInviters;
|
|
2207
|
+
if (nextIds.length === 0) {
|
|
2208
|
+
this._groupInvitePending.delete(itemKey);
|
|
2209
|
+
}
|
|
2210
|
+
else {
|
|
2211
|
+
item.invite_ids = nextIds;
|
|
2212
|
+
item.inviter_aids = nextInviters;
|
|
2213
|
+
}
|
|
2214
|
+
changed = true;
|
|
2215
|
+
}
|
|
2216
|
+
if (changed)
|
|
2217
|
+
await this.persistGroupInviteState();
|
|
2218
|
+
}
|
|
2219
|
+
async _onGroupInviteActionResult(method, params, result, error) {
|
|
2220
|
+
if (method === 'group.list_my_invites' && !error && (isJsonObject(result) || Array.isArray(result))) {
|
|
2221
|
+
await this.restoreGroupInvitesFromResult(result, params);
|
|
2222
|
+
return;
|
|
2223
|
+
}
|
|
2224
|
+
if (!['group.accept_invite', 'group.reject_invite', 'group.revoke_invite'].includes(method))
|
|
2225
|
+
return;
|
|
2226
|
+
const text = String(error instanceof Error ? error.message : error ?? '').toLowerCase();
|
|
2227
|
+
const resultStatus = isJsonObject(result) ? String(result.status ?? '').toLowerCase() : '';
|
|
2228
|
+
const aggregateResultStatus = isJsonObject(result)
|
|
2229
|
+
? String(result.aggregate_status ?? result.aggregateStatus ?? '').toLowerCase()
|
|
2230
|
+
: '';
|
|
2231
|
+
const terminalStatus = resultStatus || aggregateResultStatus;
|
|
2232
|
+
const pendingResult = resultStatus === 'pending' || aggregateResultStatus === 'pending'
|
|
2233
|
+
|| (isJsonObject(result) && (this.inviteBool(result.remaining_pending) || this.inviteBool(result.pending)));
|
|
2234
|
+
if (pendingResult) {
|
|
2235
|
+
if (isJsonObject(result) && (this.inviteBool(result.remaining_pending)
|
|
2236
|
+
|| this.inviteArray(result.pending_invite_ids ?? result.pendingInviteIds).length > 0)) {
|
|
2237
|
+
await this._onRawGroupInviteFinalized({ ...params, ...result });
|
|
2238
|
+
}
|
|
2239
|
+
return;
|
|
2240
|
+
}
|
|
2241
|
+
const terminal = !pendingResult && (!error || ['accepted', 'rejected', 'revoked', 'expired', 'ended'].includes(terminalStatus)
|
|
2242
|
+
|| /ended|expired|not.*pending|no longer.*pending|not found|finalized|already\s+(?:been\s+)?(?:accepted|rejected|revoked)/.test(text));
|
|
2243
|
+
if (!terminal)
|
|
2244
|
+
return;
|
|
2245
|
+
await this._onRawGroupInviteFinalized({
|
|
2246
|
+
...params,
|
|
2247
|
+
...(isJsonObject(result) ? result : {}),
|
|
2248
|
+
status: terminalStatus || 'ended',
|
|
2249
|
+
});
|
|
2250
|
+
}
|
|
2251
|
+
async restoreGroupInvitesFromResult(result, requestParams = {}) {
|
|
2252
|
+
const seen = new Set();
|
|
2253
|
+
const visitedPages = new Set();
|
|
2254
|
+
let current = result;
|
|
2255
|
+
let currentParams = { ...requestParams };
|
|
2256
|
+
let finalPage = false;
|
|
2257
|
+
while (!finalPage) {
|
|
2258
|
+
const root = Array.isArray(current) ? null : isJsonObject(current) ? current : null;
|
|
2259
|
+
const nestedValue = root && isJsonObject(root.data)
|
|
2260
|
+
? root.data
|
|
2261
|
+
: root;
|
|
2262
|
+
const nested = nestedValue ?? {};
|
|
2263
|
+
const rawItems = Array.isArray(nested.items)
|
|
2264
|
+
? nested.items
|
|
2265
|
+
: Array.isArray(nested.invites)
|
|
2266
|
+
? nested.invites
|
|
2267
|
+
: Array.isArray(current)
|
|
2268
|
+
? current
|
|
2269
|
+
: [];
|
|
2270
|
+
for (const item of rawItems) {
|
|
2271
|
+
if (!isJsonObject(item))
|
|
2272
|
+
continue;
|
|
2273
|
+
const status = String(item.status ?? 'pending').toLowerCase();
|
|
2274
|
+
const gid = normalizeGroupId(item.group_id ?? item.group_aid ?? item.groupId ?? item.groupAid);
|
|
2275
|
+
const aid = String(item.invitee_aid ?? item.inviteeAid ?? this._aid ?? '').trim();
|
|
2276
|
+
if (this._aid && aid.toLowerCase() !== this._aid.toLowerCase())
|
|
2277
|
+
continue;
|
|
2278
|
+
const key = this.groupInviteKey(gid, aid);
|
|
2279
|
+
if (status === 'pending' && key) {
|
|
2280
|
+
seen.add(key);
|
|
2281
|
+
await this._onRawGroupInviteReceived(item, 'pull');
|
|
2282
|
+
}
|
|
2283
|
+
else if (key) {
|
|
2284
|
+
seen.add(key);
|
|
2285
|
+
await this._onRawGroupInviteFinalized(item);
|
|
2286
|
+
}
|
|
2287
|
+
}
|
|
2288
|
+
const hasMore = this.inviteBool(nested.has_more ?? nested.hasMore ?? (root ? root.has_more ?? root.hasMore : undefined));
|
|
2289
|
+
if (!hasMore) {
|
|
2290
|
+
finalPage = true;
|
|
2291
|
+
break;
|
|
2292
|
+
}
|
|
2293
|
+
const page = Number(nested.page ?? root?.page ?? currentParams.page ?? 1);
|
|
2294
|
+
const nextPageValue = nested.next_page ?? nested.nextPage ?? root?.next_page ?? root?.nextPage;
|
|
2295
|
+
const nextPage = Number(nextPageValue ?? page + 1);
|
|
2296
|
+
if (!Number.isFinite(nextPage) || nextPage <= 0 || visitedPages.has(nextPage) || nextPage === page)
|
|
2297
|
+
break;
|
|
2298
|
+
visitedPages.add(page);
|
|
2299
|
+
currentParams = { ...currentParams, page: nextPage };
|
|
2300
|
+
if (currentParams.size === undefined) {
|
|
2301
|
+
const size = nested.size ?? root?.size;
|
|
2302
|
+
if (size !== undefined)
|
|
2303
|
+
currentParams.size = size;
|
|
2304
|
+
}
|
|
2305
|
+
current = await this.call('group.list_my_invites', currentParams);
|
|
2306
|
+
}
|
|
2307
|
+
await this.ensureGroupInviteStateLoaded();
|
|
2308
|
+
let changed = false;
|
|
2309
|
+
for (const key of this._groupInvitePending.keys()) {
|
|
2310
|
+
if (!seen.has(key)) {
|
|
2311
|
+
this._groupInvitePending.delete(key);
|
|
2312
|
+
changed = true;
|
|
2313
|
+
}
|
|
2314
|
+
}
|
|
2315
|
+
if (changed)
|
|
2316
|
+
await this.persistGroupInviteState();
|
|
2317
|
+
}
|
|
2318
|
+
async restoreGroupInvitesAfterConnect() {
|
|
2319
|
+
if (!this._aid || this._state !== 'connected')
|
|
2320
|
+
return;
|
|
2321
|
+
const result = await this.call('group.list_my_invites', { page: 1, size: 200, _rpc_background: true });
|
|
2322
|
+
if (isJsonObject(result) || Array.isArray(result)) {
|
|
2323
|
+
await this.restoreGroupInvitesFromResult(result, { page: 1, size: 200, _rpc_background: true });
|
|
2324
|
+
}
|
|
2325
|
+
}
|
|
1940
2326
|
async _onRawGroupChanged(data) {
|
|
1941
2327
|
const tStart = Date.now();
|
|
1942
2328
|
const action = String(data?.action ?? '');
|
|
@@ -2284,6 +2670,7 @@ export class AUNClient {
|
|
|
2284
2670
|
}
|
|
2285
2671
|
this._lifecycle.assertConnectionAttemptOwner(connectionOwner);
|
|
2286
2672
|
this._startBackgroundTasks();
|
|
2673
|
+
this._safeAsync(this.restoreGroupInvitesAfterConnect());
|
|
2287
2674
|
const connectionKind = String(params.connection_kind ?? 'long');
|
|
2288
2675
|
const isShortConnection = connectionKind === 'short';
|
|
2289
2676
|
const hasExplicitBackgroundSync = Object.prototype.hasOwnProperty.call(params, 'background_sync');
|
|
@@ -2301,6 +2688,7 @@ export class AUNClient {
|
|
|
2301
2688
|
if (backgroundSyncEnabled) {
|
|
2302
2689
|
this._safeAsync(this._fillP2pGap());
|
|
2303
2690
|
}
|
|
2691
|
+
this._safeAsync(this._checkIdentityAdmissionAfterConnect());
|
|
2304
2692
|
this._clientLog.debug(`_connectOnce exit: elapsed=${Date.now() - tStart}ms aid=${this._aid ?? '-'}`);
|
|
2305
2693
|
}
|
|
2306
2694
|
catch (err) {
|
|
@@ -3100,19 +3488,10 @@ export class AUNClient {
|
|
|
3100
3488
|
return this._delivery.clampAckParams(method, params);
|
|
3101
3489
|
}
|
|
3102
3490
|
_repairPushContiguousBound(ns, pushSeq, hasPayload, label) {
|
|
3103
|
-
|
|
3104
|
-
|
|
3105
|
-
|
|
3106
|
-
|
|
3107
|
-
const shouldRepair = contig > pushSeq;
|
|
3108
|
-
if (!shouldRepair)
|
|
3109
|
-
return contig;
|
|
3110
|
-
const repairedTo = Math.max(0, pushSeq - 1);
|
|
3111
|
-
this._seqTracker.repairContiguousSeq(ns, repairedTo);
|
|
3112
|
-
const repaired = this._seqTracker.getContiguousSeq(ns);
|
|
3113
|
-
this._persistRepairedSeq(ns);
|
|
3114
|
-
this._clientLog.warn(`${label} push repaired contiguous_seq: ns=${ns} payload=${hasPayload} push_seq=${pushSeq} contiguous=${contig}->${repaired}`);
|
|
3115
|
-
return repaired;
|
|
3491
|
+
void pushSeq;
|
|
3492
|
+
void hasPayload;
|
|
3493
|
+
void label;
|
|
3494
|
+
return ns ? this._seqTracker.getContiguousSeq(ns) : 0;
|
|
3116
3495
|
}
|
|
3117
3496
|
async _ensureV2SessionReady(method, errorMessage) {
|
|
3118
3497
|
if (!this._v2SessionMatchesIdentity()) {
|
|
@@ -3300,7 +3679,7 @@ export class AUNClient {
|
|
|
3300
3679
|
* undecryptable 事件、成功消费后触发 SPK 轮换。inline Push 在游标提交和
|
|
3301
3680
|
* Head/正文绑定校验前调用本入口时必须显式关闭这些副作用。
|
|
3302
3681
|
*/
|
|
3303
|
-
async _decryptV2Message(msg, allowPending = true, emitUndecryptable = true, rotateKeys = true, observeAgentMd = true, deferStatus, deferKeyFetch = false) {
|
|
3682
|
+
async _decryptV2Message(msg, allowPending = true, emitUndecryptable = true, rotateKeys = true, observeAgentMd = true, deferStatus, deferKeyFetch = false, source = 'pull') {
|
|
3304
3683
|
const session = this._v2Session;
|
|
3305
3684
|
if (!session)
|
|
3306
3685
|
return null;
|
|
@@ -3400,6 +3779,7 @@ export class AUNClient {
|
|
|
3400
3779
|
_envelope_type: String(envelope.type ?? ''),
|
|
3401
3780
|
_suite: String(envelope.suite ?? ''),
|
|
3402
3781
|
_spk_id: spkId,
|
|
3782
|
+
source,
|
|
3403
3783
|
};
|
|
3404
3784
|
attachV2EnvelopeMetadata(event, e2eeMeta);
|
|
3405
3785
|
this._dispatcher.enqueue(undecryptableEvent, event);
|
|
@@ -3441,6 +3821,7 @@ export class AUNClient {
|
|
|
3441
3821
|
_decrypt_stage: 'sender_ik',
|
|
3442
3822
|
_envelope_type: String(envelope.type ?? ''),
|
|
3443
3823
|
_suite: String(envelope.suite ?? ''),
|
|
3824
|
+
source,
|
|
3444
3825
|
};
|
|
3445
3826
|
attachV2EnvelopeMetadata(event, e2eeMeta);
|
|
3446
3827
|
this._dispatcher.enqueue(undecryptableEvent, event);
|
|
@@ -3473,6 +3854,7 @@ export class AUNClient {
|
|
|
3473
3854
|
_decrypt_stage: 'decrypt',
|
|
3474
3855
|
_envelope_type: String(envelope.type ?? ''),
|
|
3475
3856
|
_suite: String(envelope.suite ?? ''),
|
|
3857
|
+
source,
|
|
3476
3858
|
};
|
|
3477
3859
|
attachV2EnvelopeMetadata(event, e2eeMeta);
|
|
3478
3860
|
this._dispatcher.enqueue(undecryptableEvent, event);
|