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.
- package/LICENSE +21 -0
- package/README.md +195 -0
- package/dist/BodyDigest.d.ts +42 -0
- package/dist/BodyDigest.d.ts.map +1 -0
- package/dist/BodyDigest.js +40 -0
- package/dist/BodyDigest.js.map +1 -0
- package/dist/Challenge.d.ts +271 -0
- package/dist/Challenge.d.ts.map +1 -0
- package/dist/Challenge.js +291 -0
- package/dist/Challenge.js.map +1 -0
- package/dist/Credential.d.ts +91 -0
- package/dist/Credential.d.ts.map +1 -0
- package/dist/Credential.js +122 -0
- package/dist/Credential.js.map +1 -0
- package/dist/Errors.d.ts +243 -0
- package/dist/Errors.d.ts.map +1 -0
- package/dist/Errors.js +201 -0
- package/dist/Errors.js.map +1 -0
- package/dist/Expires.d.ts +15 -0
- package/dist/Expires.d.ts.map +1 -0
- package/dist/Expires.js +29 -0
- package/dist/Expires.js.map +1 -0
- package/dist/Intent.d.ts +101 -0
- package/dist/Intent.d.ts.map +1 -0
- package/dist/Intent.js +83 -0
- package/dist/Intent.js.map +1 -0
- package/dist/Mcp.d.ts +74 -0
- package/dist/Mcp.d.ts.map +1 -0
- package/dist/Mcp.js +9 -0
- package/dist/Mcp.js.map +1 -0
- package/dist/MethodIntent.d.ts +225 -0
- package/dist/MethodIntent.d.ts.map +1 -0
- package/dist/MethodIntent.js +156 -0
- package/dist/MethodIntent.js.map +1 -0
- package/dist/PaymentRequest.d.ts +88 -0
- package/dist/PaymentRequest.d.ts.map +1 -0
- package/dist/PaymentRequest.js +81 -0
- package/dist/PaymentRequest.js.map +1 -0
- package/dist/Receipt.d.ts +110 -0
- package/dist/Receipt.d.ts.map +1 -0
- package/dist/Receipt.js +105 -0
- package/dist/Receipt.js.map +1 -0
- package/dist/Store.d.ts +28 -0
- package/dist/Store.d.ts.map +1 -0
- package/dist/Store.js +61 -0
- package/dist/Store.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +1219 -0
- package/dist/cli.js.map +1 -0
- package/dist/client/Methods.d.ts +4 -0
- package/dist/client/Methods.d.ts.map +1 -0
- package/dist/client/Methods.js +4 -0
- package/dist/client/Methods.js.map +1 -0
- package/dist/client/Mppx.d.ts +84 -0
- package/dist/client/Mppx.d.ts.map +1 -0
- package/dist/client/Mppx.js +64 -0
- package/dist/client/Mppx.js.map +1 -0
- package/dist/client/Transport.d.ts +56 -0
- package/dist/client/Transport.d.ts.map +1 -0
- package/dist/client/Transport.js +81 -0
- package/dist/client/Transport.js.map +1 -0
- package/dist/client/index.d.ts +5 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +5 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/internal/Fetch.d.ts +85 -0
- package/dist/client/internal/Fetch.d.ts.map +1 -0
- package/dist/client/internal/Fetch.js +95 -0
- package/dist/client/internal/Fetch.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/types.d.ts +302 -0
- package/dist/internal/types.d.ts.map +1 -0
- package/dist/internal/types.js +2 -0
- package/dist/internal/types.js.map +1 -0
- package/dist/mcp-sdk/client/McpClient.d.ts +78 -0
- package/dist/mcp-sdk/client/McpClient.d.ts.map +1 -0
- package/dist/mcp-sdk/client/McpClient.js +98 -0
- package/dist/mcp-sdk/client/McpClient.js.map +1 -0
- package/dist/mcp-sdk/client/index.d.ts +3 -0
- package/dist/mcp-sdk/client/index.d.ts.map +1 -0
- package/dist/mcp-sdk/client/index.js +3 -0
- package/dist/mcp-sdk/client/index.js.map +1 -0
- package/dist/mcp-sdk/server/Transport.d.ts +43 -0
- package/dist/mcp-sdk/server/Transport.d.ts.map +1 -0
- package/dist/mcp-sdk/server/Transport.js +71 -0
- package/dist/mcp-sdk/server/Transport.js.map +1 -0
- package/dist/mcp-sdk/server/index.d.ts +2 -0
- package/dist/mcp-sdk/server/index.d.ts.map +1 -0
- package/dist/mcp-sdk/server/index.js +2 -0
- package/dist/mcp-sdk/server/index.js.map +1 -0
- package/dist/middlewares/elysia.d.ts +51 -0
- package/dist/middlewares/elysia.d.ts.map +1 -0
- package/dist/middlewares/elysia.js +59 -0
- package/dist/middlewares/elysia.js.map +1 -0
- package/dist/middlewares/express.d.ts +46 -0
- package/dist/middlewares/express.d.ts.map +1 -0
- package/dist/middlewares/express.js +69 -0
- package/dist/middlewares/express.js.map +1 -0
- package/dist/middlewares/hono.d.ts +46 -0
- package/dist/middlewares/hono.d.ts.map +1 -0
- package/dist/middlewares/hono.js +57 -0
- package/dist/middlewares/hono.js.map +1 -0
- package/dist/middlewares/internal/mppx.d.ts +16 -0
- package/dist/middlewares/internal/mppx.d.ts.map +1 -0
- package/dist/middlewares/internal/mppx.js +16 -0
- package/dist/middlewares/internal/mppx.js.map +1 -0
- package/dist/middlewares/nextjs.d.ts +45 -0
- package/dist/middlewares/nextjs.d.ts.map +1 -0
- package/dist/middlewares/nextjs.js +57 -0
- package/dist/middlewares/nextjs.js.map +1 -0
- package/dist/proxy/Proxy.d.ts +47 -0
- package/dist/proxy/Proxy.d.ts.map +1 -0
- package/dist/proxy/Proxy.js +126 -0
- package/dist/proxy/Proxy.js.map +1 -0
- package/dist/proxy/Service.d.ts +100 -0
- package/dist/proxy/Service.d.ts.map +1 -0
- package/dist/proxy/Service.js +147 -0
- package/dist/proxy/Service.js.map +1 -0
- package/dist/proxy/index.d.ts +7 -0
- package/dist/proxy/index.d.ts.map +1 -0
- package/dist/proxy/index.js +7 -0
- package/dist/proxy/index.js.map +1 -0
- package/dist/proxy/internal/Headers.d.ts +3 -0
- package/dist/proxy/internal/Headers.d.ts.map +1 -0
- package/dist/proxy/internal/Headers.js +41 -0
- package/dist/proxy/internal/Headers.js.map +1 -0
- package/dist/proxy/internal/Route.d.ts +14 -0
- package/dist/proxy/internal/Route.d.ts.map +1 -0
- package/dist/proxy/internal/Route.js +47 -0
- package/dist/proxy/internal/Route.js.map +1 -0
- package/dist/proxy/services/anthropic.d.ts +29 -0
- package/dist/proxy/services/anthropic.d.ts.map +1 -0
- package/dist/proxy/services/anthropic.js +30 -0
- package/dist/proxy/services/anthropic.js.map +1 -0
- package/dist/proxy/services/openai.d.ts +29 -0
- package/dist/proxy/services/openai.d.ts.map +1 -0
- package/dist/proxy/services/openai.js +30 -0
- package/dist/proxy/services/openai.js.map +1 -0
- package/dist/proxy/services/stripe.d.ts +29 -0
- package/dist/proxy/services/stripe.d.ts.map +1 -0
- package/dist/proxy/services/stripe.js +30 -0
- package/dist/proxy/services/stripe.js.map +1 -0
- package/dist/server/Methods.d.ts +3 -0
- package/dist/server/Methods.d.ts.map +1 -0
- package/dist/server/Methods.js +3 -0
- package/dist/server/Methods.js.map +1 -0
- package/dist/server/Mppx.d.ts +116 -0
- package/dist/server/Mppx.d.ts.map +1 -0
- package/dist/server/Mppx.js +207 -0
- package/dist/server/Mppx.js.map +1 -0
- package/dist/server/NodeListener.d.ts +3 -0
- package/dist/server/NodeListener.d.ts.map +1 -0
- package/dist/server/NodeListener.js +3 -0
- package/dist/server/NodeListener.js.map +1 -0
- package/dist/server/Request.d.ts +24 -0
- package/dist/server/Request.d.ts.map +1 -0
- package/dist/server/Request.js +26 -0
- package/dist/server/Request.js.map +1 -0
- package/dist/server/Response.d.ts +10 -0
- package/dist/server/Response.d.ts.map +1 -0
- package/dist/server/Response.js +15 -0
- package/dist/server/Response.js.map +1 -0
- package/dist/server/Transport.d.ts +93 -0
- package/dist/server/Transport.d.ts.map +1 -0
- package/dist/server/Transport.js +132 -0
- package/dist/server/Transport.js.map +1 -0
- package/dist/server/index.d.ts +9 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +9 -0
- package/dist/server/index.js.map +1 -0
- package/dist/stripe/Intents.d.ts +54 -0
- package/dist/stripe/Intents.d.ts.map +1 -0
- package/dist/stripe/Intents.js +27 -0
- package/dist/stripe/Intents.js.map +1 -0
- package/dist/stripe/client/Charge.d.ts +114 -0
- package/dist/stripe/client/Charge.d.ts.map +1 -0
- package/dist/stripe/client/Charge.js +77 -0
- package/dist/stripe/client/Charge.js.map +1 -0
- package/dist/stripe/client/MethodIntents.d.ts +80 -0
- package/dist/stripe/client/MethodIntents.d.ts.map +1 -0
- package/dist/stripe/client/MethodIntents.js +34 -0
- package/dist/stripe/client/MethodIntents.js.map +1 -0
- package/dist/stripe/client/index.d.ts +3 -0
- package/dist/stripe/client/index.d.ts.map +1 -0
- package/dist/stripe/client/index.js +3 -0
- package/dist/stripe/client/index.js.map +1 -0
- package/dist/stripe/index.d.ts +2 -0
- package/dist/stripe/index.d.ts.map +1 -0
- package/dist/stripe/index.js +2 -0
- package/dist/stripe/index.js.map +1 -0
- package/dist/stripe/server/Charge.d.ts +74 -0
- package/dist/stripe/server/Charge.d.ts.map +1 -0
- package/dist/stripe/server/Charge.js +79 -0
- package/dist/stripe/server/Charge.js.map +1 -0
- package/dist/stripe/server/MethodIntents.d.ts +65 -0
- package/dist/stripe/server/MethodIntents.d.ts.map +1 -0
- package/dist/stripe/server/MethodIntents.js +21 -0
- package/dist/stripe/server/MethodIntents.js.map +1 -0
- package/dist/stripe/server/index.d.ts +3 -0
- package/dist/stripe/server/index.d.ts.map +1 -0
- package/dist/stripe/server/index.js +3 -0
- package/dist/stripe/server/index.js.map +1 -0
- package/dist/tempo/Attribution.d.ts +101 -0
- package/dist/tempo/Attribution.d.ts.map +1 -0
- package/dist/tempo/Attribution.js +124 -0
- package/dist/tempo/Attribution.js.map +1 -0
- package/dist/tempo/Intents.d.ts +132 -0
- package/dist/tempo/Intents.d.ts.map +1 -0
- package/dist/tempo/Intents.js +81 -0
- package/dist/tempo/Intents.js.map +1 -0
- package/dist/tempo/client/ChannelOps.d.ts +54 -0
- package/dist/tempo/client/ChannelOps.d.ts.map +1 -0
- package/dist/tempo/client/ChannelOps.js +138 -0
- package/dist/tempo/client/ChannelOps.js.map +1 -0
- package/dist/tempo/client/Charge.d.ts +76 -0
- package/dist/tempo/client/Charge.d.ts.map +1 -0
- package/dist/tempo/client/Charge.js +69 -0
- package/dist/tempo/client/Charge.js.map +1 -0
- package/dist/tempo/client/MethodIntents.d.ts +157 -0
- package/dist/tempo/client/MethodIntents.d.ts.map +1 -0
- package/dist/tempo/client/MethodIntents.js +25 -0
- package/dist/tempo/client/MethodIntents.js.map +1 -0
- package/dist/tempo/client/Session.d.ts +159 -0
- package/dist/tempo/client/Session.d.ts.map +1 -0
- package/dist/tempo/client/Session.js +263 -0
- package/dist/tempo/client/Session.js.map +1 -0
- package/dist/tempo/client/SessionManager.d.ts +62 -0
- package/dist/tempo/client/SessionManager.d.ts.map +1 -0
- package/dist/tempo/client/SessionManager.js +196 -0
- package/dist/tempo/client/SessionManager.js.map +1 -0
- package/dist/tempo/client/index.d.ts +6 -0
- package/dist/tempo/client/index.d.ts.map +1 -0
- package/dist/tempo/client/index.js +5 -0
- package/dist/tempo/client/index.js.map +1 -0
- package/dist/tempo/index.d.ts +3 -0
- package/dist/tempo/index.d.ts.map +1 -0
- package/dist/tempo/index.js +3 -0
- package/dist/tempo/index.js.map +1 -0
- package/dist/tempo/internal/account.d.ts +32 -0
- package/dist/tempo/internal/account.d.ts.map +1 -0
- package/dist/tempo/internal/account.js +33 -0
- package/dist/tempo/internal/account.js.map +1 -0
- package/dist/tempo/internal/defaults.d.ts +18 -0
- package/dist/tempo/internal/defaults.d.ts.map +1 -0
- package/dist/tempo/internal/defaults.js +18 -0
- package/dist/tempo/internal/defaults.js.map +1 -0
- package/dist/tempo/internal/types.d.ts +11 -0
- package/dist/tempo/internal/types.d.ts.map +1 -0
- package/dist/tempo/internal/types.js +2 -0
- package/dist/tempo/internal/types.js.map +1 -0
- package/dist/tempo/server/Charge.d.ts +77 -0
- package/dist/tempo/server/Charge.d.ts.map +1 -0
- package/dist/tempo/server/Charge.js +228 -0
- package/dist/tempo/server/Charge.js.map +1 -0
- package/dist/tempo/server/MethodIntents.d.ts +140 -0
- package/dist/tempo/server/MethodIntents.d.ts.map +1 -0
- package/dist/tempo/server/MethodIntents.js +26 -0
- package/dist/tempo/server/MethodIntents.js.map +1 -0
- package/dist/tempo/server/Session.d.ts +148 -0
- package/dist/tempo/server/Session.d.ts.map +1 -0
- package/dist/tempo/server/Session.js +529 -0
- package/dist/tempo/server/Session.js.map +1 -0
- package/dist/tempo/server/internal/transport.d.ts +47 -0
- package/dist/tempo/server/internal/transport.d.ts.map +1 -0
- package/dist/tempo/server/internal/transport.js +118 -0
- package/dist/tempo/server/internal/transport.js.map +1 -0
- package/dist/tempo/stream/Chain.d.ts +52 -0
- package/dist/tempo/stream/Chain.d.ts.map +1 -0
- package/dist/tempo/stream/Chain.js +215 -0
- package/dist/tempo/stream/Chain.js.map +1 -0
- package/dist/tempo/stream/Channel.d.ts +26 -0
- package/dist/tempo/stream/Channel.d.ts.map +1 -0
- package/dist/tempo/stream/Channel.js +27 -0
- package/dist/tempo/stream/Channel.js.map +1 -0
- package/dist/tempo/stream/ChannelStore.d.ts +103 -0
- package/dist/tempo/stream/ChannelStore.d.ts.map +1 -0
- package/dist/tempo/stream/ChannelStore.js +100 -0
- package/dist/tempo/stream/ChannelStore.js.map +1 -0
- package/dist/tempo/stream/Receipt.d.ts +22 -0
- package/dist/tempo/stream/Receipt.d.ts.map +1 -0
- package/dist/tempo/stream/Receipt.js +34 -0
- package/dist/tempo/stream/Receipt.js.map +1 -0
- package/dist/tempo/stream/Sse.d.ts +134 -0
- package/dist/tempo/stream/Sse.d.ts.map +1 -0
- package/dist/tempo/stream/Sse.js +288 -0
- package/dist/tempo/stream/Sse.js.map +1 -0
- package/dist/tempo/stream/Types.d.ts +78 -0
- package/dist/tempo/stream/Types.d.ts.map +1 -0
- package/dist/tempo/stream/Types.js +2 -0
- package/dist/tempo/stream/Types.js.map +1 -0
- package/dist/tempo/stream/Voucher.d.ts +20 -0
- package/dist/tempo/stream/Voucher.d.ts.map +1 -0
- package/dist/tempo/stream/Voucher.js +98 -0
- package/dist/tempo/stream/Voucher.js.map +1 -0
- package/dist/tempo/stream/escrow.abi.d.ts +598 -0
- package/dist/tempo/stream/escrow.abi.d.ts.map +1 -0
- package/dist/tempo/stream/escrow.abi.js +760 -0
- package/dist/tempo/stream/escrow.abi.js.map +1 -0
- package/dist/tempo/stream/index.d.ts +8 -0
- package/dist/tempo/stream/index.d.ts.map +1 -0
- package/dist/tempo/stream/index.js +8 -0
- package/dist/tempo/stream/index.js.map +1 -0
- package/dist/viem/Account.d.ts +12 -0
- package/dist/viem/Account.d.ts.map +1 -0
- package/dist/viem/Account.js +14 -0
- package/dist/viem/Account.js.map +1 -0
- package/dist/viem/Client.d.ts +21 -0
- package/dist/viem/Client.d.ts.map +1 -0
- package/dist/viem/Client.js +19 -0
- package/dist/viem/Client.js.map +1 -0
- package/dist/zod.d.ts +17 -0
- package/dist/zod.d.ts.map +1 -0
- package/dist/zod.js +35 -0
- package/dist/zod.js.map +1 -0
- package/package.json +117 -4
- package/src/BodyDigest.test.ts +43 -0
- package/src/BodyDigest.ts +53 -0
- package/src/Challenge.test-d.ts +81 -0
- package/src/Challenge.test.ts +414 -0
- package/src/Challenge.ts +429 -0
- package/src/Credential.test.ts +227 -0
- package/src/Credential.ts +154 -0
- package/src/Errors.test.ts +402 -0
- package/src/Errors.ts +348 -0
- package/src/Expires.ts +34 -0
- package/src/Intent.test.ts +180 -0
- package/src/Intent.ts +109 -0
- package/src/Mcp.ts +81 -0
- package/src/MethodIntent.test.ts +303 -0
- package/src/MethodIntent.ts +388 -0
- package/src/PaymentRequest.test.ts +152 -0
- package/src/PaymentRequest.ts +107 -0
- package/src/Receipt.test.ts +98 -0
- package/src/Receipt.ts +129 -0
- package/src/Store.ts +84 -0
- package/src/cli.test.ts +542 -0
- package/src/cli.ts +1319 -0
- package/src/client/Methods.ts +3 -0
- package/src/client/Mppx.test-d.ts +90 -0
- package/src/client/Mppx.test.ts +468 -0
- package/src/client/Mppx.ts +149 -0
- package/src/client/Transport.test.ts +283 -0
- package/src/client/Transport.ts +115 -0
- package/src/client/index.ts +4 -0
- package/src/client/internal/Fetch.test-d.ts +57 -0
- package/src/client/internal/Fetch.test.ts +281 -0
- package/src/client/internal/Fetch.ts +157 -0
- package/src/env.d.ts +11 -0
- package/src/index.ts +12 -0
- package/src/internal/types.ts +403 -0
- package/src/mcp-sdk/client/McpClient.test-d.ts +109 -0
- package/src/mcp-sdk/client/McpClient.test.ts +219 -0
- package/src/mcp-sdk/client/McpClient.ts +187 -0
- package/src/mcp-sdk/client/index.ts +2 -0
- package/src/mcp-sdk/server/Transport.ts +94 -0
- package/src/mcp-sdk/server/index.ts +1 -0
- package/src/middlewares/elysia.ts +66 -0
- package/src/middlewares/express.test.ts +155 -0
- package/src/middlewares/express.ts +82 -0
- package/src/middlewares/hono.test.ts +148 -0
- package/src/middlewares/hono.ts +62 -0
- package/src/middlewares/internal/mppx.ts +30 -0
- package/src/middlewares/nextjs.test.ts +164 -0
- package/src/middlewares/nextjs.ts +66 -0
- package/src/proxy/Proxy.test.ts +472 -0
- package/src/proxy/Proxy.ts +175 -0
- package/src/proxy/Service.test.ts +125 -0
- package/src/proxy/Service.ts +227 -0
- package/src/proxy/index.ts +6 -0
- package/src/proxy/internal/Headers.test.ts +100 -0
- package/src/proxy/internal/Headers.ts +40 -0
- package/src/proxy/internal/Route.test.ts +143 -0
- package/src/proxy/internal/Route.ts +54 -0
- package/src/proxy/services/anthropic.ts +45 -0
- package/src/proxy/services/openai.test.ts +97 -0
- package/src/proxy/services/openai.ts +48 -0
- package/src/proxy/services/stripe.ts +49 -0
- package/src/server/Methods.ts +2 -0
- package/src/server/Mppx.test-d.ts +343 -0
- package/src/server/Mppx.test.ts +342 -0
- package/src/server/Mppx.ts +378 -0
- package/src/server/NodeListener.test.ts +188 -0
- package/src/server/NodeListener.ts +3 -0
- package/src/server/Request.test.ts +102 -0
- package/src/server/Request.ts +33 -0
- package/src/server/Response.test.ts +31 -0
- package/src/server/Response.ts +27 -0
- package/src/server/Transport.test.ts +294 -0
- package/src/server/Transport.ts +222 -0
- package/src/server/index.ts +8 -0
- package/src/stripe/Charge.integration.test.ts +326 -0
- package/src/stripe/Intents.test.ts +52 -0
- package/src/stripe/Intents.ts +27 -0
- package/src/stripe/client/Charge.ts +119 -0
- package/src/stripe/client/MethodIntents.ts +37 -0
- package/src/stripe/client/index.ts +2 -0
- package/src/stripe/index.ts +1 -0
- package/src/stripe/server/Charge.ts +121 -0
- package/src/stripe/server/MethodIntents.ts +24 -0
- package/src/stripe/server/index.ts +2 -0
- package/src/tempo/Attribution.test.ts +187 -0
- package/src/tempo/Attribution.ts +156 -0
- package/src/tempo/Intents.test.ts +84 -0
- package/src/tempo/Intents.ts +93 -0
- package/src/tempo/client/ChannelOps.ts +233 -0
- package/src/tempo/client/Charge.ts +84 -0
- package/src/tempo/client/MethodIntents.ts +28 -0
- package/src/tempo/client/Session.ts +369 -0
- package/src/tempo/client/SessionManager.test.ts +223 -0
- package/src/tempo/client/SessionManager.ts +270 -0
- package/src/tempo/client/index.ts +5 -0
- package/src/tempo/index.ts +2 -0
- package/src/tempo/internal/account.ts +47 -0
- package/src/tempo/internal/defaults.ts +20 -0
- package/src/tempo/internal/types.ts +8 -0
- package/src/tempo/server/Charge.test.ts +847 -0
- package/src/tempo/server/Charge.ts +309 -0
- package/src/tempo/server/MethodIntents.ts +29 -0
- package/src/tempo/server/Session.test.ts +1349 -0
- package/src/tempo/server/Session.ts +773 -0
- package/src/tempo/server/Sse.test.ts +289 -0
- package/src/tempo/server/index.ts +5 -0
- package/src/tempo/server/internal/transport.ts +153 -0
- package/src/tempo/stream/Chain.ts +333 -0
- package/src/tempo/stream/Channel.ts +50 -0
- package/src/tempo/stream/ChannelStore.test.ts +473 -0
- package/src/tempo/stream/ChannelStore.ts +202 -0
- package/src/tempo/stream/Receipt.test.ts +84 -0
- package/src/tempo/stream/Receipt.ts +45 -0
- package/src/tempo/stream/Sse.test.ts +401 -0
- package/src/tempo/stream/Sse.ts +375 -0
- package/src/tempo/stream/Types.ts +86 -0
- package/src/tempo/stream/Voucher.test.ts +134 -0
- package/src/tempo/stream/Voucher.ts +123 -0
- package/src/tempo/stream/escrow.abi.ts +759 -0
- package/src/tempo/stream/index.ts +7 -0
- package/src/tsconfig.json +10 -0
- package/src/viem/Account.test.ts +71 -0
- package/src/viem/Account.ts +30 -0
- package/src/viem/Client.test.ts +58 -0
- package/src/viem/Client.ts +33 -0
- package/src/zod.ts +47 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaymentRequest.d.ts","sourceRoot":"","sources":["../src/PaymentRequest.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACtD,OAAO,KAAK,KAAK,CAAC,MAAM,UAAU,CAAA;AAElC;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,OAAO,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IACnF,OAAO,CAAC,OAAO,CAAC,CAAA;AAElB;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGpD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,IAAI,CAAC,KAAK,CAAC,OAAO,SAAS,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAE7E;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,UAAU,CAAC,KAAK,CAAC,MAAM,SAAS,YAAY,CAAC,YAAY,EACvE,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,GAC5C,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAEhD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAGlD"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { Base64 } from 'ox';
|
|
2
|
+
/**
|
|
3
|
+
* Deserializes a base64url string to a request.
|
|
4
|
+
*
|
|
5
|
+
* @param encoded - The base64url-encoded string.
|
|
6
|
+
* @returns The deserialized request.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* import { Request } from 'mppx'
|
|
11
|
+
*
|
|
12
|
+
* const request = Request.deserialize(serialized)
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export function deserialize(encoded) {
|
|
16
|
+
const json = Base64.toString(encoded);
|
|
17
|
+
return JSON.parse(json);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Creates a request from the given parameters.
|
|
21
|
+
*
|
|
22
|
+
* @param request - Request parameters.
|
|
23
|
+
* @returns A request.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```ts
|
|
27
|
+
* import { Request } from 'mppx'
|
|
28
|
+
*
|
|
29
|
+
* const request = Request.from({
|
|
30
|
+
* amount: '1000000',
|
|
31
|
+
* currency: '0x20c0000000000000000000000000000000000001',
|
|
32
|
+
* recipient: '0x742d35Cc6634C0532925a3b844Bc9e7595f8fE00',
|
|
33
|
+
* })
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export function from(request) {
|
|
37
|
+
return request;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Creates a validated request from a method intent.
|
|
41
|
+
*
|
|
42
|
+
* @param intent - The method intent to validate against.
|
|
43
|
+
* @param request - Request parameters.
|
|
44
|
+
* @returns A validated request.
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```ts
|
|
48
|
+
* import { Request } from 'mppx'
|
|
49
|
+
* import { Intents } from 'mppx/tempo'
|
|
50
|
+
*
|
|
51
|
+
* const request = Request.fromIntent(Intents.charge, {
|
|
52
|
+
* amount: '1000000',
|
|
53
|
+
* currency: '0x20c0000000000000000000000000000000000001',
|
|
54
|
+
* recipient: '0x742d35Cc6634C0532925a3b844Bc9e7595f8fE00',
|
|
55
|
+
* expires: '2025-01-06T12:00:00Z',
|
|
56
|
+
* chainId: 42431,
|
|
57
|
+
* })
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
export function fromIntent(intent, request) {
|
|
61
|
+
return intent.schema.request.parse(request);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Serializes a request to a base64url string.
|
|
65
|
+
*
|
|
66
|
+
* @param request - The request to serialize.
|
|
67
|
+
* @returns A base64url-encoded string (no padding).
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* ```ts
|
|
71
|
+
* import { Request } from 'mppx'
|
|
72
|
+
*
|
|
73
|
+
* const serialized = Request.serialize(request)
|
|
74
|
+
* // => "eyJhbW91bnQiOiIxMDAwMDAwIiwiY3VycmVuY3kiOiIweC4uLiJ9"
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
export function serialize(request) {
|
|
78
|
+
const json = JSON.stringify(request);
|
|
79
|
+
return Base64.fromString(json, { pad: false, url: true });
|
|
80
|
+
}
|
|
81
|
+
//# sourceMappingURL=PaymentRequest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaymentRequest.js","sourceRoot":"","sources":["../src/PaymentRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAA;AAsB3B;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IACrC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,IAAI,CAAgC,OAAgB;IAClE,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,UAAU,CACxB,MAAc,EACd,OAA6C;IAE7C,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAmD,CAAA;AAC/F,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,SAAS,CAAC,OAAgB;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IACpC,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAA;AAC3D,CAAC"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import * as z from './zod.js';
|
|
2
|
+
/**
|
|
3
|
+
* Schema for a payment receipt.
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```ts
|
|
7
|
+
* import { Receipt } from 'mppx'
|
|
8
|
+
*
|
|
9
|
+
* const receipt = Receipt.Schema.parse(data)
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
export declare const Schema: z.ZodMiniObject<{
|
|
13
|
+
/** Payment method used (e.g., "tempo", "stripe"). */
|
|
14
|
+
method: z.ZodMiniString<string>;
|
|
15
|
+
/** Method-specific reference (e.g., transaction hash). */
|
|
16
|
+
reference: z.ZodMiniString<string>;
|
|
17
|
+
/** Optional external reference ID echoed from the credential payload. */
|
|
18
|
+
externalId: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
19
|
+
/** Payment status. Always "success" — failures use 402 + Problem Details. */
|
|
20
|
+
status: z.ZodMiniLiteral<"success">;
|
|
21
|
+
/** RFC 3339 settlement timestamp. */
|
|
22
|
+
timestamp: z.ZodMiniString<string>;
|
|
23
|
+
}, z.core.$strip>;
|
|
24
|
+
/**
|
|
25
|
+
* Payment receipt returned after verification.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```ts
|
|
29
|
+
* import { Receipt } from 'mppx'
|
|
30
|
+
*
|
|
31
|
+
* const receipt: Receipt.Receipt = {
|
|
32
|
+
* method: 'tempo',
|
|
33
|
+
* status: 'success',
|
|
34
|
+
* timestamp: new Date().toISOString(),
|
|
35
|
+
* reference: '0x...',
|
|
36
|
+
* }
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export type Receipt = z.infer<typeof Schema>;
|
|
40
|
+
/**
|
|
41
|
+
* Deserializes a Payment-Receipt header value to a receipt.
|
|
42
|
+
*
|
|
43
|
+
* @param encoded - The base64url-encoded header value.
|
|
44
|
+
* @returns The deserialized receipt.
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```ts
|
|
48
|
+
* import { Receipt } from 'mppx'
|
|
49
|
+
*
|
|
50
|
+
* const receipt = Receipt.deserialize(encoded)
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export declare function deserialize(encoded: string): Receipt;
|
|
54
|
+
/**
|
|
55
|
+
* Creates a receipt from the given parameters.
|
|
56
|
+
*
|
|
57
|
+
* @param parameters - Receipt parameters.
|
|
58
|
+
* @returns A receipt.
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```ts
|
|
62
|
+
* import { Receipt } from 'mppx'
|
|
63
|
+
*
|
|
64
|
+
* const receipt = Receipt.from({
|
|
65
|
+
* method: 'tempo',
|
|
66
|
+
* status: 'success',
|
|
67
|
+
* timestamp: new Date().toISOString(),
|
|
68
|
+
* reference: '0x...',
|
|
69
|
+
* })
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
export declare function from(parameters: from.Parameters): Receipt;
|
|
73
|
+
export declare namespace from {
|
|
74
|
+
type Parameters = z.input<typeof Schema>;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Serializes a receipt to the Payment-Receipt header format.
|
|
78
|
+
*
|
|
79
|
+
* @param receipt - The receipt to serialize.
|
|
80
|
+
* @returns A base64url-encoded string suitable for the Payment-Receipt header value.
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* ```ts
|
|
84
|
+
* import { Receipt } from 'mppx'
|
|
85
|
+
*
|
|
86
|
+
* const header = Receipt.serialize(receipt)
|
|
87
|
+
* // => "eyJzdGF0dXMiOiJzdWNjZXNzIiwidGltZXN0YW1wIjoi..."
|
|
88
|
+
* ```
|
|
89
|
+
*/
|
|
90
|
+
export declare function serialize(receipt: Receipt): string;
|
|
91
|
+
/**
|
|
92
|
+
* Extracts the receipt from a Response's Payment-Receipt header.
|
|
93
|
+
*
|
|
94
|
+
* @param response - The HTTP response.
|
|
95
|
+
* @returns The deserialized receipt.
|
|
96
|
+
*
|
|
97
|
+
* @example
|
|
98
|
+
* ```ts
|
|
99
|
+
* import { Receipt } from 'mppx'
|
|
100
|
+
*
|
|
101
|
+
* const response = await fetch('/resource', {
|
|
102
|
+
* headers: { Authorization: Credential.serialize(credential) },
|
|
103
|
+
* })
|
|
104
|
+
* if (response.ok) {
|
|
105
|
+
* const receipt = Receipt.fromResponse(response)
|
|
106
|
+
* }
|
|
107
|
+
* ```
|
|
108
|
+
*/
|
|
109
|
+
export declare function fromResponse(response: Response): Receipt;
|
|
110
|
+
//# sourceMappingURL=Receipt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Receipt.d.ts","sourceRoot":"","sources":["../src/Receipt.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAE7B;;;;;;;;;GASG;AACH,eAAO,MAAM,MAAM;IACjB,qDAAqD;;IAErD,0DAA0D;;IAE1D,yEAAyE;;IAEzE,6EAA6E;;IAE7E,qCAAqC;;iBAErC,CAAA;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,CAAA;AAE5C;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGpD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,GAAG,OAAO,CAEzD;AAED,MAAM,CAAC,OAAO,WAAW,IAAI,CAAC;IAC5B,KAAK,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,CAAA;CACzC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAGlD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAIxD"}
|
package/dist/Receipt.js
ADDED
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { Base64 } from 'ox';
|
|
2
|
+
import * as z from './zod.js';
|
|
3
|
+
/**
|
|
4
|
+
* Schema for a payment receipt.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```ts
|
|
8
|
+
* import { Receipt } from 'mppx'
|
|
9
|
+
*
|
|
10
|
+
* const receipt = Receipt.Schema.parse(data)
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
export const Schema = z.object({
|
|
14
|
+
/** Payment method used (e.g., "tempo", "stripe"). */
|
|
15
|
+
method: z.string(),
|
|
16
|
+
/** Method-specific reference (e.g., transaction hash). */
|
|
17
|
+
reference: z.string(),
|
|
18
|
+
/** Optional external reference ID echoed from the credential payload. */
|
|
19
|
+
externalId: z.optional(z.string()),
|
|
20
|
+
/** Payment status. Always "success" — failures use 402 + Problem Details. */
|
|
21
|
+
status: z.literal('success'),
|
|
22
|
+
/** RFC 3339 settlement timestamp. */
|
|
23
|
+
timestamp: z.datetime(),
|
|
24
|
+
});
|
|
25
|
+
/**
|
|
26
|
+
* Deserializes a Payment-Receipt header value to a receipt.
|
|
27
|
+
*
|
|
28
|
+
* @param encoded - The base64url-encoded header value.
|
|
29
|
+
* @returns The deserialized receipt.
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```ts
|
|
33
|
+
* import { Receipt } from 'mppx'
|
|
34
|
+
*
|
|
35
|
+
* const receipt = Receipt.deserialize(encoded)
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export function deserialize(encoded) {
|
|
39
|
+
const json = Base64.toString(encoded);
|
|
40
|
+
return from(JSON.parse(json));
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Creates a receipt from the given parameters.
|
|
44
|
+
*
|
|
45
|
+
* @param parameters - Receipt parameters.
|
|
46
|
+
* @returns A receipt.
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```ts
|
|
50
|
+
* import { Receipt } from 'mppx'
|
|
51
|
+
*
|
|
52
|
+
* const receipt = Receipt.from({
|
|
53
|
+
* method: 'tempo',
|
|
54
|
+
* status: 'success',
|
|
55
|
+
* timestamp: new Date().toISOString(),
|
|
56
|
+
* reference: '0x...',
|
|
57
|
+
* })
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
export function from(parameters) {
|
|
61
|
+
return Schema.parse(parameters);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Serializes a receipt to the Payment-Receipt header format.
|
|
65
|
+
*
|
|
66
|
+
* @param receipt - The receipt to serialize.
|
|
67
|
+
* @returns A base64url-encoded string suitable for the Payment-Receipt header value.
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* ```ts
|
|
71
|
+
* import { Receipt } from 'mppx'
|
|
72
|
+
*
|
|
73
|
+
* const header = Receipt.serialize(receipt)
|
|
74
|
+
* // => "eyJzdGF0dXMiOiJzdWNjZXNzIiwidGltZXN0YW1wIjoi..."
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
export function serialize(receipt) {
|
|
78
|
+
const json = JSON.stringify(receipt);
|
|
79
|
+
return Base64.fromString(json, { pad: false, url: true });
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Extracts the receipt from a Response's Payment-Receipt header.
|
|
83
|
+
*
|
|
84
|
+
* @param response - The HTTP response.
|
|
85
|
+
* @returns The deserialized receipt.
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* ```ts
|
|
89
|
+
* import { Receipt } from 'mppx'
|
|
90
|
+
*
|
|
91
|
+
* const response = await fetch('/resource', {
|
|
92
|
+
* headers: { Authorization: Credential.serialize(credential) },
|
|
93
|
+
* })
|
|
94
|
+
* if (response.ok) {
|
|
95
|
+
* const receipt = Receipt.fromResponse(response)
|
|
96
|
+
* }
|
|
97
|
+
* ```
|
|
98
|
+
*/
|
|
99
|
+
export function fromResponse(response) {
|
|
100
|
+
const header = response.headers.get('Payment-Receipt');
|
|
101
|
+
if (!header)
|
|
102
|
+
throw new Error('Missing Payment-Receipt header.');
|
|
103
|
+
return deserialize(header);
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=Receipt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Receipt.js","sourceRoot":"","sources":["../src/Receipt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAA;AAC3B,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAE7B;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7B,qDAAqD;IACrD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,0DAA0D;IAC1D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,yEAAyE;IACzE,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,6EAA6E;IAC7E,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC5B,qCAAqC;IACrC,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE;CACxB,CAAC,CAAA;AAmBF;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IACrC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;AAC/B,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,IAAI,CAAC,UAA2B;IAC9C,OAAO,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;AACjC,CAAC;AAMD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,SAAS,CAAC,OAAgB;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;IACpC,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAA;AAC3D,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,YAAY,CAAC,QAAkB;IAC7C,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;IACtD,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;IAC/D,OAAO,WAAW,CAAC,MAAM,CAAC,CAAA;AAC5B,CAAC"}
|
package/dist/Store.d.ts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export type Store = {
|
|
2
|
+
get: <value = unknown>(key: string) => Promise<value | null>;
|
|
3
|
+
put: (key: string, value: unknown) => Promise<void>;
|
|
4
|
+
delete: (key: string) => Promise<void>;
|
|
5
|
+
};
|
|
6
|
+
/** Creates a {@link Store} from an existing implementation. */
|
|
7
|
+
export declare function from<store extends Store>(store: store): store;
|
|
8
|
+
/** Wraps a Cloudflare KV namespace. */
|
|
9
|
+
export declare function cloudflare(kv: cloudflare.Parameters): Store;
|
|
10
|
+
export declare namespace cloudflare {
|
|
11
|
+
type Parameters = {
|
|
12
|
+
get: (key: string) => Promise<unknown>;
|
|
13
|
+
put: (key: string, value: string) => Promise<void>;
|
|
14
|
+
delete: (key: string) => Promise<void>;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
/** In-memory store backed by a `Map`. JSON-roundtrips values to match production behavior. */
|
|
18
|
+
export declare function memory(): Store;
|
|
19
|
+
/** Wraps an Upstash Redis instance (e.g. Vercel KV). */
|
|
20
|
+
export declare function upstash(redis: upstash.Parameters): Store;
|
|
21
|
+
export declare namespace upstash {
|
|
22
|
+
type Parameters = {
|
|
23
|
+
get: (key: string) => Promise<unknown>;
|
|
24
|
+
set: (key: string, value: unknown) => Promise<unknown>;
|
|
25
|
+
del: (key: string) => Promise<unknown>;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=Store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Store.d.ts","sourceRoot":"","sources":["../src/Store.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,KAAK,GAAG;IAClB,GAAG,EAAE,CAAC,KAAK,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAA;IAC5D,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACnD,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACvC,CAAA;AAED,+DAA+D;AAC/D,wBAAgB,IAAI,CAAC,KAAK,SAAS,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,CAE7D;AAED,uCAAuC;AACvC,wBAAgB,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,UAAU,GAAG,KAAK,CAc3D;AAED,MAAM,CAAC,OAAO,WAAW,UAAU,CAAC;IAClC,KAAY,UAAU,GAAG;QACvB,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;QACtC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;QAClD,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;KACvC,CAAA;CACF;AAED,8FAA8F;AAC9F,wBAAgB,MAAM,IAAI,KAAK,CAe9B;AAED,wDAAwD;AACxD,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,GAAG,KAAK,CAYxD;AAED,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B,KAAY,UAAU,GAAG;QACvB,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;QACtC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;QACtD,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;KACvC,CAAA;CACF"}
|
package/dist/Store.js
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Async key-value store interface.
|
|
3
|
+
*
|
|
4
|
+
* Modeled after Cloudflare KV's API (`get`/`put`/`delete`).
|
|
5
|
+
* Implementations handle serialization internally.
|
|
6
|
+
*/
|
|
7
|
+
import { Json } from 'ox';
|
|
8
|
+
/** Creates a {@link Store} from an existing implementation. */
|
|
9
|
+
export function from(store) {
|
|
10
|
+
return store;
|
|
11
|
+
}
|
|
12
|
+
/** Wraps a Cloudflare KV namespace. */
|
|
13
|
+
export function cloudflare(kv) {
|
|
14
|
+
return from({
|
|
15
|
+
async get(key) {
|
|
16
|
+
const raw = await kv.get(key);
|
|
17
|
+
if (raw == null)
|
|
18
|
+
return null;
|
|
19
|
+
return Json.parse(raw);
|
|
20
|
+
},
|
|
21
|
+
async put(key, value) {
|
|
22
|
+
await kv.put(key, Json.stringify(value));
|
|
23
|
+
},
|
|
24
|
+
async delete(key) {
|
|
25
|
+
await kv.delete(key);
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
/** In-memory store backed by a `Map`. JSON-roundtrips values to match production behavior. */
|
|
30
|
+
export function memory() {
|
|
31
|
+
const store = new Map();
|
|
32
|
+
return from({
|
|
33
|
+
async get(key) {
|
|
34
|
+
const raw = store.get(key);
|
|
35
|
+
if (raw === undefined)
|
|
36
|
+
return null;
|
|
37
|
+
return Json.parse(raw);
|
|
38
|
+
},
|
|
39
|
+
async put(key, value) {
|
|
40
|
+
store.set(key, Json.stringify(value));
|
|
41
|
+
},
|
|
42
|
+
async delete(key) {
|
|
43
|
+
store.delete(key);
|
|
44
|
+
},
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
/** Wraps an Upstash Redis instance (e.g. Vercel KV). */
|
|
48
|
+
export function upstash(redis) {
|
|
49
|
+
return from({
|
|
50
|
+
async get(key) {
|
|
51
|
+
return (await redis.get(key));
|
|
52
|
+
},
|
|
53
|
+
async put(key, value) {
|
|
54
|
+
await redis.set(key, value);
|
|
55
|
+
},
|
|
56
|
+
async delete(key) {
|
|
57
|
+
await redis.del(key);
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=Store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Store.js","sourceRoot":"","sources":["../src/Store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAA;AAQzB,+DAA+D;AAC/D,MAAM,UAAU,IAAI,CAAsB,KAAY;IACpD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,uCAAuC;AACvC,MAAM,UAAU,UAAU,CAAC,EAAyB;IAClD,OAAO,IAAI,CAAC;QACV,KAAK,CAAC,GAAG,CAAC,GAAG;YACX,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAC7B,IAAI,GAAG,IAAI,IAAI;gBAAE,OAAO,IAAW,CAAA;YACnC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAa,CAAC,CAAA;QAClC,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK;YAClB,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;QAC1C,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,GAAG;YACd,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACtB,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAUD,8FAA8F;AAC9F,MAAM,UAAU,MAAM;IACpB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAkB,CAAA;IACvC,OAAO,IAAI,CAAC;QACV,KAAK,CAAC,GAAG,CAAC,GAAG;YACX,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAC1B,IAAI,GAAG,KAAK,SAAS;gBAAE,OAAO,IAAW,CAAA;YACzC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK;YAClB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAA;QACvC,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,GAAG;YACd,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACnB,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,OAAO,CAAC,KAAyB;IAC/C,OAAO,IAAI,CAAC;QACV,KAAK,CAAC,GAAG,CAAC,GAAG;YACX,OAAO,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAQ,CAAA;QACtC,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK;YAClB,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAC7B,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,GAAG;YACd,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACtB,CAAC;KACF,CAAC,CAAA;AACJ,CAAC"}
|
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":""}
|