@blindmarket/mcp-server 0.3.6 → 0.4.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 +13 -8
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/rent.d.ts.map +1 -1
- package/dist/rent.js +124 -57
- package/dist/rent.js.map +1 -1
- package/dist/settlement.d.ts +63 -13
- package/dist/settlement.d.ts.map +1 -1
- package/dist/settlement.js +105 -14
- package/dist/settlement.js.map +1 -1
- package/dist/state.d.ts +3 -2
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js.map +1 -1
- package/dist/tools.d.ts +11 -1
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +63 -27
- package/dist/tools.js.map +1 -1
- package/dist/wallet.js +3 -3
- package/dist/wallet.js.map +1 -1
- package/package.json +3 -2
package/dist/tools.js
CHANGED
|
@@ -1,9 +1,36 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* `settlement` is rent.ts's resolver. An executor registered from this process
|
|
4
|
+
* delivers through complete_task, which settles on that one chain (the
|
|
5
|
+
* backend's posting chain, or the one BLINDMARKET_SETTLEMENT names), so that
|
|
6
|
+
* is the only chain it declares. Declaring more would get it offered tasks it
|
|
7
|
+
* cannot deliver on a backend that filters by the list; declaring nothing is
|
|
8
|
+
* read as 0G+Base there and stored as ['0g'] by older backends — wrong either
|
|
9
|
+
* way for a one-chain process.
|
|
10
|
+
*/
|
|
11
|
+
export function registerMarketTools(server, bb, walletCtx = null, settlement) {
|
|
12
|
+
async function declaredChains(tool) {
|
|
13
|
+
if (!settlement)
|
|
14
|
+
return { supportedChains: undefined };
|
|
15
|
+
try {
|
|
16
|
+
const s = await settlement();
|
|
17
|
+
return {
|
|
18
|
+
supportedChains: [s.mode],
|
|
19
|
+
...(s.payment === 'local-native' && !walletCtx
|
|
20
|
+
? { warning: `Declared ${s.mode}, but complete_task delivers on 0G from BLINDMARKET_PRIVATE_KEY, which is not set: tasks accepted there cannot be delivered from this process until it is.` }
|
|
21
|
+
: {}),
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
catch (err) {
|
|
25
|
+
const code = err.code ?? 'SETTLEMENT_UNKNOWN';
|
|
26
|
+
const message = `${tool} declares the chain this process can deliver on (the backend's posting chain, or the one BLINDMARKET_SETTLEMENT names), and could not learn it: ${err.message}`;
|
|
27
|
+
return { error: { isError: true, content: [{ type: 'text', text: JSON.stringify({ success: false, error: { code, message } }) }] } };
|
|
28
|
+
}
|
|
29
|
+
}
|
|
3
30
|
// ── Health & Stats ────────────────────────────────────────────────────
|
|
4
31
|
server.registerTool('health', {
|
|
5
32
|
title: 'Health Check',
|
|
6
|
-
description: 'Check
|
|
33
|
+
description: 'Check that the BlindMarket backend this server talks to is up: returns its status and server time. It does not check settlement readiness (escrows, signers), so use it to tell an outage apart from a request that failed for its own reasons.',
|
|
7
34
|
inputSchema: {},
|
|
8
35
|
}, async () => {
|
|
9
36
|
const result = await bb.health();
|
|
@@ -11,7 +38,7 @@ export function registerMarketTools(server, bb, walletCtx = null) {
|
|
|
11
38
|
});
|
|
12
39
|
server.registerTool('stats', {
|
|
13
40
|
title: 'Platform Stats',
|
|
14
|
-
description: 'Get live
|
|
41
|
+
description: 'Get live platform totals: open tasks in the legacy 0G TaskRegistry, active and deployed agents, registered users, completed tasks, and the volume processed through escrow in the pricing unit (USDC). Public and read-only; for work you can take, use browse_a2a_tasks.',
|
|
15
42
|
inputSchema: {},
|
|
16
43
|
}, async () => {
|
|
17
44
|
const result = await bb.stats();
|
|
@@ -20,9 +47,9 @@ export function registerMarketTools(server, bb, walletCtx = null) {
|
|
|
20
47
|
// ── Tasks ─────────────────────────────────────────────────────────────
|
|
21
48
|
server.registerTool('list_open_tasks', {
|
|
22
49
|
title: 'List Open Tasks',
|
|
23
|
-
description: 'List open tasks
|
|
50
|
+
description: 'List open tasks from the legacy 0G TaskRegistry (numeric ids on the 0G escrow), up to limit (max 50), each flagged a2aIndexed when agents can reach it. Tasks escrowed on Base or Arc are not in this list: use browse_a2a_tasks to find work you can take.',
|
|
24
51
|
inputSchema: {
|
|
25
|
-
limit: z.number().optional().describe('Maximum number of tasks to return (default 20)'),
|
|
52
|
+
limit: z.number().optional().describe('Maximum number of tasks to return (default 20, max 50)'),
|
|
26
53
|
},
|
|
27
54
|
}, async ({ limit }) => {
|
|
28
55
|
const tasks = await bb.listTasks(limit ?? 20);
|
|
@@ -30,9 +57,9 @@ export function registerMarketTools(server, bb, walletCtx = null) {
|
|
|
30
57
|
});
|
|
31
58
|
server.registerTool('get_task', {
|
|
32
59
|
title: 'Get Task Details',
|
|
33
|
-
description:
|
|
60
|
+
description: "Get one task: its on-chain escrow record (status 0 Funded, 1 Assigned, 2 Submitted, 3 failed verification, 4 Completed, 5 Cancelled, 6 Disputed; reward, deadline, poster and worker), the reward's unit, and its marketplace state. Prefer the 0x task hash, which resolves to whichever chain holds the task; a numeric id is read on the chain new tasks are posted on, and ids repeat across chains. The deliverable (resultData) is included only for the task's poster or worker, or when the task is public.",
|
|
34
61
|
inputSchema: {
|
|
35
|
-
taskId: z.string().describe('Task
|
|
62
|
+
taskId: z.string().describe('Task hash (0x-prefixed bytes32, preferred) or numeric escrow id'),
|
|
36
63
|
},
|
|
37
64
|
}, async ({ taskId }) => {
|
|
38
65
|
const task = await bb.getTask(taskId);
|
|
@@ -40,10 +67,10 @@ export function registerMarketTools(server, bb, walletCtx = null) {
|
|
|
40
67
|
});
|
|
41
68
|
server.registerTool('browse_a2a_tasks', {
|
|
42
69
|
title: 'Browse A2A Tasks',
|
|
43
|
-
description:
|
|
70
|
+
description: "List open agent-to-agent tasks you could execute, with public metadata only (such as the task's chain, deadline, required capabilities and verification mode, plus the brief itself for a public task), never an encrypted brief or anyone's wrapped key; tasks past their deadline are left out. With capabilities, a task is kept only if every capability it requires is in your list (tasks requiring none are always kept). Results are not filtered by chain, so check each task's chain against the one this process delivers on (wallet_status) before accept_task.",
|
|
44
71
|
inputSchema: {
|
|
45
72
|
capabilities: z.string().optional().describe('Comma-separated capability filter (e.g. "data_processing,web_research")'),
|
|
46
|
-
minReputation: z.number().optional().describe('
|
|
73
|
+
minReputation: z.number().optional().describe('Accepted for compatibility; ignored by the backend'),
|
|
47
74
|
},
|
|
48
75
|
}, async ({ capabilities, minReputation }) => {
|
|
49
76
|
const result = await bb.browseA2ATasks({
|
|
@@ -55,7 +82,7 @@ export function registerMarketTools(server, bb, walletCtx = null) {
|
|
|
55
82
|
// ── Agents ────────────────────────────────────────────────────────────
|
|
56
83
|
server.registerTool('create_agent', {
|
|
57
84
|
title: 'Create Agent',
|
|
58
|
-
description: "Register as an A2A executor using the local wallet (BLINDMARKET_PRIVATE_KEY): derives its uncompressed public key and registers it. The executor is
|
|
85
|
+
description: "Register as an A2A executor using the local wallet (BLINDMARKET_PRIVATE_KEY): derives its uncompressed public key and registers it. The executor is always the wallet that owns BLINDMARKET_API_KEY, so on 0G the two must be the same wallet (checked — a mismatch is refused). No wallet is generated and no key is returned. On Base with a Privy owner wallet, use register_as_executor with wallet_status's executorPublicKey instead.",
|
|
59
86
|
inputSchema: {
|
|
60
87
|
displayName: z.string().describe('Display name for the agent'),
|
|
61
88
|
capabilities: z.string().describe('Comma-separated capabilities (e.g. "data_processing,web_research")'),
|
|
@@ -73,7 +100,11 @@ export function registerMarketTools(server, bb, walletCtx = null) {
|
|
|
73
100
|
if (typeof bb.deliverResult !== 'function') {
|
|
74
101
|
return { isError: true, content: [{ type: 'text', text: JSON.stringify({ success: false, error: { code: 'SDK_TOO_OLD', message: 'The installed @blindmarket/sdk ignores the wallet key passed to createAgent. Upgrade @blindmarket/sdk, or use register_as_executor with wallet_status\'s executorPublicKey.' } }) }] };
|
|
75
102
|
}
|
|
103
|
+
const chains = await declaredChains('create_agent');
|
|
104
|
+
if ('error' in chains)
|
|
105
|
+
return chains.error;
|
|
76
106
|
const { executor, wallet } = await bb.createAgent({
|
|
107
|
+
supportedChains: chains.supportedChains,
|
|
77
108
|
privateKey: walletCtx.wallet.privateKey,
|
|
78
109
|
displayName,
|
|
79
110
|
capabilities: capabilities.split(',').map(s => s.trim()),
|
|
@@ -83,12 +114,12 @@ export function registerMarketTools(server, bb, walletCtx = null) {
|
|
|
83
114
|
: undefined,
|
|
84
115
|
});
|
|
85
116
|
// Never echo the private key into the model's context.
|
|
86
|
-
const result = { executor, wallet: { address: wallet.address, publicKey: wallet.publicKey } };
|
|
117
|
+
const result = { executor, wallet: { address: wallet.address, publicKey: wallet.publicKey }, ...(chains.warning ? { warning: chains.warning } : {}) };
|
|
87
118
|
return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] };
|
|
88
119
|
});
|
|
89
120
|
server.registerTool('register_as_executor', {
|
|
90
121
|
title: 'Register as Executor',
|
|
91
|
-
description: "Register as an A2A executor. The executor address is
|
|
122
|
+
description: "Register as an A2A executor. The executor address is always the wallet that owns BLINDMARKET_API_KEY; publicKey is the key briefs get wrapped to (wallet_status reports the local one as executorPublicKey). Declares the one chain this process delivers on (the chain the backend posts new tasks on, or BLINDMARKET_SETTLEMENT's — wallet_status shows it); a backend that filters by it then offers only tasks it can complete.",
|
|
92
123
|
inputSchema: {
|
|
93
124
|
address: z.string().optional().describe("Ignored by the backend — the executor is the API key's owner wallet"),
|
|
94
125
|
displayName: z.string().describe('Display name'),
|
|
@@ -97,17 +128,22 @@ export function registerMarketTools(server, bb, walletCtx = null) {
|
|
|
97
128
|
minReward: z.string().optional().describe("Minimum reward, as an integer in the payment token's smallest unit (USDC: 6 decimals)"),
|
|
98
129
|
},
|
|
99
130
|
}, async ({ displayName, capabilities, publicKey, minReward }) => {
|
|
131
|
+
const chains = await declaredChains('register_as_executor');
|
|
132
|
+
if ('error' in chains)
|
|
133
|
+
return chains.error;
|
|
100
134
|
const result = await bb.registerExecutor({
|
|
135
|
+
supportedChains: chains.supportedChains,
|
|
101
136
|
displayName,
|
|
102
137
|
capabilities: capabilities.split(',').map(s => s.trim()),
|
|
103
138
|
publicKey,
|
|
104
139
|
minReward: minReward ?? undefined,
|
|
105
140
|
});
|
|
106
|
-
|
|
141
|
+
const body = chains.warning ? { ...result, warning: chains.warning } : result;
|
|
142
|
+
return { content: [{ type: 'text', text: JSON.stringify(body, null, 2) }] };
|
|
107
143
|
});
|
|
108
144
|
server.registerTool('list_agents', {
|
|
109
145
|
title: 'List Agents',
|
|
110
|
-
description:
|
|
146
|
+
description: "List agents hosted on BlindMarket with their public profile (name, provider and model, status, capabilities); keys and secrets are never included. Returns the first 20; pass ownerAddress to see one owner's agents. Agents that take tasks from elsewhere (SDK, MCP) are not hosted here, so use search_agents to find agents to hire.",
|
|
111
147
|
inputSchema: {
|
|
112
148
|
ownerAddress: z.string().optional().describe('Filter by owner wallet address'),
|
|
113
149
|
},
|
|
@@ -117,7 +153,7 @@ export function registerMarketTools(server, bb, walletCtx = null) {
|
|
|
117
153
|
});
|
|
118
154
|
server.registerTool('get_agent', {
|
|
119
155
|
title: 'Get Agent Details',
|
|
120
|
-
description:
|
|
156
|
+
description: "Get one hosted agent's public profile by its agent id (from list_agents): status, provider and model, capabilities, wallet address and on-chain identity. Keys and secrets are never included.",
|
|
121
157
|
inputSchema: {
|
|
122
158
|
agentId: z.string().describe('Agent ID'),
|
|
123
159
|
},
|
|
@@ -128,7 +164,7 @@ export function registerMarketTools(server, bb, walletCtx = null) {
|
|
|
128
164
|
// ── A2A Actions ───────────────────────────────────────────────────────
|
|
129
165
|
server.registerTool('bid_on_task', {
|
|
130
166
|
title: 'Bid on Task',
|
|
131
|
-
description:
|
|
167
|
+
description: "Register interest in an open A2A task whose brief key has not been wrapped to you, so the poster can wrap it to your public key; accept_task then succeeds. Use it when accept_task answers NEEDS_WRAP. Idempotent. Refused for your own task, before you have registered as an executor with a public key, or when your registration does not include the task's chain (CHAIN_UNSUPPORTED).",
|
|
132
168
|
inputSchema: {
|
|
133
169
|
taskId: z.string().describe('Task ID'),
|
|
134
170
|
},
|
|
@@ -153,7 +189,7 @@ export function registerMarketTools(server, bb, walletCtx = null) {
|
|
|
153
189
|
// finalize, with /rebroadcast healing for a stranded 'submitted' task.
|
|
154
190
|
server.registerTool('verify_task', {
|
|
155
191
|
title: 'Verify Task',
|
|
156
|
-
description: '
|
|
192
|
+
description: "Ask the platform's AI verifier (0G Compute, in a TEE) for a verdict on a submitted result: returns passed, confidence, reasoning, the model used and whether the run was TEE-attested. It does not settle the escrow or change the task; settlement follows the task's verification mode. Only the task's poster, designated verifier or assigned executor may call it, only the poster or verifier may add taskRequirements, and calls are rate-limited because each one runs a paid inference.",
|
|
157
193
|
inputSchema: {
|
|
158
194
|
// taskHash, not a numeric id: ids collide across 0G and Base, so the
|
|
159
195
|
// backend keys verification on the hash like every other A2A surface.
|
|
@@ -176,7 +212,7 @@ export function registerMarketTools(server, bb, walletCtx = null) {
|
|
|
176
212
|
// ── Reputation ────────────────────────────────────────────────────────
|
|
177
213
|
server.registerTool('get_reputation', {
|
|
178
214
|
title: 'Get Reputation',
|
|
179
|
-
description: "Get an address's on-chain
|
|
215
|
+
description: "Get an address's reputation: its on-chain BlindReputation record and the platform's decayed score, which halves for every 7 days since the address's last task. Use it to vet an agent before relying on its work.",
|
|
180
216
|
inputSchema: {
|
|
181
217
|
address: z.string().describe('Wallet address (0x...)'),
|
|
182
218
|
},
|
|
@@ -186,7 +222,7 @@ export function registerMarketTools(server, bb, walletCtx = null) {
|
|
|
186
222
|
});
|
|
187
223
|
server.registerTool('get_leaderboard', {
|
|
188
224
|
title: 'Get Leaderboard',
|
|
189
|
-
description: 'Get top workers ranked by reputation score',
|
|
225
|
+
description: 'Get the top workers ranked by reputation score, up to limit (default 50). For agents with a particular capability, use search_agents.',
|
|
190
226
|
inputSchema: {
|
|
191
227
|
limit: z.number().optional().describe('Number of top workers to return (default 50)'),
|
|
192
228
|
},
|
|
@@ -197,10 +233,10 @@ export function registerMarketTools(server, bb, walletCtx = null) {
|
|
|
197
233
|
// ── Marketplace ───────────────────────────────────────────────────────
|
|
198
234
|
server.registerTool('search_agents', {
|
|
199
235
|
title: 'Search Agents',
|
|
200
|
-
description:
|
|
236
|
+
description: "Search agents registered to take marketplace tasks, by capability tag and optionally a minimum average review rating. Returns the 20 most recently registered matches, each with its address, name, capabilities, reputation, average rating, earned badges and lowest service price; use it to find an agent to hire or delegate to.",
|
|
201
237
|
inputSchema: {
|
|
202
238
|
capability: z.string().optional().describe('Capability filter'),
|
|
203
|
-
minRating: z.number().optional().describe(
|
|
239
|
+
minRating: z.number().optional().describe("Minimum average review rating from posters' reviews (1-5)"),
|
|
204
240
|
},
|
|
205
241
|
}, async ({ capability, minRating }) => {
|
|
206
242
|
const agents = await bb.searchAgents({
|
|
@@ -212,7 +248,7 @@ export function registerMarketTools(server, bb, walletCtx = null) {
|
|
|
212
248
|
// ── Messages ─────────────────────────────────────────────────────────
|
|
213
249
|
server.registerTool('send_message', {
|
|
214
250
|
title: 'Send Message',
|
|
215
|
-
description: 'Send a message
|
|
251
|
+
description: 'Send a message on a task to another participant. to is a wallet address, or the shortcut "poster" (the task\'s poster) or "agent" (its assigned executor), which need taskId. The recipient reads it in their BlindMarket inbox; replies arrive in get_inbox.',
|
|
216
252
|
inputSchema: {
|
|
217
253
|
taskId: z.string().describe('Task ID'),
|
|
218
254
|
to: z.string().describe('Recipient address or "poster"/"agent" shortcut'),
|
|
@@ -224,7 +260,7 @@ export function registerMarketTools(server, bb, walletCtx = null) {
|
|
|
224
260
|
});
|
|
225
261
|
server.registerTool('get_inbox', {
|
|
226
262
|
title: 'Get Inbox',
|
|
227
|
-
description:
|
|
263
|
+
description: "Read the messages sent to the wallet behind your API key, across all tasks, with each message's sender and task. Check it after send_message to read replies.",
|
|
228
264
|
inputSchema: {},
|
|
229
265
|
}, async () => {
|
|
230
266
|
const result = await bb.getInbox();
|
|
@@ -233,7 +269,7 @@ export function registerMarketTools(server, bb, walletCtx = null) {
|
|
|
233
269
|
// ── Agent Management (write) ──────────────────────────────────────────
|
|
234
270
|
server.registerTool('start_agent', {
|
|
235
271
|
title: 'Start Agent',
|
|
236
|
-
description: 'Start
|
|
272
|
+
description: 'Start one of your hosted agents (owner only). On start it re-registers as an executor, resumes any task still assigned to it, and begins taking tasks, paying gas from its own wallet, so fund that wallet on the settlement chain first. Returns the agent\'s updated record.',
|
|
237
273
|
inputSchema: {
|
|
238
274
|
agentId: z.string().describe('Agent ID'),
|
|
239
275
|
},
|
|
@@ -243,7 +279,7 @@ export function registerMarketTools(server, bb, walletCtx = null) {
|
|
|
243
279
|
});
|
|
244
280
|
server.registerTool('stop_agent', {
|
|
245
281
|
title: 'Stop Agent',
|
|
246
|
-
description: 'Stop
|
|
282
|
+
description: 'Stop one of your hosted agents (owner only): its process ends and it takes no new tasks until started again, when it resumes any task still assigned to it. Returns the agent\'s updated record.',
|
|
247
283
|
inputSchema: {
|
|
248
284
|
agentId: z.string().describe('Agent ID'),
|
|
249
285
|
},
|
|
@@ -253,7 +289,7 @@ export function registerMarketTools(server, bb, walletCtx = null) {
|
|
|
253
289
|
});
|
|
254
290
|
server.registerTool('pause_agent', {
|
|
255
291
|
title: 'Pause Agent',
|
|
256
|
-
description: '
|
|
292
|
+
description: 'Freeze one of your hosted agents in place (owner only). Unlike stop_agent it keeps the process and any task it holds, doing nothing until brought back; restart_agent brings it back as a fresh process. Fails if the agent is not running.',
|
|
257
293
|
inputSchema: {
|
|
258
294
|
agentId: z.string().describe('Agent ID'),
|
|
259
295
|
},
|
|
@@ -263,7 +299,7 @@ export function registerMarketTools(server, bb, walletCtx = null) {
|
|
|
263
299
|
});
|
|
264
300
|
server.registerTool('restart_agent', {
|
|
265
301
|
title: 'Restart Agent',
|
|
266
|
-
description: '
|
|
302
|
+
description: 'Stop and start one of your hosted agents (owner only), for example to pick up a changed configuration. Returns the agent\'s updated record.',
|
|
267
303
|
inputSchema: {
|
|
268
304
|
agentId: z.string().describe('Agent ID'),
|
|
269
305
|
},
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
package/dist/wallet.js
CHANGED
|
@@ -56,9 +56,9 @@ export function registerWalletTools(server, ctx, settlement) {
|
|
|
56
56
|
else {
|
|
57
57
|
try {
|
|
58
58
|
const s = await settlement();
|
|
59
|
-
settlementReport = s.
|
|
60
|
-
? { mode:
|
|
61
|
-
: { mode:
|
|
59
|
+
settlementReport = s.payment === 'relay-erc20'
|
|
60
|
+
? { mode: s.mode, payment: s.payment, chainId: s.chainId, escrowAddress: s.escrowAddress, token: s.token, usdcAddress: s.usdcAddress, relayChain: s.relayChain, payFrom: s.payFrom, signs: 'backend relay (Privy) — no local key involved. Gas: sponsored in USDC where Privy sponsorship is enabled for this chain, otherwise from payFrom\'s own native balance' }
|
|
61
|
+
: { mode: s.mode, payment: s.payment, chainId: s.chainId ?? null, escrowAddress: s.escrowAddress ?? null, token: s.token, payFrom: ctx?.wallet.address ?? null, signs: ctx ? 'local wallet' : 'NOTHING — set BLINDMARKET_PRIVATE_KEY' };
|
|
62
62
|
}
|
|
63
63
|
catch (err) {
|
|
64
64
|
settlementReport = { mode: 'unknown', error: err.message };
|
package/dist/wallet.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../src/wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAI9D;;;;;;;;;GASG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AASjD,MAAM,CAAC,MAAM,eAAe,GAAG,sBAAsB,CAAC;AACtD,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAC;AAEtC,MAAM,UAAU,UAAU;IACxB,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC;IAC/C,IAAI,CAAC,EAAE;QAAE,OAAO,IAAI,CAAC;IACrB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,eAAe,CAAC;IAClE,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,MAAM,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3F,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC1E,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC/C,CAAC;AAED;;;iEAGiE;AACjE,MAAM,UAAU,mBAAmB,CACjC,MAAiB,EACjB,GAAqB,EACrB,UAAsC;IAEtC,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,KAAK,EAAE,eAAe;QACtB,WAAW,EAAE,iUAAiU;QAC9U,WAAW,EAAE,EAAE;QACf,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;KACzD,EACD,KAAK,IAAI,EAAE;QACT,MAAM,WAAW,GAA4B,GAAG;YAC9C,CAAC,CAAC;gBACE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM;gBACvF,0EAA0E;gBAC1E,kEAAkE;gBAClE,mEAAmE;gBACnE,2CAA2C;gBAC3C,iBAAiB,EAAE,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC;aAC7D;YACH,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,+HAA+H,EAAE,CAAC;QACjK,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC;gBACH,WAAW,CAAC,SAAS,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;YACzF,CAAC;YAAC,MAAM,CAAC,CAAC,6CAA6C,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,gBAAyC,CAAC;QAC9C,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,gBAAgB,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,MAAM,CAAC,GAAG,MAAM,UAAU,EAAE,CAAC;gBAC7B,gBAAgB,GAAG,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"wallet.js","sourceRoot":"","sources":["../src/wallet.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blindmarket/mcp-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "MCP server exposing BlindMarket tools — task marketplace, agent management, A2A, and persistent executor loop",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -12,12 +12,13 @@
|
|
|
12
12
|
],
|
|
13
13
|
"scripts": {
|
|
14
14
|
"build": "tsc",
|
|
15
|
+
"prepublishOnly": "npm run build",
|
|
15
16
|
"dev": "tsc --watch",
|
|
16
17
|
"start": "node dist/index.js",
|
|
17
18
|
"test": "npm run build && node --test test/*.test.mjs"
|
|
18
19
|
},
|
|
19
20
|
"dependencies": {
|
|
20
|
-
"@blindmarket/sdk": "^0.6.
|
|
21
|
+
"@blindmarket/sdk": "^0.6.4",
|
|
21
22
|
"@modelcontextprotocol/sdk": "^1.12.0",
|
|
22
23
|
"ethers": "^6.17.0",
|
|
23
24
|
"zod": "^3.24.0"
|