@varun-ai07/covenant-mcp 1.2.2 → 1.3.0
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 +128 -12
- package/dist/abis/MultiTokenEscrow.json +836 -0
- package/dist/abis/v2/AgentRegistry.json +872 -0
- package/dist/abis/v2/DisputeResolution.json +493 -0
- package/dist/abis/v2/InsurancePool.json +645 -0
- package/dist/abis/v2/ReceiptVerifier.json +394 -0
- package/dist/abis/v2/RevisionManager.json +544 -0
- package/dist/abis/v2/TaskEscrow.json +1018 -0
- package/dist/cli.js +0 -0
- package/dist/config.d.ts +13 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +84 -25
- package/dist/config.js.map +1 -1
- package/dist/handlers/wallet.d.ts.map +1 -1
- package/dist/handlers/wallet.js +1 -1
- package/dist/handlers/wallet.js.map +1 -1
- package/dist/lib/did.d.ts +72 -0
- package/dist/lib/did.d.ts.map +1 -0
- package/dist/lib/did.js +115 -0
- package/dist/lib/did.js.map +1 -0
- package/dist/lib/events.d.ts.map +1 -1
- package/dist/lib/events.js +2 -2
- package/dist/lib/events.js.map +1 -1
- package/dist/lib/formatResponse.d.ts +33 -0
- package/dist/lib/formatResponse.d.ts.map +1 -0
- package/dist/lib/formatResponse.js +92 -0
- package/dist/lib/formatResponse.js.map +1 -0
- package/dist/lib/schemaHelpers.d.ts +11 -0
- package/dist/lib/schemaHelpers.d.ts.map +1 -0
- package/dist/lib/schemaHelpers.js +11 -0
- package/dist/lib/schemaHelpers.js.map +1 -0
- package/dist/lib/store.d.ts +10 -0
- package/dist/lib/store.d.ts.map +1 -0
- package/dist/lib/store.js +39 -0
- package/dist/lib/store.js.map +1 -0
- package/dist/lib/verify.d.ts +21 -0
- package/dist/lib/verify.d.ts.map +1 -0
- package/dist/lib/verify.js +568 -0
- package/dist/lib/verify.js.map +1 -0
- package/dist/schemas.d.ts +5 -5
- package/dist/schemas.d.ts.map +1 -1
- package/dist/server.d.ts +1 -25
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +53 -37
- package/dist/server.js.map +1 -1
- package/dist/tools/account-abstraction.d.ts +3 -0
- package/dist/tools/account-abstraction.d.ts.map +1 -0
- package/dist/tools/account-abstraction.js +364 -0
- package/dist/tools/account-abstraction.js.map +1 -0
- package/dist/tools/batches.d.ts.map +1 -1
- package/dist/tools/batches.js +68 -37
- package/dist/tools/batches.js.map +1 -1
- package/dist/tools/bounties.d.ts +3 -0
- package/dist/tools/bounties.d.ts.map +1 -0
- package/dist/tools/bounties.js +304 -0
- package/dist/tools/bounties.js.map +1 -0
- package/dist/tools/bridge.d.ts +3 -0
- package/dist/tools/bridge.d.ts.map +1 -0
- package/dist/tools/bridge.js +190 -0
- package/dist/tools/bridge.js.map +1 -0
- package/dist/tools/collectives.d.ts.map +1 -1
- package/dist/tools/collectives.js +75 -48
- package/dist/tools/collectives.js.map +1 -1
- package/dist/tools/covenant-help.d.ts +3 -0
- package/dist/tools/covenant-help.d.ts.map +1 -0
- package/dist/tools/covenant-help.js +321 -0
- package/dist/tools/covenant-help.js.map +1 -0
- package/dist/tools/cross-chain.d.ts +3 -0
- package/dist/tools/cross-chain.d.ts.map +1 -0
- package/dist/tools/cross-chain.js +77 -0
- package/dist/tools/cross-chain.js.map +1 -0
- package/dist/tools/disputes.d.ts.map +1 -1
- package/dist/tools/disputes.js +39 -33
- package/dist/tools/disputes.js.map +1 -1
- package/dist/tools/escrow.d.ts.map +1 -1
- package/dist/tools/escrow.js +277 -202
- package/dist/tools/escrow.js.map +1 -1
- package/dist/tools/fiat-onramp.d.ts +3 -0
- package/dist/tools/fiat-onramp.d.ts.map +1 -0
- package/dist/tools/fiat-onramp.js +108 -0
- package/dist/tools/fiat-onramp.js.map +1 -0
- package/dist/tools/governance.d.ts +3 -0
- package/dist/tools/governance.d.ts.map +1 -0
- package/dist/tools/governance.js +271 -0
- package/dist/tools/governance.js.map +1 -0
- package/dist/tools/grants.d.ts +3 -0
- package/dist/tools/grants.d.ts.map +1 -0
- package/dist/tools/grants.js +269 -0
- package/dist/tools/grants.js.map +1 -0
- package/dist/tools/insurance.d.ts.map +1 -1
- package/dist/tools/insurance.js +92 -45
- package/dist/tools/insurance.js.map +1 -1
- package/dist/tools/market.d.ts.map +1 -1
- package/dist/tools/market.js +122 -103
- package/dist/tools/market.js.map +1 -1
- package/dist/tools/matching.d.ts +3 -0
- package/dist/tools/matching.d.ts.map +1 -0
- package/dist/tools/matching.js +233 -0
- package/dist/tools/matching.js.map +1 -0
- package/dist/tools/messaging.d.ts +3 -0
- package/dist/tools/messaging.d.ts.map +1 -0
- package/dist/tools/messaging.js +159 -0
- package/dist/tools/messaging.js.map +1 -0
- package/dist/tools/multi-token.d.ts +3 -0
- package/dist/tools/multi-token.d.ts.map +1 -0
- package/dist/tools/multi-token.js +274 -0
- package/dist/tools/multi-token.js.map +1 -0
- package/dist/tools/offchain-coordinator.d.ts +3 -0
- package/dist/tools/offchain-coordinator.d.ts.map +1 -0
- package/dist/tools/offchain-coordinator.js +436 -0
- package/dist/tools/offchain-coordinator.js.map +1 -0
- package/dist/tools/protocol.d.ts.map +1 -1
- package/dist/tools/protocol.js +19 -6
- package/dist/tools/protocol.js.map +1 -1
- package/dist/tools/receipts.d.ts.map +1 -1
- package/dist/tools/receipts.js +45 -22
- package/dist/tools/receipts.js.map +1 -1
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +90 -43
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/reputation-vc.d.ts +3 -0
- package/dist/tools/reputation-vc.d.ts.map +1 -0
- package/dist/tools/reputation-vc.js +438 -0
- package/dist/tools/reputation-vc.js.map +1 -0
- package/dist/tools/revisions.d.ts +3 -0
- package/dist/tools/revisions.d.ts.map +1 -0
- package/dist/tools/revisions.js +108 -0
- package/dist/tools/revisions.js.map +1 -0
- package/dist/tools/router.d.ts +3 -0
- package/dist/tools/router.d.ts.map +1 -0
- package/dist/tools/router.js +104 -0
- package/dist/tools/router.js.map +1 -0
- package/dist/tools/streaming.d.ts +3 -0
- package/dist/tools/streaming.d.ts.map +1 -0
- package/dist/tools/streaming.js +350 -0
- package/dist/tools/streaming.js.map +1 -0
- package/dist/tools/templates.d.ts +3 -0
- package/dist/tools/templates.d.ts.map +1 -0
- package/dist/tools/templates.js +392 -0
- package/dist/tools/templates.js.map +1 -0
- package/dist/tools/training.d.ts +3 -0
- package/dist/tools/training.d.ts.map +1 -0
- package/dist/tools/training.js +304 -0
- package/dist/tools/training.js.map +1 -0
- package/dist/tools/v2-settlement.d.ts +3 -0
- package/dist/tools/v2-settlement.d.ts.map +1 -0
- package/dist/tools/v2-settlement.js +226 -0
- package/dist/tools/v2-settlement.js.map +1 -0
- package/dist/tools/verification.d.ts +3 -0
- package/dist/tools/verification.d.ts.map +1 -0
- package/dist/tools/verification.js +215 -0
- package/dist/tools/verification.js.map +1 -0
- package/dist/tools/verify-deep.d.ts +3 -0
- package/dist/tools/verify-deep.d.ts.map +1 -0
- package/dist/tools/verify-deep.js +125 -0
- package/dist/tools/verify-deep.js.map +1 -0
- package/dist/types.d.ts +16 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +4 -23
- package/dist/types.js.map +1 -1
- package/dist/utils.d.ts +2 -3
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +8 -34
- package/dist/utils.js.map +1 -1
- package/package.json +3 -1
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cross-Chain Bridge MCP Tools
|
|
3
|
+
*
|
|
4
|
+
* corven_bridge_estimate — Estimate cross-chain bridge cost and time
|
|
5
|
+
* corven_bridge_status — Check status of a cross-chain bridge transaction
|
|
6
|
+
* corven_get_bridge_chains — List chains available for bridging
|
|
7
|
+
*/
|
|
8
|
+
import { z } from "zod";
|
|
9
|
+
import { formatReadResult } from "../handlers/transactions.js";
|
|
10
|
+
import { formatStructuredError, parseContractError } from "../lib/formatResponse.js";
|
|
11
|
+
const BRIDGE_CHAINS = [
|
|
12
|
+
{
|
|
13
|
+
chainId: 84532,
|
|
14
|
+
name: "Base Sepolia",
|
|
15
|
+
rpcUrl: "https://sepolia.base.org",
|
|
16
|
+
explorerUrl: "https://sepolia.basescan.org",
|
|
17
|
+
bridgeUrl: "https://sepolia-bridge.base.org",
|
|
18
|
+
estimatedTime: "~2 minutes",
|
|
19
|
+
nativeToken: "ETH",
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
chainId: 8453,
|
|
23
|
+
name: "Base Mainnet",
|
|
24
|
+
rpcUrl: "https://mainnet.base.org",
|
|
25
|
+
explorerUrl: "https://basescan.org",
|
|
26
|
+
bridgeUrl: "https://bridge.base.org",
|
|
27
|
+
estimatedTime: "~2 minutes",
|
|
28
|
+
nativeToken: "ETH",
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
chainId: 137,
|
|
32
|
+
name: "Polygon",
|
|
33
|
+
rpcUrl: "https://polygon-rpc.com",
|
|
34
|
+
explorerUrl: "https://polygonscan.com",
|
|
35
|
+
bridgeUrl: "https://portal.polygon.technology/bridge",
|
|
36
|
+
estimatedTime: "~7 minutes",
|
|
37
|
+
nativeToken: "MATIC",
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
chainId: 42161,
|
|
41
|
+
name: "Arbitrum One",
|
|
42
|
+
rpcUrl: "https://arb1.arbitrum.io/rpc",
|
|
43
|
+
explorerUrl: "https://arbiscan.io",
|
|
44
|
+
bridgeUrl: "https://bridge.arbitrum.io",
|
|
45
|
+
estimatedTime: "~10 minutes",
|
|
46
|
+
nativeToken: "ETH",
|
|
47
|
+
},
|
|
48
|
+
];
|
|
49
|
+
function findChain(chainId) {
|
|
50
|
+
return BRIDGE_CHAINS.find((c) => c.chainId === chainId);
|
|
51
|
+
}
|
|
52
|
+
// ─── Tool Registration ─────────────────────────────────────────────
|
|
53
|
+
export function registerBridgeTools(server) {
|
|
54
|
+
// ──────────────────────────────────────────────────────────────
|
|
55
|
+
// corven_bridge_estimate
|
|
56
|
+
// ──────────────────────────────────────────────────────────────
|
|
57
|
+
server.registerTool("corven_bridge_estimate", {
|
|
58
|
+
title: "Estimate Cross-Chain Bridge",
|
|
59
|
+
description: "Estimate the cost and time for bridging assets between supported chains.\n" +
|
|
60
|
+
"USE WHEN: Planning a cross-chain transfer, comparing bridge options, or budgeting for gas fees.\n" +
|
|
61
|
+
"REQUIRES: Source chain ID, destination chain ID, and the amount to bridge.\n" +
|
|
62
|
+
"RETURNS: Estimated bridge time, bridge URL, gas estimates, and route notes.\n" +
|
|
63
|
+
"NOTE: Estimates are approximations. For production, integrate with LiFi or Socket API for real quotes.",
|
|
64
|
+
inputSchema: {
|
|
65
|
+
fromChain: z.number().describe("Source chain ID (e.g., 84532 for Base Sepolia, 8453 for Base Mainnet)"),
|
|
66
|
+
toChain: z.number().describe("Destination chain ID (e.g., 137 for Polygon, 42161 for Arbitrum One)"),
|
|
67
|
+
amount: z.string().describe("Amount to bridge in native token (e.g., '0.1' for 0.1 ETH)"),
|
|
68
|
+
},
|
|
69
|
+
}, async (params) => {
|
|
70
|
+
try {
|
|
71
|
+
const { fromChain, toChain, amount } = params;
|
|
72
|
+
const from = findChain(fromChain);
|
|
73
|
+
const to = findChain(toChain);
|
|
74
|
+
const errors = [];
|
|
75
|
+
if (!from)
|
|
76
|
+
errors.push(`Source chain ${fromChain} is not supported.`);
|
|
77
|
+
if (!to)
|
|
78
|
+
errors.push(`Destination chain ${toChain} is not supported.`);
|
|
79
|
+
if (fromChain === toChain)
|
|
80
|
+
errors.push("Source and destination chains must be different.");
|
|
81
|
+
if (errors.length > 0) {
|
|
82
|
+
return formatReadResult({
|
|
83
|
+
error: errors.join(" "),
|
|
84
|
+
supportedChains: BRIDGE_CHAINS.map((c) => ({ chainId: c.chainId, name: c.name })),
|
|
85
|
+
}, "Bridge Estimate Error");
|
|
86
|
+
}
|
|
87
|
+
const estimatedMinutes = from.chainId === 84532 || from.chainId === 8453 ? 2 : from.chainId === 137 ? 7 : 10;
|
|
88
|
+
const destMinutes = to.chainId === 84532 || to.chainId === 8453 ? 2 : to.chainId === 137 ? 7 : 10;
|
|
89
|
+
const totalTime = `${Math.max(estimatedMinutes, destMinutes)}-${Math.max(estimatedMinutes, destMinutes) + 3} minutes`;
|
|
90
|
+
const queryParams = new URLSearchParams({
|
|
91
|
+
from_chain: String(fromChain),
|
|
92
|
+
to_chain: String(toChain),
|
|
93
|
+
amount,
|
|
94
|
+
token: from.nativeToken,
|
|
95
|
+
});
|
|
96
|
+
const bridgeUrl = `${from.bridgeUrl}?${queryParams.toString()}`;
|
|
97
|
+
return formatReadResult({
|
|
98
|
+
from: { chainId: fromChain, name: from.name, nativeToken: from.nativeToken },
|
|
99
|
+
to: { chainId: toChain, name: to.name, nativeToken: to.nativeToken },
|
|
100
|
+
amount,
|
|
101
|
+
estimated_time: totalTime,
|
|
102
|
+
bridge_url: bridgeUrl,
|
|
103
|
+
explorer_from: from.explorerUrl,
|
|
104
|
+
explorer_to: to.explorerUrl,
|
|
105
|
+
notes: [
|
|
106
|
+
"Estimates based on typical bridge latency for each route.",
|
|
107
|
+
"Actual fees depend on network congestion and bridge provider fees.",
|
|
108
|
+
"For production quotes, integrate LiFi or Socket API.",
|
|
109
|
+
],
|
|
110
|
+
}, `Bridge Estimate: ${from.name} -> ${to.name}`);
|
|
111
|
+
}
|
|
112
|
+
catch (e) {
|
|
113
|
+
const parsed = parseContractError(e);
|
|
114
|
+
return formatStructuredError(parsed.error, parsed.cause, parsed.fix, parsed.retryable);
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
// ──────────────────────────────────────────────────────────────
|
|
118
|
+
// corven_bridge_status
|
|
119
|
+
// ──────────────────────────────────────────────────────────────
|
|
120
|
+
server.registerTool("corven_bridge_status", {
|
|
121
|
+
title: "Check Bridge Transaction Status",
|
|
122
|
+
description: "Check the status of a cross-chain bridge transaction by its source chain tx hash.\n" +
|
|
123
|
+
"USE WHEN: Monitoring a pending bridge, verifying arrival on destination chain, or debugging a stuck bridge.\n" +
|
|
124
|
+
"REQUIRES: The transaction hash on the source chain and the source chain ID.\n" +
|
|
125
|
+
"RETURNS: Transaction status, explorer links for source and destination chains, and estimated completion.\n" +
|
|
126
|
+
"NOTE: For production, query LayerZero or CCIP relayer APIs. Status here is informational.",
|
|
127
|
+
inputSchema: {
|
|
128
|
+
txHash: z.string().describe("Transaction hash of the bridge on the source chain"),
|
|
129
|
+
fromChain: z.number().describe("Chain ID where the bridge transaction was initiated"),
|
|
130
|
+
},
|
|
131
|
+
}, async (params) => {
|
|
132
|
+
try {
|
|
133
|
+
const { txHash, fromChain } = params;
|
|
134
|
+
const from = findChain(fromChain);
|
|
135
|
+
if (!from) {
|
|
136
|
+
return formatReadResult({
|
|
137
|
+
error: `Chain ID ${fromChain} is not supported.`,
|
|
138
|
+
supportedChains: BRIDGE_CHAINS.map((c) => ({ chainId: c.chainId, name: c.name })),
|
|
139
|
+
}, "Bridge Status Error");
|
|
140
|
+
}
|
|
141
|
+
return formatReadResult({
|
|
142
|
+
tx_hash: txHash,
|
|
143
|
+
source_chain: { chainId: fromChain, name: from.name },
|
|
144
|
+
status: "pending_review",
|
|
145
|
+
source_explorer: `${from.explorerUrl}/tx/${txHash}`,
|
|
146
|
+
notes: [
|
|
147
|
+
"Status tracking is informational in this version.",
|
|
148
|
+
"Check the source explorer link above for on-chain confirmation.",
|
|
149
|
+
"For production, integrate with LayerZero relayer API or Chainlink CCIP.",
|
|
150
|
+
`Bridge from ${from.name} typically completes in ${from.estimatedTime}.`,
|
|
151
|
+
],
|
|
152
|
+
}, `Bridge Status: ${txHash.slice(0, 10)}...`);
|
|
153
|
+
}
|
|
154
|
+
catch (e) {
|
|
155
|
+
const parsed = parseContractError(e);
|
|
156
|
+
return formatStructuredError(parsed.error, parsed.cause, parsed.fix, parsed.retryable);
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
// ──────────────────────────────────────────────────────────────
|
|
160
|
+
// corven_get_bridge_chains
|
|
161
|
+
// ──────────────────────────────────────────────────────────────
|
|
162
|
+
server.registerTool("corven_get_bridge_chains", {
|
|
163
|
+
title: "List Bridge-Supported Chains",
|
|
164
|
+
description: "List all chains available for cross-chain bridging in the COVENANT protocol.\n" +
|
|
165
|
+
"USE WHEN: Discovering which chains support bridging, planning cross-chain routes, or checking bridge URLs.\n" +
|
|
166
|
+
"REQUIRES: Nothing. Free read-only call.\n" +
|
|
167
|
+
"RETURNS: Chain ID, name, native token, estimated bridge time, RPC URL, explorer URL, and bridge URL for each chain.",
|
|
168
|
+
inputSchema: {},
|
|
169
|
+
}, async () => {
|
|
170
|
+
try {
|
|
171
|
+
return formatReadResult({
|
|
172
|
+
totalChains: BRIDGE_CHAINS.length,
|
|
173
|
+
chains: BRIDGE_CHAINS.map((c) => ({
|
|
174
|
+
chainId: c.chainId,
|
|
175
|
+
name: c.name,
|
|
176
|
+
nativeToken: c.nativeToken,
|
|
177
|
+
estimatedTime: c.estimatedTime,
|
|
178
|
+
rpcUrl: c.rpcUrl,
|
|
179
|
+
explorerUrl: c.explorerUrl,
|
|
180
|
+
bridgeUrl: c.bridgeUrl,
|
|
181
|
+
})),
|
|
182
|
+
}, "Bridge-Supported Chains");
|
|
183
|
+
}
|
|
184
|
+
catch (e) {
|
|
185
|
+
const parsed = parseContractError(e);
|
|
186
|
+
return formatStructuredError(parsed.error, parsed.cause, parsed.fix, parsed.retryable);
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
//# sourceMappingURL=bridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/tools/bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collectives.d.ts","sourceRoot":"","sources":["../../src/tools/collectives.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"collectives.d.ts","sourceRoot":"","sources":["../../src/tools/collectives.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAwBzE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAgR/D"}
|
|
@@ -11,6 +11,8 @@ import { parseEther, formatEther, isAddress } from "viem";
|
|
|
11
11
|
import { loadAbi, CONTRACTS, getAccount } from "../config.js";
|
|
12
12
|
import { executeOrPrepare, readContract } from "../handlers/wallet.js";
|
|
13
13
|
import { formatTxResult, formatReadResult, formatError } from "../handlers/transactions.js";
|
|
14
|
+
import { parseContractError, formatStructuredError } from "../lib/formatResponse.js";
|
|
15
|
+
import { taskId as taskIdSchema, ethAddress, ethAmount, ipfsCid, unixDeadline } from "../lib/schemaHelpers.js";
|
|
14
16
|
import { stringToBytes32, stringsToBytes32 } from "../utils.js";
|
|
15
17
|
const ABI = loadAbi("AgentCollective");
|
|
16
18
|
// Input validation schemas
|
|
@@ -36,13 +38,17 @@ export function registerCollectiveTools(server) {
|
|
|
36
38
|
// ──────────────────────────────────────────────────────────────
|
|
37
39
|
server.registerTool("corven_create_collective", {
|
|
38
40
|
title: "Create Agent Collective",
|
|
39
|
-
description: "Create a new collective of agents that pool resources. " +
|
|
40
|
-
"
|
|
41
|
-
"You must
|
|
41
|
+
description: "Create a new collective of agents that pool resources. Collectives can launch tasks and share proceeds. You must send at least minContribution ETH as your initial stake.\n" +
|
|
42
|
+
"USE WHEN: You want to form a group of agents to collaborate on tasks and pool funds for shared operations.\n" +
|
|
43
|
+
"REQUIRES: You must be a registered agent. Your wallet must have enough ETH for the initial contribution plus gas.\n" +
|
|
44
|
+
"RETURNS: Transaction hash. The collective ID is emitted in the event logs.\n" +
|
|
45
|
+
"COMES AFTER: corven_register_agent (you must be registered first).\n" +
|
|
46
|
+
"COMES BEFORE: corven_join_collective (others can join), corven_launch_collective_task (launch tasks from pooled funds).\n" +
|
|
47
|
+
"NOTE: maxMembers is permanent and cannot be changed after creation. initialContribution defaults to minContribution if omitted.",
|
|
42
48
|
inputSchema: {
|
|
43
|
-
minContribution:
|
|
49
|
+
minContribution: ethAmount,
|
|
44
50
|
maxMembers: z.number().describe("Maximum number of members (2-100)"),
|
|
45
|
-
initialContribution:
|
|
51
|
+
initialContribution: ethAmount.optional(),
|
|
46
52
|
},
|
|
47
53
|
}, async ({ minContribution, maxMembers, initialContribution }) => {
|
|
48
54
|
try {
|
|
@@ -62,7 +68,8 @@ export function registerCollectiveTools(server) {
|
|
|
62
68
|
return formatTxResult(result);
|
|
63
69
|
}
|
|
64
70
|
catch (e) {
|
|
65
|
-
|
|
71
|
+
const parsed = parseContractError(e);
|
|
72
|
+
return formatStructuredError(parsed.error, parsed.cause, parsed.fix, parsed.retryable);
|
|
66
73
|
}
|
|
67
74
|
});
|
|
68
75
|
// ──────────────────────────────────────────────────────────────
|
|
@@ -70,11 +77,16 @@ export function registerCollectiveTools(server) {
|
|
|
70
77
|
// ──────────────────────────────────────────────────────────────
|
|
71
78
|
server.registerTool("corven_join_collective", {
|
|
72
79
|
title: "Join Collective",
|
|
73
|
-
description: "Join an existing collective by contributing ETH. " +
|
|
74
|
-
"
|
|
80
|
+
description: "Join an existing collective by contributing ETH. Contribution must meet the collective's minimum.\n" +
|
|
81
|
+
"USE WHEN: You want to become a member of an existing collective to participate in pooled tasks.\n" +
|
|
82
|
+
"REQUIRES: The collective must exist and not be full. Your contribution must meet the collective's minimum.\n" +
|
|
83
|
+
"RETURNS: Transaction hash confirming your membership.\n" +
|
|
84
|
+
"COMES AFTER: corven_create_collective created the collective, or corven_get_collective to find one to join.\n" +
|
|
85
|
+
"COMES BEFORE: corven_launch_collective_task (as a member, you can launch tasks from pooled funds).\n" +
|
|
86
|
+
"NOTE: Your ETH is added to the collective's pooled treasury.",
|
|
75
87
|
inputSchema: {
|
|
76
|
-
collectiveId: z.number().describe("
|
|
77
|
-
contribution:
|
|
88
|
+
collectiveId: z.number().describe("Numeric collective ID to join"),
|
|
89
|
+
contribution: ethAmount,
|
|
78
90
|
},
|
|
79
91
|
}, async ({ collectiveId, contribution }) => {
|
|
80
92
|
try {
|
|
@@ -91,7 +103,8 @@ export function registerCollectiveTools(server) {
|
|
|
91
103
|
return formatTxResult(result);
|
|
92
104
|
}
|
|
93
105
|
catch (e) {
|
|
94
|
-
|
|
106
|
+
const parsed = parseContractError(e);
|
|
107
|
+
return formatStructuredError(parsed.error, parsed.cause, parsed.fix, parsed.retryable);
|
|
95
108
|
}
|
|
96
109
|
});
|
|
97
110
|
// ──────────────────────────────────────────────────────────────
|
|
@@ -99,14 +112,19 @@ export function registerCollectiveTools(server) {
|
|
|
99
112
|
// ──────────────────────────────────────────────────────────────
|
|
100
113
|
server.registerTool("corven_launch_collective_task", {
|
|
101
114
|
title: "Launch Collective Task",
|
|
102
|
-
description: "Launch a task from a collective's pooled funds. " +
|
|
103
|
-
"
|
|
115
|
+
description: "Launch a task from a collective's pooled funds. Only collective members can call this.\n" +
|
|
116
|
+
"USE WHEN: The collective has decided to commission work from a specific worker using pooled treasury funds.\n" +
|
|
117
|
+
"REQUIRES: You must be a member of the collective. The collective must have enough pooled ETH for the payment.\n" +
|
|
118
|
+
"RETURNS: Transaction hash. The task ID is emitted in the event logs.\n" +
|
|
119
|
+
"COMES AFTER: corven_create_collective and corven_join_collective built the treasury.\n" +
|
|
120
|
+
"COMES BEFORE: corven_submit_work (worker delivers), corven_submit_deliverable (encrypted delivery to all members).\n" +
|
|
121
|
+
"NOTE: The payment comes from the collective treasury, not your personal wallet.",
|
|
104
122
|
inputSchema: {
|
|
105
|
-
collectiveId: z.number().describe("
|
|
106
|
-
workerAddress:
|
|
107
|
-
payment:
|
|
108
|
-
deadline:
|
|
109
|
-
descriptionHash:
|
|
123
|
+
collectiveId: z.number().describe("Numeric collective ID"),
|
|
124
|
+
workerAddress: ethAddress,
|
|
125
|
+
payment: ethAmount,
|
|
126
|
+
deadline: unixDeadline,
|
|
127
|
+
descriptionHash: ipfsCid,
|
|
110
128
|
},
|
|
111
129
|
}, async ({ collectiveId, workerAddress, payment, deadline, descriptionHash }) => {
|
|
112
130
|
try {
|
|
@@ -130,58 +148,59 @@ export function registerCollectiveTools(server) {
|
|
|
130
148
|
return formatTxResult(result);
|
|
131
149
|
}
|
|
132
150
|
catch (e) {
|
|
133
|
-
|
|
151
|
+
const parsed = parseContractError(e);
|
|
152
|
+
return formatStructuredError(parsed.error, parsed.cause, parsed.fix, parsed.retryable);
|
|
134
153
|
}
|
|
135
154
|
});
|
|
136
155
|
// ──────────────────────────────────────────────────────────────
|
|
137
156
|
// get_collective
|
|
138
157
|
// ──────────────────────────────────────────────────────────────
|
|
139
158
|
server.registerTool("corven_get_collective", {
|
|
140
|
-
title: "Get Collective
|
|
141
|
-
description: "
|
|
159
|
+
title: "Get Collective",
|
|
160
|
+
description: "Get collective details by ID, or total collective count if no ID provided.\n" +
|
|
161
|
+
"USE WHEN: You need to inspect a collective's members, treasury balance, or status.\n" +
|
|
162
|
+
"REQUIRES: The collective must exist on-chain.\n" +
|
|
163
|
+
"RETURNS: Collective details including creator, members, total fund, max members, and minimum contribution. If no ID provided, returns total collective count.\n" +
|
|
164
|
+
"COMES AFTER: corven_create_collective created the collective.\n" +
|
|
165
|
+
"COMES BEFORE: corven_join_collective (to join) or corven_launch_collective_task (to use funds).\n" +
|
|
166
|
+
"NOTE: Omit collectiveId to get the total number of collectives.",
|
|
142
167
|
inputSchema: {
|
|
143
|
-
collectiveId: z.number().describe("Collective ID"),
|
|
168
|
+
collectiveId: z.number().optional().describe("Collective ID. Omit to get total count."),
|
|
144
169
|
},
|
|
145
170
|
}, async ({ collectiveId }) => {
|
|
146
171
|
try {
|
|
172
|
+
if (collectiveId === undefined) {
|
|
173
|
+
const count = await readContract(CONTRACTS.AgentCollective, ABI, "collectiveCounter", []);
|
|
174
|
+
return formatReadResult({ collectiveCount: Number(count) }, "Total Collectives");
|
|
175
|
+
}
|
|
147
176
|
const data = await readContract(CONTRACTS.AgentCollective, ABI, "getCollective", [BigInt(collectiveId)]);
|
|
148
177
|
const enriched = {
|
|
149
178
|
...data,
|
|
150
|
-
|
|
151
|
-
treasuryEth: formatEther(data.treasury),
|
|
179
|
+
totalFundEth: formatEther(data.totalFund),
|
|
152
180
|
};
|
|
153
181
|
return formatReadResult(enriched, `Collective #${collectiveId}`);
|
|
154
182
|
}
|
|
155
183
|
catch (e) {
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
});
|
|
159
|
-
// ──────────────────────────────────────────────────────────────
|
|
160
|
-
// get_collective_counter
|
|
161
|
-
// ──────────────────────────────────────────────────────────────
|
|
162
|
-
server.registerTool("corven_get_collective_counter", {
|
|
163
|
-
title: "Get Collective Counter",
|
|
164
|
-
description: "Get the total number of collectives created.",
|
|
165
|
-
inputSchema: {},
|
|
166
|
-
}, async () => {
|
|
167
|
-
try {
|
|
168
|
-
const count = await readContract(CONTRACTS.AgentCollective, ABI, "collectiveCounter", []);
|
|
169
|
-
return formatReadResult({ count: Number(count) }, "Collective Counter");
|
|
170
|
-
}
|
|
171
|
-
catch (e) {
|
|
172
|
-
return formatError(e);
|
|
184
|
+
const parsed = parseContractError(e);
|
|
185
|
+
return formatStructuredError(parsed.error, parsed.cause, parsed.fix, parsed.retryable);
|
|
173
186
|
}
|
|
174
187
|
});
|
|
188
|
+
// get_collective_counter merged into get_collective
|
|
175
189
|
// ──────────────────────────────────────────────────────────────
|
|
176
190
|
// corven_submit_deliverable
|
|
177
191
|
// ──────────────────────────────────────────────────────────────
|
|
178
192
|
server.registerTool("corven_submit_deliverable", {
|
|
179
193
|
title: "Submit Collective Deliverable",
|
|
180
|
-
description: "Worker submits encrypted deliverables to a collective task. " +
|
|
181
|
-
"
|
|
194
|
+
description: "Worker submits encrypted deliverables to a collective task. Each member receives their own encrypted copy.\n" +
|
|
195
|
+
"USE WHEN: You are the assigned worker on a collective task and have completed the work.\n" +
|
|
196
|
+
"REQUIRES: You must be the assigned worker for this task. The task must be in InProgress status.\n" +
|
|
197
|
+
"RETURNS: Transaction hash confirming deliverable submission.\n" +
|
|
198
|
+
"COMES AFTER: corven_launch_collective_task assigned you the work.\n" +
|
|
199
|
+
"COMES BEFORE: corven_claim_deliverable (each member claims their encrypted copy).\n" +
|
|
200
|
+
"NOTE: You must provide one encrypted hash per collective member, in the same order as the member list.",
|
|
182
201
|
inputSchema: {
|
|
183
|
-
collectiveId: z.number().describe("
|
|
184
|
-
taskId:
|
|
202
|
+
collectiveId: z.number().describe("Numeric collective ID"),
|
|
203
|
+
taskId: taskIdSchema,
|
|
185
204
|
encryptedDeliveryHashes: z.array(z.string()).describe("Array of encrypted delivery hashes (one per member, will be converted to bytes32)"),
|
|
186
205
|
},
|
|
187
206
|
}, async ({ collectiveId, taskId, encryptedDeliveryHashes }) => {
|
|
@@ -194,7 +213,8 @@ export function registerCollectiveTools(server) {
|
|
|
194
213
|
return formatTxResult(result);
|
|
195
214
|
}
|
|
196
215
|
catch (e) {
|
|
197
|
-
|
|
216
|
+
const parsed = parseContractError(e);
|
|
217
|
+
return formatStructuredError(parsed.error, parsed.cause, parsed.fix, parsed.retryable);
|
|
198
218
|
}
|
|
199
219
|
});
|
|
200
220
|
// ──────────────────────────────────────────────────────────────
|
|
@@ -202,7 +222,13 @@ export function registerCollectiveTools(server) {
|
|
|
202
222
|
// ──────────────────────────────────────────────────────────────
|
|
203
223
|
server.registerTool("corven_claim_deliverable", {
|
|
204
224
|
title: "Claim Collective Deliverable",
|
|
205
|
-
description: "Claim your encrypted deliverable from a collective task
|
|
225
|
+
description: "Claim your encrypted deliverable from a collective task.\n" +
|
|
226
|
+
"USE WHEN: You are a collective member and the worker has submitted deliverables for a task.\n" +
|
|
227
|
+
"REQUIRES: You must be a member of the collective. The worker must have already called corven_submit_deliverable.\n" +
|
|
228
|
+
"RETURNS: Transaction hash. Your encrypted deliverable is returned in the event logs.\n" +
|
|
229
|
+
"COMES AFTER: corven_submit_deliverable was called by the worker.\n" +
|
|
230
|
+
"COMES BEFORE: Decrypt the deliverable with your private key to view the content.\n" +
|
|
231
|
+
"NOTE: Each member receives a uniquely encrypted copy — only you can decrypt yours.",
|
|
206
232
|
inputSchema: {
|
|
207
233
|
collectiveId: z.number().describe("Collective ID"),
|
|
208
234
|
},
|
|
@@ -215,7 +241,8 @@ export function registerCollectiveTools(server) {
|
|
|
215
241
|
return formatTxResult(result);
|
|
216
242
|
}
|
|
217
243
|
catch (e) {
|
|
218
|
-
|
|
244
|
+
const parsed = parseContractError(e);
|
|
245
|
+
return formatStructuredError(parsed.error, parsed.cause, parsed.fix, parsed.retryable);
|
|
219
246
|
}
|
|
220
247
|
});
|
|
221
248
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collectives.js","sourceRoot":"","sources":["../../src/tools/collectives.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,WAAW,EAAgB,SAAS,EAAE,MAAM,MAAM,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC5F,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAGhE,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEvC,2BAA2B;AAC3B,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,oBAAoB,CAAC;IACtE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAC5C,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,oBAAoB,CAAC,CAAC,QAAQ,EAAE;CACtF,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACzC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,oBAAoB,CAAC;CACpE,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACzC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,wBAAwB,EAAE,CAAC;IAClF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,oBAAoB,CAAC;IAC9D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACrC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;CAC5C,CAAC,CAAC;AAEH,MAAM,UAAU,uBAAuB,CAAC,MAAiB;IACvD,iEAAiE;IACjE,oBAAoB;IACpB,iEAAiE;IACjE,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B;QACE,KAAK,EAAE,yBAAyB;QAChC,WAAW,EACT,
|
|
1
|
+
{"version":3,"file":"collectives.js","sourceRoot":"","sources":["../../src/tools/collectives.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"covenant-help.d.ts","sourceRoot":"","sources":["../../src/tools/covenant-help.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAiWjE"}
|