@dominusnode/mcp-server 1.3.0 → 1.5.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.
- package/README.md +57 -56
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +16 -6
- package/dist/src/config.js.map +1 -1
- package/dist/src/http-client.d.ts.map +1 -1
- package/dist/src/http-client.js +24 -5
- package/dist/src/http-client.js.map +1 -1
- package/dist/src/index.js +13 -7
- package/dist/src/index.js.map +1 -1
- package/dist/src/proxy-fetch.d.ts.map +1 -1
- package/dist/src/proxy-fetch.js +51 -13
- package/dist/src/proxy-fetch.js.map +1 -1
- package/dist/src/token-manager.d.ts.map +1 -1
- package/dist/src/token-manager.js.map +1 -1
- package/dist/src/tools/account.d.ts.map +1 -1
- package/dist/src/tools/account.js +172 -35
- package/dist/src/tools/account.js.map +1 -1
- package/dist/src/tools/agent-wallet.d.ts.map +1 -1
- package/dist/src/tools/agent-wallet.js +164 -36
- package/dist/src/tools/agent-wallet.js.map +1 -1
- package/dist/src/tools/crypto.d.ts.map +1 -1
- package/dist/src/tools/crypto.js +57 -11
- package/dist/src/tools/crypto.js.map +1 -1
- package/dist/src/tools/fetch.d.ts.map +1 -1
- package/dist/src/tools/fetch.js +32 -10
- package/dist/src/tools/fetch.js.map +1 -1
- package/dist/src/tools/keys.d.ts.map +1 -1
- package/dist/src/tools/keys.js +49 -10
- package/dist/src/tools/keys.js.map +1 -1
- package/dist/src/tools/mpp.d.ts.map +1 -1
- package/dist/src/tools/mpp.js +72 -15
- package/dist/src/tools/mpp.js.map +1 -1
- package/dist/src/tools/paypal.d.ts.map +1 -1
- package/dist/src/tools/paypal.js +20 -4
- package/dist/src/tools/paypal.js.map +1 -1
- package/dist/src/tools/plans.d.ts.map +1 -1
- package/dist/src/tools/plans.js +23 -4
- package/dist/src/tools/plans.js.map +1 -1
- package/dist/src/tools/proxy.d.ts.map +1 -1
- package/dist/src/tools/proxy.js +15 -3
- package/dist/src/tools/proxy.js.map +1 -1
- package/dist/src/tools/sessions.d.ts.map +1 -1
- package/dist/src/tools/sessions.js +14 -2
- package/dist/src/tools/sessions.js.map +1 -1
- package/dist/src/tools/slots.d.ts.map +1 -1
- package/dist/src/tools/slots.js +37 -6
- package/dist/src/tools/slots.js.map +1 -1
- package/dist/src/tools/stripe.d.ts.map +1 -1
- package/dist/src/tools/stripe.js +20 -4
- package/dist/src/tools/stripe.js.map +1 -1
- package/dist/src/tools/teams.d.ts.map +1 -1
- package/dist/src/tools/teams.js +266 -66
- package/dist/src/tools/teams.js.map +1 -1
- package/dist/src/tools/usage.d.ts.map +1 -1
- package/dist/src/tools/usage.js +42 -9
- package/dist/src/tools/usage.js.map +1 -1
- package/dist/src/tools/wallet-auth.d.ts.map +1 -1
- package/dist/src/tools/wallet-auth.js +75 -13
- package/dist/src/tools/wallet-auth.js.map +1 -1
- package/dist/src/tools/wallet.d.ts.map +1 -1
- package/dist/src/tools/wallet.js +21 -4
- package/dist/src/tools/wallet.js.map +1 -1
- package/dist/src/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -5,7 +5,8 @@ const AGENT_WALLET_RATE_WINDOW_MS = 60_000;
|
|
|
5
5
|
const agentWalletTimestamps = [];
|
|
6
6
|
function checkAgentWalletRateLimit() {
|
|
7
7
|
const now = Date.now();
|
|
8
|
-
while (agentWalletTimestamps.length > 0 &&
|
|
8
|
+
while (agentWalletTimestamps.length > 0 &&
|
|
9
|
+
now - agentWalletTimestamps[0] > AGENT_WALLET_RATE_WINDOW_MS) {
|
|
9
10
|
agentWalletTimestamps.shift();
|
|
10
11
|
}
|
|
11
12
|
if (agentWalletTimestamps.length > 100)
|
|
@@ -57,21 +58,51 @@ export function registerAgentWalletTools(server, httpClient, config) {
|
|
|
57
58
|
catch (err) {
|
|
58
59
|
return {
|
|
59
60
|
isError: true,
|
|
60
|
-
content: [
|
|
61
|
+
content: [
|
|
62
|
+
{
|
|
63
|
+
type: "text",
|
|
64
|
+
text: `Error fetching x402 info: ${err instanceof Error ? err.message : String(err)}`,
|
|
65
|
+
},
|
|
66
|
+
],
|
|
61
67
|
};
|
|
62
68
|
}
|
|
63
69
|
});
|
|
64
70
|
server.tool("dominusnode_agent_wallet_create", "Create a server-side custodial agentic wallet for autonomous proxy billing. Set a spending limit per transaction for safety. Fund it from your main wallet.", {
|
|
65
|
-
label: z
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
71
|
+
label: z
|
|
72
|
+
.string()
|
|
73
|
+
.min(1)
|
|
74
|
+
.max(100)
|
|
75
|
+
.describe("Label for this wallet (e.g., 'scraper-bot', 'research-agent')"),
|
|
76
|
+
spending_limit_cents: z
|
|
77
|
+
.number()
|
|
78
|
+
.int()
|
|
79
|
+
.min(0)
|
|
80
|
+
.max(1000000)
|
|
81
|
+
.default(10000)
|
|
82
|
+
.describe("Max spend per transaction in cents (0 = no limit, default $100)"),
|
|
83
|
+
daily_limit_cents: z
|
|
84
|
+
.number()
|
|
85
|
+
.int()
|
|
86
|
+
.min(1)
|
|
87
|
+
.max(1000000)
|
|
88
|
+
.optional()
|
|
89
|
+
.describe("Optional daily budget in cents (resets at midnight UTC). Omit for no daily limit."),
|
|
90
|
+
allowed_domains: z
|
|
91
|
+
.array(z.string().max(253))
|
|
92
|
+
.max(100)
|
|
93
|
+
.optional()
|
|
94
|
+
.describe("Optional list of allowed target domains. When set, proxy requests to unlisted domains are rejected."),
|
|
69
95
|
}, async (args) => {
|
|
70
96
|
try {
|
|
71
97
|
if (!checkAgentWalletRateLimit()) {
|
|
72
98
|
return {
|
|
73
99
|
isError: true,
|
|
74
|
-
content: [
|
|
100
|
+
content: [
|
|
101
|
+
{
|
|
102
|
+
type: "text",
|
|
103
|
+
text: "Rate limit exceeded: maximum 20 agentic wallet operations per minute. Please wait before retrying.",
|
|
104
|
+
},
|
|
105
|
+
],
|
|
75
106
|
};
|
|
76
107
|
}
|
|
77
108
|
const body = {
|
|
@@ -105,12 +136,20 @@ export function registerAgentWalletTools(server, httpClient, config) {
|
|
|
105
136
|
catch (err) {
|
|
106
137
|
return {
|
|
107
138
|
isError: true,
|
|
108
|
-
content: [
|
|
139
|
+
content: [
|
|
140
|
+
{
|
|
141
|
+
type: "text",
|
|
142
|
+
text: `Error creating wallet: ${err instanceof Error ? err.message : String(err)}`,
|
|
143
|
+
},
|
|
144
|
+
],
|
|
109
145
|
};
|
|
110
146
|
}
|
|
111
147
|
});
|
|
112
148
|
server.tool("dominusnode_agent_wallet_balance", "Check the balance and details of an agentic wallet.", {
|
|
113
|
-
wallet_id: z
|
|
149
|
+
wallet_id: z
|
|
150
|
+
.string()
|
|
151
|
+
.regex(UUID_RE)
|
|
152
|
+
.describe("Wallet ID from dominusnode_agent_wallet_create"),
|
|
114
153
|
}, async (args) => {
|
|
115
154
|
try {
|
|
116
155
|
const data = await httpClient.get(`/api/agent-wallet/${encodeURIComponent(args.wallet_id)}`);
|
|
@@ -130,19 +169,34 @@ export function registerAgentWalletTools(server, httpClient, config) {
|
|
|
130
169
|
catch (err) {
|
|
131
170
|
return {
|
|
132
171
|
isError: true,
|
|
133
|
-
content: [
|
|
172
|
+
content: [
|
|
173
|
+
{
|
|
174
|
+
type: "text",
|
|
175
|
+
text: `Error: ${err instanceof Error ? err.message : String(err)}`,
|
|
176
|
+
},
|
|
177
|
+
],
|
|
134
178
|
};
|
|
135
179
|
}
|
|
136
180
|
});
|
|
137
181
|
server.tool("dominusnode_agent_wallet_fund", "Transfer funds from your main wallet to an agentic wallet. Minimum $1, maximum $10,000.", {
|
|
138
182
|
wallet_id: z.string().regex(UUID_RE).describe("Wallet ID to fund"),
|
|
139
|
-
amount_cents: z
|
|
183
|
+
amount_cents: z
|
|
184
|
+
.number()
|
|
185
|
+
.int()
|
|
186
|
+
.min(100)
|
|
187
|
+
.max(1000000)
|
|
188
|
+
.describe("Amount in cents to transfer (min $1, max $10,000)"),
|
|
140
189
|
}, async (args) => {
|
|
141
190
|
try {
|
|
142
191
|
if (!checkAgentWalletRateLimit()) {
|
|
143
192
|
return {
|
|
144
193
|
isError: true,
|
|
145
|
-
content: [
|
|
194
|
+
content: [
|
|
195
|
+
{
|
|
196
|
+
type: "text",
|
|
197
|
+
text: "Rate limit exceeded: maximum 20 agentic wallet operations per minute. Please wait before retrying.",
|
|
198
|
+
},
|
|
199
|
+
],
|
|
146
200
|
};
|
|
147
201
|
}
|
|
148
202
|
const data = await httpClient.post(`/api/agent-wallet/${encodeURIComponent(args.wallet_id)}/fund`, {
|
|
@@ -164,7 +218,12 @@ export function registerAgentWalletTools(server, httpClient, config) {
|
|
|
164
218
|
catch (err) {
|
|
165
219
|
return {
|
|
166
220
|
isError: true,
|
|
167
|
-
content: [
|
|
221
|
+
content: [
|
|
222
|
+
{
|
|
223
|
+
type: "text",
|
|
224
|
+
text: `Error funding wallet: ${err instanceof Error ? err.message : String(err)}`,
|
|
225
|
+
},
|
|
226
|
+
],
|
|
168
227
|
};
|
|
169
228
|
}
|
|
170
229
|
});
|
|
@@ -173,13 +232,15 @@ export function registerAgentWalletTools(server, httpClient, config) {
|
|
|
173
232
|
const data = await httpClient.get("/api/agent-wallet");
|
|
174
233
|
if (data.wallets.length === 0) {
|
|
175
234
|
return {
|
|
176
|
-
content: [
|
|
235
|
+
content: [
|
|
236
|
+
{
|
|
237
|
+
type: "text",
|
|
238
|
+
text: "No agentic wallets found. Use dominusnode_agent_wallet_create to create one.",
|
|
239
|
+
},
|
|
240
|
+
],
|
|
177
241
|
};
|
|
178
242
|
}
|
|
179
|
-
const lines = [
|
|
180
|
-
`Agentic Wallets (${data.wallets.length})`,
|
|
181
|
-
``,
|
|
182
|
-
];
|
|
243
|
+
const lines = [`Agentic Wallets (${data.wallets.length})`, ``];
|
|
183
244
|
for (const w of data.wallets) {
|
|
184
245
|
lines.push(` ${w.label} (${w.id.slice(0, 8)}...)`);
|
|
185
246
|
lines.push(` Balance: $${(w.balanceCents / 100).toFixed(2)} | Limit: ${w.spendingLimitCents > 0 ? `$${(w.spendingLimitCents / 100).toFixed(2)}/tx` : "none"} | Status: ${w.status}`);
|
|
@@ -194,7 +255,12 @@ export function registerAgentWalletTools(server, httpClient, config) {
|
|
|
194
255
|
catch (err) {
|
|
195
256
|
return {
|
|
196
257
|
isError: true,
|
|
197
|
-
content: [
|
|
258
|
+
content: [
|
|
259
|
+
{
|
|
260
|
+
type: "text",
|
|
261
|
+
text: `Error: ${err instanceof Error ? err.message : String(err)}`,
|
|
262
|
+
},
|
|
263
|
+
],
|
|
198
264
|
};
|
|
199
265
|
}
|
|
200
266
|
});
|
|
@@ -205,7 +271,12 @@ export function registerAgentWalletTools(server, httpClient, config) {
|
|
|
205
271
|
if (!checkAgentWalletRateLimit()) {
|
|
206
272
|
return {
|
|
207
273
|
isError: true,
|
|
208
|
-
content: [
|
|
274
|
+
content: [
|
|
275
|
+
{
|
|
276
|
+
type: "text",
|
|
277
|
+
text: "Rate limit exceeded: maximum 20 agentic wallet operations per minute. Please wait before retrying.",
|
|
278
|
+
},
|
|
279
|
+
],
|
|
209
280
|
};
|
|
210
281
|
}
|
|
211
282
|
const data = await httpClient.post(`/api/agent-wallet/${encodeURIComponent(args.wallet_id)}/freeze`);
|
|
@@ -225,7 +296,12 @@ export function registerAgentWalletTools(server, httpClient, config) {
|
|
|
225
296
|
catch (err) {
|
|
226
297
|
return {
|
|
227
298
|
isError: true,
|
|
228
|
-
content: [
|
|
299
|
+
content: [
|
|
300
|
+
{
|
|
301
|
+
type: "text",
|
|
302
|
+
text: `Error freezing wallet: ${err instanceof Error ? err.message : String(err)}`,
|
|
303
|
+
},
|
|
304
|
+
],
|
|
229
305
|
};
|
|
230
306
|
}
|
|
231
307
|
});
|
|
@@ -236,7 +312,12 @@ export function registerAgentWalletTools(server, httpClient, config) {
|
|
|
236
312
|
if (!checkAgentWalletRateLimit()) {
|
|
237
313
|
return {
|
|
238
314
|
isError: true,
|
|
239
|
-
content: [
|
|
315
|
+
content: [
|
|
316
|
+
{
|
|
317
|
+
type: "text",
|
|
318
|
+
text: "Rate limit exceeded: maximum 20 agentic wallet operations per minute. Please wait before retrying.",
|
|
319
|
+
},
|
|
320
|
+
],
|
|
240
321
|
};
|
|
241
322
|
}
|
|
242
323
|
const data = await httpClient.post(`/api/agent-wallet/${encodeURIComponent(args.wallet_id)}/unfreeze`);
|
|
@@ -255,20 +336,42 @@ export function registerAgentWalletTools(server, httpClient, config) {
|
|
|
255
336
|
catch (err) {
|
|
256
337
|
return {
|
|
257
338
|
isError: true,
|
|
258
|
-
content: [
|
|
339
|
+
content: [
|
|
340
|
+
{
|
|
341
|
+
type: "text",
|
|
342
|
+
text: `Error unfreezing wallet: ${err instanceof Error ? err.message : String(err)}`,
|
|
343
|
+
},
|
|
344
|
+
],
|
|
259
345
|
};
|
|
260
346
|
}
|
|
261
347
|
});
|
|
262
348
|
server.tool("dominusnode_update_wallet_policy", "Update policy settings (daily budget limit and/or domain allowlist) on an agentic wallet. Set dailyLimitCents to null to remove daily limit. Set allowedDomains to null to allow all domains.", {
|
|
263
349
|
wallet_id: z.string().regex(UUID_RE).describe("Wallet ID to update"),
|
|
264
|
-
daily_limit_cents: z
|
|
265
|
-
|
|
350
|
+
daily_limit_cents: z
|
|
351
|
+
.number()
|
|
352
|
+
.int()
|
|
353
|
+
.min(1)
|
|
354
|
+
.max(1000000)
|
|
355
|
+
.nullable()
|
|
356
|
+
.optional()
|
|
357
|
+
.describe("Daily budget in cents (null to remove limit)"),
|
|
358
|
+
allowed_domains: z
|
|
359
|
+
.array(z.string().max(253))
|
|
360
|
+
.max(100)
|
|
361
|
+
.nullable()
|
|
362
|
+
.optional()
|
|
363
|
+
.describe("Allowed target domains (null to allow all)"),
|
|
266
364
|
}, async (args) => {
|
|
267
365
|
try {
|
|
268
366
|
if (!checkAgentWalletRateLimit()) {
|
|
269
367
|
return {
|
|
270
368
|
isError: true,
|
|
271
|
-
content: [
|
|
369
|
+
content: [
|
|
370
|
+
{
|
|
371
|
+
type: "text",
|
|
372
|
+
text: "Rate limit exceeded: maximum 20 agentic wallet operations per minute. Please wait before retrying.",
|
|
373
|
+
},
|
|
374
|
+
],
|
|
272
375
|
};
|
|
273
376
|
}
|
|
274
377
|
const body = {};
|
|
@@ -291,7 +394,12 @@ export function registerAgentWalletTools(server, httpClient, config) {
|
|
|
291
394
|
catch (err) {
|
|
292
395
|
return {
|
|
293
396
|
isError: true,
|
|
294
|
-
content: [
|
|
397
|
+
content: [
|
|
398
|
+
{
|
|
399
|
+
type: "text",
|
|
400
|
+
text: `Error updating policy: ${err instanceof Error ? err.message : String(err)}`,
|
|
401
|
+
},
|
|
402
|
+
],
|
|
295
403
|
};
|
|
296
404
|
}
|
|
297
405
|
});
|
|
@@ -302,7 +410,12 @@ export function registerAgentWalletTools(server, httpClient, config) {
|
|
|
302
410
|
if (!checkAgentWalletRateLimit()) {
|
|
303
411
|
return {
|
|
304
412
|
isError: true,
|
|
305
|
-
content: [
|
|
413
|
+
content: [
|
|
414
|
+
{
|
|
415
|
+
type: "text",
|
|
416
|
+
text: "Rate limit exceeded: maximum 20 agentic wallet operations per minute. Please wait before retrying.",
|
|
417
|
+
},
|
|
418
|
+
],
|
|
306
419
|
};
|
|
307
420
|
}
|
|
308
421
|
const data = await httpClient.delete(`/api/agent-wallet/${encodeURIComponent(args.wallet_id)}`);
|
|
@@ -318,25 +431,35 @@ export function registerAgentWalletTools(server, httpClient, config) {
|
|
|
318
431
|
catch (err) {
|
|
319
432
|
return {
|
|
320
433
|
isError: true,
|
|
321
|
-
content: [
|
|
434
|
+
content: [
|
|
435
|
+
{
|
|
436
|
+
type: "text",
|
|
437
|
+
text: `Error deleting wallet: ${err instanceof Error ? err.message : String(err)}`,
|
|
438
|
+
},
|
|
439
|
+
],
|
|
322
440
|
};
|
|
323
441
|
}
|
|
324
442
|
});
|
|
325
443
|
server.tool("dominusnode_agent_wallet_transactions", "Get transaction history for an agentic wallet.", {
|
|
326
444
|
wallet_id: z.string().regex(UUID_RE).describe("Wallet ID"),
|
|
327
|
-
limit: z
|
|
445
|
+
limit: z
|
|
446
|
+
.number()
|
|
447
|
+
.int()
|
|
448
|
+
.min(1)
|
|
449
|
+
.max(100)
|
|
450
|
+
.default(20)
|
|
451
|
+
.describe("Number of transactions to return"),
|
|
328
452
|
}, async (args) => {
|
|
329
453
|
try {
|
|
330
454
|
const data = await httpClient.get(`/api/agent-wallet/${encodeURIComponent(args.wallet_id)}/transactions?limit=${args.limit}`);
|
|
331
455
|
if (data.transactions.length === 0) {
|
|
332
456
|
return {
|
|
333
|
-
content: [
|
|
457
|
+
content: [
|
|
458
|
+
{ type: "text", text: "No transactions found for this wallet." },
|
|
459
|
+
],
|
|
334
460
|
};
|
|
335
461
|
}
|
|
336
|
-
const lines = [
|
|
337
|
-
`Wallet Transactions (${data.transactions.length})`,
|
|
338
|
-
``,
|
|
339
|
-
];
|
|
462
|
+
const lines = [`Wallet Transactions (${data.transactions.length})`, ``];
|
|
340
463
|
for (const tx of data.transactions) {
|
|
341
464
|
const sign = tx.type === "fund" || tx.type === "refund" ? "+" : "-";
|
|
342
465
|
lines.push(` ${sign}$${(tx.amountCents / 100).toFixed(2)} [${tx.type}] ${tx.description}`);
|
|
@@ -347,7 +470,12 @@ export function registerAgentWalletTools(server, httpClient, config) {
|
|
|
347
470
|
catch (err) {
|
|
348
471
|
return {
|
|
349
472
|
isError: true,
|
|
350
|
-
content: [
|
|
473
|
+
content: [
|
|
474
|
+
{
|
|
475
|
+
type: "text",
|
|
476
|
+
text: `Error: ${err instanceof Error ? err.message : String(err)}`,
|
|
477
|
+
},
|
|
478
|
+
],
|
|
351
479
|
};
|
|
352
480
|
}
|
|
353
481
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-wallet.js","sourceRoot":"","sources":["../../../src/tools/agent-wallet.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-wallet.js","sourceRoot":"","sources":["../../../src/tools/agent-wallet.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../../src/tools/crypto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"crypto.d.ts","sourceRoot":"","sources":["../../../src/tools/crypto.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAwDpD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,UAAU,GACrB,IAAI,CA4HN"}
|
package/dist/src/tools/crypto.js
CHANGED
|
@@ -1,11 +1,24 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
const SUPPORTED_CRYPTO = [
|
|
2
|
+
const SUPPORTED_CRYPTO = [
|
|
3
|
+
"BTC",
|
|
4
|
+
"ETH",
|
|
5
|
+
"LTC",
|
|
6
|
+
"XMR",
|
|
7
|
+
"ZEC",
|
|
8
|
+
"USDC",
|
|
9
|
+
"SOL",
|
|
10
|
+
"USDT",
|
|
11
|
+
"DAI",
|
|
12
|
+
"BNB",
|
|
13
|
+
"LINK",
|
|
14
|
+
];
|
|
3
15
|
const CRYPTO_PAY_MAX = 5;
|
|
4
16
|
const CRYPTO_PAY_WINDOW_MS = 3_600_000;
|
|
5
17
|
const cryptoPayTimestamps = [];
|
|
6
18
|
function checkCryptoPayLimit() {
|
|
7
19
|
const now = Date.now();
|
|
8
|
-
while (cryptoPayTimestamps.length > 0 &&
|
|
20
|
+
while (cryptoPayTimestamps.length > 0 &&
|
|
21
|
+
now - cryptoPayTimestamps[0] > CRYPTO_PAY_WINDOW_MS) {
|
|
9
22
|
cryptoPayTimestamps.shift();
|
|
10
23
|
}
|
|
11
24
|
if (cryptoPayTimestamps.length > 100)
|
|
@@ -21,7 +34,8 @@ const CHECK_PAYMENT_WINDOW_MS = 300_000; // 5 minutes
|
|
|
21
34
|
const checkPaymentTimestamps = [];
|
|
22
35
|
function checkPaymentRateLimit() {
|
|
23
36
|
const now = Date.now();
|
|
24
|
-
while (checkPaymentTimestamps.length > 0 &&
|
|
37
|
+
while (checkPaymentTimestamps.length > 0 &&
|
|
38
|
+
now - checkPaymentTimestamps[0] > CHECK_PAYMENT_WINDOW_MS) {
|
|
25
39
|
checkPaymentTimestamps.shift();
|
|
26
40
|
}
|
|
27
41
|
if (checkPaymentTimestamps.length > 100)
|
|
@@ -34,17 +48,31 @@ function checkPaymentRateLimit() {
|
|
|
34
48
|
const UUID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
35
49
|
export function registerCryptoTools(server, httpClient) {
|
|
36
50
|
server.tool("dominusnode_pay_crypto", "Create a cryptocurrency payment invoice to top up your Dominus Node wallet. Supports BTC, ETH, LTC, XMR, ZEC, USDC, SOL, USDT, DAI, BNB, and LINK. Returns a payment address and amount. Privacy coins (XMR, ZEC) provide anonymous billing — no identity linked to payment.", {
|
|
37
|
-
amount_usd: z
|
|
38
|
-
|
|
51
|
+
amount_usd: z
|
|
52
|
+
.number()
|
|
53
|
+
.min(5)
|
|
54
|
+
.max(1000)
|
|
55
|
+
.describe("Amount in USD to add to wallet (min $5, max $1000)"),
|
|
56
|
+
currency: z
|
|
57
|
+
.enum(SUPPORTED_CRYPTO)
|
|
58
|
+
.describe("Cryptocurrency to pay with (BTC, ETH, LTC, XMR, ZEC, USDC, SOL, USDT, DAI, BNB, LINK)"),
|
|
39
59
|
}, async (args) => {
|
|
40
60
|
try {
|
|
41
61
|
if (!checkCryptoPayLimit()) {
|
|
42
62
|
return {
|
|
43
63
|
isError: true,
|
|
44
|
-
content: [
|
|
64
|
+
content: [
|
|
65
|
+
{
|
|
66
|
+
type: "text",
|
|
67
|
+
text: "Rate limit exceeded: maximum 5 crypto payment invoices per hour. Please wait before creating another.",
|
|
68
|
+
},
|
|
69
|
+
],
|
|
45
70
|
};
|
|
46
71
|
}
|
|
47
|
-
const data = await httpClient.post("/api/wallet/topup/crypto", {
|
|
72
|
+
const data = await httpClient.post("/api/wallet/topup/crypto", {
|
|
73
|
+
amountUsd: args.amount_usd,
|
|
74
|
+
currency: args.currency.toLowerCase(),
|
|
75
|
+
});
|
|
48
76
|
const text = [
|
|
49
77
|
`Crypto Payment Invoice Created`,
|
|
50
78
|
``,
|
|
@@ -65,18 +93,31 @@ export function registerCryptoTools(server, httpClient) {
|
|
|
65
93
|
catch (err) {
|
|
66
94
|
return {
|
|
67
95
|
isError: true,
|
|
68
|
-
content: [
|
|
96
|
+
content: [
|
|
97
|
+
{
|
|
98
|
+
type: "text",
|
|
99
|
+
text: `Payment error: ${(err instanceof Error ? err.message : String(err)).replace(/dn_(?:live|test)_[A-Za-z0-9_-]+/g, "[REDACTED]")}`,
|
|
100
|
+
},
|
|
101
|
+
],
|
|
69
102
|
};
|
|
70
103
|
}
|
|
71
104
|
});
|
|
72
105
|
server.tool("dominusnode_check_payment", "Check the status of a cryptocurrency payment invoice. Returns current payment status (pending, confirming, confirmed, finished, failed, expired).", {
|
|
73
|
-
invoice_id: z
|
|
106
|
+
invoice_id: z
|
|
107
|
+
.string()
|
|
108
|
+
.regex(UUID_RE)
|
|
109
|
+
.describe("Invoice ID (UUID) from dominusnode_pay_crypto"),
|
|
74
110
|
}, async (args) => {
|
|
75
111
|
try {
|
|
76
112
|
if (!checkPaymentRateLimit()) {
|
|
77
113
|
return {
|
|
78
114
|
isError: true,
|
|
79
|
-
content: [
|
|
115
|
+
content: [
|
|
116
|
+
{
|
|
117
|
+
type: "text",
|
|
118
|
+
text: "Rate limit exceeded: maximum 30 payment status checks per 5 minutes. Please wait before checking again.",
|
|
119
|
+
},
|
|
120
|
+
],
|
|
80
121
|
};
|
|
81
122
|
}
|
|
82
123
|
const data = await httpClient.get(`/api/wallet/crypto/status/${encodeURIComponent(args.invoice_id)}`);
|
|
@@ -94,7 +135,12 @@ export function registerCryptoTools(server, httpClient) {
|
|
|
94
135
|
catch (err) {
|
|
95
136
|
return {
|
|
96
137
|
isError: true,
|
|
97
|
-
content: [
|
|
138
|
+
content: [
|
|
139
|
+
{
|
|
140
|
+
type: "text",
|
|
141
|
+
text: `Payment check error: ${(err instanceof Error ? err.message : String(err)).replace(/dn_(?:live|test)_[A-Za-z0-9_-]+/g, "[REDACTED]")}`,
|
|
142
|
+
},
|
|
143
|
+
],
|
|
98
144
|
};
|
|
99
145
|
}
|
|
100
146
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../../src/tools/crypto.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,gBAAgB,GAAG,
|
|
1
|
+
{"version":3,"file":"crypto.js","sourceRoot":"","sources":["../../../src/tools/crypto.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/tools/fetch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/tools/fetch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI,CA2G7E"}
|
package/dist/src/tools/fetch.js
CHANGED
|
@@ -4,13 +4,30 @@ import { proxyFetch, validateUrl } from "../proxy-fetch.js";
|
|
|
4
4
|
export function registerFetchTools(server, config) {
|
|
5
5
|
server.tool("dominusnode_fetch", "Fetch a URL through Dominus Node's rotating proxy network. Supports geo-targeting by country and pool selection (dc at $3/GB or residential at $5/GB). Returns response status, headers, and body. Use this for web scraping, geo-targeted requests, or avoiding IP blocks.", {
|
|
6
6
|
url: z.string().max(8192).describe("URL to fetch (http: or https:)"),
|
|
7
|
-
method: z
|
|
8
|
-
|
|
7
|
+
method: z
|
|
8
|
+
.enum(["GET", "HEAD"])
|
|
9
|
+
.default("GET")
|
|
10
|
+
.describe("HTTP method (read-only for safety)"),
|
|
11
|
+
headers: z
|
|
12
|
+
.record(z.string().max(8192))
|
|
13
|
+
.optional()
|
|
9
14
|
.refine((h) => !h || Object.keys(h).length <= 50, "Maximum 50 custom headers allowed")
|
|
10
15
|
.describe("Request headers"),
|
|
11
|
-
country: z
|
|
12
|
-
|
|
13
|
-
|
|
16
|
+
country: z
|
|
17
|
+
.string()
|
|
18
|
+
.regex(/^[A-Z]{2}$/i)
|
|
19
|
+
.optional()
|
|
20
|
+
.describe("2-letter ISO country code (e.g. 'US')"),
|
|
21
|
+
pool_type: z
|
|
22
|
+
.enum(["dc", "residential", "auto"])
|
|
23
|
+
.default("auto")
|
|
24
|
+
.describe("Proxy pool: dc ($3/GB, datacenter), residential ($5/GB, harder to detect), auto (tries dc first)"),
|
|
25
|
+
timeout_ms: z
|
|
26
|
+
.number()
|
|
27
|
+
.min(1000)
|
|
28
|
+
.max(120000)
|
|
29
|
+
.default(30000)
|
|
30
|
+
.describe("Request timeout in milliseconds"),
|
|
14
31
|
}, async (args) => {
|
|
15
32
|
try {
|
|
16
33
|
validateUrl(args.url);
|
|
@@ -52,16 +69,21 @@ export function registerFetchTools(server, config) {
|
|
|
52
69
|
// M-3: Provide actionable guidance for common proxy errors
|
|
53
70
|
let hint = "";
|
|
54
71
|
if (msg.includes("407") || msg.includes("Proxy Authentication")) {
|
|
55
|
-
hint =
|
|
72
|
+
hint =
|
|
73
|
+
"\nHint: Check your API key with dominusnode_get_balance. You may need to create a new key.";
|
|
56
74
|
}
|
|
57
|
-
else if (msg.includes("INSUFFICIENT_BALANCE") ||
|
|
58
|
-
|
|
75
|
+
else if (msg.includes("INSUFFICIENT_BALANCE") ||
|
|
76
|
+
msg.includes("insufficient")) {
|
|
77
|
+
hint =
|
|
78
|
+
"\nHint: Use dominusnode_get_balance to check, then dominusnode_pay_crypto to add funds.";
|
|
59
79
|
}
|
|
60
80
|
else if (msg.includes("timed out")) {
|
|
61
|
-
hint =
|
|
81
|
+
hint =
|
|
82
|
+
"\nHint: Try increasing timeout_ms (max 120000) or use a different country/pool_type.";
|
|
62
83
|
}
|
|
63
84
|
else if (msg.includes("ECONNREFUSED")) {
|
|
64
|
-
hint =
|
|
85
|
+
hint =
|
|
86
|
+
"\nHint: The proxy gateway may be down. Use dominusnode_get_proxy_status to check.";
|
|
65
87
|
}
|
|
66
88
|
return {
|
|
67
89
|
isError: true,
|