@ampersend_ai/ampersend-sdk 0.0.19 → 0.0.21

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 (123) hide show
  1. package/dist/ampersend/client.d.ts +4 -9
  2. package/dist/ampersend/client.d.ts.map +1 -1
  3. package/dist/ampersend/client.js +25 -21
  4. package/dist/ampersend/client.js.map +1 -1
  5. package/dist/ampersend/treasurer.d.ts +14 -79
  6. package/dist/ampersend/treasurer.d.ts.map +1 -1
  7. package/dist/ampersend/treasurer.js +34 -102
  8. package/dist/ampersend/treasurer.js.map +1 -1
  9. package/dist/ampersend/types.d.ts +342 -336
  10. package/dist/ampersend/types.d.ts.map +1 -1
  11. package/dist/ampersend/types.js +110 -149
  12. package/dist/ampersend/types.js.map +1 -1
  13. package/dist/ampersend/zod-bridge.d.ts +15 -0
  14. package/dist/ampersend/zod-bridge.d.ts.map +1 -0
  15. package/dist/ampersend/zod-bridge.js +29 -0
  16. package/dist/ampersend/zod-bridge.js.map +1 -0
  17. package/dist/cli/commands/fetch.d.ts.map +1 -1
  18. package/dist/cli/commands/fetch.js.map +1 -1
  19. package/dist/cli/commands/setup.d.ts.map +1 -1
  20. package/dist/cli/commands/setup.js +6 -1
  21. package/dist/cli/commands/setup.js.map +1 -1
  22. package/dist/index.d.ts +2 -1
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +1 -1
  25. package/dist/index.js.map +1 -1
  26. package/dist/mcp/client/client.d.ts +0 -3
  27. package/dist/mcp/client/client.d.ts.map +1 -1
  28. package/dist/mcp/client/client.js +10 -14
  29. package/dist/mcp/client/client.js.map +1 -1
  30. package/dist/mcp/client/factory.d.ts +0 -2
  31. package/dist/mcp/client/factory.d.ts.map +1 -1
  32. package/dist/mcp/client/factory.js +0 -3
  33. package/dist/mcp/client/factory.js.map +1 -1
  34. package/dist/mcp/client/middleware.d.ts +0 -3
  35. package/dist/mcp/client/middleware.d.ts.map +1 -1
  36. package/dist/mcp/client/middleware.js +9 -12
  37. package/dist/mcp/client/middleware.js.map +1 -1
  38. package/dist/mcp/client/protocol.d.ts +81 -85
  39. package/dist/mcp/client/protocol.d.ts.map +1 -1
  40. package/dist/mcp/client/protocol.js +17 -15
  41. package/dist/mcp/client/protocol.js.map +1 -1
  42. package/dist/mcp/client/types.d.ts +6 -19
  43. package/dist/mcp/client/types.d.ts.map +1 -1
  44. package/dist/mcp/proxy/cli.d.ts.map +1 -1
  45. package/dist/mcp/proxy/cli.js +0 -1
  46. package/dist/mcp/proxy/cli.js.map +1 -1
  47. package/dist/mcp/proxy/env.d.ts +0 -9
  48. package/dist/mcp/proxy/env.d.ts.map +1 -1
  49. package/dist/mcp/proxy/env.js +0 -2
  50. package/dist/mcp/proxy/env.js.map +1 -1
  51. package/dist/mcp/proxy/factory.d.ts +0 -2
  52. package/dist/mcp/proxy/factory.d.ts.map +1 -1
  53. package/dist/mcp/proxy/factory.js +0 -3
  54. package/dist/mcp/proxy/factory.js.map +1 -1
  55. package/dist/mcp/server/fastmcp/middleware.d.ts +9 -29
  56. package/dist/mcp/server/fastmcp/middleware.d.ts.map +1 -1
  57. package/dist/mcp/server/fastmcp/middleware.js +10 -42
  58. package/dist/mcp/server/fastmcp/middleware.js.map +1 -1
  59. package/dist/version.d.ts +1 -1
  60. package/dist/version.js +1 -1
  61. package/dist/x402/envelopes.d.ts +62 -0
  62. package/dist/x402/envelopes.d.ts.map +1 -0
  63. package/dist/x402/envelopes.js +73 -0
  64. package/dist/x402/envelopes.js.map +1 -0
  65. package/dist/x402/http/client.d.ts +37 -0
  66. package/dist/x402/http/client.d.ts.map +1 -0
  67. package/dist/x402/http/client.js +159 -0
  68. package/dist/x402/http/client.js.map +1 -0
  69. package/dist/x402/http/factory.d.ts +11 -25
  70. package/dist/x402/http/factory.d.ts.map +1 -1
  71. package/dist/x402/http/factory.js +11 -22
  72. package/dist/x402/http/factory.js.map +1 -1
  73. package/dist/x402/http/index.d.ts +4 -1
  74. package/dist/x402/http/index.d.ts.map +1 -1
  75. package/dist/x402/http/index.js +2 -1
  76. package/dist/x402/http/index.js.map +1 -1
  77. package/dist/x402/index.d.ts +4 -1
  78. package/dist/x402/index.d.ts.map +1 -1
  79. package/dist/x402/index.js +3 -2
  80. package/dist/x402/index.js.map +1 -1
  81. package/dist/x402/treasurer.d.ts +22 -47
  82. package/dist/x402/treasurer.d.ts.map +1 -1
  83. package/dist/x402/treasurers/naive.d.ts +4 -40
  84. package/dist/x402/treasurers/naive.d.ts.map +1 -1
  85. package/dist/x402/treasurers/naive.js +7 -44
  86. package/dist/x402/treasurers/naive.js.map +1 -1
  87. package/dist/x402/wallet.d.ts +7 -32
  88. package/dist/x402/wallet.d.ts.map +1 -1
  89. package/dist/x402/wallet.js +0 -3
  90. package/dist/x402/wallet.js.map +1 -1
  91. package/dist/x402/wallets/account/wallet.d.ts +9 -30
  92. package/dist/x402/wallets/account/wallet.d.ts.map +1 -1
  93. package/dist/x402/wallets/account/wallet.js +30 -37
  94. package/dist/x402/wallets/account/wallet.js.map +1 -1
  95. package/dist/x402/wallets/index.d.ts +0 -1
  96. package/dist/x402/wallets/index.d.ts.map +1 -1
  97. package/dist/x402/wallets/index.js +0 -1
  98. package/dist/x402/wallets/index.js.map +1 -1
  99. package/dist/x402/wallets/smart-account/chain.d.ts +4 -0
  100. package/dist/x402/wallets/smart-account/chain.d.ts.map +1 -0
  101. package/dist/x402/wallets/smart-account/chain.js +12 -0
  102. package/dist/x402/wallets/smart-account/chain.js.map +1 -0
  103. package/dist/x402/wallets/smart-account/cosigned.d.ts +7 -33
  104. package/dist/x402/wallets/smart-account/cosigned.d.ts.map +1 -1
  105. package/dist/x402/wallets/smart-account/cosigned.js +28 -51
  106. package/dist/x402/wallets/smart-account/cosigned.js.map +1 -1
  107. package/dist/x402/wallets/smart-account/exact.d.ts +6 -20
  108. package/dist/x402/wallets/smart-account/exact.d.ts.map +1 -1
  109. package/dist/x402/wallets/smart-account/exact.js +33 -43
  110. package/dist/x402/wallets/smart-account/exact.js.map +1 -1
  111. package/dist/x402/wallets/smart-account/wallet.d.ts +6 -39
  112. package/dist/x402/wallets/smart-account/wallet.d.ts.map +1 -1
  113. package/dist/x402/wallets/smart-account/wallet.js +9 -36
  114. package/dist/x402/wallets/smart-account/wallet.js.map +1 -1
  115. package/package.json +4 -4
  116. package/dist/x402/http/adapter.d.ts +0 -38
  117. package/dist/x402/http/adapter.d.ts.map +0 -1
  118. package/dist/x402/http/adapter.js +0 -193
  119. package/dist/x402/http/adapter.js.map +0 -1
  120. package/dist/x402/http/v2-adapter.d.ts +0 -56
  121. package/dist/x402/http/v2-adapter.d.ts.map +0 -1
  122. package/dist/x402/http/v2-adapter.js +0 -94
  123. package/dist/x402/http/v2-adapter.js.map +0 -1
@@ -1,26 +1,18 @@
1
1
  import type { ClientOptions as McpClientOptions } from "@modelcontextprotocol/sdk/client/index.js";
2
- import type { PaymentPayload, PaymentRequirements, SettleResponse } from "x402/types";
2
+ import type { PaymentPayloadV1, PaymentRequirementsV1 } from "@x402/core/schemas";
3
+ import type { SettleResponse } from "@x402/core/types";
3
4
  import type { X402Treasurer } from "../../x402/treasurer.ts";
4
- /**
5
- * HTTP 402 response structure with payment requirements
6
- * Matches the official MCP x402 specification PaymentRequirementsResponse
7
- */
5
+ /** Internal 402 shape embedded in JSON-RPC error data; wrapped into a `PaymentRequest` before the treasurer sees it. */
8
6
  export interface X402Response {
9
7
  readonly x402Version: number;
10
- readonly accepts: ReadonlyArray<PaymentRequirements>;
8
+ readonly accepts: ReadonlyArray<PaymentRequirementsV1>;
11
9
  readonly error?: string;
12
10
  }
13
- /**
14
- * MCP-specific meta field types for x402 payments
15
- * Used in request/response _meta fields according to official spec
16
- */
11
+ /** `_meta` fields the MCP x402 spec defines on requests/results. */
17
12
  export interface X402MetaFields {
18
- "x402/payment"?: PaymentPayload;
13
+ "x402/payment"?: PaymentPayloadV1;
19
14
  "x402/payment-response"?: SettleResponse;
20
15
  }
21
- /**
22
- * Payment tracking events (for API compatibility)
23
- */
24
16
  export type PaymentEvent = {
25
17
  type: "sending";
26
18
  } | {
@@ -32,13 +24,8 @@ export type PaymentEvent = {
32
24
  type: "error";
33
25
  reason: string;
34
26
  };
35
- /**
36
- * Client options that wrap MCP options and add x402 payment handling
37
- */
38
27
  export interface ClientOptions {
39
- /** Standard MCP client options */
40
28
  readonly mcpOptions: McpClientOptions;
41
- /** X402Treasurer for handling payment decisions and status tracking */
42
29
  readonly treasurer: X402Treasurer;
43
30
  }
44
31
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/mcp/client/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,IAAI,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAClG,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAErF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAE5D;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAA;IACpD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,uBAAuB,CAAC,EAAE,cAAc,CAAA;CACzC;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAErC;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,kCAAkC;IAClC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAA;IACrC,uEAAuE;IACvE,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAA;CAClC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/mcp/client/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,IAAI,gBAAgB,EAAE,MAAM,2CAA2C,CAAA;AAClG,OAAO,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AACjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAA;AAE5D,wHAAwH;AACxH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAA;IACtD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,oEAAoE;AACpE,MAAM,WAAW,cAAc;IAC7B,cAAc,CAAC,EAAE,gBAAgB,CAAA;IACjC,uBAAuB,CAAC,EAAE,cAAc,CAAA;CACzC;AAED,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAErC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAA;IACrC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAA;CAClC"}
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/mcp/proxy/cli.ts"],"names":[],"mappings":";AAOA,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"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/mcp/proxy/cli.ts"],"names":[],"mappings":";AAOA,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,CAsB1E"}
@@ -41,7 +41,6 @@ export function createWalletConfig(envConfig) {
41
41
  type: "smart-account",
42
42
  smartAccountAddress: envConfig.BUYER_SMART_ACCOUNT_ADDRESS,
43
43
  sessionKeyPrivateKey: envConfig.BUYER_SMART_ACCOUNT_KEY_PRIVATE_KEY,
44
- chainId: envConfig.BUYER_SMART_ACCOUNT_CHAIN_ID ?? 84532,
45
44
  validatorAddress: envConfig.BUYER_SMART_ACCOUNT_VALIDATOR_ADDRESS,
46
45
  };
47
46
  return smartAccountWalletConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/mcp/proxy/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/mcp/proxy/cli.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,6 @@ export declare function createEnvSchema(envPrefix?: string): z.ZodEffects<z.ZodE
18
18
  BUYER_SMART_ACCOUNT_ADDRESS: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
19
19
  BUYER_SMART_ACCOUNT_KEY_PRIVATE_KEY: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
20
20
  BUYER_SMART_ACCOUNT_VALIDATOR_ADDRESS: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>>;
21
- BUYER_SMART_ACCOUNT_CHAIN_ID: z.ZodOptional<z.ZodNumber>;
22
21
  AMPERSEND_API_URL: z.ZodOptional<z.ZodString>;
23
22
  }, "strip", z.ZodTypeAny, {
24
23
  BUYER_SMART_ACCOUNT_VALIDATOR_ADDRESS: string;
@@ -26,7 +25,6 @@ export declare function createEnvSchema(envPrefix?: string): z.ZodEffects<z.ZodE
26
25
  BUYER_PRIVATE_KEY?: string | undefined;
27
26
  BUYER_SMART_ACCOUNT_ADDRESS?: string | undefined;
28
27
  BUYER_SMART_ACCOUNT_KEY_PRIVATE_KEY?: string | undefined;
29
- BUYER_SMART_ACCOUNT_CHAIN_ID?: number | undefined;
30
28
  AMPERSEND_API_URL?: string | undefined;
31
29
  }, {
32
30
  PORT?: number | undefined;
@@ -34,7 +32,6 @@ export declare function createEnvSchema(envPrefix?: string): z.ZodEffects<z.ZodE
34
32
  BUYER_SMART_ACCOUNT_ADDRESS?: string | undefined;
35
33
  BUYER_SMART_ACCOUNT_KEY_PRIVATE_KEY?: string | undefined;
36
34
  BUYER_SMART_ACCOUNT_VALIDATOR_ADDRESS?: string | undefined;
37
- BUYER_SMART_ACCOUNT_CHAIN_ID?: number | undefined;
38
35
  AMPERSEND_API_URL?: string | undefined;
39
36
  }>, {
40
37
  BUYER_SMART_ACCOUNT_VALIDATOR_ADDRESS: string;
@@ -42,7 +39,6 @@ export declare function createEnvSchema(envPrefix?: string): z.ZodEffects<z.ZodE
42
39
  BUYER_PRIVATE_KEY?: string | undefined;
43
40
  BUYER_SMART_ACCOUNT_ADDRESS?: string | undefined;
44
41
  BUYER_SMART_ACCOUNT_KEY_PRIVATE_KEY?: string | undefined;
45
- BUYER_SMART_ACCOUNT_CHAIN_ID?: number | undefined;
46
42
  AMPERSEND_API_URL?: string | undefined;
47
43
  }, {
48
44
  PORT?: number | undefined;
@@ -50,7 +46,6 @@ export declare function createEnvSchema(envPrefix?: string): z.ZodEffects<z.ZodE
50
46
  BUYER_SMART_ACCOUNT_ADDRESS?: string | undefined;
51
47
  BUYER_SMART_ACCOUNT_KEY_PRIVATE_KEY?: string | undefined;
52
48
  BUYER_SMART_ACCOUNT_VALIDATOR_ADDRESS?: string | undefined;
53
- BUYER_SMART_ACCOUNT_CHAIN_ID?: number | undefined;
54
49
  AMPERSEND_API_URL?: string | undefined;
55
50
  }>, {
56
51
  BUYER_SMART_ACCOUNT_VALIDATOR_ADDRESS: string;
@@ -58,7 +53,6 @@ export declare function createEnvSchema(envPrefix?: string): z.ZodEffects<z.ZodE
58
53
  BUYER_PRIVATE_KEY?: string | undefined;
59
54
  BUYER_SMART_ACCOUNT_ADDRESS?: string | undefined;
60
55
  BUYER_SMART_ACCOUNT_KEY_PRIVATE_KEY?: string | undefined;
61
- BUYER_SMART_ACCOUNT_CHAIN_ID?: number | undefined;
62
56
  AMPERSEND_API_URL?: string | undefined;
63
57
  }, {
64
58
  PORT?: number | undefined;
@@ -66,7 +60,6 @@ export declare function createEnvSchema(envPrefix?: string): z.ZodEffects<z.ZodE
66
60
  BUYER_SMART_ACCOUNT_ADDRESS?: string | undefined;
67
61
  BUYER_SMART_ACCOUNT_KEY_PRIVATE_KEY?: string | undefined;
68
62
  BUYER_SMART_ACCOUNT_VALIDATOR_ADDRESS?: string | undefined;
69
- BUYER_SMART_ACCOUNT_CHAIN_ID?: number | undefined;
70
63
  AMPERSEND_API_URL?: string | undefined;
71
64
  }>, {
72
65
  BUYER_SMART_ACCOUNT_VALIDATOR_ADDRESS: string;
@@ -74,7 +67,6 @@ export declare function createEnvSchema(envPrefix?: string): z.ZodEffects<z.ZodE
74
67
  BUYER_PRIVATE_KEY?: string | undefined;
75
68
  BUYER_SMART_ACCOUNT_ADDRESS?: string | undefined;
76
69
  BUYER_SMART_ACCOUNT_KEY_PRIVATE_KEY?: string | undefined;
77
- BUYER_SMART_ACCOUNT_CHAIN_ID?: number | undefined;
78
70
  AMPERSEND_API_URL?: string | undefined;
79
71
  }, {
80
72
  PORT?: number | undefined;
@@ -82,7 +74,6 @@ export declare function createEnvSchema(envPrefix?: string): z.ZodEffects<z.ZodE
82
74
  BUYER_SMART_ACCOUNT_ADDRESS?: string | undefined;
83
75
  BUYER_SMART_ACCOUNT_KEY_PRIVATE_KEY?: string | undefined;
84
76
  BUYER_SMART_ACCOUNT_VALIDATOR_ADDRESS?: string | undefined;
85
- BUYER_SMART_ACCOUNT_CHAIN_ID?: number | undefined;
86
77
  AMPERSEND_API_URL?: string | undefined;
87
78
  }>;
88
79
  /**
@@ -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;;;;;;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"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoE7C;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,CAc7D"}
@@ -42,7 +42,6 @@ export function createEnvSchema(envPrefix = "") {
42
42
  })
43
43
  .optional()
44
44
  .default(OWNABLE_VALIDATOR),
45
- BUYER_SMART_ACCOUNT_CHAIN_ID: z.coerce.number().int().optional(),
46
45
  AMPERSEND_API_URL: z.string().url().optional(),
47
46
  })
48
47
  .refine((data) => {
@@ -88,7 +87,6 @@ export function parseEnvConfig(envPrefix = "") {
88
87
  BUYER_SMART_ACCOUNT_ADDRESS: process.env[`${envPrefix}BUYER_SMART_ACCOUNT_ADDRESS`],
89
88
  BUYER_SMART_ACCOUNT_KEY_PRIVATE_KEY: process.env[`${envPrefix}BUYER_SMART_ACCOUNT_KEY_PRIVATE_KEY`],
90
89
  BUYER_SMART_ACCOUNT_VALIDATOR_ADDRESS: process.env[`${envPrefix}BUYER_SMART_ACCOUNT_VALIDATOR_ADDRESS`],
91
- BUYER_SMART_ACCOUNT_CHAIN_ID: process.env[`${envPrefix}BUYER_SMART_ACCOUNT_CHAIN_ID`],
92
90
  AMPERSEND_API_URL: process.env[`${envPrefix}AMPERSEND_API_URL`],
93
91
  };
94
92
  // Validate with schema
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../../src/mcp/proxy/env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../../src/mcp/proxy/env.ts"],"names":[],"mappings":"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"}
@@ -18,8 +18,6 @@ export interface SimpleProxyOptions {
18
18
  sessionKeyPrivateKey: Hex;
19
19
  /** Ampersend API URL (defaults to production) */
20
20
  apiUrl?: string;
21
- /** Chain ID (defaults to Base Sepolia 84532) */
22
- chainId?: number;
23
21
  }
24
22
  /**
25
23
  * Initialize an MCP proxy with minimal configuration.
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/mcp/proxy/factory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAIxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAQrD;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ,4BAA4B;IAC5B,mBAAmB,EAAE,OAAO,CAAA;IAC5B,0CAA0C;IAC1C,oBAAoB,EAAE,GAAG,CAAA;IACzB,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,CAAC,CAYxG;AAGD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/mcp/proxy/factory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAA;AAIxC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAKrD;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ,4BAA4B;IAC5B,mBAAmB,EAAE,OAAO,CAAA;IAC5B,0CAA0C;IAC1C,oBAAoB,EAAE,GAAG,CAAA;IACzB,iDAAiD;IACjD,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,CAAC,CAWxG;AAGD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA"}
@@ -7,8 +7,6 @@ import { createAmpersendTreasurer } from "../../ampersend/treasurer.js";
7
7
  import { initializeProxyServer as initializeProxyServerInternal } from "./server/index.js";
8
8
  /** Default Ampersend API URL */
9
9
  const DEFAULT_API_URL = "https://api.ampersend.ai";
10
- /** Default chain ID (Base Sepolia) */
11
- const DEFAULT_CHAIN_ID = 84532;
12
10
  /**
13
11
  * Initialize an MCP proxy with minimal configuration.
14
12
  *
@@ -37,7 +35,6 @@ export async function createAmpersendProxy(options) {
37
35
  smartAccountAddress: options.smartAccountAddress,
38
36
  sessionKeyPrivateKey: options.sessionKeyPrivateKey,
39
37
  apiUrl: options.apiUrl ?? DEFAULT_API_URL,
40
- chainId: options.chainId ?? DEFAULT_CHAIN_ID,
41
38
  });
42
39
  return initializeProxyServerInternal({
43
40
  transport: { type: "http", port: options.port },
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/mcp/proxy/factory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,EAAE,qBAAqB,IAAI,6BAA6B,EAAE,MAAM,mBAAmB,CAAA;AAG1F,gCAAgC;AAChC,MAAM,eAAe,GAAG,0BAA0B,CAAA;AAElD,sCAAsC;AACtC,MAAM,gBAAgB,GAAG,KAAK,CAAA;AAmB9B;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAA2B;IACpE,MAAM,SAAS,GAAG,wBAAwB,CAAC;QACzC,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;QAChD,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;QAClD,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,eAAe;QACzC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,gBAAgB;KAC7C,CAAC,CAAA;IAEF,OAAO,6BAA6B,CAAC;QACnC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE;QAC/C,SAAS;KACV,CAAC,CAAA;AACJ,CAAC;AAED,4CAA4C;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/mcp/proxy/factory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAA;AACvE,OAAO,EAAE,qBAAqB,IAAI,6BAA6B,EAAE,MAAM,mBAAmB,CAAA;AAG1F,gCAAgC;AAChC,MAAM,eAAe,GAAG,0BAA0B,CAAA;AAiBlD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,OAA2B;IACpE,MAAM,SAAS,GAAG,wBAAwB,CAAC;QACzC,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;QAChD,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;QAClD,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,eAAe;KAC1C,CAAC,CAAA;IAEF,OAAO,6BAA6B,CAAC;QACnC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE;QAC/C,SAAS;KACV,CAAC,CAAA;AACJ,CAAC;AAED,4CAA4C;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAA"}
@@ -1,50 +1,30 @@
1
+ import type { PaymentPayloadV1, PaymentRequirementsV1 } from "@x402/core/schemas";
2
+ import type { SettleResponse } from "@x402/core/types";
1
3
  import { type AudioContent, type ContentResult, type ImageContent, type ResourceContent, type ResourceLink, type TextContent } from "fastmcp";
2
- import { type PaymentPayload, type PaymentRequirements, type SettleResponse } from "x402/types";
3
- /**
4
- * Callback to determine if payment is required for tool execution
5
- */
4
+ /** Requirements to advertise, or `null` if payment isn't required. */
6
5
  export type OnExecute = (context: {
7
6
  args: unknown;
8
- }) => Promise<PaymentRequirements | null>;
9
- /**
10
- * Callback when payment provided
11
- */
7
+ }) => Promise<PaymentRequirementsV1 | null>;
8
+ /** Return a {@link SettleResponse} to embed in `_meta`, or `void` to accept without settling. */
12
9
  export type OnPayment = (context: {
13
- payment: PaymentPayload;
14
- requirements: PaymentRequirements;
10
+ payment: PaymentPayloadV1;
11
+ requirements: PaymentRequirementsV1;
15
12
  }) => Promise<SettleResponse | void>;
16
- /**
17
- * Options for the x402 payment middleware
18
- */
19
13
  export interface WithX402PaymentOptions {
20
14
  onExecute: OnExecute;
21
15
  onPayment: OnPayment;
22
16
  }
23
- /**
24
- * FastMCP context with request metadata
25
- */
26
17
  interface FastMCPContext {
27
18
  requestMetadata?: {
28
- "x402/payment"?: PaymentPayload;
19
+ "x402/payment"?: PaymentPayloadV1;
29
20
  [key: string]: unknown;
30
21
  };
31
22
  [key: string]: unknown;
32
23
  }
33
- /**
34
- * The execute function signature from FastMCP
35
- */
36
24
  type ExecuteFunction<TArgs = any, TResult = any> = (args: TArgs, context: FastMCPContext) => Promise<TResult>;
37
25
  export type ToolExecuteReturn = AudioContent | ContentResult | ImageContent | ResourceContent | ResourceLink | string | TextContent | void;
38
- /**
39
- * Middleware that wraps a FastMCP execute function to handle x402 payments
40
- *
41
- * Extracts payment from requestMetadata["x402/payment"] field and adds settlement
42
- * response to result _meta["x402/payment-response"] according to official MCP x402 spec.
43
- */
26
+ /** Wrap a FastMCP `execute` with x402 payment handling per the MCP x402 spec. */
44
27
  export declare function withX402Payment<TArgs = any, TResult = any>(options: WithX402PaymentOptions): (execute: ExecuteFunction<TArgs, TResult>) => ExecuteFunction<TArgs, TResult>;
45
- /**
46
- * Convenience function that directly wraps an execute function
47
- */
48
28
  export declare function createX402Execute<TArgs = any, TResult = any>(options: WithX402PaymentOptions, execute: ExecuteFunction<TArgs, TResult>): ExecuteFunction<TArgs, TResult>;
49
29
  export {};
50
30
  //# sourceMappingURL=middleware.d.ts.map
@@ -1 +1 @@
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
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../../src/mcp/server/fastmcp/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AACjF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,WAAW,EACjB,MAAM,SAAS,CAAA;AAEhB,sEAAsE;AACtE,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,KAAK,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAA;AAE7F,iGAAiG;AACjG,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE;IAChC,OAAO,EAAE,gBAAgB,CAAA;IACzB,YAAY,EAAE,qBAAqB,CAAA;CACpC,KAAK,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;AAEpC,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,SAAS,CAAA;IACpB,SAAS,EAAE,SAAS,CAAA;CACrB;AAWD,UAAU,cAAc;IACtB,eAAe,CAAC,EAAE;QAChB,cAAc,CAAC,EAAE,gBAAgB,CAAA;QACjC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KACvB,CAAA;IACD,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAED,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;AAsB7G,MAAM,MAAM,iBAAiB,GACzB,YAAY,GACZ,aAAa,GACb,YAAY,GACZ,eAAe,GACf,YAAY,GACZ,MAAM,GACN,WAAW,GACX,IAAI,CAAA;AAkBR,iFAAiF;AACjF,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,CAuC/E;AAED,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,13 +1,5 @@
1
1
  import { CustomMcpError, } from "fastmcp";
2
- import {} from "x402/types";
3
- /**
4
- * Creates a payment error with x402 requirements
5
- *
6
- * Workaround: Embeds x402 data as JSON in the error message for when FastMCP
7
- * doesn't properly propagate the data field. This allows the client to fall back
8
- * to parsing the data from the message.
9
- */
10
- function createPaymentError(requirements, errorReason = null, paymentResponse = null) {
2
+ function createPaymentError(requirements, errorReason = null, settlement = null) {
11
3
  const data = {
12
4
  message: "Payment required for tool execution",
13
5
  code: 402,
@@ -17,8 +9,8 @@ function createPaymentError(requirements, errorReason = null, paymentResponse =
17
9
  if (errorReason) {
18
10
  data.error = errorReason;
19
11
  }
20
- if (paymentResponse) {
21
- data["x402/payment-response"] = paymentResponse;
12
+ if (settlement) {
13
+ data["x402/payment-response"] = settlement;
22
14
  }
23
15
  return new CustomMcpError(402, data.message, data);
24
16
  }
@@ -29,71 +21,47 @@ function normalizeToolResult(result) {
29
21
  if (typeof result === "string") {
30
22
  return { content: [{ text: result, type: "text" }] };
31
23
  }
32
- // Check if it's an individual content type (has 'type' property)
33
24
  if ("type" in result) {
34
25
  return { content: [result] };
35
26
  }
36
- // Already a ContentResult
37
27
  return result;
38
28
  }
39
- /**
40
- * Middleware that wraps a FastMCP execute function to handle x402 payments
41
- *
42
- * Extracts payment from requestMetadata["x402/payment"] field and adds settlement
43
- * response to result _meta["x402/payment-response"] according to official MCP x402 spec.
44
- */
29
+ /** Wrap a FastMCP `execute` with x402 payment handling per the MCP x402 spec. */
45
30
  export function withX402Payment(options) {
46
31
  return (execute) => {
47
32
  return async (args, context) => {
48
- // Extract payment from MCP request metadata (via FastMCP context)
49
33
  const payment = context.requestMetadata?.["x402/payment"];
50
- // Check if payment is required
51
34
  const requirements = await options.onExecute({ args });
52
- // No payment required - execute normally
53
35
  if (!requirements) {
54
36
  return execute(args, context);
55
37
  }
56
- // Payment is required
57
38
  if (!payment) {
58
- // No payment provided - return error with requirements
59
39
  throw createPaymentError(requirements);
60
40
  }
61
- // Payment provided
62
- let onPaymentResp;
41
+ let settlement;
63
42
  try {
64
- onPaymentResp = await options.onPayment({
65
- payment,
66
- requirements,
67
- });
43
+ settlement = await options.onPayment({ payment, requirements });
68
44
  }
69
45
  catch (error) {
70
- // Payment invalid - extract reason from error
71
46
  const reason = error instanceof Error ? error.message : String(error);
72
47
  throw createPaymentError(requirements, reason);
73
48
  }
74
- if (onPaymentResp && !onPaymentResp.success) {
75
- // Payment rejected - return error with reason
76
- throw createPaymentError(requirements, onPaymentResp.errorReason, onPaymentResp);
49
+ if (settlement && !settlement.success) {
50
+ throw createPaymentError(requirements, settlement.errorReason ?? null, settlement);
77
51
  }
78
- // Payment valid - proceed with execution
79
52
  const result = await execute(args, context);
80
- // Did not settle
81
- if (!onPaymentResp) {
53
+ if (!settlement) {
82
54
  return result;
83
55
  }
84
56
  const normalizedResult = normalizeToolResult(result);
85
- // Add settlement response to result _meta (official spec)
86
57
  normalizedResult._meta = {
87
58
  ...normalizedResult._meta,
88
- "x402/payment-response": onPaymentResp,
59
+ "x402/payment-response": settlement,
89
60
  };
90
61
  return normalizedResult;
91
62
  };
92
63
  };
93
64
  }
94
- /**
95
- * Convenience function that directly wraps an execute function
96
- */
97
65
  export function createX402Execute(options, execute) {
98
66
  return withX402Payment(options)(execute);
99
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../../src/mcp/server/fastmcp/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,GAOf,MAAM,SAAS,CAAA;AAChB,OAAO,EAAsE,MAAM,YAAY,CAAA;AAmD/F;;;;;;GAMG;AACH,SAAS,kBAAkB,CACzB,YAAiC,EACjC,cAA6B,IAAI,EACjC,kBAAyC,IAAI;IAE7C,MAAM,IAAI,GAAqB;QAC7B,OAAO,EAAE,qCAAqC;QAC9C,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,CAAC;QACd,OAAO,EAAE,CAAC,YAAY,CAAC;KACxB,CAAA;IACD,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,CAAC,KAAK,GAAG,WAAW,CAAA;IAC1B,CAAC;IACD,IAAI,eAAe,EAAE,CAAC;QACpB,IAAI,CAAC,uBAAuB,CAAC,GAAG,eAAe,CAAA;IACjD,CAAC;IAED,OAAO,IAAI,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;AACpD,CAAC;AAYD,SAAS,mBAAmB,CAAC,MAAyB;IACpD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAC5C,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;IACxB,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAA;IACtD,CAAC;IAED,iEAAiE;IACjE,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;QACrB,OAAO,EAAE,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,CAAA;IAC9B,CAAC;IAED,0BAA0B;IAC1B,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,OAA+B;IAE/B,OAAO,CAAC,OAAwC,EAAE,EAAE;QAClD,OAAO,KAAK,EAAE,IAAW,EAAE,OAAuB,EAAoB,EAAE;YACtE,kEAAkE;YAClE,MAAM,OAAO,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,cAAc,CAAC,CAAA;YAEzD,+BAA+B;YAC/B,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;YACtD,yCAAyC;YACzC,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,OAAO,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YAC/B,CAAC;YAED,sBAAsB;YACtB,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,uDAAuD;gBACvD,MAAM,kBAAkB,CAAC,YAAY,CAAC,CAAA;YACxC,CAAC;YAED,mBAAmB;YACnB,IAAI,aAAoC,CAAA;YACxC,IAAI,CAAC;gBACH,aAAa,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC;oBACtC,OAAO;oBACP,YAAY;iBACb,CAAC,CAAA;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,8CAA8C;gBAC9C,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACrE,MAAM,kBAAkB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;YAChD,CAAC;YACD,IAAI,aAAa,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;gBAC5C,8CAA8C;gBAC9C,MAAM,kBAAkB,CAAC,YAAY,EAAE,aAAa,CAAC,WAAW,EAAE,aAAa,CAAC,CAAA;YAClF,CAAC;YAED,yCAAyC;YACzC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;YAE3C,iBAAiB;YACjB,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,OAAO,MAAM,CAAA;YACf,CAAC;YAED,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,MAA2B,CAAC,CAAA;YAEzE,0DAA0D;YAC1D,gBAAgB,CAAC,KAAK,GAAG;gBACvB,GAAG,gBAAgB,CAAC,KAAK;gBACzB,uBAAuB,EAAE,aAAa;aACvC,CAAA;YAED,OAAO,gBAA2B,CAAA;QACpC,CAAC,CAAA;IACH,CAAC,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAA+B,EAC/B,OAAwC;IAExC,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAA;AAC1C,CAAC"}
1
+ {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../../src/mcp/server/fastmcp/middleware.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  /** SDK version - keep in sync with package.json */
2
- export declare const VERSION = "0.0.19";
2
+ export declare const VERSION = "0.0.21";
3
3
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1,3 +1,3 @@
1
1
  /** SDK version - keep in sync with package.json */
2
- export const VERSION = "0.0.19";
2
+ export const VERSION = "0.0.21";
3
3
  //# sourceMappingURL=version.js.map
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Ampersend protocol envelopes: `{ protocol, data }` wrappers where `data` is
3
+ * the byte-exact upstream payload (no re-serialization).
4
+ *
5
+ * PaymentRequest (seller's 402)
6
+ * ↓ treasurer picks accepts[i]
7
+ * PaymentInstruction (request + index; wallet input)
8
+ * ↓ wallet signs
9
+ * PaymentAuthorization (signed, ready to submit)
10
+ * ↓ facilitator settles
11
+ * SettlementResult
12
+ *
13
+ * `PaymentInstruction` keeps the full request by reference so v2's
14
+ * `deepEqual(accepts[i], …)` check (spec §5.1.3) can't drift.
15
+ */
16
+ import type { PaymentPayloadV1, PaymentPayloadV2, PaymentRequiredV1, PaymentRequiredV2, PaymentRequirementsV1, PaymentRequirementsV2 } from "@x402/core/schemas";
17
+ import type { SettleResponse } from "@x402/core/types";
18
+ export type Protocol = "x402-v1" | "x402-v2";
19
+ /** The seller's full 402 body. Treasurers pick one `data.accepts[i]` (or none). */
20
+ export type PaymentRequest = {
21
+ readonly protocol: "x402-v1";
22
+ readonly data: PaymentRequiredV1;
23
+ } | {
24
+ readonly protocol: "x402-v2";
25
+ readonly data: PaymentRequiredV2;
26
+ };
27
+ /** Request + `acceptsIndex`. Full request rides along so v2 echo is byte-exact. */
28
+ export type PaymentInstruction = {
29
+ readonly protocol: "x402-v1";
30
+ readonly request: PaymentRequiredV1;
31
+ readonly acceptsIndex: number;
32
+ } | {
33
+ readonly protocol: "x402-v2";
34
+ readonly request: PaymentRequiredV2;
35
+ readonly acceptsIndex: number;
36
+ };
37
+ export type PaymentAuthorization = {
38
+ readonly protocol: "x402-v1";
39
+ readonly data: PaymentPayloadV1;
40
+ } | {
41
+ readonly protocol: "x402-v2";
42
+ readonly data: PaymentPayloadV2;
43
+ };
44
+ /** Upstream ships one `SettleResponse` for both versions. */
45
+ export type SettlementResult = {
46
+ readonly protocol: "x402-v1";
47
+ readonly data: SettleResponse;
48
+ } | {
49
+ readonly protocol: "x402-v2";
50
+ readonly data: SettleResponse;
51
+ };
52
+ export declare function acceptedOf(instruction: PaymentInstruction): PaymentRequirementsV1 | PaymentRequirementsV2;
53
+ /** Payment amount in atomic units (stringified bigint). */
54
+ export declare function amountOf(instruction: PaymentInstruction): string;
55
+ export declare function resourceUrlOf(instruction: PaymentInstruction): string;
56
+ /** Wrap a request at `acceptsIndex: 0`. Upstream `accepts.min(1)` guarantees non-empty. */
57
+ export declare function firstInstructionOf(request: PaymentRequest): PaymentInstruction;
58
+ /** Scheme-specific signed body. exact-EVM: `{ signature, authorization }`. */
59
+ export type SchemeSpecificPayload = Record<string, unknown>;
60
+ /** Wrap a signed payload into a `PaymentAuthorization`. v2 echoes `resource`, `accepted`, `extensions` verbatim. */
61
+ export declare function buildAuthorization(instruction: PaymentInstruction, signedPayload: SchemeSpecificPayload): PaymentAuthorization;
62
+ //# sourceMappingURL=envelopes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"envelopes.d.ts","sourceRoot":"","sources":["../../src/x402/envelopes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEtD,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAA;AAE5C,mFAAmF;AACnF,MAAM,MAAM,cAAc,GACtB;IAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAA;CAAE,GAClE;IAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAA;CAAE,CAAA;AAEtE,mFAAmF;AACnF,MAAM,MAAM,kBAAkB,GAC1B;IACE,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAA;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAC9B,GACD;IACE,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;IAC5B,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAA;IACnC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;CAC9B,CAAA;AAEL,MAAM,MAAM,oBAAoB,GAC5B;IAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAA;CAAE,GACjE;IAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAA;AAErE,6DAA6D;AAC7D,MAAM,MAAM,gBAAgB,GACxB;IAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAA;CAAE,GAC/D;IAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAA;CAAE,CAAA;AAEnE,wBAAgB,UAAU,CAAC,WAAW,EAAE,kBAAkB,GAAG,qBAAqB,GAAG,qBAAqB,CAQzG;AAED,2DAA2D;AAC3D,wBAAgB,QAAQ,CAAC,WAAW,EAAE,kBAAkB,GAAG,MAAM,CAIhE;AAED,wBAAgB,aAAa,CAAC,WAAW,EAAE,kBAAkB,GAAG,MAAM,CAIrE;AAED,2FAA2F;AAC3F,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc,GAAG,kBAAkB,CAI9E;AAED,8EAA8E;AAC9E,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAE3D,oHAAoH;AACpH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,kBAAkB,EAC/B,aAAa,EAAE,qBAAqB,GACnC,oBAAoB,CA+BtB"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Ampersend protocol envelopes: `{ protocol, data }` wrappers where `data` is
3
+ * the byte-exact upstream payload (no re-serialization).
4
+ *
5
+ * PaymentRequest (seller's 402)
6
+ * ↓ treasurer picks accepts[i]
7
+ * PaymentInstruction (request + index; wallet input)
8
+ * ↓ wallet signs
9
+ * PaymentAuthorization (signed, ready to submit)
10
+ * ↓ facilitator settles
11
+ * SettlementResult
12
+ *
13
+ * `PaymentInstruction` keeps the full request by reference so v2's
14
+ * `deepEqual(accepts[i], …)` check (spec §5.1.3) can't drift.
15
+ */
16
+ export function acceptedOf(instruction) {
17
+ const accepted = instruction.request.accepts[instruction.acceptsIndex];
18
+ if (!accepted) {
19
+ throw new Error(`PaymentInstruction.acceptsIndex ${instruction.acceptsIndex} out of bounds (accepts.length=${instruction.request.accepts.length})`);
20
+ }
21
+ return accepted;
22
+ }
23
+ /** Payment amount in atomic units (stringified bigint). */
24
+ export function amountOf(instruction) {
25
+ return instruction.protocol === "x402-v1"
26
+ ? instruction.request.accepts[instruction.acceptsIndex].maxAmountRequired
27
+ : instruction.request.accepts[instruction.acceptsIndex].amount;
28
+ }
29
+ export function resourceUrlOf(instruction) {
30
+ return instruction.protocol === "x402-v1"
31
+ ? instruction.request.accepts[instruction.acceptsIndex].resource
32
+ : instruction.request.resource.url;
33
+ }
34
+ /** Wrap a request at `acceptsIndex: 0`. Upstream `accepts.min(1)` guarantees non-empty. */
35
+ export function firstInstructionOf(request) {
36
+ return request.protocol === "x402-v1"
37
+ ? { protocol: "x402-v1", request: request.data, acceptsIndex: 0 }
38
+ : { protocol: "x402-v2", request: request.data, acceptsIndex: 0 };
39
+ }
40
+ /** Wrap a signed payload into a `PaymentAuthorization`. v2 echoes `resource`, `accepted`, `extensions` verbatim. */
41
+ export function buildAuthorization(instruction, signedPayload) {
42
+ if (instruction.protocol === "x402-v1") {
43
+ const accepted = instruction.request.accepts[instruction.acceptsIndex];
44
+ if (!accepted) {
45
+ throw new Error(`PaymentInstruction.acceptsIndex ${instruction.acceptsIndex} out of bounds`);
46
+ }
47
+ return {
48
+ protocol: "x402-v1",
49
+ data: {
50
+ x402Version: 1,
51
+ scheme: accepted.scheme,
52
+ network: accepted.network,
53
+ payload: signedPayload,
54
+ },
55
+ };
56
+ }
57
+ const accepted = instruction.request.accepts[instruction.acceptsIndex];
58
+ if (!accepted) {
59
+ throw new Error(`PaymentInstruction.acceptsIndex ${instruction.acceptsIndex} out of bounds`);
60
+ }
61
+ return {
62
+ protocol: "x402-v2",
63
+ data: {
64
+ x402Version: 2,
65
+ resource: instruction.request.resource,
66
+ accepted,
67
+ payload: signedPayload,
68
+ ...(instruction.request.extensions !== undefined &&
69
+ instruction.request.extensions !== null && { extensions: instruction.request.extensions }),
70
+ },
71
+ };
72
+ }
73
+ //# sourceMappingURL=envelopes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"envelopes.js","sourceRoot":"","sources":["../../src/x402/envelopes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import { x402Client } from "@x402/core/client";
2
+ import type { PaymentPayload as V2PaymentPayload, PaymentRequired as V2PaymentRequired } from "@x402/core/types";
3
+ import type { X402Treasurer } from "../treasurer.ts";
4
+ /**
5
+ * v1 uses network names (`"base"`), v2 uses CAIP-2 (`"eip155:8453"`) or
6
+ * wildcards (`"eip155:*"`). Register whichever protocols you want to accept.
7
+ */
8
+ export interface AmpersendNetworks {
9
+ v1?: ReadonlyArray<string>;
10
+ v2?: ReadonlyArray<string>;
11
+ }
12
+ export declare class PaymentDeclinedError extends Error {
13
+ constructor();
14
+ }
15
+ export declare class UnsupportedProtocolError extends Error {
16
+ readonly x402Version: number;
17
+ constructor(x402Version: number);
18
+ }
19
+ /**
20
+ * `x402Client` whose `accepts[i]` selection is driven by an async treasurer.
21
+ *
22
+ * Upstream's selector is sync, so we override `createPaymentPayload` to run
23
+ * the treasurer first, stash `{ accepted → authorization }` in a WeakMap,
24
+ * and delegate to `super`. The installed selector returns the stashed entry
25
+ * by reference equality; our scheme client hands back the pre-signed payload.
26
+ * Hooks, policies, extensions, and failure recovery stay upstream's.
27
+ *
28
+ * Reference equality on `Authorization.accepted` is load-bearing — the
29
+ * treasurer must return the original `accepts[i]`, not a clone.
30
+ */
31
+ export declare class AmpersendX402Client extends x402Client {
32
+ #private;
33
+ constructor(treasurer: X402Treasurer);
34
+ withNetworks(networks: AmpersendNetworks): this;
35
+ createPaymentPayload(paymentRequired: V2PaymentRequired): Promise<V2PaymentPayload>;
36
+ }
37
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/x402/http/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAQ9C,OAAO,KAAK,EAGV,cAAc,IAAI,gBAAgB,EAClC,eAAe,IAAI,iBAAiB,EAErC,MAAM,kBAAkB,CAAA;AAGzB,OAAO,KAAK,EAAiB,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAEnE;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,EAAE,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;IAC1B,EAAE,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CAC3B;AAED,qBAAa,oBAAqB,SAAQ,KAAK;;CAK9C;AAED,qBAAa,wBAAyB,SAAQ,KAAK;aACrB,WAAW,EAAE,MAAM;gBAAnB,WAAW,EAAE,MAAM;CAOhD;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,mBAAoB,SAAQ,UAAU;;gBAKrC,SAAS,EAAE,aAAa;IAmBpC,YAAY,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI;IAehC,oBAAoB,CAAC,eAAe,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAwCnG"}