x402-proxy 0.10.7 → 0.10.9

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 (90) hide show
  1. package/CHANGELOG.md +23 -1
  2. package/README.md +7 -1
  3. package/dist/Credential-COZQnr1-.js +2055 -0
  4. package/dist/Mcp-CrCEqLqO.js +10 -0
  5. package/dist/Sse-ChldYgU7.js +9742 -0
  6. package/dist/Sse-kCB38G56.js +16482 -0
  7. package/dist/accounts-DsuvWwph.js +232 -0
  8. package/dist/accounts-DzvAlQRn.js +5 -0
  9. package/dist/accounts-IG-Cmrwy.js +229 -0
  10. package/dist/api-CUzmQvTQ.js +2802 -0
  11. package/dist/auth-DTzQmnZ_.js +1196 -0
  12. package/dist/bin/cli.js +585 -242
  13. package/dist/ccip-Bx-zoUCJ.js +240 -0
  14. package/dist/ccip-C2k1DD1T.js +153 -0
  15. package/dist/ccip-C6CQOJYv.js +152 -0
  16. package/dist/ccip-RZzsZ5Mv.js +156 -0
  17. package/dist/chain-CafcHffR.js +1997 -0
  18. package/dist/chain-DwfP5RGZ.js +1968 -0
  19. package/dist/chunk-DBEY4PJZ.js +16 -0
  20. package/dist/chunk-DjEMn6fM.js +36 -0
  21. package/dist/client-Blw2V7LF.js +657 -0
  22. package/dist/client-C37gWJOZ.js +102 -0
  23. package/dist/client-CEc4NYAA.js +6388 -0
  24. package/dist/client-CVDTUY0l.js +5152 -0
  25. package/dist/config-BUQsit4s.js +3 -0
  26. package/dist/config-DR1Fs_wL.js +6600 -0
  27. package/dist/{config-D9wIR3xc.js → config-rvKA3SYT.js} +10 -5
  28. package/dist/decodeFunctionData-DuFcwhC_.js +4510 -0
  29. package/dist/decodeFunctionData-JPOUdvil.js +4394 -0
  30. package/dist/derive-DNUl8LU9.js +9109 -0
  31. package/dist/dist-C2YO6HSQ.js +6581 -0
  32. package/dist/dist-DM5_F3r5.js +4 -0
  33. package/dist/dist-DxJCYyL5.js +1388 -0
  34. package/dist/hashTypedData-BHmP9dBd.js +859 -0
  35. package/dist/hashTypedData-CtEdfx4y.js +846 -0
  36. package/dist/helpers-CuUSw-tH.js +7125 -0
  37. package/dist/hmac-59IlS_by.js +648 -0
  38. package/dist/http-BAtucMbS.js +2060 -0
  39. package/dist/index.d.ts +1903 -9
  40. package/dist/index.js +18006 -50
  41. package/dist/index.node-CxkL0OFh.js +3592 -0
  42. package/dist/index.node-DvmeuZBj.js +3 -0
  43. package/dist/isAddressEqual-BLrd1Hg1.js +9 -0
  44. package/dist/isAddressEqual-DsAqfQOD.js +10 -0
  45. package/dist/localBatchGatewayRequest-C-RPJyDO.js +6260 -0
  46. package/dist/localBatchGatewayRequest-DOdQ9bR7.js +93 -0
  47. package/dist/localBatchGatewayRequest-DQkbZaSy.js +6261 -0
  48. package/dist/parseUnits-CApwcKSD.js +49 -0
  49. package/dist/parseUnits-cMO2udMe.js +48 -0
  50. package/dist/schemas-BxMFYNbH.js +1270 -0
  51. package/dist/secp256k1-BZpiyffY.js +2525 -0
  52. package/dist/secp256k1-BjenrLl5.js +1877 -0
  53. package/dist/secp256k1-CLPUX17u.js +3 -0
  54. package/dist/sendRawTransactionSync-DvSkhZtW.js +3612 -0
  55. package/dist/server-CSq0IuUq.js +565 -0
  56. package/dist/setup-BY4J49Lv.js +1110 -0
  57. package/dist/setup-wMOAgrsN.js +3 -0
  58. package/dist/sha256-FAs0qeni.js +17 -0
  59. package/dist/sha3-CYkWM8Xa.js +195 -0
  60. package/dist/sha3-DbMJRJ3C.js +194 -0
  61. package/dist/sse-B4LLqBQm.js +408 -0
  62. package/dist/status-Bu23RjW6.js +3 -0
  63. package/dist/{status-DihAcUSC.js → status-X21VnGUO.js} +16 -15
  64. package/dist/stdio-BADqxZdZ.js +85 -0
  65. package/dist/streamableHttp-BHkJypcI.js +358 -0
  66. package/dist/tempo-3nttrxgQ.js +17 -0
  67. package/dist/tempo-DER0P-ul.js +18 -0
  68. package/dist/types-BEKUz-Mf.js +1240 -0
  69. package/dist/types-DatK5vR5.js +3 -0
  70. package/dist/utils-BYjkXZDF.js +444 -0
  71. package/dist/utils-SeGHMW9O.js +445 -0
  72. package/dist/wallet-DKVlrR1S.js +3 -0
  73. package/dist/wallet-DSyht15_.js +17759 -0
  74. package/package.json +18 -71
  75. package/dist/config-B_upkJeK.js +0 -66
  76. package/dist/config-Be35NM5s.js +0 -3
  77. package/dist/config-J1m-CWXT.js +0 -27
  78. package/dist/derive-CL6e8K0Z.js +0 -81
  79. package/dist/openclaw/plugin.d.ts +0 -15
  80. package/dist/openclaw/plugin.js +0 -2067
  81. package/dist/openclaw.plugin.json +0 -93
  82. package/dist/setup-CNyMLnM-.js +0 -197
  83. package/dist/setup-DTIxPe58.js +0 -3
  84. package/dist/status-DZlJ4pS7.js +0 -3
  85. package/dist/wallet-B0S-rma9.js +0 -544
  86. package/dist/wallet-DBrVZJqe.js +0 -3
  87. package/openclaw.plugin.json +0 -93
  88. package/skills/SKILL.md +0 -183
  89. package/skills/references/library.md +0 -85
  90. package/skills/references/openclaw-plugin.md +0 -145
@@ -0,0 +1,102 @@
1
+ #!/usr/bin/env node
2
+ import { n as __exportAll } from "./chunk-DjEMn6fM.js";
3
+ import { t as deserialize } from "./Credential-COZQnr1-.js";
4
+ import { r as receiptMetaKey, t as credentialMetaKey } from "./Mcp-CrCEqLqO.js";
5
+ //#region node_modules/.pnpm/mppx@0.5.1_@modelcontextprotocol+sdk@1.28.0_zod@4.3.6__express@5.2.1_hono@4.12.9_openap_d8babfcabcc768186151f117bc0e35e5/node_modules/mppx/dist/mcp-sdk/client/McpClient.js
6
+ var McpClient_exports = /* @__PURE__ */ __exportAll({
7
+ isPaymentRequiredError: () => isPaymentRequiredError,
8
+ wrap: () => wrap
9
+ });
10
+ /**
11
+ * Creates a payment-aware wrapper around an MCP SDK client.
12
+ *
13
+ * Similar to `Fetch.from()` for HTTP, this wraps an MCP client's `callTool`
14
+ * method to automatically handle payment challenges.
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * import { Client } from '@modelcontextprotocol/sdk/client'
19
+ * import { McpClient, tempo } from 'mppx/mcp-sdk/client'
20
+ * import { privateKeyToAccount } from 'viem/accounts'
21
+ *
22
+ * const client = new Client({ name: 'my-client', version: '1.0.0' })
23
+ * await client.connect(transport)
24
+ *
25
+ * const mcp = McpClient.wrap(client, {
26
+ * methods: [
27
+ * tempo({
28
+ * account: privateKeyToAccount('0x...'),
29
+ * }),
30
+ * ],
31
+ * })
32
+ *
33
+ * // Automatically handles payment challenges
34
+ * const result = await mcp.callTool({ name: 'premium_tool', arguments: {} })
35
+ * console.log(result.content, result.receipt)
36
+ * ```
37
+ */
38
+ function wrap(client, config) {
39
+ const { methods } = config;
40
+ return {
41
+ ...client,
42
+ async callTool(params, options) {
43
+ const context = options?.context;
44
+ const timeout = options?.timeout;
45
+ try {
46
+ const result = await client.callTool(params, void 0, timeout !== void 0 ? { timeout } : void 0);
47
+ return {
48
+ ...result,
49
+ receipt: result._meta?.[receiptMetaKey]
50
+ };
51
+ } catch (error) {
52
+ if (!isPaymentRequiredError(error)) throw error;
53
+ const challenges = error.data?.challenges;
54
+ if (!challenges?.length) throw error;
55
+ const challenge = challenges.find((c) => methods.some((m) => m.name === c.method && m.intent === c.intent));
56
+ if (!challenge) {
57
+ const available = challenges.map((c) => `${c.method}.${c.intent}`).join(", ");
58
+ const installed = methods.map((m) => `${m.name}.${m.intent}`).join(", ");
59
+ throw new Error(`No compatible payment method. Server offers: ${available}. Client has: ${installed}`, { cause: error });
60
+ }
61
+ const parsed = deserialize(await createCredential(challenge, {
62
+ context,
63
+ methods
64
+ }));
65
+ const retryResult = await client.callTool({
66
+ ...params,
67
+ _meta: {
68
+ ...params._meta,
69
+ [credentialMetaKey]: parsed
70
+ }
71
+ }, void 0, timeout !== void 0 ? { timeout } : void 0);
72
+ return {
73
+ ...retryResult,
74
+ receipt: retryResult._meta?.[receiptMetaKey]
75
+ };
76
+ }
77
+ }
78
+ };
79
+ }
80
+ /**
81
+ * Checks if an error is a payment required error.
82
+ */
83
+ function isPaymentRequiredError(error) {
84
+ if (typeof error !== "object" || error === null) return false;
85
+ if (!("code" in error) || !("message" in error)) return false;
86
+ if (error.code !== -32042) return false;
87
+ const data = error.data;
88
+ return Array.isArray(data?.challenges) && data.challenges.length > 0;
89
+ }
90
+ /** @internal */
91
+ async function createCredential(challenge, config) {
92
+ const { context, methods } = config;
93
+ const mi = methods.find((m) => m.name === challenge.method && m.intent === challenge.intent);
94
+ if (!mi) throw new Error(`No method found for "${challenge.method}.${challenge.intent}". Available: ${methods.map((m) => `${m.name}.${m.intent}`).join(", ")}`);
95
+ const parsedContext = mi.context && context !== void 0 ? mi.context.parse(context) : void 0;
96
+ return mi.createCredential(parsedContext !== void 0 ? {
97
+ challenge,
98
+ context: parsedContext
99
+ } : { challenge });
100
+ }
101
+ //#endregion
102
+ export { McpClient_exports as McpClient };