@agentunion/fastaun-browser 0.4.7 → 0.4.8

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 (78) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/_packed_docs/CHANGELOG.md +32 -0
  3. package/_packed_docs/INDEX.md +46 -22
  4. package/_packed_docs/KITE_DOCS_GUIDE.md +16 -12
  5. package/_packed_docs/design/AUNClient/346/213/206/345/210/206/351/207/215/346/236/204/346/211/247/350/241/214/346/226/271/346/241/210.md +859 -0
  6. package/dist/agent-md.d.ts +1 -1
  7. package/dist/agent-md.d.ts.map +1 -1
  8. package/dist/agent-md.js +12 -5
  9. package/dist/agent-md.js.map +1 -1
  10. package/dist/aid-store.d.ts +0 -1
  11. package/dist/aid-store.d.ts.map +1 -1
  12. package/dist/aid-store.js +29 -14
  13. package/dist/aid-store.js.map +1 -1
  14. package/dist/aid.d.ts +1 -0
  15. package/dist/aid.d.ts.map +1 -1
  16. package/dist/aid.js +10 -4
  17. package/dist/aid.js.map +1 -1
  18. package/dist/bundle.js +9804 -8845
  19. package/dist/cert-utils.d.ts +5 -1
  20. package/dist/cert-utils.d.ts.map +1 -1
  21. package/dist/cert-utils.js +52 -8
  22. package/dist/cert-utils.js.map +1 -1
  23. package/dist/client/delivery.d.ts +44 -0
  24. package/dist/client/delivery.d.ts.map +1 -0
  25. package/dist/client/delivery.js +1033 -0
  26. package/dist/client/delivery.js.map +1 -0
  27. package/dist/client/group-state.d.ts +32 -0
  28. package/dist/client/group-state.d.ts.map +1 -0
  29. package/dist/client/group-state.js +909 -0
  30. package/dist/client/group-state.js.map +1 -0
  31. package/dist/client/identity.d.ts +8 -0
  32. package/dist/client/identity.d.ts.map +1 -0
  33. package/dist/client/identity.js +34 -0
  34. package/dist/client/identity.js.map +1 -0
  35. package/dist/client/lifecycle.d.ts +10 -0
  36. package/dist/client/lifecycle.d.ts.map +1 -0
  37. package/dist/client/lifecycle.js +222 -0
  38. package/dist/client/lifecycle.js.map +1 -0
  39. package/dist/client/peers.d.ts +11 -0
  40. package/dist/client/peers.d.ts.map +1 -0
  41. package/dist/client/peers.js +42 -0
  42. package/dist/client/peers.js.map +1 -0
  43. package/dist/client/rpc-pipeline.d.ts +36 -0
  44. package/dist/client/rpc-pipeline.d.ts.map +1 -0
  45. package/dist/client/rpc-pipeline.js +446 -0
  46. package/dist/client/rpc-pipeline.js.map +1 -0
  47. package/dist/client/runtime.d.ts +6 -0
  48. package/dist/client/runtime.d.ts.map +1 -0
  49. package/dist/client/runtime.js +7 -0
  50. package/dist/client/runtime.js.map +1 -0
  51. package/dist/client/v2-e2ee.d.ts +104 -0
  52. package/dist/client/v2-e2ee.d.ts.map +1 -0
  53. package/dist/client/v2-e2ee.js +1586 -0
  54. package/dist/client/v2-e2ee.js.map +1 -0
  55. package/dist/client.d.ts +26 -48
  56. package/dist/client.d.ts.map +1 -1
  57. package/dist/client.js +297 -3724
  58. package/dist/client.js.map +1 -1
  59. package/dist/config.d.ts.map +1 -1
  60. package/dist/config.js +4 -3
  61. package/dist/config.js.map +1 -1
  62. package/dist/discovery.d.ts.map +1 -1
  63. package/dist/discovery.js +69 -10
  64. package/dist/discovery.js.map +1 -1
  65. package/dist/v2/crypto/dh-path.js +2 -2
  66. package/dist/v2/crypto/index.js +7 -7
  67. package/dist/v2/e2ee/decrypt.js +8 -8
  68. package/dist/v2/e2ee/encrypt-group.js +9 -9
  69. package/dist/v2/e2ee/encrypt-p2p.js +9 -9
  70. package/dist/v2/e2ee/index.js +5 -5
  71. package/dist/v2/e2ee/metadata-auth.js +1 -1
  72. package/dist/v2/session/index.js +2 -2
  73. package/dist/v2/session/session.js +1 -1
  74. package/dist/v2/state/commitment.js +1 -1
  75. package/dist/v2/state/index.js +1 -1
  76. package/dist/version.d.ts +1 -1
  77. package/dist/version.js +1 -1
  78. package/package.json +2 -2
@@ -0,0 +1,446 @@
1
+ import { normalizeSlotId, slotIsolationKey } from '../config.js';
2
+ import { ClientSignatureError, ConnectionError, PermissionError, StateError, ValidationError } from '../errors.js';
3
+ import { normalizeGroupId } from '../group-id.js';
4
+ import { p1363ToDer, pemToArrayBuffer, uint8ToBase64 } from '../crypto.js';
5
+ import { isJsonObject, } from '../types.js';
6
+ const INTERNAL_ONLY_METHODS = new Set([
7
+ 'auth.login1',
8
+ 'auth.aid_login1',
9
+ 'auth.login2',
10
+ 'auth.aid_login2',
11
+ 'auth.connect',
12
+ 'auth.refresh_token',
13
+ 'initialize',
14
+ ]);
15
+ const REMOVED_E2EE_METHODS = new Set([
16
+ 'group.rotate_epoch',
17
+ ]);
18
+ const PROTECTED_HEADERS_METHODS = new Set([
19
+ 'message.send',
20
+ 'group.send',
21
+ 'message.thought.put',
22
+ 'group.thought.put',
23
+ ]);
24
+ const SIGNED_METHODS = new Set([
25
+ 'message.send',
26
+ 'message.v2.put_peer_pk', 'message.v2.bootstrap',
27
+ 'message.v2.group_bootstrap', 'message.v2.pull',
28
+ 'message.v2.ack',
29
+ 'group.send',
30
+ 'group.v2.put_group_pk', 'group.v2.bootstrap',
31
+ 'group.v2.send', 'group.v2.pull', 'group.v2.ack',
32
+ 'group.v2.propose_state', 'group.v2.confirm_state',
33
+ 'group.v2.get_proposal',
34
+ 'group.kick', 'group.add_member',
35
+ 'group.leave', 'group.remove_member', 'group.update_rules',
36
+ 'group.update', 'group.update_announcement',
37
+ 'group.update_join_requirements', 'group.set_role',
38
+ 'group.transfer_owner', 'group.review_join_request',
39
+ 'group.batch_review_join_request',
40
+ 'group.request_join', 'group.use_invite_code',
41
+ 'group.thought.put',
42
+ 'message.thought.put',
43
+ 'group.set_settings',
44
+ 'group.resources.put', 'group.resources.update',
45
+ 'group.resources.delete', 'group.resources.request_add',
46
+ 'group.resources.direct_add', 'group.resources.approve_request',
47
+ 'group.resources.reject_request',
48
+ 'group.commit_state',
49
+ 'group.ban', 'group.unban',
50
+ 'group.dissolve', 'group.suspend', 'group.resume',
51
+ ]);
52
+ const PULL_GATE_STALE_MS = 30000;
53
+ export class RpcPipeline {
54
+ runtime;
55
+ constructor(runtime) {
56
+ this.runtime = runtime;
57
+ }
58
+ preflight(method, params) {
59
+ const client = this.runtime.client;
60
+ if (client._state !== 'connected') {
61
+ throw new ConnectionError('client is not connected');
62
+ }
63
+ if (INTERNAL_ONLY_METHODS.has(method)) {
64
+ throw new PermissionError(`method is internal_only: ${method}`);
65
+ }
66
+ if (method.startsWith('message.e2ee.') || method.startsWith('group.e2ee.') || REMOVED_E2EE_METHODS.has(method)) {
67
+ throw new PermissionError(`legacy E2EE method is removed in this SDK: ${method}`);
68
+ }
69
+ const p = { ...(params ?? {}) };
70
+ this.mergeInstanceProtectedHeaders(method, p);
71
+ if (method === 'message.send' || method === 'group.send') {
72
+ this.normalizeOutboundMessagePayload(p, method);
73
+ }
74
+ this.validateOutboundCall(method, p);
75
+ this.injectMessageCursorContext(method, p);
76
+ this.captureGroupCursorParams(method, p);
77
+ this.normalizeGroupCallContext(method, p);
78
+ const clampedParams = typeof client._clampAckParams === 'function'
79
+ ? client._clampAckParams(method, p)
80
+ : p;
81
+ return { params: clampedParams };
82
+ }
83
+ mergeInstanceProtectedHeaders(method, params) {
84
+ const client = this.runtime.client;
85
+ if (!client._instanceProtectedHeaders || !PROTECTED_HEADERS_METHODS.has(method)) {
86
+ return;
87
+ }
88
+ const existing = isJsonObject(params.protected_headers) ? params.protected_headers : {};
89
+ params.protected_headers = { ...client._instanceProtectedHeaders, ...existing };
90
+ }
91
+ normalizeOutboundMessagePayload(params, method = '') {
92
+ void method;
93
+ if (!Object.prototype.hasOwnProperty.call(params, 'payload') && Object.prototype.hasOwnProperty.call(params, 'content')) {
94
+ params.payload = params.content;
95
+ delete params.content;
96
+ }
97
+ const payload = params.payload;
98
+ if (isJsonObject(payload) && !Object.prototype.hasOwnProperty.call(payload, 'type') && typeof payload.text === 'string') {
99
+ params.payload = { type: 'text', ...payload };
100
+ }
101
+ }
102
+ validateOutboundCall(method, params) {
103
+ if (method === 'message.send') {
104
+ this.validateMessageRecipient(params.to);
105
+ if ('persist' in params) {
106
+ throw new ValidationError("message.send no longer accepts 'persist'; configure delivery_mode during connect");
107
+ }
108
+ if ('delivery_mode' in params || 'queue_routing' in params || 'affinity_ttl_ms' in params) {
109
+ throw new ValidationError('message.send does not accept delivery_mode; configure delivery_mode during connect');
110
+ }
111
+ }
112
+ if (method === 'group.send') {
113
+ if ('persist' in params) {
114
+ throw new ValidationError("group.send does not accept 'persist'; group messages are always fanout");
115
+ }
116
+ if ('delivery_mode' in params || 'queue_routing' in params || 'affinity_ttl_ms' in params) {
117
+ throw new ValidationError('group.send does not accept delivery_mode; group messages are always fanout');
118
+ }
119
+ }
120
+ if (method === 'group.thought.put' || method === 'group.thought.get'
121
+ || method === 'message.thought.put' || method === 'message.thought.get') {
122
+ const context = isJsonObject(params.context) ? params.context : null;
123
+ const contextType = String(context?.type ?? '').trim();
124
+ const contextId = String(context?.id ?? '').trim();
125
+ const hasContext = contextType.length > 0 && contextId.length > 0;
126
+ if (!hasContext) {
127
+ throw new ValidationError(`${method} requires context.type + context.id`);
128
+ }
129
+ }
130
+ if (method === 'group.thought.get' && !String(params.sender_aid ?? '').trim()) {
131
+ throw new ValidationError('group.thought.get requires sender_aid');
132
+ }
133
+ if (method === 'message.thought.put') {
134
+ this.validateMessageRecipient(params.to);
135
+ if (!String(params.to ?? '').trim()) {
136
+ throw new ValidationError('message.thought.put requires to');
137
+ }
138
+ }
139
+ if (method === 'message.thought.get' && !String(params.sender_aid ?? '').trim()) {
140
+ throw new ValidationError('message.thought.get requires sender_aid');
141
+ }
142
+ }
143
+ injectMessageCursorContext(method, params) {
144
+ if (method !== 'message.pull' && method !== 'message.ack') {
145
+ return;
146
+ }
147
+ const client = this.runtime.client;
148
+ if ('device_id' in params && String(params.device_id ?? '').trim() !== client._deviceId) {
149
+ throw new ValidationError('message.pull/message.ack device_id must match the current client instance');
150
+ }
151
+ const slotId = normalizeSlotId(params.slot_id ?? client._slotId, client._slotId);
152
+ if (slotIsolationKey(slotId) !== slotIsolationKey(client._slotId)) {
153
+ throw new ValidationError('message.pull/message.ack slot_id must match the current client instance');
154
+ }
155
+ params.device_id = client._deviceId;
156
+ params.slot_id = client._slotId;
157
+ }
158
+ async applyClientSignature(method, params) {
159
+ if (!SIGNED_METHODS.has(method)) {
160
+ return;
161
+ }
162
+ if (this.shouldSkipClientSignature(method, params)) {
163
+ delete params.client_signature;
164
+ return;
165
+ }
166
+ await this.runtime.client._signClientOperation(method, params);
167
+ }
168
+ shouldSkipClientSignature(method, params) {
169
+ if (method !== 'message.send' && method !== 'group.send')
170
+ return false;
171
+ if (params.encrypted || params.encrypt)
172
+ return false;
173
+ return this.runtime.client._isEchoPayload(params.payload);
174
+ }
175
+ async signClientOperation(method, params) {
176
+ const currentAid = this.runtime.client._currentAid;
177
+ if (!currentAid?.privateKeyPem)
178
+ return;
179
+ try {
180
+ const aid = currentAid.aid;
181
+ const ts = String(Math.floor(Date.now() / 1000));
182
+ const paramsForHash = {};
183
+ for (const [k, v] of Object.entries(params)) {
184
+ if (k !== 'client_signature' && !k.startsWith('_')) {
185
+ paramsForHash[k] = v;
186
+ }
187
+ }
188
+ const paramsJson = stableStringify(paramsForHash);
189
+ const paramsHashBuf = await crypto.subtle.digest('SHA-256', new TextEncoder().encode(paramsJson));
190
+ const paramsHash = Array.from(new Uint8Array(paramsHashBuf))
191
+ .map(b => b.toString(16).padStart(2, '0'))
192
+ .join('');
193
+ const signData = new TextEncoder().encode(`${method}|${aid}|${ts}|${paramsHash}`);
194
+ const pkcs8 = pemToArrayBuffer(currentAid.privateKeyPem);
195
+ const cryptoKey = await crypto.subtle.importKey('pkcs8', pkcs8, { name: 'ECDSA', namedCurve: 'P-256' }, false, ['sign']);
196
+ const sigP1363 = await crypto.subtle.sign({ name: 'ECDSA', hash: 'SHA-256' }, cryptoKey, signData);
197
+ const sigDer = p1363ToDer(new Uint8Array(sigP1363));
198
+ let certFingerprint = '';
199
+ const certPem = currentAid.certPem;
200
+ if (certPem) {
201
+ const certDer = pemToArrayBuffer(certPem);
202
+ const fpBuf = await crypto.subtle.digest('SHA-256', certDer);
203
+ certFingerprint = 'sha256:' + Array.from(new Uint8Array(fpBuf)).map(b => b.toString(16).padStart(2, '0')).join('');
204
+ }
205
+ params.client_signature = {
206
+ aid,
207
+ cert_fingerprint: certFingerprint,
208
+ timestamp: ts,
209
+ params_hash: paramsHash,
210
+ signature: uint8ToBase64(sigDer),
211
+ };
212
+ }
213
+ catch (exc) {
214
+ throw new ClientSignatureError(`客户端签名失败,拒绝发送无签名请求: ${exc instanceof Error ? exc.message : String(exc)}`);
215
+ }
216
+ }
217
+ // ── Pull Gate(序列化同一 key 的并发 pull)──────────────────
218
+ pullGateKeyForCall(method, params) {
219
+ const client = this.runtime.client;
220
+ if (method === 'message.pull' || method === 'message.v2.pull') {
221
+ return client._aid ? `p2p:${client._aid}` : '';
222
+ }
223
+ if (method === 'group.pull' || method === 'group.v2.pull') {
224
+ const gid = String(params.group_id ?? '').trim();
225
+ return gid ? `group:${gid}` : '';
226
+ }
227
+ if (method === 'group.pull_events') {
228
+ const gid = String(params.group_id ?? '').trim();
229
+ return gid ? `group_event:${gid}` : '';
230
+ }
231
+ return '';
232
+ }
233
+ tryAcquirePullGate(key) {
234
+ if (!key)
235
+ return 0;
236
+ const client = this.runtime.client;
237
+ const now = Date.now();
238
+ const gate = client._pullGates.get(key) ?? { inflight: false, startedAt: 0, token: 0 };
239
+ if (gate.inflight && now - gate.startedAt <= PULL_GATE_STALE_MS) {
240
+ return null;
241
+ }
242
+ if (gate.inflight) {
243
+ client._clientLog?.warn(`pull in-flight stale reset: key=${key} age=${now - gate.startedAt}ms`);
244
+ }
245
+ gate.token += 1;
246
+ gate.inflight = true;
247
+ gate.startedAt = now;
248
+ client._pullGates.set(key, gate);
249
+ return gate.token;
250
+ }
251
+ releasePullGate(key, token) {
252
+ if (!key || token == null)
253
+ return;
254
+ const gate = this.runtime.client._pullGates.get(key);
255
+ if (!gate || gate.token !== token)
256
+ return;
257
+ gate.inflight = false;
258
+ gate.startedAt = 0;
259
+ }
260
+ async runPullSerialized(key, operation) {
261
+ let token = this.tryAcquirePullGate(key);
262
+ if (token === null) {
263
+ const deadline = Date.now() + PULL_GATE_STALE_MS + 100;
264
+ while (token === null && Date.now() <= deadline) {
265
+ await this._sleep(25);
266
+ token = this.tryAcquirePullGate(key);
267
+ }
268
+ if (token === null) {
269
+ throw new StateError(`pull already in-flight for ${key}`);
270
+ }
271
+ }
272
+ try {
273
+ return await operation();
274
+ }
275
+ finally {
276
+ this.releasePullGate(key, token);
277
+ }
278
+ }
279
+ async rawCall(method, params, options) {
280
+ const client = this.runtime.client;
281
+ const payload = { ...(params ?? {}) };
282
+ const signed = options?.signed ?? true;
283
+ if (signed) {
284
+ await this.applyClientSignature(method, payload);
285
+ }
286
+ const timeout = options?.timeout;
287
+ if (options?.background) {
288
+ return await client._transport.call(method, payload, timeout, options?.trace, true);
289
+ }
290
+ if (options?.trace !== undefined) {
291
+ return await client._transport.call(method, payload, timeout, options.trace);
292
+ }
293
+ if (timeout !== undefined) {
294
+ return await client._transport.call(method, payload, timeout);
295
+ }
296
+ return await client._transport.call(method, payload);
297
+ }
298
+ async postprocessResult(method, params, result) {
299
+ const client = this.runtime.client;
300
+ let next = result;
301
+ if (method === 'group.thought.get' && isJsonObject(next)) {
302
+ client._clientLog?.debug?.(`group.thought.get transport result: found=${String(next.found ?? '')}, raw_count=${Array.isArray(next.thoughts) ? next.thoughts.length : 0}`);
303
+ next = await client._decryptGroupThoughts(next);
304
+ }
305
+ if (method === 'message.thought.get' && isJsonObject(next)) {
306
+ client._clientLog?.debug?.(`message.thought.get transport result: found=${String(next.found ?? '')}, raw_count=${Array.isArray(next.thoughts) ? next.thoughts.length : 0}`);
307
+ next = await client._decryptMessageThoughts(next);
308
+ }
309
+ if (method === 'message.pull' && isJsonObject(next)) {
310
+ this.postprocessMessagePull(params, next);
311
+ }
312
+ if (method === 'group.pull' && isJsonObject(next)) {
313
+ this.postprocessGroupPull(params, next);
314
+ }
315
+ next = await client._groupState.postprocessResult(method, params, next);
316
+ return next;
317
+ }
318
+ _sleep(ms) {
319
+ return new Promise(resolve => setTimeout(resolve, ms));
320
+ }
321
+ postprocessMessagePull(params, result) {
322
+ const client = this.runtime.client;
323
+ const messages = result.messages;
324
+ const rawMessages = (Array.isArray(messages) ? messages : []).filter(isJsonObject);
325
+ if (!client._aid || !client._seqTracker) {
326
+ return;
327
+ }
328
+ const ns = `p2p:${client._aid}`;
329
+ const contigBefore = client._seqTracker.getContiguousSeq(ns);
330
+ if (rawMessages.length) {
331
+ client._seqTracker.onPullResult(ns, rawMessages, Number(params.after_seq ?? 0) || 0);
332
+ }
333
+ const serverAck = Number(result.server_ack_seq ?? 0);
334
+ if (serverAck > 0) {
335
+ const contig = client._seqTracker.getContiguousSeq(ns);
336
+ if (contig < serverAck) {
337
+ client._clientLog?.info?.(`message.pull retention-floor advance: ns=${ns} contiguous=${contig} -> server_ack_seq=${serverAck}`);
338
+ client._seqTracker.forceContiguousSeq(ns, serverAck);
339
+ }
340
+ }
341
+ if (client._seqTracker.getContiguousSeq(ns) !== contigBefore) {
342
+ client._saveSeqTrackerState?.();
343
+ }
344
+ result._contig_before = contigBefore;
345
+ }
346
+ postprocessGroupPull(params, result) {
347
+ const client = this.runtime.client;
348
+ const gid = String(params.group_id ?? '').trim();
349
+ if (!gid || !client._seqTracker) {
350
+ return;
351
+ }
352
+ const messages = result.messages;
353
+ const rawMessages = (Array.isArray(messages) ? messages : []).filter(isJsonObject);
354
+ const ns = `group:${gid}`;
355
+ const contigBefore = client._seqTracker.getContiguousSeq(ns);
356
+ if (rawMessages.length) {
357
+ client._seqTracker.onPullResult(ns, rawMessages, Number(params.after_message_seq ?? params.after_seq ?? 0) || 0);
358
+ }
359
+ const cursor = isJsonObject(result.cursor) ? result.cursor : null;
360
+ const serverAck = Number(cursor?.current_seq ?? 0);
361
+ if (serverAck > 0) {
362
+ const contig = client._seqTracker.getContiguousSeq(ns);
363
+ if (contig < serverAck) {
364
+ client._clientLog?.info?.(`group.pull retention-floor advance: ns=${ns} contiguous=${contig} -> cursor.current_seq=${serverAck}`);
365
+ client._seqTracker.forceContiguousSeq(ns, serverAck);
366
+ }
367
+ }
368
+ if (client._seqTracker.getContiguousSeq(ns) !== contigBefore) {
369
+ client._saveSeqTrackerState?.();
370
+ }
371
+ result._contig_before = contigBefore;
372
+ }
373
+ captureGroupCursorParams(method, params) {
374
+ if (!method.startsWith('group.')
375
+ || '_group_cursor_params' in params
376
+ || Boolean(params._pull_gate_locked)) {
377
+ return;
378
+ }
379
+ const explicitCursorParams = this.groupCursorParams(params);
380
+ if (Object.keys(explicitCursorParams).length > 0) {
381
+ params._group_cursor_params = explicitCursorParams;
382
+ }
383
+ }
384
+ normalizeGroupCallContext(method, params) {
385
+ if (!method.startsWith('group.')) {
386
+ return;
387
+ }
388
+ const client = this.runtime.client;
389
+ if (params.group_id !== undefined && params.group_id !== null) {
390
+ const rawGroupId = String(params.group_id);
391
+ const normalizedGroupId = normalizeGroupId(rawGroupId);
392
+ if (normalizedGroupId && normalizedGroupId !== rawGroupId) {
393
+ client._clientLog?.debug?.(`call group_id normalized: ${rawGroupId} -> ${normalizedGroupId} method=${method}`);
394
+ }
395
+ params.group_id = normalizedGroupId;
396
+ }
397
+ if (params.device_id === undefined) {
398
+ params.device_id = client._deviceId;
399
+ }
400
+ if (params.slot_id === undefined) {
401
+ params.slot_id = client._slotId;
402
+ }
403
+ }
404
+ groupCursorParams(params) {
405
+ const cursorParams = {};
406
+ for (const key of ['device_id', 'slot_id', 'device_name', 'device_type']) {
407
+ const value = params[key];
408
+ if (value !== undefined && value !== null)
409
+ cursorParams[key] = value;
410
+ }
411
+ return cursorParams;
412
+ }
413
+ validateMessageRecipient(toAid) {
414
+ if (isGroupServiceAid(toAid)) {
415
+ throw new ValidationError('message.send receiver cannot be group.{issuer}; use group.send instead');
416
+ }
417
+ }
418
+ }
419
+ function isGroupServiceAid(value) {
420
+ const text = String(value ?? '').trim();
421
+ if (!text.includes('.'))
422
+ return false;
423
+ const [name, ...issuerParts] = text.split('.');
424
+ return name === 'group' && issuerParts.join('.').length > 0;
425
+ }
426
+ function stableStringify(obj) {
427
+ if (obj === null || obj === undefined)
428
+ return 'null';
429
+ if (typeof obj === 'boolean' || typeof obj === 'number')
430
+ return JSON.stringify(obj);
431
+ if (typeof obj === 'string')
432
+ return JSON.stringify(obj);
433
+ if (Array.isArray(obj)) {
434
+ return '[' + obj.map(v => stableStringify(v)).join(',') + ']';
435
+ }
436
+ if (isJsonObject(obj)) {
437
+ const keys = Object.keys(obj).sort();
438
+ const entries = keys.map(k => stableStringify(k) + ':' + stableStringify(obj[k]));
439
+ return '{' + entries.join(',') + '}';
440
+ }
441
+ return JSON.stringify(obj);
442
+ }
443
+ function formatCaughtError(error) {
444
+ return error instanceof Error ? error : String(error);
445
+ }
446
+ //# sourceMappingURL=rpc-pipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc-pipeline.js","sourceRoot":"","sources":["../../src/client/rpc-pipeline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export type ClientHost = Record<string, any>;
2
+ export declare class ClientRuntime {
3
+ readonly client: ClientHost;
4
+ constructor(client: unknown);
5
+ }
6
+ //# sourceMappingURL=runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/client/runtime.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE7C,qBAAa,aAAa;IACxB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;gBAEhB,MAAM,EAAE,OAAO;CAG5B"}
@@ -0,0 +1,7 @@
1
+ export class ClientRuntime {
2
+ client;
3
+ constructor(client) {
4
+ this.client = client;
5
+ }
6
+ }
7
+ //# sourceMappingURL=runtime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/client/runtime.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,aAAa;IACf,MAAM,CAAa;IAE5B,YAAY,MAAe;QACzB,IAAI,CAAC,MAAM,GAAG,MAAoB,CAAC;IACrC,CAAC;CACF"}
@@ -0,0 +1,104 @@
1
+ import { type JsonObject, type RpcParams, type RpcResult } from '../types.js';
2
+ import type { ClientRuntime } from './runtime.js';
3
+ type BootstrapEntry = Record<string, any> & {
4
+ cachedAt?: number;
5
+ };
6
+ export declare class V2E2EECoordinator {
7
+ private readonly runtime;
8
+ constructor(runtime: ClientRuntime);
9
+ private get client();
10
+ private get bootstrapCache();
11
+ getBootstrapCacheEntry<T extends BootstrapEntry = BootstrapEntry>(key: string): T | undefined;
12
+ setBootstrapCacheEntry(key: string, entry: BootstrapEntry): void;
13
+ deleteBootstrapCacheEntry(key: string): void;
14
+ clearBootstrapCache(): void;
15
+ pruneExpiredBootstrapCache(ttlMs: number, now?: number): void;
16
+ onConnected(opts: {
17
+ backgroundSync: boolean;
18
+ }): Promise<void>;
19
+ initV2Session(): Promise<void>;
20
+ scheduleGroupSpkRegistration(groupId: string, opts: {
21
+ reason: string;
22
+ }): void;
23
+ scheduleGroupSpkRotation(groupId: string, opts: {
24
+ reason: string;
25
+ }): void;
26
+ scheduleGroupSpkRegistrationAfterPeerFallback(groupId: string): void;
27
+ getV2SenderPubDer(fromAid: string, senderDeviceId: string, certFingerprint?: string): Promise<Uint8Array | null>;
28
+ pendingSenderIKMessageKey(msg: Record<string, unknown>, groupId: string): string;
29
+ pendingSenderIKFetchKey(fromAid: string, senderDeviceId: string, groupId: string): string;
30
+ scheduleSenderIKPending(args: {
31
+ msg: Record<string, unknown>;
32
+ fromAid: string;
33
+ senderDeviceId: string;
34
+ groupId: string;
35
+ }): void;
36
+ scheduleSenderIKFetch(fromAid: string, senderDeviceId: string, groupId: string): void;
37
+ resolveSenderIKPending(fromAid: string, senderDeviceId: string, groupId: string, fetchKey: string): Promise<void>;
38
+ sendV2(to: string, payload: Record<string, unknown>, opts?: {
39
+ messageId?: string;
40
+ timestamp?: number;
41
+ protectedHeaders?: Record<string, unknown>;
42
+ context?: Record<string, unknown>;
43
+ }): Promise<unknown>;
44
+ pullV2(afterSeq?: number, limit?: number, opts?: {
45
+ force?: boolean;
46
+ }): Promise<unknown[]>;
47
+ ackV2(upToSeq?: number): Promise<unknown>;
48
+ sendGroupV2(groupId: string, payload: Record<string, unknown>, opts?: {
49
+ messageId?: string;
50
+ timestamp?: number;
51
+ protectedHeaders?: Record<string, unknown>;
52
+ context?: Record<string, unknown>;
53
+ }): Promise<unknown>;
54
+ pullGroupV2Internal(params: {
55
+ group_id: string;
56
+ after_seq: number;
57
+ limit: number;
58
+ }): Promise<void>;
59
+ pullGroupV2(groupId: string, afterSeq?: number, limit?: number, opts?: {
60
+ explicitAfterSeq?: boolean;
61
+ cursorParams?: Record<string, unknown>;
62
+ ownsCursor?: boolean;
63
+ }): Promise<unknown[]>;
64
+ ackGroupV2(groupId: string, upToSeq?: number): Promise<unknown>;
65
+ putMessageThoughtEncryptedV2(params: RpcParams): Promise<RpcResult>;
66
+ putGroupThoughtEncryptedV2(params: RpcParams): Promise<RpcResult>;
67
+ decryptGroupThoughts(result: JsonObject): Promise<JsonObject>;
68
+ decryptMessageThoughts(result: JsonObject): Promise<JsonObject>;
69
+ decryptV2EnvelopeForThought(opts: {
70
+ envelope: Record<string, unknown>;
71
+ fromAid: string;
72
+ }): Promise<Record<string, unknown> | null>;
73
+ encryptedPushEnvelope(msg: Record<string, unknown>): Record<string, unknown> | null;
74
+ isEncryptedPushMessage(msg: Record<string, unknown>): boolean;
75
+ isEncryptedEnvelopePayload(payload: unknown): boolean;
76
+ isV2EncryptedEnvelopePayload(envelope: Record<string, unknown> | null): envelope is Record<string, unknown>;
77
+ safeUndecryptablePushEvent(msg: Record<string, unknown>, group: boolean): Record<string, unknown>;
78
+ decryptEncryptedPushPayload(msg: Record<string, unknown>, group: boolean): Promise<Record<string, unknown> | null>;
79
+ publishEncryptedPushAsUndecryptable(event: string, ns: string, seq: unknown, msg: Record<string, unknown>, group: boolean): Promise<boolean>;
80
+ publishEncryptedPushMessage(normalEvent: string, undecryptableEvent: string, ns: string, seq: unknown, msg: Record<string, unknown>, group: boolean): Promise<boolean>;
81
+ decryptV2PushMessage(data: unknown): Promise<Record<string, unknown> | null>;
82
+ buildV2P2PEnvelope(opts: {
83
+ to: string;
84
+ payload: Record<string, unknown>;
85
+ messageId?: string;
86
+ timestamp?: number;
87
+ useCache?: boolean;
88
+ protectedHeaders?: Record<string, unknown>;
89
+ context?: Record<string, unknown>;
90
+ }): Promise<Record<string, unknown>>;
91
+ buildV2GroupEnvelope(opts: {
92
+ groupId: string;
93
+ payload: Record<string, unknown>;
94
+ messageId?: string;
95
+ timestamp?: number;
96
+ useCache?: boolean;
97
+ protectedHeaders?: Record<string, unknown>;
98
+ context?: Record<string, unknown>;
99
+ }): Promise<Record<string, unknown>>;
100
+ handleGroupChangedSpk(data: Record<string, any>, groupId: string, action: string): void;
101
+ handleV2EpochRotated(data: unknown): Promise<void>;
102
+ }
103
+ export {};
104
+ //# sourceMappingURL=v2-e2ee.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"v2-e2ee.d.ts","sourceRoot":"","sources":["../../src/client/v2-e2ee.ts"],"names":[],"mappings":"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"}