mppx 0.8.17 → 0.8.19
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 +61 -0
- package/README.md +15 -0
- package/dist/Challenge.js +21 -4
- package/dist/bin.js +3 -3
- package/dist/cli/THIRD-PARTY-LICENSES.txt +328 -0
- package/dist/cli/cli.js +253 -1505
- 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/request.d.ts +2 -0
- package/dist/cli/sessions/request.js +18 -0
- package/dist/cli/sessions/store.js +28 -14
- package/dist/discovery/Discovery.js +2 -1
- package/dist/evm/client/Charge.js +8 -0
- package/dist/server/core.d.ts +9 -0
- package/dist/server/core.js +9 -0
- package/dist/stripe/server/Charge.js +2 -4
- package/dist/stripe/server/Methods.d.ts +2 -2
- package/dist/stripe/server/Methods.js +17 -11
- 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/spt.d.ts +8 -0
- package/dist/stripe/server/spt.js +8 -0
- package/dist/tempo/Methods.d.ts +13 -0
- package/dist/tempo/Methods.js +14 -3
- package/dist/tempo/client/Charge.d.ts +3 -0
- package/dist/tempo/client/Charge.js +31 -9
- package/dist/tempo/client/Methods.d.ts +13 -0
- package/dist/tempo/internal/defaults.d.ts +11 -0
- package/dist/tempo/internal/defaults.js +11 -0
- 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/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 +13 -1
- 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/server/Charge.d.ts +3 -0
- package/dist/tempo/server/Charge.js +58 -17
- package/dist/tempo/server/Methods.d.ts +21 -4
- package/dist/tempo/server/Methods.js +8 -4
- package/dist/tempo/server/internal/html.gen.d.ts +1 -1
- package/dist/tempo/server/internal/html.gen.js +1 -1
- 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 +17 -2
- 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 +15 -3
- 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 +10 -2
- package/dist/tempo/session/precompile/Chain.js +51 -10
- 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 +3 -1
- package/dist/tempo/session/precompile/Voucher.js +6 -12
- package/dist/tempo/session/server/ChannelStore.d.ts +6 -0
- package/dist/tempo/session/server/ChannelStore.js +11 -4
- package/dist/tempo/session/server/CredentialVerification.d.ts +11 -9
- package/dist/tempo/session/server/CredentialVerification.js +185 -109
- package/dist/tempo/session/server/MeteredStream.d.ts +1 -1
- package/dist/tempo/session/server/MeteredStream.js +5 -4
- 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 +14 -2
- package/dist/tempo/session/server/Session.js +37 -6
- package/dist/tempo/session/server/Settlement.d.ts +11 -4
- package/dist/tempo/session/server/Settlement.js +53 -21
- 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 +23 -1
- package/package.json +15 -37
- 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/attestation/Client.d.ts.map +0 -1
- package/dist/attestation/Client.js.map +0 -1
- package/dist/attestation/Constants.d.ts.map +0 -1
- package/dist/attestation/Constants.js.map +0 -1
- package/dist/attestation/Server.d.ts.map +0 -1
- package/dist/attestation/Server.js.map +0 -1
- package/dist/attestation/Types.d.ts.map +0 -1
- package/dist/attestation/Types.js.map +0 -1
- package/dist/attestation/index.d.ts.map +0 -1
- package/dist/attestation/index.js.map +0 -1
- package/dist/attestation/internal/HttpMessageSignature.d.ts.map +0 -1
- package/dist/attestation/internal/HttpMessageSignature.js.map +0 -1
- package/dist/attestation/internal/SigningContext.d.ts.map +0 -1
- package/dist/attestation/internal/SigningContext.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/discovery/internal/Metadata.d.ts.map +0 -1
- package/dist/discovery/internal/Metadata.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/deposit-address.d.ts.map +0 -1
- package/dist/stripe/server/internal/deposit-address.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/stripe/server/internal/record-payment.d.ts.map +0 -1
- package/dist/stripe/server/internal/record-payment.js.map +0 -1
- package/dist/stripe/server/internal/request.d.ts.map +0 -1
- package/dist/stripe/server/internal/request.js.map +0 -1
- package/dist/tap/Constants.d.ts.map +0 -1
- package/dist/tap/Constants.js.map +0 -1
- package/dist/tap/Types.d.ts.map +0 -1
- package/dist/tap/Types.js.map +0 -1
- package/dist/tap/client/index.d.ts.map +0 -1
- package/dist/tap/client/index.js.map +0 -1
- package/dist/tap/index.d.ts.map +0 -1
- package/dist/tap/index.js.map +0 -1
- package/dist/tap/server/index.d.ts.map +0 -1
- package/dist/tap/server/index.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/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/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/web-bot-auth/Constants.d.ts.map +0 -1
- package/dist/web-bot-auth/Constants.js.map +0 -1
- package/dist/web-bot-auth/Types.d.ts.map +0 -1
- package/dist/web-bot-auth/Types.js.map +0 -1
- package/dist/web-bot-auth/client/index.d.ts.map +0 -1
- package/dist/web-bot-auth/client/index.js.map +0 -1
- package/dist/web-bot-auth/index.d.ts.map +0 -1
- package/dist/web-bot-auth/index.js.map +0 -1
- package/dist/web-bot-auth/internal/JwkThumbprint.d.ts.map +0 -1
- package/dist/web-bot-auth/internal/JwkThumbprint.js.map +0 -1
- package/dist/web-bot-auth/internal/SignatureAgent.d.ts.map +0 -1
- package/dist/web-bot-auth/internal/SignatureAgent.js.map +0 -1
- package/dist/web-bot-auth/server/index.d.ts.map +0 -1
- package/dist/web-bot-auth/server/index.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 -154
- package/src/Challenge.test-d.ts +0 -82
- package/src/Challenge.test.ts +0 -1060
- package/src/Challenge.ts +0 -687
- 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 -631
- 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 -211
- package/src/Store.test.ts +0 -407
- package/src/Store.ts +0 -397
- package/src/attestation/Attestation.integration.test.ts +0 -208
- package/src/attestation/Client.test.ts +0 -83
- package/src/attestation/Client.ts +0 -34
- package/src/attestation/Constants.ts +0 -15
- package/src/attestation/Server.test.ts +0 -60
- package/src/attestation/Server.ts +0 -12
- package/src/attestation/Types.test-d.ts +0 -54
- package/src/attestation/Types.ts +0 -77
- package/src/attestation/index.ts +0 -5
- package/src/attestation/internal/HttpMessageSignature.test.ts +0 -101
- package/src/attestation/internal/HttpMessageSignature.ts +0 -429
- package/src/attestation/internal/SigningContext.ts +0 -13
- package/src/bin.js +0 -2
- 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 -1650
- 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 -287
- package/src/client/Mppx.test.ts +0 -1065
- package/src/client/Mppx.ts +0 -487
- package/src/client/Transport.test.ts +0 -586
- package/src/client/Transport.ts +0 -170
- 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 -1075
- 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 -623
- package/src/discovery/OpenApi.ts +0 -192
- package/src/discovery/Validate.test.ts +0 -305
- package/src/discovery/Validate.ts +0 -77
- package/src/discovery/index.ts +0 -3
- package/src/discovery/internal/Metadata.ts +0 -51
- 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 -295
- 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 -347
- 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 -479
- package/src/mcp/client/McpClient.integration.test.ts +0 -639
- 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 -285
- package/src/middlewares/elysia.ts +0 -116
- package/src/middlewares/express.test.ts +0 -361
- package/src/middlewares/express.ts +0 -140
- package/src/middlewares/hono.test.ts +0 -473
- 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 -359
- package/src/middlewares/nextjs.ts +0 -107
- package/src/proxy/Proxy.test.ts +0 -1038
- package/src/proxy/Proxy.ts +0 -483
- package/src/proxy/Proxy.upstreamError.test.ts +0 -364
- package/src/proxy/Service.test.ts +0 -252
- package/src/proxy/Service.ts +0 -280
- 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 -53
- package/src/proxy/services/hooks.test-d.ts +0 -14
- package/src/proxy/services/hooks.test.ts +0 -44
- package/src/proxy/services/openai.test.ts +0 -157
- package/src/proxy/services/openai.ts +0 -60
- package/src/proxy/services/stripe.test.ts +0 -175
- package/src/proxy/services/stripe.ts +0 -59
- package/src/server/Methods.test-d.ts +0 -88
- package/src/server/Methods.test.ts +0 -69
- package/src/server/Methods.ts +0 -3
- package/src/server/Mppx.authorize.test.ts +0 -210
- package/src/server/Mppx.test-d.ts +0 -494
- package/src/server/Mppx.test.ts +0 -6711
- package/src/server/Mppx.ts +0 -2919
- 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 -47
- package/src/stripe/server/Charge.test-d.ts +0 -81
- package/src/stripe/server/Charge.test.ts +0 -700
- package/src/stripe/server/Charge.ts +0 -487
- package/src/stripe/server/Methods.test-d.ts +0 -157
- package/src/stripe/server/Methods.test.ts +0 -403
- package/src/stripe/server/Methods.ts +0 -441
- package/src/stripe/server/index.ts +0 -2
- package/src/stripe/server/internal/deposit-address.ts +0 -57
- 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/stripe/server/internal/record-payment.ts +0 -66
- package/src/stripe/server/internal/request.ts +0 -49
- package/src/tap/Constants.ts +0 -32
- package/src/tap/Tap.test.ts +0 -125
- package/src/tap/Types.ts +0 -11
- package/src/tap/client/index.ts +0 -54
- package/src/tap/index.ts +0 -4
- package/src/tap/server/index.ts +0 -48
- 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 -271
- 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.test.ts +0 -42
- 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 -145
- 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 -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/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 -63
- package/src/tempo/server/Charge.test.ts +0 -6056
- package/src/tempo/server/Charge.ts +0 -1379
- package/src/tempo/server/Methods.ts +0 -86
- 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 -1336
- 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 -922
- package/src/tempo/server/internal/transport.ts +0 -322
- package/src/tempo/session/README.md +0 -320
- 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 -1269
- 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 -856
- package/src/tempo/session/server/CredentialVerification.test.ts +0 -299
- package/src/tempo/session/server/CredentialVerification.ts +0 -1087
- package/src/tempo/session/server/MeteredStream.ts +0 -99
- 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 -4247
- package/src/tempo/session/server/Session.ts +0 -669
- 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 -634
- package/src/tempo/session/server/Sse.ts +0 -261
- package/src/tempo/session/server/Transports.test.ts +0 -346
- package/src/tempo/session/server/Transports.ts +0 -256
- package/src/tempo/session/server/Ws.test.ts +0 -765
- package/src/tempo/session/server/Ws.ts +0 -391
- 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/web-bot-auth/Constants.ts +0 -24
- package/src/web-bot-auth/Types.ts +0 -9
- package/src/web-bot-auth/WebBotAuth.test.ts +0 -182
- package/src/web-bot-auth/client/index.ts +0 -84
- package/src/web-bot-auth/index.ts +0 -6
- package/src/web-bot-auth/internal/JwkThumbprint.ts +0 -21
- package/src/web-bot-auth/internal/SignatureAgent.ts +0 -18
- package/src/web-bot-auth/server/index.ts +0 -113
- package/src/x402/Assets.test.ts +0 -253
- package/src/x402/Assets.ts +0 -221
- package/src/x402/Exact.e2e.test.ts +0 -488
- 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 -410
- 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/src/Method.ts
DELETED
|
@@ -1,631 +0,0 @@
|
|
|
1
|
-
import type * as Challenge from './Challenge.js'
|
|
2
|
-
import * as Credential from './Credential.js'
|
|
3
|
-
import * as Errors from './Errors.js'
|
|
4
|
-
import * as Expires from './Expires.js'
|
|
5
|
-
import type { DeepReadonly, ExactPartial, LooseOmit, MaybePromise } from './internal/types.js'
|
|
6
|
-
import type * as Receipt from './Receipt.js'
|
|
7
|
-
import type * as Html from './server/internal/html/config.js'
|
|
8
|
-
import type * as Transport from './server/Transport.js'
|
|
9
|
-
import type * as z from './zod.js'
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* A payment method.
|
|
13
|
-
*/
|
|
14
|
-
export type Method = {
|
|
15
|
-
name: string
|
|
16
|
-
html?: Html.Options | undefined
|
|
17
|
-
intent: string
|
|
18
|
-
schema: {
|
|
19
|
-
credential: {
|
|
20
|
-
payload: z.ZodMiniType
|
|
21
|
-
}
|
|
22
|
-
request: z.ZodMiniType<Record<string, unknown>>
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Creates a payment method.
|
|
28
|
-
*
|
|
29
|
-
* @example
|
|
30
|
-
* ```ts
|
|
31
|
-
* import { z } from 'zod/mini'
|
|
32
|
-
* import { Method } from 'mppx'
|
|
33
|
-
*
|
|
34
|
-
* const tempoCharge = Method.from({
|
|
35
|
-
* name: 'tempo',
|
|
36
|
-
* intent: 'charge',
|
|
37
|
-
* schema: {
|
|
38
|
-
* credential: {
|
|
39
|
-
* payload: z.object({
|
|
40
|
-
* signature: z.string(),
|
|
41
|
-
* type: z.literal('transaction'),
|
|
42
|
-
* }),
|
|
43
|
-
* },
|
|
44
|
-
* request: z.object({
|
|
45
|
-
* amount: z.string(),
|
|
46
|
-
* currency: z.string(),
|
|
47
|
-
* recipient: z.string(),
|
|
48
|
-
* }),
|
|
49
|
-
* },
|
|
50
|
-
* })
|
|
51
|
-
* ```
|
|
52
|
-
*/
|
|
53
|
-
export function from<const method extends Method>(method: method): method {
|
|
54
|
-
return method
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* A client-side configured method with credential creation logic.
|
|
59
|
-
*/
|
|
60
|
-
export type Client<
|
|
61
|
-
method extends Method = Method,
|
|
62
|
-
context extends z.ZodMiniType | undefined = z.ZodMiniType | undefined,
|
|
63
|
-
> = method & {
|
|
64
|
-
canHandleChallenge?: CanHandleChallengeFn | undefined
|
|
65
|
-
context?: context
|
|
66
|
-
createCredential: CreateCredentialFn<
|
|
67
|
-
method,
|
|
68
|
-
context extends z.ZodMiniType ? z.output<context> : Record<never, never>
|
|
69
|
-
>
|
|
70
|
-
}
|
|
71
|
-
export type AnyClient = Client<any, any>
|
|
72
|
-
|
|
73
|
-
/** Transport-captured request metadata used as the authoritative request snapshot. */
|
|
74
|
-
export type CapturedRequest = {
|
|
75
|
-
readonly hasBody?: boolean | undefined
|
|
76
|
-
readonly headers: Headers
|
|
77
|
-
readonly method: string
|
|
78
|
-
readonly url: URL
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
/** Verified challenge + credential pair, bound to the captured request snapshot. */
|
|
82
|
-
export type VerifiedChallengeEnvelope<
|
|
83
|
-
request extends Record<string, unknown> = Record<string, unknown>,
|
|
84
|
-
payload = unknown,
|
|
85
|
-
intent extends string = string,
|
|
86
|
-
MethodName extends string = string,
|
|
87
|
-
> = {
|
|
88
|
-
readonly capturedRequest: CapturedRequest
|
|
89
|
-
readonly challenge: Challenge.Challenge<request, intent, MethodName>
|
|
90
|
-
readonly credential: Credential.Credential<
|
|
91
|
-
payload,
|
|
92
|
-
Challenge.Challenge<request, intent, MethodName>
|
|
93
|
-
>
|
|
94
|
-
/** The authoritative route request after defaults and request-hook transforms. */
|
|
95
|
-
readonly request: request
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
/** Request hook parameters for a single method. */
|
|
99
|
-
export type RequestContext<method extends Method> = {
|
|
100
|
-
capturedRequest?: CapturedRequest
|
|
101
|
-
credential?: Credential.Credential | null
|
|
102
|
-
request: z.input<method['schema']['request']>
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
/** Verification hook parameters for a single method. */
|
|
106
|
-
export type VerifyContext<method extends Method> = {
|
|
107
|
-
credential: Credential.Credential<
|
|
108
|
-
z.output<method['schema']['credential']['payload']>,
|
|
109
|
-
Challenge.Challenge<z.output<method['schema']['request']>, method['intent'], method['name']>
|
|
110
|
-
>
|
|
111
|
-
envelope?:
|
|
112
|
-
| VerifiedChallengeEnvelope<
|
|
113
|
-
z.output<method['schema']['request']>,
|
|
114
|
-
z.output<method['schema']['credential']['payload']>,
|
|
115
|
-
method['intent'],
|
|
116
|
-
method['name']
|
|
117
|
-
>
|
|
118
|
-
| undefined
|
|
119
|
-
request: z.input<method['schema']['request']>
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
/** Validation hook parameters for a single method. */
|
|
123
|
-
export type ValidateContext<method extends Method> = VerifyContext<method>
|
|
124
|
-
|
|
125
|
-
/** Response hook parameters for a single method. */
|
|
126
|
-
export type RespondContext<method extends Method> = VerifyContext<method> & {
|
|
127
|
-
input: globalThis.Request
|
|
128
|
-
receipt: Receipt.Receipt
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
/**
|
|
132
|
-
* Non-mutating method-specific validation result.
|
|
133
|
-
*
|
|
134
|
-
* Returned by {@link ValidateFn} and exposed from `mppx.validateCredential()`.
|
|
135
|
-
* This confirms that a credential is currently acceptable to the payment
|
|
136
|
-
* method; it does not settle, reserve, or otherwise consume the payment.
|
|
137
|
-
*/
|
|
138
|
-
export type Validation<method extends Method = Method, details = unknown> = Readonly<{
|
|
139
|
-
/**
|
|
140
|
-
* The challenge echoed by the credential and accepted by the method.
|
|
141
|
-
*
|
|
142
|
-
* Callers using `Mppx.validateCredential()` receive a challenge whose HMAC,
|
|
143
|
-
* expiry, route binding, and method identity have already been checked.
|
|
144
|
-
* Lower-level `Method.validateCredential()` callers must verify challenge
|
|
145
|
-
* issuance and route binding themselves.
|
|
146
|
-
*/
|
|
147
|
-
challenge: Challenge.Challenge<
|
|
148
|
-
z.output<method['schema']['request']>,
|
|
149
|
-
method['intent'],
|
|
150
|
-
method['name']
|
|
151
|
-
>
|
|
152
|
-
/**
|
|
153
|
-
* The submitted credential with its method-specific payload parsed by the
|
|
154
|
-
* selected method schema. This is the exact credential validation examined.
|
|
155
|
-
*/
|
|
156
|
-
credential: Credential.Credential<
|
|
157
|
-
z.output<method['schema']['credential']['payload']>,
|
|
158
|
-
Challenge.Challenge<z.output<method['schema']['request']>, method['intent'], method['name']>
|
|
159
|
-
>
|
|
160
|
-
/**
|
|
161
|
-
* Method-defined, non-mutating validation data.
|
|
162
|
-
*
|
|
163
|
-
* Its shape is intentionally method-specific—for example, a recovered payer
|
|
164
|
-
* address or a simulation result. Consumers must not assume a particular
|
|
165
|
-
* shape or use it as a settlement receipt.
|
|
166
|
-
*/
|
|
167
|
-
details: details
|
|
168
|
-
/** The validated payment intent, repeated for convenient dispatch. */
|
|
169
|
-
intent: method['intent']
|
|
170
|
-
/** The validated payment method, repeated for convenient dispatch. */
|
|
171
|
-
method: method['name']
|
|
172
|
-
/**
|
|
173
|
-
* The validated method request after the method's schema transforms.
|
|
174
|
-
*
|
|
175
|
-
* For `Mppx.validateCredential()` with route options, this is the
|
|
176
|
-
* authoritative route request after defaults and request-hook transforms.
|
|
177
|
-
*/
|
|
178
|
-
request: z.output<method['schema']['request']>
|
|
179
|
-
/**
|
|
180
|
-
* Optional payer identity declared by the credential.
|
|
181
|
-
*
|
|
182
|
-
* This is an asserted identity, not independent proof of control; methods
|
|
183
|
-
* that rely on it must validate the relationship to the credential payload.
|
|
184
|
-
*/
|
|
185
|
-
source?: string | undefined
|
|
186
|
-
}>
|
|
187
|
-
|
|
188
|
-
/**
|
|
189
|
-
* A server-side configured method with verification logic.
|
|
190
|
-
*/
|
|
191
|
-
export type Server<
|
|
192
|
-
method extends Method = Method,
|
|
193
|
-
defaults extends ExactPartial<z.input<method['schema']['request']>> = {},
|
|
194
|
-
transportOverride = undefined,
|
|
195
|
-
extensions extends object = {},
|
|
196
|
-
alias extends string | undefined = string | undefined,
|
|
197
|
-
> = method &
|
|
198
|
-
ComposableHooks<method> & {
|
|
199
|
-
alias?: alias | undefined
|
|
200
|
-
authorize?: AuthorizeFn<method> | undefined
|
|
201
|
-
defaults?: defaults | undefined
|
|
202
|
-
extensions?: extensions | undefined
|
|
203
|
-
html?: Html.Options | undefined
|
|
204
|
-
preflight?: PreflightFn<method> | undefined
|
|
205
|
-
request?: RequestFn<method> | undefined
|
|
206
|
-
respond?: RespondFn<method> | undefined
|
|
207
|
-
broadcast?: BroadcastFn<method> | undefined
|
|
208
|
-
stableBinding?: StableBindingFn<method> | undefined
|
|
209
|
-
transport?: transportOverride | undefined
|
|
210
|
-
validate?: ValidateFn<method> | undefined
|
|
211
|
-
/**
|
|
212
|
-
* @deprecated Use `validate` for the non-mutating pre-check and `broadcast`
|
|
213
|
-
* for settlement. `verify` combines both operations and may consume payment
|
|
214
|
-
* state, so it cannot support a safe pre-check endpoint.
|
|
215
|
-
*/
|
|
216
|
-
verify: VerifyFn<method>
|
|
217
|
-
}
|
|
218
|
-
export type AnyServer = Server<any, any, any, any, any>
|
|
219
|
-
|
|
220
|
-
/**
|
|
221
|
-
* Decides whether a configured method offer is available for an HTTP request.
|
|
222
|
-
*
|
|
223
|
-
* Called once per configured offer during composition. The payment request is
|
|
224
|
-
* schema-normalized and deeply immutable. `input` is cloned so its body can be
|
|
225
|
-
* safely inspected unless the upstream body was already consumed or locked, in
|
|
226
|
-
* which case the clone preserves request metadata without a body. Returning
|
|
227
|
-
* `false` removes only this method's offer. Successfully matched credential
|
|
228
|
-
* dispatch does not invoke this hook.
|
|
229
|
-
*/
|
|
230
|
-
export type CanOfferFn<method extends Method> = (parameters: {
|
|
231
|
-
input: globalThis.Request
|
|
232
|
-
request: DeepReadonly<z.output<method['schema']['request']>>
|
|
233
|
-
}) => MaybePromise<boolean>
|
|
234
|
-
|
|
235
|
-
/** Hooks supported by every composable server method constructor. */
|
|
236
|
-
/**
|
|
237
|
-
* Optional per-method hook invoked after a payment succeeds.
|
|
238
|
-
*
|
|
239
|
-
* Called after verification completes successfully. Use this for side-effects
|
|
240
|
-
* like recording the payment in an external system.
|
|
241
|
-
*/
|
|
242
|
-
export type OnPaymentSuccessFn<method extends Method> = (parameters: {
|
|
243
|
-
input?: globalThis.Request
|
|
244
|
-
receipt: DeepReadonly<Receipt.Receipt>
|
|
245
|
-
request: DeepReadonly<z.output<method['schema']['request']>>
|
|
246
|
-
}) => MaybePromise<void>
|
|
247
|
-
|
|
248
|
-
export type ComposableHooks<method extends Method> = {
|
|
249
|
-
/** Decides whether this method's configured offer is available for an HTTP request. */
|
|
250
|
-
canOffer?: CanOfferFn<method> | undefined
|
|
251
|
-
/** Invoked after a successful payment on this method. */
|
|
252
|
-
onPaymentSuccess?: OnPaymentSuccessFn<method> | undefined
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
/** Credential creation function for a single method. */
|
|
256
|
-
export type CreateCredentialFn<method extends Method, context = unknown> = (
|
|
257
|
-
parameters: {
|
|
258
|
-
challenge: Challenge.Challenge<
|
|
259
|
-
z.output<method['schema']['request']>,
|
|
260
|
-
method['intent'],
|
|
261
|
-
method['name']
|
|
262
|
-
>
|
|
263
|
-
} & ([keyof context] extends [never] ? unknown : { context: context }),
|
|
264
|
-
) => Promise<string>
|
|
265
|
-
|
|
266
|
-
/** Predicate used when multiple client implementations share a wire method/intent. */
|
|
267
|
-
export type CanHandleChallengeFn = (parameters: { challenge: Challenge.Challenge }) => boolean
|
|
268
|
-
|
|
269
|
-
/** Request transform function for a single method. */
|
|
270
|
-
export type RequestFn<method extends Method> = (
|
|
271
|
-
options: RequestContext<method>,
|
|
272
|
-
) => MaybePromise<z.input<method['schema']['request']>>
|
|
273
|
-
|
|
274
|
-
/**
|
|
275
|
-
* Optional authorization hook for a server-side method.
|
|
276
|
-
*
|
|
277
|
-
* Called after request normalization but before the 402 challenge path. This lets
|
|
278
|
-
* a server grant access based on existing application state (for example, an
|
|
279
|
-
* active subscription) without requiring a fresh `Payment` credential.
|
|
280
|
-
*
|
|
281
|
-
* **HTTP-only.** The `input` parameter is a Fetch `Request`; non-HTTP transports
|
|
282
|
-
* do not invoke this hook.
|
|
283
|
-
*
|
|
284
|
-
* Transports that require credential context for `withReceipt()` should return a
|
|
285
|
-
* `response` from this hook so adapters can short-circuit protected handlers.
|
|
286
|
-
*/
|
|
287
|
-
export type AuthorizeFn<method extends Method> = (parameters: {
|
|
288
|
-
challenge: Challenge.Challenge<
|
|
289
|
-
z.output<method['schema']['request']>,
|
|
290
|
-
method['intent'],
|
|
291
|
-
method['name']
|
|
292
|
-
>
|
|
293
|
-
input: globalThis.Request
|
|
294
|
-
request: z.output<method['schema']['request']>
|
|
295
|
-
}) => MaybePromise<AuthorizeResult | undefined>
|
|
296
|
-
|
|
297
|
-
/** Successful result returned from an {@link AuthorizeFn}. */
|
|
298
|
-
export type AuthorizeResult = {
|
|
299
|
-
receipt: Receipt.Receipt
|
|
300
|
-
response?: globalThis.Response | undefined
|
|
301
|
-
}
|
|
302
|
-
|
|
303
|
-
/**
|
|
304
|
-
* Optional HTTP preflight hook for method-specific management requests.
|
|
305
|
-
*
|
|
306
|
-
* Called before the normal challenge/verification path. Returning a response
|
|
307
|
-
* fully handles the request.
|
|
308
|
-
*/
|
|
309
|
-
export type PreflightFn<method extends Method> = (parameters: {
|
|
310
|
-
capturedRequest?: CapturedRequest | undefined
|
|
311
|
-
credential: Credential.Credential | null
|
|
312
|
-
expires?: string | undefined
|
|
313
|
-
input: globalThis.Request
|
|
314
|
-
options: z.input<method['schema']['request']>
|
|
315
|
-
realm: string
|
|
316
|
-
secretKey: string
|
|
317
|
-
}) => MaybePromise<globalThis.Response | undefined>
|
|
318
|
-
|
|
319
|
-
/**
|
|
320
|
-
* Produces the stable request fields used to bind credentials to a route.
|
|
321
|
-
*
|
|
322
|
-
* Methods can override this to opt into additional request fields beyond the
|
|
323
|
-
* default amount/currency/recipient binding used by generic methods.
|
|
324
|
-
*/
|
|
325
|
-
export type StableBindingFn<method extends Method> = (
|
|
326
|
-
request: z.output<method['schema']['request']>,
|
|
327
|
-
) => Record<string, unknown>
|
|
328
|
-
|
|
329
|
-
/**
|
|
330
|
-
* Legacy combined validation and settlement function for a single method.
|
|
331
|
-
*
|
|
332
|
-
* @deprecated Implement `validate` and `broadcast` instead. `validate` must
|
|
333
|
-
* be non-mutating; `broadcast` performs the terminal payment operation. This
|
|
334
|
-
* hook remains only for existing methods that cannot yet split those phases.
|
|
335
|
-
*/
|
|
336
|
-
export type VerifyFn<method extends Method> = (
|
|
337
|
-
parameters: VerifyContext<method>,
|
|
338
|
-
) => Promise<Receipt.Receipt>
|
|
339
|
-
|
|
340
|
-
/**
|
|
341
|
-
* Non-mutating validation function for a single method.
|
|
342
|
-
*
|
|
343
|
-
* @returns A {@link Validation} record describing the credential that was
|
|
344
|
-
* accepted. It must not settle, reserve, or otherwise consume payment state.
|
|
345
|
-
*/
|
|
346
|
-
export type ValidateFn<method extends Method> = (
|
|
347
|
-
parameters: ValidateContext<method>,
|
|
348
|
-
) => Promise<Validation<method>>
|
|
349
|
-
|
|
350
|
-
/** Terminal payment function for a single method. */
|
|
351
|
-
export type BroadcastFn<method extends Method> = (
|
|
352
|
-
parameters: VerifyContext<method>,
|
|
353
|
-
) => Promise<Receipt.Receipt>
|
|
354
|
-
|
|
355
|
-
/**
|
|
356
|
-
* Validates a credential against one of the configured methods.
|
|
357
|
-
*
|
|
358
|
-
* This checks credential structure, challenge expiry, and method-specific
|
|
359
|
-
* validation. It does not prove that the challenge was issued by a particular
|
|
360
|
-
* server; hosts that issue challenges must verify that binding separately.
|
|
361
|
-
*/
|
|
362
|
-
export async function validateCredential<const methods extends readonly AnyServer[]>(
|
|
363
|
-
methods: methods,
|
|
364
|
-
input: string | Credential.Credential,
|
|
365
|
-
): Promise<Validation<methods[number]>> {
|
|
366
|
-
const prepared = prepareCredential(methods, input)
|
|
367
|
-
if (!prepared.method.validate)
|
|
368
|
-
throw new Errors.VerificationFailedError({
|
|
369
|
-
details: { intent: prepared.method.intent, method: prepared.method.name },
|
|
370
|
-
reason: `${prepared.method.name}/${prepared.method.intent} does not support non-mutating credential validation`,
|
|
371
|
-
})
|
|
372
|
-
return prepared.method.validate({
|
|
373
|
-
credential: prepared.credential,
|
|
374
|
-
request: prepared.request,
|
|
375
|
-
} as never) as Promise<Validation<methods[number]>>
|
|
376
|
-
}
|
|
377
|
-
|
|
378
|
-
/**
|
|
379
|
-
* Re-validates and performs the terminal payment operation for a credential.
|
|
380
|
-
*
|
|
381
|
-
* This does not prove that the challenge was issued by a particular server;
|
|
382
|
-
* hosts that issue challenges must verify that binding separately.
|
|
383
|
-
*/
|
|
384
|
-
export async function broadcastCredential<const methods extends readonly AnyServer[]>(
|
|
385
|
-
methods: methods,
|
|
386
|
-
input: string | Credential.Credential,
|
|
387
|
-
): Promise<Receipt.Receipt> {
|
|
388
|
-
const prepared = prepareCredential(methods, input)
|
|
389
|
-
const { method } = prepared
|
|
390
|
-
|
|
391
|
-
if (method.broadcast && method.validate)
|
|
392
|
-
await method.validate({ credential: prepared.credential, request: prepared.request } as never)
|
|
393
|
-
|
|
394
|
-
const broadcast = method.broadcast ?? method.verify
|
|
395
|
-
return broadcast({ credential: prepared.credential, request: prepared.request } as never)
|
|
396
|
-
}
|
|
397
|
-
|
|
398
|
-
/**
|
|
399
|
-
* Parses a submitted credential into the inputs required for method execution.
|
|
400
|
-
*
|
|
401
|
-
* Dispatch is based on the challenge method and intent. The helper then asserts
|
|
402
|
-
* challenge expiry and parses the method-specific credential payload before
|
|
403
|
-
* returning the selected method and the unmodified challenge request.
|
|
404
|
-
*
|
|
405
|
-
* This intentionally does not verify that the challenge was issued by a
|
|
406
|
-
* particular host, authorize the caller or requested resource, validate the
|
|
407
|
-
* method request, or invoke method lifecycle hooks. Hosts that issue challenges
|
|
408
|
-
* must verify their challenge binding before accepting the credential.
|
|
409
|
-
*/
|
|
410
|
-
function prepareCredential(
|
|
411
|
-
methods: readonly AnyServer[],
|
|
412
|
-
input: string | Credential.Credential,
|
|
413
|
-
): {
|
|
414
|
-
credential: Credential.Credential
|
|
415
|
-
method: AnyServer
|
|
416
|
-
request: Record<string, unknown>
|
|
417
|
-
} {
|
|
418
|
-
const credential = typeof input === 'string' ? Credential.deserialize(input) : input
|
|
419
|
-
const candidates = methods.filter(
|
|
420
|
-
(method) =>
|
|
421
|
-
method.name === credential.challenge.method && method.intent === credential.challenge.intent,
|
|
422
|
-
)
|
|
423
|
-
const method = candidates[0]
|
|
424
|
-
if (!method)
|
|
425
|
-
throw new Errors.InvalidChallengeError({
|
|
426
|
-
id: credential.challenge.id,
|
|
427
|
-
reason: `no registered method for ${credential.challenge.method}/${credential.challenge.intent}`,
|
|
428
|
-
})
|
|
429
|
-
|
|
430
|
-
Expires.assert(credential.challenge.expires, credential.challenge.id)
|
|
431
|
-
|
|
432
|
-
let payload: unknown
|
|
433
|
-
try {
|
|
434
|
-
payload = method.schema.credential.payload.parse(credential.payload)
|
|
435
|
-
} catch (error) {
|
|
436
|
-
throw new Errors.InvalidPayloadError(error instanceof Error ? { reason: error.message } : {})
|
|
437
|
-
}
|
|
438
|
-
|
|
439
|
-
return {
|
|
440
|
-
credential: { ...credential, payload },
|
|
441
|
-
method,
|
|
442
|
-
request: credential.challenge.request,
|
|
443
|
-
}
|
|
444
|
-
}
|
|
445
|
-
|
|
446
|
-
/**
|
|
447
|
-
* Optional respond function for a server-side method.
|
|
448
|
-
*
|
|
449
|
-
* Called after `verify` succeeds. If it returns a `Response`, the library
|
|
450
|
-
* treats the request as fully handled (e.g. channel open/close) and
|
|
451
|
-
* `withReceipt()` will short-circuit — returning the management response
|
|
452
|
-
* with the receipt header attached without invoking any user-supplied
|
|
453
|
-
* response or generator. If it returns `undefined`, the server handler
|
|
454
|
-
* is expected to serve content via `withReceipt(response)`.
|
|
455
|
-
*
|
|
456
|
-
* Use `parameters.envelope?.capturedRequest` for any transport-agnostic
|
|
457
|
-
* authorization, billing, or routing decisions. The raw `input` should only
|
|
458
|
-
* be used for transport-specific response shaping (for example, HTTP content
|
|
459
|
-
* negotiation).
|
|
460
|
-
*/
|
|
461
|
-
export type RespondFn<method extends Method> = (
|
|
462
|
-
parameters: RespondContext<method>,
|
|
463
|
-
) => MaybePromise<globalThis.Response | undefined>
|
|
464
|
-
|
|
465
|
-
/** Partial request type for defaults. */
|
|
466
|
-
export type RequestDefaults<method extends Method> = ExactPartial<
|
|
467
|
-
z.input<method['schema']['request']>
|
|
468
|
-
>
|
|
469
|
-
|
|
470
|
-
/** Makes fields optional if they exist in defaults. */
|
|
471
|
-
export type WithDefaults<request, defaults> = [keyof defaults] extends [never]
|
|
472
|
-
? request
|
|
473
|
-
: LooseOmit<request, keyof defaults & string> &
|
|
474
|
-
ExactPartial<Pick<request, keyof defaults & keyof request>>
|
|
475
|
-
|
|
476
|
-
/**
|
|
477
|
-
* Extends a method with client-side credential creation logic.
|
|
478
|
-
*
|
|
479
|
-
* @example
|
|
480
|
-
* ```ts
|
|
481
|
-
* import { Method } from 'mppx'
|
|
482
|
-
* import { Methods } from 'mppx/tempo'
|
|
483
|
-
*
|
|
484
|
-
* const tempoCharge = Method.toClient(Methods.charge, {
|
|
485
|
-
* async createCredential({ challenge }) {
|
|
486
|
-
* return Credential.serialize({ challenge, payload: { ... } })
|
|
487
|
-
* },
|
|
488
|
-
* })
|
|
489
|
-
* ```
|
|
490
|
-
*/
|
|
491
|
-
export function toClient<
|
|
492
|
-
const method extends Method,
|
|
493
|
-
const context extends z.ZodMiniType | undefined = undefined,
|
|
494
|
-
>(method: method, options: toClient.Options<method, context>): Client<method, context> {
|
|
495
|
-
const { canHandleChallenge, context, createCredential } = options
|
|
496
|
-
return {
|
|
497
|
-
...method,
|
|
498
|
-
canHandleChallenge,
|
|
499
|
-
context,
|
|
500
|
-
createCredential,
|
|
501
|
-
} as Client<method, context>
|
|
502
|
-
}
|
|
503
|
-
|
|
504
|
-
export declare namespace toClient {
|
|
505
|
-
type Options<method extends Method, context extends z.ZodMiniType | undefined = undefined> = {
|
|
506
|
-
canHandleChallenge?: CanHandleChallengeFn | undefined
|
|
507
|
-
context?: context
|
|
508
|
-
createCredential: CreateCredentialFn<
|
|
509
|
-
method,
|
|
510
|
-
context extends z.ZodMiniType ? z.output<context> : Record<never, never>
|
|
511
|
-
>
|
|
512
|
-
}
|
|
513
|
-
}
|
|
514
|
-
|
|
515
|
-
/**
|
|
516
|
-
* Extends a method with server-side verification logic.
|
|
517
|
-
*
|
|
518
|
-
* @example
|
|
519
|
-
* ```ts
|
|
520
|
-
* import { Method } from 'mppx'
|
|
521
|
-
* import { Methods } from 'mppx/tempo'
|
|
522
|
-
*
|
|
523
|
-
* const tempoCharge = Method.toServer(Methods.charge, {
|
|
524
|
-
* async verify({ credential }) {
|
|
525
|
-
* // verification logic
|
|
526
|
-
* return { status: 'success', ... }
|
|
527
|
-
* },
|
|
528
|
-
* })
|
|
529
|
-
* ```
|
|
530
|
-
*/
|
|
531
|
-
export function toServer<
|
|
532
|
-
const method extends Method,
|
|
533
|
-
const defaults extends RequestDefaults<method> = {},
|
|
534
|
-
const transportOverride extends Transport.AnyTransport | undefined = undefined,
|
|
535
|
-
const extensions extends object = {},
|
|
536
|
-
const options extends toServer.Options<
|
|
537
|
-
method,
|
|
538
|
-
defaults,
|
|
539
|
-
transportOverride,
|
|
540
|
-
extensions,
|
|
541
|
-
string | undefined
|
|
542
|
-
> = toServer.Options<method, defaults, transportOverride, extensions, string | undefined>,
|
|
543
|
-
>(
|
|
544
|
-
method: method,
|
|
545
|
-
options: options,
|
|
546
|
-
): Server<method, defaults, transportOverride, extensions, toServer.Alias<options>> {
|
|
547
|
-
const {
|
|
548
|
-
alias,
|
|
549
|
-
authorize,
|
|
550
|
-
canOffer,
|
|
551
|
-
defaults,
|
|
552
|
-
extensions,
|
|
553
|
-
html,
|
|
554
|
-
onPaymentSuccess,
|
|
555
|
-
preflight,
|
|
556
|
-
request,
|
|
557
|
-
respond,
|
|
558
|
-
broadcast,
|
|
559
|
-
stableBinding,
|
|
560
|
-
transport,
|
|
561
|
-
validate,
|
|
562
|
-
verify,
|
|
563
|
-
} = options
|
|
564
|
-
const effectiveVerify =
|
|
565
|
-
verify ??
|
|
566
|
-
(async (parameters: VerifyContext<method>) => {
|
|
567
|
-
if (validate) await validate(parameters)
|
|
568
|
-
if (!broadcast)
|
|
569
|
-
throw new Errors.VerificationFailedError({
|
|
570
|
-
reason: `${method.name}/${method.intent} does not support credential broadcast`,
|
|
571
|
-
})
|
|
572
|
-
return broadcast(parameters)
|
|
573
|
-
})
|
|
574
|
-
return {
|
|
575
|
-
...method,
|
|
576
|
-
alias,
|
|
577
|
-
authorize,
|
|
578
|
-
canOffer,
|
|
579
|
-
defaults,
|
|
580
|
-
extensions,
|
|
581
|
-
html,
|
|
582
|
-
onPaymentSuccess,
|
|
583
|
-
preflight,
|
|
584
|
-
request,
|
|
585
|
-
respond,
|
|
586
|
-
broadcast,
|
|
587
|
-
stableBinding,
|
|
588
|
-
transport,
|
|
589
|
-
validate,
|
|
590
|
-
verify: effectiveVerify,
|
|
591
|
-
} as Server<method, defaults, transportOverride, extensions, toServer.Alias<options>>
|
|
592
|
-
}
|
|
593
|
-
|
|
594
|
-
export declare namespace toServer {
|
|
595
|
-
type Alias<options> = options extends { alias: infer alias extends string } ? alias : undefined
|
|
596
|
-
|
|
597
|
-
type Options<
|
|
598
|
-
method extends Method,
|
|
599
|
-
defaults extends RequestDefaults<method> = {},
|
|
600
|
-
transportOverride extends Transport.AnyTransport | undefined = undefined,
|
|
601
|
-
extensions extends object = {},
|
|
602
|
-
alias extends string | undefined = undefined,
|
|
603
|
-
> = ComposableHooks<method> & {
|
|
604
|
-
alias?: alias | undefined
|
|
605
|
-
authorize?: AuthorizeFn<method> | undefined
|
|
606
|
-
defaults?: defaults | undefined
|
|
607
|
-
extensions?: extensions | undefined
|
|
608
|
-
html?: Html.Options | undefined
|
|
609
|
-
preflight?: PreflightFn<method> | undefined
|
|
610
|
-
request?: RequestFn<method> | undefined
|
|
611
|
-
respond?: RespondFn<method> | undefined
|
|
612
|
-
stableBinding?: StableBindingFn<method> | undefined
|
|
613
|
-
transport?: transportOverride | Transport.AnyTransport | undefined
|
|
614
|
-
} & (
|
|
615
|
-
| {
|
|
616
|
-
broadcast: BroadcastFn<method>
|
|
617
|
-
validate?: ValidateFn<method> | undefined
|
|
618
|
-
verify?: undefined
|
|
619
|
-
}
|
|
620
|
-
| {
|
|
621
|
-
broadcast?: undefined
|
|
622
|
-
validate?: undefined
|
|
623
|
-
/**
|
|
624
|
-
* @deprecated Use `validate` and `broadcast` for new methods. This
|
|
625
|
-
* combined hook may mutate payment state and cannot power a safe
|
|
626
|
-
* validation-only endpoint.
|
|
627
|
-
*/
|
|
628
|
-
verify: VerifyFn<method>
|
|
629
|
-
}
|
|
630
|
-
)
|
|
631
|
-
}
|