@agentunion/fastaun-browser 0.4.5 → 0.4.6

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 (54) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/_packed_docs/CHANGELOG.md +28 -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 +42 -26
  10. package/_packed_docs/sdk/05-E2EE/345/212/240/345/257/206/351/200/232/344/277/241.md +1 -1
  11. package/_packed_docs/sdk/06-API/346/211/213/345/206/214.md +61 -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 +111 -0
  18. package/dist/agent-md.d.ts.map +1 -0
  19. package/dist/agent-md.js +656 -0
  20. package/dist/agent-md.js.map +1 -0
  21. package/dist/aid-store.d.ts +7 -40
  22. package/dist/aid-store.d.ts.map +1 -1
  23. package/dist/aid-store.js +71 -171
  24. package/dist/aid-store.js.map +1 -1
  25. package/dist/auth.js +1 -1
  26. package/dist/auth.js.map +1 -1
  27. package/dist/bundle.js +4224 -4151
  28. package/dist/client.d.ts +3 -61
  29. package/dist/client.d.ts.map +1 -1
  30. package/dist/client.js +136 -703
  31. package/dist/client.js.map +1 -1
  32. package/dist/index.d.ts +3 -2
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +2 -1
  35. package/dist/index.js.map +1 -1
  36. package/dist/keystore/index.d.ts +6 -2
  37. package/dist/keystore/index.d.ts.map +1 -1
  38. package/dist/keystore/indexeddb-identity-store.d.ts +59 -0
  39. package/dist/keystore/indexeddb-identity-store.d.ts.map +1 -0
  40. package/dist/keystore/indexeddb-identity-store.js +489 -0
  41. package/dist/keystore/indexeddb-identity-store.js.map +1 -0
  42. package/dist/keystore/indexeddb-shared.d.ts +76 -0
  43. package/dist/keystore/indexeddb-shared.d.ts.map +1 -0
  44. package/dist/keystore/indexeddb-shared.js +382 -0
  45. package/dist/keystore/indexeddb-shared.js.map +1 -0
  46. package/dist/keystore/indexeddb-token-store.d.ts +119 -0
  47. package/dist/keystore/indexeddb-token-store.d.ts.map +1 -0
  48. package/dist/keystore/indexeddb-token-store.js +1086 -0
  49. package/dist/keystore/indexeddb-token-store.js.map +1 -0
  50. package/dist/register-flow.d.ts +22 -3
  51. package/dist/register-flow.d.ts.map +1 -1
  52. package/dist/register-flow.js +49 -3
  53. package/dist/register-flow.js.map +1 -1
  54. package/package.json +1 -1
@@ -0,0 +1,119 @@
1
+ import type { ModuleLogger } from '../logger.js';
2
+ import type { AgentMdCacheRecord, AgentMdCacheUpsert, TokenStore, GroupStateRecord } from './index.js';
3
+ import { type GroupSecretRecord, type MetadataRecord, type PrekeyMap, type PrekeyRecord, type SessionRecord } from './indexeddb-shared.js';
4
+ /**
5
+ * 基于 IndexedDB 的 TokenStore 实现(不含私钥操作)。
6
+ *
7
+ * 设计语义:
8
+ * - metadata 只保存普通 metadata 字段;
9
+ * - e2ee_prekeys / group_secrets 只保存到结构化 store;
10
+ * - 若检测到旧版本把结构化数据写进了 metadata,会自动迁移到结构化 store。
11
+ */
12
+ export declare class IndexedDBTokenStore implements TokenStore {
13
+ private _log;
14
+ setLogger(log: ModuleLogger): void;
15
+ private static _aidTails;
16
+ private _withAidLock;
17
+ loadCert(aid: string, certFingerprint?: string): Promise<string | null>;
18
+ saveCert(aid: string, certPem: string, certFingerprint?: string, opts?: {
19
+ makeActive?: boolean;
20
+ }): Promise<void>;
21
+ loadInstanceState(aid: string, deviceId: string, slotId?: string): Promise<MetadataRecord | null>;
22
+ saveInstanceState(aid: string, deviceId: string, slotId: string, state: MetadataRecord): Promise<void>;
23
+ updateInstanceState(aid: string, deviceId: string, slotId: string, updater: (state: MetadataRecord) => MetadataRecord | void): Promise<MetadataRecord>;
24
+ loadE2EEPrekeys(aid: string, deviceId?: string): Promise<PrekeyMap>;
25
+ /**
26
+ * 按 prekey_id 单点查询本地 prekey(O(log N) IndexedDB primary-key 查找)。
27
+ *
28
+ * 解密入站消息时,envelope 里只带 prekey_id,没有 device_id。优先用 IndexedDB
29
+ * 主键直查;命中则 O(log N),未命中再回退到前缀扫描,保证跨 device_id 也能找到。
30
+ */
31
+ loadE2EEPrekeyById(aid: string, prekeyId: string): Promise<Record<string, unknown> | null>;
32
+ saveE2EEPrekey(aid: string, prekeyId: string, prekeyData: PrekeyRecord, deviceId?: string): Promise<void>;
33
+ cleanupE2EEPrekeys(aid: string, cutoffMs: number, keepLatest?: number, deviceId?: string): Promise<string[]>;
34
+ listGroupSecretIds(aid: string): Promise<string[]>;
35
+ cleanupGroupOldEpochsState(aid: string, groupId: string, cutoffMs: number): Promise<number>;
36
+ loadGroupSecretEpoch(aid: string, groupId: string, epoch?: number | null): Promise<GroupSecretRecord | null>;
37
+ loadGroupSecretEpochs(aid: string, groupId: string): Promise<GroupSecretRecord[]>;
38
+ storeGroupSecretTransition(aid: string, groupId: string, opts: {
39
+ epoch: number;
40
+ secret: string;
41
+ commitment: string;
42
+ memberAids: string[];
43
+ epochChain?: string;
44
+ pendingRotationId?: string;
45
+ epochChainUnverified?: boolean | null;
46
+ epochChainUnverifiedReason?: string | null;
47
+ oldEpochRetentionMs: number;
48
+ }): Promise<boolean>;
49
+ storeGroupSecretEpoch(aid: string, groupId: string, opts: {
50
+ epoch: number;
51
+ secret: string;
52
+ commitment: string;
53
+ memberAids: string[];
54
+ epochChain?: string;
55
+ pendingRotationId?: string;
56
+ epochChainUnverified?: boolean | null;
57
+ epochChainUnverifiedReason?: string | null;
58
+ oldEpochRetentionMs: number;
59
+ }): Promise<boolean>;
60
+ discardPendingGroupSecretState(aid: string, groupId: string, epoch: number, rotationId: string): Promise<boolean>;
61
+ deleteGroupSecretState(aid: string, groupId: string): Promise<void>;
62
+ loadE2EESessions(aid: string): Promise<SessionRecord[]>;
63
+ saveE2EESession(aid: string, sessionId: string, data: SessionRecord): Promise<void>;
64
+ /**
65
+ * 读取单个 metadata KV(如 gateway_url 等跨进程缓存项)。
66
+ * 不存在时返回空字符串,与 Python keystore 的 get_metadata 语义保持一致。
67
+ */
68
+ getMetadata(aid: string, key: string): Promise<string>;
69
+ /**
70
+ * 写入单个 metadata KV。空字符串视为删除该字段。
71
+ * 与 _saveMetadataOnlyUnlocked 不同,本方法只更新指定 key,不影响其他字段。
72
+ */
73
+ setMetadata(aid: string, key: string, value: string): Promise<void>;
74
+ saveSeq(aid: string, deviceId: string, slotId: string, namespace: string, contiguousSeq: number): Promise<void>;
75
+ loadSeq(aid: string, deviceId: string, slotId: string, namespace: string): Promise<number>;
76
+ loadAllSeqs(aid: string, deviceId: string, slotId: string): Promise<Record<string, number>>;
77
+ deleteSeq(aid: string, deviceId: string, slotId: string, namespace: string): Promise<void>;
78
+ loadAgentMdCache(ownerAid: string, targetAid: string): Promise<AgentMdCacheRecord | null>;
79
+ upsertAgentMdCache(ownerAid: string, targetAid: string, fields: AgentMdCacheUpsert): Promise<AgentMdCacheRecord>;
80
+ listAgentMdContentAids(agentMdPath: string): Promise<string[]>;
81
+ saveGroupState(groupId: string, state: GroupStateRecord): Promise<void>;
82
+ loadGroupState(groupId: string): Promise<GroupStateRecord | null>;
83
+ private static readonly _TRUST_LIST_KEY;
84
+ private static readonly _TRUST_BUNDLE_KEY;
85
+ private static readonly _TRUST_CERT_PREFIX;
86
+ private static readonly _TRUST_ISSUER_PREFIX;
87
+ /** 计算 PEM 证书的 SHA-256 指纹(hex,无冒号) */
88
+ private _pemFingerprint;
89
+ /** 拆分 bundle PEM 文本为单个 PEM 证书数组 */
90
+ private _splitPemBundle;
91
+ saveTrustRoots(trustList: Record<string, unknown>, rootCerts: Array<{
92
+ id?: string;
93
+ cert_pem: string;
94
+ fingerprint_sha256?: string;
95
+ }>): Promise<string>;
96
+ saveIssuerRootCert(issuer: string, certPem: string, fingerprintSha256?: string): Promise<[string, string]>;
97
+ loadTrustRoots(): Promise<Record<string, unknown> | null>;
98
+ private _loadMetadataOnlyUnlocked;
99
+ private _saveMetadataOnlyUnlocked;
100
+ private _migrateLegacyStructuredStateUnlocked;
101
+ private _loadPrekeysUnlocked;
102
+ private _loadPrekeyByIdUnlocked;
103
+ private _replacePrekeysUnlocked;
104
+ private _loadGroupEntriesUnlocked;
105
+ private _replaceGroupEntriesUnlocked;
106
+ private _saveSingleGroupEntryUnlocked;
107
+ private _storeGroupSecretTransitionUnlocked;
108
+ private _storeGroupSecretEpochUnlocked;
109
+ private _discardPendingGroupSecretUnlocked;
110
+ private _buildGroupCurrentRecord;
111
+ private _mergeGroupEntryFromLegacy;
112
+ private _preferNewerGroupEpochRecord;
113
+ private _isUnexpiredRecord;
114
+ private _isPrekeyRecoverable;
115
+ private _isGroupEpochRecoverable;
116
+ private _loadSessionsUnlocked;
117
+ private _migrateLegacySessionsUnlocked;
118
+ }
119
+ //# sourceMappingURL=indexeddb-token-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexeddb-token-store.d.ts","sourceRoot":"","sources":["../../src/keystore/indexeddb-token-store.ts"],"names":[],"mappings":"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"}