@agentunion/fastaun 0.2.17 → 0.2.18
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/dist/auth.js +306 -209
- package/dist/auth.js.map +1 -1
- package/dist/client.js +1041 -704
- package/dist/client.js.map +1 -1
- package/dist/discovery.d.ts +3 -0
- package/dist/discovery.js +29 -2
- package/dist/discovery.js.map +1 -1
- package/dist/e2ee-group.d.ts +2 -1
- package/dist/e2ee-group.js +207 -56
- package/dist/e2ee-group.js.map +1 -1
- package/dist/e2ee.js +24 -9
- package/dist/e2ee.js.map +1 -1
- package/dist/events.js +1 -1
- package/dist/events.js.map +1 -1
- package/dist/keystore/aid-db.d.ts +7 -1
- package/dist/keystore/aid-db.js +10 -3
- package/dist/keystore/aid-db.js.map +1 -1
- package/dist/keystore/file.js +12 -9
- package/dist/keystore/file.js.map +1 -1
- package/dist/keystore/sqlite-backup.js +5 -5
- package/dist/keystore/sqlite-backup.js.map +1 -1
- package/dist/logger.d.ts +2 -0
- package/dist/logger.js +69 -13
- package/dist/logger.js.map +1 -1
- package/dist/namespaces/auth.d.ts +1 -0
- package/dist/namespaces/auth.js +289 -146
- package/dist/namespaces/auth.js.map +1 -1
- package/dist/namespaces/custody.d.ts +1 -0
- package/dist/namespaces/custody.js +138 -56
- package/dist/namespaces/custody.js.map +1 -1
- package/dist/namespaces/meta.d.ts +1 -0
- package/dist/namespaces/meta.js +26 -0
- package/dist/namespaces/meta.js.map +1 -1
- package/dist/secret-store/file-store.js +3 -2
- package/dist/secret-store/file-store.js.map +1 -1
- package/dist/transport.js +83 -2
- package/dist/transport.js.map +1 -1
- package/package.json +1 -1
package/dist/discovery.d.ts
CHANGED
|
@@ -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.
|
|
74
|
-
|
|
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;
|
package/dist/discovery.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAoE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"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"}
|
package/dist/e2ee-group.d.ts
CHANGED
|
@@ -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;
|