@ampersend_ai/ampersend-sdk 0.0.1-alpha.2 → 0.0.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/dist/ampersend/index.d.ts +1 -0
- package/dist/ampersend/index.d.ts.map +1 -1
- package/dist/ampersend/index.js +1 -0
- package/dist/ampersend/index.js.map +1 -1
- package/dist/mcp/proxy/cli.d.ts.map +1 -1
- package/dist/mcp/proxy/cli.js +13 -3
- package/dist/mcp/proxy/cli.js.map +1 -1
- package/dist/mcp/proxy/env.d.ts +16 -0
- package/dist/mcp/proxy/env.d.ts.map +1 -1
- package/dist/mcp/proxy/env.js +9 -0
- package/dist/mcp/proxy/env.js.map +1 -1
- package/dist/mcp/proxy/server/bridge.d.ts.map +1 -1
- package/dist/mcp/proxy/server/bridge.js +10 -6
- package/dist/mcp/proxy/server/bridge.js.map +1 -1
- package/dist/mcp/server/fastmcp/middleware.d.ts.map +1 -1
- package/dist/mcp/server/fastmcp/middleware.js +2 -3
- package/dist/mcp/server/fastmcp/middleware.js.map +1 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ampersend/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ampersend/index.ts"],"names":[],"mappings":"AACA,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,KAAK,wBAAwB,EAAE,MAAM,gBAAgB,CAAA"}
|
package/dist/ampersend/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ampersend/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ampersend/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,cAAc,YAAY,CAAA;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAiC,MAAM,gBAAgB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/mcp/proxy/cli.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/mcp/proxy/cli.ts"],"names":[],"mappings":";AAMA,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,UAAU,CAAA;AAE9D,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,YAAY,EAClB,MAAM,YAAY,CAAA;AAEnB;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,cAAc,GAAG,eAAe,CAM7G;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,cAAc,GAAG,YAAY,CAuB1E"}
|
package/dist/mcp/proxy/cli.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { Command } from "commander";
|
|
3
|
+
import { createAmpersendTreasurer } from "../../ampersend/index.js";
|
|
3
4
|
import { createNaiveTreasurer } from "../../x402/index.js";
|
|
4
5
|
import { parseEnvConfig } from "./env.js";
|
|
5
6
|
import { initializeProxyServer } from "./server/index.js";
|
|
@@ -58,7 +59,7 @@ function parseOptions(args, envPrefix = "") {
|
|
|
58
59
|
// Parse CLI arguments first to check for env-prefix flag
|
|
59
60
|
const program = new Command()
|
|
60
61
|
.name("ampersend-proxy")
|
|
61
|
-
.description("MCP x402 proxy server
|
|
62
|
+
.description("MCP x402 proxy server")
|
|
62
63
|
.version("0.1.0")
|
|
63
64
|
.option("-p, --port <number>", "Port number (overrides env)", (value) => parseInt(value, 10))
|
|
64
65
|
.option("-e, --env-prefix <value>", "Environment variable prefix (empty string for no prefix)")
|
|
@@ -71,7 +72,15 @@ function parseOptions(args, envPrefix = "") {
|
|
|
71
72
|
// Build configuration (CLI args override env vars)
|
|
72
73
|
const transport = createTransportConfig(opts.port, envConfig);
|
|
73
74
|
const walletConfig = createWalletConfig(envConfig);
|
|
74
|
-
|
|
75
|
+
// Create treasurer based on configuration
|
|
76
|
+
// Default: AmpersendTreasurer (with spend limits and monitoring)
|
|
77
|
+
// Fallback: NaiveTreasurer (for testing, no API)
|
|
78
|
+
const treasurer = envConfig.AMPERSEND_API_URL
|
|
79
|
+
? createAmpersendTreasurer({
|
|
80
|
+
apiUrl: envConfig.AMPERSEND_API_URL,
|
|
81
|
+
walletConfig,
|
|
82
|
+
})
|
|
83
|
+
: createNaiveTreasurer(walletConfig);
|
|
75
84
|
return {
|
|
76
85
|
transport,
|
|
77
86
|
treasurer,
|
|
@@ -82,7 +91,8 @@ function parseOptions(args, envPrefix = "") {
|
|
|
82
91
|
*/
|
|
83
92
|
async function main() {
|
|
84
93
|
const options = parseOptions(process.argv.slice(2));
|
|
85
|
-
|
|
94
|
+
const treasurerType = options.treasurer.constructor.name;
|
|
95
|
+
console.log(`[MCP-PROXY] Starting MCP proxy (${treasurerType})...`);
|
|
86
96
|
console.log(`[MCP-PROXY] Port: ${options.transport.port}`);
|
|
87
97
|
const { server } = await initializeProxyServer(options);
|
|
88
98
|
console.log("[MCP-PROXY] Proxy server started successfully");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/mcp/proxy/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,EAAE,cAAc,EAAuB,MAAM,UAAU,CAAA;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,EAMN,MAAM,YAAY,CAAA;AAEnB;;;;;;;GAOG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAA2B,EAAE,SAAyB;IAC1F,MAAM,IAAI,GAAG,OAAO,IAAI,SAAS,CAAC,IAAI,IAAI,IAAI,CAAA;IAC9C,OAAO;QACL,IAAI,EAAE,MAAM;QACZ,IAAI;KACL,CAAA;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAyB;IAC1D,IAAI,CAAC,SAAS,CAAC,2BAA2B,IAAI,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC;QAC3E,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;IAC3E,CAAC;IAED,qBAAqB;IACrB,IAAI,SAAS,CAAC,2BAA2B,EAAE,CAAC;QAC1C,MAAM,wBAAwB,GAA6B;YACzD,IAAI,EAAE,eAAe;YACrB,mBAAmB,EAAE,SAAS,CAAC,2BAA4C;YAC3E,oBAAoB,EAAE,SAAS,CAAC,mCAAqD;YACrF,OAAO,EAAE,SAAS,CAAC,4BAA4B,IAAI,KAAK;YACxD,gBAAgB,EAAE,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/mcp/proxy/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp/proxy/env.d.ts
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* Environment configuration schema for MCP proxy
|
|
4
|
+
*
|
|
5
|
+
* Supports two modes:
|
|
6
|
+
* 1. Smart Account + AmpersendTreasurer (recommended)
|
|
7
|
+
* 2. EOA + NaiveTreasurer (standalone testing)
|
|
8
|
+
*/
|
|
2
9
|
/**
|
|
3
10
|
* Creates a Zod schema for environment variable validation with configurable prefix.
|
|
4
11
|
*
|
|
@@ -12,6 +19,7 @@ export declare function createEnvSchema(envPrefix?: string): z.ZodEffects<z.ZodE
|
|
|
12
19
|
BUYER_SMART_ACCOUNT_KEY_PRIVATE_KEY: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
|
|
13
20
|
BUYER_SMART_ACCOUNT_VALIDATOR_ADDRESS: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>>;
|
|
14
21
|
BUYER_SMART_ACCOUNT_CHAIN_ID: z.ZodOptional<z.ZodNumber>;
|
|
22
|
+
AMPERSEND_API_URL: z.ZodOptional<z.ZodString>;
|
|
15
23
|
}, "strip", z.ZodTypeAny, {
|
|
16
24
|
BUYER_SMART_ACCOUNT_VALIDATOR_ADDRESS: string;
|
|
17
25
|
PORT?: number | undefined;
|
|
@@ -19,6 +27,7 @@ export declare function createEnvSchema(envPrefix?: string): z.ZodEffects<z.ZodE
|
|
|
19
27
|
BUYER_SMART_ACCOUNT_ADDRESS?: string | undefined;
|
|
20
28
|
BUYER_SMART_ACCOUNT_KEY_PRIVATE_KEY?: string | undefined;
|
|
21
29
|
BUYER_SMART_ACCOUNT_CHAIN_ID?: number | undefined;
|
|
30
|
+
AMPERSEND_API_URL?: string | undefined;
|
|
22
31
|
}, {
|
|
23
32
|
PORT?: number | undefined;
|
|
24
33
|
BUYER_PRIVATE_KEY?: string | undefined;
|
|
@@ -26,6 +35,7 @@ export declare function createEnvSchema(envPrefix?: string): z.ZodEffects<z.ZodE
|
|
|
26
35
|
BUYER_SMART_ACCOUNT_KEY_PRIVATE_KEY?: string | undefined;
|
|
27
36
|
BUYER_SMART_ACCOUNT_VALIDATOR_ADDRESS?: string | undefined;
|
|
28
37
|
BUYER_SMART_ACCOUNT_CHAIN_ID?: number | undefined;
|
|
38
|
+
AMPERSEND_API_URL?: string | undefined;
|
|
29
39
|
}>, {
|
|
30
40
|
BUYER_SMART_ACCOUNT_VALIDATOR_ADDRESS: string;
|
|
31
41
|
PORT?: number | undefined;
|
|
@@ -33,6 +43,7 @@ export declare function createEnvSchema(envPrefix?: string): z.ZodEffects<z.ZodE
|
|
|
33
43
|
BUYER_SMART_ACCOUNT_ADDRESS?: string | undefined;
|
|
34
44
|
BUYER_SMART_ACCOUNT_KEY_PRIVATE_KEY?: string | undefined;
|
|
35
45
|
BUYER_SMART_ACCOUNT_CHAIN_ID?: number | undefined;
|
|
46
|
+
AMPERSEND_API_URL?: string | undefined;
|
|
36
47
|
}, {
|
|
37
48
|
PORT?: number | undefined;
|
|
38
49
|
BUYER_PRIVATE_KEY?: string | undefined;
|
|
@@ -40,6 +51,7 @@ export declare function createEnvSchema(envPrefix?: string): z.ZodEffects<z.ZodE
|
|
|
40
51
|
BUYER_SMART_ACCOUNT_KEY_PRIVATE_KEY?: string | undefined;
|
|
41
52
|
BUYER_SMART_ACCOUNT_VALIDATOR_ADDRESS?: string | undefined;
|
|
42
53
|
BUYER_SMART_ACCOUNT_CHAIN_ID?: number | undefined;
|
|
54
|
+
AMPERSEND_API_URL?: string | undefined;
|
|
43
55
|
}>, {
|
|
44
56
|
BUYER_SMART_ACCOUNT_VALIDATOR_ADDRESS: string;
|
|
45
57
|
PORT?: number | undefined;
|
|
@@ -47,6 +59,7 @@ export declare function createEnvSchema(envPrefix?: string): z.ZodEffects<z.ZodE
|
|
|
47
59
|
BUYER_SMART_ACCOUNT_ADDRESS?: string | undefined;
|
|
48
60
|
BUYER_SMART_ACCOUNT_KEY_PRIVATE_KEY?: string | undefined;
|
|
49
61
|
BUYER_SMART_ACCOUNT_CHAIN_ID?: number | undefined;
|
|
62
|
+
AMPERSEND_API_URL?: string | undefined;
|
|
50
63
|
}, {
|
|
51
64
|
PORT?: number | undefined;
|
|
52
65
|
BUYER_PRIVATE_KEY?: string | undefined;
|
|
@@ -54,6 +67,7 @@ export declare function createEnvSchema(envPrefix?: string): z.ZodEffects<z.ZodE
|
|
|
54
67
|
BUYER_SMART_ACCOUNT_KEY_PRIVATE_KEY?: string | undefined;
|
|
55
68
|
BUYER_SMART_ACCOUNT_VALIDATOR_ADDRESS?: string | undefined;
|
|
56
69
|
BUYER_SMART_ACCOUNT_CHAIN_ID?: number | undefined;
|
|
70
|
+
AMPERSEND_API_URL?: string | undefined;
|
|
57
71
|
}>, {
|
|
58
72
|
BUYER_SMART_ACCOUNT_VALIDATOR_ADDRESS: string;
|
|
59
73
|
PORT?: number | undefined;
|
|
@@ -61,6 +75,7 @@ export declare function createEnvSchema(envPrefix?: string): z.ZodEffects<z.ZodE
|
|
|
61
75
|
BUYER_SMART_ACCOUNT_ADDRESS?: string | undefined;
|
|
62
76
|
BUYER_SMART_ACCOUNT_KEY_PRIVATE_KEY?: string | undefined;
|
|
63
77
|
BUYER_SMART_ACCOUNT_CHAIN_ID?: number | undefined;
|
|
78
|
+
AMPERSEND_API_URL?: string | undefined;
|
|
64
79
|
}, {
|
|
65
80
|
PORT?: number | undefined;
|
|
66
81
|
BUYER_PRIVATE_KEY?: string | undefined;
|
|
@@ -68,6 +83,7 @@ export declare function createEnvSchema(envPrefix?: string): z.ZodEffects<z.ZodE
|
|
|
68
83
|
BUYER_SMART_ACCOUNT_KEY_PRIVATE_KEY?: string | undefined;
|
|
69
84
|
BUYER_SMART_ACCOUNT_VALIDATOR_ADDRESS?: string | undefined;
|
|
70
85
|
BUYER_SMART_ACCOUNT_CHAIN_ID?: number | undefined;
|
|
86
|
+
AMPERSEND_API_URL?: string | undefined;
|
|
71
87
|
}>;
|
|
72
88
|
/**
|
|
73
89
|
* Type inferred from the env schema
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../src/mcp/proxy/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,SAAS,SAAK
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../../src/mcp/proxy/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB;;;;;;GAMG;AAEH;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,SAAS,SAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqE7C;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC,CAAA;AAExE;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,SAAS,SAAK,GAAG,cAAc,CAe7D"}
|
package/dist/mcp/proxy/env.js
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import { OWNABLE_VALIDATOR } from "../../smart-account/constants.js";
|
|
3
|
+
/**
|
|
4
|
+
* Environment configuration schema for MCP proxy
|
|
5
|
+
*
|
|
6
|
+
* Supports two modes:
|
|
7
|
+
* 1. Smart Account + AmpersendTreasurer (recommended)
|
|
8
|
+
* 2. EOA + NaiveTreasurer (standalone testing)
|
|
9
|
+
*/
|
|
3
10
|
/**
|
|
4
11
|
* Creates a Zod schema for environment variable validation with configurable prefix.
|
|
5
12
|
*
|
|
@@ -36,6 +43,7 @@ export function createEnvSchema(envPrefix = "") {
|
|
|
36
43
|
.optional()
|
|
37
44
|
.default(OWNABLE_VALIDATOR),
|
|
38
45
|
BUYER_SMART_ACCOUNT_CHAIN_ID: z.coerce.number().int().optional(),
|
|
46
|
+
AMPERSEND_API_URL: z.string().url().optional(),
|
|
39
47
|
})
|
|
40
48
|
.refine((data) => {
|
|
41
49
|
// Cannot have both EOA and Smart Account config
|
|
@@ -81,6 +89,7 @@ export function parseEnvConfig(envPrefix = "") {
|
|
|
81
89
|
BUYER_SMART_ACCOUNT_KEY_PRIVATE_KEY: process.env[`${envPrefix}BUYER_SMART_ACCOUNT_KEY_PRIVATE_KEY`],
|
|
82
90
|
BUYER_SMART_ACCOUNT_VALIDATOR_ADDRESS: process.env[`${envPrefix}BUYER_SMART_ACCOUNT_VALIDATOR_ADDRESS`],
|
|
83
91
|
BUYER_SMART_ACCOUNT_CHAIN_ID: process.env[`${envPrefix}BUYER_SMART_ACCOUNT_CHAIN_ID`],
|
|
92
|
+
AMPERSEND_API_URL: process.env[`${envPrefix}AMPERSEND_API_URL`],
|
|
84
93
|
};
|
|
85
94
|
// Validate with schema
|
|
86
95
|
const schema = createEnvSchema(envPrefix);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../../src/mcp/proxy/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AAEpE;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,SAAS,GAAG,EAAE;IAC5C,OAAO,CAAC;SACL,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE;QAC1D,iBAAiB,EAAE,CAAC;aACjB,MAAM,EAAE;aACR,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACrC,OAAO,EAAE,oBAAoB;SAC9B,CAAC;aACD,QAAQ,EAAE;QACb,2BAA2B,EAAE,CAAC;aAC3B,MAAM,EAAE;aACR,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACrC,OAAO,EAAE,oBAAoB;SAC9B,CAAC;aACD,QAAQ,EAAE;QACb,mCAAmC,EAAE,CAAC;aACnC,MAAM,EAAE;aACR,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACrC,OAAO,EAAE,oBAAoB;SAC9B,CAAC;aACD,QAAQ,EAAE;QACb,qCAAqC,EAAE,CAAC;aACrC,MAAM,EAAE;aACR,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACrC,OAAO,EAAE,oBAAoB;SAC9B,CAAC;aACD,QAAQ,EAAE;aACV,OAAO,CAAC,iBAAiB,CAAC;QAC7B,4BAA4B,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../../src/mcp/proxy/env.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../../../src/mcp/proxy/server/bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAE3D,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAA;AACvG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAA;AAC9E,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAA;AACvG,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAA;AACpG,OAAO,
|
|
1
|
+
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../../../src/mcp/proxy/server/bridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,MAAM,CAAA;AAE3D,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAA;AACvG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAA;AAC9E,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAA;AACvG,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAA;AACpG,OAAO,EAGL,KAAK,cAAc,EAEnB,KAAK,gBAAgB,EACtB,MAAM,oCAAoC,CAAA;AAE3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAI/D,qBAAa,mBAAoB,YAAW,SAAS;IACnD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,YAAY,CAAkD;IACtE,OAAO,CAAC,MAAM,CAAC,CAAe;IAC9B,OAAO,CAAC,MAAM,CAAC,CAAe;IAC9B,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAO;IAG5C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAChC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,CAAC,EAAE,gBAAgB,KAAK,IAAI,CAAA;gBAE3D,EACV,aAAa,EACb,cAAc,EACd,SAAS,GACV,EAAE;QACD,aAAa,EAAE,6BAA6B,CAAA;QAC5C,SAAS,EAAE,aAAa,CAAA;QACxB,cAAc,EAAE,6BAA6B,CAAA;KAC9C;IA6EK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAId,QAAQ;IAIhB,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ7E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;YAId,QAAQ;IAOtB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAInC,aAAa,CACjB,GAAG,EAAE,eAAe,GAAG;QACrB,IAAI,CAAC,EAAE,QAAQ,CAAA;KAChB,EACD,GAAG,EAAE,cAAc,EACnB,UAAU,CAAC,EAAE,OAAO,GACnB,OAAO,CAAC,IAAI,CAAC;YAIF,UAAU;CAUzB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isJSONRPCRequest, isJSONRPCResponse, } from "@modelcontextprotocol/sdk/types.js";
|
|
2
2
|
import { X402Middleware } from "../../client/index.js";
|
|
3
3
|
import { addMeta } from "../../client/protocol.js";
|
|
4
4
|
export class X402BridgeTransport {
|
|
@@ -41,10 +41,7 @@ export class X402BridgeTransport {
|
|
|
41
41
|
if (originalId !== undefined) {
|
|
42
42
|
response = { ...response, id: originalId };
|
|
43
43
|
}
|
|
44
|
-
|
|
45
|
-
this._leftTransport.send(response);
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
44
|
+
// Process ALL responses through middleware to detect payment responses
|
|
48
45
|
x402Middleware
|
|
49
46
|
.onMessage(request, response)
|
|
50
47
|
.then((retryWithPayment) => {
|
|
@@ -55,16 +52,23 @@ export class X402BridgeTransport {
|
|
|
55
52
|
this._rightTransport.send(request);
|
|
56
53
|
}
|
|
57
54
|
else {
|
|
55
|
+
// Middleware processed (e.g., payment status update) or just forwarding
|
|
58
56
|
this._leftTransport.send(response);
|
|
59
57
|
}
|
|
60
58
|
})
|
|
61
|
-
.catch((err) =>
|
|
59
|
+
.catch((err) => {
|
|
60
|
+
console.error("[MCP-PROXY] x402 middleware error:", err);
|
|
61
|
+
// Forward response even on middleware error
|
|
62
|
+
this._leftTransport.send(response);
|
|
63
|
+
});
|
|
62
64
|
};
|
|
63
65
|
// Forward errors from both sides
|
|
64
66
|
this._leftTransport.onerror = (error) => {
|
|
67
|
+
console.error("[MCP-PROXY] Left transport error:", error.message);
|
|
65
68
|
this.onerror?.(error);
|
|
66
69
|
};
|
|
67
70
|
this._rightTransport.onerror = (error) => {
|
|
71
|
+
console.error("[MCP-PROXY] Right transport error:", error.message);
|
|
68
72
|
this.onerror?.(error);
|
|
69
73
|
};
|
|
70
74
|
// Handle close from either side
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../../../src/mcp/proxy/server/bridge.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../../../src/mcp/proxy/server/bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../../src/mcp/server/fastmcp/middleware.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../../src/mcp/server/fastmcp/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,WAAW,EACjB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,mBAAmB,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAA;AAE/F;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,KAAK,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAA;AAE3F;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE;IAChC,OAAO,EAAE,cAAc,CAAA;IACvB,YAAY,EAAE,mBAAmB,CAAA;CAClC,KAAK,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;AAEpC;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,EAAE,SAAS,CAAA;CACrB;AAcD;;GAEG;AACH,UAAU,cAAc;IACtB,eAAe,CAAC,EAAE;QAChB,cAAc,CAAC,EAAE,cAAc,CAAA;QAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KACvB,CAAA;IACD,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED;;GAEG;AACH,KAAK,eAAe,CAAC,KAAK,GAAG,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;AA8B7G,MAAM,MAAM,iBAAiB,GACzB,YAAY,GACZ,aAAa,GACb,YAAY,GACZ,eAAe,GACf,YAAY,GACZ,MAAM,GACN,WAAW,GACX,IAAI,CAAA;AAoBR;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,KAAK,GAAG,GAAG,EAAE,OAAO,GAAG,GAAG,EACxD,OAAO,EAAE,sBAAsB,GAC9B,CAAC,OAAO,EAAE,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAuD/E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,GAAG,GAAG,EAAE,OAAO,GAAG,GAAG,EAC1D,OAAO,EAAE,sBAAsB,EAC/B,OAAO,EAAE,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,GACvC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,CAEjC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {} from "fastmcp";
|
|
1
|
+
import { CustomMcpError, } from "fastmcp";
|
|
3
2
|
import {} from "x402/types";
|
|
4
3
|
/**
|
|
5
4
|
* Creates a payment error with x402 requirements
|
|
@@ -21,7 +20,7 @@ function createPaymentError(requirements, errorReason = null, paymentResponse =
|
|
|
21
20
|
if (paymentResponse) {
|
|
22
21
|
data["x402/payment-response"] = paymentResponse;
|
|
23
22
|
}
|
|
24
|
-
return new
|
|
23
|
+
return new CustomMcpError(402, data.message, data);
|
|
25
24
|
}
|
|
26
25
|
function normalizeToolResult(result) {
|
|
27
26
|
if (result === undefined || result === null) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../../src/mcp/server/fastmcp/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../../src/mcp/server/fastmcp/middleware.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ampersend_ai/ampersend-sdk",
|
|
3
3
|
"description": "Tooling for building applications with x402 payment capabilities. Supports buyer and seller roles.",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.2",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/edgeandnode/ampersend-sdk.git"
|
|
@@ -60,13 +60,13 @@
|
|
|
60
60
|
"dependencies": {
|
|
61
61
|
"@modelcontextprotocol/sdk": "github:edgeandnode/mcp-typescript-sdk#2de06543904483073d8cc13db1d0e08e16601081",
|
|
62
62
|
"@rhinestone/module-sdk": "^0.4.0",
|
|
63
|
-
"@types/express": "^5.0.
|
|
63
|
+
"@types/express": "^5.0.6",
|
|
64
64
|
"async-mutex": "^0.5.0",
|
|
65
65
|
"commander": "^12.1.0",
|
|
66
|
-
"effect": "^3.
|
|
67
|
-
"express": "^5.1
|
|
66
|
+
"effect": "^3.19.12",
|
|
67
|
+
"express": "^5.2.1",
|
|
68
68
|
"siwe": "^3.0.0",
|
|
69
|
-
"viem": "^2.
|
|
69
|
+
"viem": "^2.42.1",
|
|
70
70
|
"x402": "^0.6.6",
|
|
71
71
|
"zod": "^3.24.2"
|
|
72
72
|
},
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"fastmcp": "^3.17.0"
|
|
75
75
|
},
|
|
76
76
|
"devDependencies": {
|
|
77
|
-
"fastmcp": "github:edgeandnode/fastmcp#
|
|
78
|
-
"tsx": "^4.
|
|
77
|
+
"fastmcp": "github:edgeandnode/fastmcp#598d18f",
|
|
78
|
+
"tsx": "^4.21.0"
|
|
79
79
|
}
|
|
80
80
|
}
|