mppx 0.8.12 → 0.8.14

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 (266) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/README.md +16 -1
  3. package/dist/Errors.d.ts +10 -0
  4. package/dist/Errors.d.ts.map +1 -1
  5. package/dist/Errors.js +11 -2
  6. package/dist/Errors.js.map +1 -1
  7. package/dist/Method.d.ts +105 -3
  8. package/dist/Method.d.ts.map +1 -1
  9. package/dist/Method.js +102 -2
  10. package/dist/Method.js.map +1 -1
  11. package/dist/cli/account.d.ts +88 -0
  12. package/dist/cli/account.d.ts.map +1 -1
  13. package/dist/cli/account.js +39 -9
  14. package/dist/cli/account.js.map +1 -1
  15. package/dist/cli/cli.d.ts +2 -1
  16. package/dist/cli/cli.d.ts.map +1 -1
  17. package/dist/cli/cli.js +59 -2
  18. package/dist/cli/cli.js.map +1 -1
  19. package/dist/cli/sessions/Manager.d.ts +31 -0
  20. package/dist/cli/sessions/Manager.d.ts.map +1 -0
  21. package/dist/cli/sessions/Manager.js +56 -0
  22. package/dist/cli/sessions/Manager.js.map +1 -0
  23. package/dist/cli/sessions/commands.d.ts +36 -0
  24. package/dist/cli/sessions/commands.d.ts.map +1 -0
  25. package/dist/cli/sessions/commands.js +407 -0
  26. package/dist/cli/sessions/commands.js.map +1 -0
  27. package/dist/cli/sessions/request.d.ts +35 -0
  28. package/dist/cli/sessions/request.d.ts.map +1 -0
  29. package/dist/cli/sessions/request.js +271 -0
  30. package/dist/cli/sessions/request.js.map +1 -0
  31. package/dist/cli/sessions/store.d.ts +134 -0
  32. package/dist/cli/sessions/store.d.ts.map +1 -0
  33. package/dist/cli/sessions/store.js +723 -0
  34. package/dist/cli/sessions/store.js.map +1 -0
  35. package/dist/cli/utils.d.ts +2 -0
  36. package/dist/cli/utils.d.ts.map +1 -1
  37. package/dist/cli/utils.js +12 -0
  38. package/dist/cli/utils.js.map +1 -1
  39. package/dist/cli/validate/index.d.ts.map +1 -1
  40. package/dist/cli/validate/index.js +12 -6
  41. package/dist/cli/validate/index.js.map +1 -1
  42. package/dist/cli/validate/messages.d.ts +2 -0
  43. package/dist/cli/validate/messages.d.ts.map +1 -0
  44. package/dist/cli/validate/messages.js +8 -0
  45. package/dist/cli/validate/messages.js.map +1 -0
  46. package/dist/client/internal/Fetch.d.ts.map +1 -1
  47. package/dist/client/internal/Fetch.js +12 -2
  48. package/dist/client/internal/Fetch.js.map +1 -1
  49. package/dist/client/internal/MethodChallenge.d.ts +17 -0
  50. package/dist/client/internal/MethodChallenge.d.ts.map +1 -0
  51. package/dist/client/internal/MethodChallenge.js +11 -0
  52. package/dist/client/internal/MethodChallenge.js.map +1 -0
  53. package/dist/client/node.d.ts +29 -0
  54. package/dist/client/node.d.ts.map +1 -0
  55. package/dist/client/node.js +177 -0
  56. package/dist/client/node.js.map +1 -0
  57. package/dist/internal/types.d.ts +24 -0
  58. package/dist/internal/types.d.ts.map +1 -1
  59. package/dist/server/Mppx.d.ts +23 -4
  60. package/dist/server/Mppx.d.ts.map +1 -1
  61. package/dist/server/Mppx.js +91 -82
  62. package/dist/server/Mppx.js.map +1 -1
  63. package/dist/stripe/server/Charge.d.ts +8 -4
  64. package/dist/stripe/server/Charge.d.ts.map +1 -1
  65. package/dist/stripe/server/Charge.js.map +1 -1
  66. package/dist/stripe/server/internal/html.gen.d.ts +1 -1
  67. package/dist/stripe/server/internal/html.gen.d.ts.map +1 -1
  68. package/dist/stripe/server/internal/html.gen.js +1 -1
  69. package/dist/stripe/server/internal/html.gen.js.map +1 -1
  70. package/dist/tempo/client/Methods.d.ts +2 -1
  71. package/dist/tempo/client/Methods.d.ts.map +1 -1
  72. package/dist/tempo/internal/fee-payer.d.ts +1 -0
  73. package/dist/tempo/internal/fee-payer.d.ts.map +1 -1
  74. package/dist/tempo/internal/fee-payer.js +7 -2
  75. package/dist/tempo/internal/fee-payer.js.map +1 -1
  76. package/dist/tempo/internal/types.d.ts +10 -1
  77. package/dist/tempo/internal/types.d.ts.map +1 -1
  78. package/dist/tempo/legacy/client/ChannelOps.d.ts.map +1 -1
  79. package/dist/tempo/legacy/client/ChannelOps.js +2 -1
  80. package/dist/tempo/legacy/client/ChannelOps.js.map +1 -1
  81. package/dist/tempo/legacy/client/Session.d.ts +2 -2
  82. package/dist/tempo/legacy/server/Session.d.ts +3 -3
  83. package/dist/tempo/legacy/server/Session.d.ts.map +1 -1
  84. package/dist/tempo/legacy/server/Session.js.map +1 -1
  85. package/dist/tempo/server/Charge.d.ts +40 -78
  86. package/dist/tempo/server/Charge.d.ts.map +1 -1
  87. package/dist/tempo/server/Charge.js +289 -209
  88. package/dist/tempo/server/Charge.js.map +1 -1
  89. package/dist/tempo/server/Methods.d.ts +13 -23
  90. package/dist/tempo/server/Methods.d.ts.map +1 -1
  91. package/dist/tempo/server/Methods.js +6 -2
  92. package/dist/tempo/server/Methods.js.map +1 -1
  93. package/dist/tempo/server/Relay.d.ts +48 -0
  94. package/dist/tempo/server/Relay.d.ts.map +1 -0
  95. package/dist/tempo/server/Relay.js +177 -0
  96. package/dist/tempo/server/Relay.js.map +1 -0
  97. package/dist/tempo/server/SponsorBudget.d.ts +59 -0
  98. package/dist/tempo/server/SponsorBudget.d.ts.map +1 -0
  99. package/dist/tempo/server/SponsorBudget.js +144 -0
  100. package/dist/tempo/server/SponsorBudget.js.map +1 -0
  101. package/dist/tempo/server/Subscription.d.ts +3 -2
  102. package/dist/tempo/server/Subscription.d.ts.map +1 -1
  103. package/dist/tempo/server/Subscription.js.map +1 -1
  104. package/dist/tempo/server/index.d.ts +1 -1
  105. package/dist/tempo/server/index.d.ts.map +1 -1
  106. package/dist/tempo/server/index.js.map +1 -1
  107. package/dist/tempo/server/internal/html.gen.d.ts +1 -1
  108. package/dist/tempo/server/internal/html.gen.d.ts.map +1 -1
  109. package/dist/tempo/server/internal/html.gen.js +1 -1
  110. package/dist/tempo/server/internal/html.gen.js.map +1 -1
  111. package/dist/tempo/session/Snapshot.d.ts +9 -0
  112. package/dist/tempo/session/Snapshot.d.ts.map +1 -1
  113. package/dist/tempo/session/Snapshot.js +6 -0
  114. package/dist/tempo/session/Snapshot.js.map +1 -1
  115. package/dist/tempo/session/client/ChannelOps.d.ts +7 -1
  116. package/dist/tempo/session/client/ChannelOps.d.ts.map +1 -1
  117. package/dist/tempo/session/client/ChannelOps.js +17 -3
  118. package/dist/tempo/session/client/ChannelOps.js.map +1 -1
  119. package/dist/tempo/session/client/CredentialState.d.ts +26 -2
  120. package/dist/tempo/session/client/CredentialState.d.ts.map +1 -1
  121. package/dist/tempo/session/client/CredentialState.js +99 -16
  122. package/dist/tempo/session/client/CredentialState.js.map +1 -1
  123. package/dist/tempo/session/client/Runtime.d.ts +8 -0
  124. package/dist/tempo/session/client/Runtime.d.ts.map +1 -1
  125. package/dist/tempo/session/client/Runtime.js +17 -0
  126. package/dist/tempo/session/client/Runtime.js.map +1 -1
  127. package/dist/tempo/session/client/Session.d.ts +16 -6
  128. package/dist/tempo/session/client/Session.d.ts.map +1 -1
  129. package/dist/tempo/session/client/Session.js +93 -36
  130. package/dist/tempo/session/client/Session.js.map +1 -1
  131. package/dist/tempo/session/client/SessionManager.d.ts +10 -3
  132. package/dist/tempo/session/client/SessionManager.d.ts.map +1 -1
  133. package/dist/tempo/session/client/SessionManager.js +176 -50
  134. package/dist/tempo/session/client/SessionManager.js.map +1 -1
  135. package/dist/tempo/session/client/Transports.d.ts +18 -7
  136. package/dist/tempo/session/client/Transports.d.ts.map +1 -1
  137. package/dist/tempo/session/client/Transports.js +81 -33
  138. package/dist/tempo/session/client/Transports.js.map +1 -1
  139. package/dist/tempo/session/client/internal/SessionManager.d.ts +19 -0
  140. package/dist/tempo/session/client/internal/SessionManager.d.ts.map +1 -0
  141. package/dist/tempo/session/client/internal/SessionManager.js +13 -0
  142. package/dist/tempo/session/client/internal/SessionManager.js.map +1 -0
  143. package/dist/tempo/session/precompile/Chain.d.ts.map +1 -1
  144. package/dist/tempo/session/precompile/Chain.js +109 -12
  145. package/dist/tempo/session/precompile/Chain.js.map +1 -1
  146. package/dist/tempo/session/precompile/Channel.d.ts +2 -0
  147. package/dist/tempo/session/precompile/Channel.d.ts.map +1 -1
  148. package/dist/tempo/session/precompile/Channel.js +4 -0
  149. package/dist/tempo/session/precompile/Channel.js.map +1 -1
  150. package/dist/tempo/session/server/CredentialVerification.d.ts +3 -0
  151. package/dist/tempo/session/server/CredentialVerification.d.ts.map +1 -1
  152. package/dist/tempo/session/server/CredentialVerification.js +14 -0
  153. package/dist/tempo/session/server/CredentialVerification.js.map +1 -1
  154. package/dist/tempo/session/server/MeteredStream.d.ts +7 -1
  155. package/dist/tempo/session/server/MeteredStream.d.ts.map +1 -1
  156. package/dist/tempo/session/server/MeteredStream.js +5 -4
  157. package/dist/tempo/session/server/MeteredStream.js.map +1 -1
  158. package/dist/tempo/session/server/RequestState.d.ts +5 -1
  159. package/dist/tempo/session/server/RequestState.d.ts.map +1 -1
  160. package/dist/tempo/session/server/RequestState.js +13 -5
  161. package/dist/tempo/session/server/RequestState.js.map +1 -1
  162. package/dist/tempo/session/server/Session.d.ts +21 -6
  163. package/dist/tempo/session/server/Session.d.ts.map +1 -1
  164. package/dist/tempo/session/server/Session.js +4 -1
  165. package/dist/tempo/session/server/Session.js.map +1 -1
  166. package/dist/tempo/session/server/Settlement.d.ts +20 -0
  167. package/dist/tempo/session/server/Settlement.d.ts.map +1 -1
  168. package/dist/tempo/session/server/Settlement.js +20 -0
  169. package/dist/tempo/session/server/Settlement.js.map +1 -1
  170. package/dist/tempo/session/server/Ws.d.ts +2 -0
  171. package/dist/tempo/session/server/Ws.d.ts.map +1 -1
  172. package/dist/tempo/session/server/Ws.js.map +1 -1
  173. package/dist/tempo/session/server/index.d.ts +1 -1
  174. package/dist/tempo/session/server/index.d.ts.map +1 -1
  175. package/dist/tempo/subscription/KeyAuthorization.d.ts +21 -21
  176. package/dist/validation/core.d.ts.map +1 -1
  177. package/dist/validation/core.js +6 -2
  178. package/dist/validation/core.js.map +1 -1
  179. package/dist/viem/Client.d.ts.map +1 -1
  180. package/dist/viem/Client.js +24 -17
  181. package/dist/viem/Client.js.map +1 -1
  182. package/package.json +6 -1
  183. package/src/Errors.test.ts +23 -0
  184. package/src/Errors.ts +21 -2
  185. package/src/Method.test.ts +102 -1
  186. package/src/Method.ts +241 -5
  187. package/src/cli/account.ts +45 -10
  188. package/src/cli/cli.test.ts +165 -70
  189. package/src/cli/cli.ts +67 -2
  190. package/src/cli/mcp.test.ts +11 -0
  191. package/src/cli/sessions/Manager.test.ts +249 -0
  192. package/src/cli/sessions/Manager.ts +93 -0
  193. package/src/cli/sessions/commands.ts +444 -0
  194. package/src/cli/sessions/request.test.ts +51 -0
  195. package/src/cli/sessions/request.ts +353 -0
  196. package/src/cli/sessions/store.test.ts +581 -0
  197. package/src/cli/sessions/store.ts +940 -0
  198. package/src/cli/utils.test.ts +23 -0
  199. package/src/cli/utils.ts +10 -0
  200. package/src/cli/validate/index.ts +12 -14
  201. package/src/cli/validate/messages.ts +7 -0
  202. package/src/cli/validate.test.ts +38 -5
  203. package/src/client/Mppx.test-d.ts +3 -3
  204. package/src/client/internal/Fetch.ts +16 -7
  205. package/src/client/internal/MethodChallenge.ts +30 -0
  206. package/src/client/node.test.ts +115 -0
  207. package/src/client/node.ts +247 -0
  208. package/src/internal/types.test-d.ts +21 -0
  209. package/src/internal/types.ts +33 -0
  210. package/src/server/Mppx.test-d.ts +44 -0
  211. package/src/server/Mppx.test.ts +205 -0
  212. package/src/server/Mppx.ts +167 -103
  213. package/src/stripe/Methods.test.ts +10 -0
  214. package/src/stripe/server/Charge.test-d.ts +66 -0
  215. package/src/stripe/server/Charge.ts +8 -5
  216. package/src/stripe/server/internal/html.gen.ts +1 -1
  217. package/src/tempo/PublicExports.test-d.ts +20 -0
  218. package/src/tempo/internal/fee-payer.ts +7 -3
  219. package/src/tempo/internal/types.ts +13 -2
  220. package/src/tempo/legacy/client/ChannelOps.test.ts +7 -0
  221. package/src/tempo/legacy/client/ChannelOps.ts +2 -1
  222. package/src/tempo/legacy/server/Defaults.test-d.ts +9 -0
  223. package/src/tempo/legacy/server/Session.ts +6 -5
  224. package/src/tempo/server/Charge.test.ts +337 -63
  225. package/src/tempo/server/Charge.ts +440 -270
  226. package/src/tempo/server/Methods.ts +16 -4
  227. package/src/tempo/server/Relay.test.ts +523 -0
  228. package/src/tempo/server/Relay.ts +288 -0
  229. package/src/tempo/server/SponsorBudget.test.ts +125 -0
  230. package/src/tempo/server/SponsorBudget.ts +213 -0
  231. package/src/tempo/server/Subscription.ts +6 -4
  232. package/src/tempo/server/index.ts +5 -1
  233. package/src/tempo/server/internal/html.gen.ts +1 -1
  234. package/src/tempo/session/README.md +201 -0
  235. package/src/tempo/session/Snapshot.ts +21 -0
  236. package/src/tempo/session/client/ChannelOps.test.ts +55 -0
  237. package/src/tempo/session/client/ChannelOps.ts +21 -3
  238. package/src/tempo/session/client/CredentialState.test.ts +2 -2
  239. package/src/tempo/session/client/CredentialState.ts +159 -16
  240. package/src/tempo/session/client/Runtime.test.ts +12 -0
  241. package/src/tempo/session/client/Runtime.ts +22 -0
  242. package/src/tempo/session/client/Session.test.ts +238 -5
  243. package/src/tempo/session/client/Session.ts +130 -41
  244. package/src/tempo/session/client/SessionManager.test.ts +239 -8
  245. package/src/tempo/session/client/SessionManager.ts +204 -54
  246. package/src/tempo/session/client/Transports.test.ts +181 -8
  247. package/src/tempo/session/client/Transports.ts +127 -45
  248. package/src/tempo/session/client/internal/SessionManager.ts +36 -0
  249. package/src/tempo/session/precompile/Chain.integration.test.ts +19 -1
  250. package/src/tempo/session/precompile/Chain.test.ts +223 -10
  251. package/src/tempo/session/precompile/Chain.ts +119 -12
  252. package/src/tempo/session/precompile/Channel.test.ts +9 -0
  253. package/src/tempo/session/precompile/Channel.ts +5 -0
  254. package/src/tempo/session/server/CredentialVerification.ts +18 -1
  255. package/src/tempo/session/server/MeteredStream.ts +12 -5
  256. package/src/tempo/session/server/RequestState.test.ts +47 -4
  257. package/src/tempo/session/server/RequestState.ts +15 -8
  258. package/src/tempo/session/server/Session.test.ts +461 -0
  259. package/src/tempo/session/server/Session.ts +31 -8
  260. package/src/tempo/session/server/Settlement.ts +45 -0
  261. package/src/tempo/session/server/Ws.test.ts +113 -0
  262. package/src/tempo/session/server/Ws.ts +2 -0
  263. package/src/tempo/session/server/index.ts +2 -0
  264. package/src/validation/core.ts +7 -1
  265. package/src/viem/Client.test.ts +44 -1
  266. package/src/viem/Client.ts +31 -17
package/CHANGELOG.md CHANGED
@@ -1,5 +1,39 @@
1
1
  # mppx
2
2
 
3
+ ## 0.8.14
4
+
5
+ ### Patch Changes
6
+
7
+ - a8e73b7: Replaced per-sender sponsored charge serialization with durable atomic aggregate fee-budget reservations. Independent expiring-nonce transactions ran concurrently, waited for capacity when the sponsor budget was full, and retained pending exposure until receipt reconciliation or transaction expiry.
8
+ - 6156f80: Added an optional `topUpAmount` policy for batching automatic Tempo session top-ups while preserving exact-shortfall behavior by default.
9
+ - 7711982: Added a single-file Hono Tempo API relay-backed charge example.
10
+ - 8935947: Fixed automatic session top-ups before signing HTTP, SSE, and WebSocket credentials, including preserving a durable resumed channel after a committed top-up when the paid request failed.
11
+ - 9cc198e: Fixed Tempo relay verification fallback and restricted server lifecycle hook combinations to unambiguous configurations.
12
+ - a3a0d82: Use expiring nonces for sponsored and unsponsored Tempo session management transactions.
13
+ - 4fbcd0a: Added automatic stablecoin swaps for Tempo session channel opens and top-ups.
14
+ - 0f91d5d: Marked legacy combined payment verification hooks as deprecated in favor of separate validation and broadcast hooks.
15
+ - 9932a58: Added structured error codes and diagnostics for payment validation failures.
16
+ - 8f2e847: Added Tempo API relay configuration for server-side charge validation and broadcast.
17
+ - c7c1e4b: Added generic `validate`/`broadcast` credential lifecycle APIs and a Tempo charge implementation; Tempo session credential handling remained unchanged.
18
+
19
+ ## 0.8.13
20
+
21
+ ### Patch Changes
22
+
23
+ - d807f92: Improved agent environment detection for automatic JSON validate output.
24
+
25
+ Added SDK guidance when validate could not find an OpenAPI discovery document.
26
+
27
+ - 2ff74a5: Fixed server method handlers to require request fields that were not configured as defaults, and exposed Tempo's resolved currency and decimals as defaults.
28
+ - bd9b05c: Added explicit per-message amounts and cancellation signals to manual WebSocket session metering.
29
+ - ae30448: Fixed server-driven Tempo session close and settlement transactions when the configured account is also the fee payer.
30
+ - 92c7b6e: Fixed hosted fee payer routing for caller-provided custom Viem transports.
31
+ - a20358e: Add a Node SQLite session `ChannelStore` that defaults to Tempo Wallet's channels database and can read existing wallet-cli v2 session rows.
32
+ - 8e95155: Added persistent CLI payment sessions with automatic reuse, inspection, and explicit closing.
33
+ - 8e71221: Rehydrate Tempo client sessions from server snapshots, reconciling the last accepted voucher with on-chain channel state before continuing cumulative payments.
34
+ - fb45074: Include the highest signed voucher in Tempo session bootstrap snapshots so cold clients can safely validate and resume an existing channel.
35
+ - 0f256ef: Added `onSessionSettlement` hook for visibility into on-chain session settlement transactions, with chain-agnostic context including trigger, txHash, channelId, cumulative amount, and incremental delta.
36
+
3
37
  ## 0.8.12
4
38
 
5
39
  ### Patch Changes
package/README.md CHANGED
@@ -33,6 +33,8 @@
33
33
 
34
34
  Full documentation, API reference, and guides are available at **[mpp.dev/sdk/typescript](https://mpp.dev/sdk/typescript)**.
35
35
 
36
+ Contributors changing Tempo sessions should read the [session design](./src/tempo/session/README.md) before altering credential, recovery, accounting, or transport behavior.
37
+
36
38
  ## Install
37
39
 
38
40
  ```bash
@@ -97,7 +99,8 @@ npx gitpick wevm/mppx/examples/charge
97
99
 
98
100
  ## CLI
99
101
 
100
- `mppx` includes a basic CLI for making HTTP requests with automatic payment handling.
102
+ `mppx` includes a basic CLI for making HTTP requests with automatic payment handling. Tempo
103
+ session channels are retained and reused automatically until you close them.
101
104
 
102
105
  ```bash
103
106
  # create account - stored in keychain, autofunded on testnet
@@ -105,8 +108,20 @@ mppx account create
105
108
 
106
109
  # make request - automatic payment handling, curl-like api
107
110
  mppx example.com
111
+
112
+ # open another session instead of reusing the preferred channel
113
+ mppx example.com --session new
114
+
115
+ # inspect and close retained sessions
116
+ mppx sessions list
117
+ mppx sessions view <channel-id>
118
+ mppx sessions close <channel-id>
119
+ mppx sessions close --all --yes
108
120
  ```
109
121
 
122
+ `--session auto` is the default. Pass `new` to open another channel or a channel ID to select one
123
+ explicitly.
124
+
110
125
  You can also install globally to use the `mppx` CLI from anywhere:
111
126
 
112
127
  ```bash
package/dist/Errors.d.ts CHANGED
@@ -8,6 +8,8 @@ export declare const Hints: {
8
8
  * Base class for all payment-related errors.
9
9
  */
10
10
  export declare abstract class PaymentError extends Error {
11
+ /** Safe method-specific context for diagnostics and relay responses. */
12
+ readonly details: Readonly<Record<string, unknown>> | undefined;
11
13
  /** RFC 9457 Problem Details type URI. */
12
14
  abstract readonly type: string;
13
15
  /** Human-readable summary for RFC 9457 Problem Details. */
@@ -16,10 +18,14 @@ export declare abstract class PaymentError extends Error {
16
18
  readonly status: number;
17
19
  /** Actionable hint for resolving the error (RFC 9457 extension member). */
18
20
  readonly hint: string | undefined;
21
+ protected constructor(message: string, options?: PaymentError.Options);
19
22
  /** Converts the error to RFC 9457 Problem Details format. */
20
23
  toProblemDetails(challengeId?: string): PaymentError.ProblemDetails;
21
24
  }
22
25
  export declare namespace PaymentError {
26
+ type Options = {
27
+ details?: Record<string, unknown> | undefined;
28
+ };
23
29
  type ProblemDetails = {
24
30
  /** RFC 9457 Problem Details type URI. */
25
31
  type: string;
@@ -29,6 +35,8 @@ export declare namespace PaymentError {
29
35
  status: number;
30
36
  /** Human-readable explanation. */
31
37
  detail: string;
38
+ /** Safe method-specific diagnostic context. */
39
+ details?: Readonly<Record<string, unknown>>;
32
40
  /** Actionable hint for resolving the error (RFC 9457 extension member). */
33
41
  hint?: string;
34
42
  /** Associated challenge ID, if applicable. */
@@ -81,6 +89,8 @@ export declare class VerificationFailedError extends PaymentError {
81
89
  }
82
90
  export declare namespace VerificationFailedError {
83
91
  type Options = {
92
+ /** Safe method-specific diagnostic context. */
93
+ details?: Record<string, unknown> | undefined;
84
94
  /** Reason verification failed (e.g., "invalid signature", "insufficient amount"). */
85
95
  reason?: string;
86
96
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Errors.d.ts","sourceRoot":"","sources":["../src/Errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Errors.d.ts","sourceRoot":"","sources":["../src/Errors.ts"],"names":[],"mappings":"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"}
package/dist/Errors.js CHANGED
@@ -8,10 +8,16 @@ export const Hints = {
8
8
  * Base class for all payment-related errors.
9
9
  */
10
10
  export class PaymentError extends Error {
11
+ /** Safe method-specific context for diagnostics and relay responses. */
12
+ details;
11
13
  /** HTTP status code. */
12
14
  status = 402;
13
15
  /** Actionable hint for resolving the error (RFC 9457 extension member). */
14
16
  hint;
17
+ constructor(message, options = {}) {
18
+ super(message);
19
+ this.details = options.details;
20
+ }
15
21
  /** Converts the error to RFC 9457 Problem Details format. */
16
22
  toProblemDetails(challengeId) {
17
23
  return {
@@ -19,6 +25,7 @@ export class PaymentError extends Error {
19
25
  title: this.title,
20
26
  status: this.status,
21
27
  detail: this.message,
28
+ ...(this.details && Object.keys(this.details).length > 0 && { details: this.details }),
22
29
  ...(this.hint && { hint: this.hint }),
23
30
  ...(challengeId && { challengeId }),
24
31
  };
@@ -61,8 +68,10 @@ export class VerificationFailedError extends PaymentError {
61
68
  title = 'Verification Failed';
62
69
  type = 'https://paymentauth.org/problems/verification-failed';
63
70
  constructor(options = {}) {
64
- const { reason } = options;
65
- super(reason ? `Payment verification failed: ${reason}.` : 'Payment verification failed.');
71
+ const { details, reason } = options;
72
+ super(reason ? `Payment verification failed: ${reason}.` : 'Payment verification failed.', {
73
+ details,
74
+ });
66
75
  }
67
76
  }
68
77
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Errors.js","sourceRoot":"","sources":["../src/Errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Errors.js","sourceRoot":"","sources":["../src/Errors.ts"],"names":[],"mappings":"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"}
package/dist/Method.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type * as Challenge from './Challenge.js';
2
- import type * as Credential from './Credential.js';
2
+ import * as Credential from './Credential.js';
3
3
  import type { ExactPartial, LooseOmit, MaybePromise } from './internal/types.js';
4
4
  import type * as Receipt from './Receipt.js';
5
5
  import type * as Html from './server/internal/html/config.js';
@@ -83,11 +83,62 @@ export type VerifyContext<method extends Method> = {
83
83
  envelope?: VerifiedChallengeEnvelope<z.output<method['schema']['request']>, z.output<method['schema']['credential']['payload']>, method['intent'], method['name']> | undefined;
84
84
  request: z.input<method['schema']['request']>;
85
85
  };
86
+ /** Validation hook parameters for a single method. */
87
+ export type ValidateContext<method extends Method> = VerifyContext<method>;
86
88
  /** Response hook parameters for a single method. */
87
89
  export type RespondContext<method extends Method> = VerifyContext<method> & {
88
90
  input: globalThis.Request;
89
91
  receipt: Receipt.Receipt;
90
92
  };
93
+ /**
94
+ * Non-mutating method-specific validation result.
95
+ *
96
+ * Returned by {@link ValidateFn} and exposed from `mppx.validateCredential()`.
97
+ * This confirms that a credential is currently acceptable to the payment
98
+ * method; it does not settle, reserve, or otherwise consume the payment.
99
+ */
100
+ export type Validation<method extends Method = Method, details = unknown> = Readonly<{
101
+ /**
102
+ * The challenge echoed by the credential and accepted by the method.
103
+ *
104
+ * Callers using `Mppx.validateCredential()` receive a challenge whose HMAC,
105
+ * expiry, route binding, and method identity have already been checked.
106
+ * Lower-level `Method.validateCredential()` callers must verify challenge
107
+ * issuance and route binding themselves.
108
+ */
109
+ challenge: Challenge.Challenge<z.output<method['schema']['request']>, method['intent'], method['name']>;
110
+ /**
111
+ * The submitted credential with its method-specific payload parsed by the
112
+ * selected method schema. This is the exact credential validation examined.
113
+ */
114
+ credential: Credential.Credential<z.output<method['schema']['credential']['payload']>, Challenge.Challenge<z.output<method['schema']['request']>, method['intent'], method['name']>>;
115
+ /**
116
+ * Method-defined, non-mutating validation data.
117
+ *
118
+ * Its shape is intentionally method-specific—for example, a recovered payer
119
+ * address or a simulation result. Consumers must not assume a particular
120
+ * shape or use it as a settlement receipt.
121
+ */
122
+ details: details;
123
+ /** The validated payment intent, repeated for convenient dispatch. */
124
+ intent: method['intent'];
125
+ /** The validated payment method, repeated for convenient dispatch. */
126
+ method: method['name'];
127
+ /**
128
+ * The validated method request after the method's schema transforms.
129
+ *
130
+ * For `Mppx.validateCredential()` with route options, this is the
131
+ * authoritative route request after defaults and request-hook transforms.
132
+ */
133
+ request: z.output<method['schema']['request']>;
134
+ /**
135
+ * Optional payer identity declared by the credential.
136
+ *
137
+ * This is an asserted identity, not independent proof of control; methods
138
+ * that rely on it must validate the relationship to the credential payload.
139
+ */
140
+ source?: string | undefined;
141
+ }>;
91
142
  /**
92
143
  * A server-side configured method with verification logic.
93
144
  */
@@ -100,8 +151,15 @@ export type Server<method extends Method = Method, defaults extends ExactPartial
100
151
  preflight?: PreflightFn<method> | undefined;
101
152
  request?: RequestFn<method> | undefined;
102
153
  respond?: RespondFn<method> | undefined;
154
+ broadcast?: BroadcastFn<method> | undefined;
103
155
  stableBinding?: StableBindingFn<method> | undefined;
104
156
  transport?: transportOverride | undefined;
157
+ validate?: ValidateFn<method> | undefined;
158
+ /**
159
+ * @deprecated Use `validate` for the non-mutating pre-check and `broadcast`
160
+ * for settlement. `verify` combines both operations and may consume payment
161
+ * state, so it cannot support a safe pre-check endpoint.
162
+ */
105
163
  verify: VerifyFn<method>;
106
164
  };
107
165
  export type AnyServer = Server<any, any, any, any, any>;
@@ -162,8 +220,40 @@ export type PreflightFn<method extends Method> = (parameters: {
162
220
  * default amount/currency/recipient binding used by generic methods.
163
221
  */
164
222
  export type StableBindingFn<method extends Method> = (request: z.output<method['schema']['request']>) => Record<string, unknown>;
165
- /** Verification function for a single method. */
223
+ /**
224
+ * Legacy combined validation and settlement function for a single method.
225
+ *
226
+ * @deprecated Implement `validate` and `broadcast` instead. `validate` must
227
+ * be non-mutating; `broadcast` performs the terminal payment operation. This
228
+ * hook remains only for existing methods that cannot yet split those phases.
229
+ */
166
230
  export type VerifyFn<method extends Method> = (parameters: VerifyContext<method>) => Promise<Receipt.Receipt>;
231
+ /**
232
+ * Non-mutating validation function for a single method.
233
+ *
234
+ * @returns A {@link Validation} record describing the credential that was
235
+ * accepted. It must not settle, reserve, or otherwise consume payment state.
236
+ */
237
+ export type ValidateFn<method extends Method> = (parameters: ValidateContext<method>) => Promise<Validation<method>>;
238
+ /** Terminal payment function for a single method. */
239
+ export type BroadcastFn<method extends Method> = (parameters: VerifyContext<method>) => Promise<Receipt.Receipt>;
240
+ /**
241
+ * Validates a credential against one of the configured methods.
242
+ *
243
+ * This checks credential structure, challenge expiry, and method-specific
244
+ * validation. It does not prove that the challenge was issued by a particular
245
+ * server; hosts that issue challenges must verify that binding separately.
246
+ */
247
+ export declare function validateCredential<const methods extends readonly AnyServer[]>(methods: methods, input: string | Credential.Credential): Promise<Validation<methods[number]>>;
248
+ /**
249
+ * Re-validates and performs the terminal payment operation for a credential.
250
+ *
251
+ * This does not prove that the challenge was issued by a particular server;
252
+ * hosts that issue challenges must verify that binding separately.
253
+ */
254
+ export declare function broadcastCredential<const methods extends readonly AnyServer[]>(methods: methods, input: string | Credential.Credential): Promise<Receipt.Receipt>;
255
+ /** @internal */
256
+ export declare function selectServerMethod(methods: readonly AnyServer[], challenge: Challenge.Challenge): AnyServer | undefined;
167
257
  /**
168
258
  * Optional respond function for a server-side method.
169
259
  *
@@ -239,7 +329,19 @@ export declare namespace toServer {
239
329
  respond?: RespondFn<method> | undefined;
240
330
  stableBinding?: StableBindingFn<method> | undefined;
241
331
  transport?: transportOverride | Transport.AnyTransport | undefined;
332
+ } & ({
333
+ broadcast: BroadcastFn<method>;
334
+ validate?: ValidateFn<method> | undefined;
335
+ verify?: undefined;
336
+ } | {
337
+ broadcast?: undefined;
338
+ validate?: undefined;
339
+ /**
340
+ * @deprecated Use `validate` and `broadcast` for new methods. This
341
+ * combined hook may mutate payment state and cannot power a safe
342
+ * validation-only endpoint.
343
+ */
242
344
  verify: VerifyFn<method>;
243
- };
345
+ });
244
346
  }
245
347
  //# sourceMappingURL=Method.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Method.d.ts","sourceRoot":"","sources":["../src/Method.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Method.d.ts","sourceRoot":"","sources":["../src/Method.ts"],"names":[],"mappings":"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"}
package/dist/Method.js CHANGED
@@ -1,3 +1,7 @@
1
+ import * as Constants from './Constants.js';
2
+ import * as Credential from './Credential.js';
3
+ import * as Errors from './Errors.js';
4
+ import * as Expires from './Expires.js';
1
5
  /**
2
6
  * Creates a payment method.
3
7
  *
@@ -28,6 +32,90 @@
28
32
  export function from(method) {
29
33
  return method;
30
34
  }
35
+ /**
36
+ * Validates a credential against one of the configured methods.
37
+ *
38
+ * This checks credential structure, challenge expiry, and method-specific
39
+ * validation. It does not prove that the challenge was issued by a particular
40
+ * server; hosts that issue challenges must verify that binding separately.
41
+ */
42
+ export async function validateCredential(methods, input) {
43
+ const prepared = prepareCredential(methods, input);
44
+ if (!prepared.method.validate)
45
+ throw new Errors.VerificationFailedError({
46
+ details: { intent: prepared.method.intent, method: prepared.method.name },
47
+ reason: `${prepared.method.name}/${prepared.method.intent} does not support non-mutating credential validation`,
48
+ });
49
+ return prepared.method.validate({
50
+ credential: prepared.credential,
51
+ request: prepared.request,
52
+ });
53
+ }
54
+ /**
55
+ * Re-validates and performs the terminal payment operation for a credential.
56
+ *
57
+ * This does not prove that the challenge was issued by a particular server;
58
+ * hosts that issue challenges must verify that binding separately.
59
+ */
60
+ export async function broadcastCredential(methods, input) {
61
+ const prepared = prepareCredential(methods, input);
62
+ const { method } = prepared;
63
+ if (method.broadcast && method.validate)
64
+ await method.validate({ credential: prepared.credential, request: prepared.request });
65
+ const broadcast = method.broadcast ?? method.verify;
66
+ return broadcast({ credential: prepared.credential, request: prepared.request });
67
+ }
68
+ /**
69
+ * Parses a submitted credential into the inputs required for method execution.
70
+ *
71
+ * Dispatch is based on the challenge method and intent. When more than one
72
+ * server method handles the same wire identity, session protocol details select
73
+ * the appropriate implementation. The helper then asserts challenge expiry and
74
+ * parses the method-specific credential payload before returning the selected
75
+ * method and the unmodified challenge request.
76
+ *
77
+ * This intentionally does not verify that the challenge was issued by a
78
+ * particular host, authorize the caller or requested resource, validate the
79
+ * method request, or invoke method lifecycle hooks. Hosts that issue challenges
80
+ * must verify their challenge binding before accepting the credential.
81
+ */
82
+ function prepareCredential(methods, input) {
83
+ const credential = typeof input === 'string' ? Credential.deserialize(input) : input;
84
+ const candidates = methods.filter((method) => method.name === credential.challenge.method && method.intent === credential.challenge.intent);
85
+ const method = selectServerMethod(candidates, credential.challenge);
86
+ if (!method)
87
+ throw new Errors.InvalidChallengeError({
88
+ id: credential.challenge.id,
89
+ reason: `no registered method for ${credential.challenge.method}/${credential.challenge.intent}`,
90
+ });
91
+ Expires.assert(credential.challenge.expires, credential.challenge.id);
92
+ let payload;
93
+ try {
94
+ payload = method.schema.credential.payload.parse(credential.payload);
95
+ }
96
+ catch (error) {
97
+ throw new Errors.InvalidPayloadError(error instanceof Error ? { reason: error.message } : {});
98
+ }
99
+ return {
100
+ credential: { ...credential, payload },
101
+ method,
102
+ request: credential.challenge.request,
103
+ };
104
+ }
105
+ /** @internal */
106
+ export function selectServerMethod(methods, challenge) {
107
+ if (methods.length <= 1)
108
+ return methods[0];
109
+ if (challenge.method !== Constants.Methods.tempo ||
110
+ challenge.intent !== Constants.Intents.session)
111
+ return methods[0];
112
+ const sessionProtocol = Constants.getMethodDetail(challenge.request.methodDetails, Constants.MethodDetailKeys.sessionProtocol);
113
+ if (sessionProtocol === undefined || sessionProtocol === Constants.SessionProtocols.v1)
114
+ return methods.find((method) => method.alias === 'sessionLegacy') ?? methods[0];
115
+ if (sessionProtocol === Constants.SessionProtocols.v2)
116
+ return methods.find((method) => method.alias === undefined) ?? methods[0];
117
+ return undefined;
118
+ }
31
119
  /**
32
120
  * Extends a method with client-side credential creation logic.
33
121
  *
@@ -69,7 +157,17 @@ export function toClient(method, options) {
69
157
  * ```
70
158
  */
71
159
  export function toServer(method, options) {
72
- const { alias, authorize, defaults, extensions, html, preflight, request, respond, stableBinding, transport, verify, } = options;
160
+ const { alias, authorize, defaults, extensions, html, preflight, request, respond, broadcast, stableBinding, transport, validate, verify, } = options;
161
+ const effectiveVerify = verify ??
162
+ (async (parameters) => {
163
+ if (validate)
164
+ await validate(parameters);
165
+ if (!broadcast)
166
+ throw new Errors.VerificationFailedError({
167
+ reason: `${method.name}/${method.intent} does not support credential broadcast`,
168
+ });
169
+ return broadcast(parameters);
170
+ });
73
171
  return {
74
172
  ...method,
75
173
  alias,
@@ -80,9 +178,11 @@ export function toServer(method, options) {
80
178
  preflight,
81
179
  request,
82
180
  respond,
181
+ broadcast,
83
182
  stableBinding,
84
183
  transport,
85
- verify,
184
+ validate,
185
+ verify: effectiveVerify,
86
186
  };
87
187
  }
88
188
  //# sourceMappingURL=Method.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Method.js","sourceRoot":"","sources":["../src/Method.ts"],"names":[],"mappings":"AAuBA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,IAAI,CAA8B,MAAc;IAC9D,OAAO,MAAM,CAAA;AACf,CAAC;AA8MD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,QAAQ,CAGtB,MAAc,EAAE,OAA0C;IAC1D,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAA;IACjE,OAAO;QACL,GAAG,MAAM;QACT,kBAAkB;QAClB,OAAO;QACP,gBAAgB;KACU,CAAA;AAC9B,CAAC;AAaD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,QAAQ,CAatB,MAAc,EACd,OAAgB;IAEhB,MAAM,EACJ,KAAK,EACL,SAAS,EACT,QAAQ,EACR,UAAU,EACV,IAAI,EACJ,SAAS,EACT,OAAO,EACP,OAAO,EACP,aAAa,EACb,SAAS,EACT,MAAM,GACP,GAAG,OAAO,CAAA;IACX,OAAO;QACL,GAAG,MAAM;QACT,KAAK;QACL,SAAS;QACT,QAAQ;QACR,UAAU;QACV,IAAI;QACJ,SAAS;QACT,OAAO;QACP,OAAO;QACP,aAAa;QACb,SAAS;QACT,MAAM;KAC6E,CAAA;AACvF,CAAC"}
1
+ {"version":3,"file":"Method.js","sourceRoot":"","sources":["../src/Method.ts"],"names":[],"mappings":"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"}