@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.
Files changed (64) hide show
  1. package/README.md +57 -56
  2. package/dist/src/config.d.ts.map +1 -1
  3. package/dist/src/config.js +16 -6
  4. package/dist/src/config.js.map +1 -1
  5. package/dist/src/http-client.d.ts.map +1 -1
  6. package/dist/src/http-client.js +24 -5
  7. package/dist/src/http-client.js.map +1 -1
  8. package/dist/src/index.js +13 -7
  9. package/dist/src/index.js.map +1 -1
  10. package/dist/src/proxy-fetch.d.ts.map +1 -1
  11. package/dist/src/proxy-fetch.js +51 -13
  12. package/dist/src/proxy-fetch.js.map +1 -1
  13. package/dist/src/token-manager.d.ts.map +1 -1
  14. package/dist/src/token-manager.js.map +1 -1
  15. package/dist/src/tools/account.d.ts.map +1 -1
  16. package/dist/src/tools/account.js +172 -35
  17. package/dist/src/tools/account.js.map +1 -1
  18. package/dist/src/tools/agent-wallet.d.ts.map +1 -1
  19. package/dist/src/tools/agent-wallet.js +164 -36
  20. package/dist/src/tools/agent-wallet.js.map +1 -1
  21. package/dist/src/tools/crypto.d.ts.map +1 -1
  22. package/dist/src/tools/crypto.js +57 -11
  23. package/dist/src/tools/crypto.js.map +1 -1
  24. package/dist/src/tools/fetch.d.ts.map +1 -1
  25. package/dist/src/tools/fetch.js +32 -10
  26. package/dist/src/tools/fetch.js.map +1 -1
  27. package/dist/src/tools/keys.d.ts.map +1 -1
  28. package/dist/src/tools/keys.js +49 -10
  29. package/dist/src/tools/keys.js.map +1 -1
  30. package/dist/src/tools/mpp.d.ts.map +1 -1
  31. package/dist/src/tools/mpp.js +72 -15
  32. package/dist/src/tools/mpp.js.map +1 -1
  33. package/dist/src/tools/paypal.d.ts.map +1 -1
  34. package/dist/src/tools/paypal.js +20 -4
  35. package/dist/src/tools/paypal.js.map +1 -1
  36. package/dist/src/tools/plans.d.ts.map +1 -1
  37. package/dist/src/tools/plans.js +23 -4
  38. package/dist/src/tools/plans.js.map +1 -1
  39. package/dist/src/tools/proxy.d.ts.map +1 -1
  40. package/dist/src/tools/proxy.js +15 -3
  41. package/dist/src/tools/proxy.js.map +1 -1
  42. package/dist/src/tools/sessions.d.ts.map +1 -1
  43. package/dist/src/tools/sessions.js +14 -2
  44. package/dist/src/tools/sessions.js.map +1 -1
  45. package/dist/src/tools/slots.d.ts.map +1 -1
  46. package/dist/src/tools/slots.js +37 -6
  47. package/dist/src/tools/slots.js.map +1 -1
  48. package/dist/src/tools/stripe.d.ts.map +1 -1
  49. package/dist/src/tools/stripe.js +20 -4
  50. package/dist/src/tools/stripe.js.map +1 -1
  51. package/dist/src/tools/teams.d.ts.map +1 -1
  52. package/dist/src/tools/teams.js +266 -66
  53. package/dist/src/tools/teams.js.map +1 -1
  54. package/dist/src/tools/usage.d.ts.map +1 -1
  55. package/dist/src/tools/usage.js +42 -9
  56. package/dist/src/tools/usage.js.map +1 -1
  57. package/dist/src/tools/wallet-auth.d.ts.map +1 -1
  58. package/dist/src/tools/wallet-auth.js +75 -13
  59. package/dist/src/tools/wallet-auth.js.map +1 -1
  60. package/dist/src/tools/wallet.d.ts.map +1 -1
  61. package/dist/src/tools/wallet.js +21 -4
  62. package/dist/src/tools/wallet.js.map +1 -1
  63. package/dist/src/types.d.ts.map +1 -1
  64. 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 && now - agentWalletTimestamps[0] > AGENT_WALLET_RATE_WINDOW_MS) {
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: [{ type: "text", text: `Error fetching x402 info: ${err instanceof Error ? err.message : String(err)}` }],
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.string().min(1).max(100).describe("Label for this wallet (e.g., 'scraper-bot', 'research-agent')"),
66
- spending_limit_cents: z.number().int().min(0).max(1000000).default(10000).describe("Max spend per transaction in cents (0 = no limit, default $100)"),
67
- daily_limit_cents: z.number().int().min(1).max(1000000).optional().describe("Optional daily budget in cents (resets at midnight UTC). Omit for no daily limit."),
68
- allowed_domains: z.array(z.string().max(253)).max(100).optional().describe("Optional list of allowed target domains. When set, proxy requests to unlisted domains are rejected."),
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: [{ type: "text", text: "Rate limit exceeded: maximum 20 agentic wallet operations per minute. Please wait before retrying." }],
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: [{ type: "text", text: `Error creating wallet: ${err instanceof Error ? err.message : String(err)}` }],
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.string().regex(UUID_RE).describe("Wallet ID from dominusnode_agent_wallet_create"),
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: [{ type: "text", text: `Error: ${err instanceof Error ? err.message : String(err)}` }],
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.number().int().min(100).max(1000000).describe("Amount in cents to transfer (min $1, max $10,000)"),
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: [{ type: "text", text: "Rate limit exceeded: maximum 20 agentic wallet operations per minute. Please wait before retrying." }],
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: [{ type: "text", text: `Error funding wallet: ${err instanceof Error ? err.message : String(err)}` }],
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: [{ type: "text", text: "No agentic wallets found. Use dominusnode_agent_wallet_create to create one." }],
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: [{ type: "text", text: `Error: ${err instanceof Error ? err.message : String(err)}` }],
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: [{ type: "text", text: "Rate limit exceeded: maximum 20 agentic wallet operations per minute. Please wait before retrying." }],
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: [{ type: "text", text: `Error freezing wallet: ${err instanceof Error ? err.message : String(err)}` }],
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: [{ type: "text", text: "Rate limit exceeded: maximum 20 agentic wallet operations per minute. Please wait before retrying." }],
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: [{ type: "text", text: `Error unfreezing wallet: ${err instanceof Error ? err.message : String(err)}` }],
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.number().int().min(1).max(1000000).nullable().optional().describe("Daily budget in cents (null to remove limit)"),
265
- allowed_domains: z.array(z.string().max(253)).max(100).nullable().optional().describe("Allowed target domains (null to allow all)"),
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: [{ type: "text", text: "Rate limit exceeded: maximum 20 agentic wallet operations per minute. Please wait before retrying." }],
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: [{ type: "text", text: `Error updating policy: ${err instanceof Error ? err.message : String(err)}` }],
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: [{ type: "text", text: "Rate limit exceeded: maximum 20 agentic wallet operations per minute. Please wait before retrying." }],
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: [{ type: "text", text: `Error deleting wallet: ${err instanceof Error ? err.message : String(err)}` }],
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.number().int().min(1).max(100).default(20).describe("Number of transactions to return"),
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: [{ type: "text", text: "No transactions found for this wallet." }],
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: [{ type: "text", text: `Error: ${err instanceof Error ? err.message : String(err)}` }],
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;AAqCpD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI,CA6FnF"}
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"}
@@ -1,11 +1,24 @@
1
1
  import { z } from "zod";
2
- const SUPPORTED_CRYPTO = ["BTC", "ETH", "LTC", "XMR", "ZEC", "USDC", "SOL", "USDT", "DAI", "BNB", "LINK"];
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 && now - cryptoPayTimestamps[0] > CRYPTO_PAY_WINDOW_MS) {
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 && now - checkPaymentTimestamps[0] > CHECK_PAYMENT_WINDOW_MS) {
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.number().min(5).max(1000).describe("Amount in USD to add to wallet (min $5, max $1000)"),
38
- currency: z.enum(SUPPORTED_CRYPTO).describe("Cryptocurrency to pay with (BTC, ETH, LTC, XMR, ZEC, USDC, SOL, USDT, DAI, BNB, LINK)"),
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: [{ type: "text", text: "Rate limit exceeded: maximum 5 crypto payment invoices per hour. Please wait before creating another." }],
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", { amountUsd: args.amount_usd, currency: args.currency.toLowerCase() });
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: [{ type: "text", text: `Payment error: ${(err instanceof Error ? err.message : String(err)).replace(/dn_(?:live|test)_[A-Za-z0-9_-]+/g, "[REDACTED]")}` }],
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.string().regex(UUID_RE).describe("Invoice ID (UUID) from dominusnode_pay_crypto"),
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: [{ type: "text", text: "Rate limit exceeded: maximum 30 payment status checks per 5 minutes. Please wait before checking again." }],
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: [{ type: "text", text: `Payment check error: ${(err instanceof Error ? err.message : String(err)).replace(/dn_(?:live|test)_[A-Za-z0-9_-]+/g, "[REDACTED]")}` }],
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":"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"}
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,CA8E7E"}
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"}
@@ -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.enum(["GET", "HEAD"]).default("GET").describe("HTTP method (read-only for safety)"),
8
- headers: z.record(z.string().max(8192)).optional()
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.string().regex(/^[A-Z]{2}$/i).optional().describe("2-letter ISO country code (e.g. 'US')"),
12
- pool_type: z.enum(["dc", "residential", "auto"]).default("auto").describe("Proxy pool: dc ($3/GB, datacenter), residential ($5/GB, harder to detect), auto (tries dc first)"),
13
- timeout_ms: z.number().min(1000).max(120000).default(30000).describe("Request timeout in milliseconds"),
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 = "\nHint: Check your API key with dominusnode_get_balance. You may need to create a new key.";
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") || msg.includes("insufficient")) {
58
- hint = "\nHint: Use dominusnode_get_balance to check, then dominusnode_pay_crypto to add funds.";
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 = "\nHint: Try increasing timeout_ms (max 120000) or use a different country/pool_type.";
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 = "\nHint: The proxy gateway may be down. Use dominusnode_get_proxy_status to check.";
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,