@moltos/sdk 0.5.0 → 0.5.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 (70) hide show
  1. package/dist/index.d.ts +12 -144
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +26 -243
  4. package/dist/index.js.map +1 -1
  5. package/dist/lib/api.d.ts +32 -0
  6. package/dist/lib/api.d.ts.map +1 -0
  7. package/dist/lib/api.js +80 -0
  8. package/dist/lib/api.js.map +1 -0
  9. package/dist/lib/arbitra.d.ts +302 -0
  10. package/dist/lib/arbitra.d.ts.map +1 -0
  11. package/dist/lib/arbitra.js +486 -0
  12. package/dist/lib/arbitra.js.map +1 -0
  13. package/dist/lib/clawfs.d.ts +277 -0
  14. package/dist/lib/clawfs.d.ts.map +1 -0
  15. package/dist/lib/clawfs.js +628 -0
  16. package/dist/lib/clawfs.js.map +1 -0
  17. package/dist/lib/clawid.d.ts +189 -0
  18. package/dist/lib/clawid.d.ts.map +1 -0
  19. package/dist/lib/clawid.js +455 -0
  20. package/dist/lib/clawid.js.map +1 -0
  21. package/dist/lib/config.d.ts +23 -0
  22. package/dist/lib/config.d.ts.map +1 -0
  23. package/dist/lib/config.js +29 -0
  24. package/dist/lib/config.js.map +1 -0
  25. package/dist/lib/tap.d.ts +208 -0
  26. package/dist/lib/tap.d.ts.map +1 -0
  27. package/dist/lib/tap.js +549 -0
  28. package/dist/lib/tap.js.map +1 -0
  29. package/package.json +6 -8
  30. package/README.md +0 -67
  31. package/dist/arbitra.d.ts +0 -3
  32. package/dist/arbitra.d.ts.map +0 -1
  33. package/dist/arbitra.js +0 -198
  34. package/dist/arbitra.js.map +0 -1
  35. package/dist/attack-sim.d.ts +0 -3
  36. package/dist/attack-sim.d.ts.map +0 -1
  37. package/dist/attack-sim.js +0 -101
  38. package/dist/attack-sim.js.map +0 -1
  39. package/dist/cli.d.ts +0 -3
  40. package/dist/cli.d.ts.map +0 -1
  41. package/dist/cli.js +0 -379
  42. package/dist/cli.js.map +0 -1
  43. package/dist/protocols/arbitra/voting.d.ts +0 -43
  44. package/dist/protocols/arbitra/voting.d.ts.map +0 -1
  45. package/dist/protocols/arbitra/voting.js +0 -42
  46. package/dist/protocols/arbitra/voting.js.map +0 -1
  47. package/dist/protocols/clawforge/control-plane.d.ts +0 -4
  48. package/dist/protocols/clawforge/control-plane.d.ts.map +0 -1
  49. package/dist/protocols/clawforge/control-plane.js +0 -11
  50. package/dist/protocols/clawforge/control-plane.js.map +0 -1
  51. package/dist/protocols/clawid/clawid-token.d.ts +0 -9
  52. package/dist/protocols/clawid/clawid-token.d.ts.map +0 -1
  53. package/dist/protocols/clawid/clawid-token.js +0 -20
  54. package/dist/protocols/clawid/clawid-token.js.map +0 -1
  55. package/dist/protocols/clawkernel/kernel.d.ts +0 -4
  56. package/dist/protocols/clawkernel/kernel.d.ts.map +0 -1
  57. package/dist/protocols/clawkernel/kernel.js +0 -11
  58. package/dist/protocols/clawkernel/kernel.js.map +0 -1
  59. package/dist/protocols/clawlink/handoff.d.ts +0 -64
  60. package/dist/protocols/clawlink/handoff.d.ts.map +0 -1
  61. package/dist/protocols/clawlink/handoff.js +0 -31
  62. package/dist/protocols/clawlink/handoff.js.map +0 -1
  63. package/dist/types.d.ts +0 -65
  64. package/dist/types.d.ts.map +0 -1
  65. package/dist/types.js +0 -27
  66. package/dist/types.js.map +0 -1
  67. package/dist/vm.d.ts +0 -3
  68. package/dist/vm.d.ts.map +0 -1
  69. package/dist/vm.js +0 -173
  70. package/dist/vm.js.map +0 -1
@@ -0,0 +1,549 @@
1
+ "use strict";
2
+ /**
3
+ * TAP (Trust Attestation Protocol) - EigenTrust-style reputation system
4
+ *
5
+ * Every action produces a signed attestation.
6
+ * Attestations are weighted by sender's reputation and chained into a Merkle tree.
7
+ * Reputation compounds forever through transitive trust calculations.
8
+ */
9
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ var desc = Object.getOwnPropertyDescriptor(m, k);
12
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
+ desc = { enumerable: true, get: function() { return m[k]; } };
14
+ }
15
+ Object.defineProperty(o, k2, desc);
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || (function () {
26
+ var ownKeys = function(o) {
27
+ ownKeys = Object.getOwnPropertyNames || function (o) {
28
+ var ar = [];
29
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
30
+ return ar;
31
+ };
32
+ return ownKeys(o);
33
+ };
34
+ return function (mod) {
35
+ if (mod && mod.__esModule) return mod;
36
+ var result = {};
37
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
38
+ __setModuleDefault(result, mod);
39
+ return result;
40
+ };
41
+ })();
42
+ Object.defineProperty(exports, "__esModule", { value: true });
43
+ exports.TAPClient = void 0;
44
+ exports.generateKeypair = generateKeypair;
45
+ exports.verifyBatch = verifyBatch;
46
+ const ed25519_1 = require("@noble/ed25519");
47
+ const sha256_1 = require("@noble/hashes/sha256");
48
+ const utils_1 = require("@noble/hashes/utils");
49
+ // ============================================================================
50
+ // Utility Functions
51
+ // ============================================================================
52
+ /**
53
+ * Serialize data for hashing (deterministic)
54
+ */
55
+ function serializeForHash(data) {
56
+ return JSON.stringify(data, Object.keys(data).sort());
57
+ }
58
+ /**
59
+ * Compute SHA256 hash of data
60
+ */
61
+ function computeHash(data) {
62
+ const serialized = serializeForHash(data);
63
+ return (0, utils_1.bytesToHex)((0, sha256_1.sha256)(new TextEncoder().encode(serialized)));
64
+ }
65
+ /**
66
+ * Compute Merkle root from a list of hashes
67
+ */
68
+ function computeMerkleRoot(hashes) {
69
+ if (hashes.length === 0) {
70
+ return (0, utils_1.bytesToHex)((0, sha256_1.sha256)(new Uint8Array(0)));
71
+ }
72
+ if (hashes.length === 1) {
73
+ return hashes[0];
74
+ }
75
+ const nextLevel = [];
76
+ for (let i = 0; i < hashes.length; i += 2) {
77
+ const left = hashes[i];
78
+ const right = hashes[i + 1] || left; // Duplicate last if odd
79
+ const combined = left + right;
80
+ nextLevel.push((0, utils_1.bytesToHex)((0, sha256_1.sha256)(new TextEncoder().encode(combined))));
81
+ }
82
+ return computeMerkleRoot(nextLevel);
83
+ }
84
+ // ============================================================================
85
+ // TAPClient Class
86
+ // ============================================================================
87
+ /**
88
+ * TAP Client for creating and verifying attestations,
89
+ * computing reputation scores, and managing the trust graph.
90
+ */
91
+ class TAPClient {
92
+ privateKey;
93
+ publicKey;
94
+ agentId;
95
+ config;
96
+ // In-memory storage (in production, use persistent storage)
97
+ attestations = new Map();
98
+ reputationScores = new Map();
99
+ trustGraph;
100
+ attestationChain = []; // Ordered list of attestation IDs
101
+ /**
102
+ * Create a new TAP client
103
+ * @param privateKeyHex - Ed25519 private key as hex string
104
+ * @param agentId - Unique identifier for this agent
105
+ * @param config - Optional configuration
106
+ */
107
+ constructor(privateKeyHex, agentId, config = {}) {
108
+ this.privateKey = (0, utils_1.hexToBytes)(privateKeyHex);
109
+ this.publicKey = (0, ed25519_1.getPublicKey)(this.privateKey);
110
+ this.agentId = agentId;
111
+ // Default configuration
112
+ this.config = {
113
+ dampingFactor: config.dampingFactor ?? 0.85,
114
+ iterations: config.iterations ?? 100,
115
+ convergenceThreshold: config.convergenceThreshold ?? 1e-10,
116
+ preTrustedAgents: config.preTrustedAgents ?? [],
117
+ preTrustedWeight: config.preTrustedWeight ?? 0.1,
118
+ };
119
+ // Initialize trust graph
120
+ this.trustGraph = {
121
+ agents: new Set([agentId]),
122
+ edges: [],
123
+ adjacency: new Map(),
124
+ reverseAdjacency: new Map(),
125
+ merkleRoot: (0, utils_1.bytesToHex)((0, sha256_1.sha256)(new Uint8Array(0))),
126
+ sequence: 0,
127
+ };
128
+ // Initialize adjacency lists for this agent
129
+ this.trustGraph.adjacency.set(agentId, []);
130
+ this.trustGraph.reverseAdjacency.set(agentId, []);
131
+ // Initialize own reputation
132
+ this.reputationScores.set(agentId, {
133
+ agentId,
134
+ globalScore: this.config.preTrustedAgents.includes(agentId)
135
+ ? this.config.preTrustedWeight
136
+ : 0.5, // Neutral starting score
137
+ directTrust: 0,
138
+ transitiveTrust: 0,
139
+ attestationCount: 0,
140
+ givenCount: 0,
141
+ lastUpdated: Date.now(),
142
+ });
143
+ }
144
+ // ============================================================================
145
+ // Core Attestation Methods
146
+ // ============================================================================
147
+ /**
148
+ * Create a signed attestation for an action
149
+ * @param action - The action data to attest (must be JSON-serializable)
150
+ * @param targetAgentId - The agent being attested about (optional, defaults to self)
151
+ * @param options - Additional options for attestation creation
152
+ * @returns The signed attestation
153
+ */
154
+ async attest(action, targetAgentId, options = {}) {
155
+ const timestamp = Date.now();
156
+ const target = targetAgentId || this.agentId;
157
+ // Get previous hash for chaining
158
+ const previousHash = options.previousHash ??
159
+ (this.attestationChain.length > 0
160
+ ? computeHash(this.attestations.get(this.attestationChain[this.attestationChain.length - 1]))
161
+ : null);
162
+ // Compute new Merkle root including this attestation
163
+ const allHashes = this.attestationChain.map(id => computeHash(this.attestations.get(id)));
164
+ // Create attestation data (without signature for now)
165
+ const attestationData = {
166
+ agentId: this.agentId,
167
+ publicKey: (0, utils_1.bytesToHex)(this.publicKey),
168
+ action: {
169
+ ...action,
170
+ ...(options.metadata || {}),
171
+ _targetAgent: target,
172
+ },
173
+ timestamp,
174
+ previousHash,
175
+ };
176
+ // Compute attestation ID
177
+ const id = computeHash(attestationData);
178
+ // Compute new Merkle root
179
+ const newMerkleRoot = computeMerkleRoot([...allHashes, id]);
180
+ // Create full attestation with ID and merkle root
181
+ const attestationWithId = {
182
+ ...attestationData,
183
+ id,
184
+ merkleRoot: newMerkleRoot,
185
+ signature: '', // Placeholder
186
+ };
187
+ // Sign the attestation
188
+ const message = new TextEncoder().encode(serializeForHash(attestationWithId));
189
+ const signature = await (0, ed25519_1.sign)(message, this.privateKey);
190
+ const signatureHex = (0, utils_1.bytesToHex)(signature);
191
+ // Final attestation
192
+ const attestation = {
193
+ ...attestationWithId,
194
+ signature: signatureHex,
195
+ };
196
+ // Store attestation
197
+ this.attestations.set(id, attestation);
198
+ this.attestationChain.push(id);
199
+ // Update trust graph
200
+ this.updateTrustGraph(attestation, target);
201
+ // Update Merkle root
202
+ this.trustGraph.merkleRoot = newMerkleRoot;
203
+ this.trustGraph.sequence++;
204
+ // Update reputation (reputation compounds!)
205
+ await this.updateReputation(target);
206
+ return attestation;
207
+ }
208
+ /**
209
+ * Verify an attestation's signature
210
+ * @param attestation - The attestation to verify
211
+ * @returns True if signature is valid
212
+ */
213
+ async verify(attestation) {
214
+ try {
215
+ // Reconstruct the signed data (without signature)
216
+ const { signature, ...attestationData } = attestation;
217
+ const message = new TextEncoder().encode(serializeForHash(attestationData));
218
+ // Verify signature
219
+ const publicKey = (0, utils_1.hexToBytes)(attestation.publicKey);
220
+ const signatureBytes = (0, utils_1.hexToBytes)(signature);
221
+ return await (0, ed25519_1.verify)(signatureBytes, message, publicKey);
222
+ }
223
+ catch {
224
+ return false;
225
+ }
226
+ }
227
+ // ============================================================================
228
+ // Reputation Methods
229
+ // ============================================================================
230
+ /**
231
+ * Get the current reputation score for an agent
232
+ * @param agentId - The agent to get reputation for (defaults to self)
233
+ * @returns The reputation score
234
+ */
235
+ getReputation(agentId) {
236
+ const targetId = agentId || this.agentId;
237
+ // Return existing score or create default
238
+ const existing = this.reputationScores.get(targetId);
239
+ if (existing) {
240
+ return { ...existing };
241
+ }
242
+ // Default score for unknown agents
243
+ return {
244
+ agentId: targetId,
245
+ globalScore: 0.5, // Neutral
246
+ directTrust: 0,
247
+ transitiveTrust: 0,
248
+ attestationCount: 0,
249
+ givenCount: 0,
250
+ lastUpdated: Date.now(),
251
+ };
252
+ }
253
+ /**
254
+ * Compute EigenTrust-style transitive trust scores for all agents
255
+ * Uses power iteration to converge on global trust scores
256
+ * @returns Map of agent IDs to their trust scores
257
+ */
258
+ computeTrustScore() {
259
+ const agents = Array.from(this.trustGraph.agents);
260
+ const n = agents.length;
261
+ if (n === 0) {
262
+ return new Map();
263
+ }
264
+ // Build normalized trust matrix
265
+ const trustMatrix = new Map();
266
+ for (const agent of agents) {
267
+ const outgoing = this.trustGraph.adjacency.get(agent) || [];
268
+ const totalWeight = outgoing.reduce((sum, e) => sum + e.weight, 0);
269
+ const normalizedWeights = new Map();
270
+ if (totalWeight > 0) {
271
+ for (const edge of outgoing) {
272
+ normalizedWeights.set(edge.to, edge.weight / totalWeight);
273
+ }
274
+ }
275
+ // Self-loop if no outgoing edges (prevents dead ends)
276
+ if (normalizedWeights.size === 0) {
277
+ normalizedWeights.set(agent, 1.0);
278
+ }
279
+ trustMatrix.set(agent, normalizedWeights);
280
+ }
281
+ // Initialize trust vector with pre-trusted agents or uniform distribution
282
+ let trustVector = new Map();
283
+ const preTrusted = this.config.preTrustedAgents.filter(a => agents.includes(a));
284
+ if (preTrusted.length > 0) {
285
+ const preTrustedWeight = this.config.preTrustedWeight / preTrusted.length;
286
+ for (const agent of agents) {
287
+ trustVector.set(agent, preTrusted.includes(agent) ? preTrustedWeight : 0);
288
+ }
289
+ }
290
+ else {
291
+ const uniformWeight = 1.0 / n;
292
+ for (const agent of agents) {
293
+ trustVector.set(agent, uniformWeight);
294
+ }
295
+ }
296
+ // Power iteration
297
+ const dampingFactor = this.config.dampingFactor;
298
+ const teleportProb = preTrusted.length > 0
299
+ ? (1 - dampingFactor) / preTrusted.length
300
+ : (1 - dampingFactor) / n;
301
+ for (let iter = 0; iter < this.config.iterations; iter++) {
302
+ const newTrustVector = new Map();
303
+ let maxDiff = 0;
304
+ for (const agent of agents) {
305
+ let score = 0;
306
+ // Sum incoming trust
307
+ for (const other of agents) {
308
+ const weights = trustMatrix.get(other);
309
+ const weightToThis = weights.get(agent) || 0;
310
+ const otherTrust = trustVector.get(other);
311
+ score += dampingFactor * weightToThis * otherTrust;
312
+ }
313
+ // Teleport / pre-trusted jump
314
+ if (preTrusted.length > 0) {
315
+ if (preTrusted.includes(agent)) {
316
+ score += (1 - dampingFactor) / preTrusted.length;
317
+ }
318
+ }
319
+ else {
320
+ score += (1 - dampingFactor) / n;
321
+ }
322
+ newTrustVector.set(agent, score);
323
+ const diff = Math.abs(score - (trustVector.get(agent) || 0));
324
+ maxDiff = Math.max(maxDiff, diff);
325
+ }
326
+ trustVector = newTrustVector;
327
+ // Check convergence
328
+ if (maxDiff < this.config.convergenceThreshold) {
329
+ break;
330
+ }
331
+ }
332
+ // Normalize to ensure scores sum to 1
333
+ const totalTrust = Array.from(trustVector.values()).reduce((a, b) => a + b, 0);
334
+ if (totalTrust > 0) {
335
+ for (const [agent, score] of trustVector) {
336
+ trustVector.set(agent, score / totalTrust);
337
+ }
338
+ }
339
+ return trustVector;
340
+ }
341
+ // ============================================================================
342
+ // Trust Graph Management
343
+ // ============================================================================
344
+ /**
345
+ * Add an external attestation to the trust graph
346
+ * @param attestation - The attestation to add
347
+ * @param targetAgentId - The target agent (if different from action target)
348
+ * @returns True if successfully added
349
+ */
350
+ async addAttestation(attestation, targetAgentId) {
351
+ // Verify first
352
+ const isValid = await this.verify(attestation);
353
+ if (!isValid) {
354
+ return false;
355
+ }
356
+ // Check for duplicates
357
+ if (this.attestations.has(attestation.id)) {
358
+ return true; // Already have it
359
+ }
360
+ // Store attestation
361
+ this.attestations.set(attestation.id, attestation);
362
+ this.attestationChain.push(attestation.id);
363
+ // Determine target
364
+ const target = targetAgentId ||
365
+ attestation.action._targetAgent ||
366
+ attestation.agentId;
367
+ // Update trust graph
368
+ this.updateTrustGraph(attestation, target);
369
+ // Update Merkle root
370
+ const allHashes = this.attestationChain.map(id => computeHash(this.attestations.get(id)));
371
+ this.trustGraph.merkleRoot = computeMerkleRoot(allHashes);
372
+ this.trustGraph.sequence++;
373
+ // Update reputation
374
+ await this.updateReputation(target);
375
+ return true;
376
+ }
377
+ /**
378
+ * Get the current trust graph
379
+ */
380
+ getTrustGraph() {
381
+ return {
382
+ agents: new Set(this.trustGraph.agents),
383
+ edges: [...this.trustGraph.edges],
384
+ adjacency: new Map(this.trustGraph.adjacency),
385
+ reverseAdjacency: new Map(this.trustGraph.reverseAdjacency),
386
+ merkleRoot: this.trustGraph.merkleRoot,
387
+ sequence: this.trustGraph.sequence,
388
+ };
389
+ }
390
+ /**
391
+ * Get all attestations for an agent (received)
392
+ * @param agentId - The agent to get attestations for
393
+ */
394
+ getAttestationsForAgent(agentId) {
395
+ const incoming = this.trustGraph.reverseAdjacency.get(agentId) || [];
396
+ return incoming
397
+ .map(edge => this.attestations.get(edge.attestationId))
398
+ .filter((a) => a !== undefined);
399
+ }
400
+ /**
401
+ * Get all attestations by an agent (given)
402
+ * @param agentId - The agent who gave attestations
403
+ */
404
+ getAttestationsByAgent(agentId) {
405
+ const outgoing = this.trustGraph.adjacency.get(agentId) || [];
406
+ return outgoing
407
+ .map(edge => this.attestations.get(edge.attestationId))
408
+ .filter((a) => a !== undefined);
409
+ }
410
+ /**
411
+ * Get the current Merkle root
412
+ */
413
+ getMerkleRoot() {
414
+ return this.trustGraph.merkleRoot;
415
+ }
416
+ /**
417
+ * Get this client's public key
418
+ */
419
+ getPublicKey() {
420
+ return (0, utils_1.bytesToHex)(this.publicKey);
421
+ }
422
+ /**
423
+ * Get this client's agent ID
424
+ */
425
+ getAgentId() {
426
+ return this.agentId;
427
+ }
428
+ // ============================================================================
429
+ // Private Helper Methods
430
+ // ============================================================================
431
+ /**
432
+ * Update the trust graph with a new attestation
433
+ */
434
+ updateTrustGraph(attestation, target) {
435
+ const source = attestation.agentId;
436
+ // Add agents to set
437
+ this.trustGraph.agents.add(source);
438
+ this.trustGraph.agents.add(target);
439
+ // Ensure adjacency lists exist
440
+ if (!this.trustGraph.adjacency.has(source)) {
441
+ this.trustGraph.adjacency.set(source, []);
442
+ }
443
+ if (!this.trustGraph.adjacency.has(target)) {
444
+ this.trustGraph.adjacency.set(target, []);
445
+ }
446
+ if (!this.trustGraph.reverseAdjacency.has(source)) {
447
+ this.trustGraph.reverseAdjacency.set(source, []);
448
+ }
449
+ if (!this.trustGraph.reverseAdjacency.has(target)) {
450
+ this.trustGraph.reverseAdjacency.set(target, []);
451
+ }
452
+ // Get source reputation for weighting
453
+ const sourceRep = this.reputationScores.get(source);
454
+ const weight = sourceRep?.globalScore ?? 0.5;
455
+ // Create trust edge
456
+ const edge = {
457
+ from: source,
458
+ to: target,
459
+ weight,
460
+ timestamp: attestation.timestamp,
461
+ attestationId: attestation.id,
462
+ };
463
+ // Add to edges list
464
+ this.trustGraph.edges.push(edge);
465
+ // Add to adjacency lists
466
+ this.trustGraph.adjacency.get(source).push(edge);
467
+ this.trustGraph.reverseAdjacency.get(target).push(edge);
468
+ }
469
+ /**
470
+ * Update reputation scores after a new attestation
471
+ * Reputation compounds forever through transitive trust
472
+ */
473
+ async updateReputation(targetAgentId) {
474
+ // Compute global trust scores using EigenTrust
475
+ const globalScores = this.computeTrustScore();
476
+ // Update all agent scores
477
+ for (const agentId of this.trustGraph.agents) {
478
+ const incoming = this.trustGraph.reverseAdjacency.get(agentId) || [];
479
+ const outgoing = this.trustGraph.adjacency.get(agentId) || [];
480
+ const directTrust = incoming.reduce((sum, e) => sum + e.weight, 0);
481
+ const globalScore = globalScores.get(agentId) || 0.5;
482
+ // Transitive trust is the difference between global and direct
483
+ const transitiveTrust = Math.max(0, globalScore - directTrust / (incoming.length || 1));
484
+ this.reputationScores.set(agentId, {
485
+ agentId,
486
+ globalScore,
487
+ directTrust,
488
+ transitiveTrust,
489
+ attestationCount: incoming.length,
490
+ givenCount: outgoing.length,
491
+ lastUpdated: Date.now(),
492
+ });
493
+ }
494
+ // Ensure target agent has a score even if no attestations yet
495
+ if (!this.reputationScores.has(targetAgentId)) {
496
+ this.reputationScores.set(targetAgentId, {
497
+ agentId: targetAgentId,
498
+ globalScore: globalScores.get(targetAgentId) || 0.5,
499
+ directTrust: 0,
500
+ transitiveTrust: 0,
501
+ attestationCount: 0,
502
+ givenCount: 0,
503
+ lastUpdated: Date.now(),
504
+ });
505
+ }
506
+ }
507
+ }
508
+ exports.TAPClient = TAPClient;
509
+ // ============================================================================
510
+ // Export additional utilities
511
+ // ============================================================================
512
+ /**
513
+ * Generate a new Ed25519 keypair for TAP
514
+ * @returns Object with privateKey and publicKey as hex strings
515
+ */
516
+ async function generateKeypair() {
517
+ const privateKey = ed25519.utils.randomPrivateKey();
518
+ const publicKey = await (0, ed25519_1.getPublicKey)(privateKey);
519
+ return {
520
+ privateKey: (0, utils_1.bytesToHex)(privateKey),
521
+ publicKey: (0, utils_1.bytesToHex)(publicKey),
522
+ };
523
+ }
524
+ /**
525
+ * Utility to verify a batch of attestations
526
+ * @param attestations - Array of attestations to verify
527
+ * @returns Map of attestation IDs to verification results
528
+ */
529
+ async function verifyBatch(attestations) {
530
+ const results = new Map();
531
+ await Promise.all(attestations.map(async (att) => {
532
+ const { signature, ...attestationData } = att;
533
+ const message = new TextEncoder().encode(serializeForHash(attestationData));
534
+ try {
535
+ const publicKey = (0, utils_1.hexToBytes)(att.publicKey);
536
+ const signatureBytes = (0, utils_1.hexToBytes)(signature);
537
+ const valid = await (0, ed25519_1.verify)(signatureBytes, message, publicKey);
538
+ results.set(att.id, valid);
539
+ }
540
+ catch {
541
+ results.set(att.id, false);
542
+ }
543
+ }));
544
+ return results;
545
+ }
546
+ // Import ed25519 utils for key generation
547
+ const ed25519 = __importStar(require("@noble/ed25519"));
548
+ exports.default = TAPClient;
549
+ //# sourceMappingURL=tap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tap.js","sourceRoot":"","sources":["../../src/lib/tap.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqqBH,0CAQC;AAOD,kCAsBC;AAxsBD,4CAA4D;AAC5D,iDAA8C;AAC9C,+CAA6D;AA4G7D,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E;;GAEG;AACH,SAAS,gBAAgB,CAAC,IAAa;IACrC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAc,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAClE,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,IAAa;IAChC,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,IAAA,kBAAU,EAAC,IAAA,eAAM,EAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;AAClE,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,MAAgB;IACzC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,IAAA,kBAAU,EAAC,IAAA,eAAM,EAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IAED,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,wBAAwB;QAC7D,MAAM,QAAQ,GAAG,IAAI,GAAG,KAAK,CAAC;QAC9B,SAAS,CAAC,IAAI,CAAC,IAAA,kBAAU,EAAC,IAAA,eAAM,EAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;IAED,OAAO,iBAAiB,CAAC,SAAS,CAAC,CAAC;AACtC,CAAC;AAED,+EAA+E;AAC/E,kBAAkB;AAClB,+EAA+E;AAE/E;;;GAGG;AACH,MAAa,SAAS;IACZ,UAAU,CAAa;IACvB,SAAS,CAAa;IACtB,OAAO,CAAS;IAChB,MAAM,CAAsB;IAEpC,4DAA4D;IACpD,YAAY,GAA6B,IAAI,GAAG,EAAE,CAAC;IACnD,gBAAgB,GAAiC,IAAI,GAAG,EAAE,CAAC;IAC3D,UAAU,CAAa;IACvB,gBAAgB,GAAa,EAAE,CAAC,CAAC,kCAAkC;IAE3E;;;;;OAKG;IACH,YACE,aAAqB,EACrB,OAAe,EACf,SAAoB,EAAE;QAEtB,IAAI,CAAC,UAAU,GAAG,IAAA,kBAAU,EAAC,aAAa,CAAC,CAAC;QAC5C,IAAI,CAAC,SAAS,GAAG,IAAA,sBAAY,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,wBAAwB;QACxB,IAAI,CAAC,MAAM,GAAG;YACZ,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,IAAI;YAC3C,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,GAAG;YACpC,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,IAAI,KAAK;YAC1D,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,EAAE;YAC/C,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,GAAG;SACjD,CAAC;QAEF,yBAAyB;QACzB,IAAI,CAAC,UAAU,GAAG;YAChB,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;YAC1B,KAAK,EAAE,EAAE;YACT,SAAS,EAAE,IAAI,GAAG,EAAE;YACpB,gBAAgB,EAAE,IAAI,GAAG,EAAE;YAC3B,UAAU,EAAE,IAAA,kBAAU,EAAC,IAAA,eAAM,EAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,QAAQ,EAAE,CAAC;SACZ,CAAC;QAEF,4CAA4C;QAC5C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAElD,4BAA4B;QAC5B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE;YACjC,OAAO;YACP,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC;gBACzD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB;gBAC9B,CAAC,CAAC,GAAG,EAAE,yBAAyB;YAClC,WAAW,EAAE,CAAC;YACd,eAAe,EAAE,CAAC;YAClB,gBAAgB,EAAE,CAAC;YACnB,UAAU,EAAE,CAAC;YACb,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;SACxB,CAAC,CAAC;IACL,CAAC;IAED,+EAA+E;IAC/E,2BAA2B;IAC3B,+EAA+E;IAE/E;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CACV,MAA+B,EAC/B,aAAsB,EACtB,UAA8B,EAAE;QAEhC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC;QAE7C,iCAAiC;QACjC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY;YACvC,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;gBAC/B,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC7F,CAAC,CAAC,IAAI,CAAC,CAAC;QAEZ,qDAAqD;QACrD,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAC/C,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC,CACxC,CAAC;QAEF,sDAAsD;QACtD,MAAM,eAAe,GAAyD;YAC5E,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAA,kBAAU,EAAC,IAAI,CAAC,SAAS,CAAC;YACrC,MAAM,EAAE;gBACN,GAAG,MAAM;gBACT,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;gBAC3B,YAAY,EAAE,MAAM;aACrB;YACD,SAAS;YACT,YAAY;SACb,CAAC;QAEF,yBAAyB;QACzB,MAAM,EAAE,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC;QAExC,0BAA0B;QAC1B,MAAM,aAAa,GAAG,iBAAiB,CAAC,CAAC,GAAG,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;QAE5D,kDAAkD;QAClD,MAAM,iBAAiB,GAAG;YACxB,GAAG,eAAe;YAClB,EAAE;YACF,UAAU,EAAE,aAAa;YACzB,SAAS,EAAE,EAAE,EAAE,cAAc;SAC9B,CAAC;QAEF,uBAAuB;QACvB,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC9E,MAAM,SAAS,GAAG,MAAM,IAAA,cAAI,EAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACvD,MAAM,YAAY,GAAG,IAAA,kBAAU,EAAC,SAAS,CAAC,CAAC;QAE3C,oBAAoB;QACpB,MAAM,WAAW,GAAgB;YAC/B,GAAG,iBAAiB;YACpB,SAAS,EAAE,YAAY;SACxB,CAAC;QAEF,oBAAoB;QACpB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QACvC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE/B,qBAAqB;QACrB,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAE3C,qBAAqB;QACrB,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,aAAa,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAE3B,4CAA4C;QAC5C,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAEpC,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,WAAwB;QACnC,IAAI,CAAC;YACH,kDAAkD;YAClD,MAAM,EAAE,SAAS,EAAE,GAAG,eAAe,EAAE,GAAG,WAAW,CAAC;YACtD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC;YAE5E,mBAAmB;YACnB,MAAM,SAAS,GAAG,IAAA,kBAAU,EAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACpD,MAAM,cAAc,GAAG,IAAA,kBAAU,EAAC,SAAS,CAAC,CAAC;YAE7C,OAAO,MAAM,IAAA,gBAAM,EAAC,cAAc,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,+EAA+E;IAC/E,qBAAqB;IACrB,+EAA+E;IAE/E;;;;OAIG;IACH,aAAa,CAAC,OAAgB;QAC5B,MAAM,QAAQ,GAAG,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC;QAEzC,0CAA0C;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,EAAE,GAAG,QAAQ,EAAE,CAAC;QACzB,CAAC;QAED,mCAAmC;QACnC,OAAO;YACL,OAAO,EAAE,QAAQ;YACjB,WAAW,EAAE,GAAG,EAAE,UAAU;YAC5B,WAAW,EAAE,CAAC;YACd,eAAe,EAAE,CAAC;YAClB,gBAAgB,EAAE,CAAC;YACnB,UAAU,EAAE,CAAC;YACb,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;SACxB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,iBAAiB;QACf,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;QAExB,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACZ,OAAO,IAAI,GAAG,EAAE,CAAC;QACnB,CAAC;QAED,gCAAgC;QAChC,MAAM,WAAW,GAAqC,IAAI,GAAG,EAAE,CAAC;QAEhE,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAC5D,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAEnE,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;YAEpD,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gBACpB,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;oBAC5B,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC;gBAC5D,CAAC;YACH,CAAC;YAED,sDAAsD;YACtD,IAAI,iBAAiB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACjC,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACpC,CAAC;YAED,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC;QAC5C,CAAC;QAED,0EAA0E;QAC1E,IAAI,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC;YAC1E,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,aAAa,GAAG,GAAG,GAAG,CAAC,CAAC;YAC9B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAED,kBAAkB;QAClB,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;QAChD,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC;YACxC,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,GAAG,UAAU,CAAC,MAAM;YACzC,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QAE5B,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC;YACzD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAC;YACjD,IAAI,OAAO,GAAG,CAAC,CAAC;YAEhB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,IAAI,KAAK,GAAG,CAAC,CAAC;gBAEd,qBAAqB;gBACrB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC;oBACxC,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC7C,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC;oBAC3C,KAAK,IAAI,aAAa,GAAG,YAAY,GAAG,UAAU,CAAC;gBACrD,CAAC;gBAED,8BAA8B;gBAC9B,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC/B,KAAK,IAAI,CAAC,CAAC,GAAG,aAAa,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC;oBACnD,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,KAAK,IAAI,CAAC,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;gBACnC,CAAC;gBAED,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAEjC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC7D,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACpC,CAAC;YAED,WAAW,GAAG,cAAc,CAAC;YAE7B,oBAAoB;YACpB,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;gBAC/C,MAAM;YACR,CAAC;QACH,CAAC;QAED,sCAAsC;QACtC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/E,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;YACnB,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC;gBACzC,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,UAAU,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,+EAA+E;IAC/E,yBAAyB;IACzB,+EAA+E;IAE/E;;;;;OAKG;IACH,KAAK,CAAC,cAAc,CAClB,WAAwB,EACxB,aAAsB;QAEtB,eAAe;QACf,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,KAAK,CAAC;QACf,CAAC;QAED,uBAAuB;QACvB,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,CAAC,kBAAkB;QACjC,CAAC;QAED,oBAAoB;QACpB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QACnD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAE3C,mBAAmB;QACnB,MAAM,MAAM,GAAG,aAAa;YACzB,WAAW,CAAC,MAAM,CAAC,YAAuB;YAC3C,WAAW,CAAC,OAAO,CAAC;QAEtB,qBAAqB;QACrB,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QAE3C,qBAAqB;QACrB,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAC/C,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAE,CAAC,CACxC,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,UAAU,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAE3B,oBAAoB;QACpB,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAEpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO;YACL,MAAM,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YACvC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YACjC,SAAS,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;YAC7C,gBAAgB,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC;YAC3D,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,UAAU;YACtC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ;SACnC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,uBAAuB,CAAC,OAAe;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACrE,OAAO,QAAQ;aACZ,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aACtD,MAAM,CAAC,CAAC,CAAC,EAAoB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;IACtD,CAAC;IAED;;;OAGG;IACH,sBAAsB,CAAC,OAAe;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAC9D,OAAO,QAAQ;aACZ,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aACtD,MAAM,CAAC,CAAC,CAAC,EAAoB,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,IAAA,kBAAU,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,+EAA+E;IAC/E,yBAAyB;IACzB,+EAA+E;IAE/E;;OAEG;IACK,gBAAgB,CAAC,WAAwB,EAAE,MAAc;QAC/D,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC;QAEnC,oBAAoB;QACpB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEnC,+BAA+B;QAC/B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACnD,CAAC;QAED,sCAAsC;QACtC,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,SAAS,EAAE,WAAW,IAAI,GAAG,CAAC;QAE7C,oBAAoB;QACpB,MAAM,IAAI,GAAc;YACtB,IAAI,EAAE,MAAM;YACZ,EAAE,EAAE,MAAM;YACV,MAAM;YACN,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,aAAa,EAAE,WAAW,CAAC,EAAE;SAC9B,CAAC;QAEF,oBAAoB;QACpB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEjC,yBAAyB;QACzB,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,gBAAgB,CAAC,aAAqB;QAClD,+CAA+C;QAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE9C,0BAA0B;QAC1B,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACrE,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAE9D,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACnE,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC;YAErD,+DAA+D;YAC/D,MAAM,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,WAAW,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;YAExF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,EAAE;gBACjC,OAAO;gBACP,WAAW;gBACX,WAAW;gBACX,eAAe;gBACf,gBAAgB,EAAE,QAAQ,CAAC,MAAM;gBACjC,UAAU,EAAE,QAAQ,CAAC,MAAM;gBAC3B,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;aACxB,CAAC,CAAC;QACL,CAAC;QAED,8DAA8D;QAC9D,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,EAAE;gBACvC,OAAO,EAAE,aAAa;gBACtB,WAAW,EAAE,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,GAAG;gBACnD,WAAW,EAAE,CAAC;gBACd,eAAe,EAAE,CAAC;gBAClB,gBAAgB,EAAE,CAAC;gBACnB,UAAU,EAAE,CAAC;gBACb,WAAW,EAAE,IAAI,CAAC,GAAG,EAAE;aACxB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF;AA1fD,8BA0fC;AAED,+EAA+E;AAC/E,8BAA8B;AAC9B,+EAA+E;AAE/E;;;GAGG;AACI,KAAK,UAAU,eAAe;IACnC,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;IACpD,MAAM,SAAS,GAAG,MAAM,IAAA,sBAAY,EAAC,UAAU,CAAC,CAAC;IAEjD,OAAO;QACL,UAAU,EAAE,IAAA,kBAAU,EAAC,UAAU,CAAC;QAClC,SAAS,EAAE,IAAA,kBAAU,EAAC,SAAS,CAAC;KACjC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACI,KAAK,UAAU,WAAW,CAC/B,YAA2B;IAE3B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmB,CAAC;IAE3C,MAAM,OAAO,CAAC,GAAG,CACf,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC7B,MAAM,EAAE,SAAS,EAAE,GAAG,eAAe,EAAE,GAAG,GAAG,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,CAAC;QAE5E,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAA,kBAAU,EAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC5C,MAAM,cAAc,GAAG,IAAA,kBAAU,EAAC,SAAS,CAAC,CAAC;YAC7C,MAAM,KAAK,GAAG,MAAM,IAAA,gBAAM,EAAC,cAAc,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;YAC/D,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,0CAA0C;AAC1C,wDAA0C;AAE1C,kBAAe,SAAS,CAAC"}
package/package.json CHANGED
@@ -1,15 +1,9 @@
1
1
  {
2
2
  "name": "@moltos/sdk",
3
- "version": "0.5.0",
3
+ "version": "0.5.2",
4
4
  "description": "Official MoltOS SDK — The complete production-grade Agent Operating System. Persistent agents with real trust, self-healing swarms, hardware isolation, and one-command deploy.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
- "bin": {
8
- "moltos": "dist/cli.js",
9
- "moltos-attack-sim": "dist/attack-sim.js",
10
- "moltos-vm": "dist/vm.js",
11
- "moltos-arbitra": "dist/arbitra.js"
12
- },
13
7
  "files": [
14
8
  "dist/**/*"
15
9
  ],
@@ -50,10 +44,14 @@
50
44
  "@noble/bls12-381": "^1.4.0",
51
45
  "@noble/hashes": "^1.3.3",
52
46
  "@supabase/supabase-js": "^2.0.0",
53
- "commander": "^11.0.0"
47
+ "commander": "^11.0.0",
48
+ "axios": "^1.6.0"
54
49
  },
55
50
  "devDependencies": {
56
51
  "@types/node": "^20.0.0",
57
52
  "typescript": "^5.0.0"
53
+ },
54
+ "engines": {
55
+ "node": ">=18.0.0"
58
56
  }
59
57
  }
package/README.md DELETED
@@ -1,67 +0,0 @@
1
- # TAP Protocol SDK
2
-
3
- Official TypeScript SDK for the Trust Audit Protocol (TAP) — the first cross-agent attestation network for verified AgentCommerce.
4
-
5
- ## Installation
6
-
7
- ```bash
8
- npm install @tap-protocol/sdk
9
- ```
10
-
11
- ## Quick Start
12
-
13
- ```typescript
14
- import { TAPClient } from '@tap-protocol/sdk';
15
-
16
- const client = new TAPClient({
17
- privateKey: process.env.TAP_PRIVATE_KEY,
18
- agentId: 'agent-007',
19
- stakeAmount: 750 // ALPHA
20
- });
21
-
22
- // Generate boot audit
23
- const bootAudit = await client.generateBootAudit({
24
- 'AGENTS.md': '...',
25
- 'SOUL.md': '...',
26
- 'USER.md': '...',
27
- 'TOOLS.md': '...',
28
- 'MEMORY.md': '...',
29
- 'HEARTBEAT.md': '...'
30
- });
31
-
32
- // Create a claim
33
- const claim = await client.createClaim({
34
- claimId: 'claim-001',
35
- statement: 'I respond within 30 seconds',
36
- metric: 'response_time_ms',
37
- threshold: 30000
38
- });
39
-
40
- // Attest another agent's claim
41
- const attestation = await client.attest({
42
- claimId: 'claim-001',
43
- targetAgent: 'agent-042',
44
- testRequests: 3
45
- });
46
-
47
- console.log(attestation.result); // 'CONFIRMED' | 'REJECTED' | 'TIMEOUT'
48
- ```
49
-
50
- ## Features
51
-
52
- - ✅ **Boot Audit Generation** — SHA256 workspace hashing
53
- - ✅ **Trust Ledger Management** — Create and manage claims
54
- - ✅ **Cross-Attestation** — Verify other agents' claims
55
- - ✅ **BLS Aggregation** — Batch attestations for efficiency
56
- - ✅ **x402 Integration** — Pre-payment verification
57
- - ✅ **OpenClaw Skill** — Native integration with OpenClaw
58
-
59
- ## Documentation
60
-
61
- - [Protocol Specification](https://github.com/Shepherd217/trust-audit-framework)
62
- - [API Reference](https://docs.tap.live)
63
- - [Dashboard](https://tap.live)
64
-
65
- ## License
66
-
67
- MIT
package/dist/arbitra.d.ts DELETED
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
3
- //# sourceMappingURL=arbitra.d.ts.map