@diap/sdk 0.1.1 → 0.1.2

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 (125) hide show
  1. package/dist/agent-auth.d.ts +96 -0
  2. package/dist/agent-auth.d.ts.map +1 -0
  3. package/dist/agent-auth.js +343 -0
  4. package/dist/agent-auth.js.map +1 -0
  5. package/dist/agent-verification.d.ts +158 -0
  6. package/dist/agent-verification.d.ts.map +1 -0
  7. package/dist/agent-verification.js +237 -0
  8. package/dist/agent-verification.js.map +1 -0
  9. package/dist/config-manager.d.ts +156 -0
  10. package/dist/config-manager.d.ts.map +1 -0
  11. package/dist/config-manager.js +241 -0
  12. package/dist/config-manager.js.map +1 -0
  13. package/dist/did-builder.d.ts +62 -0
  14. package/dist/did-builder.d.ts.map +1 -0
  15. package/dist/did-builder.js +314 -0
  16. package/dist/did-builder.js.map +1 -0
  17. package/dist/did-cache.d.ts +133 -0
  18. package/dist/did-cache.d.ts.map +1 -0
  19. package/dist/did-cache.js +273 -0
  20. package/dist/did-cache.js.map +1 -0
  21. package/dist/identity-manager.d.ts +87 -0
  22. package/dist/identity-manager.d.ts.map +1 -0
  23. package/dist/identity-manager.js +196 -0
  24. package/dist/identity-manager.js.map +1 -0
  25. package/dist/index.d.ts +43 -0
  26. package/dist/index.d.ts.map +1 -0
  27. package/dist/index.js +52 -0
  28. package/dist/index.js.map +1 -0
  29. package/dist/ipfs-bidirectional-verification.d.ts +201 -0
  30. package/dist/ipfs-bidirectional-verification.d.ts.map +1 -0
  31. package/dist/ipfs-bidirectional-verification.js +298 -0
  32. package/dist/ipfs-bidirectional-verification.js.map +1 -0
  33. package/dist/ipfs-client.d.ts +151 -0
  34. package/dist/ipfs-client.d.ts.map +1 -0
  35. package/dist/ipfs-client.js +623 -0
  36. package/dist/ipfs-client.js.map +1 -0
  37. package/dist/ipfs-node-manager.d.ts +136 -0
  38. package/dist/ipfs-node-manager.d.ts.map +1 -0
  39. package/dist/ipfs-node-manager.js +232 -0
  40. package/dist/ipfs-node-manager.js.map +1 -0
  41. package/dist/ipns-manager.d.ts +182 -0
  42. package/dist/ipns-manager.d.ts.map +1 -0
  43. package/dist/ipns-manager.js +268 -0
  44. package/dist/ipns-manager.js.map +1 -0
  45. package/dist/key-manager.d.ts +48 -0
  46. package/dist/key-manager.d.ts.map +1 -0
  47. package/dist/key-manager.js +231 -0
  48. package/dist/key-manager.js.map +1 -0
  49. package/dist/kubo-installer.d.ts +115 -0
  50. package/dist/kubo-installer.d.ts.map +1 -0
  51. package/dist/kubo-installer.js +205 -0
  52. package/dist/kubo-installer.js.map +1 -0
  53. package/dist/libp2p/encrypted-peer-id.d.ts +24 -0
  54. package/dist/libp2p/encrypted-peer-id.d.ts.map +1 -0
  55. package/dist/libp2p/encrypted-peer-id.js +134 -0
  56. package/dist/libp2p/encrypted-peer-id.js.map +1 -0
  57. package/dist/nonce-manager.d.ts +176 -0
  58. package/dist/nonce-manager.d.ts.map +1 -0
  59. package/dist/nonce-manager.js +382 -0
  60. package/dist/nonce-manager.js.map +1 -0
  61. package/dist/p2p/hyperswarm-communicator.d.ts +252 -0
  62. package/dist/p2p/hyperswarm-communicator.d.ts.map +1 -0
  63. package/dist/p2p/hyperswarm-communicator.js +469 -0
  64. package/dist/p2p/hyperswarm-communicator.js.map +1 -0
  65. package/dist/p2p/iroh-communicator.d.ts +216 -0
  66. package/dist/p2p/iroh-communicator.d.ts.map +1 -0
  67. package/dist/p2p/iroh-communicator.js +408 -0
  68. package/dist/p2p/iroh-communicator.js.map +1 -0
  69. package/dist/pubsub-authenticator.d.ts +246 -0
  70. package/dist/pubsub-authenticator.d.ts.map +1 -0
  71. package/dist/pubsub-authenticator.js +384 -0
  72. package/dist/pubsub-authenticator.js.map +1 -0
  73. package/dist/real-name-auth.d.ts +238 -0
  74. package/dist/real-name-auth.d.ts.map +1 -0
  75. package/dist/real-name-auth.js +259 -0
  76. package/dist/real-name-auth.js.map +1 -0
  77. package/dist/types/did.d.ts +76 -0
  78. package/dist/types/did.d.ts.map +1 -0
  79. package/dist/types/did.js +5 -0
  80. package/dist/types/did.js.map +1 -0
  81. package/dist/types/errors.d.ts +42 -0
  82. package/dist/types/errors.d.ts.map +1 -0
  83. package/dist/types/errors.js +69 -0
  84. package/dist/types/errors.js.map +1 -0
  85. package/dist/types/index.d.ts +9 -0
  86. package/dist/types/index.d.ts.map +1 -0
  87. package/dist/types/index.js +9 -0
  88. package/dist/types/index.js.map +1 -0
  89. package/dist/types/key.d.ts +43 -0
  90. package/dist/types/key.d.ts.map +1 -0
  91. package/dist/types/key.js +5 -0
  92. package/dist/types/key.js.map +1 -0
  93. package/dist/types/zkp.d.ts +80 -0
  94. package/dist/types/zkp.d.ts.map +1 -0
  95. package/dist/types/zkp.js +16 -0
  96. package/dist/types/zkp.js.map +1 -0
  97. package/dist/utils/crypto.d.ts +24 -0
  98. package/dist/utils/crypto.d.ts.map +1 -0
  99. package/dist/utils/crypto.js +65 -0
  100. package/dist/utils/crypto.js.map +1 -0
  101. package/dist/utils/encoding.d.ts +36 -0
  102. package/dist/utils/encoding.d.ts.map +1 -0
  103. package/dist/utils/encoding.js +80 -0
  104. package/dist/utils/encoding.js.map +1 -0
  105. package/dist/utils/logger.d.ts +24 -0
  106. package/dist/utils/logger.d.ts.map +1 -0
  107. package/dist/utils/logger.js +37 -0
  108. package/dist/utils/logger.js.map +1 -0
  109. package/dist/zkp/key-generator.d.ts +56 -0
  110. package/dist/zkp/key-generator.d.ts.map +1 -0
  111. package/dist/zkp/key-generator.js +165 -0
  112. package/dist/zkp/key-generator.js.map +1 -0
  113. package/dist/zkp/simplified-backend.d.ts +23 -0
  114. package/dist/zkp/simplified-backend.d.ts.map +1 -0
  115. package/dist/zkp/simplified-backend.js +77 -0
  116. package/dist/zkp/simplified-backend.js.map +1 -0
  117. package/dist/zkp/snarkjs-backend.d.ts +150 -0
  118. package/dist/zkp/snarkjs-backend.d.ts.map +1 -0
  119. package/dist/zkp/snarkjs-backend.js +218 -0
  120. package/dist/zkp/snarkjs-backend.js.map +1 -0
  121. package/dist/zkp/universal-manager.d.ts +44 -0
  122. package/dist/zkp/universal-manager.d.ts.map +1 -0
  123. package/dist/zkp/universal-manager.js +181 -0
  124. package/dist/zkp/universal-manager.js.map +1 -0
  125. package/package.json +2 -2
@@ -0,0 +1,96 @@
1
+ /**
2
+ * 智能体认证管理器
3
+ * 提供统一的智能体认证 API
4
+ * 基于 Rust SDK 的实现逻辑
5
+ */
6
+ import type { AgentInfo, IdentityRegistration } from './identity-manager.js';
7
+ import type { KeyPair } from './types/key.js';
8
+ /**
9
+ * 认证结果
10
+ */
11
+ export interface AuthResult {
12
+ success: boolean;
13
+ agentId: string;
14
+ proof?: Uint8Array;
15
+ verificationDetails: string[];
16
+ timestamp: number;
17
+ processingTimeMs: number;
18
+ }
19
+ /**
20
+ * 批量认证结果
21
+ */
22
+ export interface BatchAuthResult {
23
+ totalCount: number;
24
+ successCount: number;
25
+ failureCount: number;
26
+ successRate: number;
27
+ totalTimeMs: number;
28
+ averageTimeMs: number;
29
+ results: AuthResult[];
30
+ }
31
+ /**
32
+ * 智能体认证管理器
33
+ */
34
+ export declare class AgentAuthManager {
35
+ private identityManager;
36
+ private ipfsClient;
37
+ /**
38
+ * 创建新的认证管理器(使用公共 IPFS)
39
+ */
40
+ static new(): Promise<AgentAuthManager>;
41
+ /**
42
+ * 使用自定义 IPFS 节点创建认证管理器
43
+ */
44
+ static newWithRemoteIpfs(apiUrl: string, gatewayUrl: string): Promise<AgentAuthManager>;
45
+ private constructor();
46
+ /**
47
+ * 创建智能体
48
+ */
49
+ createAgent(name: string, _email?: string): {
50
+ agentInfo: AgentInfo;
51
+ keypair: KeyPair;
52
+ peerId: string;
53
+ };
54
+ /**
55
+ * 注册智能体
56
+ */
57
+ registerAgent(agentInfo: AgentInfo, keypair: KeyPair, peerId: string): Promise<IdentityRegistration>;
58
+ /**
59
+ * 生成证明
60
+ */
61
+ generateProof(keypair: KeyPair, cid: string): Promise<AuthResult>;
62
+ /**
63
+ * 验证身份
64
+ */
65
+ verifyIdentity(cid: string, proof: Uint8Array): Promise<AuthResult>;
66
+ /**
67
+ * 双向认证
68
+ */
69
+ mutualAuthentication(_aliceInfo: AgentInfo, aliceKeypair: KeyPair, _alicePeerId: string, aliceCid: string, _bobInfo: AgentInfo, bobKeypair: KeyPair, _bobPeerId: string, bobCid: string): Promise<[AuthResult, AuthResult, AuthResult]>;
70
+ /**
71
+ * 批量认证测试(串行版本)
72
+ */
73
+ batchAuthenticationTest(_agentInfo: AgentInfo, keypair: KeyPair, _peerId: string, cid: string, count: number): Promise<BatchAuthResult>;
74
+ /**
75
+ * 并发批量认证测试(真并行)
76
+ */
77
+ concurrentBatchAuthenticationTest(_agentInfo: AgentInfo, keypair: KeyPair, _peerId: string, cid: string, count: number, maxConcurrency?: number): Promise<BatchAuthResult>;
78
+ /**
79
+ * 并发生成证明(仅生成,不验证)
80
+ */
81
+ concurrentGenerateProofs(keypair: KeyPair, cid: string, count: number, maxConcurrency?: number): Promise<AuthResult[]>;
82
+ /**
83
+ * 压力测试模式:同时进行生成和验证
84
+ */
85
+ stressTest(keypair: KeyPair, cid: string, iterations: number, maxConcurrency?: number): Promise<{
86
+ proofResults: AuthResult[];
87
+ verifyResults: AuthResult[];
88
+ totalTimeMs: number;
89
+ successRate: number;
90
+ }>;
91
+ /**
92
+ * 关闭管理器
93
+ */
94
+ stop(): Promise<void>;
95
+ }
96
+ //# sourceMappingURL=agent-auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-auth.d.ts","sourceRoot":"","sources":["../src/agent-auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,343 @@
1
+ /**
2
+ * 智能体认证管理器
3
+ * 提供统一的智能体认证 API
4
+ * 基于 Rust SDK 的实现逻辑
5
+ */
6
+ import { IdentityManager } from './identity-manager.js';
7
+ import { IpfsClient } from './ipfs-client.js';
8
+ import { KeyManager } from './key-manager.js';
9
+ import { generateRandomBytes } from './utils/crypto.js';
10
+ import { logger } from './utils/logger.js';
11
+ /**
12
+ * 智能体认证管理器
13
+ */
14
+ export class AgentAuthManager {
15
+ identityManager;
16
+ ipfsClient;
17
+ /**
18
+ * 创建新的认证管理器(使用公共 IPFS)
19
+ */
20
+ static async new() {
21
+ logger.info('🚀 初始化智能体认证管理器(轻量级版本)');
22
+ const ipfsClient = await IpfsClient.newPublicOnly(30);
23
+ const manager = new AgentAuthManager(ipfsClient);
24
+ return manager;
25
+ }
26
+ /**
27
+ * 使用自定义 IPFS 节点创建认证管理器
28
+ */
29
+ static async newWithRemoteIpfs(apiUrl, gatewayUrl) {
30
+ logger.info('🚀 初始化智能体认证管理器(使用远程IPFS)');
31
+ const ipfsClient = await IpfsClient.newWithRemoteNode(apiUrl, gatewayUrl, 30);
32
+ const manager = new AgentAuthManager(ipfsClient);
33
+ return manager;
34
+ }
35
+ constructor(ipfsClient) {
36
+ this.ipfsClient = ipfsClient;
37
+ this.identityManager = new IdentityManager(ipfsClient);
38
+ }
39
+ /**
40
+ * 创建智能体
41
+ */
42
+ createAgent(name, _email) {
43
+ logger.info(`🤖 创建智能体: ${name}`);
44
+ const keypair = KeyManager.generate();
45
+ const peerIdBytes = generateRandomBytes(32);
46
+ const peerId = Buffer.from(peerIdBytes).toString('base64url');
47
+ const agentInfo = {
48
+ name,
49
+ services: [
50
+ {
51
+ serviceType: 'messaging',
52
+ endpoint: `https://${name.toLowerCase()}.example.com/messaging`,
53
+ },
54
+ ],
55
+ description: `${name}智能体`,
56
+ tags: ['agent', name.toLowerCase()],
57
+ };
58
+ logger.info(`✅ 智能体创建成功: ${name}`);
59
+ logger.info(` DID: ${keypair.did}`);
60
+ return {
61
+ agentInfo,
62
+ keypair,
63
+ peerId,
64
+ };
65
+ }
66
+ /**
67
+ * 注册智能体
68
+ */
69
+ async registerAgent(agentInfo, keypair, peerId) {
70
+ logger.info(`📝 注册智能体身份: ${agentInfo.name}`);
71
+ const registration = await this.identityManager.registerIdentity(agentInfo, keypair, peerId);
72
+ logger.info('✅ 身份注册成功');
73
+ logger.info(` CID: ${registration.cid}`);
74
+ return registration;
75
+ }
76
+ /**
77
+ * 生成证明
78
+ */
79
+ async generateProof(keypair, cid) {
80
+ const startTime = Date.now();
81
+ try {
82
+ logger.info('🔐 生成身份证明');
83
+ const timestamp = Math.floor(Date.now() / 1000);
84
+ const nonceStr = `proof_${keypair.did}_${timestamp}`;
85
+ const nonce = new TextEncoder().encode(nonceStr);
86
+ const didDocument = await this.ipfsClient.get(cid);
87
+ const parsedDoc = JSON.parse(didDocument);
88
+ const proof = this.identityManager.generateBindingProof(keypair, parsedDoc, cid, nonce);
89
+ const processingTime = Date.now() - startTime;
90
+ logger.info('✅ 身份证明生成成功');
91
+ logger.info(` 处理时间: ${processingTime}ms`);
92
+ return {
93
+ success: true,
94
+ agentId: parsedDoc.id,
95
+ proof: proof,
96
+ verificationDetails: ['✓ 证明生成成功'],
97
+ timestamp,
98
+ processingTimeMs: processingTime,
99
+ };
100
+ }
101
+ catch (error) {
102
+ const processingTime = Date.now() - startTime;
103
+ return {
104
+ success: false,
105
+ agentId: '',
106
+ verificationDetails: [`Failed to generate proof: ${error}`],
107
+ timestamp: Math.floor(Date.now() / 1000),
108
+ processingTimeMs: processingTime,
109
+ };
110
+ }
111
+ }
112
+ /**
113
+ * 验证身份
114
+ */
115
+ async verifyIdentity(cid, proof) {
116
+ const startTime = Date.now();
117
+ try {
118
+ logger.info('🔍 验证身份');
119
+ const timestamp = Math.floor(Date.now() / 1000);
120
+ const nonceStr = `verify_${timestamp}`;
121
+ const nonce = new TextEncoder().encode(nonceStr);
122
+ const verification = await this.identityManager.verifyIdentityWithZKP(cid, proof, nonce);
123
+ const processingTime = Date.now() - startTime;
124
+ logger.info('✅ 身份验证完成');
125
+ logger.info(` 验证结果: ${verification.zkpVerified ? '通过' : '失败'}`);
126
+ logger.info(` 处理时间: ${processingTime}ms`);
127
+ return {
128
+ success: verification.zkpVerified,
129
+ agentId: verification.did,
130
+ verificationDetails: verification.verificationDetails,
131
+ timestamp,
132
+ processingTimeMs: processingTime,
133
+ };
134
+ }
135
+ catch (error) {
136
+ const processingTime = Date.now() - startTime;
137
+ return {
138
+ success: false,
139
+ agentId: '',
140
+ verificationDetails: [`Verification failed: ${error}`],
141
+ timestamp: Math.floor(Date.now() / 1000),
142
+ processingTimeMs: processingTime,
143
+ };
144
+ }
145
+ }
146
+ /**
147
+ * 双向认证
148
+ */
149
+ async mutualAuthentication(_aliceInfo, aliceKeypair, _alicePeerId, aliceCid, _bobInfo, bobKeypair, _bobPeerId, bobCid) {
150
+ logger.info('🔄 开始双向认证流程');
151
+ const aliceProof = await this.generateProof(aliceKeypair, aliceCid);
152
+ const bobVerifyAlice = await this.verifyIdentity(aliceCid, aliceProof.proof);
153
+ const bobProof = await this.generateProof(bobKeypair, bobCid);
154
+ const aliceVerifyBob = await this.verifyIdentity(bobCid, bobProof.proof);
155
+ logger.info('✅ 双向认证完成');
156
+ logger.info(` Alice → Bob: ${bobVerifyAlice.success ? '✅' : '❌'}`);
157
+ logger.info(` Bob → Alice: ${aliceVerifyBob.success ? '✅' : '❌'}`);
158
+ return [aliceProof, bobVerifyAlice, aliceVerifyBob];
159
+ }
160
+ /**
161
+ * 批量认证测试(串行版本)
162
+ */
163
+ async batchAuthenticationTest(_agentInfo, keypair, _peerId, cid, count) {
164
+ logger.info(`🔄 开始批量认证测试: ${count}次`);
165
+ const startTime = Date.now();
166
+ const results = [];
167
+ let successCount = 0;
168
+ for (let i = 0; i < count; i++) {
169
+ logger.info(` 处理第${i + 1}个认证...`);
170
+ const proofResult = await this.generateProof(keypair, cid);
171
+ if (proofResult.success) {
172
+ successCount++;
173
+ }
174
+ results.push(proofResult);
175
+ }
176
+ const totalTime = Date.now() - startTime;
177
+ const failureCount = count - successCount;
178
+ const successRate = (successCount / count) * 100;
179
+ return {
180
+ totalCount: count,
181
+ successCount,
182
+ failureCount,
183
+ successRate,
184
+ totalTimeMs: totalTime,
185
+ averageTimeMs: Math.floor(totalTime / count),
186
+ results,
187
+ };
188
+ }
189
+ /**
190
+ * 并发批量认证测试(真并行)
191
+ */
192
+ async concurrentBatchAuthenticationTest(_agentInfo, keypair, _peerId, cid, count, maxConcurrency = 10) {
193
+ logger.info(`⚡ 开始并发批量认证测试: ${count}次 (最大并发: ${maxConcurrency})`);
194
+ const startTime = Date.now();
195
+ const results = [];
196
+ let successCount = 0;
197
+ // 使用信号量控制并发数
198
+ let running = 0;
199
+ let index = 0;
200
+ const executeBatch = async () => {
201
+ while (index < count) {
202
+ const currentIndex = index++;
203
+ const currentRunning = ++running;
204
+ if (currentRunning > maxConcurrency) {
205
+ running--;
206
+ await new Promise(resolve => setTimeout(resolve, 10));
207
+ continue;
208
+ }
209
+ logger.info(` 处理第${currentIndex + 1}个认证... (并发: ${currentRunning})`);
210
+ try {
211
+ const proofResult = await this.generateProof(keypair, cid);
212
+ if (proofResult.success) {
213
+ successCount++;
214
+ }
215
+ results.push(proofResult);
216
+ }
217
+ catch (error) {
218
+ logger.error(` 第${currentIndex + 1}个认证失败: ${error}`);
219
+ results.push({
220
+ success: false,
221
+ agentId: '',
222
+ verificationDetails: [`并发认证失败: ${error}`],
223
+ timestamp: Math.floor(Date.now() / 1000),
224
+ processingTimeMs: 0,
225
+ });
226
+ }
227
+ running--;
228
+ }
229
+ };
230
+ // 启动多个并发任务
231
+ const tasks = [];
232
+ const numWorkers = Math.min(maxConcurrency, count);
233
+ for (let i = 0; i < numWorkers; i++) {
234
+ tasks.push(executeBatch());
235
+ }
236
+ await Promise.all(tasks);
237
+ const totalTime = Date.now() - startTime;
238
+ const failureCount = count - successCount;
239
+ const successRate = (successCount / count) * 100;
240
+ logger.info(`✅ 并发批量认证完成`);
241
+ logger.info(` 总处理数: ${count}`);
242
+ logger.info(` 成功数: ${successCount}`);
243
+ logger.info(` 成功率: ${successRate.toFixed(2)}%`);
244
+ logger.info(` 总时间: ${totalTime}ms`);
245
+ logger.info(` 平均时间: ${Math.floor(totalTime / count)}ms`);
246
+ return {
247
+ totalCount: count,
248
+ successCount,
249
+ failureCount,
250
+ successRate,
251
+ totalTimeMs: totalTime,
252
+ averageTimeMs: Math.floor(totalTime / count),
253
+ results,
254
+ };
255
+ }
256
+ /**
257
+ * 并发生成证明(仅生成,不验证)
258
+ */
259
+ async concurrentGenerateProofs(keypair, cid, count, maxConcurrency = 20) {
260
+ logger.info(`⚡ 并发生成 ${count} 个证明 (并发: ${maxConcurrency})`);
261
+ const promises = [];
262
+ for (let i = 0; i < count; i++) {
263
+ const promise = this.generateProof(keypair, cid);
264
+ promises.push(promise);
265
+ }
266
+ // 使用 Promise.allSettled 进行并发控制
267
+ const batchSize = maxConcurrency;
268
+ const results = [];
269
+ for (let i = 0; i < promises.length; i += batchSize) {
270
+ const batch = promises.slice(i, i + batchSize);
271
+ const batchResults = await Promise.allSettled(batch);
272
+ for (const result of batchResults) {
273
+ if (result.status === 'fulfilled') {
274
+ results.push(result.value);
275
+ }
276
+ else {
277
+ logger.error(`证明生成失败: ${result.reason}`);
278
+ results.push({
279
+ success: false,
280
+ agentId: '',
281
+ verificationDetails: [`并发生成失败: ${result.reason}`],
282
+ timestamp: Math.floor(Date.now() / 1000),
283
+ processingTimeMs: 0,
284
+ });
285
+ }
286
+ }
287
+ }
288
+ return results;
289
+ }
290
+ /**
291
+ * 压力测试模式:同时进行生成和验证
292
+ */
293
+ async stressTest(keypair, cid, iterations, maxConcurrency = 10) {
294
+ logger.info(`💥 开始压力测试: ${iterations} 次迭代 (并发: ${maxConcurrency})`);
295
+ const startTime = Date.now();
296
+ // 第一批:并发生成证明
297
+ const proofResults = await this.concurrentGenerateProofs(keypair, cid, iterations, maxConcurrency);
298
+ // 过滤成功的证明
299
+ const validProofs = proofResults.filter(r => r.success && r.proof);
300
+ // 第二批:并发验证
301
+ const verifyPromises = validProofs.map(proof => this.verifyIdentity(cid, proof.proof));
302
+ const verifyResults = [];
303
+ for (let i = 0; i < verifyPromises.length; i += maxConcurrency) {
304
+ const batch = verifyPromises.slice(i, i + maxConcurrency);
305
+ const batchResults = await Promise.allSettled(batch);
306
+ for (const result of batchResults) {
307
+ if (result.status === 'fulfilled') {
308
+ verifyResults.push(result.value);
309
+ }
310
+ else {
311
+ verifyResults.push({
312
+ success: false,
313
+ agentId: '',
314
+ verificationDetails: [`验证失败: ${result.reason}`],
315
+ timestamp: Math.floor(Date.now() / 1000),
316
+ processingTimeMs: 0,
317
+ });
318
+ }
319
+ }
320
+ }
321
+ const totalTime = Date.now() - startTime;
322
+ const successCount = verifyResults.filter(r => r.success).length;
323
+ const successRate = (successCount / verifyResults.length) * 100;
324
+ logger.info(`✅ 压力测试完成`);
325
+ logger.info(` 生成成功: ${proofResults.filter(r => r.success).length}/${iterations}`);
326
+ logger.info(` 验证成功: ${successCount}/${verifyResults.length}`);
327
+ logger.info(` 成功率: ${successRate.toFixed(2)}%`);
328
+ logger.info(` 总时间: ${totalTime}ms`);
329
+ return {
330
+ proofResults,
331
+ verifyResults,
332
+ totalTimeMs: totalTime,
333
+ successRate,
334
+ };
335
+ }
336
+ /**
337
+ * 关闭管理器
338
+ */
339
+ async stop() {
340
+ await this.ipfsClient.stop();
341
+ }
342
+ }
343
+ //# sourceMappingURL=agent-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-auth.js","sourceRoot":"","sources":["../src/agent-auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,158 @@
1
+ /**
2
+ * DIAP TypeScript SDK - 智能体验证模块
3
+ * 验证智能体身份和认证状态
4
+ */
5
+ /**
6
+ * 验证状态
7
+ */
8
+ export declare enum VerificationStatus {
9
+ /** 未验证 */
10
+ Unverified = "unverified",
11
+ /** 验证中 */
12
+ Verifying = "verifying",
13
+ /** 已验证 */
14
+ Verified = "verified",
15
+ /** 验证失败 */
16
+ Failed = "failed",
17
+ /** 已过期 */
18
+ Expired = "expired"
19
+ }
20
+ /**
21
+ * 验证请求
22
+ */
23
+ export interface VerificationRequest {
24
+ /** 请求 ID */
25
+ requestId: string;
26
+ /** 智能体 DID */
27
+ agentDid: string;
28
+ /** 验证者 DID */
29
+ verifierDid: string;
30
+ /** 验证类型 */
31
+ verificationType: VerificationType;
32
+ /** 请求时间 */
33
+ requestedAt: number;
34
+ /** 过期时间 */
35
+ expiresAt: number;
36
+ /** 元数据 */
37
+ metadata?: Record<string, string>;
38
+ }
39
+ /**
40
+ * 验证类型
41
+ */
42
+ export declare enum VerificationType {
43
+ /** 身份验证 */
44
+ Identity = "identity",
45
+ /** ZKP 验证 */
46
+ ZKP = "zkp",
47
+ /** 双向验证 */
48
+ Bidirectional = "bidirectional",
49
+ /** 实名认证 */
50
+ RealName = "real_name"
51
+ }
52
+ /**
53
+ * 验证响应
54
+ */
55
+ export interface VerificationResponse {
56
+ /** 请求 ID */
57
+ requestId: string;
58
+ /** 验证状态 */
59
+ status: VerificationStatus;
60
+ /** 验证时间 */
61
+ verifiedAt?: number;
62
+ /** 验证者签名 */
63
+ verifierSignature?: string;
64
+ /** 错误信息 */
65
+ errorMessage?: string;
66
+ /** 验证详情 */
67
+ details?: Record<string, any>;
68
+ }
69
+ /**
70
+ * 验证结果
71
+ */
72
+ export interface VerificationResult {
73
+ /** 是否有效 */
74
+ isValid: boolean;
75
+ /** 验证状态 */
76
+ status: VerificationStatus;
77
+ /** 验证时间 */
78
+ verifiedAt: number;
79
+ /** 验证者 DID */
80
+ verifierDid?: string;
81
+ /** 详细信息 */
82
+ details?: Record<string, any>;
83
+ }
84
+ /**
85
+ * 智能体验证管理器
86
+ */
87
+ export declare class AgentVerificationManager {
88
+ /** 待验证请求 */
89
+ private pendingRequests;
90
+ /** 已验证记录 */
91
+ private verifiedRecords;
92
+ /** 验证超时(毫秒) */
93
+ private verificationTimeout;
94
+ /**
95
+ * 创建验证管理器
96
+ */
97
+ constructor(verificationTimeout?: number);
98
+ /**
99
+ * 创建验证请求
100
+ */
101
+ createVerificationRequest(agentDid: string, verifierDid: string, verificationType: VerificationType, metadata?: Record<string, string>): VerificationRequest;
102
+ /**
103
+ * 验证身份
104
+ */
105
+ verifyIdentity(request: VerificationRequest, proof?: Uint8Array): Promise<VerificationResult>;
106
+ /**
107
+ * 验证 ZKP 证明
108
+ */
109
+ verifyZKP(agentDid: string, proof: Uint8Array, publicInputs: Uint8Array): Promise<VerificationResult>;
110
+ /**
111
+ * 执行双向验证
112
+ */
113
+ verifyBidirectional(agent1Did: string, agent2Did: string): Promise<{
114
+ result1: VerificationResult;
115
+ result2: VerificationResult;
116
+ }>;
117
+ /**
118
+ * 获取验证状态
119
+ */
120
+ getVerificationStatus(agentDid: string): VerificationStatus;
121
+ /**
122
+ * 检查是否已验证
123
+ */
124
+ isVerified(agentDid: string): boolean;
125
+ /**
126
+ * 获取验证结果
127
+ */
128
+ getVerificationResult(agentDid: string): VerificationResult | null;
129
+ /**
130
+ * 撤销验证
131
+ */
132
+ revokeVerification(agentDid: string): boolean;
133
+ /**
134
+ * 获取待验证请求数
135
+ */
136
+ getPendingCount(): number;
137
+ /**
138
+ * 获取已验证记录数
139
+ */
140
+ getVerifiedCount(): number;
141
+ /**
142
+ * 清空所有记录
143
+ */
144
+ clear(): void;
145
+ /**
146
+ * 生成请求 ID
147
+ */
148
+ private generateRequestId;
149
+ /**
150
+ * 模拟验证过程
151
+ */
152
+ private simulateVerification;
153
+ }
154
+ /**
155
+ * 创建验证管理器(便捷函数)
156
+ */
157
+ export declare function createVerificationManager(verificationTimeout?: number): AgentVerificationManager;
158
+ //# sourceMappingURL=agent-verification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-verification.d.ts","sourceRoot":"","sources":["../src/agent-verification.ts"],"names":[],"mappings":"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"}