@agirails/sdk 3.1.0 → 3.3.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.
Files changed (213) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +12 -14
  3. package/dist/ACTPClient.d.ts +8 -11
  4. package/dist/ACTPClient.d.ts.map +1 -1
  5. package/dist/ACTPClient.js +79 -20
  6. package/dist/ACTPClient.js.map +1 -1
  7. package/dist/__tests__/helpers/mockX402Server.d.ts +67 -0
  8. package/dist/__tests__/helpers/mockX402Server.d.ts.map +1 -0
  9. package/dist/__tests__/helpers/mockX402Server.js +121 -0
  10. package/dist/__tests__/helpers/mockX402Server.js.map +1 -0
  11. package/dist/adapters/BaseAdapter.d.ts +7 -1
  12. package/dist/adapters/BaseAdapter.d.ts.map +1 -1
  13. package/dist/adapters/BaseAdapter.js +11 -6
  14. package/dist/adapters/BaseAdapter.js.map +1 -1
  15. package/dist/adapters/BasicAdapter.d.ts.map +1 -1
  16. package/dist/adapters/BasicAdapter.js +12 -2
  17. package/dist/adapters/BasicAdapter.js.map +1 -1
  18. package/dist/adapters/StandardAdapter.d.ts.map +1 -1
  19. package/dist/adapters/StandardAdapter.js +12 -2
  20. package/dist/adapters/StandardAdapter.js.map +1 -1
  21. package/dist/adapters/X402Adapter.d.ts +161 -199
  22. package/dist/adapters/X402Adapter.d.ts.map +1 -1
  23. package/dist/adapters/X402Adapter.js +603 -414
  24. package/dist/adapters/X402Adapter.js.map +1 -1
  25. package/dist/adapters/index.d.ts +1 -1
  26. package/dist/adapters/index.d.ts.map +1 -1
  27. package/dist/adapters/index.js.map +1 -1
  28. package/dist/builders/DeliveryProofBuilder.d.ts.map +1 -1
  29. package/dist/builders/DeliveryProofBuilder.js +3 -2
  30. package/dist/builders/DeliveryProofBuilder.js.map +1 -1
  31. package/dist/cli/agirails.js +12 -4
  32. package/dist/cli/agirails.js.map +1 -1
  33. package/dist/cli/commands/autopublish.js +9 -1
  34. package/dist/cli/commands/autopublish.js.map +1 -1
  35. package/dist/cli/commands/config.js +1 -12
  36. package/dist/cli/commands/config.js.map +1 -1
  37. package/dist/cli/commands/deploy-env.js +1 -1
  38. package/dist/cli/commands/deploy-env.js.map +1 -1
  39. package/dist/cli/commands/diff.js +38 -4
  40. package/dist/cli/commands/diff.js.map +1 -1
  41. package/dist/cli/commands/health.js +3 -1
  42. package/dist/cli/commands/health.js.map +1 -1
  43. package/dist/cli/commands/init.d.ts +2 -0
  44. package/dist/cli/commands/init.d.ts.map +1 -1
  45. package/dist/cli/commands/init.js +75 -2
  46. package/dist/cli/commands/init.js.map +1 -1
  47. package/dist/cli/commands/pay.d.ts.map +1 -1
  48. package/dist/cli/commands/pay.js +23 -0
  49. package/dist/cli/commands/pay.js.map +1 -1
  50. package/dist/cli/commands/publish.js +15 -8
  51. package/dist/cli/commands/publish.js.map +1 -1
  52. package/dist/cli/commands/pull.js +3 -1
  53. package/dist/cli/commands/pull.js.map +1 -1
  54. package/dist/cli/commands/receipt.d.ts +17 -3
  55. package/dist/cli/commands/receipt.d.ts.map +1 -1
  56. package/dist/cli/commands/receipt.js +95 -33
  57. package/dist/cli/commands/receipt.js.map +1 -1
  58. package/dist/cli/commands/test.d.ts.map +1 -1
  59. package/dist/cli/commands/test.js +222 -60
  60. package/dist/cli/commands/test.js.map +1 -1
  61. package/dist/cli/commands/tx.js +13 -0
  62. package/dist/cli/commands/tx.js.map +1 -1
  63. package/dist/cli/commands/verify.d.ts +14 -0
  64. package/dist/cli/commands/verify.d.ts.map +1 -0
  65. package/dist/cli/commands/verify.js +253 -0
  66. package/dist/cli/commands/verify.js.map +1 -0
  67. package/dist/cli/index.js +5 -1
  68. package/dist/cli/index.js.map +1 -1
  69. package/dist/cli/receiptUpload.d.ts +52 -0
  70. package/dist/cli/receiptUpload.d.ts.map +1 -0
  71. package/dist/cli/receiptUpload.js +134 -0
  72. package/dist/cli/receiptUpload.js.map +1 -0
  73. package/dist/cli/utils/banner.d.ts +31 -0
  74. package/dist/cli/utils/banner.d.ts.map +1 -0
  75. package/dist/cli/utils/banner.js +92 -0
  76. package/dist/cli/utils/banner.js.map +1 -0
  77. package/dist/cli/utils/config.d.ts +0 -2
  78. package/dist/cli/utils/config.d.ts.map +1 -1
  79. package/dist/cli/utils/config.js +40 -25
  80. package/dist/cli/utils/config.js.map +1 -1
  81. package/dist/cli/utils/output.d.ts +2 -0
  82. package/dist/cli/utils/output.d.ts.map +1 -1
  83. package/dist/cli/utils/output.js +7 -1
  84. package/dist/cli/utils/output.js.map +1 -1
  85. package/dist/cli/utils/share.d.ts +51 -0
  86. package/dist/cli/utils/share.d.ts.map +1 -0
  87. package/dist/cli/utils/share.js +133 -0
  88. package/dist/cli/utils/share.js.map +1 -0
  89. package/dist/config/agirailsmd.d.ts.map +1 -1
  90. package/dist/config/agirailsmd.js +2 -1
  91. package/dist/config/agirailsmd.js.map +1 -1
  92. package/dist/config/defaults.d.ts +2 -2
  93. package/dist/config/defaults.d.ts.map +1 -1
  94. package/dist/config/defaults.js +9 -3
  95. package/dist/config/defaults.js.map +1 -1
  96. package/dist/config/networks.d.ts +7 -0
  97. package/dist/config/networks.d.ts.map +1 -1
  98. package/dist/config/networks.js +20 -11
  99. package/dist/config/networks.js.map +1 -1
  100. package/dist/config/pendingPublish.d.ts.map +1 -1
  101. package/dist/config/pendingPublish.js +10 -3
  102. package/dist/config/pendingPublish.js.map +1 -1
  103. package/dist/config/syncOperations.d.ts.map +1 -1
  104. package/dist/config/syncOperations.js +4 -2
  105. package/dist/config/syncOperations.js.map +1 -1
  106. package/dist/erc8004/ERC8004Bridge.d.ts.map +1 -1
  107. package/dist/erc8004/ERC8004Bridge.js +0 -1
  108. package/dist/erc8004/ERC8004Bridge.js.map +1 -1
  109. package/dist/errors/ACTPError.d.ts +24 -0
  110. package/dist/errors/ACTPError.d.ts.map +1 -0
  111. package/dist/errors/ACTPError.js +35 -0
  112. package/dist/errors/ACTPError.js.map +1 -0
  113. package/dist/errors/X402Errors.d.ts +106 -0
  114. package/dist/errors/X402Errors.d.ts.map +1 -0
  115. package/dist/errors/X402Errors.js +160 -0
  116. package/dist/errors/X402Errors.js.map +1 -0
  117. package/dist/errors/index.d.ts +3 -9
  118. package/dist/errors/index.d.ts.map +1 -1
  119. package/dist/errors/index.js +38 -33
  120. package/dist/errors/index.js.map +1 -1
  121. package/dist/index.d.ts +2 -1
  122. package/dist/index.d.ts.map +1 -1
  123. package/dist/index.js +15 -3
  124. package/dist/index.js.map +1 -1
  125. package/dist/level0/Provider.d.ts +5 -0
  126. package/dist/level0/Provider.d.ts.map +1 -1
  127. package/dist/level0/ServiceDirectory.d.ts.map +1 -1
  128. package/dist/level0/ServiceDirectory.js +3 -2
  129. package/dist/level0/ServiceDirectory.js.map +1 -1
  130. package/dist/level0/provide.d.ts.map +1 -1
  131. package/dist/level0/provide.js +11 -8
  132. package/dist/level0/provide.js.map +1 -1
  133. package/dist/level0/request.d.ts.map +1 -1
  134. package/dist/level0/request.js +14 -6
  135. package/dist/level0/request.js.map +1 -1
  136. package/dist/level1/Agent.d.ts +1 -1
  137. package/dist/level1/Agent.d.ts.map +1 -1
  138. package/dist/level1/Agent.js +12 -6
  139. package/dist/level1/Agent.js.map +1 -1
  140. package/dist/level1/pricing/PriceCalculator.d.ts.map +1 -1
  141. package/dist/level1/pricing/PriceCalculator.js +4 -12
  142. package/dist/level1/pricing/PriceCalculator.js.map +1 -1
  143. package/dist/protocol/ACTPKernel.d.ts +4 -1
  144. package/dist/protocol/ACTPKernel.d.ts.map +1 -1
  145. package/dist/protocol/ACTPKernel.js +2 -1
  146. package/dist/protocol/ACTPKernel.js.map +1 -1
  147. package/dist/protocol/EventMonitor.d.ts +27 -1
  148. package/dist/protocol/EventMonitor.d.ts.map +1 -1
  149. package/dist/protocol/EventMonitor.js +11 -9
  150. package/dist/protocol/EventMonitor.js.map +1 -1
  151. package/dist/protocol/ProofGenerator.d.ts.map +1 -1
  152. package/dist/protocol/ProofGenerator.js +3 -2
  153. package/dist/protocol/ProofGenerator.js.map +1 -1
  154. package/dist/runtime/BlockchainRuntime.d.ts +2 -0
  155. package/dist/runtime/BlockchainRuntime.d.ts.map +1 -1
  156. package/dist/runtime/BlockchainRuntime.js +19 -6
  157. package/dist/runtime/BlockchainRuntime.js.map +1 -1
  158. package/dist/runtime/MockRuntime.d.ts +3 -2
  159. package/dist/runtime/MockRuntime.d.ts.map +1 -1
  160. package/dist/runtime/MockRuntime.js +16 -22
  161. package/dist/runtime/MockRuntime.js.map +1 -1
  162. package/dist/runtime/types/MockState.d.ts +4 -0
  163. package/dist/runtime/types/MockState.d.ts.map +1 -1
  164. package/dist/runtime/types/MockState.js.map +1 -1
  165. package/dist/server/buildX402Server.d.ts +131 -0
  166. package/dist/server/buildX402Server.d.ts.map +1 -0
  167. package/dist/server/buildX402Server.js +151 -0
  168. package/dist/server/buildX402Server.js.map +1 -0
  169. package/dist/server/index.d.ts +33 -0
  170. package/dist/server/index.d.ts.map +1 -0
  171. package/dist/server/index.js +36 -0
  172. package/dist/server/index.js.map +1 -0
  173. package/dist/types/adapter.d.ts +42 -12
  174. package/dist/types/adapter.d.ts.map +1 -1
  175. package/dist/types/adapter.js +6 -1
  176. package/dist/types/adapter.js.map +1 -1
  177. package/dist/types/eip712.d.ts +20 -0
  178. package/dist/types/eip712.d.ts.map +1 -1
  179. package/dist/types/x402.d.ts +8 -8
  180. package/dist/utils/security.d.ts.map +1 -1
  181. package/dist/utils/security.js +4 -6
  182. package/dist/utils/security.js.map +1 -1
  183. package/dist/wallet/AutoWalletProvider.d.ts +45 -1
  184. package/dist/wallet/AutoWalletProvider.d.ts.map +1 -1
  185. package/dist/wallet/AutoWalletProvider.js +154 -1
  186. package/dist/wallet/AutoWalletProvider.js.map +1 -1
  187. package/dist/wallet/EOAWalletProvider.d.ts +13 -1
  188. package/dist/wallet/EOAWalletProvider.d.ts.map +1 -1
  189. package/dist/wallet/EOAWalletProvider.js +24 -0
  190. package/dist/wallet/EOAWalletProvider.js.map +1 -1
  191. package/dist/wallet/IWalletProvider.d.ts +34 -0
  192. package/dist/wallet/IWalletProvider.d.ts.map +1 -1
  193. package/dist/wallet/SmartWalletRouter.d.ts.map +1 -1
  194. package/dist/wallet/SmartWalletRouter.js +3 -1
  195. package/dist/wallet/SmartWalletRouter.js.map +1 -1
  196. package/dist/wallet/aa/BundlerClient.js +8 -4
  197. package/dist/wallet/aa/BundlerClient.js.map +1 -1
  198. package/dist/wallet/aa/DualNonceManager.d.ts +4 -1
  199. package/dist/wallet/aa/DualNonceManager.d.ts.map +1 -1
  200. package/dist/wallet/aa/DualNonceManager.js +3 -0
  201. package/dist/wallet/aa/DualNonceManager.js.map +1 -1
  202. package/dist/wallet/keystore.d.ts.map +1 -1
  203. package/dist/wallet/keystore.js +6 -4
  204. package/dist/wallet/keystore.js.map +1 -1
  205. package/package.json +16 -3
  206. package/dist/adapters/BeginnerAdapter.d.ts +0 -152
  207. package/dist/adapters/BeginnerAdapter.d.ts.map +0 -1
  208. package/dist/adapters/BeginnerAdapter.js +0 -168
  209. package/dist/adapters/BeginnerAdapter.js.map +0 -1
  210. package/dist/adapters/IntermediateAdapter.d.ts +0 -211
  211. package/dist/adapters/IntermediateAdapter.d.ts.map +0 -1
  212. package/dist/adapters/IntermediateAdapter.js +0 -260
  213. package/dist/adapters/IntermediateAdapter.js.map +0 -1
@@ -0,0 +1,131 @@
1
+ /**
2
+ * buildX402Server — factory that maps AGIRAILS agent config into
3
+ * a ready-to-use x402 v2 resource server + route definitions.
4
+ *
5
+ * Design: we never wrap or re-export framework middleware. The output
6
+ * plugs directly into @x402/express, @x402/hono, @x402/next, or raw
7
+ * @x402/core processHTTPRequest for any framework.
8
+ *
9
+ * @module server/buildX402Server
10
+ */
11
+ /// <reference path="../../src/types/x402-modules.d.ts" />
12
+ import { x402ResourceServer } from '@x402/core/server';
13
+ import { x402HTTPResourceServer, type RoutesConfig } from '@x402/core/http';
14
+ /**
15
+ * A single paid route definition.
16
+ */
17
+ export interface X402RouteDefinition {
18
+ /** HTTP method + path pattern, e.g. "GET /api/premium" or "POST /api/generate" */
19
+ route: string;
20
+ /** Price in human-readable USD, e.g. "$0.10" or "0.50" */
21
+ price: string;
22
+ /** Short description shown in the payment prompt */
23
+ description?: string;
24
+ /**
25
+ * Override CAIP-2 network for this specific route.
26
+ * Default: top-level `config.network`.
27
+ */
28
+ network?: string;
29
+ /**
30
+ * Override payTo address for this specific route.
31
+ * Default: top-level `config.payTo`.
32
+ */
33
+ payTo?: string;
34
+ /** Max authorization validity in seconds. Default: 300 (5 min). */
35
+ maxTimeoutSeconds?: number;
36
+ }
37
+ /**
38
+ * Configuration for buildX402Server.
39
+ */
40
+ export interface X402ServerConfig {
41
+ /**
42
+ * Address that receives payments. Typically the agent's wallet address
43
+ * from `client.getAddress()`.
44
+ */
45
+ payTo: string;
46
+ /**
47
+ * CAIP-2 network identifier, e.g. "eip155:8453" (Base) or "eip155:84532" (Base Sepolia).
48
+ * Applied to all routes unless overridden per-route.
49
+ */
50
+ network: string;
51
+ /** Paid route definitions. */
52
+ routes: X402RouteDefinition[];
53
+ /**
54
+ * Facilitator URL. Default: "https://x402.org/facilitator" (Coinbase public).
55
+ * Override for self-hosted or third-party facilitators.
56
+ */
57
+ facilitatorUrl?: string;
58
+ /**
59
+ * Advertise Permit2 support so Smart Wallet buyers work out of the box.
60
+ * Default: true.
61
+ */
62
+ preferPermit2?: boolean;
63
+ }
64
+ /**
65
+ * Result from buildX402Server.
66
+ */
67
+ export interface X402ServerResult {
68
+ /**
69
+ * HTTP resource server instance. Pass this as the second argument to
70
+ * upstream middleware: `paymentMiddleware(routes, httpServer)`.
71
+ *
72
+ * For frameworks without a dedicated @x402 adapter, use
73
+ * `httpServer.processHTTPRequest(context)` directly.
74
+ */
75
+ httpServer: x402HTTPResourceServer;
76
+ /**
77
+ * Route config object matching the shape expected by @x402/express,
78
+ * @x402/hono, and @x402/next middleware.
79
+ */
80
+ routes: RoutesConfig;
81
+ /** The underlying x402ResourceServer (for advanced hook registration). */
82
+ resourceServer: x402ResourceServer;
83
+ }
84
+ /**
85
+ * Build a configured x402 v2 resource server from simple route definitions.
86
+ *
87
+ * Async because it calls `httpServer.initialize()` which fetches facilitator
88
+ * capabilities and validates that all route schemes are supported.
89
+ *
90
+ * @param config - Server configuration
91
+ * @returns Ready-to-use server + routes
92
+ * @throws {Error} If facilitator is unreachable or route schemes unsupported
93
+ *
94
+ * @example
95
+ * ```typescript
96
+ * // Express
97
+ * import { buildX402Server } from '@agirails/sdk/server';
98
+ * import { paymentMiddleware } from '@x402/express';
99
+ * import express from 'express';
100
+ *
101
+ * const { httpServer, routes } = await buildX402Server({
102
+ * payTo: client.getAddress(),
103
+ * network: 'eip155:84532',
104
+ * routes: [{ route: 'GET /api/data', price: '$0.01' }],
105
+ * });
106
+ *
107
+ * const app = express();
108
+ * app.use(paymentMiddleware(routes, httpServer));
109
+ * app.get('/api/data', (req, res) => res.json({ data: 42 }));
110
+ * app.listen(3000);
111
+ * ```
112
+ *
113
+ * @example
114
+ * ```typescript
115
+ * // Hono
116
+ * import { buildX402Server } from '@agirails/sdk/server';
117
+ * import { paymentMiddleware } from '@x402/hono';
118
+ * import { Hono } from 'hono';
119
+ *
120
+ * const { httpServer, routes } = await buildX402Server({
121
+ * payTo: '0xYourAddress',
122
+ * network: 'eip155:8453',
123
+ * routes: [{ route: 'GET /api/premium', price: '$0.10' }],
124
+ * });
125
+ *
126
+ * const app = new Hono();
127
+ * app.use('*', paymentMiddleware(routes, httpServer));
128
+ * ```
129
+ */
130
+ export declare function buildX402Server(config: X402ServerConfig): Promise<X402ServerResult>;
131
+ //# sourceMappingURL=buildX402Server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildX402Server.d.ts","sourceRoot":"","sources":["../../src/server/buildX402Server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;;AAEH,OAAO,EAAE,kBAAkB,EAAyB,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,sBAAsB,EAAE,KAAK,YAAY,EAAsB,MAAM,iBAAiB,CAAC;AAOhG;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,kFAAkF;IAClF,KAAK,EAAE,MAAM,CAAC;IAEd,0DAA0D;IAC1D,KAAK,EAAE,MAAM,CAAC;IAEd,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,mEAAmE;IACnE,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB,8BAA8B;IAC9B,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAE9B;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;OAMG;IACH,UAAU,EAAE,sBAAsB,CAAC;IAEnC;;;OAGG;IACH,MAAM,EAAE,YAAY,CAAC;IAErB,0EAA0E;IAC1E,cAAc,EAAE,kBAAkB,CAAC;CACpC;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,gBAAgB,CAAC,CAyH3B"}
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+ /**
3
+ * buildX402Server — factory that maps AGIRAILS agent config into
4
+ * a ready-to-use x402 v2 resource server + route definitions.
5
+ *
6
+ * Design: we never wrap or re-export framework middleware. The output
7
+ * plugs directly into @x402/express, @x402/hono, @x402/next, or raw
8
+ * @x402/core processHTTPRequest for any framework.
9
+ *
10
+ * @module server/buildX402Server
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.buildX402Server = void 0;
14
+ const server_1 = require("@x402/core/server");
15
+ const http_1 = require("@x402/core/http");
16
+ const server_2 = require("@x402/evm/exact/server");
17
+ // ============================================================================
18
+ // Factory
19
+ // ============================================================================
20
+ /**
21
+ * Build a configured x402 v2 resource server from simple route definitions.
22
+ *
23
+ * Async because it calls `httpServer.initialize()` which fetches facilitator
24
+ * capabilities and validates that all route schemes are supported.
25
+ *
26
+ * @param config - Server configuration
27
+ * @returns Ready-to-use server + routes
28
+ * @throws {Error} If facilitator is unreachable or route schemes unsupported
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * // Express
33
+ * import { buildX402Server } from '@agirails/sdk/server';
34
+ * import { paymentMiddleware } from '@x402/express';
35
+ * import express from 'express';
36
+ *
37
+ * const { httpServer, routes } = await buildX402Server({
38
+ * payTo: client.getAddress(),
39
+ * network: 'eip155:84532',
40
+ * routes: [{ route: 'GET /api/data', price: '$0.01' }],
41
+ * });
42
+ *
43
+ * const app = express();
44
+ * app.use(paymentMiddleware(routes, httpServer));
45
+ * app.get('/api/data', (req, res) => res.json({ data: 42 }));
46
+ * app.listen(3000);
47
+ * ```
48
+ *
49
+ * @example
50
+ * ```typescript
51
+ * // Hono
52
+ * import { buildX402Server } from '@agirails/sdk/server';
53
+ * import { paymentMiddleware } from '@x402/hono';
54
+ * import { Hono } from 'hono';
55
+ *
56
+ * const { httpServer, routes } = await buildX402Server({
57
+ * payTo: '0xYourAddress',
58
+ * network: 'eip155:8453',
59
+ * routes: [{ route: 'GET /api/premium', price: '$0.10' }],
60
+ * });
61
+ *
62
+ * const app = new Hono();
63
+ * app.use('*', paymentMiddleware(routes, httpServer));
64
+ * ```
65
+ */
66
+ async function buildX402Server(config) {
67
+ if (!config.payTo || !/^0x[0-9a-f]{40}$/i.test(config.payTo)) {
68
+ throw new Error(`buildX402Server: payTo must be a valid Ethereum address, got "${config.payTo}"`);
69
+ }
70
+ if (!config.network || !config.network.includes(':')) {
71
+ throw new Error(`buildX402Server: network must be a CAIP-2 identifier (e.g. "eip155:8453"), got "${config.network}"`);
72
+ }
73
+ if (!config.routes || config.routes.length === 0) {
74
+ throw new Error('buildX402Server: at least one route is required');
75
+ }
76
+ // 1. Facilitator client
77
+ const facilitator = new server_1.HTTPFacilitatorClient({
78
+ url: config.facilitatorUrl ?? 'https://x402.org/facilitator',
79
+ });
80
+ // 2. Resource server with EVM exact scheme
81
+ const resourceServer = new server_1.x402ResourceServer(facilitator);
82
+ (0, server_2.registerExactEvmScheme)(resourceServer);
83
+ // 3. Build route config
84
+ const routesConfig = {};
85
+ const seen = new Set();
86
+ for (const def of config.routes) {
87
+ if (!def.route || !/^(GET|POST|PUT|PATCH|DELETE|HEAD|OPTIONS)\s+\/\S*$/.test(def.route)) {
88
+ throw new Error(`buildX402Server: route must be "METHOD /path" format (e.g. "GET /api/data"), got "${def.route}"`);
89
+ }
90
+ if (seen.has(def.route)) {
91
+ throw new Error(`buildX402Server: duplicate route "${def.route}". Each route must be unique.`);
92
+ }
93
+ seen.add(def.route);
94
+ const routePayTo = def.payTo ?? config.payTo;
95
+ if (!/^0x[0-9a-f]{40}$/i.test(routePayTo)) {
96
+ throw new Error(`buildX402Server: route "${def.route}" has invalid payTo "${routePayTo}"`);
97
+ }
98
+ const routeNetwork = def.network ?? config.network;
99
+ if (!routeNetwork.includes(':')) {
100
+ throw new Error(`buildX402Server: route "${def.route}" has invalid network "${routeNetwork}" (must be CAIP-2)`);
101
+ }
102
+ if (!def.price || (typeof def.price === 'string' && def.price.trim() === '')) {
103
+ throw new Error(`buildX402Server: route "${def.route}" has empty or missing price`);
104
+ }
105
+ if (typeof def.price === 'string') {
106
+ const trimmed = def.price.trim();
107
+ if (!/^\$?\d+(\.\d+)?$/.test(trimmed)) {
108
+ throw new Error(`buildX402Server: route "${def.route}" has invalid price "${def.price}" (expected format: "$0.10" or "0.50")`);
109
+ }
110
+ if (parseFloat(trimmed.replace('$', '')) <= 0) {
111
+ throw new Error(`buildX402Server: route "${def.route}" price must be > 0, got "${def.price}"`);
112
+ }
113
+ }
114
+ const timeout = def.maxTimeoutSeconds ?? 300;
115
+ if (!Number.isFinite(timeout) || timeout <= 0) {
116
+ throw new Error(`buildX402Server: route "${def.route}" has invalid maxTimeoutSeconds ${def.maxTimeoutSeconds} (must be > 0)`);
117
+ }
118
+ const paymentOption = {
119
+ scheme: 'exact',
120
+ network: routeNetwork,
121
+ payTo: routePayTo,
122
+ price: def.price,
123
+ maxTimeoutSeconds: timeout,
124
+ };
125
+ // Advertise Permit2 so Smart Wallet buyers work out of the box
126
+ if (config.preferPermit2 !== false) {
127
+ paymentOption.extra = { assetTransferMethod: 'permit2' };
128
+ }
129
+ routesConfig[def.route] = {
130
+ accepts: [paymentOption],
131
+ description: def.description,
132
+ };
133
+ }
134
+ // 4. HTTP resource server
135
+ const httpServer = new http_1.x402HTTPResourceServer(resourceServer, routesConfig);
136
+ // 5. Initialize (fetches facilitator capabilities, validates routes)
137
+ try {
138
+ await httpServer.initialize();
139
+ }
140
+ catch (err) {
141
+ const msg = err instanceof Error ? err.message : String(err);
142
+ throw new Error(`buildX402Server: failed to initialize — ${msg}`);
143
+ }
144
+ return {
145
+ httpServer,
146
+ routes: routesConfig,
147
+ resourceServer,
148
+ };
149
+ }
150
+ exports.buildX402Server = buildX402Server;
151
+ //# sourceMappingURL=buildX402Server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildX402Server.js","sourceRoot":"","sources":["../../src/server/buildX402Server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Server Module — x402 v2 seller-side helpers.
3
+ *
4
+ * Framework-agnostic: builds a configured `x402HTTPResourceServer` + routes
5
+ * object that plugs directly into upstream middleware (`@x402/express`,
6
+ * `@x402/hono`, `@x402/next`) or any framework via the raw processHTTPRequest
7
+ * API from `@x402/core`.
8
+ *
9
+ * @module server
10
+ *
11
+ * @example
12
+ * ```typescript
13
+ * import { buildX402Server } from '@agirails/sdk/server';
14
+ * import { paymentMiddleware } from '@x402/express';
15
+ * import express from 'express';
16
+ *
17
+ * const { httpServer, routes } = await buildX402Server({
18
+ * payTo: '0xYourAddress',
19
+ * network: 'eip155:84532',
20
+ * routes: [
21
+ * { route: 'GET /api/premium', price: '$0.10', description: 'Premium content' },
22
+ * ],
23
+ * });
24
+ *
25
+ * const app = express();
26
+ * app.use(paymentMiddleware(routes, httpServer));
27
+ * app.get('/api/premium', (req, res) => res.json({ secret: '...' }));
28
+ * app.listen(3000);
29
+ * ```
30
+ */
31
+ export { buildX402Server } from './buildX402Server';
32
+ export type { X402ServerConfig, X402RouteDefinition, X402ServerResult, } from './buildX402Server';
33
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EACV,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ /**
3
+ * Server Module — x402 v2 seller-side helpers.
4
+ *
5
+ * Framework-agnostic: builds a configured `x402HTTPResourceServer` + routes
6
+ * object that plugs directly into upstream middleware (`@x402/express`,
7
+ * `@x402/hono`, `@x402/next`) or any framework via the raw processHTTPRequest
8
+ * API from `@x402/core`.
9
+ *
10
+ * @module server
11
+ *
12
+ * @example
13
+ * ```typescript
14
+ * import { buildX402Server } from '@agirails/sdk/server';
15
+ * import { paymentMiddleware } from '@x402/express';
16
+ * import express from 'express';
17
+ *
18
+ * const { httpServer, routes } = await buildX402Server({
19
+ * payTo: '0xYourAddress',
20
+ * network: 'eip155:84532',
21
+ * routes: [
22
+ * { route: 'GET /api/premium', price: '$0.10', description: 'Premium content' },
23
+ * ],
24
+ * });
25
+ *
26
+ * const app = express();
27
+ * app.use(paymentMiddleware(routes, httpServer));
28
+ * app.get('/api/premium', (req, res) => res.json({ secret: '...' }));
29
+ * app.listen(3000);
30
+ * ```
31
+ */
32
+ Object.defineProperty(exports, "__esModule", { value: true });
33
+ exports.buildX402Server = void 0;
34
+ var buildX402Server_1 = require("./buildX402Server");
35
+ Object.defineProperty(exports, "buildX402Server", { enumerable: true, get: function () { return buildX402Server_1.buildX402Server; } });
36
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;;;AAEH,qDAAoD;AAA3C,kHAAA,eAAe,OAAA"}
@@ -151,8 +151,15 @@ export declare const PaymentMetadataSchema: z.ZodObject<{
151
151
  export interface UnifiedPayParams {
152
152
  /** Recipient - address, HTTP endpoint, or ERC-8004 agent ID */
153
153
  to: string;
154
- /** Amount in human-readable format */
155
- amount: string | number;
154
+ /**
155
+ * Amount in human-readable format.
156
+ *
157
+ * - REQUIRED for ACTP adapters (basic, standard) — client sets the price
158
+ * - OPTIONAL for x402 URL targets — amount comes from the server's
159
+ * payment-required response; this field is ignored. The x402 adapter
160
+ * enforces its own per-tx safety cap via `X402AdapterConfig.maxAmountPerTx`.
161
+ */
162
+ amount?: string | number;
156
163
  /** Deadline (relative like '+24h' or unix timestamp) */
157
164
  deadline?: string | number;
158
165
  /** Dispute window in seconds (min 3600, max 30 days) */
@@ -167,13 +174,22 @@ export interface UnifiedPayParams {
167
174
  * Used for reputation reporting after settlement.
168
175
  */
169
176
  erc8004AgentId?: string;
177
+ /**
178
+ * HTTP method for x402 paid requests. Ignored by ACTP adapters.
179
+ * Default: 'GET'.
180
+ */
181
+ httpMethod?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
182
+ /** HTTP body for x402 paid requests (POST/PUT/PATCH). Ignored by ACTP adapters. */
183
+ httpBody?: string | Uint8Array;
184
+ /** Extra HTTP headers for x402 paid requests. Ignored by ACTP adapters. */
185
+ httpHeaders?: Record<string, string>;
170
186
  }
171
187
  /**
172
188
  * Zod schema for UnifiedPayParams with strict validation.
173
189
  */
174
190
  export declare const UnifiedPayParamsSchema: z.ZodObject<{
175
191
  to: z.ZodString;
176
- amount: z.ZodUnion<[z.ZodString, z.ZodNumber]>;
192
+ amount: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
177
193
  deadline: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodNumber]>>;
178
194
  disputeWindow: z.ZodOptional<z.ZodNumber>;
179
195
  description: z.ZodOptional<z.ZodString>;
@@ -212,9 +228,12 @@ export declare const UnifiedPayParamsSchema: z.ZodObject<{
212
228
  paymentMethod?: "x402" | "actp" | "auto" | undefined;
213
229
  }>>;
214
230
  erc8004AgentId: z.ZodOptional<z.ZodString>;
231
+ httpMethod: z.ZodOptional<z.ZodEnum<["GET", "POST", "PUT", "PATCH", "DELETE"]>>;
232
+ httpBody: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodType<Uint8Array, z.ZodTypeDef, Uint8Array>]>>;
233
+ httpHeaders: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
215
234
  }, "strip", z.ZodTypeAny, {
216
- amount: string | number;
217
235
  to: string;
236
+ amount?: string | number | undefined;
218
237
  deadline?: string | number | undefined;
219
238
  disputeWindow?: number | undefined;
220
239
  description?: string | undefined;
@@ -229,9 +248,12 @@ export declare const UnifiedPayParamsSchema: z.ZodObject<{
229
248
  paymentMethod?: "x402" | "actp" | "auto" | undefined;
230
249
  } | undefined;
231
250
  erc8004AgentId?: string | undefined;
251
+ httpMethod?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | undefined;
252
+ httpBody?: string | Uint8Array | undefined;
253
+ httpHeaders?: Record<string, string> | undefined;
232
254
  }, {
233
- amount: string | number;
234
255
  to: string;
256
+ amount?: string | number | undefined;
235
257
  deadline?: string | number | undefined;
236
258
  disputeWindow?: number | undefined;
237
259
  description?: string | undefined;
@@ -246,6 +268,9 @@ export declare const UnifiedPayParamsSchema: z.ZodObject<{
246
268
  paymentMethod?: "x402" | "actp" | "auto" | undefined;
247
269
  } | undefined;
248
270
  erc8004AgentId?: string | undefined;
271
+ httpMethod?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | undefined;
272
+ httpBody?: string | Uint8Array | undefined;
273
+ httpHeaders?: Record<string, string> | undefined;
249
274
  }>;
250
275
  /**
251
276
  * Transaction state after payment initiation.
@@ -257,11 +282,13 @@ export type InitialTransactionState = 'COMMITTED' | 'IN_PROGRESS';
257
282
  /**
258
283
  * Unified payment result returned by all adapters.
259
284
  *
260
- * NOTE: success=true means payment INITIATED, not settled.
261
- * Caller must call releaseEscrow() after delivery verification.
285
+ * For escrow adapters (basic/standard), success=true means payment initiated
286
+ * and caller must later call releaseEscrow() after delivery verification.
287
+ * For atomic adapters (x402), success=true means settlement is final and
288
+ * releaseRequired=false.
262
289
  */
263
290
  export interface UnifiedPayResult {
264
- /** ACTP transaction ID */
291
+ /** Transaction identifier (ACTP txId or x402 settlement transaction hash) */
265
292
  txId: string;
266
293
  /** Escrow ID (for release) - null for non-escrow adapters */
267
294
  escrowId: string | null;
@@ -296,8 +323,11 @@ export interface UnifiedPayResult {
296
323
  */
297
324
  erc8004AgentId?: string;
298
325
  /**
299
- * Fee breakdown for x402 payments routed through X402Relay.
300
- * Present only when relay is configured and payment used the relay path.
326
+ * @deprecated Legacy from the pre-v2 x402 flow routed through the
327
+ * on-chain X402Relay fee-splitting contract. The current X402Adapter
328
+ * (SDK 3.3.0+) pays seller directly with zero AGIRAILS fee, so this
329
+ * field is never populated on the x402 path. Retained for API
330
+ * back-compat; removal scheduled for the next breaking SDK major.
301
331
  */
302
332
  feeBreakdown?: X402FeeBreakdown;
303
333
  }
@@ -348,9 +378,9 @@ export declare const UnifiedPayResultSchema: z.ZodObject<{
348
378
  state: "COMMITTED" | "IN_PROGRESS";
349
379
  success: boolean;
350
380
  releaseRequired: boolean;
381
+ erc8004AgentId?: string | undefined;
351
382
  response?: any;
352
383
  error?: string | undefined;
353
- erc8004AgentId?: string | undefined;
354
384
  feeBreakdown?: {
355
385
  grossAmount: string;
356
386
  providerNet: string;
@@ -369,9 +399,9 @@ export declare const UnifiedPayResultSchema: z.ZodObject<{
369
399
  state: "COMMITTED" | "IN_PROGRESS";
370
400
  success: boolean;
371
401
  releaseRequired: boolean;
402
+ erc8004AgentId?: string | undefined;
372
403
  response?: any;
373
404
  error?: string | undefined;
374
- erc8004AgentId?: string | undefined;
375
405
  feeBreakdown?: {
376
406
  grossAmount: string;
377
407
  providerNet: string;
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/types/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../src/types/adapter.ts"],"names":[],"mappings":"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"}
@@ -58,7 +58,9 @@ const MAX_DISPUTE_WINDOW = 30 * 24 * 3600;
58
58
  */
59
59
  exports.UnifiedPayParamsSchema = zod_1.z.object({
60
60
  to: zod_1.z.string().min(1),
61
- amount: zod_1.z.union([zod_1.z.string().min(1), zod_1.z.number().positive()]),
61
+ // Optional — x402 URL targets derive amount from server response.
62
+ // ACTP adapters (basic, standard) validate presence at pay() time.
63
+ amount: zod_1.z.union([zod_1.z.string().min(1), zod_1.z.number().positive()]).optional(),
62
64
  deadline: zod_1.z.union([zod_1.z.string(), zod_1.z.number()]).optional(),
63
65
  disputeWindow: zod_1.z
64
66
  .number()
@@ -69,6 +71,9 @@ exports.UnifiedPayParamsSchema = zod_1.z.object({
69
71
  description: zod_1.z.string().optional(),
70
72
  metadata: exports.PaymentMetadataSchema.optional(),
71
73
  erc8004AgentId: zod_1.z.string().optional(),
74
+ httpMethod: zod_1.z.enum(['GET', 'POST', 'PUT', 'PATCH', 'DELETE']).optional(),
75
+ httpBody: zod_1.z.union([zod_1.z.string(), zod_1.z.custom((v) => ArrayBuffer.isView(v) && !(v instanceof DataView))]).optional(),
76
+ httpHeaders: zod_1.z.record(zod_1.z.string()).optional(),
72
77
  });
73
78
  /**
74
79
  * Zod schema for UnifiedPayResult validation.
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/types/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../src/types/adapter.ts"],"names":[],"mappings":"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"}
@@ -137,4 +137,24 @@ export declare const MESSAGE_TYPES: {
137
137
  * Get EIP-712 types for message type
138
138
  */
139
139
  export declare function getMessageTypes(messageType: string): Record<string, any>;
140
+ /**
141
+ * Generic EIP-712 typed data structure (for x402 v2, Permit2, etc.).
142
+ *
143
+ * Consumed by `IWalletProvider.signTypedData` and the x402 adapter.
144
+ * Plain objects only — matches the no-library-types-at-interface-boundary
145
+ * convention used by IWalletProvider.
146
+ */
147
+ export interface EIP712TypedData {
148
+ /** EIP-712 domain separator fields (name, version, chainId, verifyingContract, etc.) */
149
+ domain: Record<string, unknown>;
150
+ /** Type definitions keyed by type name. EIP712Domain entry may be omitted. */
151
+ types: Record<string, Array<{
152
+ name: string;
153
+ type: string;
154
+ }>>;
155
+ /** Name of the primary type to sign */
156
+ primaryType: string;
157
+ /** The message values to sign */
158
+ message: Record<string, unknown>;
159
+ }
140
160
  //# sourceMappingURL=eip712.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"eip712.d.ts","sourceRoot":"","sources":["../../src/types/eip712.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;CAW7B,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;CAY9B,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;CAS9B,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,aAAa,GAAG,iBAAiB,CASlF;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB;;;;;CAYlC,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;CAU5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;CAMzB,CAAC;AAEF;;GAEG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAExE"}
1
+ {"version":3,"file":"eip712.d.ts","sourceRoot":"","sources":["../../src/types/eip712.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;CAW7B,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;CAY9B,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;CAS9B,CAAC;AAEF,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,aAAa,GAAG,iBAAiB,CASlF;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB;;;;;CAYlC,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;CAU5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;CAMzB,CAAC;AAEF;;GAEG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAExE;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,wFAAwF;IACxF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,8EAA8E;IAC9E,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAC7D,uCAAuC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC"}
@@ -159,15 +159,15 @@ export declare class X402Error extends Error {
159
159
  toString(): string;
160
160
  }
161
161
  /**
162
- * Fee breakdown for x402 payments routed through X402Relay.
162
+ * @deprecated Legacy from the pre-v2 x402 flow that routed payments
163
+ * through the on-chain X402Relay fee-splitting contract. The current
164
+ * X402Adapter (SDK 3.3.0+) uses x402 v2 — payments go directly from
165
+ * buyer to seller via the facilitator pattern and there is no AGIRAILS
166
+ * fee on the x402 path. This type is retained for API back-compat but
167
+ * has no active producer. Remove in the next breaking SDK major.
163
168
  *
164
- * Shows how the gross amount was split between provider and platform.
165
- * Fee = max(grossAmount * feeBps / 10000, MIN_FEE).
166
- *
167
- * NOTE: This is a client-side **estimate** computed from the configured
168
- * platformFeeBps. The on-chain X402Relay contract is the source of truth.
169
- * If an admin updates the relay's fee rate, this estimate may diverge
170
- * from the actual on-chain split until the SDK config is refreshed.
169
+ * Historical semantics: Fee = max(grossAmount * feeBps / 10000, MIN_FEE).
170
+ * providerNet + platformFee == grossAmount.
171
171
  */
172
172
  export interface X402FeeBreakdown {
173
173
  /** Total amount from the 402 header (USDC wei, 6 decimals) */
@@ -1 +1 @@
1
- {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/utils/security.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAkB7D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CA4BjF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAgC/D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAyBvD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,CAAC,GAAG,GAAG,EACnC,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,CAAC,GAAG,IAAI,CAoEV;AAqCD;;;;;;GAMG;AACH,qBAAa,QAAQ,CAAC,CAAC,EAAE,CAAC;IACxB,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,GAAE,MAAa;IAOlC;;;;;OAKG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAU1B;;;;;OAKG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAmB3B;;;;;;;;OAQG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAIpB;;;;OAIG;IACH,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI;IAIpB;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;;;;;OAOG;IACH,MAAM,IAAI,CAAC,EAAE;IAIb;;;;OAIG;IACH,IAAI,IAAI,CAAC,EAAE;IAIX;;;;OAIG;IACH,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;CAGpB"}
1
+ {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/utils/security.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAgB7D;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CA4BjF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAgC/D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAyBvD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,CAAC,GAAG,GAAG,EACnC,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC9B,CAAC,GAAG,IAAI,CAoEV;AAqCD;;;;;;GAMG;AACH,qBAAa,QAAQ,CAAC,CAAC,EAAE,CAAC;IACxB,OAAO,CAAC,KAAK,CAAmB;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAErB,OAAO,GAAE,MAAa;IAOlC;;;;;OAKG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAU1B;;;;;OAKG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAmB3B;;;;;;;;OAQG;IACH,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAIpB;;;;OAIG;IACH,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI;IAIpB;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;;;;;OAOG;IACH,MAAM,IAAI,CAAC,EAAE;IAIb;;;;OAIG;IACH,IAAI,IAAI,CAAC,EAAE;IAIX;;;;OAIG;IACH,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;CAGpB"}