@varun-ai07/covenant-mcp 1.3.2 → 2.0.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/dist/abis/GrantProgram.json +778 -0
- package/dist/abis/RevisionManager.json +544 -0
- package/dist/abis/TrainingMarketplace.json +787 -0
- package/dist/cli.js +0 -0
- package/dist/config.d.ts +15 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +23 -3
- package/dist/config.js.map +1 -1
- package/dist/server.d.ts +3 -2
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +63 -63
- package/dist/server.js.map +1 -1
- package/dist/shared-types.js +8 -8
- package/dist/tools/{registry.d.ts → corven-agent.d.ts} +1 -1
- package/dist/tools/corven-agent.d.ts.map +1 -0
- package/dist/tools/corven-agent.js +90 -0
- package/dist/tools/corven-agent.js.map +1 -0
- package/dist/tools/corven-attest.d.ts +3 -0
- package/dist/tools/corven-attest.d.ts.map +1 -0
- package/dist/tools/corven-attest.js +87 -0
- package/dist/tools/corven-attest.js.map +1 -0
- package/dist/tools/{batches.d.ts → corven-batch.d.ts} +1 -1
- package/dist/tools/corven-batch.d.ts.map +1 -0
- package/dist/tools/corven-batch.js +116 -0
- package/dist/tools/corven-batch.js.map +1 -0
- package/dist/tools/{bounties.d.ts → corven-bounty.d.ts} +1 -1
- package/dist/tools/corven-bounty.d.ts.map +1 -0
- package/dist/tools/corven-bounty.js +72 -0
- package/dist/tools/corven-bounty.js.map +1 -0
- package/dist/tools/{collectives.d.ts → corven-collective.d.ts} +1 -1
- package/dist/tools/corven-collective.d.ts.map +1 -0
- package/dist/tools/corven-collective.js +105 -0
- package/dist/tools/corven-collective.js.map +1 -0
- package/dist/tools/corven-fiat.d.ts +3 -0
- package/dist/tools/corven-fiat.d.ts.map +1 -0
- package/dist/tools/corven-fiat.js +42 -0
- package/dist/tools/corven-fiat.js.map +1 -0
- package/dist/tools/corven-govern.d.ts +3 -0
- package/dist/tools/corven-govern.d.ts.map +1 -0
- package/dist/tools/corven-govern.js +65 -0
- package/dist/tools/corven-govern.js.map +1 -0
- package/dist/tools/{grants.d.ts → corven-grants.d.ts} +1 -1
- package/dist/tools/corven-grants.d.ts.map +1 -0
- package/dist/tools/corven-grants.js +67 -0
- package/dist/tools/corven-grants.js.map +1 -0
- package/dist/tools/{insurance.d.ts → corven-insurance.d.ts} +1 -1
- package/dist/tools/corven-insurance.d.ts.map +1 -0
- package/dist/tools/corven-insurance.js +103 -0
- package/dist/tools/corven-insurance.js.map +1 -0
- package/dist/tools/{market.d.ts → corven-market.d.ts} +1 -1
- package/dist/tools/corven-market.d.ts.map +1 -0
- package/dist/tools/corven-market.js +113 -0
- package/dist/tools/corven-market.js.map +1 -0
- package/dist/tools/corven-match.d.ts +3 -0
- package/dist/tools/corven-match.d.ts.map +1 -0
- package/dist/tools/corven-match.js +235 -0
- package/dist/tools/corven-match.js.map +1 -0
- package/dist/tools/corven-message.d.ts +3 -0
- package/dist/tools/corven-message.d.ts.map +1 -0
- package/dist/tools/corven-message.js +82 -0
- package/dist/tools/corven-message.js.map +1 -0
- package/dist/tools/corven-multi.d.ts +3 -0
- package/dist/tools/corven-multi.d.ts.map +1 -0
- package/dist/tools/corven-multi.js +197 -0
- package/dist/tools/corven-multi.js.map +1 -0
- package/dist/tools/corven-reputation.d.ts +3 -0
- package/dist/tools/corven-reputation.d.ts.map +1 -0
- package/dist/tools/corven-reputation.js +126 -0
- package/dist/tools/corven-reputation.js.map +1 -0
- package/dist/tools/{revisions.d.ts → corven-revision.d.ts} +1 -1
- package/dist/tools/corven-revision.d.ts.map +1 -0
- package/dist/tools/corven-revision.js +73 -0
- package/dist/tools/corven-revision.js.map +1 -0
- package/dist/tools/{router.d.ts → corven-router.d.ts} +1 -1
- package/dist/tools/corven-router.d.ts.map +1 -0
- package/dist/tools/corven-router.js +116 -0
- package/dist/tools/corven-router.js.map +1 -0
- package/dist/tools/corven-stats.d.ts +3 -0
- package/dist/tools/corven-stats.d.ts.map +1 -0
- package/dist/tools/corven-stats.js +97 -0
- package/dist/tools/corven-stats.js.map +1 -0
- package/dist/tools/corven-stream.d.ts +3 -0
- package/dist/tools/corven-stream.d.ts.map +1 -0
- package/dist/tools/corven-stream.js +197 -0
- package/dist/tools/corven-stream.js.map +1 -0
- package/dist/tools/corven-task.d.ts +3 -0
- package/dist/tools/corven-task.d.ts.map +1 -0
- package/dist/tools/corven-task.js +105 -0
- package/dist/tools/corven-task.js.map +1 -0
- package/dist/tools/{training.d.ts → corven-training.d.ts} +1 -1
- package/dist/tools/corven-training.d.ts.map +1 -0
- package/dist/tools/corven-training.js +73 -0
- package/dist/tools/corven-training.js.map +1 -0
- package/dist/tools/corven-verify.d.ts +3 -0
- package/dist/tools/corven-verify.d.ts.map +1 -0
- package/dist/tools/corven-verify.js +149 -0
- package/dist/tools/corven-verify.js.map +1 -0
- package/dist/tools/corven-wallet.d.ts +3 -0
- package/dist/tools/corven-wallet.d.ts.map +1 -0
- package/dist/tools/corven-wallet.js +235 -0
- package/dist/tools/corven-wallet.js.map +1 -0
- package/dist/tools/covenant-help.d.ts.map +1 -1
- package/dist/tools/covenant-help.js +88 -312
- package/dist/tools/covenant-help.js.map +1 -1
- package/dist/tools/disputes.d.ts.map +1 -1
- package/dist/tools/disputes.js +26 -0
- package/dist/tools/disputes.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/abis/v2/DisputeResolution.json +0 -493
- package/dist/abis/v2/InsurancePool.json +0 -645
- package/dist/tools/account-abstraction.d.ts +0 -3
- package/dist/tools/account-abstraction.d.ts.map +0 -1
- package/dist/tools/account-abstraction.js +0 -364
- package/dist/tools/account-abstraction.js.map +0 -1
- package/dist/tools/batches.d.ts.map +0 -1
- package/dist/tools/batches.js +0 -231
- package/dist/tools/batches.js.map +0 -1
- package/dist/tools/bounties.d.ts.map +0 -1
- package/dist/tools/bounties.js +0 -304
- package/dist/tools/bounties.js.map +0 -1
- package/dist/tools/bridge.d.ts +0 -3
- package/dist/tools/bridge.d.ts.map +0 -1
- package/dist/tools/bridge.js +0 -190
- package/dist/tools/bridge.js.map +0 -1
- package/dist/tools/collectives.d.ts.map +0 -1
- package/dist/tools/collectives.js +0 -249
- package/dist/tools/collectives.js.map +0 -1
- package/dist/tools/cross-chain.d.ts +0 -3
- package/dist/tools/cross-chain.d.ts.map +0 -1
- package/dist/tools/cross-chain.js +0 -77
- package/dist/tools/cross-chain.js.map +0 -1
- package/dist/tools/escrow.d.ts +0 -3
- package/dist/tools/escrow.d.ts.map +0 -1
- package/dist/tools/escrow.js +0 -606
- package/dist/tools/escrow.js.map +0 -1
- package/dist/tools/fiat-onramp.d.ts +0 -3
- package/dist/tools/fiat-onramp.d.ts.map +0 -1
- package/dist/tools/fiat-onramp.js +0 -108
- package/dist/tools/fiat-onramp.js.map +0 -1
- package/dist/tools/governance.d.ts +0 -3
- package/dist/tools/governance.d.ts.map +0 -1
- package/dist/tools/governance.js +0 -271
- package/dist/tools/governance.js.map +0 -1
- package/dist/tools/grants.d.ts.map +0 -1
- package/dist/tools/grants.js +0 -269
- package/dist/tools/grants.js.map +0 -1
- package/dist/tools/insurance.d.ts.map +0 -1
- package/dist/tools/insurance.js +0 -271
- package/dist/tools/insurance.js.map +0 -1
- package/dist/tools/market.d.ts.map +0 -1
- package/dist/tools/market.js +0 -393
- package/dist/tools/market.js.map +0 -1
- package/dist/tools/matching.d.ts +0 -3
- package/dist/tools/matching.d.ts.map +0 -1
- package/dist/tools/matching.js +0 -233
- package/dist/tools/matching.js.map +0 -1
- package/dist/tools/messaging.d.ts +0 -3
- package/dist/tools/messaging.d.ts.map +0 -1
- package/dist/tools/messaging.js +0 -159
- package/dist/tools/messaging.js.map +0 -1
- package/dist/tools/multi-token.d.ts +0 -3
- package/dist/tools/multi-token.d.ts.map +0 -1
- package/dist/tools/multi-token.js +0 -274
- package/dist/tools/multi-token.js.map +0 -1
- package/dist/tools/offchain-coordinator.d.ts +0 -3
- package/dist/tools/offchain-coordinator.d.ts.map +0 -1
- package/dist/tools/offchain-coordinator.js +0 -436
- package/dist/tools/offchain-coordinator.js.map +0 -1
- package/dist/tools/protocol.d.ts +0 -3
- package/dist/tools/protocol.d.ts.map +0 -1
- package/dist/tools/protocol.js +0 -127
- package/dist/tools/protocol.js.map +0 -1
- package/dist/tools/receipts.d.ts +0 -3
- package/dist/tools/receipts.d.ts.map +0 -1
- package/dist/tools/receipts.js +0 -147
- package/dist/tools/receipts.js.map +0 -1
- package/dist/tools/registry.d.ts.map +0 -1
- package/dist/tools/registry.js +0 -245
- package/dist/tools/registry.js.map +0 -1
- package/dist/tools/reputation-vc.d.ts +0 -3
- package/dist/tools/reputation-vc.d.ts.map +0 -1
- package/dist/tools/reputation-vc.js +0 -438
- package/dist/tools/reputation-vc.js.map +0 -1
- package/dist/tools/revisions.d.ts.map +0 -1
- package/dist/tools/revisions.js +0 -108
- package/dist/tools/revisions.js.map +0 -1
- package/dist/tools/router.d.ts.map +0 -1
- package/dist/tools/router.js +0 -104
- package/dist/tools/router.js.map +0 -1
- package/dist/tools/streaming.d.ts +0 -3
- package/dist/tools/streaming.d.ts.map +0 -1
- package/dist/tools/streaming.js +0 -350
- package/dist/tools/streaming.js.map +0 -1
- package/dist/tools/templates.d.ts +0 -3
- package/dist/tools/templates.d.ts.map +0 -1
- package/dist/tools/templates.js +0 -392
- package/dist/tools/templates.js.map +0 -1
- package/dist/tools/training.d.ts.map +0 -1
- package/dist/tools/training.js +0 -304
- package/dist/tools/training.js.map +0 -1
- package/dist/tools/v2-settlement.d.ts +0 -3
- package/dist/tools/v2-settlement.d.ts.map +0 -1
- package/dist/tools/v2-settlement.js +0 -226
- package/dist/tools/v2-settlement.js.map +0 -1
- package/dist/tools/verification.d.ts +0 -3
- package/dist/tools/verification.d.ts.map +0 -1
- package/dist/tools/verification.js +0 -215
- package/dist/tools/verification.js.map +0 -1
- package/dist/tools/verify-deep.d.ts +0 -3
- package/dist/tools/verify-deep.d.ts.map +0 -1
- package/dist/tools/verify-deep.js +0 -125
- package/dist/tools/verify-deep.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"batches.js","sourceRoot":"","sources":["../../src/tools/batches.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bounties.d.ts","sourceRoot":"","sources":["../../src/tools/bounties.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAwEzE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAqY3D"}
|
package/dist/tools/bounties.js
DELETED
|
@@ -1,304 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Bounty Board MCP Tools (In-Memory MVP)
|
|
3
|
-
*
|
|
4
|
-
* post_bounty — Post a bounty (open challenge with ETH prize)
|
|
5
|
-
* claim_bounty — Worker claims a bounty by submitting work
|
|
6
|
-
* list_bounties — List open bounties with optional filters
|
|
7
|
-
* get_bounty — Get bounty details
|
|
8
|
-
* select_bounty_winner — Creator selects the winning submission
|
|
9
|
-
*/
|
|
10
|
-
import { z } from "zod";
|
|
11
|
-
import { parseEther } from "viem";
|
|
12
|
-
import { getAccount } from "../config.js";
|
|
13
|
-
import { formatReadResult } from "../handlers/transactions.js";
|
|
14
|
-
import { formatSuccess, formatStructuredError, parseContractError } from "../lib/formatResponse.js";
|
|
15
|
-
import { loadStore, saveStore } from "../lib/store.js";
|
|
16
|
-
import { ethAddress, ethAmount, unixDeadline, ipfsCid } from "../lib/schemaHelpers.js";
|
|
17
|
-
const bountiesData = loadStore("bounties", { counter: 0, items: {} });
|
|
18
|
-
let bountyCounter = bountiesData.counter;
|
|
19
|
-
const bounties = new Map(Object.entries(bountiesData.items).map(([k, v]) => [
|
|
20
|
-
Number(k),
|
|
21
|
-
{ ...v, submissions: new Map(Object.entries(v.submissions)) },
|
|
22
|
-
]));
|
|
23
|
-
function persistBounties() {
|
|
24
|
-
const items = {};
|
|
25
|
-
bounties.forEach((v, k) => {
|
|
26
|
-
const subsObj = {};
|
|
27
|
-
v.submissions.forEach((val, key) => { subsObj[key] = val; });
|
|
28
|
-
items[k] = { ...v, submissions: subsObj };
|
|
29
|
-
});
|
|
30
|
-
saveStore("bounties", { counter: bountyCounter, items });
|
|
31
|
-
}
|
|
32
|
-
// ─── Validation Schemas ──────────────────────────────────────
|
|
33
|
-
const postBountySchema = z.object({
|
|
34
|
-
title: z.string().min(1).max(200),
|
|
35
|
-
description: z.string().min(1).max(2000),
|
|
36
|
-
reward: z.string().regex(/^\d+\.?\d*$/, "Invalid ETH amount format")
|
|
37
|
-
.refine(val => {
|
|
38
|
-
const amount = parseFloat(val);
|
|
39
|
-
return amount >= 0.001 && amount <= 1000;
|
|
40
|
-
}, { message: "Reward must be between 0.001 and 1000 ETH" }),
|
|
41
|
-
deadline: z.number().int().positive()
|
|
42
|
-
.refine(val => {
|
|
43
|
-
const deadlineMs = val * 1000;
|
|
44
|
-
const now = Date.now();
|
|
45
|
-
const oneYear = now + (365 * 24 * 60 * 60 * 1000);
|
|
46
|
-
return deadlineMs > now && deadlineMs < oneYear;
|
|
47
|
-
}, { message: "Deadline must be a future timestamp within 1 year" }),
|
|
48
|
-
});
|
|
49
|
-
const claimBountySchema = z.object({
|
|
50
|
-
bountyId: z.number().int().nonnegative(),
|
|
51
|
-
deliverableHash: z.string().min(1).max(200),
|
|
52
|
-
});
|
|
53
|
-
// ─── Tool Registration ───────────────────────────────────────
|
|
54
|
-
export function registerBountyTools(server) {
|
|
55
|
-
// ──────────────────────────────────────────────────────────────
|
|
56
|
-
// corven_post_bounty
|
|
57
|
-
// ──────────────────────────────────────────────────────────────
|
|
58
|
-
server.registerTool("corven_post_bounty", {
|
|
59
|
-
title: "Post Bounty",
|
|
60
|
-
description: "Posts a bounty — an open challenge with an ETH prize that any worker can attempt.\n" +
|
|
61
|
-
"USE WHEN: You want to crowdsource solutions. You want the best submission rather than a specific worker.\n" +
|
|
62
|
-
"REQUIRES: Wallet configured via PRIVATE_KEY.\n" +
|
|
63
|
-
"RETURNS: Bounty ID, title, reward, deadline, status.\n" +
|
|
64
|
-
"COMES BEFORE: Workers call corven_claim_bounty to submit work. You call corven_select_bounty_winner.",
|
|
65
|
-
inputSchema: {
|
|
66
|
-
title: z.string().describe("Bounty title — short description of the challenge"),
|
|
67
|
-
description: z.string().describe("Full description of what the bounty requires"),
|
|
68
|
-
reward: ethAmount,
|
|
69
|
-
deadline: unixDeadline,
|
|
70
|
-
},
|
|
71
|
-
}, async ({ title, description, reward, deadline }) => {
|
|
72
|
-
try {
|
|
73
|
-
const validation = postBountySchema.safeParse({ title, description, reward, deadline });
|
|
74
|
-
if (!validation.success) {
|
|
75
|
-
return formatStructuredError(`Invalid input: ${validation.error.issues.map(e => e.message).join(", ")}`, "Validation failed.", "Check parameter formats.", false);
|
|
76
|
-
}
|
|
77
|
-
const account = getAccount();
|
|
78
|
-
if (!account) {
|
|
79
|
-
return formatStructuredError("No private key configured.", "PRIVATE_KEY not set.", "Set PRIVATE_KEY in .env.", false);
|
|
80
|
-
}
|
|
81
|
-
const id = bountyCounter++;
|
|
82
|
-
const bounty = {
|
|
83
|
-
id,
|
|
84
|
-
title,
|
|
85
|
-
description,
|
|
86
|
-
reward,
|
|
87
|
-
creator: account.address,
|
|
88
|
-
status: "open",
|
|
89
|
-
deadline,
|
|
90
|
-
submissions: new Map(),
|
|
91
|
-
createdAt: Math.floor(Date.now() / 1000),
|
|
92
|
-
};
|
|
93
|
-
bounties.set(id, bounty);
|
|
94
|
-
persistBounties();
|
|
95
|
-
return formatSuccess(`Bounty #${id} posted successfully.`, {
|
|
96
|
-
bountyId: id,
|
|
97
|
-
title,
|
|
98
|
-
reward: `${reward} ETH`,
|
|
99
|
-
deadline,
|
|
100
|
-
status: "open",
|
|
101
|
-
creator: account.address,
|
|
102
|
-
});
|
|
103
|
-
}
|
|
104
|
-
catch (e) {
|
|
105
|
-
const parsed = parseContractError(e);
|
|
106
|
-
return formatStructuredError(parsed.error, parsed.cause, parsed.fix, parsed.retryable);
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
// ──────────────────────────────────────────────────────────────
|
|
110
|
-
// corven_claim_bounty
|
|
111
|
-
// ──────────────────────────────────────────────────────────────
|
|
112
|
-
server.registerTool("corven_claim_bounty", {
|
|
113
|
-
title: "Claim Bounty",
|
|
114
|
-
description: "Submits work to claim a bounty. Each worker can only submit once per bounty.\n" +
|
|
115
|
-
"USE WHEN: You completed work for an open bounty and want to enter your submission.\n" +
|
|
116
|
-
"REQUIRES: Bounty must be open. You cannot submit twice to the same bounty.\n" +
|
|
117
|
-
"RETURNS: Confirmation with bounty ID, your address, and deliverable hash.\n" +
|
|
118
|
-
"COMES AFTER: corven_get_bounty or corven_list_bounties to find bounties.\n" +
|
|
119
|
-
"COMES BEFORE: Creator calls corven_select_bounty_winner to pick the winner.",
|
|
120
|
-
inputSchema: {
|
|
121
|
-
bountyId: z.number().describe("Bounty ID to claim"),
|
|
122
|
-
deliverableHash: ipfsCid,
|
|
123
|
-
},
|
|
124
|
-
}, async ({ bountyId, deliverableHash }) => {
|
|
125
|
-
try {
|
|
126
|
-
const validation = claimBountySchema.safeParse({ bountyId, deliverableHash });
|
|
127
|
-
if (!validation.success) {
|
|
128
|
-
return formatStructuredError(`Invalid input: ${validation.error.issues.map(e => e.message).join(", ")}`, "Validation failed.", "Check parameter formats.", false);
|
|
129
|
-
}
|
|
130
|
-
const account = getAccount();
|
|
131
|
-
if (!account) {
|
|
132
|
-
return formatStructuredError("No private key configured.", "PRIVATE_KEY not set.", "Set PRIVATE_KEY in .env.", false);
|
|
133
|
-
}
|
|
134
|
-
const bounty = bounties.get(bountyId);
|
|
135
|
-
if (!bounty) {
|
|
136
|
-
return formatStructuredError(`Bounty #${bountyId} not found.`, "No bounty exists with that ID.", "Call corven_list_bounties to see available bounties.", false);
|
|
137
|
-
}
|
|
138
|
-
if (bounty.status !== "open") {
|
|
139
|
-
return formatStructuredError(`Bounty #${bountyId} is not open (status: ${bounty.status}).`, "Only open bounties accept submissions.", "Call corven_list_bounties with status='open' to find active bounties.", false);
|
|
140
|
-
}
|
|
141
|
-
if (bounty.deadline < Math.floor(Date.now() / 1000)) {
|
|
142
|
-
return formatStructuredError(`Bounty #${bountyId} deadline has passed.`, "The submission deadline has elapsed.", "Check the deadline with corven_get_bounty before submitting.", false);
|
|
143
|
-
}
|
|
144
|
-
const workerAddr = account.address;
|
|
145
|
-
if (bounty.submissions.has(workerAddr)) {
|
|
146
|
-
return formatStructuredError(`You have already submitted to Bounty #${bountyId}.`, "Each worker can only submit once per bounty.", "Your existing submission is recorded. Wait for the creator to select a winner.", false);
|
|
147
|
-
}
|
|
148
|
-
bounty.submissions.set(workerAddr, {
|
|
149
|
-
worker: workerAddr,
|
|
150
|
-
deliverableHash,
|
|
151
|
-
submittedAt: Math.floor(Date.now() / 1000),
|
|
152
|
-
});
|
|
153
|
-
persistBounties();
|
|
154
|
-
return formatSuccess(`Submission recorded for Bounty #${bountyId}.`, {
|
|
155
|
-
bountyId,
|
|
156
|
-
worker: workerAddr,
|
|
157
|
-
deliverableHash,
|
|
158
|
-
totalSubmissions: bounty.submissions.size,
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
catch (e) {
|
|
162
|
-
const parsed = parseContractError(e);
|
|
163
|
-
return formatStructuredError(parsed.error, parsed.cause, parsed.fix, parsed.retryable);
|
|
164
|
-
}
|
|
165
|
-
});
|
|
166
|
-
// ──────────────────────────────────────────────────────────────
|
|
167
|
-
// corven_list_bounties
|
|
168
|
-
// ──────────────────────────────────────────────────────────────
|
|
169
|
-
server.registerTool("corven_list_bounties", {
|
|
170
|
-
title: "List Bounties",
|
|
171
|
-
description: "Lists all bounties with optional status and minimum reward filters.\n" +
|
|
172
|
-
"USE WHEN: Finding bounties to work on. Reviewing posted bounties. Checking bounty board activity.\n" +
|
|
173
|
-
"REQUIRES: Nothing. Free read-only call.\n" +
|
|
174
|
-
"RETURNS: Array of bounty summaries (id, title, reward, status, deadline, submission count).\n" +
|
|
175
|
-
"COMES BEFORE: corven_get_bounty for full details, corven_claim_bounty to submit work.",
|
|
176
|
-
inputSchema: {
|
|
177
|
-
status: z.enum(["open", "in_review", "completed", "cancelled"]).optional()
|
|
178
|
-
.describe("Filter by bounty status. Omit to return all."),
|
|
179
|
-
minReward: z.string().optional()
|
|
180
|
-
.describe('Minimum reward in ETH as decimal string, e.g. "0.01". Omit for no minimum.'),
|
|
181
|
-
},
|
|
182
|
-
}, async ({ status, minReward }) => {
|
|
183
|
-
try {
|
|
184
|
-
const minRewardWei = minReward ? parseEther(minReward) : 0n;
|
|
185
|
-
const results = [];
|
|
186
|
-
for (const bounty of bounties.values()) {
|
|
187
|
-
if (status && bounty.status !== status)
|
|
188
|
-
continue;
|
|
189
|
-
if (parseEther(bounty.reward) < minRewardWei)
|
|
190
|
-
continue;
|
|
191
|
-
results.push({
|
|
192
|
-
id: bounty.id,
|
|
193
|
-
title: bounty.title,
|
|
194
|
-
reward: `${bounty.reward} ETH`,
|
|
195
|
-
status: bounty.status,
|
|
196
|
-
deadline: bounty.deadline,
|
|
197
|
-
submissions: bounty.submissions.size,
|
|
198
|
-
creator: bounty.creator,
|
|
199
|
-
});
|
|
200
|
-
}
|
|
201
|
-
if (results.length === 0) {
|
|
202
|
-
return formatReadResult({ count: 0, bounties: [] }, "No bounties found matching the given filters.");
|
|
203
|
-
}
|
|
204
|
-
return formatReadResult({ count: results.length, bounties: results }, `Found ${results.length} bount${results.length === 1 ? "y" : "ies"}.`);
|
|
205
|
-
}
|
|
206
|
-
catch (e) {
|
|
207
|
-
const parsed = parseContractError(e);
|
|
208
|
-
return formatStructuredError(parsed.error, parsed.cause, parsed.fix, parsed.retryable);
|
|
209
|
-
}
|
|
210
|
-
});
|
|
211
|
-
// ──────────────────────────────────────────────────────────────
|
|
212
|
-
// corven_get_bounty
|
|
213
|
-
// ──────────────────────────────────────────────────────────────
|
|
214
|
-
server.registerTool("corven_get_bounty", {
|
|
215
|
-
title: "Get Bounty Details",
|
|
216
|
-
description: "Reads full details of a bounty including all submissions.\n" +
|
|
217
|
-
"USE WHEN: Checking a specific bounty before claiming. Reviewing submissions as a creator.\n" +
|
|
218
|
-
"REQUIRES: Nothing. Free read-only call.\n" +
|
|
219
|
-
"RETURNS: Full bounty details — title, description, reward, status, deadline, creator, all submissions, winner.\n" +
|
|
220
|
-
"COMES AFTER: corven_list_bounties found the bounty ID.\n" +
|
|
221
|
-
"COMES BEFORE: corven_claim_bounty (for workers) or corven_select_bounty_winner (for creator).",
|
|
222
|
-
inputSchema: {
|
|
223
|
-
bountyId: z.number().describe("Bounty ID to look up"),
|
|
224
|
-
},
|
|
225
|
-
}, async ({ bountyId }) => {
|
|
226
|
-
try {
|
|
227
|
-
const bounty = bounties.get(bountyId);
|
|
228
|
-
if (!bounty) {
|
|
229
|
-
return formatStructuredError(`Bounty #${bountyId} not found.`, "No bounty exists with that ID.", "Call corven_list_bounties to see available bounties.", false);
|
|
230
|
-
}
|
|
231
|
-
const submissionList = Array.from(bounty.submissions.values()).map(s => ({
|
|
232
|
-
worker: s.worker,
|
|
233
|
-
deliverableHash: s.deliverableHash,
|
|
234
|
-
submittedAt: s.submittedAt,
|
|
235
|
-
}));
|
|
236
|
-
return formatReadResult({
|
|
237
|
-
id: bounty.id,
|
|
238
|
-
title: bounty.title,
|
|
239
|
-
description: bounty.description,
|
|
240
|
-
reward: `${bounty.reward} ETH`,
|
|
241
|
-
creator: bounty.creator,
|
|
242
|
-
status: bounty.status,
|
|
243
|
-
deadline: bounty.deadline,
|
|
244
|
-
submissions: submissionList,
|
|
245
|
-
winner: bounty.winner ?? "none",
|
|
246
|
-
createdAt: bounty.createdAt,
|
|
247
|
-
}, `Bounty #${bountyId}`);
|
|
248
|
-
}
|
|
249
|
-
catch (e) {
|
|
250
|
-
const parsed = parseContractError(e);
|
|
251
|
-
return formatStructuredError(parsed.error, parsed.cause, parsed.fix, parsed.retryable);
|
|
252
|
-
}
|
|
253
|
-
});
|
|
254
|
-
// ──────────────────────────────────────────────────────────────
|
|
255
|
-
// corven_select_bounty_winner
|
|
256
|
-
// ──────────────────────────────────────────────────────────────
|
|
257
|
-
server.registerTool("corven_select_bounty_winner", {
|
|
258
|
-
title: "Select Bounty Winner",
|
|
259
|
-
description: "The bounty creator selects the winning submission from the pool of claims.\n" +
|
|
260
|
-
"USE WHEN: You reviewed submissions (corven_get_bounty) and want to pick the best one.\n" +
|
|
261
|
-
"REQUIRES: You must be the bounty creator. Bounty must be open. The winner must have submitted.\n" +
|
|
262
|
-
"RETURNS: Bounty ID, winner address, final status.\n" +
|
|
263
|
-
"COMES AFTER: Workers called corven_claim_bounty. Creator reviewed via corven_get_bounty.\n" +
|
|
264
|
-
"NOTE: This marks the bounty as completed. In the full on-chain version this would release escrowed ETH.",
|
|
265
|
-
inputSchema: {
|
|
266
|
-
bountyId: z.number().describe("Bounty ID"),
|
|
267
|
-
winnerAddress: ethAddress,
|
|
268
|
-
},
|
|
269
|
-
}, async ({ bountyId, winnerAddress }) => {
|
|
270
|
-
try {
|
|
271
|
-
const account = getAccount();
|
|
272
|
-
if (!account) {
|
|
273
|
-
return formatStructuredError("No private key configured.", "PRIVATE_KEY not set.", "Set PRIVATE_KEY in .env.", false);
|
|
274
|
-
}
|
|
275
|
-
const bounty = bounties.get(bountyId);
|
|
276
|
-
if (!bounty) {
|
|
277
|
-
return formatStructuredError(`Bounty #${bountyId} not found.`, "No bounty exists with that ID.", "Call corven_list_bounties to see available bounties.", false);
|
|
278
|
-
}
|
|
279
|
-
if (bounty.creator.toLowerCase() !== account.address.toLowerCase()) {
|
|
280
|
-
return formatStructuredError("Only the bounty creator can select a winner.", `This bounty was created by ${bounty.creator}, not ${account.address}.`, "Use the wallet that called corven_post_bounty.", false);
|
|
281
|
-
}
|
|
282
|
-
if (bounty.status !== "open") {
|
|
283
|
-
return formatStructuredError(`Bounty #${bountyId} is not open (status: ${bounty.status}).`, "Can only select a winner for open bounties.", "Check bounty status with corven_get_bounty.", false);
|
|
284
|
-
}
|
|
285
|
-
if (!bounty.submissions.has(winnerAddress)) {
|
|
286
|
-
return formatStructuredError(`Address ${winnerAddress} has not submitted to Bounty #${bountyId}.`, "The winner must have called corven_claim_bounty first.", "Check submissions with corven_get_bounty.", false);
|
|
287
|
-
}
|
|
288
|
-
bounty.winner = winnerAddress;
|
|
289
|
-
bounty.status = "completed";
|
|
290
|
-
persistBounties();
|
|
291
|
-
return formatSuccess(`Winner selected for Bounty #${bountyId}.`, {
|
|
292
|
-
bountyId,
|
|
293
|
-
winner: winnerAddress,
|
|
294
|
-
reward: `${bounty.reward} ETH`,
|
|
295
|
-
status: "completed",
|
|
296
|
-
});
|
|
297
|
-
}
|
|
298
|
-
catch (e) {
|
|
299
|
-
const parsed = parseContractError(e);
|
|
300
|
-
return formatStructuredError(parsed.error, parsed.cause, parsed.fix, parsed.retryable);
|
|
301
|
-
}
|
|
302
|
-
});
|
|
303
|
-
}
|
|
304
|
-
//# sourceMappingURL=bounties.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bounties.js","sourceRoot":"","sources":["../../src/tools/bounties.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/bridge.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/tools/bridge.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA2DzE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA0K3D"}
|
package/dist/tools/bridge.js
DELETED
|
@@ -1,190 +0,0 @@
|
|
|
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
|
package/dist/tools/bridge.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/tools/bridge.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAe,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAerF,MAAM,aAAa,GAAkB;IACnC;QACE,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,0BAA0B;QAClC,WAAW,EAAE,8BAA8B;QAC3C,SAAS,EAAE,iCAAiC;QAC5C,aAAa,EAAE,YAAY;QAC3B,WAAW,EAAE,KAAK;KACnB;IACD;QACE,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,0BAA0B;QAClC,WAAW,EAAE,sBAAsB;QACnC,SAAS,EAAE,yBAAyB;QACpC,aAAa,EAAE,YAAY;QAC3B,WAAW,EAAE,KAAK;KACnB;IACD;QACE,OAAO,EAAE,GAAG;QACZ,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,yBAAyB;QACjC,WAAW,EAAE,yBAAyB;QACtC,SAAS,EAAE,0CAA0C;QACrD,aAAa,EAAE,YAAY;QAC3B,WAAW,EAAE,OAAO;KACrB;IACD;QACE,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,8BAA8B;QACtC,WAAW,EAAE,qBAAqB;QAClC,SAAS,EAAE,4BAA4B;QACvC,aAAa,EAAE,aAAa;QAC5B,WAAW,EAAE,KAAK;KACnB;CACF,CAAC;AAEF,SAAS,SAAS,CAAC,OAAe;IAChC,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC;AAC1D,CAAC;AAED,sEAAsE;AAEtE,MAAM,UAAU,mBAAmB,CAAC,MAAiB;IACnD,iEAAiE;IACjE,yBAAyB;IACzB,iEAAiE;IACjE,MAAM,CAAC,YAAY,CACjB,wBAAwB,EACxB;QACE,KAAK,EAAE,6BAA6B;QACpC,WAAW,EACT,4EAA4E;YAC5E,mGAAmG;YACnG,8EAA8E;YAC9E,+EAA+E;YAC/E,wGAAwG;QAC1G,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uEAAuE,CAAC;YACvG,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sEAAsE,CAAC;YACpG,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4DAA4D,CAAC;SAC1F;KACF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,IAAI,CAAC;YACH,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,MAAgE,CAAC;YAExG,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;YAClC,MAAM,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;YAE9B,MAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI;gBAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,SAAS,oBAAoB,CAAC,CAAC;YACtE,IAAI,CAAC,EAAE;gBAAE,MAAM,CAAC,IAAI,CAAC,qBAAqB,OAAO,oBAAoB,CAAC,CAAC;YACvE,IAAI,SAAS,KAAK,OAAO;gBAAE,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YAC3F,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAO,gBAAgB,CACrB;oBACE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;oBACvB,eAAe,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;iBAClF,EACD,uBAAuB,CACxB,CAAC;YACJ,CAAC;YAED,MAAM,gBAAgB,GAAG,IAAK,CAAC,OAAO,KAAK,KAAK,IAAI,IAAK,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAK,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAChH,MAAM,WAAW,GAAG,EAAG,CAAC,OAAO,KAAK,KAAK,IAAI,EAAG,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAG,CAAC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACrG,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC;YAEtH,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC;gBACtC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC;gBAC7B,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC;gBACzB,MAAM;gBACN,KAAK,EAAE,IAAK,CAAC,WAAW;aACzB,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,GAAG,IAAK,CAAC,SAAS,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC;YAEjE,OAAO,gBAAgB,CACrB;gBACE,IAAI,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAK,CAAC,IAAI,EAAE,WAAW,EAAE,IAAK,CAAC,WAAW,EAAE;gBAC9E,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,EAAG,CAAC,IAAI,EAAE,WAAW,EAAE,EAAG,CAAC,WAAW,EAAE;gBACtE,MAAM;gBACN,cAAc,EAAE,SAAS;gBACzB,UAAU,EAAE,SAAS;gBACrB,aAAa,EAAE,IAAK,CAAC,WAAW;gBAChC,WAAW,EAAE,EAAG,CAAC,WAAW;gBAC5B,KAAK,EAAE;oBACL,2DAA2D;oBAC3D,oEAAoE;oBACpE,sDAAsD;iBACvD;aACF,EACD,oBAAoB,IAAK,CAAC,IAAI,OAAO,EAAG,CAAC,IAAI,EAAE,CAChD,CAAC;QACJ,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACrC,OAAO,qBAAqB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QACzF,CAAC;IACH,CAAC,CACF,CAAC;IAEF,iEAAiE;IACjE,uBAAuB;IACvB,iEAAiE;IACjE,MAAM,CAAC,YAAY,CACjB,sBAAsB,EACtB;QACE,KAAK,EAAE,iCAAiC;QACxC,WAAW,EACT,qFAAqF;YACrF,+GAA+G;YAC/G,+EAA+E;YAC/E,4GAA4G;YAC5G,2FAA2F;QAC7F,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;YACjF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;SACtF;KACF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAA+C,CAAC;YAE9E,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;YAClC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO,gBAAgB,CACrB;oBACE,KAAK,EAAE,YAAY,SAAS,oBAAoB;oBAChD,eAAe,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;iBAClF,EACD,qBAAqB,CACtB,CAAC;YACJ,CAAC;YAED,OAAO,gBAAgB,CACrB;gBACE,OAAO,EAAE,MAAM;gBACf,YAAY,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;gBACrD,MAAM,EAAE,gBAAgB;gBACxB,eAAe,EAAE,GAAG,IAAI,CAAC,WAAW,OAAO,MAAM,EAAE;gBACnD,KAAK,EAAE;oBACL,mDAAmD;oBACnD,iEAAiE;oBACjE,yEAAyE;oBACzE,eAAe,IAAI,CAAC,IAAI,2BAA2B,IAAI,CAAC,aAAa,GAAG;iBACzE;aACF,EACD,kBAAkB,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAC3C,CAAC;QACJ,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACrC,OAAO,qBAAqB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QACzF,CAAC;IACH,CAAC,CACF,CAAC;IAEF,iEAAiE;IACjE,2BAA2B;IAC3B,iEAAiE;IACjE,MAAM,CAAC,YAAY,CACjB,0BAA0B,EAC1B;QACE,KAAK,EAAE,8BAA8B;QACrC,WAAW,EACT,gFAAgF;YAChF,8GAA8G;YAC9G,2CAA2C;YAC3C,qHAAqH;QACvH,WAAW,EAAE,EAAE;KAChB,EACD,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,OAAO,gBAAgB,CACrB;gBACE,WAAW,EAAE,aAAa,CAAC,MAAM;gBACjC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAChC,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,aAAa,EAAE,CAAC,CAAC,aAAa;oBAC9B,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,SAAS,EAAE,CAAC,CAAC,SAAS;iBACvB,CAAC,CAAC;aACJ,EACD,yBAAyB,CAC1B,CAAC;QACJ,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACrC,OAAO,qBAAqB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;QACzF,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|