@agentunion/fastaun 0.4.5 → 0.4.7

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 (48) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/_packed_docs/CHANGELOG.md +39 -0
  3. package/_packed_docs/INDEX.md +2 -2
  4. package/_packed_docs/KITE_DOCS_GUIDE.md +1 -1
  5. 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 +73 -84
  6. package/_packed_docs/sdk/01-/345/277/253/351/200/237/345/274/200/345/247/213.md +15 -14
  7. package/_packed_docs/sdk/02-WebSocket/345/215/217/350/256/256.md +2 -2
  8. package/_packed_docs/sdk/03-/346/240/270/345/277/203/346/246/202/345/277/265.md +22 -5
  9. package/_packed_docs/sdk/04-/350/277/236/346/216/245/344/270/216/350/256/244/350/257/201.md +44 -26
  10. package/_packed_docs/sdk/05-E2EE/345/212/240/345/257/206/351/200/232/344/277/241.md +5 -5
  11. package/_packed_docs/sdk/06-API/346/211/213/345/206/214.md +63 -35
  12. package/_packed_docs/sdk/08-/346/234/200/344/275/263/345/256/236/350/267/265.md +3 -3
  13. package/_packed_docs/sdk/09-message-rpc-manual.md +6 -6
  14. package/_packed_docs/sdk/AUN_DOCS_GUIDE.md +6 -4
  15. package/_packed_docs/sdk/INDEX.md +2 -2
  16. package/_packed_docs/sdk/README.md +3 -3
  17. package/dist/agent-md.d.ts +101 -0
  18. package/dist/agent-md.js +778 -0
  19. package/dist/agent-md.js.map +1 -0
  20. package/dist/aid-store.d.ts +12 -39
  21. package/dist/aid-store.js +114 -138
  22. package/dist/aid-store.js.map +1 -1
  23. package/dist/auth.js +1 -1
  24. package/dist/auth.js.map +1 -1
  25. package/dist/client.d.ts +1 -62
  26. package/dist/client.js +138 -826
  27. package/dist/client.js.map +1 -1
  28. package/dist/crypto.d.ts +1 -1
  29. package/dist/crypto.js +1 -1
  30. package/dist/index.d.ts +3 -2
  31. package/dist/index.js +2 -1
  32. package/dist/index.js.map +1 -1
  33. package/dist/keystore/aid-db.d.ts +2 -0
  34. package/dist/keystore/aid-db.js +12 -2
  35. package/dist/keystore/aid-db.js.map +1 -1
  36. package/dist/keystore/index.d.ts +6 -2
  37. package/dist/keystore/local-identity-store.d.ts +70 -0
  38. package/dist/keystore/local-identity-store.js +525 -0
  39. package/dist/keystore/local-identity-store.js.map +1 -0
  40. package/dist/keystore/local-token-store.d.ts +68 -0
  41. package/dist/keystore/local-token-store.js +368 -0
  42. package/dist/keystore/local-token-store.js.map +1 -0
  43. package/dist/register-flow.d.ts +12 -4
  44. package/dist/register-flow.js +70 -3
  45. package/dist/register-flow.js.map +1 -1
  46. package/dist/version.d.ts +1 -1
  47. package/dist/version.js +1 -1
  48. package/package.json +1 -1
@@ -0,0 +1,368 @@
1
+ /**
2
+ * LocalTokenStore — 基于 SQLite 的 TokenStore 实现(不含私钥操作)。
3
+ * AUNClient / AuthFlow 持有此类型。
4
+ */
5
+ import * as crypto from 'node:crypto';
6
+ import { existsSync, mkdirSync, readFileSync, writeFileSync, renameSync, unlinkSync, } from 'node:fs';
7
+ import { join, dirname } from 'node:path';
8
+ import { homedir } from 'node:os';
9
+ import { AIDDatabase } from './aid-db.js';
10
+ import { V2KeyStore } from '../v2/session/keystore.js';
11
+ import { getDeviceId } from '../config.js';
12
+ import { certificateSha256Fingerprint } from '../crypto.js';
13
+ import { createDefaultSecretStore } from '../secret-store/index.js';
14
+ import { FileSecretStore } from '../secret-store/file-store.js';
15
+ const _noopLogger = { error: () => { }, warn: () => { }, info: () => { }, debug: () => { } };
16
+ function normalizeCertFingerprint(fp) {
17
+ const v = String(fp ?? '').trim().toLowerCase();
18
+ if (!v.startsWith('sha256:') || v.length !== 71)
19
+ return '';
20
+ if (/[^0-9a-f]/.test(v.slice(7)))
21
+ return '';
22
+ return v;
23
+ }
24
+ function safeAid(aid) {
25
+ return aid.replace(/[/\\:]/g, '_');
26
+ }
27
+ export class LocalTokenStore {
28
+ _root;
29
+ _aidsRoot;
30
+ _secretStore;
31
+ _aidDBs = new Map();
32
+ deviceId;
33
+ _logger;
34
+ constructor(root, opts) {
35
+ this._logger = opts?.logger ?? _noopLogger;
36
+ const preferred = root ?? join(homedir(), '.aun');
37
+ const fallback = join(process.cwd(), '.aun');
38
+ this._root = this._prepareRoot(preferred, fallback);
39
+ this._secretStore = opts?.secretStore ?? createDefaultSecretStore(this._root, opts?.encryptionSeed, undefined, { logger: opts?.secretStoreLogger ?? this._logger });
40
+ this._aidsRoot = join(this._root, 'AIDs');
41
+ mkdirSync(this._aidsRoot, { recursive: true });
42
+ this.deviceId = getDeviceId(this._root);
43
+ }
44
+ close() {
45
+ for (const db of this._aidDBs.values())
46
+ db.close();
47
+ this._aidDBs.clear();
48
+ }
49
+ static ChangeSeed(root, oldSeed, newSeed) {
50
+ return FileSecretStore.changeSeed(root, oldSeed, newSeed);
51
+ }
52
+ changeSeed(oldSeed, newSeed) {
53
+ this.close();
54
+ const result = FileSecretStore.changeSeed(this._root, oldSeed, newSeed, { logger: this._logger });
55
+ this._secretStore = createDefaultSecretStore(this._root, newSeed, undefined, { logger: this._logger });
56
+ return result;
57
+ }
58
+ _prepareRoot(preferred, fallback) {
59
+ try {
60
+ mkdirSync(preferred, { recursive: true });
61
+ return preferred;
62
+ }
63
+ catch {
64
+ this._logger.warn(`preferred path ${preferred} unavailable, falling back to ${fallback}`);
65
+ mkdirSync(fallback, { recursive: true });
66
+ return fallback;
67
+ }
68
+ }
69
+ _getDB(aid) {
70
+ const safe = safeAid(aid);
71
+ let db = this._aidDBs.get(safe);
72
+ if (!db) {
73
+ const dbPath = join(this._aidsRoot, safe, 'aun.db');
74
+ try {
75
+ db = new AIDDatabase(dbPath, this._secretStore, safe, this._logger);
76
+ }
77
+ catch (exc) {
78
+ this._logger.warn(`database corrupted, backing up and rebuilding: aid=${aid} err=${exc instanceof Error ? exc.message : String(exc)}`);
79
+ const ts = new Date().toISOString().replace(/[:.]/g, '-');
80
+ const bakPath = dbPath + `.corrupt_${ts}.bak`;
81
+ try {
82
+ renameSync(dbPath, bakPath);
83
+ }
84
+ catch (renameErr) {
85
+ this._logger.warn(`backup rename failed: ${renameErr instanceof Error ? renameErr.message : String(renameErr)}`);
86
+ }
87
+ for (const suffix of ['-wal', '-shm', '-journal']) {
88
+ try {
89
+ unlinkSync(dbPath + suffix);
90
+ }
91
+ catch { /* ignore */ }
92
+ }
93
+ db = new AIDDatabase(dbPath, this._secretStore, safe, this._logger);
94
+ }
95
+ this._aidDBs.set(safe, db);
96
+ }
97
+ return db;
98
+ }
99
+ // ── Cert ─────────────────────────────────────────────────
100
+ loadCert(aid, certFingerprint) {
101
+ try {
102
+ const norm = normalizeCertFingerprint(certFingerprint);
103
+ if (norm) {
104
+ const vp = this._certVersionPath(aid, norm);
105
+ if (existsSync(vp))
106
+ return readFileSync(vp, 'utf-8');
107
+ const active = this._certPath(aid);
108
+ if (existsSync(active)) {
109
+ const certPem = readFileSync(active, 'utf-8');
110
+ if (certificateSha256Fingerprint(certPem) === norm)
111
+ return certPem;
112
+ }
113
+ return null;
114
+ }
115
+ const path = this._certPath(aid);
116
+ return existsSync(path) ? readFileSync(path, 'utf-8') : null;
117
+ }
118
+ catch {
119
+ this._logger.warn('cert.pem read failed, treating as non-existent');
120
+ return null;
121
+ }
122
+ }
123
+ saveCert(aid, certPem, certFingerprint, opts) {
124
+ const norm = normalizeCertFingerprint(certFingerprint);
125
+ if (norm) {
126
+ const vp = this._certVersionPath(aid, norm);
127
+ mkdirSync(dirname(vp), { recursive: true });
128
+ writeFileSync(vp, certPem);
129
+ if (!opts?.makeActive)
130
+ return;
131
+ }
132
+ const path = this._certPath(aid);
133
+ mkdirSync(dirname(path), { recursive: true });
134
+ writeFileSync(path, certPem);
135
+ }
136
+ // ── Instance State ───────────────────────────────────────
137
+ loadInstanceState(aid, deviceId, slotId = '') {
138
+ return this._getDB(aid).loadInstanceState(deviceId, slotId);
139
+ }
140
+ saveInstanceState(aid, deviceId, slotId, state) {
141
+ this._getDB(aid).saveInstanceState(deviceId, slotId, state);
142
+ }
143
+ updateInstanceState(aid, deviceId, slotId, updater) {
144
+ const db = this._getDB(aid);
145
+ const current = (db.loadInstanceState(deviceId, slotId) ?? {});
146
+ const working = JSON.parse(JSON.stringify(current));
147
+ const updated = (updater(working) ?? working);
148
+ db.saveInstanceState(deviceId, slotId, updated);
149
+ return JSON.parse(JSON.stringify(updated));
150
+ }
151
+ // ── Seq Tracker ───────────────────────────────────────────
152
+ saveSeq(aid, deviceId, slotId, namespace, contiguousSeq) {
153
+ this._getDB(aid).saveSeq(deviceId, slotId, namespace, contiguousSeq);
154
+ }
155
+ loadSeq(aid, deviceId, slotId, namespace) {
156
+ return this._getDB(aid).loadSeq(deviceId, slotId, namespace);
157
+ }
158
+ loadAllSeqs(aid, deviceId, slotId) {
159
+ return this._getDB(aid).loadAllSeqs(deviceId, slotId);
160
+ }
161
+ deleteSeq(aid, deviceId, slotId, namespace) {
162
+ this._getDB(aid).deleteSeq(deviceId, slotId, namespace);
163
+ }
164
+ // ── Metadata ─────────────────────────────────────────────
165
+ loadMetadata(aid) {
166
+ try {
167
+ const dbPath = join(this._aidsRoot, safeAid(aid), 'aun.db');
168
+ if (!existsSync(dbPath))
169
+ return null;
170
+ const db = this._getDB(aid);
171
+ const kv = db.getAllMetadata();
172
+ if (Object.keys(kv).length === 0)
173
+ return null;
174
+ const result = {};
175
+ for (const [k, v] of Object.entries(kv)) {
176
+ try {
177
+ result[k] = JSON.parse(v);
178
+ }
179
+ catch {
180
+ result[k] = v;
181
+ }
182
+ }
183
+ return result;
184
+ }
185
+ catch {
186
+ return null;
187
+ }
188
+ }
189
+ saveMetadata(aid, metadata) {
190
+ const db = this._getDB(aid);
191
+ for (const [k, v] of Object.entries(metadata)) {
192
+ if (v === undefined) {
193
+ db.deleteMetadata(k);
194
+ continue;
195
+ }
196
+ db.setMetadata(k, JSON.stringify(v));
197
+ }
198
+ }
199
+ // ── 信任根管理 ─────────────────────────────────────────────
200
+ trustRootDir() {
201
+ const dir = join(this._root, 'CA', 'root');
202
+ mkdirSync(dir, { recursive: true });
203
+ return dir;
204
+ }
205
+ trustRootBundlePath() {
206
+ return join(this.trustRootDir(), 'trust-roots.pem');
207
+ }
208
+ saveTrustRoots(trustList, rootCerts) {
209
+ const dir = this.trustRootDir();
210
+ for (let i = 0; i < rootCerts.length; i++) {
211
+ const item = rootCerts[i];
212
+ const certId = item.id || item.fingerprint_sha256 || `root-${i + 1}`;
213
+ const safeName = certId.replace(/[^A-Za-z0-9_.-]+/g, '_').slice(0, 120);
214
+ writeFileSync(join(dir, `${safeName}.crt`), item.cert_pem, 'utf-8');
215
+ }
216
+ const bundlePath = this.trustRootBundlePath();
217
+ writeFileSync(bundlePath, rootCerts.map(i => i.cert_pem.trim()).join('\n') + '\n', 'utf-8');
218
+ writeFileSync(join(dir, 'trust-roots.json'), JSON.stringify(trustList, null, 2), 'utf-8');
219
+ return bundlePath;
220
+ }
221
+ saveIssuerRootCert(issuer, certPem, fingerprintSha256 = '') {
222
+ const dir = this.trustRootDir();
223
+ const issuersDir = join(dir, 'issuers');
224
+ mkdirSync(issuersDir, { recursive: true });
225
+ const safeIssuer = (issuer || 'issuer').replace(/[^A-Za-z0-9_.-]+/g, '_').slice(0, 120);
226
+ const certPath = join(issuersDir, `${safeIssuer}.root.crt`);
227
+ const normalizedPem = certPem.trim() + '\n';
228
+ writeFileSync(certPath, normalizedPem, 'utf-8');
229
+ const bundlePath = this.trustRootBundlePath();
230
+ const existingPems = new Map();
231
+ try {
232
+ for (const pem of readFileSync(bundlePath, 'utf-8').split(/(?<=-----END CERTIFICATE-----)\s*/).map(s => s.trim()).filter(s => s.startsWith('-----BEGIN CERTIFICATE-----'))) {
233
+ existingPems.set(this._pemFingerprint(pem), pem);
234
+ }
235
+ }
236
+ catch { /* bundle 不存在时忽略 */ }
237
+ const newFp = fingerprintSha256 ? fingerprintSha256.toLowerCase().replace(/^sha256:/, '') : this._pemFingerprint(normalizedPem);
238
+ existingPems.set(newFp, normalizedPem);
239
+ writeFileSync(bundlePath, Array.from(existingPems.values()).map(p => p.trim()).join('\n') + '\n', 'utf-8');
240
+ return [certPath, bundlePath];
241
+ }
242
+ _pemFingerprint(pem) {
243
+ try {
244
+ const der = pem.replace(/-----[A-Z ]+-----/g, '').replace(/\s/g, '');
245
+ return crypto.createHash('sha256').update(Buffer.from(der, 'base64')).digest('hex');
246
+ }
247
+ catch {
248
+ return crypto.createHash('sha256').update(pem, 'utf-8').digest('hex');
249
+ }
250
+ }
251
+ // ── E2EE 存储 ─────────────────────────────────────────────
252
+ async saveE2EEPrekey(aid, prekeyId, prekeyData, deviceId = '') {
253
+ const now = Date.now();
254
+ const extra = {};
255
+ for (const [key, value] of Object.entries(prekeyData)) {
256
+ if (!['private_key_pem', 'created_at', 'updated_at', 'expires_at'].includes(key))
257
+ extra[key] = value;
258
+ }
259
+ this._getDB(aid).getSqliteHandle().prepare(`INSERT INTO prekeys (prekey_id, device_id, private_key_enc, data, created_at, updated_at, expires_at)
260
+ VALUES (?, ?, ?, ?, ?, ?, ?)
261
+ ON CONFLICT(prekey_id, device_id) DO UPDATE SET
262
+ private_key_enc=excluded.private_key_enc, data=excluded.data,
263
+ updated_at=excluded.updated_at, expires_at=excluded.expires_at`).run(prekeyId, String(deviceId ?? ''), String(prekeyData.private_key_pem ?? ''), JSON.stringify(extra), Number(prekeyData.created_at ?? now), now, prekeyData.expires_at == null ? null : Number(prekeyData.expires_at));
264
+ }
265
+ async loadE2EEPrekeys(aid, deviceId = '') {
266
+ const rows = this._getDB(aid).getSqliteHandle().prepare(`SELECT prekey_id, private_key_enc, data, created_at, updated_at, expires_at FROM prekeys WHERE device_id = ?`).all(String(deviceId ?? ''));
267
+ const result = {};
268
+ for (const row of rows) {
269
+ const id = String(row.prekey_id ?? '');
270
+ if (!id)
271
+ continue;
272
+ const entry = { private_key_pem: String(row.private_key_enc ?? ''), created_at: row.created_at, updated_at: row.updated_at, expires_at: row.expires_at };
273
+ try {
274
+ const extra = JSON.parse(String(row.data ?? '{}'));
275
+ if (extra && typeof extra === 'object' && !Array.isArray(extra))
276
+ Object.assign(entry, extra);
277
+ }
278
+ catch { /* ignore */ }
279
+ result[id] = entry;
280
+ }
281
+ return result;
282
+ }
283
+ async listGroupSecretIds(aid) {
284
+ const db = this._getDB(aid).getSqliteHandle();
285
+ const ids = new Set();
286
+ for (const row of db.prepare('SELECT group_id FROM group_current').all())
287
+ ids.add(String(row.group_id ?? ''));
288
+ for (const row of db.prepare('SELECT DISTINCT group_id FROM group_old_epochs').all())
289
+ ids.add(String(row.group_id ?? ''));
290
+ return Array.from(ids).filter(Boolean).sort();
291
+ }
292
+ async loadGroupSecretEpoch(aid, groupId, epoch) {
293
+ const db = this._getDB(aid).getSqliteHandle();
294
+ const current = db.prepare('SELECT epoch, secret_enc, data, updated_at FROM group_current WHERE group_id = ?').get(groupId);
295
+ if (current && (epoch == null || Number(current.epoch ?? 0) === Number(epoch))) {
296
+ const entry = { group_id: groupId, epoch: current.epoch, secret: String(current.secret_enc ?? ''), updated_at: current.updated_at };
297
+ try {
298
+ const extra = JSON.parse(String(current.data ?? '{}'));
299
+ if (extra && typeof extra === 'object' && !Array.isArray(extra))
300
+ Object.assign(entry, extra);
301
+ }
302
+ catch { /* ignore */ }
303
+ return entry;
304
+ }
305
+ if (epoch == null)
306
+ return null;
307
+ const old = db.prepare('SELECT epoch, secret_enc, data, updated_at, expires_at FROM group_old_epochs WHERE group_id = ? AND epoch = ?').get(groupId, Number(epoch));
308
+ if (!old)
309
+ return null;
310
+ const entry = { epoch: old.epoch, secret: String(old.secret_enc ?? ''), updated_at: old.updated_at };
311
+ if (old.expires_at != null)
312
+ entry.expires_at = old.expires_at;
313
+ try {
314
+ const extra = JSON.parse(String(old.data ?? '{}'));
315
+ if (extra && typeof extra === 'object' && !Array.isArray(extra))
316
+ Object.assign(entry, extra);
317
+ }
318
+ catch { /* ignore */ }
319
+ return entry;
320
+ }
321
+ async storeGroupSecretTransition(aid, groupId, opts) {
322
+ const db = this._getDB(aid).getSqliteHandle();
323
+ const now = Date.now();
324
+ const epoch = Number(opts.epoch ?? 0);
325
+ const current = db.prepare('SELECT epoch, secret_enc, data, updated_at FROM group_current WHERE group_id = ?').get(groupId);
326
+ if (current && Number(current.epoch ?? 0) > epoch)
327
+ return false;
328
+ if (current && Number(current.epoch ?? 0) !== epoch) {
329
+ db.prepare(`INSERT INTO group_old_epochs (group_id, epoch, secret_enc, data, updated_at, expires_at) VALUES (?, ?, ?, ?, ?, ?)
330
+ ON CONFLICT(group_id, epoch) DO UPDATE SET secret_enc=excluded.secret_enc, data=excluded.data, updated_at=excluded.updated_at, expires_at=excluded.expires_at`).run(groupId, Number(current.epoch ?? 0), String(current.secret_enc ?? ''), String(current.data ?? '{}'), Number(current.updated_at ?? now), Number(current.updated_at ?? now) + Number(opts.oldEpochRetentionMs ?? 0));
331
+ }
332
+ db.prepare(`INSERT INTO group_current (group_id, epoch, secret_enc, data, updated_at) VALUES (?, ?, ?, ?, ?)
333
+ ON CONFLICT(group_id) DO UPDATE SET epoch=excluded.epoch, secret_enc=excluded.secret_enc, data=excluded.data, updated_at=excluded.updated_at`).run(groupId, epoch, String(opts.secret ?? ''), JSON.stringify({ commitment: String(opts.commitment ?? ''), member_aids: Array.isArray(opts.memberAids) ? [...opts.memberAids].map(String).sort() : [] }), now);
334
+ return true;
335
+ }
336
+ async saveE2EESession(aid, sessionId, data) {
337
+ this._getDB(aid).getSqliteHandle().prepare(`INSERT INTO e2ee_sessions (session_id, data_enc, updated_at) VALUES (?, ?, ?)
338
+ ON CONFLICT(session_id) DO UPDATE SET data_enc=excluded.data_enc, updated_at=excluded.updated_at`).run(sessionId, JSON.stringify(data ?? {}), Date.now());
339
+ }
340
+ async loadE2EESessions(aid) {
341
+ const rows = this._getDB(aid).getSqliteHandle().prepare('SELECT session_id, data_enc, updated_at FROM e2ee_sessions').all();
342
+ const result = [];
343
+ for (const row of rows) {
344
+ const sessionId = String(row.session_id ?? '');
345
+ if (!sessionId)
346
+ continue;
347
+ try {
348
+ const entry = JSON.parse(String(row.data_enc ?? '{}'));
349
+ if (entry && typeof entry === 'object' && !Array.isArray(entry))
350
+ result.push({ ...entry, session_id: sessionId, updated_at: row.updated_at });
351
+ }
352
+ catch { /* ignore */ }
353
+ }
354
+ return result;
355
+ }
356
+ /** 获取指定 AID 的 V2KeyStore(共享同一 SQLite 连接)。 */
357
+ getV2KeyStore(aid) {
358
+ return new V2KeyStore(this._getDB(aid).getSqliteHandle());
359
+ }
360
+ // ── 路径辅助 ─────────────────────────────────────────────
361
+ _certPath(aid) {
362
+ return join(this._aidsRoot, safeAid(aid), 'public', 'cert.pem');
363
+ }
364
+ _certVersionPath(aid, fp) {
365
+ return join(this._aidsRoot, safeAid(aid), 'public', 'certs', `${fp.replace(/:/g, '_')}.pem`);
366
+ }
367
+ }
368
+ //# sourceMappingURL=local-token-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-token-store.js","sourceRoot":"","sources":["../../src/keystore/local-token-store.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  /**
2
- * RegisterFlow — AID 注册流程(独立类,不继承 AuthFlow)
2
+ * RegisterFlow — AID 注册流程。
3
3
  * 与 Python SDK register_aid 对齐。
4
4
  */
5
- import type { FullKeyStore } from './keystore/index.js';
6
- import { type KeyPairRecord } from './types.js';
5
+ import type { KeyStore } from './keystore/index.js';
6
+ import { type KeyPairRecord, type JsonObject, type RpcParams } from './types.js';
7
7
  import type { CryptoProvider } from './crypto.js';
8
8
  import type { ModuleLogger } from './logger.js';
9
9
  import type { DnsResilientNet } from './net.js';
10
- type PendingKeyStore = FullKeyStore & {
10
+ type PendingKeyStore = KeyStore & {
11
11
  pendingIdentityDir(aid: string): string;
12
12
  listPendingIdentityDirs(aid: string): string[];
13
13
  savePendingKeyPair(handle: string, aid: string, keyPair: KeyPairRecord): void;
@@ -36,6 +36,14 @@ export declare class RegisterFlow {
36
36
  logger?: ModuleLogger;
37
37
  net?: DnsResilientNet | null;
38
38
  });
39
+ validateAidName(aid: string): void;
40
+ static validateAidName(aid: string): void;
41
+ fetchPeerCert(gatewayUrl: string, aid: string): Promise<string | null>;
42
+ shortRpc(gatewayUrl: string, method: string, params: RpcParams): Promise<JsonObject>;
43
+ generateIdentity(): KeyPairRecord;
44
+ newClientNonce(): string;
45
+ verifyPhase1Response(gatewayUrl: string, result: JsonObject, clientNonce: string): Promise<void>;
46
+ reloadTrustedRoots(): number;
39
47
  registerAid(gatewayUrl: string, aid: string): Promise<RegisterResult>;
40
48
  private _tryRecoverPendingRegistration;
41
49
  private _pendingStore;
@@ -1,15 +1,15 @@
1
1
  /**
2
- * RegisterFlow — AID 注册流程(独立类,不继承 AuthFlow)
2
+ * RegisterFlow — AID 注册流程。
3
3
  * 与 Python SDK register_aid 对齐。
4
4
  */
5
5
  import * as crypto from 'node:crypto';
6
6
  import * as http from 'node:http';
7
7
  import * as https from 'node:https';
8
8
  import WebSocket from 'ws';
9
- import { AuthFlow } from './auth.js';
10
9
  import { AuthError, IdentityConflictError, ValidationError, mapRemoteError } from './errors.js';
11
10
  import { isJsonObject } from './types.js';
12
11
  const _noopLogger = { error: () => { }, warn: () => { }, info: () => { }, debug: () => { } };
12
+ const AID_NAME_RE = /^[a-z0-9_][a-z0-9_-]{3,63}$/;
13
13
  function _loadX509(pem) {
14
14
  return new crypto.X509Certificate(pem);
15
15
  }
@@ -19,6 +19,19 @@ function _extractPublicKey(cert) {
19
19
  return pk;
20
20
  return crypto.createPublicKey(cert.toString());
21
21
  }
22
+ function _verifySignature(pubKey, signature, data) {
23
+ const candidates = [null, 'sha256', 'RSA-SHA256'];
24
+ for (const alg of candidates) {
25
+ try {
26
+ if (crypto.verify(alg, data, pubKey, signature))
27
+ return;
28
+ }
29
+ catch {
30
+ // try next algorithm
31
+ }
32
+ }
33
+ throw new AuthError('signature verification failed');
34
+ }
22
35
  function _gatewayHttpUrl(gatewayUrl, urlPath) {
23
36
  const parsed = new URL(gatewayUrl);
24
37
  const scheme = parsed.protocol === 'wss:' ? 'https:' : 'http:';
@@ -66,9 +79,63 @@ export class RegisterFlow {
66
79
  this._logger = opts.logger ?? _noopLogger;
67
80
  this._net = opts.net ?? null;
68
81
  }
82
+ validateAidName(aid) {
83
+ RegisterFlow.validateAidName(aid);
84
+ }
85
+ static validateAidName(aid) {
86
+ const name = aid.includes('.') ? aid.split('.')[0] : aid;
87
+ if (!AID_NAME_RE.test(name)) {
88
+ throw new ValidationError(`Invalid AID name '${name}': must be 4-64 characters, only [a-z0-9_-], cannot start with '-'`);
89
+ }
90
+ if (name.startsWith('guest')) {
91
+ throw new ValidationError("AID name must not start with 'guest'");
92
+ }
93
+ }
94
+ async fetchPeerCert(gatewayUrl, aid) {
95
+ return this._downloadRegisteredCert(gatewayUrl, aid);
96
+ }
97
+ async shortRpc(gatewayUrl, method, params) {
98
+ return this._shortRpc(gatewayUrl, method, params);
99
+ }
100
+ generateIdentity() {
101
+ return this._crypto.generateIdentity();
102
+ }
103
+ newClientNonce() {
104
+ return this._crypto.newClientNonce();
105
+ }
106
+ async verifyPhase1Response(gatewayUrl, result, clientNonce) {
107
+ void gatewayUrl;
108
+ const authCertPem = String(result.auth_cert || '');
109
+ const signatureB64 = String(result.client_nonce_signature || '');
110
+ if (!authCertPem)
111
+ throw new AuthError('aid_login1 missing auth_cert');
112
+ if (!signatureB64)
113
+ throw new AuthError('aid_login1 missing client_nonce_signature');
114
+ let authCert;
115
+ try {
116
+ authCert = _loadX509(authCertPem);
117
+ }
118
+ catch {
119
+ throw new AuthError('aid_login1 returned invalid auth_cert');
120
+ }
121
+ const now = Date.now();
122
+ if (authCert.validFromDate.getTime() > now)
123
+ throw new AuthError('aid_login1 auth certificate is not_yet_valid');
124
+ if (authCert.validToDate.getTime() < now)
125
+ throw new AuthError('aid_login1 auth certificate is expired');
126
+ try {
127
+ _verifySignature(_extractPublicKey(authCert), Buffer.from(signatureB64, 'base64'), Buffer.from(clientNonce, 'utf-8'));
128
+ }
129
+ catch {
130
+ throw new AuthError('aid_login1 server auth signature verification failed');
131
+ }
132
+ }
133
+ reloadTrustedRoots() {
134
+ return 0;
135
+ }
69
136
  async registerAid(gatewayUrl, aid) {
70
137
  const tStart = Date.now();
71
- AuthFlow._validateAidName(aid);
138
+ this.validateAidName(aid);
72
139
  this._logger.debug(`registerAid enter: aid=${aid}, gateway=${gatewayUrl}`);
73
140
  try {
74
141
  const pendingStore = this._pendingStore();
@@ -1 +1 @@
1
- {"version":3,"file":"register-flow.js","sourceRoot":"","sources":["../src/register-flow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register-flow.js","sourceRoot":"","sources":["../src/register-flow.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const VERSION = "0.4.5";
1
+ export declare const VERSION = "0.4.7";
package/dist/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // AUN SDK 版本号(单一事实来源)。
2
2
  // 所有引用点(index.ts / auth.ts / v2/e2ee/encrypt-p2p.ts)统一从此导入,
3
3
  // 避免多处独立定义导致版本号不一致。
4
- export const VERSION = '0.4.5';
4
+ export const VERSION = '0.4.7';
5
5
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentunion/fastaun",
3
- "version": "0.4.5",
3
+ "version": "0.4.7",
4
4
  "description": "AUN Protocol Core SDK for Node.js",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",