mppx 0.0.1 → 0.1.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 (446) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +195 -0
  3. package/dist/BodyDigest.d.ts +42 -0
  4. package/dist/BodyDigest.d.ts.map +1 -0
  5. package/dist/BodyDigest.js +40 -0
  6. package/dist/BodyDigest.js.map +1 -0
  7. package/dist/Challenge.d.ts +271 -0
  8. package/dist/Challenge.d.ts.map +1 -0
  9. package/dist/Challenge.js +291 -0
  10. package/dist/Challenge.js.map +1 -0
  11. package/dist/Credential.d.ts +91 -0
  12. package/dist/Credential.d.ts.map +1 -0
  13. package/dist/Credential.js +122 -0
  14. package/dist/Credential.js.map +1 -0
  15. package/dist/Errors.d.ts +243 -0
  16. package/dist/Errors.d.ts.map +1 -0
  17. package/dist/Errors.js +201 -0
  18. package/dist/Errors.js.map +1 -0
  19. package/dist/Expires.d.ts +15 -0
  20. package/dist/Expires.d.ts.map +1 -0
  21. package/dist/Expires.js +29 -0
  22. package/dist/Expires.js.map +1 -0
  23. package/dist/Intent.d.ts +101 -0
  24. package/dist/Intent.d.ts.map +1 -0
  25. package/dist/Intent.js +83 -0
  26. package/dist/Intent.js.map +1 -0
  27. package/dist/Mcp.d.ts +74 -0
  28. package/dist/Mcp.d.ts.map +1 -0
  29. package/dist/Mcp.js +9 -0
  30. package/dist/Mcp.js.map +1 -0
  31. package/dist/MethodIntent.d.ts +225 -0
  32. package/dist/MethodIntent.d.ts.map +1 -0
  33. package/dist/MethodIntent.js +156 -0
  34. package/dist/MethodIntent.js.map +1 -0
  35. package/dist/PaymentRequest.d.ts +88 -0
  36. package/dist/PaymentRequest.d.ts.map +1 -0
  37. package/dist/PaymentRequest.js +81 -0
  38. package/dist/PaymentRequest.js.map +1 -0
  39. package/dist/Receipt.d.ts +110 -0
  40. package/dist/Receipt.d.ts.map +1 -0
  41. package/dist/Receipt.js +105 -0
  42. package/dist/Receipt.js.map +1 -0
  43. package/dist/Store.d.ts +28 -0
  44. package/dist/Store.d.ts.map +1 -0
  45. package/dist/Store.js +61 -0
  46. package/dist/Store.js.map +1 -0
  47. package/dist/cli.d.ts +3 -0
  48. package/dist/cli.d.ts.map +1 -0
  49. package/dist/cli.js +1219 -0
  50. package/dist/cli.js.map +1 -0
  51. package/dist/client/Methods.d.ts +4 -0
  52. package/dist/client/Methods.d.ts.map +1 -0
  53. package/dist/client/Methods.js +4 -0
  54. package/dist/client/Methods.js.map +1 -0
  55. package/dist/client/Mppx.d.ts +84 -0
  56. package/dist/client/Mppx.d.ts.map +1 -0
  57. package/dist/client/Mppx.js +64 -0
  58. package/dist/client/Mppx.js.map +1 -0
  59. package/dist/client/Transport.d.ts +56 -0
  60. package/dist/client/Transport.d.ts.map +1 -0
  61. package/dist/client/Transport.js +81 -0
  62. package/dist/client/Transport.js.map +1 -0
  63. package/dist/client/index.d.ts +5 -0
  64. package/dist/client/index.d.ts.map +1 -0
  65. package/dist/client/index.js +5 -0
  66. package/dist/client/index.js.map +1 -0
  67. package/dist/client/internal/Fetch.d.ts +85 -0
  68. package/dist/client/internal/Fetch.d.ts.map +1 -0
  69. package/dist/client/internal/Fetch.js +95 -0
  70. package/dist/client/internal/Fetch.js.map +1 -0
  71. package/dist/index.d.ts +13 -0
  72. package/dist/index.d.ts.map +1 -0
  73. package/dist/index.js +13 -0
  74. package/dist/index.js.map +1 -0
  75. package/dist/internal/types.d.ts +302 -0
  76. package/dist/internal/types.d.ts.map +1 -0
  77. package/dist/internal/types.js +2 -0
  78. package/dist/internal/types.js.map +1 -0
  79. package/dist/mcp-sdk/client/McpClient.d.ts +78 -0
  80. package/dist/mcp-sdk/client/McpClient.d.ts.map +1 -0
  81. package/dist/mcp-sdk/client/McpClient.js +98 -0
  82. package/dist/mcp-sdk/client/McpClient.js.map +1 -0
  83. package/dist/mcp-sdk/client/index.d.ts +3 -0
  84. package/dist/mcp-sdk/client/index.d.ts.map +1 -0
  85. package/dist/mcp-sdk/client/index.js +3 -0
  86. package/dist/mcp-sdk/client/index.js.map +1 -0
  87. package/dist/mcp-sdk/server/Transport.d.ts +43 -0
  88. package/dist/mcp-sdk/server/Transport.d.ts.map +1 -0
  89. package/dist/mcp-sdk/server/Transport.js +71 -0
  90. package/dist/mcp-sdk/server/Transport.js.map +1 -0
  91. package/dist/mcp-sdk/server/index.d.ts +2 -0
  92. package/dist/mcp-sdk/server/index.d.ts.map +1 -0
  93. package/dist/mcp-sdk/server/index.js +2 -0
  94. package/dist/mcp-sdk/server/index.js.map +1 -0
  95. package/dist/middlewares/elysia.d.ts +51 -0
  96. package/dist/middlewares/elysia.d.ts.map +1 -0
  97. package/dist/middlewares/elysia.js +59 -0
  98. package/dist/middlewares/elysia.js.map +1 -0
  99. package/dist/middlewares/express.d.ts +46 -0
  100. package/dist/middlewares/express.d.ts.map +1 -0
  101. package/dist/middlewares/express.js +69 -0
  102. package/dist/middlewares/express.js.map +1 -0
  103. package/dist/middlewares/hono.d.ts +46 -0
  104. package/dist/middlewares/hono.d.ts.map +1 -0
  105. package/dist/middlewares/hono.js +57 -0
  106. package/dist/middlewares/hono.js.map +1 -0
  107. package/dist/middlewares/internal/mppx.d.ts +16 -0
  108. package/dist/middlewares/internal/mppx.d.ts.map +1 -0
  109. package/dist/middlewares/internal/mppx.js +16 -0
  110. package/dist/middlewares/internal/mppx.js.map +1 -0
  111. package/dist/middlewares/nextjs.d.ts +45 -0
  112. package/dist/middlewares/nextjs.d.ts.map +1 -0
  113. package/dist/middlewares/nextjs.js +57 -0
  114. package/dist/middlewares/nextjs.js.map +1 -0
  115. package/dist/proxy/Proxy.d.ts +47 -0
  116. package/dist/proxy/Proxy.d.ts.map +1 -0
  117. package/dist/proxy/Proxy.js +126 -0
  118. package/dist/proxy/Proxy.js.map +1 -0
  119. package/dist/proxy/Service.d.ts +100 -0
  120. package/dist/proxy/Service.d.ts.map +1 -0
  121. package/dist/proxy/Service.js +147 -0
  122. package/dist/proxy/Service.js.map +1 -0
  123. package/dist/proxy/index.d.ts +7 -0
  124. package/dist/proxy/index.d.ts.map +1 -0
  125. package/dist/proxy/index.js +7 -0
  126. package/dist/proxy/index.js.map +1 -0
  127. package/dist/proxy/internal/Headers.d.ts +3 -0
  128. package/dist/proxy/internal/Headers.d.ts.map +1 -0
  129. package/dist/proxy/internal/Headers.js +41 -0
  130. package/dist/proxy/internal/Headers.js.map +1 -0
  131. package/dist/proxy/internal/Route.d.ts +14 -0
  132. package/dist/proxy/internal/Route.d.ts.map +1 -0
  133. package/dist/proxy/internal/Route.js +47 -0
  134. package/dist/proxy/internal/Route.js.map +1 -0
  135. package/dist/proxy/services/anthropic.d.ts +29 -0
  136. package/dist/proxy/services/anthropic.d.ts.map +1 -0
  137. package/dist/proxy/services/anthropic.js +30 -0
  138. package/dist/proxy/services/anthropic.js.map +1 -0
  139. package/dist/proxy/services/openai.d.ts +29 -0
  140. package/dist/proxy/services/openai.d.ts.map +1 -0
  141. package/dist/proxy/services/openai.js +30 -0
  142. package/dist/proxy/services/openai.js.map +1 -0
  143. package/dist/proxy/services/stripe.d.ts +29 -0
  144. package/dist/proxy/services/stripe.d.ts.map +1 -0
  145. package/dist/proxy/services/stripe.js +30 -0
  146. package/dist/proxy/services/stripe.js.map +1 -0
  147. package/dist/server/Methods.d.ts +3 -0
  148. package/dist/server/Methods.d.ts.map +1 -0
  149. package/dist/server/Methods.js +3 -0
  150. package/dist/server/Methods.js.map +1 -0
  151. package/dist/server/Mppx.d.ts +116 -0
  152. package/dist/server/Mppx.d.ts.map +1 -0
  153. package/dist/server/Mppx.js +207 -0
  154. package/dist/server/Mppx.js.map +1 -0
  155. package/dist/server/NodeListener.d.ts +3 -0
  156. package/dist/server/NodeListener.d.ts.map +1 -0
  157. package/dist/server/NodeListener.js +3 -0
  158. package/dist/server/NodeListener.js.map +1 -0
  159. package/dist/server/Request.d.ts +24 -0
  160. package/dist/server/Request.d.ts.map +1 -0
  161. package/dist/server/Request.js +26 -0
  162. package/dist/server/Request.js.map +1 -0
  163. package/dist/server/Response.d.ts +10 -0
  164. package/dist/server/Response.d.ts.map +1 -0
  165. package/dist/server/Response.js +15 -0
  166. package/dist/server/Response.js.map +1 -0
  167. package/dist/server/Transport.d.ts +93 -0
  168. package/dist/server/Transport.d.ts.map +1 -0
  169. package/dist/server/Transport.js +132 -0
  170. package/dist/server/Transport.js.map +1 -0
  171. package/dist/server/index.d.ts +9 -0
  172. package/dist/server/index.d.ts.map +1 -0
  173. package/dist/server/index.js +9 -0
  174. package/dist/server/index.js.map +1 -0
  175. package/dist/stripe/Intents.d.ts +54 -0
  176. package/dist/stripe/Intents.d.ts.map +1 -0
  177. package/dist/stripe/Intents.js +27 -0
  178. package/dist/stripe/Intents.js.map +1 -0
  179. package/dist/stripe/client/Charge.d.ts +114 -0
  180. package/dist/stripe/client/Charge.d.ts.map +1 -0
  181. package/dist/stripe/client/Charge.js +77 -0
  182. package/dist/stripe/client/Charge.js.map +1 -0
  183. package/dist/stripe/client/MethodIntents.d.ts +80 -0
  184. package/dist/stripe/client/MethodIntents.d.ts.map +1 -0
  185. package/dist/stripe/client/MethodIntents.js +34 -0
  186. package/dist/stripe/client/MethodIntents.js.map +1 -0
  187. package/dist/stripe/client/index.d.ts +3 -0
  188. package/dist/stripe/client/index.d.ts.map +1 -0
  189. package/dist/stripe/client/index.js +3 -0
  190. package/dist/stripe/client/index.js.map +1 -0
  191. package/dist/stripe/index.d.ts +2 -0
  192. package/dist/stripe/index.d.ts.map +1 -0
  193. package/dist/stripe/index.js +2 -0
  194. package/dist/stripe/index.js.map +1 -0
  195. package/dist/stripe/server/Charge.d.ts +74 -0
  196. package/dist/stripe/server/Charge.d.ts.map +1 -0
  197. package/dist/stripe/server/Charge.js +79 -0
  198. package/dist/stripe/server/Charge.js.map +1 -0
  199. package/dist/stripe/server/MethodIntents.d.ts +65 -0
  200. package/dist/stripe/server/MethodIntents.d.ts.map +1 -0
  201. package/dist/stripe/server/MethodIntents.js +21 -0
  202. package/dist/stripe/server/MethodIntents.js.map +1 -0
  203. package/dist/stripe/server/index.d.ts +3 -0
  204. package/dist/stripe/server/index.d.ts.map +1 -0
  205. package/dist/stripe/server/index.js +3 -0
  206. package/dist/stripe/server/index.js.map +1 -0
  207. package/dist/tempo/Attribution.d.ts +101 -0
  208. package/dist/tempo/Attribution.d.ts.map +1 -0
  209. package/dist/tempo/Attribution.js +124 -0
  210. package/dist/tempo/Attribution.js.map +1 -0
  211. package/dist/tempo/Intents.d.ts +132 -0
  212. package/dist/tempo/Intents.d.ts.map +1 -0
  213. package/dist/tempo/Intents.js +81 -0
  214. package/dist/tempo/Intents.js.map +1 -0
  215. package/dist/tempo/client/ChannelOps.d.ts +54 -0
  216. package/dist/tempo/client/ChannelOps.d.ts.map +1 -0
  217. package/dist/tempo/client/ChannelOps.js +138 -0
  218. package/dist/tempo/client/ChannelOps.js.map +1 -0
  219. package/dist/tempo/client/Charge.d.ts +76 -0
  220. package/dist/tempo/client/Charge.d.ts.map +1 -0
  221. package/dist/tempo/client/Charge.js +69 -0
  222. package/dist/tempo/client/Charge.js.map +1 -0
  223. package/dist/tempo/client/MethodIntents.d.ts +157 -0
  224. package/dist/tempo/client/MethodIntents.d.ts.map +1 -0
  225. package/dist/tempo/client/MethodIntents.js +25 -0
  226. package/dist/tempo/client/MethodIntents.js.map +1 -0
  227. package/dist/tempo/client/Session.d.ts +159 -0
  228. package/dist/tempo/client/Session.d.ts.map +1 -0
  229. package/dist/tempo/client/Session.js +263 -0
  230. package/dist/tempo/client/Session.js.map +1 -0
  231. package/dist/tempo/client/SessionManager.d.ts +62 -0
  232. package/dist/tempo/client/SessionManager.d.ts.map +1 -0
  233. package/dist/tempo/client/SessionManager.js +196 -0
  234. package/dist/tempo/client/SessionManager.js.map +1 -0
  235. package/dist/tempo/client/index.d.ts +6 -0
  236. package/dist/tempo/client/index.d.ts.map +1 -0
  237. package/dist/tempo/client/index.js +5 -0
  238. package/dist/tempo/client/index.js.map +1 -0
  239. package/dist/tempo/index.d.ts +3 -0
  240. package/dist/tempo/index.d.ts.map +1 -0
  241. package/dist/tempo/index.js +3 -0
  242. package/dist/tempo/index.js.map +1 -0
  243. package/dist/tempo/internal/account.d.ts +32 -0
  244. package/dist/tempo/internal/account.d.ts.map +1 -0
  245. package/dist/tempo/internal/account.js +33 -0
  246. package/dist/tempo/internal/account.js.map +1 -0
  247. package/dist/tempo/internal/defaults.d.ts +18 -0
  248. package/dist/tempo/internal/defaults.d.ts.map +1 -0
  249. package/dist/tempo/internal/defaults.js +18 -0
  250. package/dist/tempo/internal/defaults.js.map +1 -0
  251. package/dist/tempo/internal/types.d.ts +11 -0
  252. package/dist/tempo/internal/types.d.ts.map +1 -0
  253. package/dist/tempo/internal/types.js +2 -0
  254. package/dist/tempo/internal/types.js.map +1 -0
  255. package/dist/tempo/server/Charge.d.ts +77 -0
  256. package/dist/tempo/server/Charge.d.ts.map +1 -0
  257. package/dist/tempo/server/Charge.js +228 -0
  258. package/dist/tempo/server/Charge.js.map +1 -0
  259. package/dist/tempo/server/MethodIntents.d.ts +140 -0
  260. package/dist/tempo/server/MethodIntents.d.ts.map +1 -0
  261. package/dist/tempo/server/MethodIntents.js +26 -0
  262. package/dist/tempo/server/MethodIntents.js.map +1 -0
  263. package/dist/tempo/server/Session.d.ts +148 -0
  264. package/dist/tempo/server/Session.d.ts.map +1 -0
  265. package/dist/tempo/server/Session.js +529 -0
  266. package/dist/tempo/server/Session.js.map +1 -0
  267. package/dist/tempo/server/internal/transport.d.ts +47 -0
  268. package/dist/tempo/server/internal/transport.d.ts.map +1 -0
  269. package/dist/tempo/server/internal/transport.js +118 -0
  270. package/dist/tempo/server/internal/transport.js.map +1 -0
  271. package/dist/tempo/stream/Chain.d.ts +52 -0
  272. package/dist/tempo/stream/Chain.d.ts.map +1 -0
  273. package/dist/tempo/stream/Chain.js +215 -0
  274. package/dist/tempo/stream/Chain.js.map +1 -0
  275. package/dist/tempo/stream/Channel.d.ts +26 -0
  276. package/dist/tempo/stream/Channel.d.ts.map +1 -0
  277. package/dist/tempo/stream/Channel.js +27 -0
  278. package/dist/tempo/stream/Channel.js.map +1 -0
  279. package/dist/tempo/stream/ChannelStore.d.ts +103 -0
  280. package/dist/tempo/stream/ChannelStore.d.ts.map +1 -0
  281. package/dist/tempo/stream/ChannelStore.js +100 -0
  282. package/dist/tempo/stream/ChannelStore.js.map +1 -0
  283. package/dist/tempo/stream/Receipt.d.ts +22 -0
  284. package/dist/tempo/stream/Receipt.d.ts.map +1 -0
  285. package/dist/tempo/stream/Receipt.js +34 -0
  286. package/dist/tempo/stream/Receipt.js.map +1 -0
  287. package/dist/tempo/stream/Sse.d.ts +134 -0
  288. package/dist/tempo/stream/Sse.d.ts.map +1 -0
  289. package/dist/tempo/stream/Sse.js +288 -0
  290. package/dist/tempo/stream/Sse.js.map +1 -0
  291. package/dist/tempo/stream/Types.d.ts +78 -0
  292. package/dist/tempo/stream/Types.d.ts.map +1 -0
  293. package/dist/tempo/stream/Types.js +2 -0
  294. package/dist/tempo/stream/Types.js.map +1 -0
  295. package/dist/tempo/stream/Voucher.d.ts +20 -0
  296. package/dist/tempo/stream/Voucher.d.ts.map +1 -0
  297. package/dist/tempo/stream/Voucher.js +98 -0
  298. package/dist/tempo/stream/Voucher.js.map +1 -0
  299. package/dist/tempo/stream/escrow.abi.d.ts +598 -0
  300. package/dist/tempo/stream/escrow.abi.d.ts.map +1 -0
  301. package/dist/tempo/stream/escrow.abi.js +760 -0
  302. package/dist/tempo/stream/escrow.abi.js.map +1 -0
  303. package/dist/tempo/stream/index.d.ts +8 -0
  304. package/dist/tempo/stream/index.d.ts.map +1 -0
  305. package/dist/tempo/stream/index.js +8 -0
  306. package/dist/tempo/stream/index.js.map +1 -0
  307. package/dist/viem/Account.d.ts +12 -0
  308. package/dist/viem/Account.d.ts.map +1 -0
  309. package/dist/viem/Account.js +14 -0
  310. package/dist/viem/Account.js.map +1 -0
  311. package/dist/viem/Client.d.ts +21 -0
  312. package/dist/viem/Client.d.ts.map +1 -0
  313. package/dist/viem/Client.js +19 -0
  314. package/dist/viem/Client.js.map +1 -0
  315. package/dist/zod.d.ts +17 -0
  316. package/dist/zod.d.ts.map +1 -0
  317. package/dist/zod.js +35 -0
  318. package/dist/zod.js.map +1 -0
  319. package/package.json +117 -4
  320. package/src/BodyDigest.test.ts +43 -0
  321. package/src/BodyDigest.ts +53 -0
  322. package/src/Challenge.test-d.ts +81 -0
  323. package/src/Challenge.test.ts +414 -0
  324. package/src/Challenge.ts +429 -0
  325. package/src/Credential.test.ts +227 -0
  326. package/src/Credential.ts +154 -0
  327. package/src/Errors.test.ts +402 -0
  328. package/src/Errors.ts +348 -0
  329. package/src/Expires.ts +34 -0
  330. package/src/Intent.test.ts +180 -0
  331. package/src/Intent.ts +109 -0
  332. package/src/Mcp.ts +81 -0
  333. package/src/MethodIntent.test.ts +303 -0
  334. package/src/MethodIntent.ts +388 -0
  335. package/src/PaymentRequest.test.ts +152 -0
  336. package/src/PaymentRequest.ts +107 -0
  337. package/src/Receipt.test.ts +98 -0
  338. package/src/Receipt.ts +129 -0
  339. package/src/Store.ts +84 -0
  340. package/src/cli.test.ts +542 -0
  341. package/src/cli.ts +1319 -0
  342. package/src/client/Methods.ts +3 -0
  343. package/src/client/Mppx.test-d.ts +90 -0
  344. package/src/client/Mppx.test.ts +468 -0
  345. package/src/client/Mppx.ts +149 -0
  346. package/src/client/Transport.test.ts +283 -0
  347. package/src/client/Transport.ts +115 -0
  348. package/src/client/index.ts +4 -0
  349. package/src/client/internal/Fetch.test-d.ts +57 -0
  350. package/src/client/internal/Fetch.test.ts +281 -0
  351. package/src/client/internal/Fetch.ts +157 -0
  352. package/src/env.d.ts +11 -0
  353. package/src/index.ts +12 -0
  354. package/src/internal/types.ts +403 -0
  355. package/src/mcp-sdk/client/McpClient.test-d.ts +109 -0
  356. package/src/mcp-sdk/client/McpClient.test.ts +219 -0
  357. package/src/mcp-sdk/client/McpClient.ts +187 -0
  358. package/src/mcp-sdk/client/index.ts +2 -0
  359. package/src/mcp-sdk/server/Transport.ts +94 -0
  360. package/src/mcp-sdk/server/index.ts +1 -0
  361. package/src/middlewares/elysia.ts +66 -0
  362. package/src/middlewares/express.test.ts +155 -0
  363. package/src/middlewares/express.ts +82 -0
  364. package/src/middlewares/hono.test.ts +148 -0
  365. package/src/middlewares/hono.ts +62 -0
  366. package/src/middlewares/internal/mppx.ts +30 -0
  367. package/src/middlewares/nextjs.test.ts +164 -0
  368. package/src/middlewares/nextjs.ts +66 -0
  369. package/src/proxy/Proxy.test.ts +472 -0
  370. package/src/proxy/Proxy.ts +175 -0
  371. package/src/proxy/Service.test.ts +125 -0
  372. package/src/proxy/Service.ts +227 -0
  373. package/src/proxy/index.ts +6 -0
  374. package/src/proxy/internal/Headers.test.ts +100 -0
  375. package/src/proxy/internal/Headers.ts +40 -0
  376. package/src/proxy/internal/Route.test.ts +143 -0
  377. package/src/proxy/internal/Route.ts +54 -0
  378. package/src/proxy/services/anthropic.ts +45 -0
  379. package/src/proxy/services/openai.test.ts +97 -0
  380. package/src/proxy/services/openai.ts +48 -0
  381. package/src/proxy/services/stripe.ts +49 -0
  382. package/src/server/Methods.ts +2 -0
  383. package/src/server/Mppx.test-d.ts +343 -0
  384. package/src/server/Mppx.test.ts +342 -0
  385. package/src/server/Mppx.ts +378 -0
  386. package/src/server/NodeListener.test.ts +188 -0
  387. package/src/server/NodeListener.ts +3 -0
  388. package/src/server/Request.test.ts +102 -0
  389. package/src/server/Request.ts +33 -0
  390. package/src/server/Response.test.ts +31 -0
  391. package/src/server/Response.ts +27 -0
  392. package/src/server/Transport.test.ts +294 -0
  393. package/src/server/Transport.ts +222 -0
  394. package/src/server/index.ts +8 -0
  395. package/src/stripe/Charge.integration.test.ts +326 -0
  396. package/src/stripe/Intents.test.ts +52 -0
  397. package/src/stripe/Intents.ts +27 -0
  398. package/src/stripe/client/Charge.ts +119 -0
  399. package/src/stripe/client/MethodIntents.ts +37 -0
  400. package/src/stripe/client/index.ts +2 -0
  401. package/src/stripe/index.ts +1 -0
  402. package/src/stripe/server/Charge.ts +121 -0
  403. package/src/stripe/server/MethodIntents.ts +24 -0
  404. package/src/stripe/server/index.ts +2 -0
  405. package/src/tempo/Attribution.test.ts +187 -0
  406. package/src/tempo/Attribution.ts +156 -0
  407. package/src/tempo/Intents.test.ts +84 -0
  408. package/src/tempo/Intents.ts +93 -0
  409. package/src/tempo/client/ChannelOps.ts +233 -0
  410. package/src/tempo/client/Charge.ts +84 -0
  411. package/src/tempo/client/MethodIntents.ts +28 -0
  412. package/src/tempo/client/Session.ts +369 -0
  413. package/src/tempo/client/SessionManager.test.ts +223 -0
  414. package/src/tempo/client/SessionManager.ts +270 -0
  415. package/src/tempo/client/index.ts +5 -0
  416. package/src/tempo/index.ts +2 -0
  417. package/src/tempo/internal/account.ts +47 -0
  418. package/src/tempo/internal/defaults.ts +20 -0
  419. package/src/tempo/internal/types.ts +8 -0
  420. package/src/tempo/server/Charge.test.ts +847 -0
  421. package/src/tempo/server/Charge.ts +309 -0
  422. package/src/tempo/server/MethodIntents.ts +29 -0
  423. package/src/tempo/server/Session.test.ts +1349 -0
  424. package/src/tempo/server/Session.ts +773 -0
  425. package/src/tempo/server/Sse.test.ts +289 -0
  426. package/src/tempo/server/index.ts +5 -0
  427. package/src/tempo/server/internal/transport.ts +153 -0
  428. package/src/tempo/stream/Chain.ts +333 -0
  429. package/src/tempo/stream/Channel.ts +50 -0
  430. package/src/tempo/stream/ChannelStore.test.ts +473 -0
  431. package/src/tempo/stream/ChannelStore.ts +202 -0
  432. package/src/tempo/stream/Receipt.test.ts +84 -0
  433. package/src/tempo/stream/Receipt.ts +45 -0
  434. package/src/tempo/stream/Sse.test.ts +401 -0
  435. package/src/tempo/stream/Sse.ts +375 -0
  436. package/src/tempo/stream/Types.ts +86 -0
  437. package/src/tempo/stream/Voucher.test.ts +134 -0
  438. package/src/tempo/stream/Voucher.ts +123 -0
  439. package/src/tempo/stream/escrow.abi.ts +759 -0
  440. package/src/tempo/stream/index.ts +7 -0
  441. package/src/tsconfig.json +10 -0
  442. package/src/viem/Account.test.ts +71 -0
  443. package/src/viem/Account.ts +30 -0
  444. package/src/viem/Client.test.ts +58 -0
  445. package/src/viem/Client.ts +33 -0
  446. package/src/zod.ts +47 -0
@@ -0,0 +1,62 @@
1
+ import type { Hex } from 'ox';
2
+ import type { Address } from 'viem';
3
+ import type * as Challenge from '../../Challenge.js';
4
+ import type * as Account from '../../viem/Account.js';
5
+ import type * as Client from '../../viem/Client.js';
6
+ import type { StreamReceipt } from '../stream/Types.js';
7
+ export type SessionManager = {
8
+ readonly channelId: Hex.Hex | undefined;
9
+ readonly cumulative: bigint;
10
+ readonly opened: boolean;
11
+ open(options?: {
12
+ deposit?: bigint;
13
+ }): Promise<void>;
14
+ fetch(input: RequestInfo | URL, init?: RequestInit): Promise<PaymentResponse>;
15
+ sse(input: RequestInfo | URL, init?: RequestInit & {
16
+ onReceipt?: ((receipt: StreamReceipt) => void) | undefined;
17
+ signal?: AbortSignal | undefined;
18
+ }): Promise<AsyncIterable<string>>;
19
+ close(): Promise<StreamReceipt | undefined>;
20
+ };
21
+ export type PaymentResponse = Response & {
22
+ receipt: StreamReceipt | null;
23
+ challenge: Challenge.Challenge | null;
24
+ channelId: Hex.Hex | null;
25
+ cumulative: bigint;
26
+ };
27
+ /**
28
+ * Creates a session manager that handles the full client payment lifecycle:
29
+ * channel open, incremental vouchers, SSE streaming, and channel close.
30
+ *
31
+ * Internally delegates to the `session()` MethodIntent plugin for all
32
+ * channel state management and credential creation, and to `Fetch.from`
33
+ * for the 402 challenge/retry flow.
34
+ *
35
+ * ## Session resumption
36
+ *
37
+ * All channel state is held **in memory**. If the client process restarts,
38
+ * the session is lost and a new on-chain channel will be opened on the next
39
+ * request — the previous channel's deposit is orphaned until manually closed.
40
+ *
41
+ * When the server includes a `channelId` in the 402 challenge `methodDetails`,
42
+ * the client will attempt to recover the channel by reading its on-chain state
43
+ * via `getOnChainChannel()`. If the channel has a positive deposit and is not
44
+ * finalized, it resumes from the on-chain settled amount.
45
+ */
46
+ export declare function sessionManager(parameters: sessionManager.Parameters): SessionManager;
47
+ export declare namespace sessionManager {
48
+ type Parameters = Account.getResolver.Parameters & Client.getResolver.Parameters & {
49
+ /** Address authorized to sign vouchers. Defaults to the account address. */
50
+ authorizedSigner?: Address | undefined;
51
+ /** Viem client instance. Shorthand for `getClient: () => client`. */
52
+ client?: import('viem').Client | undefined;
53
+ /** Token decimals used to convert `maxDeposit` to raw units. Defaults to `6`. */
54
+ decimals?: number | undefined;
55
+ /** Escrow contract address. */
56
+ escrowContract?: Address | undefined;
57
+ fetch?: typeof globalThis.fetch | undefined;
58
+ /** Maximum deposit in human-readable units (e.g. `'10'` for 10 tokens). Converted to raw units via `decimals`. */
59
+ maxDeposit?: string | undefined;
60
+ };
61
+ }
62
+ //# sourceMappingURL=SessionManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionManager.d.ts","sourceRoot":"","sources":["../../../src/tempo/client/SessionManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,IAAI,CAAA;AAC7B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,KAAK,KAAK,SAAS,MAAM,oBAAoB,CAAA;AAEpD,OAAO,KAAK,KAAK,OAAO,MAAM,uBAAuB,CAAA;AACrD,OAAO,KAAK,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAGnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAIvD,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,GAAG,SAAS,CAAA;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;IAExB,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACnD,KAAK,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;IAC7E,GAAG,CACD,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,CAAC,EAAE,WAAW,GAAG;QACnB,SAAS,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC,GAAG,SAAS,CAAA;QAC1D,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;KACjC,GACA,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAA;IACjC,KAAK,IAAI,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAA;CAC5C,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG;IACvC,OAAO,EAAE,aAAa,GAAG,IAAI,CAAA;IAC7B,SAAS,EAAE,SAAS,CAAC,SAAS,GAAG,IAAI,CAAA;IACrC,SAAS,EAAE,GAAG,CAAC,GAAG,GAAG,IAAI,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,UAAU,GAAG,cAAc,CAqMpF;AAED,MAAM,CAAC,OAAO,WAAW,cAAc,CAAC;IACtC,KAAK,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU,GAC9C,MAAM,CAAC,WAAW,CAAC,UAAU,GAAG;QAC9B,4EAA4E;QAC5E,gBAAgB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QACtC,qEAAqE;QACrE,MAAM,CAAC,EAAE,OAAO,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;QAC1C,iFAAiF;QACjF,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC7B,+BAA+B;QAC/B,cAAc,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QACpC,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,GAAG,SAAS,CAAA;QAC3C,kHAAkH;QAClH,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAChC,CAAA;CACJ"}
@@ -0,0 +1,196 @@
1
+ import * as Fetch from '../../client/internal/Fetch.js';
2
+ import { deserializeStreamReceipt } from '../stream/Receipt.js';
3
+ import { parseEvent } from '../stream/Sse.js';
4
+ import { session as sessionPlugin } from './Session.js';
5
+ /**
6
+ * Creates a session manager that handles the full client payment lifecycle:
7
+ * channel open, incremental vouchers, SSE streaming, and channel close.
8
+ *
9
+ * Internally delegates to the `session()` MethodIntent plugin for all
10
+ * channel state management and credential creation, and to `Fetch.from`
11
+ * for the 402 challenge/retry flow.
12
+ *
13
+ * ## Session resumption
14
+ *
15
+ * All channel state is held **in memory**. If the client process restarts,
16
+ * the session is lost and a new on-chain channel will be opened on the next
17
+ * request — the previous channel's deposit is orphaned until manually closed.
18
+ *
19
+ * When the server includes a `channelId` in the 402 challenge `methodDetails`,
20
+ * the client will attempt to recover the channel by reading its on-chain state
21
+ * via `getOnChainChannel()`. If the channel has a positive deposit and is not
22
+ * finalized, it resumes from the on-chain settled amount.
23
+ */
24
+ export function sessionManager(parameters) {
25
+ const fetchFn = parameters.fetch ?? globalThis.fetch;
26
+ let channel = null;
27
+ let lastChallenge = null;
28
+ let lastUrl = null;
29
+ const method = sessionPlugin({
30
+ account: parameters.account,
31
+ authorizedSigner: parameters.authorizedSigner,
32
+ getClient: parameters.client ? () => parameters.client : parameters.getClient,
33
+ escrowContract: parameters.escrowContract,
34
+ decimals: parameters.decimals,
35
+ maxDeposit: parameters.maxDeposit,
36
+ onChannelUpdate(entry) {
37
+ channel = entry;
38
+ },
39
+ });
40
+ const wrappedFetch = Fetch.from({
41
+ fetch: fetchFn,
42
+ methods: [method],
43
+ onChallenge(c) {
44
+ lastChallenge = c;
45
+ },
46
+ });
47
+ function toPaymentResponse(response) {
48
+ const receiptHeader = response.headers.get('Payment-Receipt');
49
+ const receipt = receiptHeader ? deserializeStreamReceipt(receiptHeader) : null;
50
+ return Object.assign(response, {
51
+ receipt,
52
+ challenge: lastChallenge,
53
+ channelId: channel?.channelId ?? null,
54
+ cumulative: channel?.cumulativeAmount ?? 0n,
55
+ });
56
+ }
57
+ async function doFetch(input, init) {
58
+ lastUrl = input;
59
+ const response = await wrappedFetch(input, init);
60
+ return toPaymentResponse(response);
61
+ }
62
+ const self = {
63
+ get channelId() {
64
+ return channel?.channelId;
65
+ },
66
+ get cumulative() {
67
+ return channel?.cumulativeAmount ?? 0n;
68
+ },
69
+ get opened() {
70
+ return channel?.opened ?? false;
71
+ },
72
+ async open(options) {
73
+ if (channel?.opened)
74
+ return;
75
+ if (!lastChallenge) {
76
+ throw new Error('No challenge available. Make a request first to receive a 402 challenge, or pass a challenge via .fetch()/.sse().');
77
+ }
78
+ const deposit = options?.deposit;
79
+ const credential = await method.createCredential({
80
+ challenge: lastChallenge,
81
+ context: {
82
+ ...(deposit !== undefined && { depositRaw: deposit.toString() }),
83
+ },
84
+ });
85
+ if (!lastUrl)
86
+ throw new Error('No URL available — call fetch() or sse() before open().');
87
+ const response = await fetchFn(lastUrl, {
88
+ method: 'POST',
89
+ headers: { Authorization: credential },
90
+ });
91
+ if (!response.ok) {
92
+ const body = await response.text().catch(() => '');
93
+ const wwwAuth = response.headers.get('WWW-Authenticate') ?? '';
94
+ throw new Error(`Open request failed with status ${response.status}${body ? `: ${body}` : ''}${wwwAuth ? ` [WWW-Authenticate: ${wwwAuth}]` : ''}`);
95
+ }
96
+ },
97
+ fetch: doFetch,
98
+ async sse(input, init) {
99
+ const { onReceipt, signal, ...fetchInit } = init ?? {};
100
+ const sseInit = {
101
+ ...fetchInit,
102
+ headers: {
103
+ ...fetchInit.headers,
104
+ Accept: 'text/event-stream',
105
+ },
106
+ };
107
+ const response = await doFetch(input, sseInit);
108
+ if (!response.body)
109
+ throw new Error('Response has no body.');
110
+ const reader = response.body.getReader();
111
+ const decoder = new TextDecoder();
112
+ async function* iterate() {
113
+ let buffer = '';
114
+ try {
115
+ while (true) {
116
+ if (signal?.aborted)
117
+ break;
118
+ const { done, value } = await reader.read();
119
+ if (done)
120
+ break;
121
+ buffer += decoder.decode(value, { stream: true });
122
+ const parts = buffer.split('\n\n');
123
+ buffer = parts.pop();
124
+ for (const part of parts) {
125
+ if (!part.trim())
126
+ continue;
127
+ const event = parseEvent(part);
128
+ if (!event)
129
+ continue;
130
+ switch (event.type) {
131
+ case 'message':
132
+ yield event.data;
133
+ break;
134
+ case 'payment-need-voucher': {
135
+ if (!channel || !lastChallenge)
136
+ break;
137
+ const required = BigInt(event.data.requiredCumulative);
138
+ channel.cumulativeAmount =
139
+ channel.cumulativeAmount > required ? channel.cumulativeAmount : required;
140
+ const credential = await method.createCredential({
141
+ challenge: lastChallenge,
142
+ context: {
143
+ action: 'voucher',
144
+ channelId: channel.channelId,
145
+ cumulativeAmountRaw: channel.cumulativeAmount.toString(),
146
+ },
147
+ });
148
+ const voucherResponse = await fetchFn(input, {
149
+ method: 'POST',
150
+ headers: { Authorization: credential },
151
+ });
152
+ if (!voucherResponse.ok) {
153
+ throw new Error(`Voucher POST failed with status ${voucherResponse.status}`);
154
+ }
155
+ break;
156
+ }
157
+ case 'payment-receipt':
158
+ onReceipt?.(event.data);
159
+ break;
160
+ }
161
+ }
162
+ }
163
+ }
164
+ finally {
165
+ reader.releaseLock();
166
+ }
167
+ }
168
+ return iterate();
169
+ },
170
+ async close() {
171
+ if (!channel?.opened || !lastChallenge)
172
+ return undefined;
173
+ const credential = await method.createCredential({
174
+ challenge: lastChallenge,
175
+ context: {
176
+ action: 'close',
177
+ channelId: channel.channelId,
178
+ cumulativeAmountRaw: channel.cumulativeAmount.toString(),
179
+ },
180
+ });
181
+ let receipt;
182
+ if (lastUrl) {
183
+ const response = await fetchFn(lastUrl, {
184
+ method: 'POST',
185
+ headers: { Authorization: credential },
186
+ });
187
+ const receiptHeader = response.headers.get('Payment-Receipt');
188
+ if (receiptHeader)
189
+ receipt = deserializeStreamReceipt(receiptHeader);
190
+ }
191
+ return receipt;
192
+ },
193
+ };
194
+ return self;
195
+ }
196
+ //# sourceMappingURL=SessionManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionManager.js","sourceRoot":"","sources":["../../../src/tempo/client/SessionManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export { charge } from './Charge.js';
2
+ export { tempo } from './MethodIntents.js';
3
+ export { session } from './Session.js';
4
+ export type { PaymentResponse, SessionManager } from './SessionManager.js';
5
+ export { sessionManager } from './SessionManager.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tempo/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA"}
@@ -0,0 +1,5 @@
1
+ export { charge } from './Charge.js';
2
+ export { tempo } from './MethodIntents.js';
3
+ export { session } from './Session.js';
4
+ export { sessionManager } from './SessionManager.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tempo/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * as MethodIntents from './Intents.js';
2
+ export * as Stream from './stream/index.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tempo/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,cAAc,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * as MethodIntents from './Intents.js';
2
+ export * as Stream from './stream/index.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tempo/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,cAAc,CAAA;AAC7C,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA"}
@@ -0,0 +1,32 @@
1
+ import type { Account, Address } from 'viem';
2
+ /**
3
+ * Resolves a recipient address and optional fee payer from flexible input parameters.
4
+ *
5
+ * Accepts either `account` or `recipient` as the parameter name. When the value
6
+ * is an `Account`, its address is extracted. If `feePayer` is `true`, the
7
+ * account also acts as the fee payer. Alternatively, a separate `Account`
8
+ * can be provided as the fee payer.
9
+ *
10
+ * @returns An object with `account`, `feePayer`, and `recipient`.
11
+ */
12
+ export declare function resolve(parameters: resolve.Parameters): {
13
+ account: Account | undefined;
14
+ feePayer: Account | undefined;
15
+ recipient: Address | undefined;
16
+ };
17
+ export declare namespace resolve {
18
+ type Parameters = {
19
+ recipient?: Address | undefined;
20
+ } & ({
21
+ /** Account that performs payment operations. */
22
+ account?: Account | undefined;
23
+ /** When true, the account also sponsors (pays) transaction fees. */
24
+ feePayer?: true | undefined;
25
+ } | {
26
+ /** Address that receives payment. */
27
+ account?: Address | undefined;
28
+ /** Optional fee payer account for covering transaction fees. */
29
+ feePayer?: Account | undefined;
30
+ });
31
+ }
32
+ //# sourceMappingURL=account.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/tempo/internal/account.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAE5C;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU;;;eAgBA,OAAO,GAAG,SAAS;EACxE;AAED,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B,KAAK,UAAU,GAAG;QAAE,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;KAAE,GAAG,CACpD;QACE,gDAAgD;QAChD,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QAC7B,oEAAoE;QACpE,QAAQ,CAAC,EAAE,IAAI,GAAG,SAAS,CAAA;KAC5B,GACD;QACE,qCAAqC;QACrC,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;QAC7B,gEAAgE;QAChE,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;KAC/B,CACJ,CAAA;CACF"}
@@ -0,0 +1,33 @@
1
+ /**
2
+ * Resolves a recipient address and optional fee payer from flexible input parameters.
3
+ *
4
+ * Accepts either `account` or `recipient` as the parameter name. When the value
5
+ * is an `Account`, its address is extracted. If `feePayer` is `true`, the
6
+ * account also acts as the fee payer. Alternatively, a separate `Account`
7
+ * can be provided as the fee payer.
8
+ *
9
+ * @returns An object with `account`, `feePayer`, and `recipient`.
10
+ */
11
+ export function resolve(parameters) {
12
+ const account = (() => {
13
+ if (typeof parameters.account === 'object')
14
+ return parameters.account;
15
+ return undefined;
16
+ })();
17
+ const recipient = (() => {
18
+ if (parameters.recipient)
19
+ return parameters.recipient;
20
+ if (typeof parameters.account === 'object')
21
+ return parameters.account.address;
22
+ return parameters.account;
23
+ })();
24
+ const feePayer = (() => {
25
+ if (typeof parameters.account === 'object' && parameters.feePayer === true)
26
+ return parameters.account;
27
+ if (typeof parameters.feePayer === 'object')
28
+ return parameters.feePayer;
29
+ return undefined;
30
+ })();
31
+ return { account, feePayer, recipient: recipient };
32
+ }
33
+ //# sourceMappingURL=account.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account.js","sourceRoot":"","sources":["../../../src/tempo/internal/account.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,MAAM,UAAU,OAAO,CAAC,UAA8B;IACpD,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE;QACpB,IAAI,OAAO,UAAU,CAAC,OAAO,KAAK,QAAQ;YAAE,OAAO,UAAU,CAAC,OAAO,CAAA;QACrE,OAAO,SAAS,CAAA;IAClB,CAAC,CAAC,EAAE,CAAA;IACJ,MAAM,SAAS,GAAG,CAAC,GAAG,EAAE;QACtB,IAAI,UAAU,CAAC,SAAS;YAAE,OAAO,UAAU,CAAC,SAAS,CAAA;QACrD,IAAI,OAAO,UAAU,CAAC,OAAO,KAAK,QAAQ;YAAE,OAAO,UAAU,CAAC,OAAO,CAAC,OAAO,CAAA;QAC7E,OAAO,UAAU,CAAC,OAAO,CAAA;IAC3B,CAAC,CAAC,EAAE,CAAA;IACJ,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE;QACrB,IAAI,OAAO,UAAU,CAAC,OAAO,KAAK,QAAQ,IAAI,UAAU,CAAC,QAAQ,KAAK,IAAI;YACxE,OAAO,UAAU,CAAC,OAAO,CAAA;QAC3B,IAAI,OAAO,UAAU,CAAC,QAAQ,KAAK,QAAQ;YAAE,OAAO,UAAU,CAAC,QAAQ,CAAA;QACvE,OAAO,SAAS,CAAA;IAClB,CAAC,CAAC,EAAE,CAAA;IACJ,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAgC,EAAE,CAAA;AAC3E,CAAC"}
@@ -0,0 +1,18 @@
1
+ export declare const rpcUrl: {
2
+ readonly 4217: "https://rpc.tempo.xyz";
3
+ readonly 42431: "https://rpc.moderato.tempo.xyz";
4
+ };
5
+ export declare const escrowContract: {
6
+ readonly 4217: "0x0901aED692C755b870F9605E56BAA66C35BEfF69";
7
+ readonly 42431: "0x542831e3E4Ace07559b7C8787395f4Fb99F70787";
8
+ };
9
+ export declare const testnetChainId = 42431;
10
+ /**
11
+ * Default token decimals for TIP-20 stablecoins (e.g. alphaUSD).
12
+ *
13
+ * All TIP-20 tokens on Tempo use 6 decimals, so there is no risk of
14
+ * client/server mismatch within the Tempo ecosystem. Other chains and
15
+ * runtimes should set `decimals` explicitly to match their token.
16
+ */
17
+ export declare const decimals = 6;
18
+ //# sourceMappingURL=defaults.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../src/tempo/internal/defaults.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,MAAM;;;CAGT,CAAA;AAEV,eAAO,MAAM,cAAc;;;CAGjB,CAAA;AAEV,eAAO,MAAM,cAAc,QAAQ,CAAA;AAEnC;;;;;;GAMG;AACH,eAAO,MAAM,QAAQ,IAAI,CAAA"}
@@ -0,0 +1,18 @@
1
+ export const rpcUrl = {
2
+ 4217: 'https://rpc.tempo.xyz',
3
+ 42431: 'https://rpc.moderato.tempo.xyz',
4
+ };
5
+ export const escrowContract = {
6
+ 4217: '0x0901aED692C755b870F9605E56BAA66C35BEfF69',
7
+ 42431: '0x542831e3E4Ace07559b7C8787395f4Fb99F70787',
8
+ };
9
+ export const testnetChainId = 42431;
10
+ /**
11
+ * Default token decimals for TIP-20 stablecoins (e.g. alphaUSD).
12
+ *
13
+ * All TIP-20 tokens on Tempo use 6 decimals, so there is no risk of
14
+ * client/server mismatch within the Tempo ecosystem. Other chains and
15
+ * runtimes should set `decimals` explicitly to match their token.
16
+ */
17
+ export const decimals = 6;
18
+ //# sourceMappingURL=defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/tempo/internal/defaults.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,IAAI,EAAE,uBAAuB;IAC7B,KAAK,EAAE,gCAAgC;CAC/B,CAAA;AAEV,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,IAAI,EAAE,4CAA4C;IAClD,KAAK,EAAE,4CAA4C;CAC3C,CAAA;AAEV,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAA;AAEnC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,CAAA"}
@@ -0,0 +1,11 @@
1
+ import type { Account } from 'viem';
2
+ export type DeriveDefaults<parameters, defaults> = Pick<parameters, Extract<keyof parameters, keyof defaults>> & (parameters extends {
3
+ account: Account | string;
4
+ } ? {
5
+ recipient: string;
6
+ } : {}) & (parameters extends {
7
+ recipient: string;
8
+ } ? {
9
+ recipient: string;
10
+ } : {});
11
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/tempo/internal/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC,MAAM,MAAM,cAAc,CAAC,UAAU,EAAE,QAAQ,IAAI,IAAI,CACrD,UAAU,EACV,OAAO,CAAC,MAAM,UAAU,EAAE,MAAM,QAAQ,CAAC,CAC1C,GACC,CAAC,UAAU,SAAS;IAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAAA;CAAE,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,EAAE,CAAC,GAC/E,CAAC,UAAU,SAAS;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,EAAE,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/tempo/internal/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,77 @@
1
+ import type { LooseOmit } from '../../internal/types.js';
2
+ import * as MethodIntent from '../../MethodIntent.js';
3
+ import * as Client from '../../viem/Client.js';
4
+ import * as Intents from '../Intents.js';
5
+ import * as Account from '../internal/account.js';
6
+ import type * as types from '../internal/types.js';
7
+ /**
8
+ * Creates a Tempo charge method intent for usage on the server.
9
+ *
10
+ * @example
11
+ * ```ts
12
+ * import { tempo } from 'mppx/server'
13
+ *
14
+ * const charge = tempo.charge()
15
+ * ```
16
+ */
17
+ export declare function charge<const parameters extends charge.Parameters>(parameters?: parameters): MethodIntent.Server<MethodIntent.MethodIntent<{
18
+ readonly name: "charge";
19
+ readonly schema: {
20
+ readonly request: import("zod/mini").ZodMiniPipe<import("zod/mini").ZodMiniObject<{
21
+ amount: import("zod/mini").ZodMiniString<string>;
22
+ currency: import("zod/mini").ZodMiniString<string>;
23
+ decimals: import("zod/mini").ZodMiniNumber<number>;
24
+ description: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniString<string>>;
25
+ expires: import("zod/mini").ZodMiniDefault<import("zod/mini").ZodMiniString<string>>;
26
+ externalId: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniString<string>>;
27
+ recipient: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniString<string>>;
28
+ }, import("zod/v4/core").$strip>, import("zod/mini").ZodMiniTransform<{
29
+ amount: string;
30
+ currency: string;
31
+ expires: string;
32
+ description?: string | undefined;
33
+ externalId?: string | undefined;
34
+ recipient?: string | undefined;
35
+ }, {
36
+ amount: string;
37
+ currency: string;
38
+ decimals: number;
39
+ expires: string;
40
+ description?: string | undefined;
41
+ externalId?: string | undefined;
42
+ recipient?: string | undefined;
43
+ }>>;
44
+ };
45
+ }, {
46
+ readonly method: "tempo";
47
+ readonly schema: {
48
+ readonly credential: {
49
+ readonly payload: import("zod/mini").ZodMiniDiscriminatedUnion<[import("zod/mini").ZodMiniObject<{
50
+ hash: import("zod/mini").ZodMiniString<string>;
51
+ type: import("zod/mini").ZodMiniLiteral<"hash">;
52
+ }, import("zod/v4/core").$strip>, import("zod/mini").ZodMiniObject<{
53
+ signature: import("zod/mini").ZodMiniString<string>;
54
+ type: import("zod/mini").ZodMiniLiteral<"transaction">;
55
+ }, import("zod/v4/core").$strip>], "type">;
56
+ };
57
+ readonly request: {
58
+ readonly methodDetails: import("zod/mini").ZodMiniObject<{
59
+ chainId: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniNumber<number>>;
60
+ feePayer: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniPipe<import("zod/mini").ZodMiniUnion<readonly [import("zod/mini").ZodMiniBoolean<boolean>, import("zod/mini").ZodMiniCustom<import("viem").Account, import("viem").Account>]>, import("zod/mini").ZodMiniTransform<boolean, boolean | import("viem").Account>>>;
61
+ memo: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniString<string>>;
62
+ }, import("zod/v4/core").$strip>;
63
+ readonly requires: readonly ["decimals", "recipient"];
64
+ };
65
+ };
66
+ }>, charge.DeriveDefaults<parameters>, undefined>;
67
+ export declare namespace charge {
68
+ type Defaults = LooseOmit<MethodIntent.RequestDefaults<typeof Intents.charge>, 'feePayer' | 'recipient'>;
69
+ type Parameters = {
70
+ /** Testnet mode. */
71
+ testnet?: boolean | undefined;
72
+ } & Client.getResolver.Parameters & Account.resolve.Parameters & Defaults;
73
+ type DeriveDefaults<parameters extends Parameters> = types.DeriveDefaults<parameters, Defaults> & {
74
+ decimals: number;
75
+ };
76
+ }
77
+ //# sourceMappingURL=Charge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Charge.d.ts","sourceRoot":"","sources":["../../../src/tempo/server/Charge.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,YAAY,MAAM,uBAAuB,CAAA;AACrD,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAC9C,OAAO,KAAK,OAAO,MAAM,eAAe,CAAA;AACxC,OAAO,KAAK,OAAO,MAAM,wBAAwB,CAAA;AAEjD,OAAO,KAAK,KAAK,KAAK,MAAM,sBAAsB,CAAA;AAUlD;;;;;;;;;GASG;AACH,wBAAgB,MAAM,CAAC,KAAK,CAAC,UAAU,SAAS,MAAM,CAAC,UAAU,EAC/D,UAAU,GAAE,UAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kDAkO1C;AAED,MAAM,CAAC,OAAO,WAAW,MAAM,CAAC;IAC9B,KAAK,QAAQ,GAAG,SAAS,CACvB,YAAY,CAAC,eAAe,CAAC,OAAO,OAAO,CAAC,MAAM,CAAC,EACnD,UAAU,GAAG,WAAW,CACzB,CAAA;IAED,KAAK,UAAU,GAAG;QAChB,oBAAoB;QACpB,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;KAC9B,GAAG,MAAM,CAAC,WAAW,CAAC,UAAU,GAC/B,OAAO,CAAC,OAAO,CAAC,UAAU,GAC1B,QAAQ,CAAA;IAEV,KAAK,cAAc,CAAC,UAAU,SAAS,UAAU,IAAI,KAAK,CAAC,cAAc,CACvE,UAAU,EACV,QAAQ,CACT,GAAG;QACF,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;CACF"}