mppx 0.8.11 → 0.8.13
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 +25 -0
- package/README.md +16 -1
- package/dist/cli/account.d.ts +88 -0
- package/dist/cli/account.d.ts.map +1 -1
- package/dist/cli/account.js +39 -9
- package/dist/cli/account.js.map +1 -1
- package/dist/cli/cli.d.ts +2 -1
- package/dist/cli/cli.d.ts.map +1 -1
- package/dist/cli/cli.js +59 -2
- package/dist/cli/cli.js.map +1 -1
- package/dist/cli/sessions/Manager.d.ts +31 -0
- package/dist/cli/sessions/Manager.d.ts.map +1 -0
- package/dist/cli/sessions/Manager.js +56 -0
- package/dist/cli/sessions/Manager.js.map +1 -0
- package/dist/cli/sessions/commands.d.ts +36 -0
- package/dist/cli/sessions/commands.d.ts.map +1 -0
- package/dist/cli/sessions/commands.js +407 -0
- package/dist/cli/sessions/commands.js.map +1 -0
- package/dist/cli/sessions/request.d.ts +35 -0
- package/dist/cli/sessions/request.d.ts.map +1 -0
- package/dist/cli/sessions/request.js +271 -0
- package/dist/cli/sessions/request.js.map +1 -0
- package/dist/cli/sessions/store.d.ts +134 -0
- package/dist/cli/sessions/store.d.ts.map +1 -0
- package/dist/cli/sessions/store.js +723 -0
- package/dist/cli/sessions/store.js.map +1 -0
- package/dist/cli/utils.d.ts +2 -0
- package/dist/cli/utils.d.ts.map +1 -1
- package/dist/cli/utils.js +12 -0
- package/dist/cli/utils.js.map +1 -1
- package/dist/cli/validate/index.d.ts.map +1 -1
- package/dist/cli/validate/index.js +12 -6
- package/dist/cli/validate/index.js.map +1 -1
- package/dist/cli/validate/messages.d.ts +2 -0
- package/dist/cli/validate/messages.d.ts.map +1 -0
- package/dist/cli/validate/messages.js +8 -0
- package/dist/cli/validate/messages.js.map +1 -0
- package/dist/client/internal/Fetch.d.ts.map +1 -1
- package/dist/client/internal/Fetch.js +35 -6
- package/dist/client/internal/Fetch.js.map +1 -1
- package/dist/client/internal/MethodResponse.d.ts +23 -0
- package/dist/client/internal/MethodResponse.d.ts.map +1 -0
- package/dist/client/internal/MethodResponse.js +15 -0
- package/dist/client/internal/MethodResponse.js.map +1 -0
- package/dist/client/node.d.ts +29 -0
- package/dist/client/node.d.ts.map +1 -0
- package/dist/client/node.js +177 -0
- package/dist/client/node.js.map +1 -0
- package/dist/internal/types.d.ts +24 -0
- package/dist/internal/types.d.ts.map +1 -1
- package/dist/stripe/server/Charge.d.ts +8 -4
- package/dist/stripe/server/Charge.d.ts.map +1 -1
- package/dist/stripe/server/Charge.js.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/client/Methods.d.ts +1 -1
- package/dist/tempo/internal/types.d.ts +10 -1
- package/dist/tempo/internal/types.d.ts.map +1 -1
- package/dist/tempo/legacy/client/ChannelOps.d.ts +2 -0
- package/dist/tempo/legacy/client/ChannelOps.d.ts.map +1 -1
- package/dist/tempo/legacy/client/ChannelOps.js +4 -0
- package/dist/tempo/legacy/client/ChannelOps.js.map +1 -1
- package/dist/tempo/legacy/client/Session.d.ts +2 -2
- package/dist/tempo/legacy/client/Session.d.ts.map +1 -1
- package/dist/tempo/legacy/client/Session.js +7 -0
- package/dist/tempo/legacy/client/Session.js.map +1 -1
- package/dist/tempo/legacy/server/Session.d.ts +3 -3
- package/dist/tempo/legacy/server/Session.d.ts.map +1 -1
- package/dist/tempo/legacy/server/Session.js.map +1 -1
- package/dist/tempo/server/Charge.d.ts +3 -2
- package/dist/tempo/server/Charge.d.ts.map +1 -1
- package/dist/tempo/server/Charge.js.map +1 -1
- package/dist/tempo/server/Methods.d.ts +2 -23
- package/dist/tempo/server/Methods.d.ts.map +1 -1
- package/dist/tempo/server/Methods.js +2 -2
- package/dist/tempo/server/Methods.js.map +1 -1
- package/dist/tempo/server/Subscription.d.ts +3 -2
- package/dist/tempo/server/Subscription.d.ts.map +1 -1
- package/dist/tempo/server/Subscription.js.map +1 -1
- package/dist/tempo/server/index.d.ts +1 -1
- package/dist/tempo/server/index.d.ts.map +1 -1
- 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/session/Snapshot.d.ts +9 -0
- package/dist/tempo/session/Snapshot.d.ts.map +1 -1
- package/dist/tempo/session/Snapshot.js +6 -0
- package/dist/tempo/session/Snapshot.js.map +1 -1
- package/dist/tempo/session/client/ChannelOps.d.ts.map +1 -1
- package/dist/tempo/session/client/ChannelOps.js +11 -2
- package/dist/tempo/session/client/ChannelOps.js.map +1 -1
- package/dist/tempo/session/client/CredentialState.d.ts +21 -1
- package/dist/tempo/session/client/CredentialState.d.ts.map +1 -1
- package/dist/tempo/session/client/CredentialState.js +66 -1
- package/dist/tempo/session/client/CredentialState.js.map +1 -1
- package/dist/tempo/session/client/Session.d.ts +1 -1
- package/dist/tempo/session/client/Session.d.ts.map +1 -1
- package/dist/tempo/session/client/Session.js +53 -1
- package/dist/tempo/session/client/Session.js.map +1 -1
- package/dist/tempo/session/client/SessionManager.d.ts +2 -2
- package/dist/tempo/session/client/SessionManager.d.ts.map +1 -1
- package/dist/tempo/session/client/SessionManager.js +130 -30
- package/dist/tempo/session/client/SessionManager.js.map +1 -1
- package/dist/tempo/session/client/Transports.d.ts +21 -2
- package/dist/tempo/session/client/Transports.d.ts.map +1 -1
- package/dist/tempo/session/client/Transports.js +129 -18
- package/dist/tempo/session/client/Transports.js.map +1 -1
- package/dist/tempo/session/client/internal/SessionManager.d.ts +19 -0
- package/dist/tempo/session/client/internal/SessionManager.d.ts.map +1 -0
- package/dist/tempo/session/client/internal/SessionManager.js +13 -0
- package/dist/tempo/session/client/internal/SessionManager.js.map +1 -0
- package/dist/tempo/session/precompile/Chain.js +13 -4
- package/dist/tempo/session/precompile/Chain.js.map +1 -1
- package/dist/tempo/session/server/CredentialVerification.d.ts +3 -0
- package/dist/tempo/session/server/CredentialVerification.d.ts.map +1 -1
- package/dist/tempo/session/server/CredentialVerification.js +14 -0
- package/dist/tempo/session/server/CredentialVerification.js.map +1 -1
- package/dist/tempo/session/server/MeteredStream.d.ts +7 -1
- package/dist/tempo/session/server/MeteredStream.d.ts.map +1 -1
- package/dist/tempo/session/server/MeteredStream.js +5 -4
- package/dist/tempo/session/server/MeteredStream.js.map +1 -1
- package/dist/tempo/session/server/RequestState.d.ts +5 -1
- package/dist/tempo/session/server/RequestState.d.ts.map +1 -1
- package/dist/tempo/session/server/RequestState.js +10 -4
- package/dist/tempo/session/server/RequestState.js.map +1 -1
- package/dist/tempo/session/server/Session.d.ts +21 -6
- package/dist/tempo/session/server/Session.d.ts.map +1 -1
- package/dist/tempo/session/server/Session.js +4 -1
- package/dist/tempo/session/server/Session.js.map +1 -1
- package/dist/tempo/session/server/Settlement.d.ts +20 -0
- package/dist/tempo/session/server/Settlement.d.ts.map +1 -1
- package/dist/tempo/session/server/Settlement.js +20 -0
- package/dist/tempo/session/server/Settlement.js.map +1 -1
- package/dist/tempo/session/server/Ws.d.ts +2 -0
- package/dist/tempo/session/server/Ws.d.ts.map +1 -1
- package/dist/tempo/session/server/Ws.js.map +1 -1
- package/dist/tempo/session/server/index.d.ts +1 -1
- package/dist/tempo/session/server/index.d.ts.map +1 -1
- package/dist/tempo/subscription/KeyAuthorization.d.ts +21 -21
- package/dist/validation/core.d.ts.map +1 -1
- package/dist/validation/core.js +6 -2
- package/dist/validation/core.js.map +1 -1
- package/dist/viem/Client.d.ts.map +1 -1
- package/dist/viem/Client.js +24 -17
- package/dist/viem/Client.js.map +1 -1
- package/package.json +6 -1
- package/src/cli/account.ts +45 -10
- package/src/cli/cli.test.ts +165 -70
- package/src/cli/cli.ts +67 -2
- package/src/cli/mcp.test.ts +11 -0
- package/src/cli/sessions/Manager.test.ts +249 -0
- package/src/cli/sessions/Manager.ts +93 -0
- package/src/cli/sessions/commands.ts +444 -0
- package/src/cli/sessions/request.test.ts +51 -0
- package/src/cli/sessions/request.ts +353 -0
- package/src/cli/sessions/store.test.ts +581 -0
- package/src/cli/sessions/store.ts +940 -0
- package/src/cli/utils.test.ts +23 -0
- package/src/cli/utils.ts +10 -0
- package/src/cli/validate/index.ts +12 -14
- package/src/cli/validate/messages.ts +7 -0
- package/src/cli/validate.test.ts +38 -5
- package/src/client/internal/Fetch.test.ts +29 -0
- package/src/client/internal/Fetch.ts +51 -6
- package/src/client/internal/MethodResponse.ts +39 -0
- package/src/client/node.test.ts +115 -0
- package/src/client/node.ts +247 -0
- package/src/internal/types.test-d.ts +21 -0
- package/src/internal/types.ts +33 -0
- package/src/server/Mppx.test-d.ts +42 -0
- package/src/stripe/Methods.test.ts +10 -0
- package/src/stripe/server/Charge.test-d.ts +66 -0
- package/src/stripe/server/Charge.ts +8 -5
- package/src/stripe/server/internal/html.gen.ts +1 -1
- package/src/tempo/internal/types.ts +13 -2
- package/src/tempo/legacy/client/ChannelOps.test.ts +21 -0
- package/src/tempo/legacy/client/ChannelOps.ts +7 -0
- package/src/tempo/legacy/client/Session.test.ts +102 -1
- package/src/tempo/legacy/client/Session.ts +10 -0
- package/src/tempo/legacy/server/Defaults.test-d.ts +9 -0
- package/src/tempo/legacy/server/Session.ts +6 -5
- package/src/tempo/server/Charge.ts +6 -4
- package/src/tempo/server/Methods.ts +5 -4
- package/src/tempo/server/Subscription.ts +6 -4
- package/src/tempo/server/index.ts +5 -1
- package/src/tempo/server/internal/html.gen.ts +1 -1
- package/src/tempo/session/README.md +201 -0
- package/src/tempo/session/Snapshot.ts +21 -0
- package/src/tempo/session/client/ChannelOps.test.ts +40 -0
- package/src/tempo/session/client/ChannelOps.ts +12 -2
- package/src/tempo/session/client/CredentialState.test.ts +2 -2
- package/src/tempo/session/client/CredentialState.ts +103 -1
- package/src/tempo/session/client/Session.test.ts +86 -4
- package/src/tempo/session/client/Session.ts +73 -1
- package/src/tempo/session/client/SessionManager.test.ts +137 -4
- package/src/tempo/session/client/SessionManager.ts +141 -33
- package/src/tempo/session/client/Transports.test.ts +225 -8
- package/src/tempo/session/client/Transports.ts +156 -21
- package/src/tempo/session/client/internal/SessionManager.ts +36 -0
- package/src/tempo/session/precompile/Chain.test.ts +26 -0
- package/src/tempo/session/precompile/Chain.ts +17 -4
- package/src/tempo/session/server/CredentialVerification.ts +18 -1
- package/src/tempo/session/server/MeteredStream.ts +12 -5
- package/src/tempo/session/server/RequestState.test.ts +39 -3
- package/src/tempo/session/server/RequestState.ts +13 -6
- package/src/tempo/session/server/Session.test.ts +461 -0
- package/src/tempo/session/server/Session.ts +31 -8
- package/src/tempo/session/server/Settlement.ts +45 -0
- package/src/tempo/session/server/Ws.test.ts +113 -0
- package/src/tempo/session/server/Ws.ts +2 -0
- package/src/tempo/session/server/index.ts +2 -0
- package/src/validation/core.ts +7 -1
- package/src/viem/Client.test.ts +44 -1
- package/src/viem/Client.ts +31 -17
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,30 @@
|
|
|
1
1
|
# mppx
|
|
2
2
|
|
|
3
|
+
## 0.8.13
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- d807f92: Improved agent environment detection for automatic JSON validate output.
|
|
8
|
+
|
|
9
|
+
Added SDK guidance when validate could not find an OpenAPI discovery document.
|
|
10
|
+
|
|
11
|
+
- 2ff74a5: Fixed server method handlers to require request fields that were not configured as defaults, and exposed Tempo's resolved currency and decimals as defaults.
|
|
12
|
+
- bd9b05c: Added explicit per-message amounts and cancellation signals to manual WebSocket session metering.
|
|
13
|
+
- ae30448: Fixed server-driven Tempo session close and settlement transactions when the configured account is also the fee payer.
|
|
14
|
+
- 92c7b6e: Fixed hosted fee payer routing for caller-provided custom Viem transports.
|
|
15
|
+
- a20358e: Add a Node SQLite session `ChannelStore` that defaults to Tempo Wallet's channels database and can read existing wallet-cli v2 session rows.
|
|
16
|
+
- 8e95155: Added persistent CLI payment sessions with automatic reuse, inspection, and explicit closing.
|
|
17
|
+
- 8e71221: Rehydrate Tempo client sessions from server snapshots, reconciling the last accepted voucher with on-chain channel state before continuing cumulative payments.
|
|
18
|
+
- fb45074: Include the highest signed voucher in Tempo session bootstrap snapshots so cold clients can safely validate and resume an existing channel.
|
|
19
|
+
- 0f256ef: Added `onSessionSettlement` hook for visibility into on-chain session settlement transactions, with chain-agnostic context including trigger, txHash, channelId, cumulative amount, and incremental delta.
|
|
20
|
+
|
|
21
|
+
## 0.8.12
|
|
22
|
+
|
|
23
|
+
### Patch Changes
|
|
24
|
+
|
|
25
|
+
- 1afe397: Fixed legacy session auto-management reusing a cached channel after the account's `authorizedSigner` changed. The client now opens a new channel instead of emitting a voucher the escrow would reject.
|
|
26
|
+
- 51f948e: Added payment-aware Tempo session streams to client fetch responses.
|
|
27
|
+
|
|
3
28
|
## 0.8.11
|
|
4
29
|
|
|
5
30
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -33,6 +33,8 @@
|
|
|
33
33
|
|
|
34
34
|
Full documentation, API reference, and guides are available at **[mpp.dev/sdk/typescript](https://mpp.dev/sdk/typescript)**.
|
|
35
35
|
|
|
36
|
+
Contributors changing Tempo sessions should read the [session design](./src/tempo/session/README.md) before altering credential, recovery, accounting, or transport behavior.
|
|
37
|
+
|
|
36
38
|
## Install
|
|
37
39
|
|
|
38
40
|
```bash
|
|
@@ -97,7 +99,8 @@ npx gitpick wevm/mppx/examples/charge
|
|
|
97
99
|
|
|
98
100
|
## CLI
|
|
99
101
|
|
|
100
|
-
`mppx` includes a basic CLI for making HTTP requests with automatic payment handling.
|
|
102
|
+
`mppx` includes a basic CLI for making HTTP requests with automatic payment handling. Tempo
|
|
103
|
+
session channels are retained and reused automatically until you close them.
|
|
101
104
|
|
|
102
105
|
```bash
|
|
103
106
|
# create account - stored in keychain, autofunded on testnet
|
|
@@ -105,8 +108,20 @@ mppx account create
|
|
|
105
108
|
|
|
106
109
|
# make request - automatic payment handling, curl-like api
|
|
107
110
|
mppx example.com
|
|
111
|
+
|
|
112
|
+
# open another session instead of reusing the preferred channel
|
|
113
|
+
mppx example.com --session new
|
|
114
|
+
|
|
115
|
+
# inspect and close retained sessions
|
|
116
|
+
mppx sessions list
|
|
117
|
+
mppx sessions view <channel-id>
|
|
118
|
+
mppx sessions close <channel-id>
|
|
119
|
+
mppx sessions close --all --yes
|
|
108
120
|
```
|
|
109
121
|
|
|
122
|
+
`--session auto` is the default. Pass `new` to open another channel or a channel ID to select one
|
|
123
|
+
explicitly.
|
|
124
|
+
|
|
110
125
|
You can also install globally to use the `mppx` CLI from anywhere:
|
|
111
126
|
|
|
112
127
|
```bash
|
package/dist/cli/account.d.ts
CHANGED
|
@@ -15,6 +15,94 @@ export declare function createKeychain(account?: string): {
|
|
|
15
15
|
set(value: string): Promise<void>;
|
|
16
16
|
delete(): Promise<void>;
|
|
17
17
|
};
|
|
18
|
+
/** Resolves a local CLI signer together with its durable account reference. */
|
|
19
|
+
export declare function resolveLocalAccount(name?: string): Promise<{
|
|
20
|
+
account: {
|
|
21
|
+
address: import("viem/accounts").Address;
|
|
22
|
+
nonceManager?: import("viem/accounts").NonceManager | undefined;
|
|
23
|
+
sign: (parameters: {
|
|
24
|
+
hash: import("viem").Hash;
|
|
25
|
+
}) => Promise<import("viem").Hex>;
|
|
26
|
+
signAuthorization: (parameters: import("viem").AuthorizationRequest) => Promise<import("viem/accounts").SignAuthorizationReturnType>;
|
|
27
|
+
signMessage: ({ message }: {
|
|
28
|
+
message: import("viem").SignableMessage;
|
|
29
|
+
}) => Promise<import("viem").Hex>;
|
|
30
|
+
signTransaction: <serializer extends import("viem").SerializeTransactionFn<import("viem").TransactionSerializable> = import("viem").SerializeTransactionFn<import("viem").TransactionSerializable>, transaction extends Parameters<serializer>[0] = Parameters<serializer>[0]>(transaction: transaction, options?: {
|
|
31
|
+
serializer?: serializer | undefined;
|
|
32
|
+
} | undefined) => Promise<import("viem").Hex>;
|
|
33
|
+
signTypedData: <const typedData extends import("viem").TypedData | Record<string, unknown>, primaryType extends keyof typedData | "EIP712Domain" = keyof typedData>(parameters: import("viem").TypedDataDefinition<typedData, primaryType>) => Promise<import("viem").Hex>;
|
|
34
|
+
publicKey: import("viem").Hex;
|
|
35
|
+
source: "privateKey";
|
|
36
|
+
type: "local";
|
|
37
|
+
};
|
|
38
|
+
source: "environment";
|
|
39
|
+
accountName?: undefined;
|
|
40
|
+
} | {
|
|
41
|
+
account: {
|
|
42
|
+
address: import("viem/accounts").Address;
|
|
43
|
+
nonceManager?: import("viem/accounts").NonceManager | undefined;
|
|
44
|
+
sign: (parameters: {
|
|
45
|
+
hash: import("viem").Hash;
|
|
46
|
+
}) => Promise<import("viem").Hex>;
|
|
47
|
+
signAuthorization: (parameters: import("viem").AuthorizationRequest) => Promise<import("viem/accounts").SignAuthorizationReturnType>;
|
|
48
|
+
signMessage: ({ message }: {
|
|
49
|
+
message: import("viem").SignableMessage;
|
|
50
|
+
}) => Promise<import("viem").Hex>;
|
|
51
|
+
signTransaction: <serializer extends import("viem").SerializeTransactionFn<import("viem").TransactionSerializable> = import("viem").SerializeTransactionFn<import("viem").TransactionSerializable>, transaction extends Parameters<serializer>[0] = Parameters<serializer>[0]>(transaction: transaction, options?: {
|
|
52
|
+
serializer?: serializer | undefined;
|
|
53
|
+
} | undefined) => Promise<import("viem").Hex>;
|
|
54
|
+
signTypedData: <const typedData extends import("viem").TypedData | Record<string, unknown>, primaryType extends keyof typedData | "EIP712Domain" = keyof typedData>(parameters: import("viem").TypedDataDefinition<typedData, primaryType>) => Promise<import("viem").Hex>;
|
|
55
|
+
publicKey: import("viem").Hex;
|
|
56
|
+
source: "privateKey";
|
|
57
|
+
type: "local";
|
|
58
|
+
};
|
|
59
|
+
accountName: string;
|
|
60
|
+
source: "keychain";
|
|
61
|
+
}>;
|
|
62
|
+
/** Resolves an account supported by persistent CLI sessions. */
|
|
63
|
+
export declare function resolvePersistentAccount(name?: string): Promise<{
|
|
64
|
+
account: {
|
|
65
|
+
address: import("viem/accounts").Address;
|
|
66
|
+
nonceManager?: import("viem/accounts").NonceManager | undefined;
|
|
67
|
+
sign: (parameters: {
|
|
68
|
+
hash: import("viem").Hash;
|
|
69
|
+
}) => Promise<import("viem").Hex>;
|
|
70
|
+
signAuthorization: (parameters: import("viem").AuthorizationRequest) => Promise<import("viem/accounts").SignAuthorizationReturnType>;
|
|
71
|
+
signMessage: ({ message }: {
|
|
72
|
+
message: import("viem").SignableMessage;
|
|
73
|
+
}) => Promise<import("viem").Hex>;
|
|
74
|
+
signTransaction: <serializer extends import("viem").SerializeTransactionFn<import("viem").TransactionSerializable> = import("viem").SerializeTransactionFn<import("viem").TransactionSerializable>, transaction extends Parameters<serializer>[0] = Parameters<serializer>[0]>(transaction: transaction, options?: {
|
|
75
|
+
serializer?: serializer | undefined;
|
|
76
|
+
} | undefined) => Promise<import("viem").Hex>;
|
|
77
|
+
signTypedData: <const typedData extends import("viem").TypedData | Record<string, unknown>, primaryType extends keyof typedData | "EIP712Domain" = keyof typedData>(parameters: import("viem").TypedDataDefinition<typedData, primaryType>) => Promise<import("viem").Hex>;
|
|
78
|
+
publicKey: import("viem").Hex;
|
|
79
|
+
source: "privateKey";
|
|
80
|
+
type: "local";
|
|
81
|
+
};
|
|
82
|
+
source: "environment";
|
|
83
|
+
accountName?: undefined;
|
|
84
|
+
} | {
|
|
85
|
+
account: {
|
|
86
|
+
address: import("viem/accounts").Address;
|
|
87
|
+
nonceManager?: import("viem/accounts").NonceManager | undefined;
|
|
88
|
+
sign: (parameters: {
|
|
89
|
+
hash: import("viem").Hash;
|
|
90
|
+
}) => Promise<import("viem").Hex>;
|
|
91
|
+
signAuthorization: (parameters: import("viem").AuthorizationRequest) => Promise<import("viem/accounts").SignAuthorizationReturnType>;
|
|
92
|
+
signMessage: ({ message }: {
|
|
93
|
+
message: import("viem").SignableMessage;
|
|
94
|
+
}) => Promise<import("viem").Hex>;
|
|
95
|
+
signTransaction: <serializer extends import("viem").SerializeTransactionFn<import("viem").TransactionSerializable> = import("viem").SerializeTransactionFn<import("viem").TransactionSerializable>, transaction extends Parameters<serializer>[0] = Parameters<serializer>[0]>(transaction: transaction, options?: {
|
|
96
|
+
serializer?: serializer | undefined;
|
|
97
|
+
} | undefined) => Promise<import("viem").Hex>;
|
|
98
|
+
signTypedData: <const typedData extends import("viem").TypedData | Record<string, unknown>, primaryType extends keyof typedData | "EIP712Domain" = keyof typedData>(parameters: import("viem").TypedDataDefinition<typedData, primaryType>) => Promise<import("viem").Hex>;
|
|
99
|
+
publicKey: import("viem").Hex;
|
|
100
|
+
source: "privateKey";
|
|
101
|
+
type: "local";
|
|
102
|
+
};
|
|
103
|
+
accountName: string;
|
|
104
|
+
source: "keychain";
|
|
105
|
+
}>;
|
|
18
106
|
/**
|
|
19
107
|
* Resolve a CLI account to a viem `LocalAccount`.
|
|
20
108
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../src/cli/account.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../src/cli/account.ts"],"names":[],"mappings":"AAqCA,wBAAgB,WAAW,CACzB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,GACb,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CAAE,CAAC,CAMlE;AAED,wBAAgB,kBAAkB;WAOvB,MAAM;eAOF,MAAM,GAAG,IAAI;aAIf,IAAI;EAMhB;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAI5D;AAGD,wBAAgB,cAAc,CAAC,OAAO,SAAS;YAG7B,OAAO,CAAC,MAAM,EAAE,CAAC;WAgClB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;eA0BvB,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cA2CvB,OAAO,CAAC,IAAI,CAAC;EAoBhC;AAED,+EAA+E;AAC/E,wBAAsB,mBAAmB,CAAC,IAAI,CAAC,EAAE,MAAM;;;;;;;;;;;wTA/JtC,CAAC;sBACV,CAAC;;;;;;;;;;;;;;;;;;;;wTADQ,CAAC;sBACV,CAAC;;;;;;;;;GAkLR;AAED,gEAAgE;AAChE,wBAAsB,wBAAwB,CAAC,IAAI,CAAC,EAAE,MAAM;;;;;;;;;;;wTAtL3C,CAAC;sBACV,CAAC;;;;;;;;;;;;;;;;;;;;wTADQ,CAAC;sBACV,CAAC;;;;;;;;;GAqMR;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,cAAc,CAAC,IAAI,CAAC,EAAE,MAAM;;;;;;;;;;oTAzNjC,CAAC;kBACV,CAAC;;;;;;GA0NR"}
|
package/dist/cli/account.js
CHANGED
|
@@ -3,6 +3,7 @@ import * as fs from 'node:fs';
|
|
|
3
3
|
import * as os from 'node:os';
|
|
4
4
|
import * as path from 'node:path';
|
|
5
5
|
import { Errors } from 'incur';
|
|
6
|
+
import { isTempoAccount } from './utils.js';
|
|
6
7
|
const SERVICE_NAME = 'mppx';
|
|
7
8
|
const defaultCommandTimeoutMs = 10_000;
|
|
8
9
|
function commandTimeoutMs() {
|
|
@@ -196,6 +197,43 @@ export function createKeychain(account = 'main') {
|
|
|
196
197
|
},
|
|
197
198
|
};
|
|
198
199
|
}
|
|
200
|
+
/** Resolves a local CLI signer together with its durable account reference. */
|
|
201
|
+
export async function resolveLocalAccount(name) {
|
|
202
|
+
const { privateKeyToAccount } = await import('viem/accounts');
|
|
203
|
+
const envKey = process.env.MPPX_PRIVATE_KEY?.trim();
|
|
204
|
+
if (envKey)
|
|
205
|
+
return {
|
|
206
|
+
account: privateKeyToAccount(envKey),
|
|
207
|
+
source: 'environment',
|
|
208
|
+
};
|
|
209
|
+
const accountName = resolveAccountName(name);
|
|
210
|
+
const key = await createKeychain(accountName).get();
|
|
211
|
+
if (key)
|
|
212
|
+
return {
|
|
213
|
+
account: privateKeyToAccount(key),
|
|
214
|
+
accountName,
|
|
215
|
+
source: 'keychain',
|
|
216
|
+
};
|
|
217
|
+
throw new Error(`Account "${accountName}" not found.`);
|
|
218
|
+
}
|
|
219
|
+
/** Resolves an account supported by persistent CLI sessions. */
|
|
220
|
+
export async function resolvePersistentAccount(name) {
|
|
221
|
+
const accountName = resolveAccountName(name);
|
|
222
|
+
if (!process.env.MPPX_PRIVATE_KEY?.trim() && isTempoAccount(accountName))
|
|
223
|
+
throw new Errors.IncurError({
|
|
224
|
+
code: 'UNSUPPORTED_ACCOUNT',
|
|
225
|
+
message: 'Persistent sessions require an mppx account or MPPX_PRIVATE_KEY.',
|
|
226
|
+
exitCode: 2,
|
|
227
|
+
});
|
|
228
|
+
return resolveLocalAccount(name).catch((cause) => {
|
|
229
|
+
throw new Errors.IncurError({
|
|
230
|
+
code: 'ACCOUNT_NOT_FOUND',
|
|
231
|
+
message: cause instanceof Error ? cause.message : 'No account found.',
|
|
232
|
+
exitCode: 69,
|
|
233
|
+
...(cause instanceof Error && { cause }),
|
|
234
|
+
});
|
|
235
|
+
});
|
|
236
|
+
}
|
|
199
237
|
/**
|
|
200
238
|
* Resolve a CLI account to a viem `LocalAccount`.
|
|
201
239
|
*
|
|
@@ -214,14 +252,6 @@ export function createKeychain(account = 'main') {
|
|
|
214
252
|
* ```
|
|
215
253
|
*/
|
|
216
254
|
export async function resolveAccount(name) {
|
|
217
|
-
|
|
218
|
-
const envKey = process.env.MPPX_PRIVATE_KEY?.trim();
|
|
219
|
-
if (envKey)
|
|
220
|
-
return privateKeyToAccount(envKey);
|
|
221
|
-
const accountName = resolveAccountName(name);
|
|
222
|
-
const key = await createKeychain(accountName).get();
|
|
223
|
-
if (key)
|
|
224
|
-
return privateKeyToAccount(key);
|
|
225
|
-
throw new Error(`Account "${accountName}" not found.`);
|
|
255
|
+
return (await resolveLocalAccount(name)).account;
|
|
226
256
|
}
|
|
227
257
|
//# sourceMappingURL=account.js.map
|
package/dist/cli/account.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/cli/account.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/cli/account.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/cli.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ declare const cli: Cli.Cli<{
|
|
|
6
6
|
};
|
|
7
7
|
options: {
|
|
8
8
|
confirm: boolean;
|
|
9
|
+
session: string;
|
|
9
10
|
silent: boolean;
|
|
10
11
|
userAgent: string;
|
|
11
12
|
verbose: number;
|
|
@@ -22,7 +23,7 @@ declare const cli: Cli.Cli<{
|
|
|
22
23
|
location?: boolean | undefined;
|
|
23
24
|
method?: string | undefined;
|
|
24
25
|
methodOpt?: string[] | undefined;
|
|
25
|
-
network?: "
|
|
26
|
+
network?: "testnet" | "mainnet" | undefined;
|
|
26
27
|
payWith?: string | undefined;
|
|
27
28
|
rpcUrl?: string | undefined;
|
|
28
29
|
slippage?: number | undefined;
|
package/dist/cli/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,GAAG,EAAa,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli/cli.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,GAAG,EAAa,MAAM,OAAO,CAAA;AAiNtC,QAAA,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCAgiBP,CAAA;AA23BF,eAAe,GAAG,CAAA"}
|
package/dist/cli/cli.js
CHANGED
|
@@ -11,9 +11,13 @@ import { normalizeHeaders } from '../client/internal/Fetch.js';
|
|
|
11
11
|
import * as Mppx from '../client/Mppx.js';
|
|
12
12
|
import * as Constants from '../Constants.js';
|
|
13
13
|
import { validate as validateDiscovery } from '../discovery/Validate.js';
|
|
14
|
+
import { isTempoSessionChallenge } from '../tempo/session/client/Transports.js';
|
|
14
15
|
import { createDefaultStore, createKeychain, resolveAccountName } from './account.js';
|
|
15
16
|
import { loadConfig, resolveAcceptPayment, selectChallenge } from './internal.js';
|
|
16
17
|
import { orderTempoChargeChallengesByBalance, readTempoKeystore, resolveTempoAccount, } from './plugins/tempo.js';
|
|
18
|
+
import sessions, { sessionCommandError } from './sessions/commands.js';
|
|
19
|
+
import { runPersistentSessionRequest } from './sessions/request.js';
|
|
20
|
+
import { createSessionRegistry } from './sessions/store.js';
|
|
17
21
|
import { chainName, confirm, decodeMemo, fetchBalanceLines, fmtBalance, fmtChallengeValue, fmtRequestValue, isTempoAccount, link, parseMethodOpts, pc, printRequestHeaders, printResponseHeaders, prompt, resolveChain, resolveFundingNetwork, resolveRpcUrl, } from './utils.js';
|
|
18
22
|
import validate from './validate/index.js';
|
|
19
23
|
const packageJson = createRequire(import.meta.url)('../../package.json');
|
|
@@ -183,6 +187,12 @@ const cli = Cli.create('mppx', {
|
|
|
183
187
|
.string()
|
|
184
188
|
.optional()
|
|
185
189
|
.describe('RPC endpoint, defaults to public RPC for chain (env: MPPX_RPC_URL)'),
|
|
190
|
+
session: z
|
|
191
|
+
.string()
|
|
192
|
+
.optional()
|
|
193
|
+
.default('auto')
|
|
194
|
+
.refine((value) => value === 'auto' || value === 'new' || /^0x[0-9a-fA-F]{64}$/.test(value), 'Expected auto, new, or a 32-byte channel ID')
|
|
195
|
+
.describe('Session selection: auto, new, or channel ID'),
|
|
186
196
|
silent: z.boolean().default(false).describe('Silent mode (suppress progress and info)'),
|
|
187
197
|
slippage: z.number().optional().describe('Tempo auto-swap max slippage percentage'),
|
|
188
198
|
userAgent: z
|
|
@@ -280,6 +290,8 @@ const cli = Cli.create('mppx', {
|
|
|
280
290
|
headers.Host = host;
|
|
281
291
|
}
|
|
282
292
|
try {
|
|
293
|
+
const methodOpts = parseMethodOpts(c.options.methodOpt);
|
|
294
|
+
const sessionRegistry = createSessionRegistry();
|
|
283
295
|
const init = { redirect: c.options.location ? 'follow' : 'manual' };
|
|
284
296
|
if (c.options.jsonBody) {
|
|
285
297
|
init.body = c.options.jsonBody;
|
|
@@ -304,6 +316,12 @@ const cli = Cli.create('mppx', {
|
|
|
304
316
|
printRequestHeaders(url, init, info);
|
|
305
317
|
const challengeResponse = await targetFetch(fetchUrl, init);
|
|
306
318
|
if (challengeResponse.status !== 402) {
|
|
319
|
+
if (c.options.session !== 'auto')
|
|
320
|
+
return c.error({
|
|
321
|
+
code: 'UNSUPPORTED_SESSION',
|
|
322
|
+
message: '--session requires a tempo/session payment challenge.',
|
|
323
|
+
exitCode: 2,
|
|
324
|
+
});
|
|
307
325
|
if (c.options.fail && challengeResponse.status >= 400)
|
|
308
326
|
return c.error({
|
|
309
327
|
code: 'HTTP_ERROR',
|
|
@@ -314,7 +332,6 @@ const cli = Cli.create('mppx', {
|
|
|
314
332
|
await writeResponseBody(challengeResponse);
|
|
315
333
|
return;
|
|
316
334
|
}
|
|
317
|
-
const methodOpts = parseMethodOpts(c.options.methodOpt);
|
|
318
335
|
const offeredChallenges = Challenge.fromResponseList(challengeResponse);
|
|
319
336
|
const currencyChallenges = filterChallengesByCurrency(offeredChallenges, c.options.currency);
|
|
320
337
|
if (c.options.currency && currencyChallenges.length === 0) {
|
|
@@ -376,7 +393,9 @@ const cli = Cli.create('mppx', {
|
|
|
376
393
|
// Display challenge
|
|
377
394
|
const shownKeys = new Set();
|
|
378
395
|
{
|
|
379
|
-
printResponseHeaders(challengeResponse,
|
|
396
|
+
printResponseHeaders(challengeResponse, challenge.method === 'tempo' && challenge.intent === 'session' && c.options.include
|
|
397
|
+
? { ...headerOpts, include: false, verbose: Math.max(headerOpts.verbose, 2) }
|
|
398
|
+
: headerOpts);
|
|
380
399
|
const challengeRows = (() => {
|
|
381
400
|
const skip = new Set(['id', 'request']);
|
|
382
401
|
const rows = [];
|
|
@@ -447,6 +466,43 @@ const cli = Cli.create('mppx', {
|
|
|
447
466
|
}
|
|
448
467
|
}
|
|
449
468
|
}
|
|
469
|
+
const persistentSessionAccount = process.env.MPPX_PRIVATE_KEY?.trim() ||
|
|
470
|
+
!isTempoAccount(resolveAccountName(c.options.account));
|
|
471
|
+
if (isTempoSessionChallenge(challenge) && persistentSessionAccount) {
|
|
472
|
+
try {
|
|
473
|
+
await runPersistentSessionRequest({
|
|
474
|
+
challenge,
|
|
475
|
+
challengeResponse: selectedChallengeResponse,
|
|
476
|
+
endpoint: url,
|
|
477
|
+
fetch: targetFetch,
|
|
478
|
+
fetchInput: fetchUrl,
|
|
479
|
+
init,
|
|
480
|
+
info,
|
|
481
|
+
methodOptions: methodOpts,
|
|
482
|
+
options: {
|
|
483
|
+
account: c.options.account,
|
|
484
|
+
fail: c.options.fail,
|
|
485
|
+
include: c.options.include,
|
|
486
|
+
network: c.options.network,
|
|
487
|
+
rpcUrl: c.options.rpcUrl,
|
|
488
|
+
session: c.options.session,
|
|
489
|
+
silent: c.options.silent,
|
|
490
|
+
verbose: c.options.verbose,
|
|
491
|
+
},
|
|
492
|
+
registry: sessionRegistry,
|
|
493
|
+
});
|
|
494
|
+
}
|
|
495
|
+
catch (error) {
|
|
496
|
+
return sessionCommandError(error, 'SESSION_REQUEST_FAILED');
|
|
497
|
+
}
|
|
498
|
+
return;
|
|
499
|
+
}
|
|
500
|
+
if (c.options.session !== 'auto')
|
|
501
|
+
return c.error({
|
|
502
|
+
code: 'UNSUPPORTED_SESSION',
|
|
503
|
+
message: '--session requires a tempo/session payment challenge.',
|
|
504
|
+
exitCode: 2,
|
|
505
|
+
});
|
|
450
506
|
// Create credential
|
|
451
507
|
let credential;
|
|
452
508
|
if (pluginResult?.createCredential)
|
|
@@ -1448,6 +1504,7 @@ cli.command(account);
|
|
|
1448
1504
|
cli.command(discover);
|
|
1449
1505
|
cli.command(init);
|
|
1450
1506
|
cli.command(services);
|
|
1507
|
+
cli.command(sessions);
|
|
1451
1508
|
cli.command(sign);
|
|
1452
1509
|
cli.command(validate);
|
|
1453
1510
|
export default cli;
|