@palmyr/cli 1.7.0 → 1.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/dist/cli.js +70 -0
- package/dist/cli.js.map +1 -1
- package/dist/pay-preflight.d.ts +54 -0
- package/dist/pay-preflight.js +202 -0
- package/dist/pay-preflight.js.map +1 -0
- package/dist/pay.js +45 -4
- package/dist/pay.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wallet/payment preflight for x402 paid commands.
|
|
3
|
+
*
|
|
4
|
+
* Answers the five-question checklist an agent needs BEFORE attempting any
|
|
5
|
+
* paid CLI call:
|
|
6
|
+
*
|
|
7
|
+
* 1. Which pay chain is selected? (solana | base)
|
|
8
|
+
* 2. Which wallet id will sign? (config, env, or auto-pick)
|
|
9
|
+
* 3. Can it decrypt / sign right now? (yes | no + why)
|
|
10
|
+
* 4. USDC balance + ATA status (only when checkBalance=true)
|
|
11
|
+
* 5. Exact fix if anything's off (one-line, copy-pasteable)
|
|
12
|
+
*
|
|
13
|
+
* Two surfaces:
|
|
14
|
+
*
|
|
15
|
+
* - `localPreflight(opts)` — no RPC. Runs at the top of paidRequest /
|
|
16
|
+
* paidStreamRequest so config + decryption failures bail out before the
|
|
17
|
+
* paid round-trip. Cheap enough to enable by default.
|
|
18
|
+
*
|
|
19
|
+
* - `fullPreflight(opts)` — `localPreflight` + USDC balance + ATA status
|
|
20
|
+
* via RPC. Used by `palmyr wallet pay-preflight`. Skip in hot paths —
|
|
21
|
+
* the Solana public RPC tends to 429 if you hammer it.
|
|
22
|
+
*/
|
|
23
|
+
export type PayChain = 'solana' | 'base';
|
|
24
|
+
export interface PayPreflightReport {
|
|
25
|
+
/** True only when every check that ran returned a pass. */
|
|
26
|
+
ok: boolean;
|
|
27
|
+
payChain: PayChain;
|
|
28
|
+
walletId: string | null;
|
|
29
|
+
walletAddress: string | null;
|
|
30
|
+
canSign: boolean;
|
|
31
|
+
/** Populated only by `fullPreflight` (or when checkBalance=true). */
|
|
32
|
+
usdc: {
|
|
33
|
+
balance: number | null;
|
|
34
|
+
requiredMin: number;
|
|
35
|
+
/** Solana-only — Base has no separate ATA concept. */
|
|
36
|
+
ataStatus?: 'exists' | 'missing' | 'unknown';
|
|
37
|
+
} | null;
|
|
38
|
+
/** One-line, copy-pasteable next step when ok=false. */
|
|
39
|
+
fix: string | null;
|
|
40
|
+
}
|
|
41
|
+
export interface PreflightOpts {
|
|
42
|
+
/** Override `config.defaultPayChain`. */
|
|
43
|
+
chain?: PayChain;
|
|
44
|
+
/** Override `config.defaultPayWalletId` / `PALMYR_PAY_WALLET` env. */
|
|
45
|
+
walletRef?: string;
|
|
46
|
+
/** Passphrase for vault decryption (also reads `PALMYR_WALLET_PASSPHRASE`). */
|
|
47
|
+
passphrase?: string;
|
|
48
|
+
/** USDC threshold for the balance check (full preflight only). Default 0. */
|
|
49
|
+
minUsdc?: number;
|
|
50
|
+
}
|
|
51
|
+
/** Cheap, no-RPC preflight. Safe to run before every paid command. */
|
|
52
|
+
export declare function localPreflight(opts?: PreflightOpts): Promise<PayPreflightReport>;
|
|
53
|
+
/** Full preflight including USDC balance + ATA status via RPC. */
|
|
54
|
+
export declare function fullPreflight(opts?: PreflightOpts): Promise<PayPreflightReport>;
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wallet/payment preflight for x402 paid commands.
|
|
3
|
+
*
|
|
4
|
+
* Answers the five-question checklist an agent needs BEFORE attempting any
|
|
5
|
+
* paid CLI call:
|
|
6
|
+
*
|
|
7
|
+
* 1. Which pay chain is selected? (solana | base)
|
|
8
|
+
* 2. Which wallet id will sign? (config, env, or auto-pick)
|
|
9
|
+
* 3. Can it decrypt / sign right now? (yes | no + why)
|
|
10
|
+
* 4. USDC balance + ATA status (only when checkBalance=true)
|
|
11
|
+
* 5. Exact fix if anything's off (one-line, copy-pasteable)
|
|
12
|
+
*
|
|
13
|
+
* Two surfaces:
|
|
14
|
+
*
|
|
15
|
+
* - `localPreflight(opts)` — no RPC. Runs at the top of paidRequest /
|
|
16
|
+
* paidStreamRequest so config + decryption failures bail out before the
|
|
17
|
+
* paid round-trip. Cheap enough to enable by default.
|
|
18
|
+
*
|
|
19
|
+
* - `fullPreflight(opts)` — `localPreflight` + USDC balance + ATA status
|
|
20
|
+
* via RPC. Used by `palmyr wallet pay-preflight`. Skip in hot paths —
|
|
21
|
+
* the Solana public RPC tends to 429 if you hammer it.
|
|
22
|
+
*/
|
|
23
|
+
import { loadConfig } from './config.js';
|
|
24
|
+
import { hasVaultWallets, listVaultWallets, getVaultEvmWallet, getVaultSolanaKeypair, } from './vault.js';
|
|
25
|
+
/** Canonical USDC mint / contract for each chain. */
|
|
26
|
+
const SOLANA_USDC_MINT = 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v';
|
|
27
|
+
const BASE_USDC = '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913';
|
|
28
|
+
async function runPreflight(opts) {
|
|
29
|
+
const cfg = loadConfig();
|
|
30
|
+
const payChain = opts.chain || (cfg.defaultPayChain || 'solana');
|
|
31
|
+
const minUsdc = opts.minUsdc ?? 0;
|
|
32
|
+
// ── 1. Resolve wallet id — mirrors pay.ts auto-pick fallback ──────────────
|
|
33
|
+
// Filters auto-picked candidates by chain so a Solana-only vault wallet
|
|
34
|
+
// never gets picked for a Base preflight (it would just fail at signing).
|
|
35
|
+
let walletId = opts.walletRef ||
|
|
36
|
+
cfg.defaultPayWalletId ||
|
|
37
|
+
process.env.PALMYR_PAY_WALLET ||
|
|
38
|
+
null;
|
|
39
|
+
if (!walletId && hasVaultWallets()) {
|
|
40
|
+
const wallets = listVaultWallets();
|
|
41
|
+
const candidate = payChain === 'base'
|
|
42
|
+
? wallets.find((w) => w.evmAddress)
|
|
43
|
+
: wallets.find((w) => w.solanaAddress);
|
|
44
|
+
if (candidate)
|
|
45
|
+
walletId = candidate.id;
|
|
46
|
+
}
|
|
47
|
+
if (!walletId) {
|
|
48
|
+
return {
|
|
49
|
+
ok: false,
|
|
50
|
+
payChain,
|
|
51
|
+
walletId: null,
|
|
52
|
+
walletAddress: null,
|
|
53
|
+
canSign: false,
|
|
54
|
+
usdc: null,
|
|
55
|
+
fix: noWalletFix(payChain),
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
// ── 2. Try to decrypt & derive the chain-specific address (= can sign) ────
|
|
59
|
+
// Any throw from the vault helpers (missing keychain secret, wrong
|
|
60
|
+
// passphrase) is treated as "cannot sign" — we surface the underlying
|
|
61
|
+
// message in `fix` so the agent knows which knob to turn.
|
|
62
|
+
let walletAddress = null;
|
|
63
|
+
let canSign = false;
|
|
64
|
+
let signError = null;
|
|
65
|
+
try {
|
|
66
|
+
if (payChain === 'base') {
|
|
67
|
+
const w = getVaultEvmWallet(walletId, opts.passphrase);
|
|
68
|
+
walletAddress = String(w.address);
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
const k = getVaultSolanaKeypair(walletId, opts.passphrase);
|
|
72
|
+
walletAddress = k.publicKey.toBase58();
|
|
73
|
+
}
|
|
74
|
+
canSign = true;
|
|
75
|
+
}
|
|
76
|
+
catch (err) {
|
|
77
|
+
signError = err?.message || 'decrypt failed';
|
|
78
|
+
}
|
|
79
|
+
if (!canSign) {
|
|
80
|
+
return {
|
|
81
|
+
ok: false,
|
|
82
|
+
payChain,
|
|
83
|
+
walletId,
|
|
84
|
+
walletAddress: null,
|
|
85
|
+
canSign: false,
|
|
86
|
+
usdc: null,
|
|
87
|
+
fix: `Wallet ${walletId} exists but cannot decrypt (${signError}). Restore the OS credential-store session secret (re-run \`palmyr wallet create\` or the original import on this machine), set PALMYR_WALLET_PASSPHRASE=<phrase> in the env (or pass --passphrase <phrase>), or re-import the mnemonic with \`palmyr wallet import --mnemonic "..."\`.`,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
// ── 3. Local-only preflight stops here ────────────────────────────────────
|
|
91
|
+
if (!opts.checkBalance) {
|
|
92
|
+
return {
|
|
93
|
+
ok: true,
|
|
94
|
+
payChain,
|
|
95
|
+
walletId,
|
|
96
|
+
walletAddress,
|
|
97
|
+
canSign: true,
|
|
98
|
+
usdc: null,
|
|
99
|
+
fix: null,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
// ── 4. USDC balance + ATA status (one RPC per chain) ──────────────────────
|
|
103
|
+
let usdcBalance = null;
|
|
104
|
+
let ataStatus;
|
|
105
|
+
let balanceError = null;
|
|
106
|
+
try {
|
|
107
|
+
if (payChain === 'base') {
|
|
108
|
+
const { ethers } = await import('ethers');
|
|
109
|
+
const provider = new ethers.JsonRpcProvider(process.env.PALMYR_BASE_RPC || 'https://mainnet.base.org');
|
|
110
|
+
const erc20 = new ethers.Contract(BASE_USDC, ['function balanceOf(address) view returns (uint256)'], provider);
|
|
111
|
+
// Non-null assertion — we returned early above if canSign was false.
|
|
112
|
+
const wei = await erc20.balanceOf(walletAddress);
|
|
113
|
+
usdcBalance = Number(wei) / 1e6;
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
const { Connection, PublicKey } = await import('@solana/web3.js');
|
|
117
|
+
const splToken = await import('@solana/spl-token');
|
|
118
|
+
const conn = new Connection(process.env.SOLANA_RPC_URL || 'https://api.mainnet-beta.solana.com', 'confirmed');
|
|
119
|
+
const owner = new PublicKey(walletAddress);
|
|
120
|
+
const mint = new PublicKey(SOLANA_USDC_MINT);
|
|
121
|
+
const ata = splToken.getAssociatedTokenAddressSync(mint, owner);
|
|
122
|
+
try {
|
|
123
|
+
const account = await splToken.getAccount(conn, ata, 'confirmed');
|
|
124
|
+
usdcBalance = Number(account.amount) / 1e6;
|
|
125
|
+
ataStatus = 'exists';
|
|
126
|
+
}
|
|
127
|
+
catch (e) {
|
|
128
|
+
// `@solana/spl-token` exports several typed errors for the missing-ATA
|
|
129
|
+
// case; rather than matching all of them, recognize the signature
|
|
130
|
+
// ("could not find account" / "TokenAccountNotFound") and treat
|
|
131
|
+
// anything else as a generic RPC failure (ataStatus=unknown).
|
|
132
|
+
const msg = String(e?.message || '');
|
|
133
|
+
if (/TokenAccountNotFound/i.test(msg) ||
|
|
134
|
+
/could not find account/i.test(msg) ||
|
|
135
|
+
e?.name === 'TokenAccountNotFoundError') {
|
|
136
|
+
ataStatus = 'missing';
|
|
137
|
+
usdcBalance = 0;
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
ataStatus = 'unknown';
|
|
141
|
+
balanceError = msg || 'balance check failed';
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
catch (err) {
|
|
147
|
+
balanceError = err?.message || 'balance check failed';
|
|
148
|
+
}
|
|
149
|
+
// ── 5. Compute final verdict + fix ────────────────────────────────────────
|
|
150
|
+
let ok = false;
|
|
151
|
+
let fix = null;
|
|
152
|
+
if (balanceError) {
|
|
153
|
+
fix = `USDC balance check failed on ${payChain}: ${balanceError}. ${payChain === 'solana' ? 'Set SOLANA_RPC_URL=<url> to a less rate-limited endpoint and retry.' : 'Set PALMYR_BASE_RPC=<url> to a private RPC and retry.'}`;
|
|
154
|
+
}
|
|
155
|
+
else if (ataStatus === 'missing') {
|
|
156
|
+
// ATA missing is functionally "balance = 0 and you cannot receive
|
|
157
|
+
// SPL transfers yet". The first inbound transfer auto-creates the ATA,
|
|
158
|
+
// so the fix is simply "fund the wallet".
|
|
159
|
+
fix = `Solana USDC associated-token-account (ATA) not created yet for ${walletAddress}. The first inbound USDC transfer creates it automatically — fund the wallet with any amount of USDC on Solana, then retry.`;
|
|
160
|
+
}
|
|
161
|
+
else if (usdcBalance !== null && usdcBalance < minUsdc) {
|
|
162
|
+
fix = `USDC balance ${usdcBalance.toFixed(6)} on ${payChain} < required ${minUsdc.toFixed(6)}. Fund ${walletAddress} with at least ${(minUsdc - usdcBalance).toFixed(6)} more USDC on ${payChain}.`;
|
|
163
|
+
}
|
|
164
|
+
else if (usdcBalance !== null) {
|
|
165
|
+
ok = true;
|
|
166
|
+
}
|
|
167
|
+
return {
|
|
168
|
+
ok,
|
|
169
|
+
payChain,
|
|
170
|
+
walletId,
|
|
171
|
+
walletAddress,
|
|
172
|
+
canSign: true,
|
|
173
|
+
usdc: {
|
|
174
|
+
balance: usdcBalance,
|
|
175
|
+
requiredMin: minUsdc,
|
|
176
|
+
...(payChain === 'solana' ? { ataStatus } : {}),
|
|
177
|
+
},
|
|
178
|
+
fix,
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Build the fix string for the "no wallet resolvable" branch. Three states:
|
|
183
|
+
* - no vault wallets at all
|
|
184
|
+
* - vault wallets exist but none expose the selected chain's address
|
|
185
|
+
* - (impossible after auto-pick lands a hit, but kept as final fallback)
|
|
186
|
+
*/
|
|
187
|
+
function noWalletFix(payChain) {
|
|
188
|
+
if (!hasVaultWallets()) {
|
|
189
|
+
return 'No vault wallets found. Create one with: palmyr wallet create (a single mnemonic produces both Solana + Base addresses).';
|
|
190
|
+
}
|
|
191
|
+
const chainName = payChain === 'base' ? 'Base/EVM' : 'Solana';
|
|
192
|
+
return `Vault has wallets, but none expose a ${chainName} address. Re-create with: palmyr wallet create (or re-import with --${payChain} to materialize that chain).`;
|
|
193
|
+
}
|
|
194
|
+
/** Cheap, no-RPC preflight. Safe to run before every paid command. */
|
|
195
|
+
export async function localPreflight(opts = {}) {
|
|
196
|
+
return runPreflight({ ...opts, checkBalance: false });
|
|
197
|
+
}
|
|
198
|
+
/** Full preflight including USDC balance + ATA status via RPC. */
|
|
199
|
+
export async function fullPreflight(opts = {}) {
|
|
200
|
+
return runPreflight({ ...opts, checkBalance: true });
|
|
201
|
+
}
|
|
202
|
+
//# sourceMappingURL=pay-preflight.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pay-preflight.js","sourceRoot":"","sources":["../pay-preflight.ts"],"names":[],"mappings":"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"}
|
package/dist/pay.js
CHANGED
|
@@ -17,6 +17,29 @@ const SOLANA_RPC = process.env.SOLANA_RPC_URL || 'https://api.mainnet-beta.solan
|
|
|
17
17
|
// Base constants
|
|
18
18
|
const BASE_USDC = '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913';
|
|
19
19
|
const BASE_CHAIN_ID = 8453;
|
|
20
|
+
/**
|
|
21
|
+
* Run the cheap, no-RPC pay preflight before the probe request goes out.
|
|
22
|
+
*
|
|
23
|
+
* Catches the two failure modes that don't need the server to discover:
|
|
24
|
+
* - no Solana/Base wallet resolvable from config / env / vault
|
|
25
|
+
* - wallet exists but cannot decrypt (no keychain secret, wrong passphrase)
|
|
26
|
+
*
|
|
27
|
+
* Throws a structured Error with `.preflight` attached so the CLI can render
|
|
28
|
+
* the full report in agent mode. Skipped entirely when PALMYR_NO_PREFLIGHT=1
|
|
29
|
+
* (escape hatch for users running tight loops who'd rather eat the late error
|
|
30
|
+
* than pay a few ms per call).
|
|
31
|
+
*/
|
|
32
|
+
async function preflightOrThrow(passphrase) {
|
|
33
|
+
if (process.env.PALMYR_NO_PREFLIGHT === '1')
|
|
34
|
+
return;
|
|
35
|
+
const { localPreflight } = await import('./pay-preflight.js');
|
|
36
|
+
const report = await localPreflight({ passphrase });
|
|
37
|
+
if (report.ok)
|
|
38
|
+
return;
|
|
39
|
+
const err = new Error(`Pay preflight failed: ${report.fix || 'wallet not ready'}`);
|
|
40
|
+
err.preflight = report;
|
|
41
|
+
throw err;
|
|
42
|
+
}
|
|
20
43
|
/**
|
|
21
44
|
* Build an actionable error message when EVM payment authorization fails because
|
|
22
45
|
* no usable Base wallet was found. The auto-pick fallback in
|
|
@@ -81,6 +104,7 @@ function resolvePayerKeypair(walletId, passphrase) {
|
|
|
81
104
|
const cfg = loadConfig();
|
|
82
105
|
const pass = passphrase || process.env.PALMYR_WALLET_PASSPHRASE;
|
|
83
106
|
// Try the vault first (session secret from OS cred store, falls back to passphrase)
|
|
107
|
+
let vaultFailed = false;
|
|
84
108
|
if (hasVaultWallets()) {
|
|
85
109
|
const targetId = walletId || cfg.defaultPayWalletId || process.env.PALMYR_PAY_WALLET;
|
|
86
110
|
try {
|
|
@@ -92,8 +116,11 @@ function resolvePayerKeypair(walletId, passphrase) {
|
|
|
92
116
|
return getVaultSolanaKeypair(first.id, pass);
|
|
93
117
|
}
|
|
94
118
|
catch (err) {
|
|
119
|
+
// Don't swallow — surface what failed and that we're switching wallets so
|
|
120
|
+
// the agent isn't surprised when transfers come from a different address
|
|
121
|
+
// than `palmyr wallet pay-preflight` reported.
|
|
95
122
|
console.error(` Vault wallet load failed: ${err.message}`);
|
|
96
|
-
|
|
123
|
+
vaultFailed = true;
|
|
97
124
|
}
|
|
98
125
|
}
|
|
99
126
|
// Fall back to the legacy keyfile flow
|
|
@@ -101,7 +128,12 @@ function resolvePayerKeypair(walletId, passphrase) {
|
|
|
101
128
|
if (!keypairBytes)
|
|
102
129
|
return null;
|
|
103
130
|
const { Keypair } = require('@solana/web3.js');
|
|
104
|
-
|
|
131
|
+
const keyfileKp = Keypair.fromSecretKey(keypairBytes);
|
|
132
|
+
if (vaultFailed) {
|
|
133
|
+
console.error(` Falling back to legacy keyfile: ${keyfileKp.publicKey.toBase58()}. ` +
|
|
134
|
+
`Run \`palmyr wallet pay-preflight\` to verify USDC balance + ATA status.`);
|
|
135
|
+
}
|
|
136
|
+
return keyfileKp;
|
|
105
137
|
}
|
|
106
138
|
/**
|
|
107
139
|
* Build and partially sign a USDC transfer transaction for x402 payment.
|
|
@@ -189,8 +221,10 @@ async function buildEvmPaymentAuthorization(payTo, amount, walletId, passphrase)
|
|
|
189
221
|
evmWallet = getVaultEvmWallet(targetId, passphrase);
|
|
190
222
|
}
|
|
191
223
|
catch (err) {
|
|
192
|
-
throw new Error(`
|
|
193
|
-
`
|
|
224
|
+
throw new Error(`Wallet ${targetId} exists but cannot decrypt (${err.message}). ` +
|
|
225
|
+
`Restore the OS credential-store session secret (re-run \`palmyr wallet create\` or the original import on this machine), ` +
|
|
226
|
+
`set PALMYR_WALLET_PASSPHRASE=<phrase> in the env (or pass --passphrase <phrase>), ` +
|
|
227
|
+
`or re-import the mnemonic with \`palmyr wallet import --mnemonic "..."\`.`);
|
|
194
228
|
}
|
|
195
229
|
const { ethers } = require('ethers');
|
|
196
230
|
// Random 32-byte nonce
|
|
@@ -275,6 +309,7 @@ function buildSpecCompliantPayload(opts) {
|
|
|
275
309
|
* charges plan.total_cost_usdc rather than a fixed fee).
|
|
276
310
|
*/
|
|
277
311
|
export async function paidStreamRequest(api, method, path, body, passphrase) {
|
|
312
|
+
await preflightOrThrow(passphrase);
|
|
278
313
|
const probeOpts = {
|
|
279
314
|
method,
|
|
280
315
|
headers: { 'Content-Type': 'application/json', Accept: 'text/event-stream' },
|
|
@@ -354,6 +389,12 @@ function isTransientSolanaError(message) {
|
|
|
354
389
|
m.includes('blockhashnotfound'));
|
|
355
390
|
}
|
|
356
391
|
export async function paidRequest(api, method, path, body, passphrase, attempt = 1) {
|
|
392
|
+
// Only preflight on the FIRST attempt — on retry (attempt > 1) we've already
|
|
393
|
+
// signed once successfully, so re-running the local checks would only burn
|
|
394
|
+
// a few ms before discovering nothing changed.
|
|
395
|
+
if (attempt === 1) {
|
|
396
|
+
await preflightOrThrow(passphrase);
|
|
397
|
+
}
|
|
357
398
|
const opts = {
|
|
358
399
|
method,
|
|
359
400
|
headers: { 'Content-Type': 'application/json' },
|
package/dist/pay.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pay.js","sourceRoot":"","sources":["../pay.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pay.js","sourceRoot":"","sources":["../pay.ts"],"names":[],"mappings":"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"}
|