mppx 0.8.15 → 0.8.18
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/CHANGELOG.md +91 -0
- package/README.md +15 -0
- package/dist/Challenge.js +61 -39
- package/dist/Constants.d.ts +17 -17
- package/dist/Errors.d.ts +3 -3
- package/dist/Method.d.ts +35 -5
- package/dist/Method.js +7 -22
- package/dist/Store.d.ts +19 -0
- package/dist/Store.js +43 -0
- package/dist/attestation/Client.d.ts +17 -0
- package/dist/attestation/Client.js +28 -0
- package/dist/attestation/Constants.d.ts +15 -0
- package/dist/attestation/Constants.js +15 -0
- package/dist/attestation/Server.d.ts +4 -0
- package/dist/attestation/Server.js +8 -0
- package/dist/attestation/Types.d.ts +76 -0
- package/dist/attestation/Types.js +2 -0
- package/dist/attestation/index.d.ts +6 -0
- package/dist/attestation/index.js +6 -0
- package/dist/attestation/internal/HttpMessageSignature.d.ts +73 -0
- package/dist/attestation/internal/HttpMessageSignature.js +320 -0
- package/dist/attestation/internal/SigningContext.d.ts +4 -0
- package/dist/attestation/internal/SigningContext.js +11 -0
- package/dist/bin.js +3 -3
- package/dist/cli/THIRD-PARTY-LICENSES.txt +328 -0
- package/dist/cli/account.d.ts +14 -14
- package/dist/cli/cli.d.ts +6 -6
- package/dist/cli/cli.js +253 -1504
- package/dist/cli/plugins/index.js +19 -5
- package/dist/cli/plugins/tempo.js +7 -3
- package/dist/cli/sessions/Manager.js +7 -4
- package/dist/cli/sessions/commands.d.ts +4 -4
- package/dist/cli/sessions/request.d.ts +2 -0
- package/dist/cli/sessions/request.js +18 -0
- package/dist/cli/sessions/store.js +28 -14
- package/dist/cli/utils.d.ts +1 -1
- package/dist/cli/validate/index.d.ts +3 -3
- package/dist/client/Mppx.d.ts +3 -0
- package/dist/client/Mppx.js +13 -5
- package/dist/client/Transport.d.ts +3 -5
- package/dist/client/Transport.js +1 -17
- package/dist/client/internal/Fetch.js +2 -6
- package/dist/discovery/Discovery.js +2 -1
- package/dist/discovery/OpenApi.d.ts +3 -5
- package/dist/discovery/OpenApi.js +13 -34
- package/dist/discovery/internal/Metadata.d.ts +20 -0
- package/dist/discovery/internal/Metadata.js +36 -0
- package/dist/evm/Methods.d.ts +11 -11
- package/dist/evm/Types.d.ts +17 -17
- package/dist/evm/client/Charge.d.ts +11 -11
- package/dist/evm/client/Charge.js +8 -0
- package/dist/evm/client/Methods.d.ts +11 -11
- package/dist/evm/server/Charge.d.ts +1 -1
- package/dist/evm/server/Charge.js +2 -0
- package/dist/evm/server/Methods.d.ts +11 -11
- package/dist/internal/HeaderCodec.d.ts +2 -2
- package/dist/internal/types.d.ts +6 -0
- package/dist/proxy/Proxy.d.ts +2 -0
- package/dist/proxy/Proxy.js +117 -9
- package/dist/proxy/Service.d.ts +36 -1
- package/dist/proxy/Service.js +9 -8
- package/dist/proxy/services/anthropic.js +1 -0
- package/dist/proxy/services/openai.js +1 -0
- package/dist/proxy/services/stripe.js +1 -0
- package/dist/server/Mppx.d.ts +75 -13
- package/dist/server/Mppx.js +201 -23
- package/dist/server/core.d.ts +9 -0
- package/dist/server/core.js +9 -0
- package/dist/server/internal/html/config.d.ts +9 -9
- package/dist/server/internal/html/constants.d.ts +17 -17
- package/dist/stripe/Methods.d.ts +10 -10
- package/dist/stripe/client/Charge.d.ts +10 -10
- package/dist/stripe/client/Methods.d.ts +10 -10
- package/dist/stripe/internal/constants.d.ts +1 -1
- package/dist/stripe/internal/constants.js +1 -1
- package/dist/stripe/internal/types.d.ts +1 -0
- package/dist/stripe/server/Charge.d.ts +11 -11
- package/dist/stripe/server/Charge.js +51 -5
- package/dist/stripe/server/Methods.d.ts +137 -48
- package/dist/stripe/server/Methods.js +265 -4
- package/dist/stripe/server/internal/deposit-address.d.ts +13 -0
- package/dist/stripe/server/internal/deposit-address.js +28 -0
- package/dist/stripe/server/internal/html.gen.d.ts +1 -1
- package/dist/stripe/server/internal/html.gen.js +1 -1
- package/dist/stripe/server/internal/record-payment.d.ts +15 -0
- package/dist/stripe/server/internal/record-payment.js +42 -0
- package/dist/stripe/server/internal/request.d.ts +25 -0
- package/dist/stripe/server/internal/request.js +29 -0
- package/dist/stripe/server/spt.d.ts +8 -0
- package/dist/stripe/server/spt.js +8 -0
- package/dist/tap/Constants.d.ts +28 -0
- package/dist/tap/Constants.js +32 -0
- package/dist/tap/Types.d.ts +11 -0
- package/dist/tap/Types.js +2 -0
- package/dist/tap/client/index.d.ts +26 -0
- package/dist/tap/client/index.js +33 -0
- package/dist/tap/index.d.ts +5 -0
- package/dist/tap/index.js +5 -0
- package/dist/tap/server/index.d.ts +20 -0
- package/dist/tap/server/index.js +36 -0
- package/dist/tempo/Attribution.d.ts +1 -1
- package/dist/tempo/Methods.d.ts +73 -60
- package/dist/tempo/Methods.js +14 -3
- package/dist/tempo/Proof.d.ts +16 -16
- package/dist/tempo/client/Charge.d.ts +22 -19
- package/dist/tempo/client/Charge.js +32 -16
- package/dist/tempo/client/Methods.d.ts +51 -38
- package/dist/tempo/client/Subscription.d.ts +23 -23
- package/dist/tempo/internal/address.d.ts +2 -1
- package/dist/tempo/internal/address.js +3 -1
- package/dist/tempo/internal/auto-swap.js +4 -19
- package/dist/tempo/internal/defaults.d.ts +17 -6
- package/dist/tempo/internal/defaults.js +11 -0
- package/dist/tempo/internal/fee-payer.d.ts +12 -12
- package/dist/tempo/internal/machine-token-charge.d.ts +51 -0
- package/dist/tempo/internal/machine-token-charge.js +113 -0
- package/dist/tempo/internal/machine-token-session.d.ts +88 -0
- package/dist/tempo/internal/machine-token-session.js +173 -0
- package/dist/tempo/internal/proof.d.ts +17 -17
- package/dist/tempo/internal/signature-envelope.d.ts +14 -0
- package/dist/tempo/internal/signature-envelope.js +28 -0
- package/dist/tempo/legacy/client/ChannelOps.d.ts +2 -2
- package/dist/tempo/legacy/client/ChannelOps.js +11 -5
- package/dist/tempo/legacy/client/Session.d.ts +33 -21
- package/dist/tempo/legacy/client/Session.js +3 -3
- package/dist/tempo/legacy/client/SessionManager.d.ts +3 -1
- package/dist/tempo/legacy/client/SessionManager.js +2 -0
- package/dist/tempo/legacy/index.d.ts +1 -3
- package/dist/tempo/legacy/index.js +1 -3
- package/dist/tempo/legacy/session/escrow.abi.d.ts +374 -374
- package/dist/tempo/server/Charge.d.ts +28 -11
- package/dist/tempo/server/Charge.js +101 -55
- package/dist/tempo/server/Methods.d.ts +58 -56
- package/dist/tempo/server/Methods.js +8 -18
- package/dist/tempo/server/Relay.d.ts +1 -1
- package/dist/tempo/server/Relay.js +2 -2
- package/dist/tempo/server/Subscription.d.ts +25 -25
- package/dist/tempo/server/Subscription.js +2 -0
- package/dist/tempo/server/index.d.ts +1 -1
- package/dist/tempo/server/index.js +1 -1
- package/dist/tempo/server/internal/html.gen.d.ts +1 -1
- package/dist/tempo/server/internal/html.gen.js +1 -1
- package/dist/tempo/server/internal/transport.d.ts +2 -0
- package/dist/tempo/server/internal/transport.js +9 -2
- package/dist/tempo/session/client/ChannelOps.d.ts +18 -3
- package/dist/tempo/session/client/ChannelOps.js +35 -6
- package/dist/tempo/session/client/ChannelStore.d.ts +0 -5
- package/dist/tempo/session/client/ChannelStore.js +2 -2
- package/dist/tempo/session/client/CredentialState.d.ts +18 -3
- package/dist/tempo/session/client/CredentialState.js +77 -76
- package/dist/tempo/session/client/Runtime.d.ts +4 -2
- package/dist/tempo/session/client/Runtime.js +21 -5
- package/dist/tempo/session/client/Session.d.ts +34 -22
- package/dist/tempo/session/client/Session.js +186 -63
- package/dist/tempo/session/client/SessionManager.d.ts +3 -1
- package/dist/tempo/session/client/SessionManager.js +35 -11
- package/dist/tempo/session/client/Transports.d.ts +2 -0
- package/dist/tempo/session/client/Transports.js +12 -2
- package/dist/tempo/session/precompile/Chain.d.ts +37 -2
- package/dist/tempo/session/precompile/Chain.js +116 -15
- package/dist/tempo/session/precompile/Protocol.d.ts +15 -0
- package/dist/tempo/session/precompile/Protocol.js +7 -0
- package/dist/tempo/session/precompile/Voucher.d.ts +7 -5
- package/dist/tempo/session/precompile/Voucher.js +6 -12
- package/dist/tempo/session/precompile/escrow.abi.d.ts +306 -306
- package/dist/tempo/session/server/ChannelStore.d.ts +15 -0
- package/dist/tempo/session/server/ChannelStore.js +27 -12
- package/dist/tempo/session/server/CredentialVerification.d.ts +39 -20
- package/dist/tempo/session/server/CredentialVerification.js +359 -89
- package/dist/tempo/session/server/MeteredStream.d.ts +4 -1
- package/dist/tempo/session/server/MeteredStream.js +8 -5
- package/dist/tempo/session/server/RequestState.d.ts +19 -0
- package/dist/tempo/session/server/RequestState.js +61 -15
- package/dist/tempo/session/server/Session.d.ts +46 -23
- package/dist/tempo/session/server/Session.js +150 -56
- package/dist/tempo/session/server/Settlement.d.ts +11 -4
- package/dist/tempo/session/server/Settlement.js +53 -21
- package/dist/tempo/session/server/Sse.d.ts +3 -1
- package/dist/tempo/session/server/Sse.js +2 -1
- package/dist/tempo/session/server/Transports.d.ts +1 -1
- package/dist/tempo/session/server/Transports.js +1 -0
- package/dist/tempo/session/server/Ws.d.ts +6 -1
- package/dist/tempo/session/server/Ws.js +1 -0
- package/dist/tempo/subscription/KeyAuthorization.d.ts +39 -39
- package/dist/web-bot-auth/Constants.d.ts +20 -0
- package/dist/web-bot-auth/Constants.js +24 -0
- package/dist/web-bot-auth/Types.d.ts +10 -0
- package/dist/web-bot-auth/Types.js +2 -0
- package/dist/web-bot-auth/client/index.d.ts +29 -0
- package/dist/web-bot-auth/client/index.js +64 -0
- package/dist/web-bot-auth/index.d.ts +7 -0
- package/dist/web-bot-auth/index.js +7 -0
- package/dist/web-bot-auth/internal/JwkThumbprint.d.ts +5 -0
- package/dist/web-bot-auth/internal/JwkThumbprint.js +20 -0
- package/dist/web-bot-auth/internal/SignatureAgent.d.ts +3 -0
- package/dist/web-bot-auth/internal/SignatureAgent.js +18 -0
- package/dist/web-bot-auth/server/index.d.ts +35 -0
- package/dist/web-bot-auth/server/index.js +88 -0
- package/dist/x402/Types.d.ts +6 -6
- package/dist/x402/client/Exact.d.ts +8 -0
- package/dist/x402/client/Exact.js +40 -10
- package/dist/x402/server/EvmCharge.d.ts +22 -0
- package/dist/x402/server/EvmCharge.js +54 -20
- package/package.json +28 -34
- package/dist/BodyDigest.d.ts.map +0 -1
- package/dist/BodyDigest.js.map +0 -1
- package/dist/Challenge.d.ts.map +0 -1
- package/dist/Challenge.js.map +0 -1
- package/dist/Constants.d.ts.map +0 -1
- package/dist/Constants.js.map +0 -1
- package/dist/Credential.d.ts.map +0 -1
- package/dist/Credential.js.map +0 -1
- package/dist/Errors.d.ts.map +0 -1
- package/dist/Errors.js.map +0 -1
- package/dist/Expires.d.ts.map +0 -1
- package/dist/Expires.js.map +0 -1
- package/dist/Html.d.ts.map +0 -1
- package/dist/Html.js.map +0 -1
- package/dist/Mcp.d.ts.map +0 -1
- package/dist/Mcp.js.map +0 -1
- package/dist/Method.d.ts.map +0 -1
- package/dist/Method.js.map +0 -1
- package/dist/PaymentRequest.d.ts.map +0 -1
- package/dist/PaymentRequest.js.map +0 -1
- package/dist/Receipt.d.ts.map +0 -1
- package/dist/Receipt.js.map +0 -1
- package/dist/Store.d.ts.map +0 -1
- package/dist/Store.js.map +0 -1
- package/dist/bin.d.ts.map +0 -1
- package/dist/bin.js.map +0 -1
- package/dist/cli/account.d.ts.map +0 -1
- package/dist/cli/account.js.map +0 -1
- package/dist/cli/cli.d.ts.map +0 -1
- package/dist/cli/cli.js.map +0 -1
- package/dist/cli/config.d.ts.map +0 -1
- package/dist/cli/config.js.map +0 -1
- package/dist/cli/internal.d.ts.map +0 -1
- package/dist/cli/internal.js.map +0 -1
- package/dist/cli/plugins/evm.d.ts.map +0 -1
- package/dist/cli/plugins/evm.js.map +0 -1
- package/dist/cli/plugins/index.d.ts.map +0 -1
- package/dist/cli/plugins/index.js.map +0 -1
- package/dist/cli/plugins/plugin.d.ts.map +0 -1
- package/dist/cli/plugins/plugin.js.map +0 -1
- package/dist/cli/plugins/stripe.d.ts.map +0 -1
- package/dist/cli/plugins/stripe.js.map +0 -1
- package/dist/cli/plugins/tempo.d.ts.map +0 -1
- package/dist/cli/plugins/tempo.js.map +0 -1
- package/dist/cli/sessions/Manager.d.ts.map +0 -1
- package/dist/cli/sessions/Manager.js.map +0 -1
- package/dist/cli/sessions/commands.d.ts.map +0 -1
- package/dist/cli/sessions/commands.js.map +0 -1
- package/dist/cli/sessions/request.d.ts.map +0 -1
- package/dist/cli/sessions/request.js.map +0 -1
- package/dist/cli/sessions/store.d.ts.map +0 -1
- package/dist/cli/sessions/store.js.map +0 -1
- package/dist/cli/utils.d.ts.map +0 -1
- package/dist/cli/utils.js.map +0 -1
- package/dist/cli/validate/challenge.d.ts.map +0 -1
- package/dist/cli/validate/challenge.js.map +0 -1
- package/dist/cli/validate/discovery.d.ts.map +0 -1
- package/dist/cli/validate/discovery.js.map +0 -1
- package/dist/cli/validate/helpers.d.ts.map +0 -1
- package/dist/cli/validate/helpers.js.map +0 -1
- package/dist/cli/validate/index.d.ts.map +0 -1
- package/dist/cli/validate/index.js.map +0 -1
- package/dist/cli/validate/messages.d.ts.map +0 -1
- package/dist/cli/validate/messages.js.map +0 -1
- package/dist/cli/validate/payment.d.ts.map +0 -1
- package/dist/cli/validate/payment.js.map +0 -1
- package/dist/client/Methods.d.ts.map +0 -1
- package/dist/client/Methods.js.map +0 -1
- package/dist/client/Mppx.d.ts.map +0 -1
- package/dist/client/Mppx.js.map +0 -1
- package/dist/client/Transport.d.ts.map +0 -1
- package/dist/client/Transport.js.map +0 -1
- package/dist/client/index.d.ts.map +0 -1
- package/dist/client/index.js.map +0 -1
- package/dist/client/internal/Fetch.d.ts.map +0 -1
- package/dist/client/internal/Fetch.js.map +0 -1
- package/dist/client/internal/MethodChallenge.d.ts.map +0 -1
- package/dist/client/internal/MethodChallenge.js.map +0 -1
- package/dist/client/internal/MethodResponse.d.ts.map +0 -1
- package/dist/client/internal/MethodResponse.js.map +0 -1
- package/dist/client/internal/protocols/Mcp.d.ts.map +0 -1
- package/dist/client/internal/protocols/Mcp.js.map +0 -1
- package/dist/client/internal/protocols/Mpp.d.ts.map +0 -1
- package/dist/client/internal/protocols/Mpp.js.map +0 -1
- package/dist/client/internal/protocols/Protocol.d.ts.map +0 -1
- package/dist/client/internal/protocols/Protocol.js.map +0 -1
- package/dist/client/internal/protocols/Shared.d.ts.map +0 -1
- package/dist/client/internal/protocols/Shared.js.map +0 -1
- package/dist/client/internal/protocols/X402.d.ts.map +0 -1
- package/dist/client/internal/protocols/X402.js.map +0 -1
- package/dist/client/node.d.ts.map +0 -1
- package/dist/client/node.js.map +0 -1
- package/dist/discovery/Discovery.d.ts.map +0 -1
- package/dist/discovery/Discovery.js.map +0 -1
- package/dist/discovery/OpenApi.d.ts.map +0 -1
- package/dist/discovery/OpenApi.js.map +0 -1
- package/dist/discovery/Validate.d.ts.map +0 -1
- package/dist/discovery/Validate.js.map +0 -1
- package/dist/discovery/index.d.ts.map +0 -1
- package/dist/discovery/index.js.map +0 -1
- package/dist/evm/Assets.d.ts.map +0 -1
- package/dist/evm/Assets.js.map +0 -1
- package/dist/evm/Chains.d.ts.map +0 -1
- package/dist/evm/Chains.js.map +0 -1
- package/dist/evm/Methods.d.ts.map +0 -1
- package/dist/evm/Methods.js.map +0 -1
- package/dist/evm/Types.d.ts.map +0 -1
- package/dist/evm/Types.js.map +0 -1
- package/dist/evm/client/Charge.d.ts.map +0 -1
- package/dist/evm/client/Charge.js.map +0 -1
- package/dist/evm/client/Methods.d.ts.map +0 -1
- package/dist/evm/client/Methods.js.map +0 -1
- package/dist/evm/client/index.d.ts.map +0 -1
- package/dist/evm/client/index.js.map +0 -1
- package/dist/evm/index.d.ts.map +0 -1
- package/dist/evm/index.js.map +0 -1
- package/dist/evm/server/Charge.d.ts.map +0 -1
- package/dist/evm/server/Charge.js.map +0 -1
- package/dist/evm/server/Methods.d.ts.map +0 -1
- package/dist/evm/server/Methods.js.map +0 -1
- package/dist/evm/server/index.d.ts.map +0 -1
- package/dist/evm/server/index.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/internal/AcceptPayment.d.ts.map +0 -1
- package/dist/internal/AcceptPayment.js.map +0 -1
- package/dist/internal/HeaderCodec.d.ts.map +0 -1
- package/dist/internal/HeaderCodec.js.map +0 -1
- package/dist/internal/constantTimeEqual.d.ts.map +0 -1
- package/dist/internal/constantTimeEqual.js.map +0 -1
- package/dist/internal/env.d.ts.map +0 -1
- package/dist/internal/env.js.map +0 -1
- package/dist/internal/types.d.ts.map +0 -1
- package/dist/internal/types.js.map +0 -1
- package/dist/mcp/client/McpClient.d.ts.map +0 -1
- package/dist/mcp/client/McpClient.js.map +0 -1
- package/dist/mcp/client/index.d.ts.map +0 -1
- package/dist/mcp/client/index.js.map +0 -1
- package/dist/mcp/server/Transport.d.ts.map +0 -1
- package/dist/mcp/server/Transport.js.map +0 -1
- package/dist/mcp/server/index.d.ts.map +0 -1
- package/dist/mcp/server/index.js.map +0 -1
- package/dist/middlewares/elysia.d.ts.map +0 -1
- package/dist/middlewares/elysia.js.map +0 -1
- package/dist/middlewares/express.d.ts.map +0 -1
- package/dist/middlewares/express.js.map +0 -1
- package/dist/middlewares/hono.d.ts.map +0 -1
- package/dist/middlewares/hono.js.map +0 -1
- package/dist/middlewares/internal/mppx.d.ts.map +0 -1
- package/dist/middlewares/internal/mppx.js.map +0 -1
- package/dist/middlewares/nextjs.d.ts.map +0 -1
- package/dist/middlewares/nextjs.js.map +0 -1
- package/dist/proxy/Proxy.d.ts.map +0 -1
- package/dist/proxy/Proxy.js.map +0 -1
- package/dist/proxy/Service.d.ts.map +0 -1
- package/dist/proxy/Service.js.map +0 -1
- package/dist/proxy/index.d.ts.map +0 -1
- package/dist/proxy/index.js.map +0 -1
- package/dist/proxy/internal/Headers.d.ts.map +0 -1
- package/dist/proxy/internal/Headers.js.map +0 -1
- package/dist/proxy/internal/Route.d.ts.map +0 -1
- package/dist/proxy/internal/Route.js.map +0 -1
- package/dist/proxy/services/anthropic.d.ts.map +0 -1
- package/dist/proxy/services/anthropic.js.map +0 -1
- package/dist/proxy/services/openai.d.ts.map +0 -1
- package/dist/proxy/services/openai.js.map +0 -1
- package/dist/proxy/services/stripe.d.ts.map +0 -1
- package/dist/proxy/services/stripe.js.map +0 -1
- package/dist/server/Methods.d.ts.map +0 -1
- package/dist/server/Methods.js.map +0 -1
- package/dist/server/Mppx.d.ts.map +0 -1
- package/dist/server/Mppx.js.map +0 -1
- package/dist/server/NodeListener.d.ts.map +0 -1
- package/dist/server/NodeListener.js.map +0 -1
- package/dist/server/Request.d.ts.map +0 -1
- package/dist/server/Request.js.map +0 -1
- package/dist/server/Response.d.ts.map +0 -1
- package/dist/server/Response.js.map +0 -1
- package/dist/server/Transport.d.ts.map +0 -1
- package/dist/server/Transport.js.map +0 -1
- package/dist/server/index.d.ts.map +0 -1
- package/dist/server/index.js.map +0 -1
- package/dist/server/internal/html/compose.main.gen.d.ts.map +0 -1
- package/dist/server/internal/html/compose.main.gen.js.map +0 -1
- package/dist/server/internal/html/config.d.ts.map +0 -1
- package/dist/server/internal/html/config.js.map +0 -1
- package/dist/server/internal/html/constants.d.ts.map +0 -1
- package/dist/server/internal/html/constants.js.map +0 -1
- package/dist/server/internal/html/serviceWorker.client.d.ts.map +0 -1
- package/dist/server/internal/html/serviceWorker.client.js.map +0 -1
- package/dist/server/internal/html/serviceWorker.gen.d.ts.map +0 -1
- package/dist/server/internal/html/serviceWorker.gen.js.map +0 -1
- package/dist/server/internal/scope.d.ts.map +0 -1
- package/dist/server/internal/scope.js.map +0 -1
- package/dist/stripe/Methods.d.ts.map +0 -1
- package/dist/stripe/Methods.js.map +0 -1
- package/dist/stripe/client/Charge.d.ts.map +0 -1
- package/dist/stripe/client/Charge.js.map +0 -1
- package/dist/stripe/client/Methods.d.ts.map +0 -1
- package/dist/stripe/client/Methods.js.map +0 -1
- package/dist/stripe/client/index.d.ts.map +0 -1
- package/dist/stripe/client/index.js.map +0 -1
- package/dist/stripe/index.d.ts.map +0 -1
- package/dist/stripe/index.js.map +0 -1
- package/dist/stripe/internal/constants.d.ts.map +0 -1
- package/dist/stripe/internal/constants.js.map +0 -1
- package/dist/stripe/internal/types.d.ts.map +0 -1
- package/dist/stripe/internal/types.js.map +0 -1
- package/dist/stripe/server/Charge.d.ts.map +0 -1
- package/dist/stripe/server/Charge.js.map +0 -1
- package/dist/stripe/server/Methods.d.ts.map +0 -1
- package/dist/stripe/server/Methods.js.map +0 -1
- package/dist/stripe/server/index.d.ts.map +0 -1
- package/dist/stripe/server/index.js.map +0 -1
- package/dist/stripe/server/internal/html/types.d.ts.map +0 -1
- package/dist/stripe/server/internal/html/types.js.map +0 -1
- package/dist/stripe/server/internal/html.gen.d.ts.map +0 -1
- package/dist/stripe/server/internal/html.gen.js.map +0 -1
- package/dist/tempo/Attribution.d.ts.map +0 -1
- package/dist/tempo/Attribution.js.map +0 -1
- package/dist/tempo/Methods.d.ts.map +0 -1
- package/dist/tempo/Methods.js.map +0 -1
- package/dist/tempo/Proof.d.ts.map +0 -1
- package/dist/tempo/Proof.js.map +0 -1
- package/dist/tempo/client/Charge.d.ts.map +0 -1
- package/dist/tempo/client/Charge.js.map +0 -1
- package/dist/tempo/client/Methods.d.ts.map +0 -1
- package/dist/tempo/client/Methods.js.map +0 -1
- package/dist/tempo/client/ResolveAccount.d.ts.map +0 -1
- package/dist/tempo/client/ResolveAccount.js.map +0 -1
- package/dist/tempo/client/Subscription.d.ts.map +0 -1
- package/dist/tempo/client/Subscription.js.map +0 -1
- package/dist/tempo/client/index.d.ts.map +0 -1
- package/dist/tempo/client/index.js.map +0 -1
- package/dist/tempo/index.d.ts.map +0 -1
- package/dist/tempo/index.js.map +0 -1
- package/dist/tempo/internal/account.d.ts.map +0 -1
- package/dist/tempo/internal/account.js.map +0 -1
- package/dist/tempo/internal/address.d.ts.map +0 -1
- package/dist/tempo/internal/address.js.map +0 -1
- package/dist/tempo/internal/auto-swap.d.ts.map +0 -1
- package/dist/tempo/internal/auto-swap.js.map +0 -1
- package/dist/tempo/internal/charge.d.ts.map +0 -1
- package/dist/tempo/internal/charge.js.map +0 -1
- package/dist/tempo/internal/defaults.d.ts.map +0 -1
- package/dist/tempo/internal/defaults.js.map +0 -1
- package/dist/tempo/internal/fee-payer.d.ts.map +0 -1
- package/dist/tempo/internal/fee-payer.js.map +0 -1
- package/dist/tempo/internal/fee-token.d.ts.map +0 -1
- package/dist/tempo/internal/fee-token.js.map +0 -1
- package/dist/tempo/internal/proof.d.ts.map +0 -1
- package/dist/tempo/internal/proof.js.map +0 -1
- package/dist/tempo/internal/selectors.d.ts.map +0 -1
- package/dist/tempo/internal/selectors.js.map +0 -1
- package/dist/tempo/internal/types.d.ts.map +0 -1
- package/dist/tempo/internal/types.js.map +0 -1
- package/dist/tempo/legacy/client/ChannelOps.d.ts.map +0 -1
- package/dist/tempo/legacy/client/ChannelOps.js.map +0 -1
- package/dist/tempo/legacy/client/Session.d.ts.map +0 -1
- package/dist/tempo/legacy/client/Session.js.map +0 -1
- package/dist/tempo/legacy/client/SessionManager.d.ts.map +0 -1
- package/dist/tempo/legacy/client/SessionManager.js.map +0 -1
- package/dist/tempo/legacy/client/index.d.ts.map +0 -1
- package/dist/tempo/legacy/client/index.js.map +0 -1
- package/dist/tempo/legacy/index.d.ts.map +0 -1
- package/dist/tempo/legacy/index.js.map +0 -1
- package/dist/tempo/legacy/server/Session.d.ts +0 -208
- package/dist/tempo/legacy/server/Session.d.ts.map +0 -1
- package/dist/tempo/legacy/server/Session.js +0 -698
- package/dist/tempo/legacy/server/Session.js.map +0 -1
- package/dist/tempo/legacy/server/index.d.ts +0 -5
- package/dist/tempo/legacy/server/index.d.ts.map +0 -1
- package/dist/tempo/legacy/server/index.js +0 -5
- package/dist/tempo/legacy/server/index.js.map +0 -1
- package/dist/tempo/legacy/session/Chain.d.ts.map +0 -1
- package/dist/tempo/legacy/session/Chain.js.map +0 -1
- package/dist/tempo/legacy/session/Channel.d.ts.map +0 -1
- package/dist/tempo/legacy/session/Channel.js.map +0 -1
- package/dist/tempo/legacy/session/ChannelStore.d.ts +0 -22
- package/dist/tempo/legacy/session/ChannelStore.d.ts.map +0 -1
- package/dist/tempo/legacy/session/ChannelStore.js +0 -6
- package/dist/tempo/legacy/session/ChannelStore.js.map +0 -1
- package/dist/tempo/legacy/session/Types.d.ts.map +0 -1
- package/dist/tempo/legacy/session/Types.js.map +0 -1
- package/dist/tempo/legacy/session/Voucher.d.ts.map +0 -1
- package/dist/tempo/legacy/session/Voucher.js.map +0 -1
- package/dist/tempo/legacy/session/escrow.abi.d.ts.map +0 -1
- package/dist/tempo/legacy/session/escrow.abi.js.map +0 -1
- package/dist/tempo/legacy/session/index.d.ts.map +0 -1
- package/dist/tempo/legacy/session/index.js.map +0 -1
- package/dist/tempo/server/Charge.d.ts.map +0 -1
- package/dist/tempo/server/Charge.js.map +0 -1
- package/dist/tempo/server/Methods.d.ts.map +0 -1
- package/dist/tempo/server/Methods.js.map +0 -1
- package/dist/tempo/server/Relay.d.ts.map +0 -1
- package/dist/tempo/server/Relay.js.map +0 -1
- package/dist/tempo/server/SponsorBudget.d.ts.map +0 -1
- package/dist/tempo/server/SponsorBudget.js.map +0 -1
- package/dist/tempo/server/Subscription.d.ts.map +0 -1
- package/dist/tempo/server/Subscription.js.map +0 -1
- package/dist/tempo/server/index.d.ts.map +0 -1
- package/dist/tempo/server/index.js.map +0 -1
- package/dist/tempo/server/internal/html.gen.d.ts.map +0 -1
- package/dist/tempo/server/internal/html.gen.js.map +0 -1
- package/dist/tempo/server/internal/request-body.d.ts.map +0 -1
- package/dist/tempo/server/internal/request-body.js.map +0 -1
- package/dist/tempo/server/internal/transport.d.ts.map +0 -1
- package/dist/tempo/server/internal/transport.js.map +0 -1
- package/dist/tempo/session/Snapshot.d.ts.map +0 -1
- package/dist/tempo/session/Snapshot.js.map +0 -1
- package/dist/tempo/session/client/ChannelOps.d.ts.map +0 -1
- package/dist/tempo/session/client/ChannelOps.js.map +0 -1
- package/dist/tempo/session/client/ChannelStore.d.ts.map +0 -1
- package/dist/tempo/session/client/ChannelStore.js.map +0 -1
- package/dist/tempo/session/client/CredentialState.d.ts.map +0 -1
- package/dist/tempo/session/client/CredentialState.js.map +0 -1
- package/dist/tempo/session/client/ReceiptCoordinator.d.ts.map +0 -1
- package/dist/tempo/session/client/ReceiptCoordinator.js.map +0 -1
- package/dist/tempo/session/client/Runtime.d.ts.map +0 -1
- package/dist/tempo/session/client/Runtime.js.map +0 -1
- package/dist/tempo/session/client/Session.d.ts.map +0 -1
- package/dist/tempo/session/client/Session.js.map +0 -1
- package/dist/tempo/session/client/SessionManager.d.ts.map +0 -1
- package/dist/tempo/session/client/SessionManager.js.map +0 -1
- package/dist/tempo/session/client/Transports.d.ts.map +0 -1
- package/dist/tempo/session/client/Transports.js.map +0 -1
- package/dist/tempo/session/client/index.d.ts.map +0 -1
- package/dist/tempo/session/client/index.js.map +0 -1
- package/dist/tempo/session/client/internal/SessionManager.d.ts.map +0 -1
- package/dist/tempo/session/client/internal/SessionManager.js.map +0 -1
- package/dist/tempo/session/index.d.ts.map +0 -1
- package/dist/tempo/session/index.js.map +0 -1
- package/dist/tempo/session/precompile/Chain.d.ts.map +0 -1
- package/dist/tempo/session/precompile/Chain.js.map +0 -1
- package/dist/tempo/session/precompile/Channel.d.ts.map +0 -1
- package/dist/tempo/session/precompile/Channel.js.map +0 -1
- package/dist/tempo/session/precompile/Protocol.d.ts.map +0 -1
- package/dist/tempo/session/precompile/Protocol.js.map +0 -1
- package/dist/tempo/session/precompile/Voucher.d.ts.map +0 -1
- package/dist/tempo/session/precompile/Voucher.js.map +0 -1
- package/dist/tempo/session/precompile/escrow.abi.d.ts.map +0 -1
- package/dist/tempo/session/precompile/escrow.abi.js.map +0 -1
- package/dist/tempo/session/precompile/index.d.ts.map +0 -1
- package/dist/tempo/session/precompile/index.js.map +0 -1
- package/dist/tempo/session/server/ChannelOps.d.ts.map +0 -1
- package/dist/tempo/session/server/ChannelOps.js.map +0 -1
- package/dist/tempo/session/server/ChannelStore.d.ts.map +0 -1
- package/dist/tempo/session/server/ChannelStore.js.map +0 -1
- package/dist/tempo/session/server/CredentialVerification.d.ts.map +0 -1
- package/dist/tempo/session/server/CredentialVerification.js.map +0 -1
- package/dist/tempo/session/server/MeteredStream.d.ts.map +0 -1
- package/dist/tempo/session/server/MeteredStream.js.map +0 -1
- package/dist/tempo/session/server/RequestState.d.ts.map +0 -1
- package/dist/tempo/session/server/RequestState.js.map +0 -1
- package/dist/tempo/session/server/Session.d.ts.map +0 -1
- package/dist/tempo/session/server/Session.js.map +0 -1
- package/dist/tempo/session/server/Settlement.d.ts.map +0 -1
- package/dist/tempo/session/server/Settlement.js.map +0 -1
- package/dist/tempo/session/server/Sse.d.ts.map +0 -1
- package/dist/tempo/session/server/Sse.js.map +0 -1
- package/dist/tempo/session/server/Transports.d.ts.map +0 -1
- package/dist/tempo/session/server/Transports.js.map +0 -1
- package/dist/tempo/session/server/Ws.d.ts.map +0 -1
- package/dist/tempo/session/server/Ws.js.map +0 -1
- package/dist/tempo/session/server/index.d.ts.map +0 -1
- package/dist/tempo/session/server/index.js.map +0 -1
- package/dist/tempo/subscription/KeyAuthorization.d.ts.map +0 -1
- package/dist/tempo/subscription/KeyAuthorization.js.map +0 -1
- package/dist/tempo/subscription/Receipt.d.ts.map +0 -1
- package/dist/tempo/subscription/Receipt.js.map +0 -1
- package/dist/tempo/subscription/Store.d.ts.map +0 -1
- package/dist/tempo/subscription/Store.js.map +0 -1
- package/dist/tempo/subscription/Types.d.ts.map +0 -1
- package/dist/tempo/subscription/Types.js.map +0 -1
- package/dist/tempo/subscription/index.d.ts.map +0 -1
- package/dist/tempo/subscription/index.js.map +0 -1
- package/dist/validation/core.d.ts.map +0 -1
- package/dist/validation/core.js.map +0 -1
- package/dist/validation/index.d.ts.map +0 -1
- package/dist/validation/index.js.map +0 -1
- package/dist/viem/Account.d.ts.map +0 -1
- package/dist/viem/Account.js.map +0 -1
- package/dist/viem/Client.d.ts.map +0 -1
- package/dist/viem/Client.js.map +0 -1
- package/dist/x402/Assets.d.ts.map +0 -1
- package/dist/x402/Assets.js.map +0 -1
- package/dist/x402/Header.d.ts.map +0 -1
- package/dist/x402/Header.js.map +0 -1
- package/dist/x402/Types.d.ts.map +0 -1
- package/dist/x402/Types.js.map +0 -1
- package/dist/x402/client/Exact.d.ts.map +0 -1
- package/dist/x402/client/Exact.js.map +0 -1
- package/dist/x402/index.d.ts.map +0 -1
- package/dist/x402/index.js.map +0 -1
- package/dist/x402/internal/ChallengeBrand.d.ts.map +0 -1
- package/dist/x402/internal/ChallengeBrand.js.map +0 -1
- package/dist/x402/internal/RouteBinding.d.ts.map +0 -1
- package/dist/x402/internal/RouteBinding.js.map +0 -1
- package/dist/x402/server/EvmCharge.d.ts.map +0 -1
- package/dist/x402/server/EvmCharge.js.map +0 -1
- package/dist/x402/server/Facilitator.d.ts.map +0 -1
- package/dist/x402/server/Facilitator.js.map +0 -1
- package/dist/zod.d.ts.map +0 -1
- package/dist/zod.js.map +0 -1
- package/src/BodyDigest.test.ts +0 -43
- package/src/BodyDigest.ts +0 -55
- package/src/Challenge.fuzz.test.ts +0 -121
- package/src/Challenge.test-d.ts +0 -82
- package/src/Challenge.test.ts +0 -995
- package/src/Challenge.ts +0 -683
- package/src/Constants.ts +0 -58
- package/src/Credential.fuzz.test.ts +0 -62
- package/src/Credential.test.ts +0 -378
- package/src/Credential.ts +0 -217
- package/src/Errors.test.ts +0 -520
- package/src/Errors.ts +0 -448
- package/src/Expires.test.ts +0 -112
- package/src/Expires.ts +0 -59
- package/src/Html.ts +0 -67
- package/src/Mcp.ts +0 -85
- package/src/Method.test.ts +0 -177
- package/src/Method.ts +0 -617
- package/src/PaymentRequest.test.ts +0 -147
- package/src/PaymentRequest.ts +0 -108
- package/src/Receipt.test.ts +0 -151
- package/src/Receipt.ts +0 -146
- package/src/Store.test-d.ts +0 -195
- package/src/Store.test.ts +0 -357
- package/src/Store.ts +0 -329
- package/src/bin.ts +0 -4
- package/src/cli/account.ts +0 -269
- package/src/cli/cli.test.ts +0 -2221
- package/src/cli/cli.ts +0 -1649
- package/src/cli/config.test.ts +0 -89
- package/src/cli/config.ts +0 -50
- package/src/cli/internal.ts +0 -114
- package/src/cli/mcp.test.ts +0 -262
- package/src/cli/plugins/evm.ts +0 -55
- package/src/cli/plugins/index.ts +0 -4
- package/src/cli/plugins/plugin.ts +0 -84
- package/src/cli/plugins/stripe.ts +0 -174
- package/src/cli/plugins/tempo.ts +0 -1102
- package/src/cli/sessions/Manager.test.ts +0 -249
- package/src/cli/sessions/Manager.ts +0 -93
- package/src/cli/sessions/commands.ts +0 -444
- package/src/cli/sessions/request.test.ts +0 -51
- package/src/cli/sessions/request.ts +0 -353
- package/src/cli/sessions/store.test.ts +0 -581
- package/src/cli/sessions/store.ts +0 -940
- package/src/cli/utils.test.ts +0 -156
- package/src/cli/utils.ts +0 -394
- package/src/cli/validate/challenge.ts +0 -565
- package/src/cli/validate/discovery.test.ts +0 -435
- package/src/cli/validate/discovery.ts +0 -221
- package/src/cli/validate/helpers.ts +0 -166
- package/src/cli/validate/index.ts +0 -229
- package/src/cli/validate/messages.ts +0 -7
- package/src/cli/validate/payment.ts +0 -774
- package/src/cli/validate.test.ts +0 -843
- package/src/client/Methods.ts +0 -8
- package/src/client/Mppx.test-d.ts +0 -270
- package/src/client/Mppx.test.ts +0 -1065
- package/src/client/Mppx.ts +0 -466
- package/src/client/Transport.test.ts +0 -619
- package/src/client/Transport.ts +0 -191
- package/src/client/index.ts +0 -29
- package/src/client/internal/Fetch.browser.test.ts +0 -197
- package/src/client/internal/Fetch.test-d.ts +0 -109
- package/src/client/internal/Fetch.test.ts +0 -2336
- package/src/client/internal/Fetch.ts +0 -1079
- package/src/client/internal/MethodChallenge.ts +0 -35
- package/src/client/internal/MethodResponse.ts +0 -67
- package/src/client/internal/protocols/Mcp.test.ts +0 -220
- package/src/client/internal/protocols/Mcp.ts +0 -186
- package/src/client/internal/protocols/Mpp.ts +0 -21
- package/src/client/internal/protocols/Protocol.ts +0 -10
- package/src/client/internal/protocols/Shared.ts +0 -25
- package/src/client/internal/protocols/X402.ts +0 -46
- package/src/client/node.test.ts +0 -115
- package/src/client/node.ts +0 -247
- package/src/discovery/Discovery.test.ts +0 -214
- package/src/discovery/Discovery.ts +0 -105
- package/src/discovery/OpenApi.test.ts +0 -453
- package/src/discovery/OpenApi.ts +0 -224
- package/src/discovery/Validate.test.ts +0 -305
- package/src/discovery/Validate.ts +0 -77
- package/src/discovery/index.ts +0 -3
- package/src/env.d.ts +0 -12
- package/src/evm/Assets.ts +0 -1
- package/src/evm/Chains.ts +0 -11
- package/src/evm/Methods.ts +0 -44
- package/src/evm/PublicInterface.test-d.ts +0 -134
- package/src/evm/Types.ts +0 -140
- package/src/evm/client/Charge.test.ts +0 -347
- package/src/evm/client/Charge.ts +0 -187
- package/src/evm/client/Methods.ts +0 -19
- package/src/evm/client/index.ts +0 -6
- package/src/evm/index.ts +0 -16
- package/src/evm/server/Charge.test.ts +0 -339
- package/src/evm/server/Charge.ts +0 -290
- package/src/evm/server/Methods.ts +0 -22
- package/src/evm/server/index.ts +0 -6
- package/src/index.ts +0 -14
- package/src/internal/AcceptPayment.test.ts +0 -343
- package/src/internal/AcceptPayment.ts +0 -366
- package/src/internal/HeaderCodec.ts +0 -36
- package/src/internal/changeset.test.ts +0 -106
- package/src/internal/constantTimeEqual.test.ts +0 -47
- package/src/internal/constantTimeEqual.ts +0 -10
- package/src/internal/env.test.ts +0 -42
- package/src/internal/env.ts +0 -49
- package/src/internal/types.test-d.ts +0 -21
- package/src/internal/types.ts +0 -470
- package/src/mcp/client/McpClient.integration.test.ts +0 -652
- package/src/mcp/client/McpClient.test-d.ts +0 -144
- package/src/mcp/client/McpClient.test.ts +0 -463
- package/src/mcp/client/McpClient.ts +0 -307
- package/src/mcp/client/McpClient.unit.test.ts +0 -135
- package/src/mcp/client/index.ts +0 -2
- package/src/mcp/server/Transport.test.ts +0 -191
- package/src/mcp/server/Transport.ts +0 -111
- package/src/mcp/server/index.ts +0 -1
- package/src/middlewares/elysia.test.ts +0 -295
- package/src/middlewares/elysia.ts +0 -116
- package/src/middlewares/express.test.ts +0 -371
- package/src/middlewares/express.ts +0 -140
- package/src/middlewares/hono.test.ts +0 -476
- package/src/middlewares/hono.ts +0 -153
- package/src/middlewares/internal/mppx.test.ts +0 -177
- package/src/middlewares/internal/mppx.ts +0 -67
- package/src/middlewares/nextjs.test.ts +0 -369
- package/src/middlewares/nextjs.ts +0 -107
- package/src/proxy/Proxy.test.ts +0 -1031
- package/src/proxy/Proxy.ts +0 -345
- package/src/proxy/Service.test.ts +0 -182
- package/src/proxy/Service.ts +0 -253
- package/src/proxy/index.ts +0 -6
- package/src/proxy/internal/Headers.test.ts +0 -139
- package/src/proxy/internal/Headers.ts +0 -66
- package/src/proxy/internal/Route.test.ts +0 -217
- package/src/proxy/internal/Route.ts +0 -64
- package/src/proxy/services/anthropic.test.ts +0 -132
- package/src/proxy/services/anthropic.ts +0 -52
- package/src/proxy/services/openai.test.ts +0 -157
- package/src/proxy/services/openai.ts +0 -59
- package/src/proxy/services/stripe.test.ts +0 -175
- package/src/proxy/services/stripe.ts +0 -58
- package/src/server/Methods.ts +0 -3
- package/src/server/Mppx.authorize.test.ts +0 -210
- package/src/server/Mppx.test-d.ts +0 -360
- package/src/server/Mppx.test.ts +0 -5813
- package/src/server/Mppx.ts +0 -2623
- package/src/server/NodeListener.test.ts +0 -293
- package/src/server/NodeListener.ts +0 -45
- package/src/server/Request.test.ts +0 -255
- package/src/server/Request.ts +0 -155
- package/src/server/Response.test.ts +0 -32
- package/src/server/Response.ts +0 -45
- package/src/server/Transport.test.ts +0 -598
- package/src/server/Transport.ts +0 -320
- package/src/server/index.ts +0 -9
- package/src/server/internal/html/compose.main.gen.ts +0 -2
- package/src/server/internal/html/compose.main.ts +0 -88
- package/src/server/internal/html/config.ts +0 -672
- package/src/server/internal/html/constants.ts +0 -28
- package/src/server/internal/html/serviceWorker.client.ts +0 -28
- package/src/server/internal/html/serviceWorker.gen.ts +0 -2
- package/src/server/internal/html/serviceWorker.ts +0 -27
- package/src/server/internal/html/tsconfig.compose.json +0 -8
- package/src/server/internal/html/tsconfig.worker.client.json +0 -8
- package/src/server/internal/html/tsconfig.worker.json +0 -8
- package/src/server/internal/scope.ts +0 -43
- package/src/stripe/Charge.integration.test.ts +0 -329
- package/src/stripe/Methods.test.ts +0 -62
- package/src/stripe/Methods.ts +0 -44
- package/src/stripe/client/Charge.test.ts +0 -205
- package/src/stripe/client/Charge.ts +0 -132
- package/src/stripe/client/Methods.ts +0 -37
- package/src/stripe/client/index.ts +0 -2
- package/src/stripe/index.ts +0 -1
- package/src/stripe/internal/constants.ts +0 -7
- package/src/stripe/internal/types.ts +0 -46
- package/src/stripe/server/Charge.test-d.ts +0 -66
- package/src/stripe/server/Charge.test.ts +0 -621
- package/src/stripe/server/Charge.ts +0 -434
- package/src/stripe/server/Methods.ts +0 -24
- package/src/stripe/server/index.ts +0 -2
- package/src/stripe/server/internal/html/main.ts +0 -165
- package/src/stripe/server/internal/html/node_modules/.bin/mppx +0 -22
- package/src/stripe/server/internal/html/node_modules/.bin/mppx.src +0 -22
- package/src/stripe/server/internal/html/package.json +0 -9
- package/src/stripe/server/internal/html/stripe-js-pure.d.ts +0 -7
- package/src/stripe/server/internal/html/tsconfig.json +0 -8
- package/src/stripe/server/internal/html/types.ts +0 -5
- package/src/stripe/server/internal/html.gen.ts +0 -2
- package/src/tempo/AccessKeyAuthorization.test.ts +0 -141
- package/src/tempo/Attribution.test.ts +0 -294
- package/src/tempo/Attribution.ts +0 -185
- package/src/tempo/Methods.test.ts +0 -425
- package/src/tempo/Methods.ts +0 -367
- package/src/tempo/Proof.conformance.test.ts +0 -146
- package/src/tempo/Proof.test-d.ts +0 -32
- package/src/tempo/Proof.test.ts +0 -40
- package/src/tempo/Proof.ts +0 -69
- package/src/tempo/PublicExports.test-d.ts +0 -130
- package/src/tempo/Subscription.integration.test.ts +0 -591
- package/src/tempo/client/Charge.test.ts +0 -501
- package/src/tempo/client/Charge.ts +0 -289
- package/src/tempo/client/Methods.ts +0 -45
- package/src/tempo/client/ResolveAccount.ts +0 -46
- package/src/tempo/client/Subscription.test.ts +0 -180
- package/src/tempo/client/Subscription.ts +0 -156
- package/src/tempo/client/index.ts +0 -17
- package/src/tempo/index.ts +0 -5
- package/src/tempo/internal/account.ts +0 -56
- package/src/tempo/internal/address.ts +0 -6
- package/src/tempo/internal/auto-swap.test.ts +0 -198
- package/src/tempo/internal/auto-swap.ts +0 -188
- package/src/tempo/internal/charge.test.ts +0 -66
- package/src/tempo/internal/charge.ts +0 -43
- package/src/tempo/internal/defaults.test.ts +0 -95
- package/src/tempo/internal/defaults.ts +0 -53
- package/src/tempo/internal/fee-payer.test.ts +0 -1177
- package/src/tempo/internal/fee-payer.ts +0 -808
- package/src/tempo/internal/fee-token.test.ts +0 -165
- package/src/tempo/internal/fee-token.ts +0 -72
- package/src/tempo/internal/proof.test.ts +0 -97
- package/src/tempo/internal/proof.ts +0 -87
- package/src/tempo/internal/selectors.ts +0 -10
- package/src/tempo/internal/types.ts +0 -19
- package/src/tempo/legacy/AccessKeyAuthorization.test.ts +0 -162
- package/src/tempo/legacy/README.md +0 -9
- package/src/tempo/legacy/client/ChannelOps.test.ts +0 -379
- package/src/tempo/legacy/client/ChannelOps.ts +0 -271
- package/src/tempo/legacy/client/Session.test.ts +0 -800
- package/src/tempo/legacy/client/Session.ts +0 -397
- package/src/tempo/legacy/client/SessionManager.test.ts +0 -468
- package/src/tempo/legacy/client/SessionManager.ts +0 -909
- package/src/tempo/legacy/client/index.ts +0 -6
- package/src/tempo/legacy/index.ts +0 -6
- package/src/tempo/legacy/server/Defaults.test-d.ts +0 -9
- package/src/tempo/legacy/server/Session.test.ts +0 -6370
- package/src/tempo/legacy/server/Session.ts +0 -1024
- package/src/tempo/legacy/server/index.ts +0 -4
- package/src/tempo/legacy/session/Chain.test.ts +0 -1349
- package/src/tempo/legacy/session/Chain.ts +0 -830
- package/src/tempo/legacy/session/Channel.test.ts +0 -109
- package/src/tempo/legacy/session/Channel.ts +0 -51
- package/src/tempo/legacy/session/ChannelStore.test.ts +0 -58
- package/src/tempo/legacy/session/ChannelStore.ts +0 -39
- package/src/tempo/legacy/session/Types.ts +0 -91
- package/src/tempo/legacy/session/Voucher.test.ts +0 -410
- package/src/tempo/legacy/session/Voucher.ts +0 -183
- package/src/tempo/legacy/session/escrow.abi.ts +0 -760
- package/src/tempo/legacy/session/index.ts +0 -8
- package/src/tempo/server/AtomicStore.test-d.ts +0 -50
- package/src/tempo/server/Charge.test.ts +0 -6121
- package/src/tempo/server/Charge.ts +0 -1351
- package/src/tempo/server/Methods.ts +0 -106
- package/src/tempo/server/Relay.test.ts +0 -677
- package/src/tempo/server/Relay.ts +0 -297
- package/src/tempo/server/SponsorBudget.test.ts +0 -154
- package/src/tempo/server/SponsorBudget.ts +0 -219
- package/src/tempo/server/Sse.test.ts +0 -321
- package/src/tempo/server/Subscription.test.ts +0 -1944
- package/src/tempo/server/Subscription.ts +0 -1333
- package/src/tempo/server/index.ts +0 -12
- package/src/tempo/server/internal/html/main.ts +0 -115
- package/src/tempo/server/internal/html/node_modules/.bin/mppx +0 -22
- package/src/tempo/server/internal/html/node_modules/.bin/mppx.src +0 -22
- package/src/tempo/server/internal/html/package.json +0 -10
- package/src/tempo/server/internal/html/tsconfig.json +0 -8
- package/src/tempo/server/internal/html.gen.ts +0 -2
- package/src/tempo/server/internal/request-body.test.ts +0 -210
- package/src/tempo/server/internal/request-body.ts +0 -61
- package/src/tempo/server/internal/transport.test.ts +0 -903
- package/src/tempo/server/internal/transport.ts +0 -310
- package/src/tempo/session/README.md +0 -208
- package/src/tempo/session/Snapshot.test.ts +0 -41
- package/src/tempo/session/Snapshot.ts +0 -95
- package/src/tempo/session/client/ChannelOps.test.ts +0 -218
- package/src/tempo/session/client/ChannelOps.ts +0 -348
- package/src/tempo/session/client/ChannelStore.ts +0 -111
- package/src/tempo/session/client/CredentialState.test.ts +0 -789
- package/src/tempo/session/client/CredentialState.ts +0 -942
- package/src/tempo/session/client/ReceiptCoordinator.ts +0 -95
- package/src/tempo/session/client/Runtime.test.ts +0 -1104
- package/src/tempo/session/client/Runtime.ts +0 -1008
- package/src/tempo/session/client/Session.test.ts +0 -1355
- package/src/tempo/session/client/Session.ts +0 -420
- package/src/tempo/session/client/SessionManager.test.ts +0 -1899
- package/src/tempo/session/client/SessionManager.ts +0 -996
- package/src/tempo/session/client/Transports.test.ts +0 -1141
- package/src/tempo/session/client/Transports.ts +0 -1534
- package/src/tempo/session/client/index.ts +0 -40
- package/src/tempo/session/client/internal/SessionManager.ts +0 -36
- package/src/tempo/session/index.ts +0 -7
- package/src/tempo/session/precompile/Chain.integration.test.ts +0 -339
- package/src/tempo/session/precompile/Chain.test.ts +0 -1641
- package/src/tempo/session/precompile/Chain.ts +0 -1149
- package/src/tempo/session/precompile/Channel.test.ts +0 -147
- package/src/tempo/session/precompile/Channel.ts +0 -108
- package/src/tempo/session/precompile/Protocol.test.ts +0 -358
- package/src/tempo/session/precompile/Protocol.ts +0 -520
- package/src/tempo/session/precompile/Voucher.test.ts +0 -354
- package/src/tempo/session/precompile/Voucher.ts +0 -162
- package/src/tempo/session/precompile/escrow.abi.ts +0 -226
- package/src/tempo/session/precompile/index.ts +0 -33
- package/src/tempo/session/server/ChannelOps.test.ts +0 -129
- package/src/tempo/session/server/ChannelOps.ts +0 -157
- package/src/tempo/session/server/ChannelStore.test.ts +0 -1093
- package/src/tempo/session/server/ChannelStore.ts +0 -835
- package/src/tempo/session/server/CredentialVerification.test.ts +0 -299
- package/src/tempo/session/server/CredentialVerification.ts +0 -775
- package/src/tempo/session/server/MeteredStream.ts +0 -95
- package/src/tempo/session/server/RequestState.test.ts +0 -574
- package/src/tempo/session/server/RequestState.ts +0 -507
- package/src/tempo/session/server/Session.integration.test.ts +0 -449
- package/src/tempo/session/server/Session.test.ts +0 -3862
- package/src/tempo/session/server/Session.ts +0 -570
- package/src/tempo/session/server/Settlement.test.ts +0 -345
- package/src/tempo/session/server/Settlement.ts +0 -527
- package/src/tempo/session/server/Sse.fuzz.test.ts +0 -138
- package/src/tempo/session/server/Sse.test.ts +0 -557
- package/src/tempo/session/server/Sse.ts +0 -254
- package/src/tempo/session/server/Transports.test.ts +0 -346
- package/src/tempo/session/server/Transports.ts +0 -255
- package/src/tempo/session/server/Ws.test.ts +0 -594
- package/src/tempo/session/server/Ws.ts +0 -385
- package/src/tempo/session/server/index.ts +0 -12
- package/src/tempo/subscription/KeyAuthorization.test.ts +0 -282
- package/src/tempo/subscription/KeyAuthorization.ts +0 -396
- package/src/tempo/subscription/Receipt.ts +0 -28
- package/src/tempo/subscription/Store.test.ts +0 -609
- package/src/tempo/subscription/Store.ts +0 -449
- package/src/tempo/subscription/Types.ts +0 -68
- package/src/tempo/subscription/index.ts +0 -23
- package/src/tsconfig.json +0 -10
- package/src/validation/core.ts +0 -386
- package/src/validation/index.ts +0 -11
- package/src/viem/Account.test.ts +0 -72
- package/src/viem/Account.ts +0 -30
- package/src/viem/Client.test.ts +0 -366
- package/src/viem/Client.ts +0 -93
- package/src/x402/Assets.test.ts +0 -253
- package/src/x402/Assets.ts +0 -221
- package/src/x402/Exact.e2e.test.ts +0 -448
- package/src/x402/Exact.localnet.test.ts +0 -475
- package/src/x402/Header.test.ts +0 -73
- package/src/x402/Header.ts +0 -79
- package/src/x402/PublicInterface.test-d.ts +0 -39
- package/src/x402/Types.ts +0 -248
- package/src/x402/client/Exact.test.ts +0 -309
- package/src/x402/client/Exact.ts +0 -186
- package/src/x402/index.ts +0 -6
- package/src/x402/internal/ChallengeBrand.ts +0 -14
- package/src/x402/internal/RouteBinding.ts +0 -18
- package/src/x402/server/EvmCharge.ts +0 -394
- package/src/x402/server/Facilitator.test.ts +0 -111
- package/src/x402/server/Facilitator.ts +0 -56
- package/src/zod.test.ts +0 -169
- package/src/zod.ts +0 -71
package/dist/server/Mppx.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { isDeepStrictEqual } from 'node:util';
|
|
2
|
+
import * as AttestationServer from '../attestation/Server.js';
|
|
2
3
|
import * as Challenge from '../Challenge.js';
|
|
3
4
|
import * as Constants from '../Constants.js';
|
|
4
5
|
import * as Credential from '../Credential.js';
|
|
@@ -6,7 +7,6 @@ import * as Errors from '../Errors.js';
|
|
|
6
7
|
import * as Expires from '../Expires.js';
|
|
7
8
|
import * as AcceptPayment from '../internal/AcceptPayment.js';
|
|
8
9
|
import * as Env from '../internal/env.js';
|
|
9
|
-
import * as Method from '../Method.js';
|
|
10
10
|
import * as PaymentRequest from '../PaymentRequest.js';
|
|
11
11
|
import * as x402_Header from '../x402/Header.js';
|
|
12
12
|
import * as x402_Types from '../x402/Types.js';
|
|
@@ -52,21 +52,36 @@ export const reservedMppxKeys = new Set(reservedMppxKeyValues);
|
|
|
52
52
|
* ```
|
|
53
53
|
*/
|
|
54
54
|
export function create(config) {
|
|
55
|
-
const { realm = Env.get('realm'), secretKey = Env.get('secretKey'), transport = Transport.http(), } = config;
|
|
55
|
+
const { attestation, realm = Env.get('realm'), selectOffers, secretKey = Env.get('secretKey'), transport = Transport.http(), } = config;
|
|
56
56
|
if (!secretKey) {
|
|
57
57
|
throw new Error('Missing secret key. Set the MPP_SECRET_KEY environment variable or pass `secretKey` to Mppx.create().');
|
|
58
58
|
}
|
|
59
59
|
assertSecretKey(secretKey);
|
|
60
60
|
const methods = config.methods.flat();
|
|
61
61
|
const serverEvents = createServerEventDispatcher();
|
|
62
|
+
const verifyAttestation = attestation
|
|
63
|
+
? createAttestationGuard(attestation)
|
|
64
|
+
: undefined;
|
|
62
65
|
const handlers = {};
|
|
63
66
|
const intentCount = {};
|
|
64
67
|
for (const mi of methods) {
|
|
65
68
|
intentCount[mi.intent] = (intentCount[mi.intent] ?? 0) + 1;
|
|
69
|
+
if (mi.onPaymentSuccess) {
|
|
70
|
+
serverEvents.on('payment.success', (async (ctx) => {
|
|
71
|
+
if (ctx.method.name === mi.name && ctx.method.intent === mi.intent) {
|
|
72
|
+
await mi.onPaymentSuccess({
|
|
73
|
+
input: ctx.input,
|
|
74
|
+
receipt: ctx.receipt,
|
|
75
|
+
request: ctx.request,
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}));
|
|
79
|
+
}
|
|
66
80
|
}
|
|
67
81
|
assertNoReservedMppxKeys(methods);
|
|
68
82
|
for (const mi of methods) {
|
|
69
83
|
const fn = createMethodFn({
|
|
84
|
+
...(verifyAttestation && { attest: verifyAttestation }),
|
|
70
85
|
authorize: mi.authorize,
|
|
71
86
|
defaults: mi.defaults,
|
|
72
87
|
method: mi,
|
|
@@ -91,10 +106,27 @@ export function create(config) {
|
|
|
91
106
|
if (aliasKey)
|
|
92
107
|
handlers[aliasKey] = fn;
|
|
93
108
|
}
|
|
94
|
-
//
|
|
109
|
+
// Set shorthand intent key: single method gets direct handler,
|
|
110
|
+
// multiple methods get an implicit compose wrapper.
|
|
111
|
+
const processedIntents = new Set();
|
|
95
112
|
for (const mi of methods) {
|
|
96
|
-
if (
|
|
113
|
+
if (processedIntents.has(mi.intent))
|
|
114
|
+
continue;
|
|
115
|
+
processedIntents.add(mi.intent);
|
|
116
|
+
if (intentCount[mi.intent] === 1) {
|
|
97
117
|
handlers[mi.intent] = handlers[`${mi.name}/${mi.intent}`];
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
const intentMethods = methods.filter((m) => m.intent === mi.intent);
|
|
121
|
+
handlers[mi.intent] = (options) => {
|
|
122
|
+
const configured = intentMethods.map((m) => {
|
|
123
|
+
const key = `${m.name}/${m.intent}`;
|
|
124
|
+
const handlerFn = handlers[key];
|
|
125
|
+
return handlerFn(options);
|
|
126
|
+
});
|
|
127
|
+
return composeHandlers(configured, undefined, selectOffers);
|
|
128
|
+
};
|
|
129
|
+
}
|
|
98
130
|
}
|
|
99
131
|
// Build nested handlers: mppx.tempo.charge(...)
|
|
100
132
|
for (const mi of methods) {
|
|
@@ -123,7 +155,7 @@ export function create(config) {
|
|
|
123
155
|
const emitFailures = parameters.emitFailures === true;
|
|
124
156
|
const { method: credMethod, intent: credIntent } = credential.challenge;
|
|
125
157
|
const methodCandidates = methods.filter((m) => m.name === credMethod && m.intent === credIntent);
|
|
126
|
-
const mi =
|
|
158
|
+
const mi = methodCandidates[0];
|
|
127
159
|
const eventMethod = mi ?? { intent: credIntent, name: credMethod };
|
|
128
160
|
const emitStandalonePaymentFailed = async (failure) => {
|
|
129
161
|
if (!emitFailures)
|
|
@@ -316,7 +348,7 @@ export function create(config) {
|
|
|
316
348
|
throw new Error(`No handler for "${key}". Is this method in your methods array?`);
|
|
317
349
|
return handlerFn(options);
|
|
318
350
|
});
|
|
319
|
-
return
|
|
351
|
+
return composeHandlers(configured, undefined, selectOffers);
|
|
320
352
|
}
|
|
321
353
|
function onChallengeCreated(handler) {
|
|
322
354
|
return serverEvents.on('challenge.created', handler);
|
|
@@ -351,7 +383,7 @@ function assertSecretKey(secretKey) {
|
|
|
351
383
|
}
|
|
352
384
|
// biome-ignore lint/correctness/noUnusedVariables: _
|
|
353
385
|
function createMethodFn(parameters) {
|
|
354
|
-
const { authorize, defaults, events, method, preflight, realm, respond, secretKey, broadcast, stableBinding, transport, validate, verify, } = parameters;
|
|
386
|
+
const { attest, authorize, defaults, events, method, preflight, realm, respond, secretKey, broadcast, stableBinding, transport, validate, verify, } = parameters;
|
|
355
387
|
return (options) => {
|
|
356
388
|
const { description, meta, scope, ...rest } = options;
|
|
357
389
|
const staticMeta = Scope.merge({ meta, scope });
|
|
@@ -366,7 +398,18 @@ function createMethodFn(parameters) {
|
|
|
366
398
|
_canonicalRequest: PaymentRequest.fromMethod(method, { ...defaults, ...rest }),
|
|
367
399
|
_stableBinding: stableBinding,
|
|
368
400
|
};
|
|
401
|
+
Object.defineProperty(internal, '_method', { value: method });
|
|
369
402
|
const handler = async (input) => {
|
|
403
|
+
if (attest && input instanceof globalThis.Request) {
|
|
404
|
+
const response = await attest(input);
|
|
405
|
+
if (response)
|
|
406
|
+
return {
|
|
407
|
+
status: 200,
|
|
408
|
+
withReceipt() {
|
|
409
|
+
return response;
|
|
410
|
+
},
|
|
411
|
+
};
|
|
412
|
+
}
|
|
370
413
|
if (method.html && isServiceWorkerRequest(input))
|
|
371
414
|
return {
|
|
372
415
|
status: 402,
|
|
@@ -827,6 +870,33 @@ function createChallengeFn(parameters) {
|
|
|
827
870
|
}).then((resolved) => resolved.challenge);
|
|
828
871
|
};
|
|
829
872
|
}
|
|
873
|
+
function createAttestationGuard(verifiers) {
|
|
874
|
+
const entries = Object.entries(verifiers);
|
|
875
|
+
if (entries.length === 0)
|
|
876
|
+
throw new TypeError('Mppx server attestation must configure at least one verifier.');
|
|
877
|
+
const cache = new WeakMap();
|
|
878
|
+
return (request) => {
|
|
879
|
+
const cached = cache.get(request);
|
|
880
|
+
if (cached)
|
|
881
|
+
return cached;
|
|
882
|
+
const verification = AttestationServer.verify(request, verifiers).then((outcomes) => {
|
|
883
|
+
for (const [name, outcome] of Object.entries(outcomes))
|
|
884
|
+
if (outcome.status === 'invalid')
|
|
885
|
+
return new globalThis.Response(`Request attestation "${name}" is invalid: ${outcome.reason}`, { status: 401 });
|
|
886
|
+
for (const [name, outcome] of Object.entries(outcomes)) {
|
|
887
|
+
if (outcome.status === 'verified')
|
|
888
|
+
continue;
|
|
889
|
+
const reason = outcome.status === 'unverified'
|
|
890
|
+
? `Request attestation "${name}" could not be verified: ${outcome.reason}`
|
|
891
|
+
: `Request attestation "${name}" is required.`;
|
|
892
|
+
return new globalThis.Response(reason, { status: 403 });
|
|
893
|
+
}
|
|
894
|
+
return undefined;
|
|
895
|
+
});
|
|
896
|
+
cache.set(request, verification);
|
|
897
|
+
return verification;
|
|
898
|
+
};
|
|
899
|
+
}
|
|
830
900
|
function createServerEventDispatcher() {
|
|
831
901
|
const handlers = {
|
|
832
902
|
'*': new Set(),
|
|
@@ -1303,9 +1373,20 @@ export function compose(...args) {
|
|
|
1303
1373
|
})()
|
|
1304
1374
|
: undefined;
|
|
1305
1375
|
const handlers = (composeOptions ? args.slice(0, -1) : args);
|
|
1376
|
+
return composeHandlers(handlers, composeOptions);
|
|
1377
|
+
}
|
|
1378
|
+
function composeHandlers(handlers, composeOptions, selectOffers) {
|
|
1306
1379
|
if (handlers.length === 0)
|
|
1307
1380
|
throw new Error('compose() requires at least one handler');
|
|
1308
|
-
|
|
1381
|
+
const offerSelector = selectOffers;
|
|
1382
|
+
const offerEntries = handlers.map((handler) => {
|
|
1383
|
+
const internal = handler._internal;
|
|
1384
|
+
const offer = internal && !isComposedHandlerMetadata(internal) ? createServerOffer(internal) : undefined;
|
|
1385
|
+
const method = internal && !isComposedHandlerMetadata(internal) ? internal._method : undefined;
|
|
1386
|
+
return { handler, method, offer };
|
|
1387
|
+
});
|
|
1388
|
+
const hasOfferPolicy = offerSelector !== undefined || offerEntries.some(({ method }) => method?.canOffer !== undefined);
|
|
1389
|
+
const composed = async (input) => {
|
|
1309
1390
|
// Serve service worker for html-enabled compose
|
|
1310
1391
|
if (new URL(input.url).searchParams.has(Html.params.serviceWorker)) {
|
|
1311
1392
|
const hasHtml = handlers.some((h) => h._internal?.html);
|
|
@@ -1337,14 +1418,13 @@ export function compose(...args) {
|
|
|
1337
1418
|
const { method: credMethod, intent: credIntent } = credential.challenge;
|
|
1338
1419
|
const credReq = credential.challenge.request;
|
|
1339
1420
|
// Filter by name+intent, then narrow by comparing stable request fields
|
|
1340
|
-
// from the echoed challenge against each handler's
|
|
1421
|
+
// from the echoed challenge against each handler's configured offers.
|
|
1341
1422
|
// Uses the schema-parsed canonical form (not raw options) so that
|
|
1342
1423
|
// transformed fields (e.g. amount with decimals) match correctly.
|
|
1343
1424
|
// Also checks inside methodDetails for fields moved there by transforms.
|
|
1344
|
-
const candidates = handlers.filter((
|
|
1425
|
+
const candidates = handlers.filter((handler) => getConfiguredOffers(handler).some((internal) => {
|
|
1345
1426
|
try {
|
|
1346
|
-
|
|
1347
|
-
if (!internal || internal.name !== credMethod || internal.intent !== credIntent)
|
|
1427
|
+
if (internal.name !== credMethod || internal.intent !== credIntent)
|
|
1348
1428
|
return false;
|
|
1349
1429
|
const mismatch = internal._stableBinding
|
|
1350
1430
|
? getRequestBindingMismatch(getStableBinding(internal._canonicalRequest, internal._stableBinding), getStableBinding(credReq, internal._stableBinding))
|
|
@@ -1354,23 +1434,26 @@ export function compose(...args) {
|
|
|
1354
1434
|
catch {
|
|
1355
1435
|
return false;
|
|
1356
1436
|
}
|
|
1357
|
-
});
|
|
1437
|
+
}));
|
|
1358
1438
|
const match = candidates[0] ??
|
|
1359
|
-
handlers.find((
|
|
1360
|
-
const meta = h._internal;
|
|
1361
|
-
return meta?.name === credMethod && meta?.intent === credIntent;
|
|
1362
|
-
});
|
|
1439
|
+
handlers.find((handler) => getConfiguredOffers(handler).some((internal) => internal.name === credMethod && internal.intent === credIntent));
|
|
1363
1440
|
if (match)
|
|
1364
1441
|
return match(input);
|
|
1365
1442
|
}
|
|
1366
|
-
//
|
|
1367
|
-
//
|
|
1368
|
-
return handlers[0](input);
|
|
1443
|
+
// Unrecognized or malformed credentials still use the currently eligible
|
|
1444
|
+
// offer set before the first handler issues its rejection challenge.
|
|
1369
1445
|
}
|
|
1446
|
+
const selectedHandlers = hasOfferPolicy
|
|
1447
|
+
? await selectOfferHandlers({
|
|
1448
|
+
entries: offerEntries,
|
|
1449
|
+
input,
|
|
1450
|
+
selectOffers: offerSelector,
|
|
1451
|
+
})
|
|
1452
|
+
: handlers;
|
|
1370
1453
|
// No credential — evaluate handlers sequentially so authorize()/renewal hooks
|
|
1371
1454
|
// can safely claim the request without racing each other.
|
|
1372
1455
|
const results = [];
|
|
1373
|
-
for (const handler of
|
|
1456
|
+
for (const handler of selectedHandlers) {
|
|
1374
1457
|
const result = await handler(input);
|
|
1375
1458
|
if (result.status === 200)
|
|
1376
1459
|
return result;
|
|
@@ -1378,7 +1461,7 @@ export function compose(...args) {
|
|
|
1378
1461
|
}
|
|
1379
1462
|
const challengeEntries = (() => {
|
|
1380
1463
|
const entries = [];
|
|
1381
|
-
for (let i = 0; i <
|
|
1464
|
+
for (let i = 0; i < selectedHandlers.length; i++) {
|
|
1382
1465
|
const result = results[i];
|
|
1383
1466
|
if (result?.status !== 402)
|
|
1384
1467
|
continue;
|
|
@@ -1387,7 +1470,7 @@ export function compose(...args) {
|
|
|
1387
1470
|
if (!wwwAuth)
|
|
1388
1471
|
continue;
|
|
1389
1472
|
entries.push({
|
|
1390
|
-
handler:
|
|
1473
|
+
handler: selectedHandlers[i],
|
|
1391
1474
|
challenge: Challenge.deserialize(wwwAuth),
|
|
1392
1475
|
result,
|
|
1393
1476
|
});
|
|
@@ -1488,6 +1571,101 @@ export function compose(...args) {
|
|
|
1488
1571
|
challenge: new Response(body, { status: 402, headers: mergedHeaders }),
|
|
1489
1572
|
};
|
|
1490
1573
|
};
|
|
1574
|
+
const offers = handlers.flatMap(getConfiguredOffers);
|
|
1575
|
+
if (offers.length > 0)
|
|
1576
|
+
composed._internal = { offers };
|
|
1577
|
+
return composed;
|
|
1578
|
+
}
|
|
1579
|
+
/** Returns the flattened configured offers accepted by a handler. */
|
|
1580
|
+
function getConfiguredOffers(handler) {
|
|
1581
|
+
const internal = handler._internal;
|
|
1582
|
+
if (!internal)
|
|
1583
|
+
return [];
|
|
1584
|
+
if (isComposedHandlerMetadata(internal))
|
|
1585
|
+
return internal.offers;
|
|
1586
|
+
return [internal];
|
|
1587
|
+
}
|
|
1588
|
+
function isComposedHandlerMetadata(internal) {
|
|
1589
|
+
return 'offers' in internal && !('_canonicalRequest' in internal);
|
|
1590
|
+
}
|
|
1591
|
+
function createServerOffer(internal) {
|
|
1592
|
+
return Object.freeze({
|
|
1593
|
+
key: `${internal.name}/${internal.intent}`,
|
|
1594
|
+
method: Object.freeze({
|
|
1595
|
+
...(internal._method.alias ? { alias: internal._method.alias } : {}),
|
|
1596
|
+
intent: internal.intent,
|
|
1597
|
+
name: internal.name,
|
|
1598
|
+
}),
|
|
1599
|
+
request: immutableSnapshot(internal._canonicalRequest),
|
|
1600
|
+
});
|
|
1601
|
+
}
|
|
1602
|
+
/** Applies and validates the server-level offer selection policy. */
|
|
1603
|
+
async function selectOfferHandlers(parameters) {
|
|
1604
|
+
const { entries, input, selectOffers } = parameters;
|
|
1605
|
+
const eligibleEntries = [];
|
|
1606
|
+
for (const entry of entries) {
|
|
1607
|
+
const canOffer = entry.method?.canOffer;
|
|
1608
|
+
if (canOffer) {
|
|
1609
|
+
const approved = await canOffer({
|
|
1610
|
+
input: cloneOfferInput(input),
|
|
1611
|
+
request: entry.offer.request,
|
|
1612
|
+
});
|
|
1613
|
+
if (typeof approved !== 'boolean')
|
|
1614
|
+
throw new Error('canOffer() must return a boolean');
|
|
1615
|
+
if (!approved)
|
|
1616
|
+
continue;
|
|
1617
|
+
}
|
|
1618
|
+
eligibleEntries.push(entry);
|
|
1619
|
+
}
|
|
1620
|
+
if (eligibleEntries.length === 0)
|
|
1621
|
+
throw new Error('No payment offers are available for this request');
|
|
1622
|
+
if (!selectOffers)
|
|
1623
|
+
return eligibleEntries.map(({ handler }) => handler);
|
|
1624
|
+
const offers = eligibleEntries.map(({ offer }) => {
|
|
1625
|
+
if (!offer)
|
|
1626
|
+
throw new Error('selectOffers() can only select configured payment offers');
|
|
1627
|
+
return offer;
|
|
1628
|
+
});
|
|
1629
|
+
const selected = await selectOffers(Object.freeze(offers), Object.freeze({ request: cloneOfferInput(input) }));
|
|
1630
|
+
if (!Array.isArray(selected))
|
|
1631
|
+
throw new Error('selectOffers() must return an array of offers');
|
|
1632
|
+
if (selected.length === 0)
|
|
1633
|
+
throw new Error('selectOffers() must select at least one offer');
|
|
1634
|
+
let previousIndex = -1;
|
|
1635
|
+
const selectedHandlers = selected.map((offer) => {
|
|
1636
|
+
const index = offers.indexOf(offer);
|
|
1637
|
+
if (index === -1)
|
|
1638
|
+
throw new Error('selectOffers() must return only offers from its input array');
|
|
1639
|
+
if (index <= previousIndex)
|
|
1640
|
+
throw new Error('selectOffers() must preserve offer order and must not return duplicates');
|
|
1641
|
+
previousIndex = index;
|
|
1642
|
+
return eligibleEntries[index].handler;
|
|
1643
|
+
});
|
|
1644
|
+
return selectedHandlers;
|
|
1645
|
+
}
|
|
1646
|
+
/** Clones a request for offer hooks, falling back to a bodyless metadata copy. */
|
|
1647
|
+
function cloneOfferInput(input) {
|
|
1648
|
+
try {
|
|
1649
|
+
return input.clone();
|
|
1650
|
+
}
|
|
1651
|
+
catch {
|
|
1652
|
+
return new globalThis.Request(input.url, {
|
|
1653
|
+
headers: new Headers(input.headers),
|
|
1654
|
+
method: input.method,
|
|
1655
|
+
signal: input.signal,
|
|
1656
|
+
});
|
|
1657
|
+
}
|
|
1658
|
+
}
|
|
1659
|
+
/** Clones and recursively freezes protocol data exposed to offer hooks. */
|
|
1660
|
+
function immutableSnapshot(value) {
|
|
1661
|
+
return deepFreeze(structuredClone(value));
|
|
1662
|
+
}
|
|
1663
|
+
function deepFreeze(value) {
|
|
1664
|
+
if (!value || typeof value !== 'object' || Object.isFrozen(value))
|
|
1665
|
+
return value;
|
|
1666
|
+
for (const nested of Object.values(value))
|
|
1667
|
+
deepFreeze(nested);
|
|
1668
|
+
return Object.freeze(value);
|
|
1491
1669
|
}
|
|
1492
1670
|
function mergeX402PaymentRequiredHeaders(values) {
|
|
1493
1671
|
if (values.length === 0)
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * as Constants from '../Constants.js';
|
|
2
|
+
export * as Expires from '../Expires.js';
|
|
3
|
+
export * as Store from '../Store.js';
|
|
4
|
+
export * as Mppx from './Mppx.js';
|
|
5
|
+
export * as NodeListener from './NodeListener.js';
|
|
6
|
+
export * as Request from './Request.js';
|
|
7
|
+
export * as Response from './Response.js';
|
|
8
|
+
export * as Transport from './Transport.js';
|
|
9
|
+
//# sourceMappingURL=core.d.ts.map
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * as Constants from '../Constants.js';
|
|
2
|
+
export * as Expires from '../Expires.js';
|
|
3
|
+
export * as Store from '../Store.js';
|
|
4
|
+
export * as Mppx from './Mppx.js';
|
|
5
|
+
export * as NodeListener from './NodeListener.js';
|
|
6
|
+
export * as Request from './Request.js';
|
|
7
|
+
export * as Response from './Response.js';
|
|
8
|
+
export * as Transport from './Transport.js';
|
|
9
|
+
//# sourceMappingURL=core.js.map
|
|
@@ -41,10 +41,10 @@ export declare const vars: {
|
|
|
41
41
|
readonly spacingUnit: CssVar;
|
|
42
42
|
};
|
|
43
43
|
export declare const defaultText: {
|
|
44
|
-
readonly expires:
|
|
45
|
-
readonly pay:
|
|
46
|
-
readonly paymentRequired:
|
|
47
|
-
readonly title:
|
|
44
|
+
readonly expires: 'Expires at';
|
|
45
|
+
readonly pay: 'Pay';
|
|
46
|
+
readonly paymentRequired: 'Payment Required';
|
|
47
|
+
readonly title: 'Payment Required';
|
|
48
48
|
};
|
|
49
49
|
export type Text = {
|
|
50
50
|
/** Prefix for the expiry line. @default 'Expires at' */
|
|
@@ -57,11 +57,11 @@ export type Text = {
|
|
|
57
57
|
title?: string | undefined;
|
|
58
58
|
};
|
|
59
59
|
export declare const defaultTheme: {
|
|
60
|
-
readonly colorScheme:
|
|
61
|
-
readonly fontFamily:
|
|
62
|
-
readonly fontSizeBase:
|
|
63
|
-
readonly radius:
|
|
64
|
-
readonly spacingUnit:
|
|
60
|
+
readonly colorScheme: 'light dark';
|
|
61
|
+
readonly fontFamily: 'system-ui, -apple-system, sans-serif';
|
|
62
|
+
readonly fontSizeBase: '16px';
|
|
63
|
+
readonly radius: '6px';
|
|
64
|
+
readonly spacingUnit: '2px';
|
|
65
65
|
readonly accent: readonly ["#171717", "#ededed"];
|
|
66
66
|
readonly background: readonly ["#ffffff", "#0a0a0a"];
|
|
67
67
|
readonly border: readonly ["#e5e5e5", "#2e2e2e"];
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
export declare const ids: {
|
|
2
|
-
readonly data:
|
|
3
|
-
readonly error:
|
|
4
|
-
readonly root:
|
|
2
|
+
readonly data: '__MPPX_DATA__';
|
|
3
|
+
readonly error: 'root_error';
|
|
4
|
+
readonly root: 'root';
|
|
5
5
|
};
|
|
6
6
|
export declare const params: {
|
|
7
|
-
readonly serviceWorker:
|
|
8
|
-
readonly tab:
|
|
7
|
+
readonly serviceWorker: '__mppx_worker';
|
|
8
|
+
readonly tab: '__mppx_tab';
|
|
9
9
|
};
|
|
10
10
|
export declare const attrs: {
|
|
11
|
-
readonly challengeId:
|
|
12
|
-
readonly remaining:
|
|
11
|
+
readonly challengeId: 'data-mppx-challenge-id';
|
|
12
|
+
readonly remaining: 'data-remaining';
|
|
13
13
|
};
|
|
14
14
|
export declare const classNames: {
|
|
15
|
-
readonly error:
|
|
16
|
-
readonly header:
|
|
17
|
-
readonly logo:
|
|
18
|
-
readonly summary:
|
|
19
|
-
readonly summaryAmount:
|
|
20
|
-
readonly summaryDescription:
|
|
21
|
-
readonly summaryExpires:
|
|
22
|
-
readonly tab:
|
|
23
|
-
readonly tabList:
|
|
24
|
-
readonly tabPanel:
|
|
15
|
+
readonly error: 'mppx-error';
|
|
16
|
+
readonly header: 'mppx-header';
|
|
17
|
+
readonly logo: 'mppx-logo';
|
|
18
|
+
readonly summary: 'mppx-summary';
|
|
19
|
+
readonly summaryAmount: 'mppx-summary-amount';
|
|
20
|
+
readonly summaryDescription: 'mppx-summary-description';
|
|
21
|
+
readonly summaryExpires: 'mppx-summary-expires';
|
|
22
|
+
readonly tab: 'mppx-tab';
|
|
23
|
+
readonly tabList: 'mppx-tablist';
|
|
24
|
+
readonly tabPanel: 'mppx-tabpanel';
|
|
25
25
|
};
|
|
26
26
|
//# sourceMappingURL=constants.d.ts.map
|
package/dist/stripe/Methods.d.ts
CHANGED
|
@@ -8,13 +8,13 @@ export declare const charge: {
|
|
|
8
8
|
readonly name: "stripe";
|
|
9
9
|
readonly intent: "charge";
|
|
10
10
|
readonly schema: {
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
credential: {
|
|
12
|
+
payload: z.ZodMiniObject<{
|
|
13
13
|
externalId: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
14
14
|
spt: z.ZodMiniString<string>;
|
|
15
15
|
}, z.core.$strip>;
|
|
16
16
|
};
|
|
17
|
-
|
|
17
|
+
request: z.ZodMiniPipe<z.ZodMiniObject<{
|
|
18
18
|
amount: z.ZodMiniString<string>;
|
|
19
19
|
currency: z.ZodMiniString<string>;
|
|
20
20
|
decimals: z.ZodMiniNumber<number>;
|
|
@@ -25,25 +25,25 @@ export declare const charge: {
|
|
|
25
25
|
paymentMethodTypes: z.ZodMiniArray<z.ZodMiniString<string>>;
|
|
26
26
|
recipient: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
27
27
|
}, z.core.$strip>, z.ZodMiniTransform<{
|
|
28
|
+
currency: string;
|
|
29
|
+
description?: string | undefined;
|
|
30
|
+
externalId?: string | undefined;
|
|
31
|
+
recipient?: string | undefined;
|
|
28
32
|
amount: string;
|
|
29
33
|
methodDetails: {
|
|
30
|
-
metadata?: Record<string, string> | undefined;
|
|
31
34
|
networkId: string;
|
|
32
35
|
paymentMethodTypes: string[];
|
|
36
|
+
metadata?: Record<string, string> | undefined;
|
|
33
37
|
};
|
|
34
|
-
currency: string;
|
|
35
|
-
description?: string | undefined;
|
|
36
|
-
externalId?: string | undefined;
|
|
37
|
-
recipient?: string | undefined;
|
|
38
38
|
}, {
|
|
39
39
|
amount: string;
|
|
40
40
|
currency: string;
|
|
41
41
|
decimals: number;
|
|
42
|
-
networkId: string;
|
|
43
|
-
paymentMethodTypes: string[];
|
|
44
42
|
description?: string | undefined;
|
|
45
43
|
externalId?: string | undefined;
|
|
46
44
|
metadata?: Record<string, string> | undefined;
|
|
45
|
+
networkId: string;
|
|
46
|
+
paymentMethodTypes: string[];
|
|
47
47
|
recipient?: string | undefined;
|
|
48
48
|
}>>;
|
|
49
49
|
};
|
|
@@ -41,13 +41,13 @@ export declare function charge(parameters: charge.Parameters): Method.Client<{
|
|
|
41
41
|
readonly name: "stripe";
|
|
42
42
|
readonly intent: "charge";
|
|
43
43
|
readonly schema: {
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
credential: {
|
|
45
|
+
payload: z.ZodMiniObject<{
|
|
46
46
|
externalId: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
47
47
|
spt: z.ZodMiniString<string>;
|
|
48
48
|
}, z.core.$strip>;
|
|
49
49
|
};
|
|
50
|
-
|
|
50
|
+
request: z.ZodMiniPipe<z.ZodMiniObject<{
|
|
51
51
|
amount: z.ZodMiniString<string>;
|
|
52
52
|
currency: z.ZodMiniString<string>;
|
|
53
53
|
decimals: z.ZodMiniNumber<number>;
|
|
@@ -58,25 +58,25 @@ export declare function charge(parameters: charge.Parameters): Method.Client<{
|
|
|
58
58
|
paymentMethodTypes: z.ZodMiniArray<z.ZodMiniString<string>>;
|
|
59
59
|
recipient: z.ZodMiniOptional<z.ZodMiniString<string>>;
|
|
60
60
|
}, z.core.$strip>, z.ZodMiniTransform<{
|
|
61
|
+
currency: string;
|
|
62
|
+
description?: string | undefined;
|
|
63
|
+
externalId?: string | undefined;
|
|
64
|
+
recipient?: string | undefined;
|
|
61
65
|
amount: string;
|
|
62
66
|
methodDetails: {
|
|
63
|
-
metadata?: Record<string, string> | undefined;
|
|
64
67
|
networkId: string;
|
|
65
68
|
paymentMethodTypes: string[];
|
|
69
|
+
metadata?: Record<string, string> | undefined;
|
|
66
70
|
};
|
|
67
|
-
currency: string;
|
|
68
|
-
description?: string | undefined;
|
|
69
|
-
externalId?: string | undefined;
|
|
70
|
-
recipient?: string | undefined;
|
|
71
71
|
}, {
|
|
72
72
|
amount: string;
|
|
73
73
|
currency: string;
|
|
74
74
|
decimals: number;
|
|
75
|
-
networkId: string;
|
|
76
|
-
paymentMethodTypes: string[];
|
|
77
75
|
description?: string | undefined;
|
|
78
76
|
externalId?: string | undefined;
|
|
79
77
|
metadata?: Record<string, string> | undefined;
|
|
78
|
+
networkId: string;
|
|
79
|
+
paymentMethodTypes: string[];
|
|
80
80
|
recipient?: string | undefined;
|
|
81
81
|
}>>;
|
|
82
82
|
};
|
|
@@ -28,13 +28,13 @@ export declare function stripe(parameters: stripe.Parameters): readonly [import(
|
|
|
28
28
|
readonly name: "stripe";
|
|
29
29
|
readonly intent: "charge";
|
|
30
30
|
readonly schema: {
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
credential: {
|
|
32
|
+
payload: import("zod/mini").ZodMiniObject<{
|
|
33
33
|
externalId: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniString<string>>;
|
|
34
34
|
spt: import("zod/mini").ZodMiniString<string>;
|
|
35
35
|
}, import("zod/v4/core").$strip>;
|
|
36
36
|
};
|
|
37
|
-
|
|
37
|
+
request: import("zod/mini").ZodMiniPipe<import("zod/mini").ZodMiniObject<{
|
|
38
38
|
amount: import("zod/mini").ZodMiniString<string>;
|
|
39
39
|
currency: import("zod/mini").ZodMiniString<string>;
|
|
40
40
|
decimals: import("zod/mini").ZodMiniNumber<number>;
|
|
@@ -45,25 +45,25 @@ export declare function stripe(parameters: stripe.Parameters): readonly [import(
|
|
|
45
45
|
paymentMethodTypes: import("zod/mini").ZodMiniArray<import("zod/mini").ZodMiniString<string>>;
|
|
46
46
|
recipient: import("zod/mini").ZodMiniOptional<import("zod/mini").ZodMiniString<string>>;
|
|
47
47
|
}, import("zod/v4/core").$strip>, import("zod/mini").ZodMiniTransform<{
|
|
48
|
+
currency: string;
|
|
49
|
+
description?: string | undefined;
|
|
50
|
+
externalId?: string | undefined;
|
|
51
|
+
recipient?: string | undefined;
|
|
48
52
|
amount: string;
|
|
49
53
|
methodDetails: {
|
|
50
|
-
metadata?: Record<string, string> | undefined;
|
|
51
54
|
networkId: string;
|
|
52
55
|
paymentMethodTypes: string[];
|
|
56
|
+
metadata?: Record<string, string> | undefined;
|
|
53
57
|
};
|
|
54
|
-
currency: string;
|
|
55
|
-
description?: string | undefined;
|
|
56
|
-
externalId?: string | undefined;
|
|
57
|
-
recipient?: string | undefined;
|
|
58
58
|
}, {
|
|
59
59
|
amount: string;
|
|
60
60
|
currency: string;
|
|
61
61
|
decimals: number;
|
|
62
|
-
networkId: string;
|
|
63
|
-
paymentMethodTypes: string[];
|
|
64
62
|
description?: string | undefined;
|
|
65
63
|
externalId?: string | undefined;
|
|
66
64
|
metadata?: Record<string, string> | undefined;
|
|
65
|
+
networkId: string;
|
|
66
|
+
paymentMethodTypes: string[];
|
|
67
67
|
recipient?: string | undefined;
|
|
68
68
|
}>>;
|
|
69
69
|
};
|
|
@@ -4,5 +4,5 @@
|
|
|
4
4
|
* Required for `shared_payment_granted_token` (SPTs are in private preview).
|
|
5
5
|
* Bump this when upgrading to a newer Stripe API version.
|
|
6
6
|
*/
|
|
7
|
-
export declare const stripePreviewVersion = "2026-
|
|
7
|
+
export declare const stripePreviewVersion = "2026-07-29.preview";
|
|
8
8
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -4,5 +4,5 @@
|
|
|
4
4
|
* Required for `shared_payment_granted_token` (SPTs are in private preview).
|
|
5
5
|
* Bump this when upgrading to a newer Stripe API version.
|
|
6
6
|
*/
|
|
7
|
-
export const stripePreviewVersion = '2026-
|
|
7
|
+
export const stripePreviewVersion = '2026-07-29.preview';
|
|
8
8
|
//# sourceMappingURL=constants.js.map
|