@varun-ai07/covenant-mcp 2.5.2 → 3.0.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.
- package/README.md +24 -40
- package/dist/lib/verify.d.ts +12 -0
- package/dist/lib/verify.d.ts.map +1 -1
- package/dist/lib/verify.js +115 -13
- package/dist/lib/verify.js.map +1 -1
- package/dist/sdk.d.ts +1 -0
- package/dist/sdk.d.ts.map +1 -1
- package/dist/sdk.js +9 -0
- package/dist/sdk.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +7 -2
- package/dist/server.js.map +1 -1
- package/dist/tools/corven-agent.d.ts.map +1 -1
- package/dist/tools/corven-agent.js +82 -10
- package/dist/tools/corven-agent.js.map +1 -1
- package/dist/tools/corven-batch.d.ts.map +1 -1
- package/dist/tools/corven-batch.js +82 -2
- package/dist/tools/corven-batch.js.map +1 -1
- package/dist/tools/corven-encrypt.d.ts +3 -0
- package/dist/tools/corven-encrypt.d.ts.map +1 -0
- package/dist/tools/corven-encrypt.js +107 -0
- package/dist/tools/corven-encrypt.js.map +1 -0
- package/dist/tools/corven-govern.d.ts.map +1 -1
- package/dist/tools/corven-govern.js +10 -0
- package/dist/tools/corven-govern.js.map +1 -1
- package/dist/tools/corven-grants.d.ts.map +1 -1
- package/dist/tools/corven-grants.js +10 -0
- package/dist/tools/corven-grants.js.map +1 -1
- package/dist/tools/corven-ipfs.d.ts.map +1 -1
- package/dist/tools/corven-ipfs.js +85 -12
- package/dist/tools/corven-ipfs.js.map +1 -1
- package/dist/tools/corven-market.d.ts.map +1 -1
- package/dist/tools/corven-market.js +8 -1
- package/dist/tools/corven-market.js.map +1 -1
- package/dist/tools/corven-message.d.ts +1 -0
- package/dist/tools/corven-message.d.ts.map +1 -1
- package/dist/tools/corven-message.js +100 -12
- package/dist/tools/corven-message.js.map +1 -1
- package/dist/tools/corven-reputation.d.ts.map +1 -1
- package/dist/tools/corven-reputation.js +82 -5
- package/dist/tools/corven-reputation.js.map +1 -1
- package/dist/tools/corven-stats.d.ts.map +1 -1
- package/dist/tools/corven-stats.js +72 -10
- package/dist/tools/corven-stats.js.map +1 -1
- package/dist/tools/corven-task.d.ts.map +1 -1
- package/dist/tools/corven-task.js +196 -9
- package/dist/tools/corven-task.js.map +1 -1
- package/dist/tools/corven-version.d.ts +3 -0
- package/dist/tools/corven-version.d.ts.map +1 -0
- package/dist/tools/corven-version.js +129 -0
- package/dist/tools/corven-version.js.map +1 -0
- package/dist/tools/disputes.d.ts.map +1 -1
- package/dist/tools/disputes.js +82 -0
- package/dist/tools/disputes.js.map +1 -1
- package/package.json +1 -1
|
@@ -8,6 +8,8 @@ import { loadAbi, CONTRACTS } from "../config.js";
|
|
|
8
8
|
import { readContract } from "../handlers/wallet.js";
|
|
9
9
|
import { formatReadResult } from "../handlers/transactions.js";
|
|
10
10
|
import { parseContractError, formatStructuredError } from "../lib/formatResponse.js";
|
|
11
|
+
import { loadStore, saveStore } from "../lib/store.js";
|
|
12
|
+
import { eventIndexer } from "../lib/events.js";
|
|
11
13
|
const identityAbi = loadAbi("CovenantIdentity");
|
|
12
14
|
const escrowAbi = loadAbi("CovenantEscrow");
|
|
13
15
|
// ─── Input Schemas ───────────────────────────────────────────
|
|
@@ -18,25 +20,32 @@ const leaderboardSchema = z.object({
|
|
|
18
20
|
// ─── Tool Registration ───────────────────────────────────────
|
|
19
21
|
export function registerStatsTools(server) {
|
|
20
22
|
// ──────────────────────────────────────────────────────────
|
|
21
|
-
// corven_stats — action: stats
|
|
23
|
+
// corven_stats — action: stats, leaderboard, subscribe,
|
|
24
|
+
// unsubscribe, list_hooks, recent_events
|
|
22
25
|
// ──────────────────────────────────────────────────────────
|
|
23
26
|
server.registerTool("corven_stats", {
|
|
24
|
-
title: "Protocol Statistics",
|
|
25
|
-
description: "Get aggregate COVENANT protocol health metrics
|
|
27
|
+
title: "Protocol Statistics & Webhooks",
|
|
28
|
+
description: "Get aggregate COVENANT protocol health metrics or manage event webhooks.\n" +
|
|
26
29
|
"ACTIONS:\n" +
|
|
27
|
-
" stats
|
|
28
|
-
" leaderboard
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
30
|
+
" stats — Total agents, tasks created, total volume (ETH), and fees collected.\n" +
|
|
31
|
+
" leaderboard — Top N agents ranked by reputation (address, name, tasks completed, stake).\n" +
|
|
32
|
+
" subscribe — Register a webhook URL for specific event types.\n" +
|
|
33
|
+
" unsubscribe — Remove a webhook by ID.\n" +
|
|
34
|
+
" list_hooks — List active webhook subscriptions.\n" +
|
|
35
|
+
" recent_events — Return recent events from the on-chain event indexer.\n" +
|
|
36
|
+
"WORKFLOW: corven_stats stats → corven_stats leaderboard (for top performers).\n" +
|
|
37
|
+
"WHEN TO USE: To assess protocol activity, growth, discover top agents, or get notified of events.\n\n" +
|
|
32
38
|
"OUTPUT RULES:\n" +
|
|
33
39
|
"- Present results as clean, readable text. Never show raw JSON.\n" +
|
|
34
40
|
"- On error: Explain in plain language what went wrong and suggest next step.\n" +
|
|
35
41
|
"- Always recommend a logical follow-up action.\n" +
|
|
36
42
|
"- Never show stack traces, technical errors, or raw data.",
|
|
37
43
|
inputSchema: {
|
|
38
|
-
action: z.enum(["stats", "leaderboard"]).describe("Stats action"),
|
|
44
|
+
action: z.enum(["stats", "leaderboard", "subscribe", "unsubscribe", "list_hooks", "recent_events"]).describe("Stats or webhook action"),
|
|
39
45
|
limit: z.number().optional().describe("Leaderboard size (1-50, default 10)"),
|
|
46
|
+
url: z.string().optional().describe("Webhook URL (for subscribe)"),
|
|
47
|
+
events: z.array(z.string()).optional().describe("Event types to subscribe to (for subscribe)"),
|
|
48
|
+
hookId: z.string().optional().describe("Webhook ID (for unsubscribe)"),
|
|
40
49
|
},
|
|
41
50
|
}, async (params) => {
|
|
42
51
|
try {
|
|
@@ -70,8 +79,61 @@ export function registerStatsTools(server) {
|
|
|
70
79
|
note: "Agent iteration not available in V5. Use corven_agent get with a specific address.",
|
|
71
80
|
}, "COVENANT Agent Leaderboard");
|
|
72
81
|
}
|
|
82
|
+
case "subscribe": {
|
|
83
|
+
const { url, events } = params;
|
|
84
|
+
if (!url || !events || events.length === 0) {
|
|
85
|
+
return formatStructuredError("Missing required fields.", "subscribe requires url and events array.", "Provide url and at least one event type.", false);
|
|
86
|
+
}
|
|
87
|
+
const webhookStore = loadStore("webhooks", {});
|
|
88
|
+
const id = `wh_${Date.now()}_${Math.random().toString(36).slice(2, 8)}`;
|
|
89
|
+
webhookStore[id] = { id, url, events, active: true, createdAt: Date.now() };
|
|
90
|
+
saveStore("webhooks", webhookStore);
|
|
91
|
+
return formatReadResult({ id, url, events, active: true }, "Webhook Registered");
|
|
92
|
+
}
|
|
93
|
+
case "unsubscribe": {
|
|
94
|
+
const { hookId } = params;
|
|
95
|
+
if (!hookId) {
|
|
96
|
+
return formatStructuredError("Missing required field.", "unsubscribe requires hookId.", "Provide the webhook ID from list_hooks.", false);
|
|
97
|
+
}
|
|
98
|
+
const webhookStore = loadStore("webhooks", {});
|
|
99
|
+
if (!webhookStore[hookId]) {
|
|
100
|
+
return formatStructuredError("Webhook not found.", `No webhook with ID ${hookId}.`, "Use list_hooks to see active hooks.", false);
|
|
101
|
+
}
|
|
102
|
+
delete webhookStore[hookId];
|
|
103
|
+
saveStore("webhooks", webhookStore);
|
|
104
|
+
return formatReadResult({ hookId, removed: true }, "Webhook Removed");
|
|
105
|
+
}
|
|
106
|
+
case "list_hooks": {
|
|
107
|
+
const webhookStore = loadStore("webhooks", {});
|
|
108
|
+
const hooks = Object.values(webhookStore);
|
|
109
|
+
return formatReadResult({
|
|
110
|
+
totalHooks: hooks.length,
|
|
111
|
+
active: hooks.filter(h => h.active).length,
|
|
112
|
+
hooks: hooks.map(h => ({
|
|
113
|
+
id: h.id,
|
|
114
|
+
url: h.url,
|
|
115
|
+
events: h.events,
|
|
116
|
+
active: h.active,
|
|
117
|
+
createdAt: new Date(h.createdAt).toISOString(),
|
|
118
|
+
})),
|
|
119
|
+
}, "Registered Webhooks");
|
|
120
|
+
}
|
|
121
|
+
case "recent_events": {
|
|
122
|
+
const recentEvents = eventIndexer.query({});
|
|
123
|
+
const last50 = recentEvents.slice(-50);
|
|
124
|
+
return formatReadResult({
|
|
125
|
+
totalIndexed: recentEvents.length,
|
|
126
|
+
showing: last50.length,
|
|
127
|
+
events: last50.map(e => ({
|
|
128
|
+
eventName: e.eventName,
|
|
129
|
+
blockNumber: Number(e.blockNumber),
|
|
130
|
+
transactionHash: e.transactionHash,
|
|
131
|
+
address: e.address,
|
|
132
|
+
})),
|
|
133
|
+
}, "Recent On-Chain Events");
|
|
134
|
+
}
|
|
73
135
|
default:
|
|
74
|
-
return formatStructuredError(`Unknown action: ${action}`, "Valid actions: stats, leaderboard", "Pass
|
|
136
|
+
return formatStructuredError(`Unknown action: ${action}`, "Valid actions: stats, leaderboard, subscribe, unsubscribe, list_hooks, recent_events", "Pass a valid action string.", true);
|
|
75
137
|
}
|
|
76
138
|
}
|
|
77
139
|
catch (e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"corven-stats.js","sourceRoot":"","sources":["../../src/tools/corven-stats.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,OAAO,EAAE,SAAS,EAAc,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAoB,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAkB,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"corven-stats.js","sourceRoot":"","sources":["../../src/tools/corven-stats.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"corven-task.d.ts","sourceRoot":"","sources":["../../src/tools/corven-task.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"corven-task.d.ts","sourceRoot":"","sources":["../../src/tools/corven-task.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA2EzE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAwQzD"}
|
|
@@ -2,10 +2,61 @@
|
|
|
2
2
|
* corven_task — Task lifecycle via CovenantSDK
|
|
3
3
|
*/
|
|
4
4
|
import { z } from "zod";
|
|
5
|
-
import { parseEther, formatEther, keccak256, toBytes } from "viem";
|
|
6
|
-
import { getSDK, getPublicClient } from "../config.js";
|
|
7
|
-
import { formatTxResult, formatReadResult } from "../handlers/transactions.js";
|
|
5
|
+
import { parseEther, formatEther, isAddress, keccak256, toBytes } from "viem";
|
|
6
|
+
import { getSDK, getPublicClient, loadAbi, CONTRACTS } from "../config.js";
|
|
7
|
+
import { formatTxResult, formatReadResult, formatError } from "../handlers/transactions.js";
|
|
8
8
|
import { formatStructuredError, parseContractError } from "../lib/formatResponse.js";
|
|
9
|
+
import { notifyAgent } from "./corven-message.js";
|
|
10
|
+
const IPFS_GATEWAYS = [
|
|
11
|
+
"https://gateway.pinata.cloud/ipfs",
|
|
12
|
+
"https://ipfs.io/ipfs",
|
|
13
|
+
"https://cloudflare-ipfs.com/ipfs",
|
|
14
|
+
];
|
|
15
|
+
function isCid(s) {
|
|
16
|
+
return /^Qm[1-9A-HJ-NP-Za-km-z]{44,}/.test(s) ||
|
|
17
|
+
/^(bafy[a-zA-Z2-7]{52,})/.test(s) ||
|
|
18
|
+
/^(b[ae][a-zA-Z2-7]{50,})/.test(s);
|
|
19
|
+
}
|
|
20
|
+
function isUrl(s) {
|
|
21
|
+
return /^https?:\/\//.test(s);
|
|
22
|
+
}
|
|
23
|
+
function extractCid(input) {
|
|
24
|
+
const httpMatch = input.match(/\/ipfs\/([a-zA-Z0-9]+)/);
|
|
25
|
+
if (httpMatch)
|
|
26
|
+
return httpMatch[1];
|
|
27
|
+
if (isCid(input))
|
|
28
|
+
return input;
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
async function fetchIpfsContent(input, timeoutMs = 10000) {
|
|
32
|
+
try {
|
|
33
|
+
let url;
|
|
34
|
+
if (isUrl(input)) {
|
|
35
|
+
url = input;
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
const cid = extractCid(input);
|
|
39
|
+
if (!cid)
|
|
40
|
+
return null;
|
|
41
|
+
url = `${IPFS_GATEWAYS[0]}/${cid}`;
|
|
42
|
+
}
|
|
43
|
+
const controller = new AbortController();
|
|
44
|
+
const timer = setTimeout(() => controller.abort(), timeoutMs);
|
|
45
|
+
const resp = await fetch(url, { signal: controller.signal });
|
|
46
|
+
clearTimeout(timer);
|
|
47
|
+
if (!resp.ok)
|
|
48
|
+
return null;
|
|
49
|
+
const contentType = resp.headers.get("content-type") || "";
|
|
50
|
+
if (contentType.includes("json") || contentType.includes("text")) {
|
|
51
|
+
return await resp.text();
|
|
52
|
+
}
|
|
53
|
+
const buf = Buffer.from(await resp.arrayBuffer());
|
|
54
|
+
return buf.toString("base64");
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
9
60
|
async function waitAndFormat(hash) {
|
|
10
61
|
const client = getPublicClient();
|
|
11
62
|
const receipt = await client.waitForTransactionReceipt({ hash });
|
|
@@ -23,6 +74,8 @@ const schema = z.object({
|
|
|
23
74
|
success: z.boolean().optional(),
|
|
24
75
|
milestoneIndex: z.number().optional(),
|
|
25
76
|
priority: z.enum(["low", "medium", "high", "urgent"]).optional().default("medium"),
|
|
77
|
+
offset: z.number().optional().default(0).describe("Offset for list pagination (default 0)"),
|
|
78
|
+
limit: z.number().optional().default(10).describe("Max tasks to return for list (default 10)"),
|
|
26
79
|
confirm: z.boolean().optional().default(false).describe('NEVER set this yourself. ALWAYS ask the user first. Show the exact ETH cost and what will happen. Only set to true AFTER the user explicitly says yes.'),
|
|
27
80
|
});
|
|
28
81
|
export function registerTaskTools(server) {
|
|
@@ -55,6 +108,13 @@ export function registerTaskTools(server) {
|
|
|
55
108
|
const sdk = getSDK();
|
|
56
109
|
const { action } = args;
|
|
57
110
|
if (action === "create") {
|
|
111
|
+
if (args.worker && !isAddress(args.worker)) {
|
|
112
|
+
return formatError(new Error("Invalid worker address: must be a valid Ethereum address"));
|
|
113
|
+
}
|
|
114
|
+
const paymentNum = Number(args.payment || "0.01");
|
|
115
|
+
if (paymentNum <= 0 || paymentNum > 100) {
|
|
116
|
+
return formatError(new Error("Invalid payment amount: must be > 0 and <= 100 ETH"));
|
|
117
|
+
}
|
|
58
118
|
const deadline = args.deadline
|
|
59
119
|
? Number(args.deadline)
|
|
60
120
|
: Math.floor(Date.now() / 1000) + 86400;
|
|
@@ -69,6 +129,24 @@ export function registerTaskTools(server) {
|
|
|
69
129
|
}, "CONFIRMATION REQUIRED");
|
|
70
130
|
}
|
|
71
131
|
const hash = await sdk.createTask(args.worker, paymentWei, deadline, keccak256(toBytes(args.descriptionHash || "QmDefault")));
|
|
132
|
+
const result = await waitAndFormat(hash);
|
|
133
|
+
if (result.status === "success") {
|
|
134
|
+
notifyAgent(args.worker, "task_created", `New task assigned to you: ${formatEther(paymentWei)} ETH`, 0);
|
|
135
|
+
}
|
|
136
|
+
return formatTxResult(result);
|
|
137
|
+
}
|
|
138
|
+
if (action === "fund") {
|
|
139
|
+
const paymentWei = parseEther(args.payment || "0.01");
|
|
140
|
+
if (!args.confirm) {
|
|
141
|
+
return formatReadResult({
|
|
142
|
+
confirmationRequired: true,
|
|
143
|
+
action: "Fund task #" + args.taskId + " escrow",
|
|
144
|
+
cost: formatEther(paymentWei) + " ETH",
|
|
145
|
+
reason: "ETH added to task escrow for worker payment",
|
|
146
|
+
toProceed: "Call corven_task again with confirm: true",
|
|
147
|
+
}, "CONFIRMATION REQUIRED");
|
|
148
|
+
}
|
|
149
|
+
const hash = await sdk.fundTask(BigInt(args.taskId || 0), paymentWei);
|
|
72
150
|
return formatTxResult(await waitAndFormat(hash));
|
|
73
151
|
}
|
|
74
152
|
if (action === "submit") {
|
|
@@ -82,7 +160,13 @@ export function registerTaskTools(server) {
|
|
|
82
160
|
}, "CONFIRMATION REQUIRED");
|
|
83
161
|
}
|
|
84
162
|
const hash = await sdk.submitWork(BigInt(args.taskId || 0), keccak256(toBytes(args.deliverableHash || "QmDelivered")));
|
|
85
|
-
|
|
163
|
+
const result = await waitAndFormat(hash);
|
|
164
|
+
if (result.status === "success") {
|
|
165
|
+
const acct = (await import("../config.js")).getAccount();
|
|
166
|
+
if (acct)
|
|
167
|
+
notifyAgent(acct.address, "task_submitted", `Deliverable submitted for task #${args.taskId}`, Number(args.taskId));
|
|
168
|
+
}
|
|
169
|
+
return formatTxResult(result);
|
|
86
170
|
}
|
|
87
171
|
if (action === "verify") {
|
|
88
172
|
if (!args.confirm) {
|
|
@@ -95,7 +179,15 @@ export function registerTaskTools(server) {
|
|
|
95
179
|
}, "CONFIRMATION REQUIRED");
|
|
96
180
|
}
|
|
97
181
|
const hash = await sdk.completeTask(BigInt(args.taskId || 0), "0x0000000000000000000000000000000000000000000000000000000000000000");
|
|
98
|
-
|
|
182
|
+
const result = await waitAndFormat(hash);
|
|
183
|
+
if (result.status === "success") {
|
|
184
|
+
try {
|
|
185
|
+
const task = await sdk.getTask(BigInt(args.taskId || 0));
|
|
186
|
+
notifyAgent(task.worker, "task_completed", `Task #${args.taskId} verified and payment released`, Number(args.taskId));
|
|
187
|
+
}
|
|
188
|
+
catch { /* best-effort notification */ }
|
|
189
|
+
}
|
|
190
|
+
return formatTxResult(result);
|
|
99
191
|
}
|
|
100
192
|
if (action === "dispute") {
|
|
101
193
|
if (!args.confirm) {
|
|
@@ -110,19 +202,114 @@ export function registerTaskTools(server) {
|
|
|
110
202
|
const hash = await sdk.disputeTask(BigInt(args.taskId || 0));
|
|
111
203
|
return formatTxResult(await waitAndFormat(hash));
|
|
112
204
|
}
|
|
205
|
+
if (action === "submit_milestone") {
|
|
206
|
+
if (!args.confirm) {
|
|
207
|
+
return formatReadResult({
|
|
208
|
+
confirmationRequired: true,
|
|
209
|
+
action: "Submit milestone #" + args.milestoneIndex + " for task #" + args.taskId,
|
|
210
|
+
cost: "0 ETH (gas only)",
|
|
211
|
+
reason: "Commits your milestone deliverable on-chain",
|
|
212
|
+
toProceed: "Call corven_task again with confirm: true",
|
|
213
|
+
}, "CONFIRMATION REQUIRED");
|
|
214
|
+
}
|
|
215
|
+
const publicClient = getPublicClient();
|
|
216
|
+
const walletClient = (await import("../config.js")).getWalletClient();
|
|
217
|
+
if (!walletClient)
|
|
218
|
+
return formatError(new Error("Wallet required for submit_milestone"));
|
|
219
|
+
const hash = await walletClient.writeContract({
|
|
220
|
+
address: CONTRACTS.TaskEscrow,
|
|
221
|
+
abi: loadAbi("TaskEscrow"),
|
|
222
|
+
functionName: "submitMilestone",
|
|
223
|
+
args: [BigInt(args.taskId || 0), BigInt(args.milestoneIndex || 0), args.deliverableHash || ""],
|
|
224
|
+
chain: (await import("../config.js")).CHAIN,
|
|
225
|
+
account: (await import("../config.js")).getAccount(),
|
|
226
|
+
});
|
|
227
|
+
return formatTxResult(await waitAndFormat(hash));
|
|
228
|
+
}
|
|
229
|
+
if (action === "verify_milestone") {
|
|
230
|
+
if (!args.confirm) {
|
|
231
|
+
return formatReadResult({
|
|
232
|
+
confirmationRequired: true,
|
|
233
|
+
action: "Verify milestone #" + args.milestoneIndex + " for task #" + args.taskId,
|
|
234
|
+
cost: "ETH released from escrow for this milestone",
|
|
235
|
+
reason: "Approving releases milestone payment to worker",
|
|
236
|
+
toProceed: "Call corven_task again with confirm: true",
|
|
237
|
+
}, "CONFIRMATION REQUIRED");
|
|
238
|
+
}
|
|
239
|
+
const walletClient = (await import("../config.js")).getWalletClient();
|
|
240
|
+
if (!walletClient)
|
|
241
|
+
return formatError(new Error("Wallet required for verify_milestone"));
|
|
242
|
+
const hash = await walletClient.writeContract({
|
|
243
|
+
address: CONTRACTS.TaskEscrow,
|
|
244
|
+
abi: loadAbi("TaskEscrow"),
|
|
245
|
+
functionName: "verifyMilestone",
|
|
246
|
+
args: [BigInt(args.taskId || 0), BigInt(args.milestoneIndex || 0), args.success !== false],
|
|
247
|
+
chain: (await import("../config.js")).CHAIN,
|
|
248
|
+
account: (await import("../config.js")).getAccount(),
|
|
249
|
+
});
|
|
250
|
+
return formatTxResult(await waitAndFormat(hash));
|
|
251
|
+
}
|
|
113
252
|
if (action === "get") {
|
|
114
253
|
const task = await sdk.getTask(BigInt(args.taskId || 0));
|
|
115
|
-
|
|
254
|
+
const result = {
|
|
116
255
|
taskId: Number(task.taskId || args.taskId),
|
|
117
256
|
client: task.client,
|
|
118
257
|
worker: task.worker,
|
|
119
258
|
paymentEth: formatEther(task.payment),
|
|
120
259
|
status: TASK_STATUS[Number(task.status)] || "Unknown",
|
|
121
|
-
}
|
|
260
|
+
};
|
|
261
|
+
// Resolve descriptionHash from IPFS
|
|
262
|
+
const descHash = task.descriptionHash || "";
|
|
263
|
+
if (descHash && (isCid(descHash) || isUrl(descHash))) {
|
|
264
|
+
const resolved = await fetchIpfsContent(descHash);
|
|
265
|
+
if (resolved) {
|
|
266
|
+
result.descriptionHash = descHash;
|
|
267
|
+
result.description = resolved;
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
// Resolve deliverableHash from IPFS
|
|
271
|
+
const delHash = task.deliverableHash || "";
|
|
272
|
+
if (delHash && (isCid(delHash) || isUrl(delHash))) {
|
|
273
|
+
const resolved = await fetchIpfsContent(delHash);
|
|
274
|
+
if (resolved) {
|
|
275
|
+
result.deliverableHash = delHash;
|
|
276
|
+
result.deliverable = resolved;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
return formatReadResult(result, `Task #${args.taskId}`);
|
|
122
280
|
}
|
|
123
281
|
if (action === "list") {
|
|
124
|
-
const count = await sdk.getTaskCount();
|
|
125
|
-
|
|
282
|
+
const count = Number(await sdk.getTaskCount());
|
|
283
|
+
if (count === 0) {
|
|
284
|
+
return formatReadResult({ totalTasks: 0, tasks: [] }, "Task List");
|
|
285
|
+
}
|
|
286
|
+
const offset = args.offset || 0;
|
|
287
|
+
const limit = Math.min(args.limit || 10, 50);
|
|
288
|
+
const tasks = [];
|
|
289
|
+
const start = Math.max(0, count - 1 - offset);
|
|
290
|
+
const end = Math.max(0, start - limit);
|
|
291
|
+
for (let i = start; i >= end; i--) {
|
|
292
|
+
try {
|
|
293
|
+
const task = await sdk.getTask(BigInt(i));
|
|
294
|
+
tasks.push({
|
|
295
|
+
taskId: i,
|
|
296
|
+
client: task.client,
|
|
297
|
+
worker: task.worker,
|
|
298
|
+
paymentEth: formatEther(task.payment),
|
|
299
|
+
status: TASK_STATUS[Number(task.status)] || "Unknown",
|
|
300
|
+
});
|
|
301
|
+
}
|
|
302
|
+
catch {
|
|
303
|
+
continue;
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
return formatReadResult({
|
|
307
|
+
totalTasks: count,
|
|
308
|
+
offset,
|
|
309
|
+
limit,
|
|
310
|
+
returned: tasks.length,
|
|
311
|
+
tasks,
|
|
312
|
+
}, "Task List");
|
|
126
313
|
}
|
|
127
314
|
return formatReadResult({ error: "Unknown action" }, "Error");
|
|
128
315
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"corven-task.js","sourceRoot":"","sources":["../../src/tools/corven-task.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"corven-task.js","sourceRoot":"","sources":["../../src/tools/corven-task.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"corven-version.d.ts","sourceRoot":"","sources":["../../src/tools/corven-version.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA2CzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAgI5D"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* corven_version — Track, browse, and diff deliverable versions for tasks.
|
|
3
|
+
*/
|
|
4
|
+
import { z } from "zod";
|
|
5
|
+
import { loadStore, saveStore } from "../lib/store.js";
|
|
6
|
+
import { formatReadResult, formatError } from "../handlers/transactions.js";
|
|
7
|
+
const schema = z.object({
|
|
8
|
+
action: z
|
|
9
|
+
.enum(["track", "history", "diff"])
|
|
10
|
+
.describe("track: record a new version. history: list all versions for a task. diff: compare two versions."),
|
|
11
|
+
taskId: z.string().describe("Task ID"),
|
|
12
|
+
deliverableHash: z.string().optional().describe("IPFS CID or content hash of the deliverable (required for track)"),
|
|
13
|
+
version: z.string().optional().describe("Semantic version label, e.g. v1.0 (optional, auto-assigned if omitted)"),
|
|
14
|
+
description: z.string().optional().describe("Human-readable description of this version"),
|
|
15
|
+
confirm: z.boolean().optional().describe("Confirm overwrite if version label already exists"),
|
|
16
|
+
versionA: z.string().optional().describe("First version hash for diff"),
|
|
17
|
+
versionB: z.string().optional().describe("Second version hash for diff"),
|
|
18
|
+
});
|
|
19
|
+
function getVersions(taskId) {
|
|
20
|
+
const store = loadStore("deliverable_versions", []);
|
|
21
|
+
return store.find((v) => v.taskId === taskId) || { taskId, versions: [] };
|
|
22
|
+
}
|
|
23
|
+
function saveVersions(entry) {
|
|
24
|
+
const store = loadStore("deliverable_versions", []);
|
|
25
|
+
const idx = store.findIndex((v) => v.taskId === entry.taskId);
|
|
26
|
+
if (idx >= 0)
|
|
27
|
+
store[idx] = entry;
|
|
28
|
+
else
|
|
29
|
+
store.push(entry);
|
|
30
|
+
saveStore("deliverable_versions", store);
|
|
31
|
+
}
|
|
32
|
+
export function registerVersionTools(server) {
|
|
33
|
+
server.registerTool("corven_version", {
|
|
34
|
+
title: "Deliverable Version Tracking",
|
|
35
|
+
description: "Track, browse, and diff deliverable versions for tasks on COVENANT.\n\n" +
|
|
36
|
+
"ACTIONS:\n" +
|
|
37
|
+
" track — Record a new version for a task's deliverable\n" +
|
|
38
|
+
" history — List all recorded versions for a task\n" +
|
|
39
|
+
" diff — Compare two versions by hash and timestamp\n\n" +
|
|
40
|
+
"USE WHEN: A task deliverable has been updated and you need to version it,\n" +
|
|
41
|
+
"or when reviewing the version history of a deliverable.\n\n" +
|
|
42
|
+
"WORKFLOW: track each submission → history to review → diff to compare\n\n" +
|
|
43
|
+
"OUTPUT RULES:\n" +
|
|
44
|
+
"- Present results as clean, readable text. Never show raw JSON.\n" +
|
|
45
|
+
"- On error: Explain in plain language what went wrong and suggest next step.",
|
|
46
|
+
inputSchema: schema.shape,
|
|
47
|
+
}, async (args) => {
|
|
48
|
+
try {
|
|
49
|
+
const { action, taskId, deliverableHash, version, description, confirm, versionA, versionB } = args;
|
|
50
|
+
if (action === "track") {
|
|
51
|
+
if (!deliverableHash) {
|
|
52
|
+
return formatError(new Error("deliverableHash is required for track action"));
|
|
53
|
+
}
|
|
54
|
+
const entry = getVersions(taskId);
|
|
55
|
+
const versionLabel = version || `v${entry.versions.length + 1}.0`;
|
|
56
|
+
// Check for duplicate version label
|
|
57
|
+
const existing = entry.versions.find((v) => v.version === versionLabel);
|
|
58
|
+
if (existing && !confirm) {
|
|
59
|
+
return formatError(new Error(`Version "${versionLabel}" already exists (hash: ${existing.hash}). ` +
|
|
60
|
+
`Set confirm=true to overwrite, or provide a different version label.`));
|
|
61
|
+
}
|
|
62
|
+
const newVersion = {
|
|
63
|
+
hash: deliverableHash,
|
|
64
|
+
version: versionLabel,
|
|
65
|
+
description: description || "",
|
|
66
|
+
timestamp: Date.now(),
|
|
67
|
+
submittedBy: "current-agent",
|
|
68
|
+
};
|
|
69
|
+
if (existing) {
|
|
70
|
+
const idx = entry.versions.indexOf(existing);
|
|
71
|
+
entry.versions[idx] = newVersion;
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
entry.versions.push(newVersion);
|
|
75
|
+
}
|
|
76
|
+
saveVersions(entry);
|
|
77
|
+
return formatReadResult({
|
|
78
|
+
taskId,
|
|
79
|
+
version: versionLabel,
|
|
80
|
+
hash: deliverableHash,
|
|
81
|
+
totalVersions: entry.versions.length,
|
|
82
|
+
tracked: true,
|
|
83
|
+
}, `Version Tracked: ${versionLabel}`);
|
|
84
|
+
}
|
|
85
|
+
if (action === "history") {
|
|
86
|
+
const entry = getVersions(taskId);
|
|
87
|
+
if (entry.versions.length === 0) {
|
|
88
|
+
return formatReadResult({ taskId, versions: [], message: "No versions tracked for this task yet." }, `Version History: ${taskId}`);
|
|
89
|
+
}
|
|
90
|
+
return formatReadResult({
|
|
91
|
+
taskId,
|
|
92
|
+
totalVersions: entry.versions.length,
|
|
93
|
+
versions: entry.versions.map((v) => ({
|
|
94
|
+
version: v.version,
|
|
95
|
+
hash: v.hash,
|
|
96
|
+
description: v.description,
|
|
97
|
+
timestamp: new Date(v.timestamp).toISOString(),
|
|
98
|
+
})),
|
|
99
|
+
}, `Version History: ${taskId}`);
|
|
100
|
+
}
|
|
101
|
+
if (action === "diff") {
|
|
102
|
+
if (!versionA || !versionB) {
|
|
103
|
+
return formatError(new Error("Both versionA and versionB are required for diff action"));
|
|
104
|
+
}
|
|
105
|
+
const entry = getVersions(taskId);
|
|
106
|
+
const verA = entry.versions.find((v) => v.hash === versionA || v.version === versionA);
|
|
107
|
+
const verB = entry.versions.find((v) => v.hash === versionB || v.version === versionB);
|
|
108
|
+
if (!verA)
|
|
109
|
+
return formatError(new Error(`Version "${versionA}" not found for task ${taskId}`));
|
|
110
|
+
if (!verB)
|
|
111
|
+
return formatError(new Error(`Version "${versionB}" not found for task ${taskId}`));
|
|
112
|
+
const hashMatch = verA.hash === verB.hash;
|
|
113
|
+
const timeDiff = Math.abs(verA.timestamp - verB.timestamp);
|
|
114
|
+
return formatReadResult({
|
|
115
|
+
taskId,
|
|
116
|
+
versionA: { version: verA.version, hash: verA.hash, timestamp: new Date(verA.timestamp).toISOString(), description: verA.description },
|
|
117
|
+
versionB: { version: verB.version, hash: verB.hash, timestamp: new Date(verB.timestamp).toISOString(), description: verB.description },
|
|
118
|
+
identical: hashMatch,
|
|
119
|
+
timeBetween: `${Math.round(timeDiff / 1000)}s`,
|
|
120
|
+
}, `Diff: ${verA.version} vs ${verB.version}`);
|
|
121
|
+
}
|
|
122
|
+
return formatError(new Error(`Unknown action: ${action}`));
|
|
123
|
+
}
|
|
124
|
+
catch (e) {
|
|
125
|
+
return formatError(e instanceof Error ? e : new Error(String(e)));
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=corven-version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"corven-version.js","sourceRoot":"","sources":["../../src/tools/corven-version.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"disputes.d.ts","sourceRoot":"","sources":["../../src/tools/disputes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"disputes.d.ts","sourceRoot":"","sources":["../../src/tools/disputes.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA8BzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA0U5D"}
|