@varun-ai07/covenant-mcp 1.2.0 → 1.2.1

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 (49) hide show
  1. package/README.md +451 -366
  2. package/dist/abis/AgentWallet.json +415 -0
  3. package/dist/abis/COVENANTRouter.json +173 -0
  4. package/dist/abis/CapabilityVerifier.json +213 -0
  5. package/dist/abis/Groth16Verifier.json +36 -0
  6. package/dist/abis/Groth16VerifierCapability.json +36 -0
  7. package/dist/abis/Groth16VerifierReputation.json +36 -0
  8. package/dist/abis/LitProtocolIntegration.json +703 -0
  9. package/dist/abis/ReputationVerifier.json +213 -0
  10. package/dist/config.d.ts.map +1 -1
  11. package/dist/config.js +38 -1
  12. package/dist/config.js.map +1 -1
  13. package/dist/handlers/transactions.d.ts.map +1 -1
  14. package/dist/handlers/transactions.js +274 -27
  15. package/dist/handlers/transactions.js.map +1 -1
  16. package/dist/handlers/wallet.d.ts +3 -1
  17. package/dist/handlers/wallet.d.ts.map +1 -1
  18. package/dist/handlers/wallet.js +82 -2
  19. package/dist/handlers/wallet.js.map +1 -1
  20. package/dist/lib/cache.d.ts +53 -0
  21. package/dist/lib/cache.d.ts.map +1 -0
  22. package/dist/lib/cache.js +154 -0
  23. package/dist/lib/cache.js.map +1 -0
  24. package/dist/lib/events.d.ts +73 -0
  25. package/dist/lib/events.d.ts.map +1 -0
  26. package/dist/lib/events.js +203 -0
  27. package/dist/lib/events.js.map +1 -0
  28. package/dist/tools/batches.d.ts.map +1 -1
  29. package/dist/tools/batches.js +4 -3
  30. package/dist/tools/batches.js.map +1 -1
  31. package/dist/tools/collectives.d.ts.map +1 -1
  32. package/dist/tools/collectives.js +15 -6
  33. package/dist/tools/collectives.js.map +1 -1
  34. package/dist/tools/escrow.d.ts.map +1 -1
  35. package/dist/tools/escrow.js +8 -6
  36. package/dist/tools/escrow.js.map +1 -1
  37. package/dist/tools/insurance.d.ts.map +1 -1
  38. package/dist/tools/insurance.js +7 -4
  39. package/dist/tools/insurance.js.map +1 -1
  40. package/dist/tools/receipts.d.ts.map +1 -1
  41. package/dist/tools/receipts.js +49 -61
  42. package/dist/tools/receipts.js.map +1 -1
  43. package/dist/types.d.ts +7 -0
  44. package/dist/types.d.ts.map +1 -1
  45. package/dist/utils.d.ts +52 -0
  46. package/dist/utils.d.ts.map +1 -0
  47. package/dist/utils.js +217 -0
  48. package/dist/utils.js.map +1 -0
  49. package/package.json +1 -1
package/dist/utils.js ADDED
@@ -0,0 +1,217 @@
1
+ /**
2
+ * COVENANT MCP Utilities
3
+ * Helper functions for encoding and data conversion
4
+ */
5
+ import { pad, toHex } from "viem";
6
+ /**
7
+ * Convert a string to bytes32 format.
8
+ * Handles IPFS CIDs and other task description hashes.
9
+ *
10
+ * For strings <= 31 chars: Encodes as UTF-8 bytes, padded right
11
+ * For strings > 31 chars: Truncates to fit
12
+ * For hex strings starting with 0x: Validates length and pads if needed
13
+ */
14
+ export function stringToBytes32(str) {
15
+ // If it's already a 0x-prefixed hex string
16
+ if (str.startsWith("0x")) {
17
+ // If it's exactly 66 chars (0x + 64 hex digits), it's already bytes32
18
+ if (str.length === 66) {
19
+ return str;
20
+ }
21
+ // If shorter, pad to 32 bytes (left-pad for numbers)
22
+ if (str.length < 66) {
23
+ return pad(str, { size: 32 });
24
+ }
25
+ // If longer, truncate
26
+ return str.slice(0, 66);
27
+ }
28
+ // For plaintext strings, encode to hex and pad
29
+ // Convert string to UTF-8 bytes, then to hex
30
+ const encoder = new TextEncoder();
31
+ const bytes = encoder.encode(str);
32
+ // bytes32 is 32 bytes, strings can use up to 31 bytes (last byte is length)
33
+ // For simplicity, we truncate to 31 bytes and pad
34
+ const truncatedBytes = bytes.slice(0, 31);
35
+ const hexString = toHex(truncatedBytes);
36
+ // Pad to 32 bytes (right-pad for string data)
37
+ return pad(hexString, { size: 32, dir: "right" });
38
+ }
39
+ /**
40
+ * Convert an array of strings to bytes32 format.
41
+ */
42
+ export function stringsToBytes32(strings) {
43
+ return strings.map(stringToBytes32);
44
+ }
45
+ /**
46
+ * Decode bytes32 back to string (for display purposes).
47
+ * Falls back to hex string if not UTF-8 decodable.
48
+ */
49
+ export function bytes32ToString(bytes32) {
50
+ try {
51
+ // Remove 0x prefix and decode hex as UTF-8
52
+ const hex = bytes32.slice(2);
53
+ const bytes = new Uint8Array(hex.length / 2);
54
+ for (let i = 0; i < hex.length; i += 2) {
55
+ bytes[i / 2] = parseInt(hex.slice(i, i + 2), 16);
56
+ }
57
+ // Find null terminator or trailing zeros
58
+ let end = bytes.findIndex(b => b === 0);
59
+ if (end === -1)
60
+ end = bytes.length;
61
+ const decoder = new TextDecoder();
62
+ return decoder.decode(bytes.slice(0, end));
63
+ }
64
+ catch {
65
+ // If decoding fails, return hex representation
66
+ return bytes32;
67
+ }
68
+ }
69
+ /**
70
+ * Convert a numeric ID to bytes32 format.
71
+ * Left-pads the number to 32 bytes.
72
+ */
73
+ export function numberToBytes32(num) {
74
+ // Convert to hex and left-pad to 32 bytes
75
+ const hex = typeof num === 'bigint'
76
+ ? `0x${num.toString(16)}`
77
+ : `0x${num.toString(16)}`;
78
+ return pad(hex, { size: 32 });
79
+ }
80
+ /**
81
+ * Validate that a string is a valid bytes32.
82
+ */
83
+ export function isBytes32(str) {
84
+ return /^0x[0-9a-fA-F]{64}$/.test(str);
85
+ }
86
+ // ============================================================
87
+ // IPFS Gateway Configuration with Fallbacks
88
+ // ============================================================
89
+ // Gateway priority list (dedicated Pinata first, then public gateways)
90
+ const IPFS_GATEWAYS = [
91
+ // Dedicated Pinata gateway (requires PINATA_GATEWAY in env)
92
+ process.env.PINATA_GATEWAY,
93
+ // Public Pinata gateway
94
+ "https://gateway.pinata.cloud",
95
+ // IPFS.io public gateway
96
+ "https://ipfs.io",
97
+ // Cloudflare IPFS gateway
98
+ "https://cloudflare-ipfs.com",
99
+ // dWeb gateway
100
+ "https://dweb.link",
101
+ ].filter(Boolean);
102
+ // Cache for gateway health status
103
+ const gatewayHealth = new Map();
104
+ /**
105
+ * Get the best available IPFS gateway
106
+ */
107
+ export function getBestGateway() {
108
+ // Check for dedicated gateway first
109
+ if (process.env.PINATA_GATEWAY) {
110
+ return process.env.PINATA_GATEWAY;
111
+ }
112
+ // Fall back to first available gateway
113
+ return IPFS_GATEWAYS[0] || "https://ipfs.io";
114
+ }
115
+ /**
116
+ * Build an IPFS URL for a CID
117
+ */
118
+ export function buildIpfsUrl(cid, gateway) {
119
+ const gw = gateway || getBestGateway();
120
+ // Handle different CID formats
121
+ if (cid.startsWith("Qm") || cid.startsWith("baf")) {
122
+ return `${gw}/ipfs/${cid}`;
123
+ }
124
+ // Already a URL
125
+ if (cid.startsWith("http")) {
126
+ return cid;
127
+ }
128
+ return `${gw}/ipfs/${cid}`;
129
+ }
130
+ /**
131
+ * Fetch from IPFS with gateway fallback
132
+ */
133
+ export async function fetchFromIpfs(cid, timeoutMs = 30000) {
134
+ const errors = [];
135
+ // Sort gateways by health
136
+ const sortedGateways = [...IPFS_GATEWAYS].sort((a, b) => {
137
+ const healthA = gatewayHealth.get(a);
138
+ const healthB = gatewayHealth.get(b);
139
+ if (!healthA && !healthB)
140
+ return 0;
141
+ if (!healthA)
142
+ return 1;
143
+ if (!healthB)
144
+ return -1;
145
+ // Prefer lower latency and fewer failures
146
+ const scoreA = healthA.latency + (healthA.failures * 1000);
147
+ const scoreB = healthB.latency + (healthB.failures * 1000);
148
+ return scoreA - scoreB;
149
+ });
150
+ // Try each gateway in order
151
+ for (const gateway of sortedGateways) {
152
+ try {
153
+ const url = buildIpfsUrl(cid, gateway);
154
+ const controller = new AbortController();
155
+ const timeoutId = setTimeout(() => controller.abort(), timeoutMs);
156
+ const start = Date.now();
157
+ const response = await fetch(url, {
158
+ signal: controller.signal,
159
+ headers: {
160
+ "Accept": "application/json, text/plain, */*",
161
+ "User-Agent": "COVENANT-MCP/1.0",
162
+ },
163
+ });
164
+ clearTimeout(timeoutId);
165
+ if (response.ok) {
166
+ // Update health metrics
167
+ gatewayHealth.set(gateway, {
168
+ latency: Date.now() - start,
169
+ lastCheck: Date.now(),
170
+ failures: gatewayHealth.get(gateway)?.failures || 0,
171
+ });
172
+ return response;
173
+ }
174
+ }
175
+ catch (error) {
176
+ errors.push(error instanceof Error ? error : new Error(String(error)));
177
+ // Mark gateway as failed
178
+ const current = gatewayHealth.get(gateway) || { latency: 0, lastCheck: 0, failures: 0 };
179
+ gatewayHealth.set(gateway, {
180
+ ...current,
181
+ failures: current.failures + 1,
182
+ lastCheck: Date.now(),
183
+ });
184
+ }
185
+ }
186
+ throw new Error(`Failed to fetch ${cid} from all gateways: ${errors.map(e => e.message).join(", ")}`);
187
+ }
188
+ /**
189
+ * Check gateway health
190
+ */
191
+ export async function checkGatewayHealth() {
192
+ const results = {};
193
+ await Promise.all(IPFS_GATEWAYS.map(async (gateway) => {
194
+ try {
195
+ const start = Date.now();
196
+ const response = await fetch(`${gateway}/ipfs/QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn`, {
197
+ method: "HEAD",
198
+ signal: AbortSignal.timeout(5000),
199
+ });
200
+ const latency = Date.now() - start;
201
+ results[gateway] = {
202
+ healthy: response.ok,
203
+ latency,
204
+ };
205
+ gatewayHealth.set(gateway, {
206
+ latency,
207
+ lastCheck: Date.now(),
208
+ failures: response.ok ? 0 : (gatewayHealth.get(gateway)?.failures || 0) + 1,
209
+ });
210
+ }
211
+ catch {
212
+ results[gateway] = { healthy: false, latency: -1 };
213
+ }
214
+ }));
215
+ return results;
216
+ }
217
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@varun-ai07/covenant-mcp",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "COVENANT Protocol MCP Server — AI agent access to on-chain task marketplace",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",