@dominusnode/mcp-server 1.1.0 → 1.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 +68 -62
- 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 +25 -5
- package/dist/src/http-client.js.map +1 -1
- package/dist/src/index.js +15 -6
- 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 +266 -34
- 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 +4 -0
- package/dist/src/tools/mpp.d.ts.map +1 -0
- package/dist/src/tools/mpp.js +235 -0
- package/dist/src/tools/mpp.js.map +1 -0
- 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 +2 -1
package/dist/src/tools/proxy.js
CHANGED
|
@@ -23,7 +23,12 @@ export function registerProxyTools(server, httpClient) {
|
|
|
23
23
|
catch (err) {
|
|
24
24
|
return {
|
|
25
25
|
isError: true,
|
|
26
|
-
content: [
|
|
26
|
+
content: [
|
|
27
|
+
{
|
|
28
|
+
type: "text",
|
|
29
|
+
text: `Error: ${err instanceof Error ? err.message : String(err)}`,
|
|
30
|
+
},
|
|
31
|
+
],
|
|
27
32
|
};
|
|
28
33
|
}
|
|
29
34
|
});
|
|
@@ -37,13 +42,20 @@ export function registerProxyTools(server, httpClient) {
|
|
|
37
42
|
`Uptime: ${status.uptimeSeconds ?? 0}s`,
|
|
38
43
|
status.endpoints ? `HTTP: ${status.endpoints.http}` : null,
|
|
39
44
|
status.endpoints ? `SOCKS5: ${status.endpoints.socks5}` : null,
|
|
40
|
-
]
|
|
45
|
+
]
|
|
46
|
+
.filter(Boolean)
|
|
47
|
+
.join("\n");
|
|
41
48
|
return { content: [{ type: "text", text }] };
|
|
42
49
|
}
|
|
43
50
|
catch (err) {
|
|
44
51
|
return {
|
|
45
52
|
isError: true,
|
|
46
|
-
content: [
|
|
53
|
+
content: [
|
|
54
|
+
{
|
|
55
|
+
type: "text",
|
|
56
|
+
text: `Error: ${err instanceof Error ? err.message : String(err)}`,
|
|
57
|
+
},
|
|
58
|
+
],
|
|
47
59
|
};
|
|
48
60
|
}
|
|
49
61
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../src/tools/proxy.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,kBAAkB,
|
|
1
|
+
{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../../../src/tools/proxy.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,kBAAkB,CAChC,MAAiB,EACjB,UAAsB;IAEtB,MAAM,CAAC,IAAI,CACT,8BAA8B,EAC9B,wIAAwI,EACxI,EAAE,EACF,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAc,mBAAmB,CAAC,CAAC;YACtE,MAAM,IAAI,GAAG;gBACX,kBAAkB,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE;gBAClE,oBAAoB,MAAM,CAAC,WAAW,CAAC,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE;gBACxE,EAAE;gBACF,UAAU;gBACV,2CAA2C;gBAC3C,qDAAqD;gBACrD,6DAA6D;gBAC7D,EAAE;gBACF,gDAAgD;gBAChD,iFAAiF;gBACjF,EAAE;gBACF,wBAAwB,MAAM,CAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE;gBACxE,6BAA6B,MAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE;gBAC5E,uCAAuC,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,WAAW,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;aACpJ,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,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;IAEF,MAAM,CAAC,IAAI,CACT,8BAA8B,EAC9B,oFAAoF,EACpF,EAAE,EACF,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,GAAG,CAAc,mBAAmB,CAAC,CAAC;YACtE,MAAM,IAAI,GAAG;gBACX,WAAW,MAAM,CAAC,MAAM,EAAE;gBAC1B,YAAY,MAAM,CAAC,YAAY,IAAI,CAAC,IAAI;gBACxC,oBAAoB,MAAM,CAAC,cAAc,EAAE;gBAC3C,WAAW,MAAM,CAAC,aAAa,IAAI,CAAC,GAAG;gBACvC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI;gBAC1D,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI;aAC/D;iBACE,MAAM,CAAC,OAAO,CAAC;iBACf,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,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,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":"sessions.d.ts","sourceRoot":"","sources":["../../../src/tools/sessions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,wBAAgB,qBAAqB,
|
|
1
|
+
{"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../../src/tools/sessions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,UAAU,GACrB,IAAI,CAuCN"}
|
|
@@ -4,7 +4,14 @@ export function registerSessionsTools(server, httpClient) {
|
|
|
4
4
|
const data = await httpClient.get("/api/sessions/active");
|
|
5
5
|
const sessions = data.sessions ?? [];
|
|
6
6
|
if (sessions.length === 0) {
|
|
7
|
-
return {
|
|
7
|
+
return {
|
|
8
|
+
content: [
|
|
9
|
+
{
|
|
10
|
+
type: "text",
|
|
11
|
+
text: "No active proxy sessions.\n\nNote: Sessions are managed automatically. Each dominusnode_fetch call creates and settles a session. For sticky sessions (same exit IP), use the same session parameter in the proxy username format.",
|
|
12
|
+
},
|
|
13
|
+
],
|
|
14
|
+
};
|
|
8
15
|
}
|
|
9
16
|
const lines = sessions.map((s) => `${s.id} | Status: ${s.status} | Since: ${s.startedAt}`);
|
|
10
17
|
lines.unshift(`Active Sessions (${sessions.length}):`);
|
|
@@ -13,7 +20,12 @@ export function registerSessionsTools(server, httpClient) {
|
|
|
13
20
|
catch (err) {
|
|
14
21
|
return {
|
|
15
22
|
isError: true,
|
|
16
|
-
content: [
|
|
23
|
+
content: [
|
|
24
|
+
{
|
|
25
|
+
type: "text",
|
|
26
|
+
text: `Error: ${err instanceof Error ? err.message : String(err)}`,
|
|
27
|
+
},
|
|
28
|
+
],
|
|
17
29
|
};
|
|
18
30
|
}
|
|
19
31
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../src/tools/sessions.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,qBAAqB,
|
|
1
|
+
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../src/tools/sessions.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,qBAAqB,CACnC,MAAiB,EACjB,UAAsB;IAEtB,MAAM,CAAC,IAAI,CACT,iCAAiC,EACjC,sJAAsJ,EACtJ,EAAE,EACF,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,GAAG,CAC/B,sBAAsB,CACvB,CAAC;YACF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;YACrC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,OAAO;oBACL,OAAO,EAAE;wBACP;4BACE,IAAI,EAAE,MAAM;4BACZ,IAAI,EAAE,oOAAoO;yBAC3O;qBACF;iBACF,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CACxB,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,MAAM,aAAa,CAAC,CAAC,SAAS,EAAE,CAC/D,CAAC;YACF,KAAK,CAAC,OAAO,CAAC,oBAAoB,QAAQ,CAAC,MAAM,IAAI,CAAC,CAAC;YACvD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QACjE,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":"slots.d.ts","sourceRoot":"","sources":["../../../src/tools/slots.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAiBpD,wBAAgB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"slots.d.ts","sourceRoot":"","sources":["../../../src/tools/slots.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAiBpD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,UAAU,GACrB,IAAI,CAkHN"}
|
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":"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"}
|
|
@@ -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"}
|