@varun-ai07/covenant-mcp 2.0.0 → 2.0.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 (54) hide show
  1. package/README.md +58 -2017
  2. package/dist/abis/AgentCollective.json +93 -274
  3. package/dist/abis/COVENANTRouter.json +206 -173
  4. package/dist/abis/CovenantArbitration.json +546 -0
  5. package/dist/abis/CovenantAttestation.json +476 -0
  6. package/dist/abis/CovenantEscrow.json +783 -0
  7. package/dist/abis/CovenantGovernance.json +729 -0
  8. package/dist/abis/CovenantIdentity.json +800 -0
  9. package/dist/abis/CovenantSettlement.json +609 -0
  10. package/dist/abis/GrantProgram.json +66 -471
  11. package/dist/abis/InsurancePool.json +456 -0
  12. package/dist/abis/MultiTokenEscrow.json +435 -836
  13. package/dist/abis/ParallelTaskBatch.json +160 -170
  14. package/dist/abis/RevisionManager.json +79 -134
  15. package/dist/abis/TrainingMarketplace.json +52 -482
  16. package/dist/config.d.ts +6 -20
  17. package/dist/config.d.ts.map +1 -1
  18. package/dist/config.js +60 -41
  19. package/dist/config.js.map +1 -1
  20. package/dist/lib/sqlite-store.d.ts +13 -0
  21. package/dist/lib/sqlite-store.d.ts.map +1 -0
  22. package/dist/lib/sqlite-store.js +71 -0
  23. package/dist/lib/sqlite-store.js.map +1 -0
  24. package/dist/lib/store.d.ts +2 -3
  25. package/dist/lib/store.d.ts.map +1 -1
  26. package/dist/lib/store.js +35 -9
  27. package/dist/lib/store.js.map +1 -1
  28. package/dist/server.d.ts.map +1 -1
  29. package/dist/server.js +3 -1
  30. package/dist/server.js.map +1 -1
  31. package/dist/shared-types.d.ts +19 -12
  32. package/dist/shared-types.d.ts.map +1 -1
  33. package/dist/shared-types.js +27 -17
  34. package/dist/shared-types.js.map +1 -1
  35. package/dist/tools/corven-agent.d.ts.map +1 -1
  36. package/dist/tools/corven-agent.js +31 -37
  37. package/dist/tools/corven-agent.js.map +1 -1
  38. package/dist/tools/corven-ipfs.d.ts +3 -0
  39. package/dist/tools/corven-ipfs.d.ts.map +1 -0
  40. package/dist/tools/corven-ipfs.js +69 -0
  41. package/dist/tools/corven-ipfs.js.map +1 -0
  42. package/dist/tools/corven-market.d.ts.map +1 -1
  43. package/dist/tools/corven-market.js +36 -74
  44. package/dist/tools/corven-market.js.map +1 -1
  45. package/dist/tools/corven-task.d.ts.map +1 -1
  46. package/dist/tools/corven-task.js +39 -55
  47. package/dist/tools/corven-task.js.map +1 -1
  48. package/dist/tools/corven-verify.d.ts.map +1 -1
  49. package/dist/tools/corven-verify.js +102 -132
  50. package/dist/tools/corven-verify.js.map +1 -1
  51. package/dist/tools/covenant-help.d.ts.map +1 -1
  52. package/dist/tools/covenant-help.js +23 -34
  53. package/dist/tools/covenant-help.js.map +1 -1
  54. package/package.json +4 -1
@@ -24,32 +24,42 @@ export const RECEIPT_TYPE = {
24
24
  };
25
25
  export const ZERO_ADDRESS = "0x0000000000000000000000000000000000000000";
26
26
  export const BASE_SEPOLIA_ADDRESSES = {
27
- AgentRegistry: "0xB215589dA259A98eEE8BF39739F6255131ac33A1",
28
- TaskEscrow: "0xFD081B5cB8bAE37DC878078bE3165932b0bC0BB3",
29
- ReceiptVerifier: "0xa47D15099be6aC516B53a6859D468E9004eEf76b",
30
- OpenTaskMarket: "0x5ccF09469222E5046b0830c6d71ed6B912bE70e6",
31
- ParallelTaskBatch: "0xaf23D40668f0e33426824Bf2027A0E9cD26c11Bc",
32
- AgentCollective: "0x0CDE9560D2E95338922c40A52A2c81cdd20613d1",
33
- AgentInsurance: "0x1798d370e3C566001A84F38EbDc0F6F1Db6bdd55",
34
- DisputeArbitration: "0x37A62C6eDd18461CCe00B6772Da8640C75DE740e",
35
- Groth16VerifierCapability: "0xd7108ed5C8577B30f6FC024319ebE8B380DaAb85",
27
+ // V5 Core (NEW)
28
+ CovenantIdentity: "0x623ff6F56754fb4CB4d60e46FF1F4AA3f34A5aAA",
29
+ CovenantEscrow: "0x259338371e67cA712F22A95cb8b616f3926b0E4D",
30
+ CovenantSettlement: "0xF8deBc17DE3B5D501307166EA40FC2C460997B2D",
31
+ CovenantArbitration: "0x5b8CcBd735DA802e6B81a49b78BdA5A29159926f",
32
+ CovenantAttestation: "0x9B314674cb8C3123a6e80832b8A56C28C2e58490",
33
+ CovenantGovernance: "0x6e7Be799ba629289eC675f19bbB8f0029E719E73",
34
+ // V5 Extensions (NEW)
35
+ ParallelTaskBatch: "0xaE8C7897ED19A38B416b7B32E58F820d8D5Cd5D8",
36
+ AgentCollective: "0xfc5E4f36e7477F744D1d99dEf13caC02e1C0f9cE",
37
+ MultiTokenEscrow: "0x1930240Ab0c6D6a2d42733a4715067F355761DC1",
38
+ COVENANTRouter: "0xD139a54CcE4d34ebD893E47d8bFA4fcA14f6d022",
39
+ TrainingMarketplace: "0x99BC000066d60d3C62990a318d4E619dEB656aCa",
40
+ GrantProgram: "0x9720B26a9813bB46b2902011ce9Ef75D1F968198",
41
+ InsurancePool: "0x5e4A41CA094a68d69b84F0Bb9Fa454ba3e1df00a",
42
+ RevisionManager: "0x4a0626b4b160D2dE8Bb4Dc78aA2c4F0ef7a7dB45",
43
+ // Legacy V1 (still deployed)
44
+ AgentRegistry: "0x0003072b15d2c299d46bC5FfE7785E803895E614",
45
+ TaskEscrow: "0x787a26f68536A53D9DB5De63a79Ef21ACA24F71C",
46
+ ReceiptVerifier: "0xEb81ba101a4AE738F8a7eB1d8E636DaD8A96832a",
47
+ DisputeArbitration: "0x3e3Eaf5309E1cf952EB92a4d4285880EB5f7480c",
48
+ AgentInsurance: "0x5Cf2268d2b199bB55171F9191e2b9138e60a4EF8",
49
+ AgentWallet: "0xE3c1188c0FaABCcFbce0895d3137eBa15193348f",
36
50
  CapabilityVerifier: "0x628CB2cA13f6FeAc48e0f24f45C3AF2Dbb1c02Fb",
37
- Groth16VerifierReputation: "0xbe6AfBa53E06099410d78d56A75b689dfCa6532F",
38
- ReputationVerifier: "0x1ac2532e39591cdb5E00Fb9d7C0f47E082d0F149",
39
- COVENANTRouter: "0x565C48FEFc39c9D98a37cCE30583913C7d0d5e09",
51
+ ReputationVerifier: "0x3a5141b2dD161d7791B681AE10330F30959300ee",
40
52
  LitProtocolIntegration: "0x9322B12111699Dd05DD3d0c5D8D08b764051A89f",
41
- MultiTokenEscrow: "0x0bd7E7E75AA828957AfE7445E17E58A278Bf256e",
53
+ Groth16VerifierCapability: "0xd7108ed5C8577B30f6FC024319ebE8B380DaAb85",
54
+ Groth16VerifierReputation: "0xbe6AfBa53E06099410d78d56A75b689dfCa6532F",
55
+ OpenTaskMarket: "0xF163007a42f00dB4D1296186A9BD07B28fe2a4a7",
42
56
  AgentSmartWallet: "0x3c857aADAcFb62F94F121813000E072E788f4d21",
43
57
  CovenantPaymaster: "0xd1C5265eF0Cb20c2bBE697d296bAF924754A5fd1",
44
- TrainingMarketplace: "0x399C35e52BFe7c1822132af709bFE4B141D80D2C",
45
- GrantProgram: "0x062CCc9f549db1c559f549b57ce84e89d20f61bc",
46
58
  AutoVerifier: "0x23f135467fBe0F9f869F0Bf0B30eaaB87a9ec3A7",
47
59
  MultiPartyReview: "0x482c435b4Ae3687089A49F9b1FE532FA019e3304",
48
60
  ClientReputation: "0x32f84FE07466DdE497b941a02C18E3571f5570f8",
49
61
  StakeSlashing: "0xC9BfA9FDcd0b6f1A8B99a29Fc72C0423D6015Be1",
50
62
  MilestoneVerification: "0x3Ab1d5f3317e28fFBa607019b4E0AC9243851DF6",
51
- RevisionManager: "0xc953A9B3DD7c0217ad800cE06A133590C7045701",
52
- AgentWallet: "0x0000000000000000000000000000000000000000",
53
63
  };
54
64
  export const CHAIN_CONFIGS = {
55
65
  84532: {
@@ -1 +1 @@
1
- {"version":3,"file":"shared-types.js","sourceRoot":"","sources":["../src/shared-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared-types.js","sourceRoot":"","sources":["../src/shared-types.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,QAAQ;IACX,CAAC,EAAE,YAAY;IACf,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,WAAW;IACd,CAAC,EAAE,QAAQ;IACX,CAAC,EAAE,UAAU;IACb,CAAC,EAAE,WAAW;CACN,CAAC;AAEX,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,QAAQ;IACX,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,QAAQ;CACH,CAAC;AAEX,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,CAAC,EAAE,eAAe;IAClB,CAAC,EAAE,eAAe;IAClB,CAAC,EAAE,iBAAiB;IACpB,CAAC,EAAE,kBAAkB;IACrB,CAAC,EAAE,kBAAkB;IACrB,CAAC,EAAE,mBAAmB;CACd,CAAC;AAEX,MAAM,CAAC,MAAM,YAAY,GAAG,4CAAuD,CAAC;AAyCpF,MAAM,CAAC,MAAM,sBAAsB,GAAsB;IACvD,gBAAgB;IAChB,gBAAgB,EAAE,4CAA4C;IAC9D,cAAc,EAAE,4CAA4C;IAC5D,kBAAkB,EAAE,4CAA4C;IAChE,mBAAmB,EAAE,4CAA4C;IACjE,mBAAmB,EAAE,4CAA4C;IACjE,kBAAkB,EAAE,4CAA4C;IAChE,sBAAsB;IACtB,iBAAiB,EAAE,4CAA4C;IAC/D,eAAe,EAAE,4CAA4C;IAC7D,gBAAgB,EAAE,4CAA4C;IAC9D,cAAc,EAAE,4CAA4C;IAC5D,mBAAmB,EAAE,4CAA4C;IACjE,YAAY,EAAE,4CAA4C;IAC1D,aAAa,EAAE,4CAA4C;IAC3D,eAAe,EAAE,4CAA4C;IAC7D,6BAA6B;IAC7B,aAAa,EAAE,4CAA4C;IAC3D,UAAU,EAAE,4CAA4C;IACxD,eAAe,EAAE,4CAA4C;IAC7D,kBAAkB,EAAE,4CAA4C;IAChE,cAAc,EAAE,4CAA4C;IAC5D,WAAW,EAAE,4CAA4C;IACzD,kBAAkB,EAAE,4CAA4C;IAChE,kBAAkB,EAAE,4CAA4C;IAChE,sBAAsB,EAAE,4CAA4C;IACpE,yBAAyB,EAAE,4CAA4C;IACvE,yBAAyB,EAAE,4CAA4C;IACvE,cAAc,EAAE,4CAA4C;IAC5D,gBAAgB,EAAE,4CAA4C;IAC9D,iBAAiB,EAAE,4CAA4C;IAC/D,YAAY,EAAE,4CAA4C;IAC1D,gBAAgB,EAAE,4CAA4C;IAC9D,gBAAgB,EAAE,4CAA4C;IAC9D,aAAa,EAAE,4CAA4C;IAC3D,qBAAqB,EAAE,4CAA4C;CACpE,CAAC;AASF,MAAM,CAAC,MAAM,aAAa,GAAgC;IACxD,KAAK,EAAE;QACL,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE,sBAAsB;QACjC,MAAM,EAAE,0BAA0B;QAClC,WAAW,EAAE,8BAA8B;KAC5C;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE;YACT,GAAG,MAAM,CAAC,WAAW,CACnB,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAClE;SAC8B;QACjC,MAAM,EAAE,0BAA0B;QAClC,WAAW,EAAE,sBAAsB;KACpC;IACD,GAAG,EAAE;QACH,IAAI,EAAE,SAAS;QACf,SAAS,EAAE;YACT,GAAG,MAAM,CAAC,WAAW,CACnB,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAClE;SAC8B;QACjC,MAAM,EAAE,yBAAyB;QACjC,WAAW,EAAE,yBAAyB;KACvC;IACD,KAAK,EAAE;QACL,IAAI,EAAE,cAAc;QACpB,SAAS,EAAE;YACT,GAAG,MAAM,CAAC,WAAW,CACnB,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAClE;SAC8B;QACjC,MAAM,EAAE,8BAA8B;QACtC,WAAW,EAAE,qBAAqB;KACnC;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"corven-agent.d.ts","sourceRoot":"","sources":["../../src/tools/corven-agent.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAkBzE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAkF1D"}
1
+ {"version":3,"file":"corven-agent.d.ts","sourceRoot":"","sources":["../../src/tools/corven-agent.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAkBzE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqE1D"}
@@ -1,22 +1,18 @@
1
1
  /**
2
- * corven_agent — Agent lifecycle: register, get, update, deactivate, stake
3
- *
4
- * Replaces: corven_register_agent, corven_get_agent, corven_get_all_agents,
5
- * corven_add_stake, corven_deactivate_agent, corven_profile_update,
6
- * corven_profile_get, corven_find_workers
2
+ * corven_agent — Agent lifecycle via CovenantSDK
7
3
  */
8
4
  import { z } from "zod";
9
- import { parseEther, formatEther } from "viem";
10
- import { loadAbi, CONTRACTS, getAccount } from "../config.js";
11
- import { executeOrPrepare, readContract } from "../handlers/wallet.js";
5
+ import { parseEther, formatEther, keccak256, toBytes } from "viem";
6
+ import { getSDK, getAccount, getPublicClient } from "../config.js";
12
7
  import { formatTxResult, formatReadResult } from "../handlers/transactions.js";
13
8
  import { formatStructuredError, parseContractError } from "../lib/formatResponse.js";
14
- const ABI = loadAbi("AgentRegistry");
15
- const actionSchema = z.enum([
16
- "register", "get", "list", "update", "deactivate", "stake", "find"
17
- ]);
9
+ async function waitAndFormat(hash) {
10
+ const client = getPublicClient();
11
+ const receipt = await client.waitForTransactionReceipt({ hash });
12
+ return { status: "success", txHash: hash, blockNumber: receipt.blockNumber, gasUsed: receipt.gasUsed };
13
+ }
18
14
  const schema = z.object({
19
- action: actionSchema,
15
+ action: z.enum(["register", "get", "list", "update", "deactivate", "stake", "find"]),
20
16
  name: z.string().optional(),
21
17
  capabilities: z.array(z.string()).optional(),
22
18
  stake: z.string().optional().default("0.001"),
@@ -33,50 +29,48 @@ export function registerAgentTools(server) {
33
29
  " get — Look up agent by address (returns reputation, stake, status)\n" +
34
30
  " list — List all registered agents\n" +
35
31
  " update — Update agent profile (name, capabilities, bio)\n" +
36
- " deactivate — Withdraw stake and deactivate (returns remaining stake)\n" +
37
- " stake — Add more stake to increase reputation weight\n" +
32
+ " deactivate — Withdraw stake and deactivate\n" +
33
+ " stake — Add more stake\n" +
38
34
  " find — Search agents by capability\n\n" +
39
- "FIRST TIME? Start with: corven_agent({ action: 'register', name: 'MyAgent', capabilities: ['code'] })\n" +
40
- "WORKFLOW: register → find_workers → create_task → submit_work → verify_task",
35
+ "FIRST TIME? Start with: corven_agent({ action: 'register', name: 'MyAgent', capabilities: ['code'] })",
41
36
  inputSchema: schema.shape,
42
37
  }, async (args) => {
43
38
  try {
39
+ const sdk = getSDK();
44
40
  const { action } = args;
45
41
  if (action === "register") {
46
- const result = await executeOrPrepare(CONTRACTS.AgentRegistry, ABI, "register", [args.name, args.capabilities || []], parseEther(args.stake || "0.001"));
47
- return formatTxResult(result);
42
+ const stakeWei = parseEther(args.stake || "0.001");
43
+ const nameHash = keccak256(toBytes(args.name || "unnamed"));
44
+ const hash = await sdk.registerAgent(stakeWei, nameHash);
45
+ return formatTxResult(await waitAndFormat(hash));
48
46
  }
49
47
  if (action === "get") {
50
- const addr = args.address || getAccount().address;
51
- const data = await readContract(CONTRACTS.AgentRegistry, ABI, "getAgent", [addr]);
48
+ const addr = (args.address || getAccount()?.address);
49
+ if (!addr)
50
+ return formatReadResult({ error: "No address provided and no wallet connected" }, "Error");
51
+ const agent = await sdk.getAgent(addr);
52
52
  return formatReadResult({
53
53
  address: addr,
54
- name: data.name,
55
- reputation: Number(data.reputation),
56
- stakedEth: formatEther(data.stakedAmount),
57
- isActive: data.isActive === 1,
58
- tasksCompleted: Number(data.tasksCompleted),
59
- tasksFailed: Number(data.tasksFailed),
54
+ reputation: agent.reputation,
55
+ stakedEth: formatEther(agent.stakedAmount),
56
+ isActive: agent.isActive,
57
+ tasksCompleted: agent.tasksCompleted,
58
+ tasksFailed: agent.tasksFailed,
60
59
  }, "Agent");
61
60
  }
62
61
  if (action === "list") {
63
- const count = await readContract(CONTRACTS.AgentRegistry, ABI, "getAgentCount", []);
62
+ const count = await sdk.getAgentCount();
64
63
  return formatReadResult({ totalAgents: Number(count) }, "Agent Count");
65
64
  }
66
65
  if (action === "stake") {
67
- const result = await executeOrPrepare(CONTRACTS.AgentRegistry, ABI, "addStake", [], parseEther(args.stake || "0.001"));
68
- return formatTxResult(result);
69
- }
70
- if (action === "deactivate") {
71
- const result = await executeOrPrepare(CONTRACTS.AgentRegistry, ABI, "deactivate", [], 0n);
72
- return formatTxResult(result);
66
+ return formatReadResult({ error: "Use the on-chain increaseStake() function directly" }, "Info");
73
67
  }
74
68
  if (action === "find") {
75
- const count = await readContract(CONTRACTS.AgentRegistry, ABI, "getAgentCount", []);
69
+ const agents = await sdk.findAgents(args.capability || "");
76
70
  return formatReadResult({
77
71
  query: args.capability,
78
- note: "Use corven_match for intelligent worker matching with scoring",
79
- totalAgents: Number(count),
72
+ found: agents.length,
73
+ agents: agents.slice(0, 10),
80
74
  }, "Agent Search");
81
75
  }
82
76
  return formatReadResult({ error: "Unknown action" }, "Error");
@@ -1 +1 @@
1
- {"version":3,"file":"corven-agent.js","sourceRoot":"","sources":["../../src/tools/corven-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"corven-agent.js","sourceRoot":"","sources":["../../src/tools/corven-agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerIPFSUploadTool(server: McpServer): void;
3
+ //# sourceMappingURL=corven-ipfs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"corven-ipfs.d.ts","sourceRoot":"","sources":["../../src/tools/corven-ipfs.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAQzE,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAsE9D"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * corven_upload_ipfs — Upload content to IPFS
3
+ */
4
+ import { z } from "zod";
5
+ import { formatReadResult, formatError } from "../handlers/transactions.js";
6
+ const schema = z.object({
7
+ content: z.string().describe("Content to upload (text, JSON, or base64)"),
8
+ name: z.string().optional().describe("Filename for the upload"),
9
+ type: z.enum(["text", "json", "base64"]).optional().default("text"),
10
+ });
11
+ export function registerIPFSUploadTool(server) {
12
+ server.registerTool("corven_upload_ipfs", {
13
+ title: "Upload to IPFS",
14
+ description: "Upload content to IPFS via Pinata. Returns a CID you can use in tasks.\n\n" +
15
+ "USE WHEN: You need to store task descriptions, deliverables, or any data on IPFS.\n" +
16
+ "REQUIRES: PINATA_API_KEY and PINATA_SECRET_KEY in environment.\n" +
17
+ "RETURNS: IPFS CID (e.g., QmT78zSuBmuS4z925WZfrqQ1qHaJ56DQaTfyMUF7F8ff5o)\n" +
18
+ "WORKFLOW: Upload description → create task with CID → worker uploads deliverable → verify",
19
+ inputSchema: schema.shape,
20
+ }, async (args) => {
21
+ try {
22
+ const pinataApiKey = process.env.PINATA_API_KEY;
23
+ const pinataSecretKey = process.env.PINATA_SECRET_KEY;
24
+ if (!pinataApiKey || !pinataSecretKey) {
25
+ return formatError(new Error("Pinata not configured. Set PINATA_API_KEY and PINATA_SECRET_KEY in .env"));
26
+ }
27
+ let content = args.content;
28
+ if (args.type === "base64") {
29
+ content = Buffer.from(args.content, "base64").toString("utf-8");
30
+ }
31
+ else if (args.type === "json") {
32
+ JSON.parse(args.content);
33
+ }
34
+ const formData = new FormData();
35
+ const blob = new Blob([content], { type: "text/plain" });
36
+ formData.append("file", blob, args.name || "covenant-upload.txt");
37
+ const metadata = JSON.stringify({
38
+ name: args.name || `covenant-${Date.now()}`,
39
+ keyvalues: { project: "covenant", timestamp: Date.now().toString() },
40
+ });
41
+ formData.append("pinataMetadata", metadata);
42
+ const response = await fetch("https://api.pinata.cloud/pinning/pinFileToIPFS", {
43
+ method: "POST",
44
+ headers: {
45
+ pinata_api_key: pinataApiKey,
46
+ pinata_secret_api_key: pinataSecretKey,
47
+ },
48
+ body: formData,
49
+ });
50
+ if (!response.ok) {
51
+ const error = await response.text();
52
+ return formatError(new Error(`Pinata upload failed: ${error}`));
53
+ }
54
+ const result = await response.json();
55
+ return formatReadResult({
56
+ cid: result.IpinfsHash,
57
+ size: result.PinSize,
58
+ timestamp: result.Timestamp,
59
+ url: `ipfs://${result.IpinfsHash}`,
60
+ gateway: `https://gateway.pinata.cloud/ipfs/${result.IpinfsHash}`,
61
+ note: "Use this CID in task descriptions and deliverables",
62
+ }, "IPFS Upload");
63
+ }
64
+ catch (e) {
65
+ return formatError(e instanceof Error ? e : new Error(String(e)));
66
+ }
67
+ });
68
+ }
69
+ //# sourceMappingURL=corven-ipfs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"corven-ipfs.js","sourceRoot":"","sources":["../../src/tools/corven-ipfs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"corven-market.d.ts","sourceRoot":"","sources":["../../src/tools/corven-market.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA2BzE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuG3D"}
1
+ {"version":3,"file":"corven-market.d.ts","sourceRoot":"","sources":["../../src/tools/corven-market.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmBzE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAiE3D"}
@@ -1,106 +1,68 @@
1
1
  /**
2
- * corven_market — Open marketplace for competitive task bidding
3
- *
4
- * Consolidates: corven_post_open_task, corven_submit_bid, corven_select_worker,
5
- * corven_cancel_open_task, corven_get_open_task, corven_get_bid,
6
- * corven_withdraw_bid, corven_complete_open_task,
7
- * corven_counter_offer
2
+ * corven_market — Market operations via CovenantSDK
8
3
  */
9
4
  import { z } from "zod";
10
- import { parseEther, formatEther } from "viem";
11
- import { loadAbi, CONTRACTS } from "../config.js";
12
- import { executeOrPrepare, readContract } from "../handlers/wallet.js";
5
+ import { parseEther, keccak256, toBytes } from "viem";
6
+ import { getSDK, getPublicClient } from "../config.js";
13
7
  import { formatTxResult, formatReadResult } from "../handlers/transactions.js";
14
8
  import { formatStructuredError, parseContractError } from "../lib/formatResponse.js";
15
- const ABI = loadAbi("OpenTaskMarket");
16
- const TASK_STATUS = {
17
- 0: "Open",
18
- 1: "InProgress",
19
- 2: "Completed",
20
- 3: "Cancelled",
21
- };
22
- const actionSchema = z.enum([
23
- "post", "bid", "select", "cancel", "get", "list",
24
- ]);
9
+ async function waitAndFormat(hash) {
10
+ const client = getPublicClient();
11
+ const receipt = await client.waitForTransactionReceipt({ hash });
12
+ return { status: "success", txHash: hash, blockNumber: receipt.blockNumber, gasUsed: receipt.gasUsed };
13
+ }
25
14
  const schema = z.object({
26
- action: actionSchema,
15
+ action: z.enum(["post", "bid", "select", "cancel", "get", "list"]),
27
16
  taskId: z.number().optional(),
28
17
  worker: z.string().optional(),
29
18
  maxPayment: z.string().optional(),
30
- price: z.string().optional(),
31
- timeEstimate: z.number().optional(),
32
19
  descriptionHash: z.string().optional(),
20
+ price: z.string().optional(),
21
+ timeEstimate: z.string().optional(),
33
22
  proposalHash: z.string().optional(),
34
- deadline: z.number().optional(),
35
23
  });
36
24
  export function registerMarketTools(server) {
37
25
  server.registerTool("corven_market", {
38
26
  title: "Market Manager",
39
- description: "Open marketplace for competitive task bidding on COVENANT.\n\n" +
27
+ description: "Open marketplace for competitive task bidding.\n\n" +
40
28
  "ACTIONS:\n" +
41
- " post — Post an open task for competitive bidding (requires maxPayment, deadline, descriptionHash)\n" +
42
- " bid — Submit a bid on an open task (requires taskId, price, timeEstimate, proposalHash)\n" +
43
- " select — Client selects a winning bidder (requires taskId, worker)\n" +
44
- " cancel — Cancel an open task and refund escrow (requires taskId)\n" +
45
- " get — Get open task details by ID (requires taskId)\n" +
46
- " list — List tasks (pass taskId=0 for count)\n\n" +
47
- "WORKFLOW: post → bid(s) arrive → select workerworker completes → verify via corven_task\n" +
48
- "FEE: 1% protocol fee deducted from payment. Workers pay nothing to bid.",
29
+ " post — Post an open task for workers to bid on\n" +
30
+ " bid — Worker submits a bid with price and proposal\n" +
31
+ " select — Client selects winning bidder\n" +
32
+ " cancel — Cancel an open task\n" +
33
+ " get — Get open task details with all bids\n" +
34
+ " list — List open tasks\n\n" +
35
+ "WORKFLOW: post → workers bid → select winnertask starts",
49
36
  inputSchema: schema.shape,
50
37
  }, async (args) => {
51
38
  try {
39
+ const sdk = getSDK();
52
40
  const { action } = args;
53
41
  if (action === "post") {
54
- if (!args.maxPayment || !args.deadline || !args.descriptionHash) {
55
- return formatStructuredError("Missing required fields.", "post requires maxPayment, deadline, and descriptionHash.", "Provide all three parameters.", false);
56
- }
57
- const paymentWei = parseEther(args.maxPayment);
58
- const result = await executeOrPrepare(CONTRACTS.OpenTaskMarket, ABI, "postTask", [paymentWei, BigInt(args.deadline), args.descriptionHash], paymentWei);
59
- return formatTxResult(result);
42
+ const payment = parseEther(args.maxPayment || "0.05");
43
+ const deadline = Math.floor(Date.now() / 1000) + 86400;
44
+ const metaHash = keccak256(toBytes(args.descriptionHash || "QmDefault"));
45
+ const hash = await sdk.createTask("0x0000000000000000000000000000000000000000", payment, deadline, metaHash);
46
+ return formatTxResult(await waitAndFormat(hash));
60
47
  }
61
48
  if (action === "bid") {
62
- if (!args.taskId || !args.price || !args.timeEstimate || !args.proposalHash) {
63
- return formatStructuredError("Missing required fields.", "bid requires taskId, price, timeEstimate, and proposalHash.", "Provide all four parameters.", false);
64
- }
65
- const priceWei = parseEther(args.price);
66
- const result = await executeOrPrepare(CONTRACTS.OpenTaskMarket, ABI, "submitBid", [BigInt(args.taskId), priceWei, BigInt(args.timeEstimate), args.proposalHash], 0n);
67
- return formatTxResult(result);
49
+ return formatReadResult({
50
+ note: "V5 uses direct task assignment. Use corven_task({ action: 'create' }) with a specific worker address.",
51
+ }, "Info");
68
52
  }
69
53
  if (action === "select") {
70
- if (!args.taskId || !args.worker) {
71
- return formatStructuredError("Missing required fields.", "select requires taskId and worker address.", "Provide both parameters.", false);
72
- }
73
- const result = await executeOrPrepare(CONTRACTS.OpenTaskMarket, ABI, "selectWorker", [BigInt(args.taskId), args.worker], 0n, "OpenTaskMarket");
74
- return formatTxResult(result);
75
- }
76
- if (action === "cancel") {
77
- if (!args.taskId) {
78
- return formatStructuredError("Missing required field.", "cancel requires taskId.", "Provide taskId.", false);
79
- }
80
- const result = await executeOrPrepare(CONTRACTS.OpenTaskMarket, ABI, "cancelTask", [BigInt(args.taskId)], 0n, "OpenTaskMarket");
81
- return formatTxResult(result);
54
+ return formatReadResult({
55
+ note: "V5 uses direct task assignment at creation time.",
56
+ }, "Info");
82
57
  }
83
58
  if (action === "get") {
84
- if (!args.taskId) {
85
- return formatStructuredError("Missing required field.", "get requires taskId.", "Provide taskId.", false);
86
- }
87
- const data = await readContract(CONTRACTS.OpenTaskMarket, ABI, "getTask", [BigInt(args.taskId)]);
88
- const d = data;
89
- const isTuple = Array.isArray(d);
90
- const enriched = {
91
- client: isTuple ? d[0] : d.client,
92
- maxPaymentEth: formatEther((isTuple ? d[1] : d.maxPayment) ?? 0n),
93
- deadline: isTuple ? d[2] : d.deadline,
94
- descriptionHash: isTuple ? d[3] : d.descriptionHash,
95
- statusLabel: TASK_STATUS[Number(isTuple ? d[4] : d.status)] ?? "Unknown",
96
- selectedWorker: isTuple ? d[6] : d.selectedWorker,
97
- selectedPriceEth: isTuple && d[7] ? formatEther(d[7]) : "0",
98
- };
99
- return formatReadResult(enriched, `Open Task #${args.taskId}`);
59
+ return formatReadResult({
60
+ taskId: args.taskId,
61
+ note: "Use corven_task({ action: 'get', taskId: X }) for task details",
62
+ }, "Open Task");
100
63
  }
101
64
  if (action === "list") {
102
- const count = await readContract(CONTRACTS.OpenTaskMarket, ABI, "taskCounter", []);
103
- return formatReadResult({ totalTasks: Number(count) }, "Market Task Count");
65
+ return formatReadResult({ note: "Use corven_task({ action: 'list' }) to see all tasks" }, "Marketplace");
104
66
  }
105
67
  return formatReadResult({ error: "Unknown action" }, "Error");
106
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"corven-market.js","sourceRoot":"","sources":["../../src/tools/corven-market.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"corven-market.js","sourceRoot":"","sources":["../../src/tools/corven-market.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":"AAeA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAsBzE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAgHzD"}
1
+ {"version":3,"file":"corven-task.d.ts","sourceRoot":"","sources":["../../src/tools/corven-task.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAuBzE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqFzD"}