@diap/sdk 0.1.1 → 0.1.3

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 (127) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +86 -86
  3. package/dist/agent-auth.d.ts +96 -0
  4. package/dist/agent-auth.d.ts.map +1 -0
  5. package/dist/agent-auth.js +343 -0
  6. package/dist/agent-auth.js.map +1 -0
  7. package/dist/agent-verification.d.ts +158 -0
  8. package/dist/agent-verification.d.ts.map +1 -0
  9. package/dist/agent-verification.js +237 -0
  10. package/dist/agent-verification.js.map +1 -0
  11. package/dist/config-manager.d.ts +156 -0
  12. package/dist/config-manager.d.ts.map +1 -0
  13. package/dist/config-manager.js +241 -0
  14. package/dist/config-manager.js.map +1 -0
  15. package/dist/did-builder.d.ts +62 -0
  16. package/dist/did-builder.d.ts.map +1 -0
  17. package/dist/did-builder.js +315 -0
  18. package/dist/did-builder.js.map +1 -0
  19. package/dist/did-cache.d.ts +133 -0
  20. package/dist/did-cache.d.ts.map +1 -0
  21. package/dist/did-cache.js +273 -0
  22. package/dist/did-cache.js.map +1 -0
  23. package/dist/identity-manager.d.ts +87 -0
  24. package/dist/identity-manager.d.ts.map +1 -0
  25. package/dist/identity-manager.js +196 -0
  26. package/dist/identity-manager.js.map +1 -0
  27. package/dist/index.d.ts +43 -0
  28. package/dist/index.d.ts.map +1 -0
  29. package/dist/index.js +52 -0
  30. package/dist/index.js.map +1 -0
  31. package/dist/ipfs-bidirectional-verification.d.ts +201 -0
  32. package/dist/ipfs-bidirectional-verification.d.ts.map +1 -0
  33. package/dist/ipfs-bidirectional-verification.js +298 -0
  34. package/dist/ipfs-bidirectional-verification.js.map +1 -0
  35. package/dist/ipfs-client.d.ts +151 -0
  36. package/dist/ipfs-client.d.ts.map +1 -0
  37. package/dist/ipfs-client.js +623 -0
  38. package/dist/ipfs-client.js.map +1 -0
  39. package/dist/ipfs-node-manager.d.ts +136 -0
  40. package/dist/ipfs-node-manager.d.ts.map +1 -0
  41. package/dist/ipfs-node-manager.js +232 -0
  42. package/dist/ipfs-node-manager.js.map +1 -0
  43. package/dist/ipns-manager.d.ts +182 -0
  44. package/dist/ipns-manager.d.ts.map +1 -0
  45. package/dist/ipns-manager.js +268 -0
  46. package/dist/ipns-manager.js.map +1 -0
  47. package/dist/key-manager.d.ts +48 -0
  48. package/dist/key-manager.d.ts.map +1 -0
  49. package/dist/key-manager.js +231 -0
  50. package/dist/key-manager.js.map +1 -0
  51. package/dist/kubo-installer.d.ts +115 -0
  52. package/dist/kubo-installer.d.ts.map +1 -0
  53. package/dist/kubo-installer.js +205 -0
  54. package/dist/kubo-installer.js.map +1 -0
  55. package/dist/libp2p/encrypted-peer-id.d.ts +24 -0
  56. package/dist/libp2p/encrypted-peer-id.d.ts.map +1 -0
  57. package/dist/libp2p/encrypted-peer-id.js +134 -0
  58. package/dist/libp2p/encrypted-peer-id.js.map +1 -0
  59. package/dist/nonce-manager.d.ts +176 -0
  60. package/dist/nonce-manager.d.ts.map +1 -0
  61. package/dist/nonce-manager.js +382 -0
  62. package/dist/nonce-manager.js.map +1 -0
  63. package/dist/p2p/hyperswarm-communicator.d.ts +252 -0
  64. package/dist/p2p/hyperswarm-communicator.d.ts.map +1 -0
  65. package/dist/p2p/hyperswarm-communicator.js +469 -0
  66. package/dist/p2p/hyperswarm-communicator.js.map +1 -0
  67. package/dist/p2p/iroh-communicator.d.ts +216 -0
  68. package/dist/p2p/iroh-communicator.d.ts.map +1 -0
  69. package/dist/p2p/iroh-communicator.js +408 -0
  70. package/dist/p2p/iroh-communicator.js.map +1 -0
  71. package/dist/pubsub-authenticator.d.ts +246 -0
  72. package/dist/pubsub-authenticator.d.ts.map +1 -0
  73. package/dist/pubsub-authenticator.js +384 -0
  74. package/dist/pubsub-authenticator.js.map +1 -0
  75. package/dist/real-name-auth.d.ts +238 -0
  76. package/dist/real-name-auth.d.ts.map +1 -0
  77. package/dist/real-name-auth.js +259 -0
  78. package/dist/real-name-auth.js.map +1 -0
  79. package/dist/types/did.d.ts +76 -0
  80. package/dist/types/did.d.ts.map +1 -0
  81. package/dist/types/did.js +5 -0
  82. package/dist/types/did.js.map +1 -0
  83. package/dist/types/errors.d.ts +42 -0
  84. package/dist/types/errors.d.ts.map +1 -0
  85. package/dist/types/errors.js +69 -0
  86. package/dist/types/errors.js.map +1 -0
  87. package/dist/types/index.d.ts +9 -0
  88. package/dist/types/index.d.ts.map +1 -0
  89. package/dist/types/index.js +9 -0
  90. package/dist/types/index.js.map +1 -0
  91. package/dist/types/key.d.ts +43 -0
  92. package/dist/types/key.d.ts.map +1 -0
  93. package/dist/types/key.js +5 -0
  94. package/dist/types/key.js.map +1 -0
  95. package/dist/types/zkp.d.ts +80 -0
  96. package/dist/types/zkp.d.ts.map +1 -0
  97. package/dist/types/zkp.js +16 -0
  98. package/dist/types/zkp.js.map +1 -0
  99. package/dist/utils/crypto.d.ts +24 -0
  100. package/dist/utils/crypto.d.ts.map +1 -0
  101. package/dist/utils/crypto.js +65 -0
  102. package/dist/utils/crypto.js.map +1 -0
  103. package/dist/utils/encoding.d.ts +36 -0
  104. package/dist/utils/encoding.d.ts.map +1 -0
  105. package/dist/utils/encoding.js +80 -0
  106. package/dist/utils/encoding.js.map +1 -0
  107. package/dist/utils/logger.d.ts +24 -0
  108. package/dist/utils/logger.d.ts.map +1 -0
  109. package/dist/utils/logger.js +37 -0
  110. package/dist/utils/logger.js.map +1 -0
  111. package/dist/zkp/key-generator.d.ts +56 -0
  112. package/dist/zkp/key-generator.d.ts.map +1 -0
  113. package/dist/zkp/key-generator.js +165 -0
  114. package/dist/zkp/key-generator.js.map +1 -0
  115. package/dist/zkp/simplified-backend.d.ts +23 -0
  116. package/dist/zkp/simplified-backend.d.ts.map +1 -0
  117. package/dist/zkp/simplified-backend.js +77 -0
  118. package/dist/zkp/simplified-backend.js.map +1 -0
  119. package/dist/zkp/snarkjs-backend.d.ts +150 -0
  120. package/dist/zkp/snarkjs-backend.d.ts.map +1 -0
  121. package/dist/zkp/snarkjs-backend.js +218 -0
  122. package/dist/zkp/snarkjs-backend.js.map +1 -0
  123. package/dist/zkp/universal-manager.d.ts +44 -0
  124. package/dist/zkp/universal-manager.d.ts.map +1 -0
  125. package/dist/zkp/universal-manager.js +181 -0
  126. package/dist/zkp/universal-manager.js.map +1 -0
  127. package/package.json +2 -2
@@ -0,0 +1,133 @@
1
+ /**
2
+ * DIAP TypeScript SDK - DID 文档缓存
3
+ * 减少 IPFS 请求,提高验证性能
4
+ * 使用 LRU 驱逐策略和后台清理任务
5
+ */
6
+ import type { DIDDocument } from './types/did.js';
7
+ /**
8
+ * 缓存条目
9
+ */
10
+ export interface CacheEntry {
11
+ /** DID 文档 */
12
+ document: DIDDocument;
13
+ /** CID */
14
+ cid: string;
15
+ /** 缓存时间 */
16
+ cachedAt: number;
17
+ /** 过期时间 */
18
+ expiresAt: number;
19
+ /** 访问次数 */
20
+ hitCount: number;
21
+ }
22
+ /**
23
+ * 缓存统计信息
24
+ */
25
+ export interface CacheStats {
26
+ /** 总条目数 */
27
+ totalEntries: number;
28
+ /** 过期条目数 */
29
+ expiredEntries: number;
30
+ /** 总命中次数 */
31
+ totalHits: number;
32
+ /** 最大条目数 */
33
+ maxEntries: number;
34
+ /** TTL(秒) */
35
+ ttl: number;
36
+ }
37
+ /**
38
+ * DID 文档缓存管理器
39
+ */
40
+ export declare class DIDCache {
41
+ /** CID -> CacheEntry 缓存 */
42
+ private cache;
43
+ /** 缓存有效期(秒) */
44
+ private ttl;
45
+ /** 最大缓存条目数 */
46
+ private maxEntries;
47
+ /** 后台清理定时器 */
48
+ private cleanupTimer?;
49
+ /**
50
+ * 创建新的 DID 缓存
51
+ *
52
+ * @param ttl - 缓存有效期(秒),默认 3600 秒(1小时)
53
+ * @param maxEntries - 最大缓存条目数,默认 1000
54
+ */
55
+ constructor(ttl?: number, maxEntries?: number);
56
+ /**
57
+ * 获取 DID 文档
58
+ */
59
+ get(cid: string): DIDDocument | null;
60
+ /**
61
+ * 存储 DID 文档
62
+ */
63
+ put(cid: string, document: DIDDocument): void;
64
+ /**
65
+ * 检查缓存是否存在
66
+ */
67
+ has(cid: string): boolean;
68
+ /**
69
+ * 移除缓存条目
70
+ */
71
+ remove(cid: string): DIDDocument | null;
72
+ /**
73
+ * 清空缓存
74
+ */
75
+ clear(): void;
76
+ /**
77
+ * 获取缓存统计
78
+ */
79
+ stats(): CacheStats;
80
+ /**
81
+ * 清理过期条目
82
+ */
83
+ cleanupExpired(): number;
84
+ /**
85
+ * 驱逐最少使用的条目(LRU)
86
+ */
87
+ private evictLru;
88
+ /**
89
+ * 获取当前时间戳(秒)
90
+ */
91
+ private getCurrentTimestamp;
92
+ /**
93
+ * 启动后台清理任务
94
+ */
95
+ private startCleanupTask;
96
+ /**
97
+ * 停止后台清理任务
98
+ */
99
+ stopCleanupTask(): void;
100
+ /**
101
+ * 获取缓存条目数
102
+ */
103
+ size(): number;
104
+ /**
105
+ * 检查缓存是否为空
106
+ */
107
+ isEmpty(): boolean;
108
+ /**
109
+ * 获取所有缓存的 CID
110
+ */
111
+ getAllCids(): string[];
112
+ /**
113
+ * 销毁缓存实例
114
+ */
115
+ destroy(): void;
116
+ }
117
+ /**
118
+ * 创建新的 DID 缓存(便捷函数)
119
+ */
120
+ export declare function createDIDCache(ttl?: number, maxEntries?: number): DIDCache;
121
+ /**
122
+ * 创建默认配置的 DID 缓存
123
+ */
124
+ export declare function createDefaultDIDCache(): DIDCache;
125
+ /**
126
+ * 获取全局 DID 缓存实例
127
+ */
128
+ export declare function getGlobalDIDCache(): DIDCache;
129
+ /**
130
+ * 重置全局 DID 缓存
131
+ */
132
+ export declare function resetGlobalDIDCache(): void;
133
+ //# sourceMappingURL=did-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"did-cache.d.ts","sourceRoot":"","sources":["../src/did-cache.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAMlD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,aAAa;IACb,QAAQ,EAAE,WAAW,CAAC;IACtB,UAAU;IACV,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW;IACX,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,WAAW;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY;IACZ,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAMD;;GAEG;AACH,qBAAa,QAAQ;IACnB,2BAA2B;IAC3B,OAAO,CAAC,KAAK,CAA0B;IACvC,eAAe;IACf,OAAO,CAAC,GAAG,CAAS;IACpB,cAAc;IACd,OAAO,CAAC,UAAU,CAAS;IAC3B,cAAc;IACd,OAAO,CAAC,YAAY,CAAC,CAAiB;IAEtC;;;;;OAKG;gBACS,GAAG,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;IAgB7C;;OAEG;IACI,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAwB3C;;OAEG;IACI,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,GAAG,IAAI;IAmBpD;;OAEG;IACI,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAahC;;OAEG;IACI,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAU9C;;OAEG;IACI,KAAK,IAAI,IAAI;IAMpB;;OAEG;IACI,KAAK,IAAI,UAAU;IAqB1B;;OAEG;IACI,cAAc,IAAI,MAAM;IAkB/B;;OAEG;IACH,OAAO,CAAC,QAAQ;IAiBhB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA0BxB;;OAEG;IACI,eAAe,IAAI,IAAI;IAQ9B;;OAEG;IACI,IAAI,IAAI,MAAM;IAIrB;;OAEG;IACI,OAAO,IAAI,OAAO;IAIzB;;OAEG;IACI,UAAU,IAAI,MAAM,EAAE;IAI7B;;OAEG;IACI,OAAO,IAAI,IAAI;CAKvB;AAMD;;GAEG;AACH,wBAAgB,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,CAE1E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,QAAQ,CAEhD;AAQD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,QAAQ,CAK5C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAK1C"}
@@ -0,0 +1,273 @@
1
+ /**
2
+ * DIAP TypeScript SDK - DID 文档缓存
3
+ * 减少 IPFS 请求,提高验证性能
4
+ * 使用 LRU 驱逐策略和后台清理任务
5
+ */
6
+ import { logger } from './utils/logger.js';
7
+ // ============================================================================
8
+ // DIDCache 类
9
+ // ============================================================================
10
+ /**
11
+ * DID 文档缓存管理器
12
+ */
13
+ export class DIDCache {
14
+ /** CID -> CacheEntry 缓存 */
15
+ cache;
16
+ /** 缓存有效期(秒) */
17
+ ttl;
18
+ /** 最大缓存条目数 */
19
+ maxEntries;
20
+ /** 后台清理定时器 */
21
+ cleanupTimer;
22
+ /**
23
+ * 创建新的 DID 缓存
24
+ *
25
+ * @param ttl - 缓存有效期(秒),默认 3600 秒(1小时)
26
+ * @param maxEntries - 最大缓存条目数,默认 1000
27
+ */
28
+ constructor(ttl, maxEntries) {
29
+ const ttlSeconds = ttl || 3600;
30
+ const max = maxEntries || 1000;
31
+ this.cache = new Map();
32
+ this.ttl = ttlSeconds;
33
+ this.maxEntries = max;
34
+ // 启动后台清理任务
35
+ this.startCleanupTask();
36
+ logger.info(`💾 DID 文档缓存已创建`);
37
+ logger.info(` TTL: ${ttlSeconds} 秒`);
38
+ logger.info(` 最大条目: ${max}`);
39
+ }
40
+ /**
41
+ * 获取 DID 文档
42
+ */
43
+ get(cid) {
44
+ const entry = this.cache.get(cid);
45
+ if (!entry) {
46
+ logger.debug(`缓存未命中: ${cid}`);
47
+ return null;
48
+ }
49
+ const now = this.getCurrentTimestamp();
50
+ // 检查是否过期
51
+ if (entry.expiresAt < now) {
52
+ this.cache.delete(cid);
53
+ logger.debug(`缓存已过期: ${cid}`);
54
+ return null;
55
+ }
56
+ // 增加命中次数
57
+ entry.hitCount += 1;
58
+ logger.debug(`✓ 缓存命中: ${cid} (命中次数: ${entry.hitCount})`);
59
+ return entry.document;
60
+ }
61
+ /**
62
+ * 存储 DID 文档
63
+ */
64
+ put(cid, document) {
65
+ // 检查缓存大小
66
+ if (this.cache.size >= this.maxEntries) {
67
+ this.evictLru();
68
+ }
69
+ const now = this.getCurrentTimestamp();
70
+ const entry = {
71
+ document,
72
+ cid,
73
+ cachedAt: now,
74
+ expiresAt: now + this.ttl,
75
+ hitCount: 0,
76
+ };
77
+ this.cache.set(cid, entry);
78
+ logger.debug(`✓ 已缓存 DID 文档: ${cid}`);
79
+ }
80
+ /**
81
+ * 检查缓存是否存在
82
+ */
83
+ has(cid) {
84
+ const entry = this.cache.get(cid);
85
+ if (!entry)
86
+ return false;
87
+ const now = this.getCurrentTimestamp();
88
+ if (entry.expiresAt < now) {
89
+ this.cache.delete(cid);
90
+ return false;
91
+ }
92
+ return true;
93
+ }
94
+ /**
95
+ * 移除缓存条目
96
+ */
97
+ remove(cid) {
98
+ const entry = this.cache.get(cid);
99
+ if (entry) {
100
+ this.cache.delete(cid);
101
+ logger.debug(`移除缓存: ${cid}`);
102
+ return entry.document;
103
+ }
104
+ return null;
105
+ }
106
+ /**
107
+ * 清空缓存
108
+ */
109
+ clear() {
110
+ const count = this.cache.size;
111
+ this.cache.clear();
112
+ logger.info(`🧹 清空缓存: ${count} 个条目`);
113
+ }
114
+ /**
115
+ * 获取缓存统计
116
+ */
117
+ stats() {
118
+ let totalHits = 0;
119
+ let expired = 0;
120
+ const now = this.getCurrentTimestamp();
121
+ for (const entry of this.cache.values()) {
122
+ totalHits += entry.hitCount;
123
+ if (entry.expiresAt < now) {
124
+ expired += 1;
125
+ }
126
+ }
127
+ return {
128
+ totalEntries: this.cache.size,
129
+ expiredEntries: expired,
130
+ totalHits,
131
+ maxEntries: this.maxEntries,
132
+ ttl: this.ttl,
133
+ };
134
+ }
135
+ /**
136
+ * 清理过期条目
137
+ */
138
+ cleanupExpired() {
139
+ const now = this.getCurrentTimestamp();
140
+ let removed = 0;
141
+ for (const [cid, entry] of this.cache.entries()) {
142
+ if (entry.expiresAt < now) {
143
+ this.cache.delete(cid);
144
+ removed += 1;
145
+ }
146
+ }
147
+ if (removed > 0) {
148
+ logger.debug(`🧹 清理了 ${removed} 个过期缓存`);
149
+ }
150
+ return removed;
151
+ }
152
+ /**
153
+ * 驱逐最少使用的条目(LRU)
154
+ */
155
+ evictLru() {
156
+ let minHits = Number.MAX_SAFE_INTEGER;
157
+ let evictCid = null;
158
+ for (const [cid, entry] of this.cache.entries()) {
159
+ if (entry.hitCount < minHits) {
160
+ minHits = entry.hitCount;
161
+ evictCid = cid;
162
+ }
163
+ }
164
+ if (evictCid !== null) {
165
+ this.cache.delete(evictCid);
166
+ logger.debug(`驱逐 LRU 缓存: ${evictCid} (命中次数: ${minHits})`);
167
+ }
168
+ }
169
+ /**
170
+ * 获取当前时间戳(秒)
171
+ */
172
+ getCurrentTimestamp() {
173
+ return Math.floor(Date.now() / 1000);
174
+ }
175
+ /**
176
+ * 启动后台清理任务
177
+ */
178
+ startCleanupTask() {
179
+ // 每隔 TTL/4 清理一次
180
+ const intervalMs = (this.ttl / 4) * 1000;
181
+ this.cleanupTimer = setInterval(() => {
182
+ const now = this.getCurrentTimestamp();
183
+ let removed = 0;
184
+ for (const [cid, entry] of this.cache.entries()) {
185
+ if (entry.expiresAt < now) {
186
+ this.cache.delete(cid);
187
+ removed += 1;
188
+ }
189
+ }
190
+ if (removed > 0) {
191
+ logger.debug(`🧹 后台清理了 ${removed} 个过期 DID 缓存`);
192
+ }
193
+ }, intervalMs);
194
+ // 确保定时器不会阻止进程退出
195
+ if (this.cleanupTimer.unref) {
196
+ this.cleanupTimer.unref();
197
+ }
198
+ }
199
+ /**
200
+ * 停止后台清理任务
201
+ */
202
+ stopCleanupTask() {
203
+ if (this.cleanupTimer) {
204
+ clearInterval(this.cleanupTimer);
205
+ this.cleanupTimer = undefined;
206
+ logger.debug('后台清理任务已停止');
207
+ }
208
+ }
209
+ /**
210
+ * 获取缓存条目数
211
+ */
212
+ size() {
213
+ return this.cache.size;
214
+ }
215
+ /**
216
+ * 检查缓存是否为空
217
+ */
218
+ isEmpty() {
219
+ return this.cache.size === 0;
220
+ }
221
+ /**
222
+ * 获取所有缓存的 CID
223
+ */
224
+ getAllCids() {
225
+ return Array.from(this.cache.keys());
226
+ }
227
+ /**
228
+ * 销毁缓存实例
229
+ */
230
+ destroy() {
231
+ this.stopCleanupTask();
232
+ this.clear();
233
+ logger.debug('🧹 DID 缓存实例已销毁');
234
+ }
235
+ }
236
+ // ============================================================================
237
+ // 便捷函数
238
+ // ============================================================================
239
+ /**
240
+ * 创建新的 DID 缓存(便捷函数)
241
+ */
242
+ export function createDIDCache(ttl, maxEntries) {
243
+ return new DIDCache(ttl, maxEntries);
244
+ }
245
+ /**
246
+ * 创建默认配置的 DID 缓存
247
+ */
248
+ export function createDefaultDIDCache() {
249
+ return new DIDCache(3600, 1000);
250
+ }
251
+ // ============================================================================
252
+ // 全局单例缓存
253
+ // ============================================================================
254
+ let globalCache = null;
255
+ /**
256
+ * 获取全局 DID 缓存实例
257
+ */
258
+ export function getGlobalDIDCache() {
259
+ if (!globalCache) {
260
+ globalCache = new DIDCache();
261
+ }
262
+ return globalCache;
263
+ }
264
+ /**
265
+ * 重置全局 DID 缓存
266
+ */
267
+ export function resetGlobalDIDCache() {
268
+ if (globalCache) {
269
+ globalCache.destroy();
270
+ globalCache = null;
271
+ }
272
+ }
273
+ //# sourceMappingURL=did-cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"did-cache.js","sourceRoot":"","sources":["../src/did-cache.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * 身份管理器
3
+ * 统一管理智能体身份的注册和验证
4
+ * 基于 Rust SDK 的实现逻辑
5
+ */
6
+ import type { DIDDocument, EncryptedPeerID } from './types/did.js';
7
+ import type { KeyPair } from './types/key.js';
8
+ import type { IpfsClient } from './ipfs-client.js';
9
+ import { UniversalNoirManager } from './zkp/universal-manager.js';
10
+ /**
11
+ * 智能体信息
12
+ */
13
+ export interface AgentInfo {
14
+ name: string;
15
+ services: ServiceInfo[];
16
+ description?: string;
17
+ tags?: string[];
18
+ }
19
+ /**
20
+ * 服务信息
21
+ */
22
+ export interface ServiceInfo {
23
+ serviceType: string;
24
+ endpoint: any;
25
+ }
26
+ /**
27
+ * 身份注册结果
28
+ */
29
+ export interface IdentityRegistration {
30
+ did: string;
31
+ cid: string;
32
+ didDocument: DIDDocument;
33
+ encryptedPeerIdHex: string;
34
+ registeredAt: string;
35
+ }
36
+ /**
37
+ * 身份验证结果
38
+ */
39
+ export interface IdentityVerification {
40
+ did: string;
41
+ cid: string;
42
+ zkpVerified: boolean;
43
+ verificationDetails: string[];
44
+ verifiedAt: string;
45
+ }
46
+ /**
47
+ * 身份管理器
48
+ */
49
+ export declare class IdentityManager {
50
+ private ipfsClient;
51
+ private didBuilder;
52
+ private zkpManager?;
53
+ constructor(ipfsClient: IpfsClient, zkpManager?: UniversalNoirManager);
54
+ /**
55
+ * 获取 IPFS 客户端
56
+ */
57
+ getIpfsClient(): IpfsClient;
58
+ /**
59
+ * 添加服务
60
+ */
61
+ addService(serviceType: string, endpoint: any): this;
62
+ /**
63
+ * 注册智能体身份
64
+ */
65
+ registerIdentity(agentInfo: AgentInfo, keypair: KeyPair, peerId: string): Promise<IdentityRegistration>;
66
+ /**
67
+ * 生成 DID-CID 绑定证明(简化版本)
68
+ */
69
+ generateBindingProof(keypair: KeyPair, didDocument: DIDDocument, _cid: string, nonce: Uint8Array): Uint8Array;
70
+ /**
71
+ * 使用 ZKP 验证身份
72
+ */
73
+ verifyIdentityWithZKP(cid: string, _zkpProof: Uint8Array, _nonce: Uint8Array): Promise<IdentityVerification>;
74
+ /**
75
+ * 验证 PeerID 签名
76
+ */
77
+ verifyPeerId(didDocument: DIDDocument, encrypted: EncryptedPeerID, claimedPeerId: string): boolean;
78
+ /**
79
+ * 从 DID 文档提取公钥
80
+ */
81
+ extractPublicKey(didDocument: DIDDocument): Uint8Array | null;
82
+ /**
83
+ * 从 DID 文档提取加密的 PeerID
84
+ */
85
+ extractEncryptedPeerId(didDocument: DIDDocument): EncryptedPeerID | null;
86
+ }
87
+ //# sourceMappingURL=identity-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity-manager.d.ts","sourceRoot":"","sources":["../src/identity-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AASlE;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,GAAG,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,WAAW,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,OAAO,CAAC;IACrB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,eAAe;IAKxB,OAAO,CAAC,UAAU;IAJpB,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,UAAU,CAAC,CAAuB;gBAGhC,UAAU,EAAE,UAAU,EAC9B,UAAU,CAAC,EAAE,oBAAoB;IAMnC;;OAEG;IACH,aAAa,IAAI,UAAU;IAI3B;;OAEG;IACH,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,IAAI;IAKpD;;OAEG;IACG,gBAAgB,CACpB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,oBAAoB,CAAC;IAyBhC;;OAEG;IACH,oBAAoB,CAClB,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,UAAU,GAChB,UAAU;IAmBb;;OAEG;IACG,qBAAqB,CACzB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,UAAU,EACrB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,oBAAoB,CAAC;IAsChC;;OAEG;IACH,YAAY,CACV,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,eAAe,EAC1B,aAAa,EAAE,MAAM,GACpB,OAAO;IAsBV;;OAEG;IACH,gBAAgB,CAAC,WAAW,EAAE,WAAW,GAAG,UAAU,GAAG,IAAI;IAoC7D;;OAEG;IACH,sBAAsB,CAAC,WAAW,EAAE,WAAW,GAAG,eAAe,GAAG,IAAI;CAkCzE"}