@agentunion/fastaun 0.5.19 → 0.5.21

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 (129) hide show
  1. package/CHANGELOG.md +176 -78
  2. package/_packed_docs/CHANGELOG.md +176 -78
  3. package/_packed_docs/INDEX.md +288 -269
  4. package/_packed_docs/KITE_DOCS_GUIDE.md +101 -95
  5. package/_packed_docs/agent.md/SCHEMA.md +7 -7
  6. package/_packed_docs/agent.md/working/AID/347/261/273/345/236/213-owner/345/205/263/347/263/273/344/270/216/346/215/242owner/347/274/226/346/216/222/346/226/271/346/241/210.md +530 -0
  7. package/_packed_docs/agent.md/working/AID/347/261/273/345/236/213-owner/345/205/263/347/263/273/345/256/214/346/225/264/350/256/276/350/256/241/344/270/216/345/256/236/346/226/275/350/256/241/345/210/222.md +685 -0
  8. package/_packed_docs/agent.md/working/agent.md-schema/344/270/216/347/255/276/345/217/221/351/252/214/347/255/276/346/265/201/347/250/213/346/276/204/346/270/205.md +349 -0
  9. package/_packed_docs/agent.md/working//346/234/254/345/234/260Docker/346/265/213/350/257/225Bug/346/270/205/345/215/225.md +40 -0
  10. package/_packed_docs/agent.md//350/277/234/347/250/213agent.md/347/274/223/345/255/230/344/270/216etag/351/200/217/344/274/240/346/226/271/346/241/210.md +11 -11
  11. package/_packed_docs/protocol/06-/346/234/215/345/212/241/345/215/217/350/256/256.md +372 -331
  12. package/_packed_docs/protocol/08-AUN-E2EE.md +17 -12
  13. package/_packed_docs/protocol/10-Group-/345/255/220/345/215/217/350/256/256.md +676 -676
  14. package/_packed_docs/protocol/11-Storage-/345/255/220/345/215/217/350/256/256.md +8 -12
  15. package/_packed_docs/protocol/Ownership/345/215/217/350/256/256/345/256/232/344/271/211.md +445 -0
  16. package/_packed_docs/protocol/Ownership/345/215/217/350/256/256/345/256/232/344/271/2112.0.md +161 -0
  17. package/_packed_docs/protocol/Ownership/345/215/217/350/256/256/345/256/232/344/271/2112.1.md +666 -0
  18. package/_packed_docs/protocol/Ownership/345/215/217/350/256/256/345/256/232/344/271/2113.0.md +233 -0
  19. package/_packed_docs/protocol/agent.md/SCHEMA.md +1 -1
  20. package/_packed_docs/sdk/0.5.21-SDK/345/272/224/347/224/250/351/233/206/346/210/220/346/214/207/345/215/227.md +368 -0
  21. package/_packed_docs/sdk/0.5.21-SDK/345/274/200/345/217/221/344/270/216/347/247/273/346/244/215/346/214/207/345/215/227.md +350 -0
  22. package/_packed_docs/sdk/01-/345/277/253/351/200/237/345/274/200/345/247/213.md +1 -1
  23. package/_packed_docs/sdk/02-WebSocket/345/215/217/350/256/256.md +5 -1
  24. package/_packed_docs/sdk/03-/346/240/270/345/277/203/346/246/202/345/277/265.md +64 -64
  25. package/_packed_docs/sdk/04-/350/277/236/346/216/245/344/270/216/350/256/244/350/257/201.md +70 -63
  26. package/_packed_docs/sdk/05-E2EE/345/212/240/345/257/206/351/200/232/344/277/241.md +43 -40
  27. package/_packed_docs/sdk/06-API/346/211/213/345/206/214.md +179 -19
  28. package/_packed_docs/sdk/08-/346/234/200/344/275/263/345/256/236/350/267/265.md +50 -49
  29. package/_packed_docs/sdk/09-group-rpc-manual.md +261 -254
  30. package/_packed_docs/sdk/09-message-rpc-manual.md +253 -160
  31. package/_packed_docs/sdk/09-storage-rpc-manual.md +18 -26
  32. package/_packed_docs/sdk/09-/345/207/255/350/257/201/346/234/215/345/212/241RPC/346/211/213/345/206/214.md +71 -0
  33. package/_packed_docs/sdk/09-/347/273/204/347/273/207/346/234/215/345/212/241RPC/346/211/213/345/206/214.md +88 -0
  34. package/_packed_docs/sdk/AUN_DOCS_GUIDE.md +105 -92
  35. package/_packed_docs/sdk/INDEX.md +197 -167
  36. package/_packed_docs/sdk/Ownership-SDK/345/256/236/347/216/260/346/214/207/345/215/227.md +169 -0
  37. package/_packed_docs/sdk/Ownership-SDK/347/274/226/346/216/222/346/214/207/345/215/227.md +349 -0
  38. package/_packed_docs/sdk/Ownership-SDK/347/274/226/346/216/222/346/214/207/345/215/2272.1.md +930 -0
  39. package/_packed_docs/sdk/Ownership-SDK/351/233/206/346/210/220/346/214/207/345/215/227.md +270 -0
  40. package/_packed_docs/sdk/Ownership2.1-SDK/345/272/224/347/224/250/351/233/206/346/210/220/346/214/207/345/215/227.md +363 -0
  41. package/_packed_docs/sdk/Ownership2.1-SDK/345/274/200/345/217/221/344/270/216/347/247/273/346/244/215/346/214/207/345/215/227.md +553 -0
  42. package/_packed_docs/sdk/Ownership2.1-TDD/345/210/206/351/230/266/346/256/265/345/256/236/346/226/275/350/256/241/345/210/222.md +708 -0
  43. package/_packed_docs/sdk/Ownership2.1/350/257/246/347/273/206/350/256/276/350/256/241.md +480 -0
  44. package/_packed_docs/sdk/Ownership/347/256/241/347/220/206/344/270/223/351/242/230.md +559 -0
  45. package/_packed_docs/sdk/ProtectedHeaders/347/224/250/346/263/225/344/270/223/351/242/230.md +299 -0
  46. package/_packed_docs/sdk//345/207/255/350/257/201/344/270/216/347/273/204/347/273/207/346/234/215/345/212/241SDK/345/272/224/347/224/250/351/233/206/346/210/220/346/214/207/345/215/227.md +173 -0
  47. package/_packed_docs/sdk//345/207/255/350/257/201/344/270/216/347/273/204/347/273/207/346/234/215/345/212/241SDK/345/274/200/345/217/221/344/270/216/347/247/273/346/244/215/346/214/207/345/215/227.md +211 -0
  48. package/_packed_docs//350/267/250/350/256/276/345/244/207/345/267/262/350/257/273/346/234/252/350/257/273SDK/345/256/236/347/216/260/347/247/273/346/244/215/346/214/207/345/215/227.md +331 -0
  49. package/_packed_docs//350/267/250/350/256/276/345/244/207/345/267/262/350/257/273/346/234/252/350/257/273SDK/351/233/206/346/210/220/346/214/207/345/215/227.md +207 -0
  50. package/_packed_docs//350/267/250/350/256/276/345/244/207/345/267/262/350/257/273/346/234/252/350/257/273/344/273/243/347/240/201/345/256/241/346/237/245/346/212/245/345/221/212.md +252 -0
  51. package/_packed_docs//350/267/250/350/256/276/345/244/207/345/267/262/350/257/273/346/234/252/350/257/273/345/256/236/346/226/275/350/256/241/345/210/222.md +156 -0
  52. package/_packed_docs//350/267/250/350/256/276/345/244/207/345/267/262/350/257/273/346/234/252/350/257/273/346/226/271/346/241/210.md +273 -0
  53. package/_packed_docs//350/267/250/350/256/276/345/244/207/345/267/262/350/257/273/346/234/252/350/257/273/350/257/246/347/273/206/350/256/276/350/256/241.md +211 -0
  54. package/dist/agent-md-schema.d.ts +13 -1
  55. package/dist/agent-md-schema.js +63 -33
  56. package/dist/agent-md-schema.js.map +1 -1
  57. package/dist/agent-md.d.ts +30 -3
  58. package/dist/agent-md.js +293 -152
  59. package/dist/agent-md.js.map +1 -1
  60. package/dist/aid-store.d.ts +42 -0
  61. package/dist/aid-store.js +224 -44
  62. package/dist/aid-store.js.map +1 -1
  63. package/dist/aid.js +18 -13
  64. package/dist/aid.js.map +1 -1
  65. package/dist/auth.js +78 -2
  66. package/dist/auth.js.map +1 -1
  67. package/dist/cert-utils.d.ts +44 -1
  68. package/dist/cert-utils.js +157 -56
  69. package/dist/cert-utils.js.map +1 -1
  70. package/dist/client/delivery.d.ts +68 -1
  71. package/dist/client/delivery.js +1196 -135
  72. package/dist/client/delivery.js.map +1 -1
  73. package/dist/client/rpc-pipeline.d.ts +5 -1
  74. package/dist/client/rpc-pipeline.js +240 -111
  75. package/dist/client/rpc-pipeline.js.map +1 -1
  76. package/dist/client/v2-e2ee.d.ts +12 -2
  77. package/dist/client/v2-e2ee.js +842 -379
  78. package/dist/client/v2-e2ee.js.map +1 -1
  79. package/dist/client.d.ts +26 -2
  80. package/dist/client.js +420 -75
  81. package/dist/client.js.map +1 -1
  82. package/dist/config.d.ts +4 -0
  83. package/dist/config.js +1 -0
  84. package/dist/config.js.map +1 -1
  85. package/dist/events.d.ts +23 -4
  86. package/dist/events.js +171 -15
  87. package/dist/events.js.map +1 -1
  88. package/dist/facades.d.ts +43 -1
  89. package/dist/facades.js +368 -12
  90. package/dist/facades.js.map +1 -1
  91. package/dist/index.d.ts +7 -4
  92. package/dist/index.js +1 -1
  93. package/dist/index.js.map +1 -1
  94. package/dist/keystore/aid-db.d.ts +7 -2
  95. package/dist/keystore/aid-db.js +194 -43
  96. package/dist/keystore/aid-db.js.map +1 -1
  97. package/dist/keystore/index.d.ts +15 -1
  98. package/dist/keystore/local-token-store.d.ts +10 -2
  99. package/dist/keystore/local-token-store.js +81 -16
  100. package/dist/keystore/local-token-store.js.map +1 -1
  101. package/dist/org-protocol.d.ts +45 -0
  102. package/dist/org-protocol.js +829 -22
  103. package/dist/org-protocol.js.map +1 -1
  104. package/dist/ownership-v21.d.ts +40 -9
  105. package/dist/ownership-v21.js +174 -79
  106. package/dist/ownership-v21.js.map +1 -1
  107. package/dist/ownership-workflow.d.ts +22 -0
  108. package/dist/ownership-workflow.js +861 -66
  109. package/dist/ownership-workflow.js.map +1 -1
  110. package/dist/secret-store/file-store.js +84 -0
  111. package/dist/secret-store/file-store.js.map +1 -1
  112. package/dist/seq-tracker.d.ts +1 -0
  113. package/dist/seq-tracker.js +2 -2
  114. package/dist/seq-tracker.js.map +1 -1
  115. package/dist/tools/cross-sdk-agent.d.ts +67 -3
  116. package/dist/tools/cross-sdk-agent.js +575 -42
  117. package/dist/tools/cross-sdk-agent.js.map +1 -1
  118. package/dist/transport.d.ts +4 -0
  119. package/dist/transport.js +108 -44
  120. package/dist/transport.js.map +1 -1
  121. package/dist/types.d.ts +1 -0
  122. package/dist/v2/e2ee/encrypt-group.js +1 -0
  123. package/dist/v2/e2ee/encrypt-group.js.map +1 -1
  124. package/dist/v2/e2ee/encrypt-p2p.js +1 -0
  125. package/dist/v2/e2ee/encrypt-p2p.js.map +1 -1
  126. package/dist/v2/e2ee/types.d.ts +1 -0
  127. package/dist/version.d.ts +1 -1
  128. package/dist/version.js +1 -1
  129. package/package.json +1 -1
package/dist/config.d.ts CHANGED
@@ -4,6 +4,10 @@
4
4
  * 提供设备 ID 获取、配置接口定义、默认值与构建逻辑。
5
5
  */
6
6
  import type { JsonObject } from './types.js';
7
+ export declare const _INTERNAL_MESSAGE_FLOW_LIMITS: {
8
+ pullPageSize: number;
9
+ pullMaxInflight: number;
10
+ };
7
11
  export declare function normalizeInstanceId(value: unknown, field: string, opts?: {
8
12
  allowEmpty?: boolean;
9
13
  }): string;
package/dist/config.js CHANGED
@@ -8,6 +8,7 @@ import { existsSync, mkdirSync, readFileSync, writeFileSync, chmodSync } from 'n
8
8
  import { homedir } from 'node:os';
9
9
  import { join } from 'node:path';
10
10
  import { ValidationError } from './errors.js';
11
+ export const _INTERNAL_MESSAGE_FLOW_LIMITS = { pullPageSize: 200, pullMaxInflight: 4 };
11
12
  // ── 设备 ID ──────────────────────────────────────────────────
12
13
  const INSTANCE_ID_PATTERN = /^[A-Za-z0-9._-]{1,128}$/;
13
14
  // slot_id 允许额外包含 / : 空格作为分隔符,但不允许出现在首字符
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/events.d.ts CHANGED
@@ -9,6 +9,10 @@ export type EventPayload = JsonValue | Error | {
9
9
  [key: string]: JsonValue | Error;
10
10
  };
11
11
  export type EventHandler = (payload: EventPayload) => void | Promise<void>;
12
+ export type ApplicationMessageReservation = {
13
+ readonly weight: number;
14
+ release: () => void;
15
+ };
12
16
  type EventLane = 'protocol' | 'application';
13
17
  /**
14
18
  * 订阅句柄,调用 unsubscribe() 取消订阅。
@@ -33,6 +37,7 @@ export declare class Subscription {
33
37
  */
34
38
  export declare class EventDispatcher {
35
39
  private _currentAid;
40
+ private _readStateIdentity;
36
41
  private _logger;
37
42
  private _handlers;
38
43
  private _protocolQueue;
@@ -41,18 +46,32 @@ export declare class EventDispatcher {
41
46
  private _organizationEventIds;
42
47
  private _closing;
43
48
  private _closed;
49
+ private _queuedMessageCount;
50
+ private _messageAdmissionWaiters;
51
+ private _messageAdmissionTail;
52
+ private _messageCapacityChanged;
53
+ private _messageCapacityResolve;
54
+ private _messageReservations;
44
55
  private _handlerContext;
45
- constructor(logger?: ModuleLogger, _currentAid?: () => string);
56
+ constructor(logger?: ModuleLogger, _currentAid?: () => string, _readStateIdentity?: () => string);
46
57
  /** 订阅指定事件,返回 Subscription 句柄 */
47
58
  subscribe(event: string, handler: EventHandler): Subscription;
48
59
  subscribeProtocol(event: string, handler: EventHandler): Subscription;
60
+ _snapshotApplicationHandlers(events: readonly string[]): ReadonlyMap<string, readonly EventHandler[]>;
49
61
  private _subscribe;
50
62
  /** 移除指定事件的指定处理器 */
51
63
  unsubscribe(event: string, handler: EventHandler, lane?: EventLane): void;
52
64
  private _invokeHandler;
53
65
  private _acceptsQueuedEvent;
54
66
  private _queueFor;
67
+ private _messageQueueCapacity;
68
+ private _messageEventWeight;
69
+ private _messageQueueFull;
70
+ private _notifyMessageCapacity;
71
+ _reserveMessageCapacity(weight: number, signal?: AbortSignal): Promise<ApplicationMessageReservation>;
72
+ private _enqueueAfterAdmission;
55
73
  private _enqueueInternal;
74
+ private _readStateEvent;
56
75
  private _scheduleDrain;
57
76
  private _dispatchQueuedEvent;
58
77
  private _hasHandlers;
@@ -60,9 +79,9 @@ export declare class EventDispatcher {
60
79
  private _finishClose;
61
80
  private _drainQueue;
62
81
  /** 将事件放入应用管线异步 FIFO 队列,不等待处理器执行完成。 */
63
- enqueue(event: string, payload: EventPayload): void;
64
- enqueueProtocol(event: string, payload: EventPayload): void;
65
- _publishAndWait(event: string, payload: EventPayload): Promise<void>;
82
+ enqueue(event: string, payload: EventPayload, guard?: () => boolean): void;
83
+ enqueueProtocol(event: string, payload: EventPayload, guard?: () => boolean): void;
84
+ _publishAndWait(event: string, payload: EventPayload, handlers?: readonly EventHandler[], reservation?: ApplicationMessageReservation, guard?: () => boolean): Promise<void>;
66
85
  _isApplicationHandler(): boolean;
67
86
  /** 兼容旧调用;客户端 dispatcher 仍统一通过异步队列发布。 */
68
87
  publishSyncAware(event: string, payload: EventPayload): void | Promise<void>;
package/dist/events.js CHANGED
@@ -4,12 +4,15 @@
4
4
  * 与 Python SDK 的 EventDispatcher 完全对齐:订阅、取消订阅、发布。
5
5
  */
6
6
  import { AsyncLocalStorage } from 'node:async_hooks';
7
+ import { _INTERNAL_MESSAGE_FLOW_LIMITS } from './config.js';
7
8
  const _noopLogger = {
8
9
  error: () => { },
9
10
  warn: () => { },
10
11
  info: () => { },
11
12
  debug: () => { },
12
13
  };
14
+ const APPLICATION_BATCH_EVENTS = new Set(['message.batch', 'group.message_batch', 'group.event_batch']);
15
+ const APPLICATION_MESSAGE_EVENTS = new Set(['message.received', 'group.message_created', 'message.recalled', 'group.message_recalled', 'group.changed', ...APPLICATION_BATCH_EVENTS]);
13
16
  function isPromiseLike(value) {
14
17
  return Boolean(value && typeof value.then === 'function');
15
18
  }
@@ -86,6 +89,7 @@ export class Subscription {
86
89
  */
87
90
  export class EventDispatcher {
88
91
  _currentAid;
92
+ _readStateIdentity;
89
93
  _logger;
90
94
  _handlers = new Map();
91
95
  _protocolQueue = { queue: [], draining: false, drainScheduled: false, flushWaiters: [] };
@@ -94,10 +98,17 @@ export class EventDispatcher {
94
98
  _organizationEventIds = new Set();
95
99
  _closing = false;
96
100
  _closed = false;
101
+ _queuedMessageCount = 0;
102
+ _messageAdmissionWaiters = 0;
103
+ _messageAdmissionTail = Promise.resolve();
104
+ _messageCapacityChanged = null;
105
+ _messageCapacityResolve = null;
106
+ _messageReservations = new WeakSet();
97
107
  // 使用 AsyncLocalStorage 标记当前处理器,避免嵌套 publish/close 等待正在执行的队列工作器。
98
108
  _handlerContext = new AsyncLocalStorage();
99
- constructor(logger, _currentAid = () => '') {
109
+ constructor(logger, _currentAid = () => '', _readStateIdentity = () => '') {
100
110
  this._currentAid = _currentAid;
111
+ this._readStateIdentity = _readStateIdentity;
101
112
  this._logger = logger ?? _noopLogger;
102
113
  }
103
114
  /** 订阅指定事件,返回 Subscription 句柄 */
@@ -107,6 +118,10 @@ export class EventDispatcher {
107
118
  subscribeProtocol(event, handler) {
108
119
  return this._subscribe(event, handler, 'protocol');
109
120
  }
121
+ _snapshotApplicationHandlers(events) {
122
+ return new Map(events.map((event) => [event, Object.freeze((this._handlers.get(event) ?? [])
123
+ .filter((registration) => registration.lane === 'application').map((registration) => registration.handler))]));
124
+ }
110
125
  _subscribe(event, handler, lane) {
111
126
  let handlers = this._handlers.get(event);
112
127
  if (!handlers) {
@@ -155,7 +170,104 @@ export class EventDispatcher {
155
170
  _queueFor(lane) {
156
171
  return lane === 'protocol' ? this._protocolQueue : this._applicationQueue;
157
172
  }
158
- _enqueueInternal(lane, event, payload, strict = false) {
173
+ _messageQueueCapacity() {
174
+ return _INTERNAL_MESSAGE_FLOW_LIMITS.pullPageSize * _INTERNAL_MESSAGE_FLOW_LIMITS.pullMaxInflight;
175
+ }
176
+ _messageEventWeight(event, payload) {
177
+ if (APPLICATION_BATCH_EVENTS.has(event)) {
178
+ const items = payload && typeof payload === 'object' && !Array.isArray(payload)
179
+ ? payload.items : undefined;
180
+ return Array.isArray(items) ? items.length : 0;
181
+ }
182
+ return APPLICATION_MESSAGE_EVENTS.has(event) ? 1 : 0;
183
+ }
184
+ _messageQueueFull(event, payload) {
185
+ const weight = this._messageEventWeight(event, payload);
186
+ if (weight > this._messageQueueCapacity())
187
+ throw new Error('application message batch exceeds queue capacity');
188
+ return weight > 0
189
+ && (this._messageAdmissionWaiters > 0 || this._queuedMessageCount + weight > this._messageQueueCapacity());
190
+ }
191
+ _notifyMessageCapacity() {
192
+ const resolve = this._messageCapacityResolve;
193
+ this._messageCapacityChanged = null;
194
+ this._messageCapacityResolve = null;
195
+ resolve?.();
196
+ }
197
+ async _reserveMessageCapacity(weight, signal) {
198
+ if (weight > this._messageQueueCapacity())
199
+ throw new Error('application message batch exceeds queue capacity');
200
+ const previous = this._messageAdmissionTail;
201
+ let releaseAdmission;
202
+ this._messageAdmissionTail = new Promise((resolve) => { releaseAdmission = resolve; });
203
+ this._messageAdmissionWaiters += 1;
204
+ let abort;
205
+ const aborted = new Promise((resolve) => { abort = resolve; });
206
+ signal?.addEventListener('abort', abort, { once: true });
207
+ if (signal?.aborted)
208
+ abort();
209
+ try {
210
+ await Promise.race([previous, aborted]);
211
+ while (!signal?.aborted && !this._closing && !this._closed && this._queuedMessageCount + weight > this._messageQueueCapacity()) {
212
+ this._messageCapacityChanged ??= new Promise((resolve) => { this._messageCapacityResolve = resolve; });
213
+ await Promise.race([this._messageCapacityChanged, aborted]);
214
+ }
215
+ if (signal?.aborted || this._closing || this._closed)
216
+ throw new Error('delivery invalidated');
217
+ this._queuedMessageCount += weight;
218
+ const reservation = { weight, release: () => {
219
+ if (!this._messageReservations.delete(reservation))
220
+ return;
221
+ this._queuedMessageCount -= weight;
222
+ this._notifyMessageCapacity();
223
+ } };
224
+ this._messageReservations.add(reservation);
225
+ return reservation;
226
+ }
227
+ finally {
228
+ signal?.removeEventListener('abort', abort);
229
+ this._messageAdmissionWaiters -= 1;
230
+ releaseAdmission();
231
+ }
232
+ }
233
+ async _enqueueAfterAdmission(event, payload, strict, handlers, guard) {
234
+ const previous = this._messageAdmissionTail;
235
+ let release;
236
+ this._messageAdmissionTail = new Promise((resolve) => { release = resolve; });
237
+ this._messageAdmissionWaiters += 1;
238
+ try {
239
+ await previous;
240
+ const weight = this._messageEventWeight(event, payload);
241
+ while (this._queuedMessageCount + weight > this._messageQueueCapacity()) {
242
+ if (weight > this._messageQueueCapacity())
243
+ throw new Error('application message batch exceeds queue capacity');
244
+ if (this._closing || this._closed)
245
+ throw new Error('event dispatcher closed');
246
+ this._messageCapacityChanged ??= new Promise((resolve) => { this._messageCapacityResolve = resolve; });
247
+ await this._messageCapacityChanged;
248
+ }
249
+ if (this._closing || this._closed)
250
+ throw new Error('event dispatcher closed');
251
+ if (guard && !guard())
252
+ return;
253
+ return this._enqueueInternal('application', event, payload, strict, guard, true, handlers);
254
+ }
255
+ finally {
256
+ this._messageAdmissionWaiters -= 1;
257
+ release();
258
+ }
259
+ }
260
+ _enqueueInternal(lane, event, payload, strict = false, guard, admitted = false, handlers, reserved = false) {
261
+ const eventWeight = lane === 'application' ? this._messageEventWeight(event, payload) : 0;
262
+ const messageWeight = reserved ? 0 : eventWeight;
263
+ if (lane === 'application' && APPLICATION_BATCH_EVENTS.has(event) && eventWeight === 0)
264
+ return Promise.resolve();
265
+ if (messageWeight > 0) {
266
+ if (this._queuedMessageCount + messageWeight > this._messageQueueCapacity() || (!admitted && this._messageAdmissionWaiters > 0)) {
267
+ throw new Error('application message queue full');
268
+ }
269
+ this._queuedMessageCount += messageWeight;
270
+ }
159
271
  if (lane === 'application' && (event.startsWith('org.member.') || event.startsWith('org.lifecycle.') || event.startsWith('credential.')) && payload && typeof payload === 'object' && !Array.isArray(payload)) {
160
272
  const value = payload;
161
273
  if (typeof value.event_id === 'string' && value.event_id) {
@@ -171,10 +283,21 @@ export class EventDispatcher {
171
283
  let reject;
172
284
  const completed = new Promise((done, fail) => { resolve = done; reject = fail; });
173
285
  const state = this._queueFor(lane);
174
- state.queue.push({ id: ++this._nextEventId, event, payload, resolve, reject: strict ? reject : undefined });
286
+ const identity = this._readStateEvent(event) ? this._readStateIdentity() : null;
287
+ const effectiveGuard = guard ?? (identity === null ? undefined : () => this._readStateIdentity() === identity);
288
+ const selectedHandlers = handlers ?? (lane === 'application' && APPLICATION_BATCH_EVENTS.has(event)
289
+ ? this._snapshotApplicationHandlers([event]).get(event) : undefined);
290
+ state.queue.push({ id: ++this._nextEventId, event, payload, resolve, reject: strict ? reject : undefined, guard: effectiveGuard, handlers: selectedHandlers, messageWeight });
175
291
  this._scheduleDrain(lane);
176
292
  return completed;
177
293
  }
294
+ _readStateEvent(event) {
295
+ return event === '_raw.message.read_changed'
296
+ || event === '_raw.group.read_changed'
297
+ || event === 'message.read_changed'
298
+ || event === 'group.read_changed'
299
+ || event === 'read_state_sync';
300
+ }
178
301
  _scheduleDrain(lane) {
179
302
  const state = this._queueFor(lane);
180
303
  if (state.draining || state.drainScheduled || state.queue.length === 0)
@@ -186,15 +309,17 @@ export class EventDispatcher {
186
309
  });
187
310
  }
188
311
  async _dispatchQueuedEvent(lane, item) {
189
- const registrations = [...(this._handlers.get(item.event) ?? [])]
190
- .filter((registration) => registration.lane === lane);
312
+ const handlers = item.handlers ?? [...(this._handlers.get(item.event) ?? [])]
313
+ .filter((registration) => registration.lane === lane).map((registration) => registration.handler);
191
314
  let failed = false;
192
315
  let failure;
193
- for (const registration of registrations) {
316
+ for (const handler of handlers) {
317
+ if (item.guard && !item.guard())
318
+ break;
194
319
  const context = { id: item.id, active: true, lane };
195
320
  try {
196
321
  await this._handlerContext.run(context, async () => {
197
- const result = this._invokeHandler(item.event, registration.handler, item.payload, Boolean(item.reject));
322
+ const result = this._invokeHandler(item.event, handler, item.payload, Boolean(item.reject));
198
323
  if (isPromiseLike(result))
199
324
  await result;
200
325
  });
@@ -241,13 +366,21 @@ export class EventDispatcher {
241
366
  try {
242
367
  while (state.queue.length > 0) {
243
368
  const item = state.queue.shift();
369
+ if (item.messageWeight > 0) {
370
+ this._queuedMessageCount -= item.messageWeight;
371
+ this._notifyMessageCapacity();
372
+ }
373
+ if (item.guard && !item.guard()) {
374
+ item.resolve();
375
+ continue;
376
+ }
244
377
  const applicationPayload = lane === 'protocol' && this._hasHandlers(item.event, 'application')
245
378
  ? cloneEventPayload(item.payload)
246
379
  : undefined;
247
380
  try {
248
381
  await this._dispatchQueuedEvent(lane, item);
249
382
  if (applicationPayload !== undefined) {
250
- this._enqueueInternal('application', item.event, applicationPayload);
383
+ this._enqueueInternal('application', item.event, applicationPayload, false, item.guard);
251
384
  }
252
385
  }
253
386
  catch (exc) {
@@ -272,23 +405,40 @@ export class EventDispatcher {
272
405
  }
273
406
  }
274
407
  /** 将事件放入应用管线异步 FIFO 队列,不等待处理器执行完成。 */
275
- enqueue(event, payload) {
408
+ enqueue(event, payload, guard) {
276
409
  if (!this._acceptsQueuedEvent('application'))
277
410
  return;
278
- this._enqueueInternal('application', event, cloneEventPayload(payload, true));
411
+ this._enqueueInternal('application', event, cloneEventPayload(payload, true), false, guard);
279
412
  }
280
- enqueueProtocol(event, payload) {
413
+ enqueueProtocol(event, payload, guard) {
281
414
  if (!this._acceptsQueuedEvent('protocol'))
282
415
  return;
283
- this._enqueueInternal('protocol', event, payload);
416
+ this._enqueueInternal('protocol', event, payload, false, guard);
284
417
  }
285
- async _publishAndWait(event, payload) {
418
+ async _publishAndWait(event, payload, handlers, reservation, guard) {
286
419
  if (!this._acceptsQueuedEvent('application'))
287
420
  throw new Error('event dispatcher closed');
421
+ if (handlers?.length === 0 || (APPLICATION_BATCH_EVENTS.has(event) && this._messageEventWeight(event, payload) === 0))
422
+ return;
288
423
  const context = this._handlerContext.getStore();
289
424
  if (context?.active && context.lane === 'application')
290
425
  throw new Error('delivery cannot wait inside an application handler');
291
- await this._enqueueInternal('application', event, cloneEventPayload(payload, true), true);
426
+ const snapshot = handlers ?? (APPLICATION_BATCH_EVENTS.has(event) ? this._snapshotApplicationHandlers([event]).get(event) : undefined);
427
+ const selectedHandlers = snapshot === undefined ? undefined : [...snapshot];
428
+ const queuedPayload = cloneEventPayload(payload, true);
429
+ if (reservation && this._messageReservations.has(reservation)) {
430
+ if (this._messageEventWeight(event, queuedPayload) > reservation.weight)
431
+ throw new Error('application message batch exceeds reserved capacity');
432
+ await this._enqueueInternal('application', event, queuedPayload, true, guard, true, selectedHandlers, true);
433
+ return;
434
+ }
435
+ if (this._messageQueueFull(event, queuedPayload)) {
436
+ if (context?.active)
437
+ throw new Error('application message queue full');
438
+ await this._enqueueAfterAdmission(event, queuedPayload, true, selectedHandlers, guard);
439
+ return;
440
+ }
441
+ await this._enqueueInternal('application', event, queuedPayload, true, guard, false, selectedHandlers);
292
442
  }
293
443
  _isApplicationHandler() {
294
444
  const context = this._handlerContext.getStore();
@@ -303,9 +453,12 @@ export class EventDispatcher {
303
453
  const lane = this._isProtocolEvent(event) ? 'protocol' : 'application';
304
454
  if (!this._acceptsQueuedEvent(lane))
305
455
  return;
456
+ const context = this._handlerContext.getStore();
457
+ if (lane === 'application' && this._messageQueueFull(event, payload)) {
458
+ throw new Error('application message queue full');
459
+ }
306
460
  const completed = this._enqueueInternal(lane, event, lane === 'application' ? cloneEventPayload(payload, true) : payload);
307
461
  // 处理器可能发布后续事件;此处等待会让单一 FIFO 工作器死锁,因此嵌套调用直接入队返回。
308
- const context = this._handlerContext.getStore();
309
462
  if (context?.active)
310
463
  return;
311
464
  await completed;
@@ -332,6 +485,8 @@ export class EventDispatcher {
332
485
  while (true) {
333
486
  await this.flushProtocol();
334
487
  await this.flushApplication();
488
+ if (this._messageAdmissionWaiters > 0)
489
+ await this._messageAdmissionTail;
335
490
  const protocol = this._protocolQueue;
336
491
  const application = this._applicationQueue;
337
492
  if (!protocol.draining && !protocol.drainScheduled && protocol.queue.length === 0
@@ -344,6 +499,7 @@ export class EventDispatcher {
344
499
  if (this._closed)
345
500
  return;
346
501
  this._closing = true;
502
+ this._notifyMessageCapacity();
347
503
  // close() 可能由当前工作器正在执行的处理器调用。
348
504
  if (this._handlerContext.getStore()?.active)
349
505
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
package/dist/facades.d.ts CHANGED
@@ -1,8 +1,12 @@
1
1
  import { GroupFSVFS } from './group-fs.js';
2
- import type { JsonObject, RpcParams, RpcResult } from './types.js';
2
+ import { type JsonObject, type RpcParams, type RpcResult } from './types.js';
3
3
  import { type OrganizationRequestOptions, type CredentialSigner, type CredentialVerificationContext, type CredentialVerificationResult } from './org-protocol.js';
4
4
  export interface FacadeRpcClient {
5
5
  call(method: string, params?: RpcParams): Promise<RpcResult>;
6
+ _assertCredentialNotRevoked?(credential: JsonObject, proofChain?: JsonObject[]): (() => void) | void;
7
+ _rememberCredential?(credential: JsonObject, material: Record<string, unknown>, certificate?: string | Uint8Array): void;
8
+ _currentCredential?(input: string | JsonObject): Record<string, any> | null;
9
+ _credentialCurrent?(input: string | JsonObject): Promise<Record<string, any> | null>;
6
10
  createGroup?(params?: RpcParams, options?: {
7
11
  aidStore?: unknown;
8
12
  }): Promise<RpcResult>;
@@ -29,6 +33,42 @@ export interface FacadeRpcClient {
29
33
  }): Promise<RpcResult>;
30
34
  }
31
35
  export type FacadeParams = RpcParams;
36
+ export interface DiagnosticCheck {
37
+ method: string;
38
+ scenario?: string;
39
+ status: 'passed' | 'failed' | 'skipped';
40
+ duration_ms: number;
41
+ result?: unknown;
42
+ error?: string;
43
+ data?: unknown;
44
+ reason?: string;
45
+ stage?: string;
46
+ }
47
+ export interface DiagnosticReport {
48
+ scope: string;
49
+ aid: string;
50
+ passed: number;
51
+ failed: number;
52
+ skipped: number;
53
+ checks: DiagnosticCheck[];
54
+ usage?: string;
55
+ }
56
+ export declare class DebugFacade {
57
+ private readonly client;
58
+ private readonly withTrace;
59
+ private tail;
60
+ constructor(client: FacadeRpcClient & {
61
+ readonly aid?: string | null;
62
+ readonly currentAid?: {
63
+ readonly certPem?: string;
64
+ } | null;
65
+ }, withTrace: (operation: () => Promise<DiagnosticReport>) => Promise<DiagnosticReport>);
66
+ diag(scope?: string | null): Promise<DiagnosticReport>;
67
+ private run;
68
+ private failure;
69
+ private scenarios;
70
+ private params;
71
+ }
32
72
  export declare function stripNil(params?: FacadeParams, keepNull?: boolean): FacadeParams;
33
73
  declare abstract class RpcFacade {
34
74
  protected readonly client: FacadeRpcClient;
@@ -40,6 +80,7 @@ export declare class MessageThoughtFacade extends RpcFacade {
40
80
  get(params?: FacadeParams): Promise<RpcResult>;
41
81
  }
42
82
  export declare class MessageFacade extends RpcFacade {
83
+ peers(params?: FacadeParams): Promise<RpcResult>;
43
84
  private _thought?;
44
85
  get thought(): MessageThoughtFacade;
45
86
  send(params?: FacadeParams): Promise<RpcResult>;
@@ -147,6 +188,7 @@ export declare class GroupFacade extends RpcFacade {
147
188
  getOnlineMembers(params?: FacadeParams): Promise<RpcResult>;
148
189
  }
149
190
  export declare class CredentialFacade extends RpcFacade {
191
+ current(input: string | JsonObject): Promise<Record<string, any> | null>;
150
192
  create(options: JsonObject, signer: CredentialSigner): JsonObject;
151
193
  verifySignature(credential: unknown, resolveCertificate: CredentialVerificationContext['resolveCertificate'], now?: number, audience?: string): CredentialVerificationResult;
152
194
  verify(credential: unknown, context: CredentialVerificationContext): CredentialVerificationResult;