@agentunion/fastaun 0.2.17 → 0.2.19

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 (42) hide show
  1. package/dist/auth.d.ts +6 -0
  2. package/dist/auth.js +375 -212
  3. package/dist/auth.js.map +1 -1
  4. package/dist/client.d.ts +14 -1
  5. package/dist/client.js +1255 -729
  6. package/dist/client.js.map +1 -1
  7. package/dist/discovery.d.ts +3 -0
  8. package/dist/discovery.js +29 -2
  9. package/dist/discovery.js.map +1 -1
  10. package/dist/e2ee-group.d.ts +2 -1
  11. package/dist/e2ee-group.js +207 -56
  12. package/dist/e2ee-group.js.map +1 -1
  13. package/dist/e2ee.js +45 -11
  14. package/dist/e2ee.js.map +1 -1
  15. package/dist/events.js +1 -1
  16. package/dist/events.js.map +1 -1
  17. package/dist/keystore/aid-db.d.ts +13 -1
  18. package/dist/keystore/aid-db.js +31 -3
  19. package/dist/keystore/aid-db.js.map +1 -1
  20. package/dist/keystore/file.d.ts +6 -0
  21. package/dist/keystore/file.js +20 -9
  22. package/dist/keystore/file.js.map +1 -1
  23. package/dist/keystore/index.d.ts +2 -0
  24. package/dist/keystore/sqlite-backup.js +5 -5
  25. package/dist/keystore/sqlite-backup.js.map +1 -1
  26. package/dist/logger.d.ts +2 -0
  27. package/dist/logger.js +69 -13
  28. package/dist/logger.js.map +1 -1
  29. package/dist/namespaces/auth.d.ts +13 -4
  30. package/dist/namespaces/auth.js +354 -150
  31. package/dist/namespaces/auth.js.map +1 -1
  32. package/dist/namespaces/custody.d.ts +1 -0
  33. package/dist/namespaces/custody.js +138 -56
  34. package/dist/namespaces/custody.js.map +1 -1
  35. package/dist/namespaces/meta.d.ts +1 -0
  36. package/dist/namespaces/meta.js +26 -0
  37. package/dist/namespaces/meta.js.map +1 -1
  38. package/dist/secret-store/file-store.js +3 -2
  39. package/dist/secret-store/file-store.js.map +1 -1
  40. package/dist/transport.js +83 -2
  41. package/dist/transport.js.map +1 -1
  42. package/package.json +42 -42
@@ -1,8 +1,11 @@
1
+ import type { ModuleLogger } from './logger.js';
1
2
  export declare class GatewayDiscovery {
2
3
  private _verifySsl;
3
4
  private _lastHealthy;
5
+ private _logger;
4
6
  constructor(opts?: {
5
7
  verifySsl?: boolean;
8
+ logger?: ModuleLogger;
6
9
  });
7
10
  /** 最近一次 health check 结果,null 表示尚未检查 */
8
11
  get lastHealthy(): boolean | null;
package/dist/discovery.js CHANGED
@@ -2,6 +2,7 @@ import * as http from 'node:http';
2
2
  import * as https from 'node:https';
3
3
  import { ConnectionError, ValidationError } from './errors.js';
4
4
  import { isJsonObject } from './types.js';
5
+ const _noopLogger = { error: () => { }, warn: () => { }, info: () => { }, debug: () => { } };
5
6
  function _httpGetJson(url, verifySsl, timeout) {
6
7
  return new Promise((resolve, reject) => {
7
8
  const parsed = new URL(url);
@@ -54,8 +55,10 @@ function _httpGetOk(url, verifySsl, timeout) {
54
55
  export class GatewayDiscovery {
55
56
  _verifySsl;
56
57
  _lastHealthy = null;
58
+ _logger;
57
59
  constructor(opts) {
58
60
  this._verifySsl = opts?.verifySsl ?? true;
61
+ this._logger = opts?.logger ?? _noopLogger;
59
62
  }
60
63
  /** 最近一次 health check 结果,null 表示尚未检查 */
61
64
  get lastHealthy() { return this._lastHealthy; }
@@ -64,14 +67,29 @@ export class GatewayDiscovery {
64
67
  * 结果缓存到 lastHealthy,同时返回检查结果。
65
68
  */
66
69
  async checkHealth(gatewayUrl, timeout = 5_000) {
70
+ const tStart = Date.now();
67
71
  const parsed = new URL(gatewayUrl);
68
72
  parsed.protocol = parsed.protocol === 'wss:' ? 'https:' : 'http:';
69
73
  parsed.pathname = '/health';
70
74
  parsed.search = '';
71
75
  parsed.hash = '';
72
76
  const healthUrl = parsed.toString();
73
- this._lastHealthy = await _httpGetOk(healthUrl, this._verifySsl, timeout);
74
- return this._lastHealthy;
77
+ this._logger.debug(`checkHealth enter: url=${healthUrl}`);
78
+ try {
79
+ this._lastHealthy = await _httpGetOk(healthUrl, this._verifySsl, timeout);
80
+ if (this._lastHealthy) {
81
+ this._logger.debug(`checkHealth exit: elapsed=${Date.now() - tStart}ms healthy=true url=${healthUrl}`);
82
+ }
83
+ else {
84
+ this._logger.warn(`health check failed: url=${healthUrl}`);
85
+ this._logger.debug(`checkHealth exit: elapsed=${Date.now() - tStart}ms healthy=false url=${healthUrl}`);
86
+ }
87
+ return this._lastHealthy;
88
+ }
89
+ catch (err) {
90
+ this._logger.debug(`checkHealth exit (error): elapsed=${Date.now() - tStart}ms err=${err instanceof Error ? err.message : String(err)}`);
91
+ throw err;
92
+ }
75
93
  }
76
94
  /**
77
95
  * 从 well-known URL 发现 Gateway。
@@ -81,6 +99,8 @@ export class GatewayDiscovery {
81
99
  * @returns Gateway WebSocket URL
82
100
  */
83
101
  async discover(wellKnownUrl, timeout = 5_000) {
102
+ const tStart = Date.now();
103
+ this._logger.debug(`discover enter: url=${wellKnownUrl}`);
84
104
  let payload;
85
105
  try {
86
106
  const rawPayload = await _httpGetJson(wellKnownUrl, this._verifySsl, timeout);
@@ -90,18 +110,25 @@ export class GatewayDiscovery {
90
110
  payload = rawPayload;
91
111
  }
92
112
  catch (err) {
113
+ this._logger.error(`gateway discover failed: url=${wellKnownUrl}, error=${err instanceof Error ? err.message : String(err)}`);
114
+ this._logger.debug(`discover exit (error): elapsed=${Date.now() - tStart}ms err=${err instanceof Error ? err.message : String(err)}`);
93
115
  throw new ConnectionError(`gateway discovery failed for ${wellKnownUrl}: ${err instanceof Error ? err.message : String(err)}`, { retryable: true });
94
116
  }
95
117
  const gateways = payload.gateways;
96
118
  if (!Array.isArray(gateways) || gateways.length === 0) {
119
+ this._logger.error(`gateway discover returned empty list: url=${wellKnownUrl}`);
120
+ this._logger.debug(`discover exit (error): elapsed=${Date.now() - tStart}ms err=empty_gateways`);
97
121
  throw new ValidationError('well-known returned empty gateways');
98
122
  }
99
123
  // 按 priority 排序(数值越小优先级越高)
100
124
  const sorted = [...gateways].sort((a, b) => (Number(a.priority ?? 999)) - (Number(b.priority ?? 999)));
101
125
  const url = sorted[0]?.url;
102
126
  if (!url || typeof url !== 'string') {
127
+ this._logger.error(`gateway discover missing url field: wellKnown=${wellKnownUrl}`);
128
+ this._logger.debug(`discover exit (error): elapsed=${Date.now() - tStart}ms err=missing_url`);
103
129
  throw new ValidationError('well-known missing gateway url');
104
130
  }
131
+ this._logger.debug(`discover exit: elapsed=${Date.now() - tStart}ms gateway=${url}, candidates=${gateways.length}`);
105
132
  // 发现后自动检查网关可用性(不阻塞,失败不影响返回)
106
133
  this.checkHealth(url, timeout).catch(() => { });
107
134
  return url;
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"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"}
@@ -65,6 +65,7 @@ export declare function encryptGroupMessage(groupId: string, epoch: number, grou
65
65
  */
66
66
  export declare function decryptGroupMessage(message: Message, groupSecrets: Map<number, Buffer>, senderCertPem?: string | null, opts?: {
67
67
  requireSignature?: boolean;
68
+ logger?: ModuleLogger;
68
69
  }): Message | null;
69
70
  /**
70
71
  * 计算 Membership Commitment。
@@ -150,7 +151,7 @@ export declare function handleKeyDistribution(message: Message | JsonObject, key
150
151
  /** 构建密钥请求 payload */
151
152
  export declare function buildKeyRequest(groupId: string, epoch: number, requesterAid: string, requestId?: string): JsonObject;
152
153
  /** 处理收到的密钥请求 */
153
- export declare function handleKeyRequest(request: Message | JsonObject, keystore: KeyStore, aid: string, currentMembers: string[], privateKeyPem?: string | null): JsonObject | null;
154
+ export declare function handleKeyRequest(request: Message | JsonObject, keystore: KeyStore, aid: string, currentMembers: string[], privateKeyPem?: string | null, logger?: ModuleLogger): JsonObject | null;
154
155
  /** 处理收到的密钥响应 */
155
156
  export declare function handleKeyResponse(response: Message | JsonObject, keystore: KeyStore, aid: string, opts?: {
156
157
  expectedRequest?: JsonObject | null;