mppx 0.6.31 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +50 -0
- package/README.md +20 -11
- package/dist/Challenge.d.ts.map +1 -1
- package/dist/Challenge.js +27 -13
- package/dist/Challenge.js.map +1 -1
- package/dist/Constants.d.ts +46 -0
- package/dist/Constants.d.ts.map +1 -0
- package/dist/Constants.js +46 -0
- package/dist/Constants.js.map +1 -0
- package/dist/Credential.d.ts.map +1 -1
- package/dist/Credential.js +5 -4
- package/dist/Credential.js.map +1 -1
- package/dist/Mcp.d.ts +3 -0
- package/dist/Mcp.d.ts.map +1 -1
- package/dist/Mcp.js +2 -0
- package/dist/Mcp.js.map +1 -1
- package/dist/Method.d.ts +32 -4
- package/dist/Method.d.ts.map +1 -1
- package/dist/Method.js +5 -2
- package/dist/Method.js.map +1 -1
- package/dist/PaymentRequest.d.ts +10 -10
- package/dist/PaymentRequest.js +8 -8
- package/dist/Receipt.d.ts.map +1 -1
- package/dist/Receipt.js +3 -2
- package/dist/Receipt.js.map +1 -1
- package/dist/cli/cli.d.ts.map +1 -1
- package/dist/cli/cli.js +19 -11
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/plugins/tempo.d.ts.map +1 -1
- package/dist/cli/plugins/tempo.js +17 -6
- package/dist/cli/plugins/tempo.js.map +1 -1
- package/dist/cli/utils.d.ts +5 -0
- package/dist/cli/utils.d.ts.map +1 -1
- package/dist/cli/utils.js +10 -0
- package/dist/cli/utils.js.map +1 -1
- package/dist/client/Methods.d.ts +5 -2
- package/dist/client/Methods.d.ts.map +1 -1
- package/dist/client/Methods.js +5 -2
- package/dist/client/Methods.js.map +1 -1
- package/dist/client/Mppx.js +2 -2
- package/dist/client/Mppx.js.map +1 -1
- package/dist/client/Transport.d.ts +11 -16
- package/dist/client/Transport.d.ts.map +1 -1
- package/dist/client/Transport.js +55 -76
- package/dist/client/Transport.js.map +1 -1
- package/dist/client/index.d.ts +5 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +3 -1
- package/dist/client/index.js.map +1 -1
- package/dist/client/internal/Fetch.d.ts.map +1 -1
- package/dist/client/internal/Fetch.js +60 -13
- package/dist/client/internal/Fetch.js.map +1 -1
- package/dist/client/internal/protocols/Mcp.d.ts +7 -0
- package/dist/client/internal/protocols/Mcp.d.ts.map +1 -0
- package/dist/client/internal/protocols/Mcp.js +159 -0
- package/dist/client/internal/protocols/Mcp.js.map +1 -0
- package/dist/client/internal/protocols/Mpp.d.ts +4 -0
- package/dist/client/internal/protocols/Mpp.d.ts.map +1 -0
- package/dist/client/internal/protocols/Mpp.js +18 -0
- package/dist/client/internal/protocols/Mpp.js.map +1 -0
- package/dist/client/internal/protocols/Protocol.d.ts +10 -0
- package/dist/client/internal/protocols/Protocol.d.ts.map +1 -0
- package/dist/client/internal/protocols/Protocol.js +2 -0
- package/dist/client/internal/protocols/Protocol.js.map +1 -0
- package/dist/client/internal/protocols/Shared.d.ts +5 -0
- package/dist/client/internal/protocols/Shared.d.ts.map +1 -0
- package/dist/client/internal/protocols/Shared.js +20 -0
- package/dist/client/internal/protocols/Shared.js.map +1 -0
- package/dist/client/internal/protocols/X402.d.ts +8 -0
- package/dist/client/internal/protocols/X402.d.ts.map +1 -0
- package/dist/client/internal/protocols/X402.js +39 -0
- package/dist/client/internal/protocols/X402.js.map +1 -0
- package/dist/evm/client/index.d.ts +1 -0
- package/dist/evm/client/index.d.ts.map +1 -1
- package/dist/evm/client/index.js +1 -0
- package/dist/evm/client/index.js.map +1 -1
- package/dist/evm/index.d.ts +2 -0
- package/dist/evm/index.d.ts.map +1 -1
- package/dist/evm/index.js +2 -0
- package/dist/evm/index.js.map +1 -1
- package/dist/evm/server/Methods.d.ts +1 -1
- package/dist/evm/server/Methods.d.ts.map +1 -1
- package/dist/evm/server/index.d.ts +1 -0
- package/dist/evm/server/index.d.ts.map +1 -1
- package/dist/evm/server/index.js +1 -0
- package/dist/evm/server/index.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/internal/AcceptPayment.d.ts +3 -0
- package/dist/internal/AcceptPayment.d.ts.map +1 -1
- package/dist/internal/AcceptPayment.js +15 -11
- package/dist/internal/AcceptPayment.js.map +1 -1
- package/dist/mcp/client/McpClient.d.ts +101 -0
- package/dist/mcp/client/McpClient.d.ts.map +1 -0
- package/dist/mcp/client/McpClient.js +162 -0
- package/dist/mcp/client/McpClient.js.map +1 -0
- package/dist/mcp/client/index.d.ts.map +1 -0
- package/dist/mcp/client/index.js.map +1 -0
- package/dist/mcp/server/Transport.d.ts.map +1 -0
- package/dist/mcp/server/Transport.js.map +1 -0
- package/dist/mcp/server/index.d.ts.map +1 -0
- package/dist/mcp/server/index.js.map +1 -0
- package/dist/server/Mppx.d.ts +12 -4
- package/dist/server/Mppx.d.ts.map +1 -1
- package/dist/server/Mppx.js +85 -27
- package/dist/server/Mppx.js.map +1 -1
- package/dist/server/Response.d.ts.map +1 -1
- package/dist/server/Response.js +2 -1
- package/dist/server/Response.js.map +1 -1
- package/dist/server/Transport.d.ts +1 -1
- package/dist/server/Transport.d.ts.map +1 -1
- package/dist/server/Transport.js +5 -4
- package/dist/server/Transport.js.map +1 -1
- package/dist/server/index.d.ts +1 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +1 -0
- package/dist/server/index.js.map +1 -1
- package/dist/stripe/client/Charge.d.ts +1 -1
- package/dist/stripe/client/Charge.d.ts.map +1 -1
- package/dist/stripe/client/Charge.js +3 -1
- package/dist/stripe/client/Charge.js.map +1 -1
- package/dist/stripe/server/Charge.d.ts +1 -1
- package/dist/stripe/server/Charge.d.ts.map +1 -1
- package/dist/stripe/server/Charge.js +9 -2
- package/dist/stripe/server/Charge.js.map +1 -1
- package/dist/stripe/server/Methods.d.ts +1 -1
- package/dist/stripe/server/Methods.d.ts.map +1 -1
- package/dist/stripe/server/internal/html.gen.d.ts +1 -1
- package/dist/stripe/server/internal/html.gen.d.ts.map +1 -1
- package/dist/stripe/server/internal/html.gen.js +1 -1
- package/dist/stripe/server/internal/html.gen.js.map +1 -1
- package/dist/tempo/Methods.d.ts +18 -0
- package/dist/tempo/Methods.d.ts.map +1 -1
- package/dist/tempo/Methods.js +16 -1
- package/dist/tempo/Methods.js.map +1 -1
- package/dist/tempo/Proof.d.ts +85 -1
- package/dist/tempo/Proof.d.ts.map +1 -1
- package/dist/tempo/Proof.js +35 -0
- package/dist/tempo/Proof.js.map +1 -1
- package/dist/tempo/client/Charge.d.ts +19 -1
- package/dist/tempo/client/Charge.d.ts.map +1 -1
- package/dist/tempo/client/Charge.js +47 -27
- package/dist/tempo/client/Charge.js.map +1 -1
- package/dist/tempo/client/Methods.d.ts +41 -10
- package/dist/tempo/client/Methods.d.ts.map +1 -1
- package/dist/tempo/client/Methods.js +16 -7
- package/dist/tempo/client/Methods.js.map +1 -1
- package/dist/tempo/client/ResolveAccount.d.ts +40 -0
- package/dist/tempo/client/ResolveAccount.d.ts.map +1 -0
- package/dist/tempo/client/ResolveAccount.js +2 -0
- package/dist/tempo/client/ResolveAccount.js.map +1 -0
- package/dist/tempo/client/index.d.ts +7 -4
- package/dist/tempo/client/index.d.ts.map +1 -1
- package/dist/tempo/client/index.js +5 -3
- package/dist/tempo/client/index.js.map +1 -1
- package/dist/tempo/index.d.ts +1 -0
- package/dist/tempo/index.d.ts.map +1 -1
- package/dist/tempo/index.js +1 -0
- package/dist/tempo/index.js.map +1 -1
- package/dist/tempo/internal/fee-payer.d.ts +29 -1
- package/dist/tempo/internal/fee-payer.d.ts.map +1 -1
- package/dist/tempo/internal/fee-payer.js +138 -4
- package/dist/tempo/internal/fee-payer.js.map +1 -1
- package/dist/tempo/internal/proof.d.ts +71 -5
- package/dist/tempo/internal/proof.d.ts.map +1 -1
- package/dist/tempo/internal/proof.js +42 -6
- package/dist/tempo/internal/proof.js.map +1 -1
- package/dist/tempo/{client → legacy/client}/ChannelOps.d.ts +19 -6
- package/dist/tempo/legacy/client/ChannelOps.d.ts.map +1 -0
- package/dist/tempo/{client → legacy/client}/ChannelOps.js +9 -3
- package/dist/tempo/legacy/client/ChannelOps.js.map +1 -0
- package/dist/tempo/{client → legacy/client}/Session.d.ts +23 -4
- package/dist/tempo/legacy/client/Session.d.ts.map +1 -0
- package/dist/tempo/{client → legacy/client}/Session.js +14 -7
- package/dist/tempo/legacy/client/Session.js.map +1 -0
- package/dist/tempo/{client → legacy/client}/SessionManager.d.ts +20 -5
- package/dist/tempo/legacy/client/SessionManager.d.ts.map +1 -0
- package/dist/tempo/{client → legacy/client}/SessionManager.js +30 -19
- package/dist/tempo/legacy/client/SessionManager.js.map +1 -0
- package/dist/tempo/legacy/client/index.d.ts +7 -0
- package/dist/tempo/legacy/client/index.d.ts.map +1 -0
- package/dist/tempo/legacy/client/index.js +5 -0
- package/dist/tempo/legacy/client/index.js.map +1 -0
- package/dist/tempo/legacy/index.d.ts +7 -0
- package/dist/tempo/legacy/index.d.ts.map +1 -0
- package/dist/tempo/legacy/index.js +7 -0
- package/dist/tempo/legacy/index.js.map +1 -0
- package/dist/tempo/{server → legacy/server}/Session.d.ts +28 -11
- package/dist/tempo/legacy/server/Session.d.ts.map +1 -0
- package/dist/tempo/{server → legacy/server}/Session.js +12 -10
- package/dist/tempo/legacy/server/Session.js.map +1 -0
- package/dist/tempo/legacy/server/index.d.ts +5 -0
- package/dist/tempo/legacy/server/index.d.ts.map +1 -0
- package/dist/tempo/legacy/server/index.js +5 -0
- package/dist/tempo/legacy/server/index.js.map +1 -0
- package/dist/tempo/{session → legacy/session}/Chain.d.ts +30 -23
- package/dist/tempo/legacy/session/Chain.d.ts.map +1 -0
- package/dist/tempo/{session → legacy/session}/Chain.js +12 -11
- package/dist/tempo/legacy/session/Chain.js.map +1 -0
- package/dist/tempo/{session → legacy/session}/Channel.d.ts +1 -0
- package/dist/tempo/legacy/session/Channel.d.ts.map +1 -0
- package/dist/tempo/legacy/session/Channel.js.map +1 -0
- package/dist/tempo/legacy/session/ChannelStore.d.ts +22 -0
- package/dist/tempo/legacy/session/ChannelStore.d.ts.map +1 -0
- package/dist/tempo/legacy/session/ChannelStore.js +6 -0
- package/dist/tempo/legacy/session/ChannelStore.js.map +1 -0
- package/dist/tempo/legacy/session/Types.d.ts +73 -0
- package/dist/tempo/legacy/session/Types.d.ts.map +1 -0
- package/dist/tempo/legacy/session/Types.js.map +1 -0
- package/dist/tempo/{session → legacy/session}/Voucher.d.ts +4 -4
- package/dist/tempo/legacy/session/Voucher.d.ts.map +1 -0
- package/dist/tempo/{session → legacy/session}/Voucher.js +1 -1
- package/dist/tempo/legacy/session/Voucher.js.map +1 -0
- package/dist/tempo/{session → legacy/session}/escrow.abi.d.ts +1 -0
- package/dist/tempo/{session → legacy/session}/escrow.abi.d.ts.map +1 -1
- package/dist/tempo/{session → legacy/session}/escrow.abi.js +1 -0
- package/dist/tempo/legacy/session/escrow.abi.js.map +1 -0
- package/dist/tempo/legacy/session/index.d.ts +9 -0
- package/dist/tempo/legacy/session/index.d.ts.map +1 -0
- package/dist/tempo/legacy/session/index.js +9 -0
- package/dist/tempo/legacy/session/index.js.map +1 -0
- package/dist/tempo/server/Charge.d.ts +1 -1
- package/dist/tempo/server/Charge.d.ts.map +1 -1
- package/dist/tempo/server/Charge.js +51 -30
- package/dist/tempo/server/Charge.js.map +1 -1
- package/dist/tempo/server/Methods.d.ts +67 -8
- package/dist/tempo/server/Methods.d.ts.map +1 -1
- package/dist/tempo/server/Methods.js +40 -10
- package/dist/tempo/server/Methods.js.map +1 -1
- package/dist/tempo/server/Subscription.d.ts +11 -1
- package/dist/tempo/server/Subscription.d.ts.map +1 -1
- package/dist/tempo/server/Subscription.js +135 -23
- package/dist/tempo/server/Subscription.js.map +1 -1
- package/dist/tempo/server/index.d.ts +6 -5
- package/dist/tempo/server/index.d.ts.map +1 -1
- package/dist/tempo/server/index.js +5 -5
- package/dist/tempo/server/index.js.map +1 -1
- package/dist/tempo/server/internal/html.gen.d.ts +1 -1
- package/dist/tempo/server/internal/html.gen.d.ts.map +1 -1
- package/dist/tempo/server/internal/html.gen.js +1 -1
- package/dist/tempo/server/internal/html.gen.js.map +1 -1
- package/dist/tempo/server/internal/request-body.d.ts +7 -2
- package/dist/tempo/server/internal/request-body.d.ts.map +1 -1
- package/dist/tempo/server/internal/request-body.js +20 -3
- package/dist/tempo/server/internal/request-body.js.map +1 -1
- package/dist/tempo/server/internal/transport.d.ts +8 -4
- package/dist/tempo/server/internal/transport.d.ts.map +1 -1
- package/dist/tempo/server/internal/transport.js +8 -7
- package/dist/tempo/server/internal/transport.js.map +1 -1
- package/dist/tempo/session/Snapshot.d.ts +32 -0
- package/dist/tempo/session/Snapshot.d.ts.map +1 -0
- package/dist/tempo/session/Snapshot.js +37 -0
- package/dist/tempo/session/Snapshot.js.map +1 -0
- package/dist/tempo/session/client/ChannelOps.d.ts +81 -0
- package/dist/tempo/session/client/ChannelOps.d.ts.map +1 -0
- package/dist/tempo/session/client/ChannelOps.js +201 -0
- package/dist/tempo/session/client/ChannelOps.js.map +1 -0
- package/dist/tempo/session/client/ChannelStore.d.ts +51 -0
- package/dist/tempo/session/client/ChannelStore.d.ts.map +1 -0
- package/dist/tempo/session/client/ChannelStore.js +63 -0
- package/dist/tempo/session/client/ChannelStore.js.map +1 -0
- package/dist/tempo/session/client/CredentialState.d.ts +245 -0
- package/dist/tempo/session/client/CredentialState.d.ts.map +1 -0
- package/dist/tempo/session/client/CredentialState.js +419 -0
- package/dist/tempo/session/client/CredentialState.js.map +1 -0
- package/dist/tempo/session/client/ReceiptCoordinator.d.ts +26 -0
- package/dist/tempo/session/client/ReceiptCoordinator.d.ts.map +1 -0
- package/dist/tempo/session/client/ReceiptCoordinator.js +61 -0
- package/dist/tempo/session/client/ReceiptCoordinator.js.map +1 -0
- package/dist/tempo/session/client/Runtime.d.ts +464 -0
- package/dist/tempo/session/client/Runtime.d.ts.map +1 -0
- package/dist/tempo/session/client/Runtime.js +499 -0
- package/dist/tempo/session/client/Runtime.js.map +1 -0
- package/dist/tempo/session/client/Session.d.ts +138 -0
- package/dist/tempo/session/client/Session.d.ts.map +1 -0
- package/dist/tempo/session/client/Session.js +69 -0
- package/dist/tempo/session/client/Session.js.map +1 -0
- package/dist/tempo/session/client/SessionManager.d.ts +84 -0
- package/dist/tempo/session/client/SessionManager.d.ts.map +1 -0
- package/dist/tempo/session/client/SessionManager.js +577 -0
- package/dist/tempo/session/client/SessionManager.js.map +1 -0
- package/dist/tempo/session/client/Transports.d.ts +449 -0
- package/dist/tempo/session/client/Transports.d.ts.map +1 -0
- package/dist/tempo/session/client/Transports.js +721 -0
- package/dist/tempo/session/client/Transports.js.map +1 -0
- package/dist/tempo/session/client/index.d.ts +11 -0
- package/dist/tempo/session/client/index.d.ts.map +1 -0
- package/dist/tempo/session/client/index.js +6 -0
- package/dist/tempo/session/client/index.js.map +1 -0
- package/dist/tempo/session/index.d.ts +7 -8
- package/dist/tempo/session/index.d.ts.map +1 -1
- package/dist/tempo/session/index.js +7 -8
- package/dist/tempo/session/index.js.map +1 -1
- package/dist/tempo/session/precompile/Chain.d.ts +319 -0
- package/dist/tempo/session/precompile/Chain.d.ts.map +1 -0
- package/dist/tempo/session/precompile/Chain.js +492 -0
- package/dist/tempo/session/precompile/Chain.js.map +1 -0
- package/dist/tempo/session/precompile/Channel.d.ts +46 -0
- package/dist/tempo/session/precompile/Channel.d.ts.map +1 -0
- package/dist/tempo/session/precompile/Channel.js +56 -0
- package/dist/tempo/session/precompile/Channel.js.map +1 -0
- package/dist/tempo/session/precompile/Protocol.d.ts +308 -0
- package/dist/tempo/session/precompile/Protocol.d.ts.map +1 -0
- package/dist/tempo/session/precompile/Protocol.js +264 -0
- package/dist/tempo/session/precompile/Protocol.js.map +1 -0
- package/dist/tempo/session/precompile/Voucher.d.ts +40 -0
- package/dist/tempo/session/precompile/Voucher.d.ts.map +1 -0
- package/dist/tempo/session/precompile/Voucher.js +125 -0
- package/dist/tempo/session/precompile/Voucher.js.map +1 -0
- package/dist/tempo/session/precompile/escrow.abi.d.ts +522 -0
- package/dist/tempo/session/precompile/escrow.abi.d.ts.map +1 -0
- package/dist/tempo/session/precompile/escrow.abi.js +224 -0
- package/dist/tempo/session/precompile/escrow.abi.js.map +1 -0
- package/dist/tempo/session/precompile/index.d.ts +24 -0
- package/dist/tempo/session/precompile/index.d.ts.map +1 -0
- package/dist/tempo/session/precompile/index.js +22 -0
- package/dist/tempo/session/precompile/index.js.map +1 -0
- package/dist/tempo/session/server/ChannelOps.d.ts +56 -0
- package/dist/tempo/session/server/ChannelOps.d.ts.map +1 -0
- package/dist/tempo/session/server/ChannelOps.js +91 -0
- package/dist/tempo/session/server/ChannelOps.js.map +1 -0
- package/dist/tempo/session/server/ChannelStore.d.ts +347 -0
- package/dist/tempo/session/server/ChannelStore.d.ts.map +1 -0
- package/dist/tempo/session/server/ChannelStore.js +404 -0
- package/dist/tempo/session/server/ChannelStore.js.map +1 -0
- package/dist/tempo/session/server/CredentialVerification.d.ts +85 -0
- package/dist/tempo/session/server/CredentialVerification.d.ts.map +1 -0
- package/dist/tempo/session/server/CredentialVerification.js +494 -0
- package/dist/tempo/session/server/CredentialVerification.js.map +1 -0
- package/dist/tempo/session/server/MeteredStream.d.ts +40 -0
- package/dist/tempo/session/server/MeteredStream.d.ts.map +1 -0
- package/dist/tempo/session/server/MeteredStream.js +42 -0
- package/dist/tempo/session/server/MeteredStream.js.map +1 -0
- package/dist/tempo/session/server/RequestState.d.ts +208 -0
- package/dist/tempo/session/server/RequestState.d.ts.map +1 -0
- package/dist/tempo/session/server/RequestState.js +252 -0
- package/dist/tempo/session/server/RequestState.js.map +1 -0
- package/dist/tempo/session/server/Session.d.ts +169 -0
- package/dist/tempo/session/server/Session.d.ts.map +1 -0
- package/dist/tempo/session/server/Session.js +351 -0
- package/dist/tempo/session/server/Session.js.map +1 -0
- package/dist/tempo/session/server/Settlement.d.ts +185 -0
- package/dist/tempo/session/server/Settlement.d.ts.map +1 -0
- package/dist/tempo/session/server/Settlement.js +252 -0
- package/dist/tempo/session/server/Settlement.js.map +1 -0
- package/dist/tempo/session/{Sse.d.ts → server/Sse.d.ts} +9 -56
- package/dist/tempo/session/server/Sse.d.ts.map +1 -0
- package/dist/tempo/session/server/Sse.js +184 -0
- package/dist/tempo/session/server/Sse.js.map +1 -0
- package/dist/tempo/session/server/Transports.d.ts +89 -0
- package/dist/tempo/session/server/Transports.d.ts.map +1 -0
- package/dist/tempo/session/server/Transports.js +149 -0
- package/dist/tempo/session/server/Transports.js.map +1 -0
- package/dist/tempo/session/server/Ws.d.ts +48 -0
- package/dist/tempo/session/server/Ws.d.ts.map +1 -0
- package/dist/tempo/session/server/Ws.js +244 -0
- package/dist/tempo/session/server/Ws.js.map +1 -0
- package/dist/tempo/session/server/index.d.ts +4 -0
- package/dist/tempo/session/server/index.d.ts.map +1 -0
- package/dist/tempo/session/server/index.js +2 -0
- package/dist/tempo/session/server/index.js.map +1 -0
- package/dist/tempo/subscription/KeyAuthorization.d.ts +712 -1
- package/dist/tempo/subscription/KeyAuthorization.d.ts.map +1 -1
- package/dist/tempo/subscription/Store.d.ts +2 -0
- package/dist/tempo/subscription/Store.d.ts.map +1 -1
- package/dist/tempo/subscription/Store.js +16 -1
- package/dist/tempo/subscription/Store.js.map +1 -1
- package/dist/x402/index.d.ts +1 -0
- package/dist/x402/index.d.ts.map +1 -1
- package/dist/x402/index.js +1 -0
- package/dist/x402/index.js.map +1 -1
- package/package.json +25 -9
- package/src/Challenge.test.ts +40 -0
- package/src/Challenge.ts +28 -13
- package/src/Constants.ts +58 -0
- package/src/Credential.ts +5 -4
- package/src/Mcp.ts +4 -0
- package/src/Method.ts +46 -5
- package/src/PaymentRequest.ts +10 -10
- package/src/Receipt.ts +3 -2
- package/src/cli/cli.test.ts +38 -43
- package/src/cli/cli.ts +23 -10
- package/src/cli/mcp.test.ts +21 -7
- package/src/cli/plugins/tempo.ts +21 -8
- package/src/cli/utils.test.ts +25 -1
- package/src/cli/utils.ts +10 -0
- package/src/client/Methods.ts +5 -2
- package/src/client/Mppx.test-d.ts +31 -1
- package/src/client/Mppx.test.ts +76 -1
- package/src/client/Mppx.ts +2 -2
- package/src/client/Transport.test.ts +225 -178
- package/src/client/Transport.ts +77 -84
- package/src/client/index.ts +25 -1
- package/src/client/internal/Fetch.test.ts +236 -6
- package/src/client/internal/Fetch.ts +69 -11
- package/src/client/internal/protocols/Mcp.test.ts +220 -0
- package/src/client/internal/protocols/Mcp.ts +162 -0
- package/src/client/internal/protocols/Mpp.ts +21 -0
- package/src/client/internal/protocols/Protocol.ts +10 -0
- package/src/client/internal/protocols/Shared.ts +25 -0
- package/src/client/internal/protocols/X402.ts +42 -0
- package/src/discovery/OpenApi.test.ts +1 -1
- package/src/env.d.ts +1 -1
- package/src/evm/PublicInterface.test-d.ts +1 -1
- package/src/evm/client/index.ts +1 -0
- package/src/evm/index.ts +2 -0
- package/src/evm/server/Charge.test.ts +1 -1
- package/src/evm/server/index.ts +1 -0
- package/src/index.ts +1 -0
- package/src/internal/AcceptPayment.test.ts +61 -0
- package/src/internal/AcceptPayment.ts +21 -14
- package/src/{mcp-sdk → mcp}/client/McpClient.integration.test.ts +18 -11
- package/src/{mcp-sdk → mcp}/client/McpClient.test-d.ts +45 -11
- package/src/{mcp-sdk → mcp}/client/McpClient.test.ts +211 -5
- package/src/mcp/client/McpClient.ts +307 -0
- package/src/mcp/client/McpClient.unit.test.ts +135 -0
- package/src/middlewares/elysia.test.ts +9 -5
- package/src/middlewares/express.test.ts +9 -5
- package/src/middlewares/hono.test.ts +5 -5
- package/src/middlewares/internal/mppx.test.ts +1 -1
- package/src/middlewares/nextjs.test.ts +9 -5
- package/src/proxy/Proxy.test.ts +9 -9
- package/src/proxy/services/anthropic.test.ts +1 -1
- package/src/proxy/services/openai.test.ts +1 -1
- package/src/proxy/services/stripe.test.ts +1 -1
- package/src/server/Mppx.authorize.test.ts +1 -1
- package/src/server/Mppx.test-d.ts +55 -1
- package/src/server/Mppx.test.ts +220 -9
- package/src/server/Mppx.ts +501 -407
- package/src/server/Response.ts +2 -1
- package/src/server/Transport.test.ts +6 -6
- package/src/server/Transport.ts +5 -4
- package/src/server/index.ts +1 -0
- package/src/stripe/Charge.integration.test.ts +1 -1
- package/src/stripe/client/Charge.test.ts +21 -6
- package/src/stripe/client/Charge.ts +6 -2
- package/src/stripe/server/Charge.test.ts +115 -2
- package/src/stripe/server/Charge.ts +13 -2
- package/src/stripe/server/internal/html/package.json +1 -1
- package/src/stripe/server/internal/html.gen.ts +1 -1
- package/src/tempo/AccessKeyAuthorization.test.ts +4 -94
- package/src/tempo/Methods.test.ts +45 -17
- package/src/tempo/Methods.ts +22 -0
- package/src/tempo/Proof.conformance.test.ts +146 -0
- package/src/tempo/Proof.test-d.ts +15 -0
- package/src/tempo/Proof.ts +52 -1
- package/src/tempo/PublicExports.test-d.ts +105 -0
- package/src/tempo/Subscription.integration.test.ts +1 -1
- package/src/tempo/client/Charge.test.ts +258 -0
- package/src/tempo/client/Charge.ts +84 -38
- package/src/tempo/client/Methods.ts +22 -8
- package/src/tempo/client/ResolveAccount.ts +46 -0
- package/src/tempo/client/index.ts +15 -4
- package/src/tempo/index.ts +1 -0
- package/src/tempo/internal/fee-payer.test.ts +296 -17
- package/src/tempo/internal/fee-payer.ts +186 -4
- package/src/tempo/internal/fee-token.test.ts +14 -9
- package/src/tempo/internal/proof.test.ts +12 -4
- package/src/tempo/internal/proof.ts +55 -6
- package/src/tempo/legacy/AccessKeyAuthorization.test.ts +162 -0
- package/src/tempo/legacy/README.md +9 -0
- package/src/tempo/{client → legacy/client}/ChannelOps.test.ts +6 -7
- package/src/tempo/{client → legacy/client}/ChannelOps.ts +22 -9
- package/src/tempo/{client → legacy/client}/Session.test.ts +51 -9
- package/src/tempo/{client → legacy/client}/Session.ts +25 -11
- package/src/tempo/{client → legacy/client}/SessionManager.test.ts +81 -9
- package/src/tempo/{client → legacy/client}/SessionManager.ts +52 -23
- package/src/tempo/legacy/client/index.ts +6 -0
- package/src/tempo/legacy/index.ts +6 -0
- package/src/tempo/{server → legacy/server}/Session.test.ts +136 -71
- package/src/tempo/{server → legacy/server}/Session.ts +32 -23
- package/src/tempo/legacy/server/index.ts +4 -0
- package/src/tempo/{session → legacy/session}/Chain.test.ts +3 -4
- package/src/tempo/{session → legacy/session}/Chain.ts +94 -63
- package/src/tempo/{session → legacy/session}/Channel.ts +1 -0
- package/src/tempo/legacy/session/ChannelStore.test.ts +58 -0
- package/src/tempo/legacy/session/ChannelStore.ts +39 -0
- package/src/tempo/legacy/session/Types.ts +91 -0
- package/src/tempo/{session → legacy/session}/Voucher.ts +12 -8
- package/src/tempo/{session → legacy/session}/escrow.abi.ts +1 -0
- package/src/tempo/legacy/session/index.ts +8 -0
- package/src/tempo/server/AtomicStore.test-d.ts +16 -11
- package/src/tempo/server/Charge.test.ts +480 -31
- package/src/tempo/server/Charge.ts +54 -30
- package/src/tempo/server/Methods.ts +58 -10
- package/src/tempo/server/Sse.test.ts +2 -2
- package/src/tempo/server/Subscription.test.ts +465 -3
- package/src/tempo/server/Subscription.ts +174 -19
- package/src/tempo/server/index.ts +6 -5
- package/src/tempo/server/internal/html/package.json +2 -2
- package/src/tempo/server/internal/html.gen.ts +1 -1
- package/src/tempo/server/internal/request-body.test.ts +37 -4
- package/src/tempo/server/internal/request-body.ts +25 -6
- package/src/tempo/server/internal/transport.test.ts +4 -4
- package/src/tempo/server/internal/transport.ts +19 -10
- package/src/tempo/session/Snapshot.test.ts +41 -0
- package/src/tempo/session/Snapshot.ts +74 -0
- package/src/tempo/session/client/ChannelOps.test.ts +163 -0
- package/src/tempo/session/client/ChannelOps.ts +330 -0
- package/src/tempo/session/client/ChannelStore.ts +111 -0
- package/src/tempo/session/client/CredentialState.test.ts +789 -0
- package/src/tempo/session/client/CredentialState.ts +799 -0
- package/src/tempo/session/client/ReceiptCoordinator.ts +95 -0
- package/src/tempo/session/client/Runtime.test.ts +1092 -0
- package/src/tempo/session/client/Runtime.ts +986 -0
- package/src/tempo/session/client/Session.test.ts +774 -0
- package/src/tempo/session/client/Session.ts +123 -0
- package/src/tempo/session/client/SessionManager.test.ts +1397 -0
- package/src/tempo/session/client/SessionManager.ts +751 -0
- package/src/tempo/session/client/Transports.test.ts +837 -0
- package/src/tempo/session/client/Transports.ts +1292 -0
- package/src/tempo/session/client/index.ts +40 -0
- package/src/tempo/session/index.ts +7 -8
- package/src/tempo/session/precompile/Chain.integration.test.ts +321 -0
- package/src/tempo/session/precompile/Chain.test.ts +1258 -0
- package/src/tempo/session/precompile/Chain.ts +979 -0
- package/src/tempo/session/precompile/Channel.test.ts +138 -0
- package/src/tempo/session/precompile/Channel.ts +103 -0
- package/src/tempo/session/precompile/Protocol.test.ts +358 -0
- package/src/tempo/session/precompile/Protocol.ts +520 -0
- package/src/tempo/session/precompile/Voucher.test.ts +354 -0
- package/src/tempo/session/precompile/Voucher.ts +162 -0
- package/src/tempo/session/precompile/escrow.abi.ts +226 -0
- package/src/tempo/session/precompile/index.ts +33 -0
- package/src/tempo/session/server/ChannelOps.test.ts +129 -0
- package/src/tempo/session/server/ChannelOps.ts +157 -0
- package/src/tempo/session/{ChannelStore.test.ts → server/ChannelStore.test.ts} +536 -29
- package/src/tempo/session/server/ChannelStore.ts +835 -0
- package/src/tempo/session/server/CredentialVerification.test.ts +146 -0
- package/src/tempo/session/server/CredentialVerification.ts +710 -0
- package/src/tempo/session/server/MeteredStream.ts +88 -0
- package/src/tempo/session/server/RequestState.test.ts +531 -0
- package/src/tempo/session/server/RequestState.ts +499 -0
- package/src/tempo/session/server/Session.integration.test.ts +444 -0
- package/src/tempo/session/server/Session.test.ts +3253 -0
- package/src/tempo/session/server/Session.ts +543 -0
- package/src/tempo/session/server/Settlement.test.ts +329 -0
- package/src/tempo/session/server/Settlement.ts +471 -0
- package/src/tempo/session/{Sse.test.ts → server/Sse.test.ts} +37 -3
- package/src/tempo/session/server/Sse.ts +254 -0
- package/src/tempo/session/server/Transports.test.ts +346 -0
- package/src/tempo/session/server/Transports.ts +255 -0
- package/src/tempo/session/{Ws.test.ts → server/Ws.test.ts} +4 -4
- package/src/tempo/session/server/Ws.ts +380 -0
- package/src/tempo/session/server/index.ts +8 -0
- package/src/tempo/subscription/Store.ts +27 -9
- package/src/x402/Exact.e2e.test.ts +1 -1
- package/src/x402/PublicInterface.test-d.ts +1 -1
- package/src/x402/index.ts +1 -0
- package/dist/mcp-sdk/client/McpClient.d.ts +0 -78
- package/dist/mcp-sdk/client/McpClient.d.ts.map +0 -1
- package/dist/mcp-sdk/client/McpClient.js +0 -105
- package/dist/mcp-sdk/client/McpClient.js.map +0 -1
- package/dist/mcp-sdk/client/index.d.ts.map +0 -1
- package/dist/mcp-sdk/client/index.js.map +0 -1
- package/dist/mcp-sdk/server/Transport.d.ts.map +0 -1
- package/dist/mcp-sdk/server/Transport.js.map +0 -1
- package/dist/mcp-sdk/server/index.d.ts.map +0 -1
- package/dist/mcp-sdk/server/index.js.map +0 -1
- package/dist/tempo/client/ChannelOps.d.ts.map +0 -1
- package/dist/tempo/client/ChannelOps.js.map +0 -1
- package/dist/tempo/client/Session.d.ts.map +0 -1
- package/dist/tempo/client/Session.js.map +0 -1
- package/dist/tempo/client/SessionManager.d.ts.map +0 -1
- package/dist/tempo/client/SessionManager.js.map +0 -1
- package/dist/tempo/server/Session.d.ts.map +0 -1
- package/dist/tempo/server/Session.js.map +0 -1
- package/dist/tempo/session/Chain.d.ts.map +0 -1
- package/dist/tempo/session/Chain.js.map +0 -1
- package/dist/tempo/session/Channel.d.ts.map +0 -1
- package/dist/tempo/session/Channel.js.map +0 -1
- package/dist/tempo/session/ChannelStore.d.ts +0 -117
- package/dist/tempo/session/ChannelStore.d.ts.map +0 -1
- package/dist/tempo/session/ChannelStore.js +0 -172
- package/dist/tempo/session/ChannelStore.js.map +0 -1
- package/dist/tempo/session/Receipt.d.ts +0 -22
- package/dist/tempo/session/Receipt.d.ts.map +0 -1
- package/dist/tempo/session/Receipt.js +0 -34
- package/dist/tempo/session/Receipt.js.map +0 -1
- package/dist/tempo/session/Sse.d.ts.map +0 -1
- package/dist/tempo/session/Sse.js +0 -363
- package/dist/tempo/session/Sse.js.map +0 -1
- package/dist/tempo/session/Types.d.ts +0 -78
- package/dist/tempo/session/Types.d.ts.map +0 -1
- package/dist/tempo/session/Types.js.map +0 -1
- package/dist/tempo/session/Voucher.d.ts.map +0 -1
- package/dist/tempo/session/Voucher.js.map +0 -1
- package/dist/tempo/session/Ws.d.ts +0 -87
- package/dist/tempo/session/Ws.d.ts.map +0 -1
- package/dist/tempo/session/Ws.js +0 -443
- package/dist/tempo/session/Ws.js.map +0 -1
- package/dist/tempo/session/escrow.abi.js.map +0 -1
- package/src/mcp-sdk/client/McpClient.ts +0 -196
- package/src/tempo/session/ChannelStore.ts +0 -308
- package/src/tempo/session/Receipt.test.ts +0 -89
- package/src/tempo/session/Receipt.ts +0 -46
- package/src/tempo/session/Sse.ts +0 -462
- package/src/tempo/session/Types.ts +0 -86
- package/src/tempo/session/Ws.ts +0 -576
- /package/dist/{mcp-sdk → mcp}/client/index.d.ts +0 -0
- /package/dist/{mcp-sdk → mcp}/client/index.js +0 -0
- /package/dist/{mcp-sdk → mcp}/server/Transport.d.ts +0 -0
- /package/dist/{mcp-sdk → mcp}/server/Transport.js +0 -0
- /package/dist/{mcp-sdk → mcp}/server/index.d.ts +0 -0
- /package/dist/{mcp-sdk → mcp}/server/index.js +0 -0
- /package/dist/tempo/{session → legacy/session}/Channel.js +0 -0
- /package/dist/tempo/{session → legacy/session}/Types.js +0 -0
- /package/src/{mcp-sdk → mcp}/client/index.ts +0 -0
- /package/src/{mcp-sdk → mcp}/server/Transport.test.ts +0 -0
- /package/src/{mcp-sdk → mcp}/server/Transport.ts +0 -0
- /package/src/{mcp-sdk → mcp}/server/index.ts +0 -0
- /package/src/tempo/{session → legacy/session}/Channel.test.ts +0 -0
- /package/src/tempo/{session → legacy/session}/Voucher.test.ts +0 -0
- /package/src/tempo/session/{Sse.fuzz.test.ts → server/Sse.fuzz.test.ts} +0 -0
|
@@ -0,0 +1,449 @@
|
|
|
1
|
+
import type { Hex } from 'ox';
|
|
2
|
+
import * as Challenge from '../../../Challenge.js';
|
|
3
|
+
import * as Constants from '../../../Constants.js';
|
|
4
|
+
import * as z from '../../../zod.js';
|
|
5
|
+
import * as Methods from '../../Methods.js';
|
|
6
|
+
import { type NeedVoucherEvent, type SessionReceipt } from '../precompile/Protocol.js';
|
|
7
|
+
import type { SessionSnapshot } from '../Snapshot.js';
|
|
8
|
+
import type { ChannelEntry } from './ChannelOps.js';
|
|
9
|
+
import type { SessionContext } from './CredentialState.js';
|
|
10
|
+
import { type CloseTarget, type SessionState } from './Runtime.js';
|
|
11
|
+
/** Runtime WebSocket constructor accepted by `sessionManager()` in non-browser environments. */
|
|
12
|
+
export type WebSocketConstructor = {
|
|
13
|
+
new (url: string | URL, protocols?: string | string[]): WebSocket;
|
|
14
|
+
};
|
|
15
|
+
/** Numeric ready-state constants used by browser-compatible WebSocket clients. */
|
|
16
|
+
export declare const WebSocketReadyState: {
|
|
17
|
+
readonly CONNECTING: 0;
|
|
18
|
+
readonly OPEN: 1;
|
|
19
|
+
readonly CLOSING: 2;
|
|
20
|
+
readonly CLOSED: 3;
|
|
21
|
+
};
|
|
22
|
+
/** Client-side close code used for payment protocol errors. */
|
|
23
|
+
export declare const ClientWebSocketProtocolErrorCloseCode = 3008;
|
|
24
|
+
type EventType = 'close' | 'error' | 'message' | 'open';
|
|
25
|
+
type ManagedEventMap = {
|
|
26
|
+
close: {
|
|
27
|
+
code: number;
|
|
28
|
+
reason: string;
|
|
29
|
+
type: 'close';
|
|
30
|
+
wasClean: boolean;
|
|
31
|
+
};
|
|
32
|
+
error: {
|
|
33
|
+
type: 'error';
|
|
34
|
+
};
|
|
35
|
+
message: {
|
|
36
|
+
data: string;
|
|
37
|
+
type: 'message';
|
|
38
|
+
};
|
|
39
|
+
open: {
|
|
40
|
+
type: 'open';
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
type ListenerValue<type extends EventType = EventType> = ((event: ManagedEventMap[type]) => void) | {
|
|
44
|
+
handleEvent(event: ManagedEventMap[type]): void;
|
|
45
|
+
};
|
|
46
|
+
type ManagedSocketShape = {
|
|
47
|
+
onclose: ((event: ManagedEventMap['close']) => void) | null;
|
|
48
|
+
onerror: ((event: ManagedEventMap['error']) => void) | null;
|
|
49
|
+
onmessage: ((event: ManagedEventMap['message']) => void) | null;
|
|
50
|
+
onopen: ((event: ManagedEventMap['open']) => void) | null;
|
|
51
|
+
};
|
|
52
|
+
/** Managed socket facade returned to callers after payment protocol frames are intercepted. */
|
|
53
|
+
export type SessionManagedWebSocket = ManagedSocketShape & {
|
|
54
|
+
addEventListener<type extends EventType>(type: type, listener: ListenerValue<type>, options?: boolean | AddEventListenerOptions): void;
|
|
55
|
+
readonly bufferedAmount: WebSocket['bufferedAmount'];
|
|
56
|
+
close(code?: number, reason?: string): void;
|
|
57
|
+
readonly extensions: WebSocket['extensions'];
|
|
58
|
+
on<type extends EventType>(type: type, listener: (event: ManagedEventMap[type]) => void): void;
|
|
59
|
+
off<type extends EventType>(type: type, listener: (event: ManagedEventMap[type]) => void): void;
|
|
60
|
+
readonly protocol: WebSocket['protocol'];
|
|
61
|
+
readonly readyState: WebSocket['readyState'];
|
|
62
|
+
removeEventListener<type extends EventType>(type: type, listener: ListenerValue<type>): void;
|
|
63
|
+
send(data: string): void;
|
|
64
|
+
readonly url: WebSocket['url'];
|
|
65
|
+
};
|
|
66
|
+
/** Wraps a raw WebSocket so protocol frames can be handled before user listeners see messages. */
|
|
67
|
+
export declare function createManagedSocket(socket: WebSocket): {
|
|
68
|
+
emit: <type extends EventType>(type: type, event: ManagedEventMap[type]) => void;
|
|
69
|
+
socket: SessionManagedWebSocket;
|
|
70
|
+
};
|
|
71
|
+
/** Top-up requirement emitted by HTTP, SSE, or WebSocket session flows. */
|
|
72
|
+
export type TopUpRequirement = {
|
|
73
|
+
/** Challenge used to authorize the management request. */
|
|
74
|
+
challenge: TempoSessionChallenge;
|
|
75
|
+
/** Channel that requires more deposit. */
|
|
76
|
+
channelId: Hex.Hex;
|
|
77
|
+
/** Current channel deposit in raw units. */
|
|
78
|
+
deposit: bigint;
|
|
79
|
+
/** Original paid resource URL; converted to a management URL by the caller. */
|
|
80
|
+
input: RequestInfo | URL;
|
|
81
|
+
/** Minimum cumulative voucher amount the server needs. */
|
|
82
|
+
requiredCumulative: bigint;
|
|
83
|
+
};
|
|
84
|
+
/** Inputs needed to validate a caller-requested manager top-up. */
|
|
85
|
+
export type ResolveManualTopUpParameters = {
|
|
86
|
+
/** Human-readable or raw top-up amount passed to `SessionManager.topUp()`. */
|
|
87
|
+
amount: string | bigint;
|
|
88
|
+
/** Local policy guard for cumulative voucher authorization. */
|
|
89
|
+
assertVoucherWithinLocalLimit(cumulativeAmount: bigint): void;
|
|
90
|
+
/** Active channel cache entry, when one exists. */
|
|
91
|
+
channel: ChannelEntry | null;
|
|
92
|
+
/** Token decimals used to parse string amounts. */
|
|
93
|
+
decimals: number;
|
|
94
|
+
/** Last challenge observed by the manager. */
|
|
95
|
+
lastChallenge: TempoSessionChallenge | null;
|
|
96
|
+
/** Last paid resource or management URL available to the manager. */
|
|
97
|
+
lastUrl: RequestInfo | URL | null;
|
|
98
|
+
};
|
|
99
|
+
/** Validated target for a caller-requested manager top-up. */
|
|
100
|
+
export type ManualTopUpTarget = {
|
|
101
|
+
/** Additional deposit in raw token units. */
|
|
102
|
+
additionalDeposit: bigint;
|
|
103
|
+
/** Challenge used to authorize the top-up credential. */
|
|
104
|
+
challenge: TempoSessionChallenge;
|
|
105
|
+
/** Channel ID receiving the top-up. */
|
|
106
|
+
channelId: Hex.Hex;
|
|
107
|
+
/** URL used for the top-up management POST. */
|
|
108
|
+
input: RequestInfo | URL;
|
|
109
|
+
};
|
|
110
|
+
/** Inputs for applying a successful top-up POST to local manager state. */
|
|
111
|
+
export type ApplyTopUpResultParameters = {
|
|
112
|
+
/** Additional deposit accepted by the top-up credential. */
|
|
113
|
+
additionalDeposit: bigint;
|
|
114
|
+
/** Active local channel cache entry, when one exists. */
|
|
115
|
+
channel: ChannelEntry | null;
|
|
116
|
+
/** Channel ID targeted by the top-up. */
|
|
117
|
+
channelId: Hex.Hex;
|
|
118
|
+
/** Current active challenge ID, used when the server did not return a receipt. */
|
|
119
|
+
challengeId?: string | undefined;
|
|
120
|
+
/** Current active machine state, used to preserve paid unit count when possible. */
|
|
121
|
+
currentState: SessionState;
|
|
122
|
+
/** Receipt returned by the top-up POST, when present. */
|
|
123
|
+
receipt?: SessionReceipt | undefined;
|
|
124
|
+
/** Latest locally observed spend in raw units. */
|
|
125
|
+
spent: bigint;
|
|
126
|
+
};
|
|
127
|
+
/** Local runtime updates produced by a top-up POST. */
|
|
128
|
+
export type AppliedTopUpResult = {
|
|
129
|
+
/** Channel with updated deposit. */
|
|
130
|
+
channel: ChannelEntry;
|
|
131
|
+
/** Next public machine state, when enough context is available to project one. */
|
|
132
|
+
state?: SessionState | undefined;
|
|
133
|
+
};
|
|
134
|
+
/** Parsed raw-unit amounts from a server need-voucher event. */
|
|
135
|
+
export type NeedVoucherEventAmounts = {
|
|
136
|
+
/** Highest voucher amount currently accepted by the server. */
|
|
137
|
+
acceptedCumulative: bigint;
|
|
138
|
+
/** Current on-chain deposit reported by the server. */
|
|
139
|
+
deposit: bigint;
|
|
140
|
+
/** Minimum cumulative voucher amount required by the server. */
|
|
141
|
+
requiredCumulative: bigint;
|
|
142
|
+
};
|
|
143
|
+
/** Inputs used to satisfy a server need-voucher event. */
|
|
144
|
+
export type ResolveNeedVoucherContextParameters = {
|
|
145
|
+
/** Local policy guard for cumulative voucher authorization. */
|
|
146
|
+
assertVoucherWithinLocalLimit(cumulativeAmount: bigint): void;
|
|
147
|
+
/** Challenge used for follow-up management credentials. */
|
|
148
|
+
challenge: TempoSessionChallenge;
|
|
149
|
+
/** Server need-voucher event. */
|
|
150
|
+
event: NeedVoucherEvent;
|
|
151
|
+
/** Expected channel ID for this transport flow. */
|
|
152
|
+
expectedChannelId: Hex.Hex;
|
|
153
|
+
/** Reads the latest active channel after any top-up. */
|
|
154
|
+
getChannel(): ChannelEntry | null;
|
|
155
|
+
/** Original paid resource URL; converted to management URL by the caller. */
|
|
156
|
+
input: RequestInfo | URL;
|
|
157
|
+
/** Performs the deposit top-up when server-required cumulative exceeds deposit. */
|
|
158
|
+
topUpIfNeeded(parameters: TopUpRequirement): Promise<void>;
|
|
159
|
+
};
|
|
160
|
+
/** Result of handling a server need-voucher event. */
|
|
161
|
+
export type NeedVoucherResolution = {
|
|
162
|
+
/** A voucher credential can be signed with this context. */
|
|
163
|
+
status: 'ready';
|
|
164
|
+
/** Context passed to the low-level session credential method. */
|
|
165
|
+
context: SessionContext;
|
|
166
|
+
} | {
|
|
167
|
+
/** No voucher should be sent for this event. */
|
|
168
|
+
status: 'ignored';
|
|
169
|
+
/** Why the event was ignored. */
|
|
170
|
+
reason: 'channel-mismatch' | 'missing-channel';
|
|
171
|
+
};
|
|
172
|
+
/** Parses raw-unit numeric fields from a need-voucher event. */
|
|
173
|
+
export declare function readNeedVoucherEventAmounts(event: NeedVoucherEvent): NeedVoucherEventAmounts;
|
|
174
|
+
/** Validates local manager state and returns the concrete top-up operation to execute. */
|
|
175
|
+
export declare function resolveManualTopUp(parameters: ResolveManualTopUpParameters): ManualTopUpTarget;
|
|
176
|
+
/**
|
|
177
|
+
* Applies local deposit and state bookkeeping for a top-up response.
|
|
178
|
+
*
|
|
179
|
+
* `deposit` is updated from the top-up amount. Receipt cumulative values only
|
|
180
|
+
* update accepted spend authorization; they do not replace deposit.
|
|
181
|
+
*/
|
|
182
|
+
export declare function applyTopUpResult(parameters: ApplyTopUpResultParameters): AppliedTopUpResult | undefined;
|
|
183
|
+
/**
|
|
184
|
+
* Applies local top-up/cumulative bookkeeping for a need-voucher event and
|
|
185
|
+
* returns an explicit transport decision.
|
|
186
|
+
*/
|
|
187
|
+
export declare function resolveNeedVoucherContext(parameters: ResolveNeedVoucherContextParameters): Promise<NeedVoucherResolution>;
|
|
188
|
+
/** Canonical challenge shape for built-in `tempo/session` requests. */
|
|
189
|
+
export type TempoSessionChallenge = Challenge.Challenge<z.output<typeof Methods.session.schema.request>, typeof Constants.Intents.session, typeof Constants.Methods.tempo>;
|
|
190
|
+
/** Creates a credential bound to the current session challenge. */
|
|
191
|
+
export type CreateSessionCredential = (challenge: TempoSessionChallenge, context: SessionContext) => Promise<string>;
|
|
192
|
+
/** Inputs for posting a precompile session top-up credential. */
|
|
193
|
+
export type PostTopUpParameters = {
|
|
194
|
+
/** Additional deposit in raw token units. */
|
|
195
|
+
additionalDeposit: bigint;
|
|
196
|
+
/** Challenge used to authorize the management request. */
|
|
197
|
+
challenge: TempoSessionChallenge;
|
|
198
|
+
/** Local channel expected to receive the top-up. */
|
|
199
|
+
channel: ChannelEntry | null;
|
|
200
|
+
/** Channel ID being topped up. */
|
|
201
|
+
channelId: Hex.Hex;
|
|
202
|
+
/** Creates the signed top-up credential. */
|
|
203
|
+
createSessionCredential: CreateSessionCredential;
|
|
204
|
+
/** Fetch implementation used for the management POST. */
|
|
205
|
+
fetch: typeof globalThis.fetch;
|
|
206
|
+
/** Original paid resource URL; normalized to a management URL before posting. */
|
|
207
|
+
input: RequestInfo | URL;
|
|
208
|
+
};
|
|
209
|
+
/** Inputs for retrying an HTTP 402 with a top-up/voucher management round trip. */
|
|
210
|
+
export type RetryHttpPaymentRequiredParameters = {
|
|
211
|
+
/** Creates the signed voucher credential. */
|
|
212
|
+
createSessionCredential: CreateSessionCredential;
|
|
213
|
+
/** Fetch implementation used for the paid retry. */
|
|
214
|
+
fetch: typeof globalThis.fetch;
|
|
215
|
+
/** Returns the current active channel after any top-up side effects. */
|
|
216
|
+
getChannel(): ChannelEntry | null;
|
|
217
|
+
/** Original request init used by the paid resource request. */
|
|
218
|
+
init?: RequestInit | undefined;
|
|
219
|
+
/** Original paid resource URL. */
|
|
220
|
+
input: RequestInfo | URL;
|
|
221
|
+
/** Failed HTTP response that may contain a session challenge. */
|
|
222
|
+
response: Response;
|
|
223
|
+
/** Restores local cumulative authorization if the voucher retry fails. */
|
|
224
|
+
restoreCumulative(channelId: Hex.Hex, cumulativeAmount: bigint): void;
|
|
225
|
+
/** Stores the selected follow-up challenge on the manager. */
|
|
226
|
+
setChallenge(challenge: TempoSessionChallenge): void;
|
|
227
|
+
/** Performs automatic top-up before the voucher retry when deposit is insufficient. */
|
|
228
|
+
topUpIfNeeded(parameters: TopUpRequirement): Promise<void>;
|
|
229
|
+
};
|
|
230
|
+
/** Resolved data needed to perform an automatic HTTP voucher retry. */
|
|
231
|
+
export type RetryHttpPaymentContext = {
|
|
232
|
+
/** Channel active before the retry attempt. */
|
|
233
|
+
channel: ChannelEntry;
|
|
234
|
+
/** Follow-up challenge selected from the 402 response. */
|
|
235
|
+
challenge: TempoSessionChallenge;
|
|
236
|
+
/** Server snapshot describing the required voucher boundary. */
|
|
237
|
+
snapshot: NonNullable<ReturnType<typeof getSessionSnapshot>>;
|
|
238
|
+
};
|
|
239
|
+
/** Inputs for posting a cooperative HTTP close credential. */
|
|
240
|
+
export type CloseHttpSessionParameters = {
|
|
241
|
+
/** Creates the signed close credential. */
|
|
242
|
+
createSessionCredential: CreateSessionCredential;
|
|
243
|
+
/** Fetch implementation used for the close POST. */
|
|
244
|
+
fetch: typeof globalThis.fetch;
|
|
245
|
+
/** Last paid resource URL; used as the management endpoint base. */
|
|
246
|
+
lastUrl: RequestInfo | URL | null;
|
|
247
|
+
/** Final cumulative amount the client is willing to sign. */
|
|
248
|
+
signedCloseAmount: string;
|
|
249
|
+
/** Stores a fresh close challenge when the first close credential expired. */
|
|
250
|
+
setChallenge?: ((challenge: TempoSessionChallenge) => void) | undefined;
|
|
251
|
+
/** Channel/challenge pair being closed. */
|
|
252
|
+
target: CloseTarget;
|
|
253
|
+
};
|
|
254
|
+
/** Returns true when a payment challenge is the built-in `tempo/session` method. */
|
|
255
|
+
export declare function isTempoSessionChallenge(challenge: Challenge.Challenge): challenge is TempoSessionChallenge;
|
|
256
|
+
/** Reads a server-provided session snapshot from challenge method details. */
|
|
257
|
+
export declare function getSessionSnapshot(challenge: TempoSessionChallenge): SessionSnapshot | undefined;
|
|
258
|
+
/** Merges request headers and sets the payment authorization header for a retry. */
|
|
259
|
+
export declare function requestInitWithAuthorization(input: RequestInfo | URL, init: RequestInit | undefined, credential: string): RequestInit;
|
|
260
|
+
/** Returns the URL used for out-of-band management POSTs, stripping resource query state. */
|
|
261
|
+
export declare function managementInput(input: RequestInfo | URL): RequestInfo | URL;
|
|
262
|
+
/** Converts a WebSocket URL into the HTTP URL used for its payment challenge probe. */
|
|
263
|
+
export declare function webSocketProbeUrl(input: string | URL): URL;
|
|
264
|
+
/** Reads an HTTP problem detail body, falling back to raw text for non-problem responses. */
|
|
265
|
+
export declare function readProblemDetail(response: Response): Promise<string>;
|
|
266
|
+
/** Posts a top-up management credential and returns its receipt, when present. */
|
|
267
|
+
export declare function postTopUp(parameters: PostTopUpParameters): Promise<SessionReceipt | undefined>;
|
|
268
|
+
/** Retries an HTTP 402 when the server snapshot asks for more voucher headroom. */
|
|
269
|
+
export declare function retryHttpPaymentRequired(parameters: RetryHttpPaymentRequiredParameters): Promise<Response | undefined>;
|
|
270
|
+
/** Resolves whether a 402 response can be handled by an automatic session voucher retry. */
|
|
271
|
+
export declare function resolveRetryHttpPaymentContext(parameters: {
|
|
272
|
+
channel: ChannelEntry | null;
|
|
273
|
+
response: Response;
|
|
274
|
+
}): RetryHttpPaymentContext | undefined;
|
|
275
|
+
/** Posts a cooperative close credential over HTTP and returns its receipt, when present. */
|
|
276
|
+
export declare function closeHttpSession(parameters: CloseHttpSessionParameters): Promise<SessionReceipt | undefined>;
|
|
277
|
+
/** Options accepted by the auto-driving SSE session flow. */
|
|
278
|
+
export type SseDriverOptions = RequestInit & {
|
|
279
|
+
/** Called for each payment receipt emitted by the SSE stream. */
|
|
280
|
+
onReceipt?: ((receipt: SessionReceipt) => void) | undefined;
|
|
281
|
+
/** Abort signal used to cancel the stream. */
|
|
282
|
+
signal?: AbortSignal | undefined;
|
|
283
|
+
};
|
|
284
|
+
/** Dependencies the SSE driver needs from `SessionManager`. */
|
|
285
|
+
export type OpenSseSessionParameters = {
|
|
286
|
+
/** Creates a session credential for the selected challenge/context. */
|
|
287
|
+
createSessionCredential(challenge: TempoSessionChallenge, context: SessionContext): Promise<string>;
|
|
288
|
+
/** Paid fetch flow used for the initial SSE request and any retry. */
|
|
289
|
+
doFetch(input: RequestInfo | URL, init?: RequestInit): Promise<Response>;
|
|
290
|
+
/** Fetch implementation used for management voucher posts. */
|
|
291
|
+
fetch: typeof globalThis.fetch;
|
|
292
|
+
/** Returns the active channel, if any. */
|
|
293
|
+
getChannel(): ChannelEntry | null;
|
|
294
|
+
/** Returns the latest challenge observed by the manager. */
|
|
295
|
+
getChallenge(): TempoSessionChallenge | null;
|
|
296
|
+
/** Validates a cumulative amount against local client policy. */
|
|
297
|
+
assertVoucherWithinLocalLimit(cumulativeAmount: bigint): void;
|
|
298
|
+
/** Converts a resource URL to the server's session management URL. */
|
|
299
|
+
managementInput(input: RequestInfo | URL): RequestInfo | URL;
|
|
300
|
+
/** Applies an incoming receipt to manager state. */
|
|
301
|
+
acceptReceipt(receipt: SessionReceipt): void;
|
|
302
|
+
/** Performs an automatic channel top-up when deposit is insufficient. */
|
|
303
|
+
topUpIfNeeded(parameters: TopUpRequirement): Promise<void>;
|
|
304
|
+
};
|
|
305
|
+
/**
|
|
306
|
+
* Opens an auto-driving paid SSE stream.
|
|
307
|
+
*
|
|
308
|
+
* The driver owns only transport parsing and management posts. Session state,
|
|
309
|
+
* credential creation, and top-up policy stay in `SessionManager`.
|
|
310
|
+
*/
|
|
311
|
+
export declare function openSseSession(input: RequestInfo | URL, init: SseDriverOptions | undefined, driver: OpenSseSessionParameters): Promise<AsyncIterable<string>>;
|
|
312
|
+
/** Options accepted by the auto-driving WebSocket session flow. */
|
|
313
|
+
export type WebSocketDriverOptions = {
|
|
314
|
+
/** Called for each payment receipt emitted by the WebSocket flow. */
|
|
315
|
+
onReceipt?: ((receipt: SessionReceipt) => void) | undefined;
|
|
316
|
+
/** WebSocket subprotocols passed to the runtime constructor. */
|
|
317
|
+
protocols?: string | string[] | undefined;
|
|
318
|
+
/** Abort signal used to cancel the socket payment flow. */
|
|
319
|
+
signal?: AbortSignal | undefined;
|
|
320
|
+
};
|
|
321
|
+
/** Creates a session credential for a WebSocket payment challenge. */
|
|
322
|
+
export type CreateWebSocketCredential = (challenge: TempoSessionChallenge, context: SessionContext) => Promise<string>;
|
|
323
|
+
/** Inputs for probing and authorizing a paid WebSocket session. */
|
|
324
|
+
export type PrepareWebSocketSessionParameters = {
|
|
325
|
+
/** Creates the opening session credential. */
|
|
326
|
+
createSessionCredential: CreateWebSocketCredential;
|
|
327
|
+
/** Fetch implementation used for the HTTP 402 probe. */
|
|
328
|
+
fetch: typeof globalThis.fetch;
|
|
329
|
+
/** WebSocket URL requested by the caller. */
|
|
330
|
+
input: string | URL;
|
|
331
|
+
/** Called after resolving the HTTP probe URL, before the network request. */
|
|
332
|
+
onProbeUrl?: ((httpUrl: URL) => void) | undefined;
|
|
333
|
+
/** Optional request init for the HTTP probe. */
|
|
334
|
+
probeInit?: RequestInit | undefined;
|
|
335
|
+
/** Optional abort signal applied to the HTTP probe. */
|
|
336
|
+
signal?: AbortSignal | undefined;
|
|
337
|
+
};
|
|
338
|
+
/** Result of the HTTP probe and opening credential creation for a WebSocket session. */
|
|
339
|
+
export type PreparedWebSocketSession = {
|
|
340
|
+
/** Selected tempo/session challenge from the HTTP probe. */
|
|
341
|
+
challenge: TempoSessionChallenge;
|
|
342
|
+
/** Opening authorization credential to send in-band after the socket opens. */
|
|
343
|
+
credential: string;
|
|
344
|
+
/** HTTP URL used for probe and out-of-band management requests. */
|
|
345
|
+
httpUrl: URL;
|
|
346
|
+
/** WebSocket URL to open. */
|
|
347
|
+
wsUrl: URL;
|
|
348
|
+
};
|
|
349
|
+
/** Active WebSocket session bookkeeping shared by the manager and socket driver. */
|
|
350
|
+
export type ActiveSocketSession = {
|
|
351
|
+
/** Challenge used to create credentials for this socket. */
|
|
352
|
+
challenge: TempoSessionChallenge;
|
|
353
|
+
/** Channel authorized by the opening credential. */
|
|
354
|
+
channelId: Hex.Hex;
|
|
355
|
+
/** Server close-ready receipt, when the stream is ready to close. */
|
|
356
|
+
closeReadyReceipt: SessionReceipt | null;
|
|
357
|
+
/** Number of application chunks delivered through the managed socket. */
|
|
358
|
+
deliveredChunks: bigint;
|
|
359
|
+
/** Expected final close amount while a close credential is in flight. */
|
|
360
|
+
expectedCloseAmount: string | null;
|
|
361
|
+
/** Raw socket while open; set to null after close. */
|
|
362
|
+
socket: WebSocket | null;
|
|
363
|
+
/** Raw token cost per delivered chunk. */
|
|
364
|
+
tickCost: bigint;
|
|
365
|
+
};
|
|
366
|
+
/** Inputs for creating initial WebSocket payment runtime state. */
|
|
367
|
+
export type CreateActiveSocketSessionParameters = {
|
|
368
|
+
/** Challenge selected by the HTTP probe. */
|
|
369
|
+
challenge: TempoSessionChallenge;
|
|
370
|
+
/** Opening credential sent when the socket opens. */
|
|
371
|
+
credential: string;
|
|
372
|
+
/** Raw runtime socket. */
|
|
373
|
+
socket: WebSocket;
|
|
374
|
+
};
|
|
375
|
+
/** Dependencies the WebSocket driver needs from `SessionManager`. */
|
|
376
|
+
export type OpenWebSocketSessionParameters = {
|
|
377
|
+
/** Challenge selected by the HTTP probe. */
|
|
378
|
+
challenge: TempoSessionChallenge;
|
|
379
|
+
/** Opening credential to send in-band after the socket opens. */
|
|
380
|
+
credential: string;
|
|
381
|
+
/** URL used for automatic top-up management calls. */
|
|
382
|
+
httpUrl: URL;
|
|
383
|
+
/** WebSocket constructor for the current runtime. */
|
|
384
|
+
WebSocket: WebSocketConstructor;
|
|
385
|
+
/** WebSocket URL to open. */
|
|
386
|
+
wsUrl: URL;
|
|
387
|
+
/** Optional WebSocket call options. */
|
|
388
|
+
options?: WebSocketDriverOptions | undefined;
|
|
389
|
+
/** Creates a session credential for the selected challenge/context. */
|
|
390
|
+
createSessionCredential(challenge: TempoSessionChallenge, context: SessionContext): Promise<string>;
|
|
391
|
+
/** Returns the active channel, if any. */
|
|
392
|
+
getChannel(): ChannelEntry | null;
|
|
393
|
+
/** Stores the active socket state in the manager. */
|
|
394
|
+
setSocketSession(session: ActiveSocketSession): void;
|
|
395
|
+
/** Validates a cumulative amount against local client policy. */
|
|
396
|
+
assertVoucherWithinLocalLimit(cumulativeAmount: bigint): void;
|
|
397
|
+
/** Applies an incoming receipt to manager state. */
|
|
398
|
+
acceptReceipt(receipt: SessionReceipt): void;
|
|
399
|
+
/** Rejects any pending close-ready wait. */
|
|
400
|
+
rejectCloseReady(error: Error): void;
|
|
401
|
+
/** Rejects any pending receipt wait. */
|
|
402
|
+
rejectReceipt(error: Error): void;
|
|
403
|
+
/** Records a close-ready receipt. */
|
|
404
|
+
settleCloseReady(receipt: SessionReceipt): void;
|
|
405
|
+
/** Records a payment receipt. */
|
|
406
|
+
settleReceipt(receipt: SessionReceipt): void;
|
|
407
|
+
/** Performs an automatic channel top-up when deposit is insufficient. */
|
|
408
|
+
topUpIfNeeded(parameters: TopUpRequirement): Promise<void>;
|
|
409
|
+
/** Waits for the opening receipt before returning the managed socket. */
|
|
410
|
+
waitForReceipt(): Promise<SessionReceipt>;
|
|
411
|
+
};
|
|
412
|
+
/** Inputs for validating a receipt belongs to the active WebSocket payment flow. */
|
|
413
|
+
export type ExpectedSocketReceiptParameters = {
|
|
414
|
+
/** Active WebSocket challenge ID. */
|
|
415
|
+
challengeId: string;
|
|
416
|
+
/** Active WebSocket channel ID. */
|
|
417
|
+
channelId: Hex.Hex;
|
|
418
|
+
/** Receipt received from a WebSocket payment frame. */
|
|
419
|
+
receipt: SessionReceipt;
|
|
420
|
+
};
|
|
421
|
+
/** Inputs for validating a payment-close-ready frame. */
|
|
422
|
+
export type ValidateSocketCloseReadyReceiptParameters = ExpectedSocketReceiptParameters & {
|
|
423
|
+
/** Local cumulative voucher authorization for the active channel. */
|
|
424
|
+
cumulativeAmount: bigint;
|
|
425
|
+
};
|
|
426
|
+
/** Inputs for validating a payment-receipt frame. */
|
|
427
|
+
export type ValidateSocketPaymentReceiptParameters = ExpectedSocketReceiptParameters & {
|
|
428
|
+
/** Expected final close amount while a close credential is in flight. */
|
|
429
|
+
expectedCloseAmount: string | null;
|
|
430
|
+
};
|
|
431
|
+
/** Probes a WebSocket endpoint over HTTP and creates the opening credential. */
|
|
432
|
+
export declare function prepareWebSocketSession(parameters: PrepareWebSocketSessionParameters): Promise<PreparedWebSocketSession>;
|
|
433
|
+
/** Creates the initial runtime state for a paid WebSocket from its opening credential. */
|
|
434
|
+
export declare function createActiveSocketSession(parameters: CreateActiveSocketSessionParameters): ActiveSocketSession;
|
|
435
|
+
/** Returns whether a receipt belongs to the active WebSocket session. */
|
|
436
|
+
export declare function isExpectedSocketReceipt(parameters: ExpectedSocketReceiptParameters): boolean;
|
|
437
|
+
/** Returns a protocol failure message when a close-ready receipt is invalid. */
|
|
438
|
+
export declare function validateSocketCloseReadyReceipt(parameters: ValidateSocketCloseReadyReceiptParameters): string | undefined;
|
|
439
|
+
/** Returns a protocol failure message when a payment receipt is invalid. */
|
|
440
|
+
export declare function validateSocketPaymentReceipt(parameters: ValidateSocketPaymentReceiptParameters): string | undefined;
|
|
441
|
+
/**
|
|
442
|
+
* Opens an auto-driving paid WebSocket session.
|
|
443
|
+
*
|
|
444
|
+
* The driver owns socket protocol frames. Session state, credential creation,
|
|
445
|
+
* and top-up policy remain supplied by `SessionManager`.
|
|
446
|
+
*/
|
|
447
|
+
export declare function openWebSocketSession(parameters: OpenWebSocketSessionParameters): Promise<SessionManagedWebSocket>;
|
|
448
|
+
export {};
|
|
449
|
+
//# sourceMappingURL=Transports.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Transports.d.ts","sourceRoot":"","sources":["../../../../src/tempo/session/client/Transports.ts"],"names":[],"mappings":"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"}
|