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
|
@@ -160,8 +160,8 @@ export type SettlementTransactionOptions = {
|
|
|
160
160
|
candidateFeeTokens?: readonly Address[] | undefined;
|
|
161
161
|
/** TIP20EscrowChannel precompile address override. */
|
|
162
162
|
escrowContract?: Address | undefined;
|
|
163
|
-
/**
|
|
164
|
-
feePayer?: viem_Account | undefined;
|
|
163
|
+
/** Fee-payer account, or `true` when the client transport uses a configured hosted fee-payer service. */
|
|
164
|
+
feePayer?: viem_Account | true | undefined;
|
|
165
165
|
/** Optional policy for sponsored settlement. */
|
|
166
166
|
feePayerPolicy?: Partial<FeePayer.Policy> | undefined;
|
|
167
167
|
/** Optional fee token override for settlement. */
|
|
@@ -177,8 +177,8 @@ export type MaybeSettleScheduledParameters = {
|
|
|
177
177
|
channel: ChannelStore.State;
|
|
178
178
|
/** viem client used to settle on-chain. */
|
|
179
179
|
client: Chain.TransactionClient;
|
|
180
|
-
/**
|
|
181
|
-
feePayer?: viem_Account | undefined;
|
|
180
|
+
/** Fee-payer account, or `true` when the client transport uses a configured hosted fee-payer service. */
|
|
181
|
+
feePayer?: viem_Account | true | undefined;
|
|
182
182
|
/** Optional policy for sponsored settlement. */
|
|
183
183
|
feePayerPolicy?: Partial<FeePayer.Policy> | undefined;
|
|
184
184
|
/** Optional fee token override for settlement. */
|
|
@@ -198,6 +198,13 @@ export declare function getClientAccount(client: {
|
|
|
198
198
|
}): viem_Account | undefined;
|
|
199
199
|
/** Validates that the transaction sender is the channel payee or nonzero operator. */
|
|
200
200
|
export declare function assertSettlementSender(parameters: SettlementSenderParameters): void;
|
|
201
|
+
/**
|
|
202
|
+
* Assembles transaction options for settle/close transactions. Machine
|
|
203
|
+
* channels pin PathUSD (or an explicit override); direct channels leave the
|
|
204
|
+
* fee token unset so balance-aware selection can pick a funded candidate.
|
|
205
|
+
* The rail comes from the caller so fee pinning always matches dispatch.
|
|
206
|
+
*/
|
|
207
|
+
export declare function resolveChannelTransactionOptions(channel: Pick<ChannelStore.StoredPrecompileChannel, 'chainId' | 'token'>, options: SettlementTransactionOptions | undefined, account: viem_Account | undefined, machineRouter: Address | undefined): Chain.ChannelTransactionOptions | undefined;
|
|
201
208
|
/** Applies automatic settlement when the server-owned schedule is due. */
|
|
202
209
|
export declare function maybeSettleScheduled(parameters: MaybeSettleScheduledParameters): Promise<Hex | undefined>;
|
|
203
210
|
/** Settles the highest accepted voucher for a precompile-backed session channel. */
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { isAddress, isAddressEqual, parseUnits, zeroAddress, } from 'viem';
|
|
2
2
|
import { BadRequestError, ChannelClosedError, ChannelNotFoundError, InsufficientBalanceError, VerificationFailedError, } from '../../../Errors.js';
|
|
3
|
+
import * as MachineTokenSession from '../../internal/machine-token-session.js';
|
|
3
4
|
import { isSessionContentRequest } from '../../server/internal/request-body.js';
|
|
4
5
|
import * as Chain from '../precompile/Chain.js';
|
|
5
6
|
import { readSettledReceiptFields } from '../precompile/Chain.js';
|
|
@@ -28,12 +29,10 @@ export function resolveRequestFeePayer(parameters) {
|
|
|
28
29
|
if (requestFeePayer === false)
|
|
29
30
|
return credential ? false : undefined;
|
|
30
31
|
const account = typeof requestFeePayer === 'object' ? requestFeePayer : defaultFeePayer;
|
|
32
|
+
const hosted = parameterFeePayer === true || typeof parameterFeePayer === 'string';
|
|
31
33
|
if (credential)
|
|
32
|
-
return account ?? undefined;
|
|
33
|
-
if (account ||
|
|
34
|
-
defaultFeePayer ||
|
|
35
|
-
parameterFeePayer === true ||
|
|
36
|
-
typeof parameterFeePayer === 'string')
|
|
34
|
+
return account ?? (hosted ? true : undefined);
|
|
35
|
+
if (account || hosted)
|
|
37
36
|
return true;
|
|
38
37
|
return undefined;
|
|
39
38
|
}
|
|
@@ -184,6 +183,30 @@ export function assertSettlementSender(parameters) {
|
|
|
184
183
|
' If using an access key, pass a Tempo access-key account whose address is the payee/operator wallet, not the raw delegated key address.',
|
|
185
184
|
});
|
|
186
185
|
}
|
|
186
|
+
/**
|
|
187
|
+
* Assembles transaction options for settle/close transactions. Machine
|
|
188
|
+
* channels pin PathUSD (or an explicit override); direct channels leave the
|
|
189
|
+
* fee token unset so balance-aware selection can pick a funded candidate.
|
|
190
|
+
* The rail comes from the caller so fee pinning always matches dispatch.
|
|
191
|
+
*/
|
|
192
|
+
export function resolveChannelTransactionOptions(channel, options, account, machineRouter) {
|
|
193
|
+
if (!account)
|
|
194
|
+
return undefined;
|
|
195
|
+
const feeToken = options?.feeToken ??
|
|
196
|
+
(machineRouter
|
|
197
|
+
? MachineTokenSession.resolveFeeToken({
|
|
198
|
+
chainId: channel.chainId,
|
|
199
|
+
paymentToken: channel.token,
|
|
200
|
+
})
|
|
201
|
+
: undefined);
|
|
202
|
+
return {
|
|
203
|
+
account,
|
|
204
|
+
...(options?.feePayer ? { feePayer: options.feePayer } : {}),
|
|
205
|
+
...(options?.feePayerPolicy ? { feePayerPolicy: options.feePayerPolicy } : {}),
|
|
206
|
+
...(feeToken ? { feeToken } : {}),
|
|
207
|
+
candidateFeeTokens: options?.candidateFeeTokens ?? [feeToken ?? channel.token],
|
|
208
|
+
};
|
|
209
|
+
}
|
|
187
210
|
/** Applies automatic settlement when the server-owned schedule is due. */
|
|
188
211
|
export async function maybeSettleScheduled(parameters) {
|
|
189
212
|
const { channel, schedule, store } = parameters;
|
|
@@ -214,23 +237,32 @@ export async function settle(store_, client, channelId_, options) {
|
|
|
214
237
|
throw new VerificationFailedError({ reason: 'no voucher to settle' });
|
|
215
238
|
const escrow = options?.escrowContract ?? channel.escrowContract;
|
|
216
239
|
const account = options?.account ?? getClientAccount(client);
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
240
|
+
const machineRouter = MachineTokenSession.matchDeployment({
|
|
241
|
+
chainId: channel.chainId,
|
|
242
|
+
descriptor: channel.descriptor,
|
|
243
|
+
})?.swap;
|
|
244
|
+
if (!machineRouter || !account)
|
|
245
|
+
assertSettlementSender({
|
|
246
|
+
operation: 'settle',
|
|
247
|
+
channelId,
|
|
248
|
+
operator: channel.operator,
|
|
249
|
+
payee: channel.payee,
|
|
250
|
+
sender: account?.address,
|
|
251
|
+
});
|
|
224
252
|
const amount = uint96(channel.highestVoucher.cumulativeAmount);
|
|
225
|
-
const
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
253
|
+
const transactionOptions = resolveChannelTransactionOptions(channel, options, account, machineRouter);
|
|
254
|
+
let txHash;
|
|
255
|
+
if (machineRouter) {
|
|
256
|
+
const authorizationSignature = channel.highestVoucher.authorizationSignature;
|
|
257
|
+
if (!authorizationSignature)
|
|
258
|
+
throw new VerificationFailedError({
|
|
259
|
+
reason: 'machine-token voucher is missing its router authorization',
|
|
260
|
+
});
|
|
261
|
+
txHash = await Chain.settleMachineSessionOnChain(client, channel.descriptor, amount, channel.highestVoucher.signature, authorizationSignature, machineRouter, transactionOptions);
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
txHash = await Chain.settleOnChain(client, channel.descriptor, amount, channel.highestVoucher.signature, escrow, transactionOptions);
|
|
265
|
+
}
|
|
234
266
|
const receipt = await Chain.waitForSuccessfulReceipt(client, txHash);
|
|
235
267
|
const settled = readSettledReceiptFields(Chain.getChannelEvent(receipt, 'Settled', channelId));
|
|
236
268
|
const { newSettled } = settled;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Hex } from 'viem';
|
|
2
2
|
import * as ChannelStore from './ChannelStore.js';
|
|
3
|
-
import { type SessionController } from './MeteredStream.js';
|
|
3
|
+
import { type MeteredStreamOptions, type SessionController } from './MeteredStream.js';
|
|
4
4
|
/**
|
|
5
5
|
* SSE (Server-Sent Events) utilities for metered streaming payments.
|
|
6
6
|
*
|
|
@@ -41,6 +41,8 @@ export declare namespace serve {
|
|
|
41
41
|
challengeId: string;
|
|
42
42
|
tickCost: bigint;
|
|
43
43
|
generate: AsyncIterable<string> | ((stream: SessionController) => AsyncIterable<string>);
|
|
44
|
+
/** Callback invoked after each nonzero stream charge is committed. */
|
|
45
|
+
onChargeCommitted?: MeteredStreamOptions['onChargeCommitted'];
|
|
44
46
|
pollIntervalMs?: number | undefined;
|
|
45
47
|
prepaidUnits?: number | undefined;
|
|
46
48
|
signal?: AbortSignal | undefined;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as Constants from '../../../Constants.js';
|
|
2
2
|
import * as Credential from '../../../Credential.js';
|
|
3
3
|
import { createSessionReceipt, extractData, formatMessageEvent, formatNeedVoucherEvent, formatReceiptEvent, readSessionChallengeAmount, requireSessionCredentialContext, } from '../precompile/Protocol.js';
|
|
4
|
-
import { meterIterable } from './MeteredStream.js';
|
|
4
|
+
import { meterIterable, } from './MeteredStream.js';
|
|
5
5
|
/**
|
|
6
6
|
* SSE (Server-Sent Events) utilities for metered streaming payments.
|
|
7
7
|
*
|
|
@@ -44,6 +44,7 @@ export function serve(options) {
|
|
|
44
44
|
channelId,
|
|
45
45
|
tickCost,
|
|
46
46
|
generate,
|
|
47
|
+
onChargeCommitted: options.onChargeCommitted,
|
|
47
48
|
pollIntervalMs,
|
|
48
49
|
prepaidUnits: options.prepaidUnits,
|
|
49
50
|
signal,
|
|
@@ -40,7 +40,7 @@ export type CommitReservedChargesParameters = {
|
|
|
40
40
|
*/
|
|
41
41
|
export declare function reserveChargeOrWait(options: ReserveChargeParameters): Promise<void>;
|
|
42
42
|
/** Atomically commits previously reserved stream charges to channel spend and unit counters. */
|
|
43
|
-
export declare function commitReservedCharges(options: CommitReservedChargesParameters): Promise<
|
|
43
|
+
export declare function commitReservedCharges(options: CommitReservedChargesParameters): Promise<ChannelStore.State | undefined>;
|
|
44
44
|
/** Throws when a channel can no longer be used for streaming charges. */
|
|
45
45
|
export declare function throwIfChannelClosed(channel: ChannelStore.State): void;
|
|
46
46
|
/** Minimal socket event map supported by browser and Node-style WebSocket runtimes. */
|
|
@@ -56,6 +56,7 @@ export async function commitReservedCharges(options) {
|
|
|
56
56
|
throwIfChannelClosed(channel);
|
|
57
57
|
if (!committed)
|
|
58
58
|
throw new Error('reserved voucher coverage is no longer available');
|
|
59
|
+
return channel;
|
|
59
60
|
}
|
|
60
61
|
/** Throws when a channel can no longer be used for streaming charges. */
|
|
61
62
|
export function throwIfChannelClosed(channel) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as ChannelStore from './ChannelStore.js';
|
|
2
|
-
import type { SessionController } from './MeteredStream.js';
|
|
2
|
+
import type { MeteredStreamOptions, SessionController } from './MeteredStream.js';
|
|
3
|
+
import type { SettleChargedSessionChannel } from './Settlement.js';
|
|
3
4
|
export type { SessionController } from './MeteredStream.js';
|
|
4
5
|
export type { Socket } from './Transports.js';
|
|
5
6
|
import { type Socket } from './Transports.js';
|
|
@@ -42,6 +43,10 @@ export declare namespace serve {
|
|
|
42
43
|
/** Payment route handler. Receives synthetic `POST` requests with only
|
|
43
44
|
* the `Authorization` header — no cookies, bodies, or upgrade headers. */
|
|
44
45
|
route: SessionRoute;
|
|
46
|
+
/** Optional low-level hook invoked after each committed stream charge. */
|
|
47
|
+
onChargeCommitted?: MeteredStreamOptions['onChargeCommitted'];
|
|
48
|
+
/** @deprecated Use `onChargeCommitted`. */
|
|
49
|
+
settleScheduled?: SettleChargedSessionChannel | undefined;
|
|
45
50
|
socket: Socket;
|
|
46
51
|
store: ChannelStore.ChannelStore | import('../../../Store.js').Store;
|
|
47
52
|
url: string | URL;
|
|
@@ -64,6 +64,7 @@ export async function serve(options) {
|
|
|
64
64
|
channelId: context.channelId,
|
|
65
65
|
tickCost: context.tickCost,
|
|
66
66
|
generate,
|
|
67
|
+
onChargeCommitted: options.onChargeCommitted ?? options.settleScheduled,
|
|
67
68
|
pollIntervalMs,
|
|
68
69
|
signal: abortController.signal,
|
|
69
70
|
emitNeedVoucher: (message) => send(socket, message),
|
|
@@ -56,38 +56,7 @@ export declare function signSubscriptionKeyAuthorization(parameters: {
|
|
|
56
56
|
chainId: number;
|
|
57
57
|
request: Pick<SubscriptionRequest, 'amount' | 'currency' | 'periodCount' | 'periodUnit' | 'recipient' | 'subscriptionExpires'>;
|
|
58
58
|
}): Promise<{
|
|
59
|
-
readonly address: `0x${string}`;
|
|
60
|
-
readonly chainId: bigint;
|
|
61
|
-
readonly expiry: number;
|
|
62
|
-
readonly limits: readonly {
|
|
63
|
-
readonly token: `0x${string}`;
|
|
64
|
-
readonly limit: bigint;
|
|
65
|
-
readonly period: number;
|
|
66
|
-
}[];
|
|
67
|
-
readonly scopes: readonly {
|
|
68
|
-
readonly address: `0x${string}`;
|
|
69
|
-
readonly selector: "0x95777d59";
|
|
70
|
-
readonly recipients: readonly `0x${string}`[];
|
|
71
|
-
}[];
|
|
72
|
-
readonly type: "secp256k1" | "p256" | "webAuthn";
|
|
73
59
|
signature: {
|
|
74
|
-
signature: {
|
|
75
|
-
r: bigint;
|
|
76
|
-
s: bigint;
|
|
77
|
-
yParity: number;
|
|
78
|
-
};
|
|
79
|
-
type: "secp256k1";
|
|
80
|
-
version?: undefined;
|
|
81
|
-
init?: undefined;
|
|
82
|
-
account?: undefined;
|
|
83
|
-
prehash?: undefined;
|
|
84
|
-
publicKey?: undefined;
|
|
85
|
-
metadata?: undefined;
|
|
86
|
-
userAddress?: undefined;
|
|
87
|
-
inner?: undefined;
|
|
88
|
-
keyId?: undefined;
|
|
89
|
-
signatures?: undefined;
|
|
90
|
-
} | {
|
|
91
60
|
prehash: boolean;
|
|
92
61
|
publicKey: {
|
|
93
62
|
prefix: number;
|
|
@@ -99,15 +68,32 @@ export declare function signSubscriptionKeyAuthorization(parameters: {
|
|
|
99
68
|
s: bigint;
|
|
100
69
|
yParity?: number | undefined;
|
|
101
70
|
};
|
|
102
|
-
type:
|
|
103
|
-
version?: undefined;
|
|
104
|
-
init?: undefined;
|
|
71
|
+
type: 'p256';
|
|
105
72
|
account?: undefined;
|
|
73
|
+
init?: undefined;
|
|
74
|
+
inner?: undefined;
|
|
75
|
+
keyId?: undefined;
|
|
106
76
|
metadata?: undefined;
|
|
77
|
+
signatures?: undefined;
|
|
107
78
|
userAddress?: undefined;
|
|
79
|
+
version?: undefined;
|
|
80
|
+
} | {
|
|
81
|
+
signature: {
|
|
82
|
+
r: bigint;
|
|
83
|
+
s: bigint;
|
|
84
|
+
yParity: number;
|
|
85
|
+
};
|
|
86
|
+
type: 'secp256k1';
|
|
87
|
+
account?: undefined;
|
|
88
|
+
init?: undefined;
|
|
108
89
|
inner?: undefined;
|
|
109
90
|
keyId?: undefined;
|
|
91
|
+
metadata?: undefined;
|
|
92
|
+
prehash?: undefined;
|
|
93
|
+
publicKey?: undefined;
|
|
110
94
|
signatures?: undefined;
|
|
95
|
+
userAddress?: undefined;
|
|
96
|
+
version?: undefined;
|
|
111
97
|
} | {
|
|
112
98
|
metadata: {
|
|
113
99
|
authenticatorData: import("ox/Hex").Hex;
|
|
@@ -123,16 +109,30 @@ export declare function signSubscriptionKeyAuthorization(parameters: {
|
|
|
123
109
|
x: bigint;
|
|
124
110
|
y: bigint;
|
|
125
111
|
};
|
|
126
|
-
type:
|
|
127
|
-
version?: undefined;
|
|
128
|
-
init?: undefined;
|
|
112
|
+
type: 'webAuthn';
|
|
129
113
|
account?: undefined;
|
|
130
|
-
|
|
131
|
-
userAddress?: undefined;
|
|
114
|
+
init?: undefined;
|
|
132
115
|
inner?: undefined;
|
|
133
116
|
keyId?: undefined;
|
|
117
|
+
prehash?: undefined;
|
|
134
118
|
signatures?: undefined;
|
|
119
|
+
userAddress?: undefined;
|
|
120
|
+
version?: undefined;
|
|
135
121
|
};
|
|
122
|
+
readonly address: `0x${string}`;
|
|
123
|
+
readonly chainId: bigint;
|
|
124
|
+
readonly expiry: number;
|
|
125
|
+
readonly limits: readonly {
|
|
126
|
+
readonly token: `0x${string}`;
|
|
127
|
+
readonly limit: bigint;
|
|
128
|
+
readonly period: number;
|
|
129
|
+
}[];
|
|
130
|
+
readonly scopes: readonly {
|
|
131
|
+
readonly address: `0x${string}`;
|
|
132
|
+
readonly selector: "0x95777d59";
|
|
133
|
+
readonly recipients: readonly `0x${string}`[];
|
|
134
|
+
}[];
|
|
135
|
+
readonly type: "p256" | "secp256k1" | "webAuthn";
|
|
136
136
|
} | undefined>;
|
|
137
137
|
/**
|
|
138
138
|
* Verifies that a subscription credential contains a key authorization scoped to the requested
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** Web Bot Auth values for the supported HTTPS-directory signature profile. */
|
|
2
|
+
export declare const Constants: {
|
|
3
|
+
/** Stable identifier for Web Bot Auth signers and replay storage. */
|
|
4
|
+
readonly protocol: 'web-bot-auth';
|
|
5
|
+
/** Web Bot Auth discovery type supported by this adapter. */
|
|
6
|
+
readonly discoveryType: 'directory';
|
|
7
|
+
/** RFC 9421 signature label used when no label is configured. */
|
|
8
|
+
readonly label: 'webbot';
|
|
9
|
+
/** Tag identifying a Web Bot Auth request signature. */
|
|
10
|
+
readonly tag: 'web-bot-auth';
|
|
11
|
+
/** Structured HTTP header linking a bot signature to its HTTPS directory origin. */
|
|
12
|
+
readonly signatureAgentHeader: 'Signature-Agent';
|
|
13
|
+
/** Default lifetime, in seconds, for a bot request signature. */
|
|
14
|
+
readonly defaultSignatureLifetime: 60;
|
|
15
|
+
/** Default verifier limit, following the draft's recommended 24-hour maximum. */
|
|
16
|
+
readonly defaultMaximumSignatureLifetime: number;
|
|
17
|
+
/** HTTP components required by this directory profile. */
|
|
18
|
+
readonly requiredComponents: readonly ["@authority", "signature-agent"];
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=Constants.d.ts.map
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Constants as HttpMessageSignature } from '../attestation/internal/HttpMessageSignature.js';
|
|
2
|
+
/** Web Bot Auth values for the supported HTTPS-directory signature profile. */
|
|
3
|
+
export const Constants = {
|
|
4
|
+
/** Stable identifier for Web Bot Auth signers and replay storage. */
|
|
5
|
+
protocol: 'web-bot-auth',
|
|
6
|
+
/** Web Bot Auth discovery type supported by this adapter. */
|
|
7
|
+
discoveryType: 'directory',
|
|
8
|
+
/** RFC 9421 signature label used when no label is configured. */
|
|
9
|
+
label: 'webbot',
|
|
10
|
+
/** Tag identifying a Web Bot Auth request signature. */
|
|
11
|
+
tag: 'web-bot-auth',
|
|
12
|
+
/** Structured HTTP header linking a bot signature to its HTTPS directory origin. */
|
|
13
|
+
signatureAgentHeader: 'Signature-Agent',
|
|
14
|
+
/** Default lifetime, in seconds, for a bot request signature. */
|
|
15
|
+
defaultSignatureLifetime: 60,
|
|
16
|
+
/** Default verifier limit, following the draft's recommended 24-hour maximum. */
|
|
17
|
+
defaultMaximumSignatureLifetime: 24 * 60 * 60,
|
|
18
|
+
/** HTTP components required by this directory profile. */
|
|
19
|
+
requiredComponents: [
|
|
20
|
+
HttpMessageSignature.components.authority,
|
|
21
|
+
HttpMessageSignature.components.signatureAgent,
|
|
22
|
+
],
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=Constants.js.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** Verified Web Bot Auth HTTPS-directory profile request signature. */
|
|
2
|
+
export type VerifiedRequest = {
|
|
3
|
+
/** Public-key thumbprint advertised by the bot. */
|
|
4
|
+
keyId: string;
|
|
5
|
+
/** HTTPS directory origin carried in the signed `Signature-Agent` header. */
|
|
6
|
+
signatureAgent: string;
|
|
7
|
+
/** Signature nonce supplied by the bot. */
|
|
8
|
+
nonce: string;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=Types.d.ts.map
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type * as AttestationTypes from '../../attestation/Types.js';
|
|
2
|
+
import { Constants } from '../Constants.js';
|
|
3
|
+
/**
|
|
4
|
+
* Creates a Web Bot Auth HTTPS-directory profile request signer.
|
|
5
|
+
*
|
|
6
|
+
* The signed `Signature-Agent` header links the request to the HTTPS origin
|
|
7
|
+
* of an HTTP Message Signatures Directory. This adapter does not support
|
|
8
|
+
* direct key configuration or other Web Bot Auth discovery types. It
|
|
9
|
+
* establishes bot identity only; it does not assert consumer identity or
|
|
10
|
+
* authority to make a payment.
|
|
11
|
+
*/
|
|
12
|
+
export declare function signer(config: signer.Config): AttestationTypes.Signer<typeof Constants.protocol>;
|
|
13
|
+
export declare namespace signer {
|
|
14
|
+
type Config = {
|
|
15
|
+
/** Ed25519 or RSA-PSS SHA-512 private key registered for the bot. */
|
|
16
|
+
key: CryptoKey;
|
|
17
|
+
/** RFC 7638 JWK thumbprint for the registered public key. */
|
|
18
|
+
keyId: string;
|
|
19
|
+
/** Required HTTPS directory origin, sent with the default `directory` discovery type. */
|
|
20
|
+
signatureAgent: string;
|
|
21
|
+
/** Dictionary member name used for `Signature-Agent`. @default signature label */
|
|
22
|
+
signatureAgentKey?: string | undefined;
|
|
23
|
+
/** Signature lifetime in seconds. @default 60 */
|
|
24
|
+
expiresIn?: number | undefined;
|
|
25
|
+
/** RFC 9421 dictionary label. @default 'webbot' */
|
|
26
|
+
label?: string | undefined;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { parseDictionary, serializeDictionary } from 'structured-headers';
|
|
2
|
+
import * as HttpMessageSignature from '../../attestation/internal/HttpMessageSignature.js';
|
|
3
|
+
import { Constants } from '../Constants.js';
|
|
4
|
+
import * as JwkThumbprint from '../internal/JwkThumbprint.js';
|
|
5
|
+
import * as SignatureAgent from '../internal/SignatureAgent.js';
|
|
6
|
+
/**
|
|
7
|
+
* Creates a Web Bot Auth HTTPS-directory profile request signer.
|
|
8
|
+
*
|
|
9
|
+
* The signed `Signature-Agent` header links the request to the HTTPS origin
|
|
10
|
+
* of an HTTP Message Signatures Directory. This adapter does not support
|
|
11
|
+
* direct key configuration or other Web Bot Auth discovery types. It
|
|
12
|
+
* establishes bot identity only; it does not assert consumer identity or
|
|
13
|
+
* authority to make a payment.
|
|
14
|
+
*/
|
|
15
|
+
export function signer(config) {
|
|
16
|
+
const label = config.label ?? Constants.label;
|
|
17
|
+
const signatureAgentKey = config.signatureAgentKey ?? label;
|
|
18
|
+
const expiresIn = config.expiresIn ?? Constants.defaultSignatureLifetime;
|
|
19
|
+
const signatureAgent = SignatureAgent.directoryOrigin(config.signatureAgent);
|
|
20
|
+
if (!JwkThumbprint.is(config.keyId))
|
|
21
|
+
throw new TypeError('Web Bot Auth keyId must be an RFC 7638 SHA-256 JWK thumbprint.');
|
|
22
|
+
if (!signatureAgent)
|
|
23
|
+
throw new TypeError('Signature-Agent must identify a valid HTTPS origin.');
|
|
24
|
+
if (!Number.isInteger(expiresIn) || expiresIn <= 0)
|
|
25
|
+
throw new RangeError('Web Bot Auth expiresIn must be a positive integer.');
|
|
26
|
+
return {
|
|
27
|
+
protocol: Constants.protocol,
|
|
28
|
+
sign(request, context) {
|
|
29
|
+
const headers = new Headers(request.headers);
|
|
30
|
+
const signatureAgents = parseSignatureAgents(headers);
|
|
31
|
+
if (signatureAgents.has(signatureAgentKey))
|
|
32
|
+
throw new Error(`Signature-Agent member "${signatureAgentKey}" already exists.`);
|
|
33
|
+
signatureAgents.set(signatureAgentKey, [signatureAgent, new Map()]);
|
|
34
|
+
headers.set(Constants.signatureAgentHeader, serializeDictionary(signatureAgents));
|
|
35
|
+
return HttpMessageSignature.sign(new Request(request, { headers }), {
|
|
36
|
+
components: [
|
|
37
|
+
HttpMessageSignature.Constants.components.authority,
|
|
38
|
+
{
|
|
39
|
+
id: HttpMessageSignature.Constants.components.signatureAgent,
|
|
40
|
+
parameters: new Map([['key', signatureAgentKey]]),
|
|
41
|
+
},
|
|
42
|
+
],
|
|
43
|
+
context,
|
|
44
|
+
expiresIn,
|
|
45
|
+
key: config.key,
|
|
46
|
+
keyId: config.keyId,
|
|
47
|
+
label,
|
|
48
|
+
tag: Constants.tag,
|
|
49
|
+
});
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
function parseSignatureAgents(headers) {
|
|
54
|
+
const value = headers.get(Constants.signatureAgentHeader);
|
|
55
|
+
if (!value)
|
|
56
|
+
return new Map();
|
|
57
|
+
try {
|
|
58
|
+
return parseDictionary(value);
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
throw new Error(`HTTP header "${Constants.signatureAgentHeader}" is not a structured dictionary.`);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Client helpers for the Web Bot Auth HTTPS-directory profile. */
|
|
2
|
+
export * as Client from './client/index.js';
|
|
3
|
+
/** Server helpers for the Web Bot Auth HTTPS-directory profile. */
|
|
4
|
+
export * as Server from './server/index.js';
|
|
5
|
+
export * from './Constants.js';
|
|
6
|
+
export * from './Types.js';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Client helpers for the Web Bot Auth HTTPS-directory profile. */
|
|
2
|
+
export * as Client from './client/index.js';
|
|
3
|
+
/** Server helpers for the Web Bot Auth HTTPS-directory profile. */
|
|
4
|
+
export * as Server from './server/index.js';
|
|
5
|
+
export * from './Constants.js';
|
|
6
|
+
export * from './Types.js';
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** Returns whether a value has the RFC 7638 SHA-256 thumbprint encoding. */
|
|
2
|
+
export declare function is(value: string): boolean;
|
|
3
|
+
/** Derives an RFC 7638 thumbprint from an extractable Ed25519 or RSA public key. */
|
|
4
|
+
export declare function fromKey(key: CryptoKey): Promise<string>;
|
|
5
|
+
//# sourceMappingURL=JwkThumbprint.d.ts.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Base64 } from 'ox';
|
|
2
|
+
const pattern = /^[A-Za-z0-9_-]{43}$/;
|
|
3
|
+
/** Returns whether a value has the RFC 7638 SHA-256 thumbprint encoding. */
|
|
4
|
+
export function is(value) {
|
|
5
|
+
return pattern.test(value);
|
|
6
|
+
}
|
|
7
|
+
/** Derives an RFC 7638 thumbprint from an extractable Ed25519 or RSA public key. */
|
|
8
|
+
export async function fromKey(key) {
|
|
9
|
+
const jwk = await crypto.subtle.exportKey('jwk', key);
|
|
10
|
+
let canonical;
|
|
11
|
+
if (jwk.kty === 'OKP' && jwk.crv === 'Ed25519' && jwk.x)
|
|
12
|
+
canonical = JSON.stringify({ crv: jwk.crv, kty: jwk.kty, x: jwk.x });
|
|
13
|
+
else if (jwk.kty === 'RSA' && jwk.e && jwk.n)
|
|
14
|
+
canonical = JSON.stringify({ e: jwk.e, kty: jwk.kty, n: jwk.n });
|
|
15
|
+
else
|
|
16
|
+
throw new TypeError('Web Bot Auth requires an Ed25519 or RSA public key.');
|
|
17
|
+
const digest = await crypto.subtle.digest('SHA-256', new TextEncoder().encode(canonical));
|
|
18
|
+
return Base64.fromBytes(new Uint8Array(digest), { pad: false, url: true });
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=JwkThumbprint.js.map
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/** Returns the canonical origin for a Web Bot Auth directory identifier. */
|
|
2
|
+
export function directoryOrigin(value) {
|
|
3
|
+
try {
|
|
4
|
+
const url = new URL(value);
|
|
5
|
+
if (url.protocol !== 'https:' ||
|
|
6
|
+
url.username ||
|
|
7
|
+
url.password ||
|
|
8
|
+
url.pathname !== '/' ||
|
|
9
|
+
url.search ||
|
|
10
|
+
url.hash)
|
|
11
|
+
return undefined;
|
|
12
|
+
return url.origin;
|
|
13
|
+
}
|
|
14
|
+
catch {
|
|
15
|
+
return undefined;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=SignatureAgent.js.map
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type * as Attestation from '../../attestation/Types.js';
|
|
2
|
+
import type * as Store from '../../Store.js';
|
|
3
|
+
import type * as Types from '../Types.js';
|
|
4
|
+
/**
|
|
5
|
+
* Creates a verifier for the Web Bot Auth HTTPS-directory profile.
|
|
6
|
+
*
|
|
7
|
+
* It requires an `@authority` and signed `Signature-Agent` directory member;
|
|
8
|
+
* direct key configuration and other Web Bot Auth discovery types are outside
|
|
9
|
+
* this adapter's scope. Verification confirms the cryptographic identity of an
|
|
10
|
+
* automated HTTP client. It must not be used on its own as user or payment
|
|
11
|
+
* authorization.
|
|
12
|
+
*/
|
|
13
|
+
export declare function verifier(config: verifier.Config): Attestation.Verifier<Types.VerifiedRequest>;
|
|
14
|
+
export declare namespace verifier {
|
|
15
|
+
type Config = {
|
|
16
|
+
/**
|
|
17
|
+
* Resolves a public key for the advertised directory.
|
|
18
|
+
*
|
|
19
|
+
* Apply the origin's trust policy before any network lookup; do not fetch an
|
|
20
|
+
* arbitrary caller-provided `signatureAgent` URL. Returned public keys
|
|
21
|
+
* must be extractable so their RFC 7638 thumbprints can be verified.
|
|
22
|
+
*/
|
|
23
|
+
keyResolver: (parameters: {
|
|
24
|
+
algorithm: Attestation.SignatureAlgorithm;
|
|
25
|
+
keyId: string;
|
|
26
|
+
request: Request;
|
|
27
|
+
signatureAgent: string;
|
|
28
|
+
}) => Promise<CryptoKey | undefined> | CryptoKey | undefined;
|
|
29
|
+
/** Maximum accepted signature lifetime in seconds. @default 86400 */
|
|
30
|
+
maxAge?: number | undefined;
|
|
31
|
+
/** Atomically consumes each nonce in shared storage for multi-instance deployments. */
|
|
32
|
+
nonceStore: Store.AtomicStore;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=index.d.ts.map
|