@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
package/dist/src/tools/slots.js
CHANGED
|
@@ -5,7 +5,12 @@ export function registerSlotsTools(server, httpClient) {
|
|
|
5
5
|
const data = await httpClient.get("/api/slots", false);
|
|
6
6
|
if (data.unlimited) {
|
|
7
7
|
return {
|
|
8
|
-
content: [
|
|
8
|
+
content: [
|
|
9
|
+
{
|
|
10
|
+
type: "text",
|
|
11
|
+
text: "Registration is currently unlimited — no slot cap in effect.",
|
|
12
|
+
},
|
|
13
|
+
],
|
|
9
14
|
};
|
|
10
15
|
}
|
|
11
16
|
const text = [
|
|
@@ -23,7 +28,12 @@ export function registerSlotsTools(server, httpClient) {
|
|
|
23
28
|
catch (err) {
|
|
24
29
|
return {
|
|
25
30
|
isError: true,
|
|
26
|
-
content: [
|
|
31
|
+
content: [
|
|
32
|
+
{
|
|
33
|
+
type: "text",
|
|
34
|
+
text: `Error checking slots: ${err instanceof Error ? err.message : String(err)}`,
|
|
35
|
+
},
|
|
36
|
+
],
|
|
27
37
|
};
|
|
28
38
|
}
|
|
29
39
|
});
|
|
@@ -33,13 +43,24 @@ export function registerSlotsTools(server, httpClient) {
|
|
|
33
43
|
try {
|
|
34
44
|
const data = await httpClient.post("/api/waitlist/join", { email: args.email }, false);
|
|
35
45
|
return {
|
|
36
|
-
content: [
|
|
46
|
+
content: [
|
|
47
|
+
{
|
|
48
|
+
type: "text",
|
|
49
|
+
text: data.message ||
|
|
50
|
+
"You've been added to the waitlist. We'll email you when a slot opens.",
|
|
51
|
+
},
|
|
52
|
+
],
|
|
37
53
|
};
|
|
38
54
|
}
|
|
39
55
|
catch (err) {
|
|
40
56
|
return {
|
|
41
57
|
isError: true,
|
|
42
|
-
content: [
|
|
58
|
+
content: [
|
|
59
|
+
{
|
|
60
|
+
type: "text",
|
|
61
|
+
text: `Waitlist error: ${err instanceof Error ? err.message : String(err)}`,
|
|
62
|
+
},
|
|
63
|
+
],
|
|
43
64
|
};
|
|
44
65
|
}
|
|
45
66
|
});
|
|
@@ -47,13 +68,23 @@ export function registerSlotsTools(server, httpClient) {
|
|
|
47
68
|
try {
|
|
48
69
|
const data = await httpClient.get("/api/waitlist/count", false);
|
|
49
70
|
return {
|
|
50
|
-
content: [
|
|
71
|
+
content: [
|
|
72
|
+
{
|
|
73
|
+
type: "text",
|
|
74
|
+
text: `Waitlist: ${data.pending} people waiting for an alpha slot.`,
|
|
75
|
+
},
|
|
76
|
+
],
|
|
51
77
|
};
|
|
52
78
|
}
|
|
53
79
|
catch (err) {
|
|
54
80
|
return {
|
|
55
81
|
isError: true,
|
|
56
|
-
content: [
|
|
82
|
+
content: [
|
|
83
|
+
{
|
|
84
|
+
type: "text",
|
|
85
|
+
text: `Error: ${err instanceof Error ? err.message : String(err)}`,
|
|
86
|
+
},
|
|
87
|
+
],
|
|
57
88
|
};
|
|
58
89
|
}
|
|
59
90
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slots.js","sourceRoot":"","sources":["../../../src/tools/slots.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAkBxB,MAAM,UAAU,kBAAkB,
|
|
1
|
+
{"version":3,"file":"slots.js","sourceRoot":"","sources":["../../../src/tools/slots.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAkBxB,MAAM,UAAU,kBAAkB,CAChC,MAAiB,EACjB,UAAsB;IAEtB,MAAM,CAAC,IAAI,CACT,yBAAyB,EACzB,oIAAoI,EACpI,EAAE,EACF,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,GAAG,CAC/B,YAAY,EACZ,KAAK,CACN,CAAC;YACF,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,8DAA8D;yBACrE;qBACF;iBACF,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,GAAG;gBACX,yBAAyB;gBACzB,kBAAkB,IAAI,CAAC,KAAK,EAAE;gBAC9B,WAAW,IAAI,CAAC,IAAI,EAAE;gBACtB,gBAAgB,IAAI,CAAC,SAAS,EAAE;gBAChC,EAAE;gBACF,IAAI,CAAC,SAAS,GAAG,CAAC;oBAChB,CAAC,CAAC,sFAAsF;oBACxF,CAAC,CAAC,uFAAuF;aAC5F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC/C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,yBAAyB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;qBAClF;iBACF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,2BAA2B,EAC3B,qGAAqG,EACrG;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;KACtE,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,IAAI,CAChC,oBAAoB,EACpB,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EACrB,KAAK,CACN,CAAC;YACF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EACF,IAAI,CAAC,OAAO;4BACZ,uEAAuE;qBAC1E;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,mBAAmB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;qBAC5E;iBACF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,gCAAgC,EAChC,iFAAiF,EACjF,EAAE,EACF,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,GAAG,CAC/B,qBAAqB,EACrB,KAAK,CACN,CAAC;YACF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,aAAa,IAAI,CAAC,OAAO,oCAAoC;qBACpE;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,UAAU,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;qBACnE;iBACF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stripe.d.ts","sourceRoot":"","sources":["../../../src/tools/stripe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"stripe.d.ts","sourceRoot":"","sources":["../../../src/tools/stripe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAoBpD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,UAAU,GACrB,IAAI,CA0DN"}
|
package/dist/src/tools/stripe.js
CHANGED
|
@@ -4,7 +4,8 @@ const STRIPE_PAY_WINDOW_MS = 3_600_000;
|
|
|
4
4
|
const stripePayTimestamps = [];
|
|
5
5
|
function checkStripePayLimit() {
|
|
6
6
|
const now = Date.now();
|
|
7
|
-
while (stripePayTimestamps.length > 0 &&
|
|
7
|
+
while (stripePayTimestamps.length > 0 &&
|
|
8
|
+
now - stripePayTimestamps[0] > STRIPE_PAY_WINDOW_MS) {
|
|
8
9
|
stripePayTimestamps.shift();
|
|
9
10
|
}
|
|
10
11
|
if (stripePayTimestamps.length > 100)
|
|
@@ -16,13 +17,23 @@ function checkStripePayLimit() {
|
|
|
16
17
|
}
|
|
17
18
|
export function registerStripeTools(server, httpClient) {
|
|
18
19
|
server.tool("dominusnode_pay_stripe", "Create a Stripe checkout session to top up your Dominus Node wallet with a credit/debit card or Apple Pay/Google Pay/Link. Returns a checkout URL where the user completes payment. After payment, the wallet is credited automatically via webhook.", {
|
|
19
|
-
amount_cents: z
|
|
20
|
+
amount_cents: z
|
|
21
|
+
.number()
|
|
22
|
+
.int()
|
|
23
|
+
.min(500)
|
|
24
|
+
.max(100000)
|
|
25
|
+
.describe("Amount in cents to add to wallet (min 500 = $5.00, max 100000 = $1,000.00)"),
|
|
20
26
|
}, async (args) => {
|
|
21
27
|
try {
|
|
22
28
|
if (!checkStripePayLimit()) {
|
|
23
29
|
return {
|
|
24
30
|
isError: true,
|
|
25
|
-
content: [
|
|
31
|
+
content: [
|
|
32
|
+
{
|
|
33
|
+
type: "text",
|
|
34
|
+
text: "Rate limit exceeded: maximum 5 Stripe checkout sessions per hour. Please wait before creating another.",
|
|
35
|
+
},
|
|
36
|
+
],
|
|
26
37
|
};
|
|
27
38
|
}
|
|
28
39
|
const data = await httpClient.post("/api/wallet/topup/stripe", { amountCents: args.amount_cents });
|
|
@@ -42,7 +53,12 @@ export function registerStripeTools(server, httpClient) {
|
|
|
42
53
|
catch (err) {
|
|
43
54
|
return {
|
|
44
55
|
isError: true,
|
|
45
|
-
content: [
|
|
56
|
+
content: [
|
|
57
|
+
{
|
|
58
|
+
type: "text",
|
|
59
|
+
text: `Stripe payment error: ${(err instanceof Error ? err.message : String(err)).replace(/dn_(?:live|test)_[A-Za-z0-9_-]+/g, "[REDACTED]")}`,
|
|
60
|
+
},
|
|
61
|
+
],
|
|
46
62
|
};
|
|
47
63
|
}
|
|
48
64
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stripe.js","sourceRoot":"","sources":["../../../src/tools/stripe.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,oBAAoB,GAAG,SAAS,CAAC;AACvC,MAAM,mBAAmB,GAAa,EAAE,CAAC;AAEzC,SAAS,mBAAmB;IAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,
|
|
1
|
+
{"version":3,"file":"stripe.js","sourceRoot":"","sources":["../../../src/tools/stripe.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,oBAAoB,GAAG,SAAS,CAAC;AACvC,MAAM,mBAAmB,GAAa,EAAE,CAAC;AAEzC,SAAS,mBAAmB;IAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,OACE,mBAAmB,CAAC,MAAM,GAAG,CAAC;QAC9B,GAAG,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,oBAAoB,EACnD,CAAC;QACD,mBAAmB,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IACD,IAAI,mBAAmB,CAAC,MAAM,GAAG,GAAG;QAAE,mBAAmB,CAAC,MAAM,GAAG,GAAG,CAAC;IACvE,IAAI,mBAAmB,CAAC,MAAM,IAAI,cAAc;QAAE,OAAO,KAAK,CAAC;IAC/D,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,MAAiB,EACjB,UAAsB;IAEtB,MAAM,CAAC,IAAI,CACT,wBAAwB,EACxB,sPAAsP,EACtP;QACE,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,GAAG,EAAE;aACL,GAAG,CAAC,GAAG,CAAC;aACR,GAAG,CAAC,MAAM,CAAC;aACX,QAAQ,CACP,4EAA4E,CAC7E;KACJ,EACD,KAAK,EAAE,IAAI,EAAE,EAAE;QACb,IAAI,CAAC;YACH,IAAI,CAAC,mBAAmB,EAAE,EAAE,CAAC;gBAC3B,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,wGAAwG;yBAC/G;qBACF;iBACF,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,IAAI,CAG/B,0BAA0B,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;YAEnE,MAAM,IAAI,GAAG;gBACX,iCAAiC;gBACjC,EAAE;gBACF,eAAe,IAAI,CAAC,SAAS,EAAE;gBAC/B,YAAY,CAAC,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBAClD,EAAE;gBACF,0BAA0B,IAAI,CAAC,GAAG,EAAE;gBACpC,EAAE;gBACF,8DAA8D;gBAC9D,4DAA4D;aAC7D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEb,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC/C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,yBAAyB,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,kCAAkC,EAAE,YAAY,CAAC,EAAE;qBAC9I;iBACF;aACF,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"teams.d.ts","sourceRoot":"","sources":["../../../src/tools/teams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"teams.d.ts","sourceRoot":"","sources":["../../../src/tools/teams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAuBpD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,UAAU,GACrB,IAAI,CAw8BN"}
|