run402-mcp 4.117.2 → 4.118.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/docs/llms-sdk.txt +10 -2
- package/dist/docs/run.md +1 -1
- package/package.json +1 -1
- package/sdk/README.md +1 -1
- package/sdk/dist/namespaces/pay.d.ts +15 -1
- package/sdk/dist/namespaces/pay.d.ts.map +1 -1
- package/sdk/dist/namespaces/pay.js +19 -0
- package/sdk/dist/namespaces/pay.js.map +1 -1
- package/sdk/dist/node/lightning-paid-fetch.d.ts +41 -2
- package/sdk/dist/node/lightning-paid-fetch.d.ts.map +1 -1
- package/sdk/dist/node/lightning-paid-fetch.js +157 -20
- package/sdk/dist/node/lightning-paid-fetch.js.map +1 -1
- package/sdk/dist/node/lightning-x402-lnbtc.d.ts +15 -2
- package/sdk/dist/node/lightning-x402-lnbtc.d.ts.map +1 -1
- package/sdk/dist/node/lightning-x402-lnbtc.js +29 -4
- package/sdk/dist/node/lightning-x402-lnbtc.js.map +1 -1
- package/sdk/dist/node/nwc.d.ts +6 -0
- package/sdk/dist/node/nwc.d.ts.map +1 -1
- package/sdk/dist/node/nwc.js +9 -0
- package/sdk/dist/node/nwc.js.map +1 -1
- package/sdk/dist/node/paid-fetch.d.ts.map +1 -1
- package/sdk/dist/node/paid-fetch.js +32 -3
- package/sdk/dist/node/paid-fetch.js.map +1 -1
- package/sdk/dist/secret-gate.d.ts +5 -0
- package/sdk/dist/secret-gate.d.ts.map +1 -1
- package/sdk/dist/secret-gate.js +9 -0
- package/sdk/dist/secret-gate.js.map +1 -1
package/dist/docs/llms-sdk.txt
CHANGED
|
@@ -219,7 +219,15 @@ custom `fetch` owns payment, or the selected source is not currently available.
|
|
|
219
219
|
`r.pay.fetch(url, init?, options?)` is the canonical buyer surface for an
|
|
220
220
|
arbitrary x402-priced HTTP endpoint. It passes unpriced endpoints through,
|
|
221
221
|
defaults `maxUsdMicros` to `100_000` ($0.10), forwards an optional
|
|
222
|
-
`Idempotency-Key`, and returns the response together with a faithful receipt
|
|
222
|
+
`Idempotency-Key`, and returns the response together with a faithful receipt.
|
|
223
|
+
On the `lightning` rail it pays a 402's `lnbtc` entry on the wallet's network
|
|
224
|
+
from the Lightning wallet, bounded by `maxSats` (invoice plus routing headroom)
|
|
225
|
+
or the rail's ceiling, and refuses an entry on another network with
|
|
226
|
+
`LIGHTNING_NETWORK_MISMATCH` before paying; `lightningPairing` (a
|
|
227
|
+
`nostr+walletconnect://` URI, a bearer secret the MCP sandbox refuses with
|
|
228
|
+
`SECRET_REQUIRES_CLI`) pays with that pairing on its node's network instead.
|
|
229
|
+
The receipt of a Lightning payment reports the `lnbtc:` network, the payment
|
|
230
|
+
hash as `transaction`, `amountMsat`, and no payer:
|
|
223
231
|
|
|
224
232
|
```ts
|
|
225
233
|
import { run402 } from "@run402/sdk/node";
|
|
@@ -1324,7 +1332,7 @@ The `Run402` class exposes focused namespaces. Click into the SDK source for ful
|
|
|
1324
1332
|
### `r.pay`
|
|
1325
1333
|
|
|
1326
1334
|
```
|
|
1327
|
-
r.pay.fetch(url, init?, { maxUsdMicros?, idempotencyKey?, requireReceipt? }): Promise<PayFetchResult>
|
|
1335
|
+
r.pay.fetch(url, init?, { maxUsdMicros?, idempotencyKey?, requireReceipt?, maxSats?, lightningPairing? }): Promise<PayFetchResult>
|
|
1328
1336
|
```
|
|
1329
1337
|
|
|
1330
1338
|
Node automatically supplies the configured wallet/signer. Isomorphic hosts
|
package/dist/docs/run.md
CHANGED
|
@@ -64,7 +64,7 @@ A timeout waits for an SDK call already in flight to settle before it answers, s
|
|
|
64
64
|
|
|
65
65
|
## One-time secrets stay in the CLI
|
|
66
66
|
|
|
67
|
-
The snippet's client is built with the `sandbox` surface. Every SDK method whose result carries a one-time secret, or whose input is one (minting or rotating a grant key, a Handoff or Invite Key, a Room Invite Key, provisioning a project or rotating its credentials, minting a project token, creating, importing, or exporting a wallet, the Lightning wallet's pairing, redeeming any of those keys), refuses before any request with `SECRET_REQUIRES_CLI` and one next action naming the command for the same operation:
|
|
67
|
+
The snippet's client is built with the `sandbox` surface. Every SDK method whose result carries a one-time secret, or whose input is one (minting or rotating a grant key, a Handoff or Invite Key, a Room Invite Key, provisioning a project or rotating its credentials, minting a project token, creating, importing, or exporting a wallet, the Lightning wallet's pairing, paying with a bring-your-own Lightning pairing, redeeming any of those keys), refuses before any request with `SECRET_REQUIRES_CLI` and one next action naming the command for the same operation:
|
|
68
68
|
|
|
69
69
|
```json
|
|
70
70
|
{ "code": "SECRET_REQUIRES_CLI",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "run402-mcp",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.118.0",
|
|
4
4
|
"packageManager": "npm@11.19.0",
|
|
5
5
|
"mcpName": "com.run402/mcp",
|
|
6
6
|
"description": "MCP server for Run402 — full-stack backend infrastructure for AI agents: Postgres, auth, storage, serverless functions and atomic deploys. Paid with x402/MPP. Includes $0.03 image generation.",
|
package/sdk/README.md
CHANGED
|
@@ -310,7 +310,7 @@ The `CredentialsProvider` interface has two required methods (`getAuth`, `getPro
|
|
|
310
310
|
| Namespace | Highlights |
|
|
311
311
|
|---|---|
|
|
312
312
|
| `actions` | Node entry only (`@run402/sdk/node`). Generic recursive action runner: `actions.run({ type: Run402Action.Up | ProjectsProvision | TierSet, ... })`; `r.up(input, opts)` is the convenience for repo-level manifest deploys. Recursive mutations are approval-gated; `mode: "check" | "printSpec" | "printManifest" | "plan" | { kind: "applyReviewed" }` distinguishes local validation, gateway review, and exact reviewed apply. Child gateway mutations derive idempotency keys from the root action. |
|
|
313
|
-
| `pay` | `fetch(url, init?, { maxUsdMicros?, idempotencyKey?, requireReceipt? })` — bounded arbitrary-URL x402 buyer; Node uses the selected wallet/signer and returns the response plus settlement and independently verified merchant evidence. |
|
|
313
|
+
| `pay` | `fetch(url, init?, { maxUsdMicros?, idempotencyKey?, requireReceipt?, maxSats?, lightningPairing? })` — bounded arbitrary-URL x402 buyer; Node uses the selected wallet/signer (sats on the `lightning` rail, or a bring-your-own pairing) and returns the response plus settlement and independently verified merchant evidence. |
|
|
314
314
|
| `projects` | `provision`, `delete`, `list`, `get`, `use`, `active`, `sql`, `rest`, `validateExpose`, `applyExpose`, `getExpose`, `getUsage`, `getSchema`, `info`, `keys`, `pin`, `getQuote`. `list`/`get`/`use` are server-authoritative; local key reads are moving to `credentials.projectKeys`. |
|
|
315
315
|
| `snapshots` | Internal project restore points: `create`, `list`, `get`, `restorePlan`, `restore`, `delete`. Restore is a two-step plan/confirm handshake. |
|
|
316
316
|
| `branches` | Contained project data branches: `create`, `list`, `renew`, `delete`. Branches default to expiring, noindex, sandboxed-email copies. |
|
|
@@ -16,6 +16,18 @@ export interface PayFetchOptions {
|
|
|
16
16
|
* payment and a matching verified receipt after settlement.
|
|
17
17
|
*/
|
|
18
18
|
requireReceipt?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Lightning only: refuse an `lnbtc` payment whose invoice plus routing
|
|
21
|
+
* headroom exceeds this many sats. Absent, the rail's per-call ceiling applies.
|
|
22
|
+
*/
|
|
23
|
+
maxSats?: number;
|
|
24
|
+
/**
|
|
25
|
+
* Lightning only: pay the `lnbtc` entry with this Nostr Wallet Connect
|
|
26
|
+
* pairing instead of the configured wallet, on whichever network its node
|
|
27
|
+
* is on. A bearer secret: the CLI reads it from a file or stdin, and the MCP
|
|
28
|
+
* sandbox refuses it (`SECRET_REQUIRES_CLI`).
|
|
29
|
+
*/
|
|
30
|
+
lightningPairing?: string;
|
|
19
31
|
}
|
|
20
32
|
export declare const X402_EVIDENCE_STATUSES: readonly ["verified", "absent", "invalid", "untrusted", "unavailable"];
|
|
21
33
|
export type PaymentEvidenceStatus = (typeof X402_EVIDENCE_STATUSES)[number];
|
|
@@ -35,6 +47,8 @@ export interface PaymentReceipt {
|
|
|
35
47
|
network: string;
|
|
36
48
|
paymentId: string | null;
|
|
37
49
|
amountUsdMicros: number;
|
|
50
|
+
/** Lightning only: the invoice amount in millisatoshis (the USD amount is the seller's, not reported). */
|
|
51
|
+
amountMsat?: number;
|
|
38
52
|
asset: string;
|
|
39
53
|
payer: string | null;
|
|
40
54
|
payTo: string;
|
|
@@ -153,7 +167,7 @@ export declare class PaymentPolicyError extends PaymentBuyerError {
|
|
|
153
167
|
}
|
|
154
168
|
export declare function isPaymentBuyerError(error: unknown): error is PaymentBuyerError;
|
|
155
169
|
export declare function isPaymentPolicyError(error: unknown): error is PaymentPolicyError;
|
|
156
|
-
export type PayExecutor = (url: string, init: RequestInit | undefined, options: Required<Pick<PayFetchOptions, "maxUsdMicros" | "requireReceipt">> & Pick<PayFetchOptions, "idempotencyKey">) => Promise<PayFetchResult>;
|
|
170
|
+
export type PayExecutor = (url: string, init: RequestInit | undefined, options: Required<Pick<PayFetchOptions, "maxUsdMicros" | "requireReceipt">> & Pick<PayFetchOptions, "idempotencyKey" | "maxSats" | "lightningPairing">) => Promise<PayFetchResult>;
|
|
157
171
|
/** Arbitrary-URL buyer namespace. Node supplies the x402 executor; isomorphic callers may inject one. */
|
|
158
172
|
export declare class Pay {
|
|
159
173
|
private readonly client;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pay.d.ts","sourceRoot":"","sources":["../../src/namespaces/pay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"pay.d.ts","sourceRoot":"","sources":["../../src/namespaces/pay.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Run402Error } from "../errors.js";
|
|
2
|
+
import { gateSecret } from "../secret-gate.js";
|
|
2
3
|
export const DEFAULT_PAYMENT_MAX_USD_MICROS = 100_000;
|
|
3
4
|
export const X402_COMMERCE_RESULT_SCHEMA_VERSION = "x402-commerce-result.v1";
|
|
4
5
|
export const X402_PAYMENT_POLICY_ERROR_CODES = [
|
|
@@ -222,13 +223,17 @@ export class Pay {
|
|
|
222
223
|
}
|
|
223
224
|
async fetch(url, init, options = {}) {
|
|
224
225
|
const normalizedUrl = normalizePayUrl(url);
|
|
226
|
+
gateSecret(this.client, "pay.fetch", normalizedUrl, init, options);
|
|
225
227
|
const maxUsdMicros = normalizeMax(options.maxUsdMicros);
|
|
228
|
+
const maxSats = normalizeMaxSats(options.maxSats);
|
|
226
229
|
const nextInit = withIdempotencyKey(init, options.idempotencyKey);
|
|
227
230
|
if (this.executor) {
|
|
228
231
|
return this.executor(normalizedUrl, nextInit, {
|
|
229
232
|
maxUsdMicros,
|
|
230
233
|
requireReceipt: options.requireReceipt === true,
|
|
231
234
|
...(options.idempotencyKey ? { idempotencyKey: options.idempotencyKey } : {}),
|
|
235
|
+
...(maxSats !== undefined ? { maxSats } : {}),
|
|
236
|
+
...(options.lightningPairing ? { lightningPairing: options.lightningPairing } : {}),
|
|
232
237
|
});
|
|
233
238
|
}
|
|
234
239
|
const response = await this.client.fetch(normalizedUrl, nextInit);
|
|
@@ -535,6 +540,20 @@ function normalizePayUrl(input) {
|
|
|
535
540
|
}
|
|
536
541
|
return url.toString();
|
|
537
542
|
}
|
|
543
|
+
function normalizeMaxSats(value) {
|
|
544
|
+
if (value === undefined)
|
|
545
|
+
return undefined;
|
|
546
|
+
if (!Number.isSafeInteger(value) || value <= 0) {
|
|
547
|
+
throw new PaymentBuyerError({
|
|
548
|
+
code: "PAYMENT_SETTLEMENT_FAILED",
|
|
549
|
+
message: "maxSats must be a positive safe integer.",
|
|
550
|
+
fundsMoved: false,
|
|
551
|
+
details: { field: "maxSats", value },
|
|
552
|
+
nextActions: [{ type: "edit_request", field: "maxSats", why: "Pass a whole number of sats." }],
|
|
553
|
+
});
|
|
554
|
+
}
|
|
555
|
+
return value;
|
|
556
|
+
}
|
|
538
557
|
function normalizeMax(value) {
|
|
539
558
|
const normalized = value ?? DEFAULT_PAYMENT_MAX_USD_MICROS;
|
|
540
559
|
if (!Number.isSafeInteger(normalized) || normalized < 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pay.js","sourceRoot":"","sources":["../../src/namespaces/pay.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pay.js","sourceRoot":"","sources":["../../src/namespaces/pay.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,11 @@
|
|
|
1
|
+
import { type PayExecutor } from "../namespaces/pay.js";
|
|
1
2
|
import { type LightningStack } from "./_paid-stack.js";
|
|
3
|
+
import { type X402LnbtcPaid } from "./lightning-x402-lnbtc.js";
|
|
4
|
+
/** The x402 network ids of Bitcoin mainnet and testnet3 (`lnbtc:` + the genesis hash prefix). */
|
|
5
|
+
export declare const LNBTC_MAINNET = "lnbtc:000000000019d6689c085ae165831e93";
|
|
6
|
+
export declare const LNBTC_TESTNET = "lnbtc:000000000933ea01ad0ee984209779ba";
|
|
7
|
+
/** The `lnbtc` network id for a node's reported network name, or null when the scheme defines none. */
|
|
8
|
+
export declare function lnbtcNetworkForNodeNetwork(name: string | null | undefined): string | null;
|
|
2
9
|
type FetchFn = typeof globalThis.fetch;
|
|
3
10
|
export declare const RUN402_MPP_LIGHTNING_PROFILE = "run402-mpp-lightning-charge-draft00-safety-v1";
|
|
4
11
|
/** A single Run402 charge above this is refused before paying (the spec's conservative USD ceiling in sats). */
|
|
@@ -29,6 +36,19 @@ export interface LightningWalletLike {
|
|
|
29
36
|
state: string | null;
|
|
30
37
|
preimage: string | null;
|
|
31
38
|
} | null>;
|
|
39
|
+
/** The node's network name (`mainnet`, `testnet`, …); used when the wallet's network is probed. */
|
|
40
|
+
getInfo?(): Promise<{
|
|
41
|
+
network: string | null;
|
|
42
|
+
pubkey: string | null;
|
|
43
|
+
methods: string[];
|
|
44
|
+
}>;
|
|
45
|
+
}
|
|
46
|
+
/** Per-call limits a `pay.fetch` call hands the buyer; read through `perCall`. */
|
|
47
|
+
export interface LightningCallOptions {
|
|
48
|
+
/** Refuse a Lightning payment whose invoice plus routing headroom exceeds this many sats. */
|
|
49
|
+
maxSats?: number;
|
|
50
|
+
/** A merchant receipt was demanded; no `lnbtc` entry carries one, so the buyer refuses before paying. */
|
|
51
|
+
requireReceipt?: boolean;
|
|
32
52
|
}
|
|
33
53
|
export interface LightningFetchOptions {
|
|
34
54
|
pairingUri: string;
|
|
@@ -37,8 +57,16 @@ export interface LightningFetchOptions {
|
|
|
37
57
|
baseFetch?: FetchFn;
|
|
38
58
|
wallet?: LightningWalletLike;
|
|
39
59
|
stack?: () => Promise<LightningStack>;
|
|
40
|
-
/**
|
|
41
|
-
|
|
60
|
+
/**
|
|
61
|
+
* The wallet's `lnbtc` network id: the platform Hub sub-wallet is mainnet
|
|
62
|
+
* (the default); `"probe"` asks the node once (`get_info`) and remembers
|
|
63
|
+
* the answer, for a bring-your-own pairing.
|
|
64
|
+
*/
|
|
65
|
+
walletNetwork?: string | "probe";
|
|
66
|
+
/** The per-call limits of the `pay.fetch` call in flight, when any. */
|
|
67
|
+
perCall?: () => LightningCallOptions | undefined;
|
|
68
|
+
/** Called with the payment hash of each paid challenge (never the preimage), and what was paid. */
|
|
69
|
+
onPaid?: (paymentHash: string, paid?: X402LnbtcPaid) => void;
|
|
42
70
|
/** The wait between post-settlement retries; tests pass an instant one. */
|
|
43
71
|
sleep?: (ms: number) => Promise<void>;
|
|
44
72
|
/** Unix seconds for x402 Lightning invoice checks; tests pin it. */
|
|
@@ -66,5 +94,16 @@ export declare function readLightningChallenge(response: Response, stack: Lightn
|
|
|
66
94
|
*/
|
|
67
95
|
export declare function isLightningChargedRequest(input: RequestInfo | URL, init: RequestInit | undefined): boolean;
|
|
68
96
|
export declare function createLightningFetch(options: LightningFetchOptions): FetchFn;
|
|
97
|
+
/**
|
|
98
|
+
* `pay.fetch` on the Lightning rail: the buyer above, run under a per-call
|
|
99
|
+
* context that carries the call's caps in and the payment it made out, so the
|
|
100
|
+
* result reports the `lnbtc` network and the payment hash as its
|
|
101
|
+
* transaction. A request that needed no payment, or that the x402 fallback
|
|
102
|
+
* paid, is reported as the fallback reports it.
|
|
103
|
+
*/
|
|
104
|
+
export declare function createLightningPayExecutor(options: Omit<LightningFetchOptions, "perCall" | "onPaid"> & {
|
|
105
|
+
/** The x402 executor that reports a USDC payment made by the fallback, when there is one. */
|
|
106
|
+
fallbackPay?: PayExecutor | null;
|
|
107
|
+
}): PayExecutor;
|
|
69
108
|
export {};
|
|
70
109
|
//# sourceMappingURL=lightning-paid-fetch.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lightning-paid-fetch.d.ts","sourceRoot":"","sources":["../../src/node/lightning-paid-fetch.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lightning-paid-fetch.d.ts","sourceRoot":"","sources":["../../src/node/lightning-paid-fetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,9 +20,23 @@
|
|
|
20
20
|
* payment; a settled intent never receives a fresh challenge.
|
|
21
21
|
*/
|
|
22
22
|
import { createHash } from "node:crypto";
|
|
23
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
24
|
+
import { payResponseMetadata, responseSignalsReplay, } from "../namespaces/pay.js";
|
|
23
25
|
import { loadLightningStack } from "./_paid-stack.js";
|
|
24
|
-
import { explicitRequestHeaders, isX402LightningCandidate, payX402Lightning, readX402LightningOffer, } from "./lightning-x402-lnbtc.js";
|
|
26
|
+
import { explicitRequestHeaders, isX402LightningCandidate, payX402Lightning, readX402LightningOffer, x402LightningNetworks, } from "./lightning-x402-lnbtc.js";
|
|
25
27
|
import { NwcError, NwcWallet } from "./nwc.js";
|
|
28
|
+
/** The x402 network ids of Bitcoin mainnet and testnet3 (`lnbtc:` + the genesis hash prefix). */
|
|
29
|
+
export const LNBTC_MAINNET = "lnbtc:000000000019d6689c085ae165831e93";
|
|
30
|
+
export const LNBTC_TESTNET = "lnbtc:000000000933ea01ad0ee984209779ba";
|
|
31
|
+
/** The `lnbtc` network id for a node's reported network name, or null when the scheme defines none. */
|
|
32
|
+
export function lnbtcNetworkForNodeNetwork(name) {
|
|
33
|
+
const lower = (name ?? "").toLowerCase();
|
|
34
|
+
if (lower === "mainnet" || lower === "bitcoin")
|
|
35
|
+
return LNBTC_MAINNET;
|
|
36
|
+
if (lower === "testnet" || lower === "testnet3")
|
|
37
|
+
return LNBTC_TESTNET;
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
26
40
|
export const RUN402_MPP_LIGHTNING_PROFILE = "run402-mpp-lightning-charge-draft00-safety-v1";
|
|
27
41
|
const ACCEPT_PAYMENT = `lightning/charge;profile=${RUN402_MPP_LIGHTNING_PROFILE}, tempo/charge;q=0.5`;
|
|
28
42
|
/** Routing-fee headroom on top of the invoice, in sats (internal Hub payments cost 0). */
|
|
@@ -173,10 +187,13 @@ function defaultIdempotencyKey(input, init) {
|
|
|
173
187
|
* routing-fee headroom must fit the rail's ceiling and the wallet's remaining
|
|
174
188
|
* budget. Throws before anything is paid.
|
|
175
189
|
*/
|
|
176
|
-
async function checkLightningCaps(wallet, amountSats) {
|
|
190
|
+
async function checkLightningCaps(wallet, amountSats, maxSats) {
|
|
177
191
|
const allIn = amountSats + FEE_HEADROOM_SATS;
|
|
192
|
+
if (maxSats !== undefined && allIn > maxSats) {
|
|
193
|
+
throw new LightningPaymentError("LIGHTNING_DEBIT_ABOVE_CAP", `A Lightning charge of ${amountSats} sats (plus ${FEE_HEADROOM_SATS} sats routing headroom) exceeds the ${maxSats}-sat cap given for this call.`, { amount_sats: amountSats, cap_sats: maxSats, cap_source: "max_sats", next_action: "raise maxSats / --max-sats, or pay over x402" });
|
|
194
|
+
}
|
|
178
195
|
if (allIn > LIGHTNING_MAX_DEBIT_SATS) {
|
|
179
|
-
throw new LightningPaymentError("LIGHTNING_DEBIT_ABOVE_CAP", `A Lightning charge of ${amountSats} sats exceeds the ${LIGHTNING_MAX_DEBIT_SATS}-sat ceiling.`, { amount_sats: amountSats, cap_sats: LIGHTNING_MAX_DEBIT_SATS, next_action: "pay over x402 (run402 init --switch-rail)" });
|
|
196
|
+
throw new LightningPaymentError("LIGHTNING_DEBIT_ABOVE_CAP", `A Lightning charge of ${amountSats} sats exceeds the ${LIGHTNING_MAX_DEBIT_SATS}-sat ceiling.`, { amount_sats: amountSats, cap_sats: LIGHTNING_MAX_DEBIT_SATS, cap_source: "ceiling", next_action: "pay over x402 (run402 init --switch-rail)" });
|
|
180
197
|
}
|
|
181
198
|
const budget = await wallet.getBudgetSats().catch(() => null);
|
|
182
199
|
if (budget && budget.totalSats !== null && budget.totalSats - budget.usedSats < allIn) {
|
|
@@ -188,15 +205,61 @@ export function createLightningFetch(options) {
|
|
|
188
205
|
const wallet = options.wallet ?? new NwcWallet(options.pairingUri);
|
|
189
206
|
const loadStack = options.stack ?? loadLightningStack;
|
|
190
207
|
const sleep = options.sleep ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
|
|
208
|
+
const perCall = options.perCall ?? (() => undefined);
|
|
191
209
|
let fallbackFetch;
|
|
210
|
+
let walletNetwork;
|
|
192
211
|
const fallback = async () => {
|
|
193
212
|
if (fallbackFetch === undefined)
|
|
194
213
|
fallbackFetch = await options.fallback();
|
|
195
214
|
return fallbackFetch;
|
|
196
215
|
};
|
|
216
|
+
/** The wallet's `lnbtc` network: configured, or probed from the node once. */
|
|
217
|
+
const resolveWalletNetwork = () => {
|
|
218
|
+
if (walletNetwork === undefined) {
|
|
219
|
+
walletNetwork = options.walletNetwork === "probe"
|
|
220
|
+
? (wallet.getInfo ? wallet.getInfo().then((info) => lnbtcNetworkForNodeNetwork(info.network)) : Promise.resolve(null))
|
|
221
|
+
: Promise.resolve(options.walletNetwork ?? LNBTC_MAINNET);
|
|
222
|
+
}
|
|
223
|
+
return walletNetwork;
|
|
224
|
+
};
|
|
225
|
+
/** Pay the 402's `lnbtc` entry on the wallet's network, or say exactly why not. */
|
|
226
|
+
const payOffer = async (input, init, probe) => {
|
|
227
|
+
const offered = x402LightningNetworks(probe);
|
|
228
|
+
if (offered.length === 0)
|
|
229
|
+
return null;
|
|
230
|
+
const network = await resolveWalletNetwork();
|
|
231
|
+
const offer = network === null ? null : readX402LightningOffer(probe, network);
|
|
232
|
+
await probe.body?.cancel().catch(() => undefined);
|
|
233
|
+
if (!offer) {
|
|
234
|
+
throw new LightningPaymentError("LIGHTNING_NETWORK_MISMATCH", `The seller's Lightning offer is on ${offered.join(", ")} and this wallet is on ${network ?? "an unsupported network"}; nothing was paid.`, { offered_networks: offered, wallet_network: network, next_action: "pay with a pairing on that network: run402 pay --lightning-pairing <file|->" });
|
|
235
|
+
}
|
|
236
|
+
const call = perCall();
|
|
237
|
+
if (call?.requireReceipt) {
|
|
238
|
+
throw new LightningPaymentError("LIGHTNING_RECEIPT_UNAVAILABLE", "An x402 Lightning entry carries no merchant receipt; drop requireReceipt (--require-receipt) or pay over x402 USDC. Nothing was paid.", { network: offer.requirements.network });
|
|
239
|
+
}
|
|
240
|
+
return payX402Lightning({
|
|
241
|
+
input,
|
|
242
|
+
init,
|
|
243
|
+
offer,
|
|
244
|
+
wallet,
|
|
245
|
+
baseFetch,
|
|
246
|
+
fail: (code, message, details) => new LightningPaymentError(code, message, details),
|
|
247
|
+
checkCaps: (amountSats) => checkLightningCaps(wallet, amountSats, call?.maxSats),
|
|
248
|
+
onPaid: options.onPaid,
|
|
249
|
+
...(options.clock ? { clock: options.clock } : {}),
|
|
250
|
+
});
|
|
251
|
+
};
|
|
197
252
|
return async (input, init) => {
|
|
198
253
|
if (!isLightningChargedRequest(input, init)) {
|
|
199
|
-
//
|
|
254
|
+
// Any other URL: the 402 decides. An `lnbtc` entry on the wallet's
|
|
255
|
+
// network is paid here; one on another network is refused by name; no
|
|
256
|
+
// entry at all hands the request to the x402 buyer (or the plain fetch).
|
|
257
|
+
const probe = await baseFetch(input, init);
|
|
258
|
+
if (probe.status !== 402)
|
|
259
|
+
return probe;
|
|
260
|
+
const paid = await payOffer(input, init, probe);
|
|
261
|
+
if (paid)
|
|
262
|
+
return paid;
|
|
200
263
|
const other = (await fallback()) ?? baseFetch;
|
|
201
264
|
return other(input, init);
|
|
202
265
|
}
|
|
@@ -208,21 +271,9 @@ export function createLightningFetch(options) {
|
|
|
208
271
|
const probe = await baseFetch(input, { ...init, headers: explicitRequestHeaders(init) });
|
|
209
272
|
if (probe.status !== 402)
|
|
210
273
|
return probe;
|
|
211
|
-
const
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
return payX402Lightning({
|
|
215
|
-
input,
|
|
216
|
-
init,
|
|
217
|
-
offer,
|
|
218
|
-
wallet,
|
|
219
|
-
baseFetch,
|
|
220
|
-
fail: (code, message, details) => new LightningPaymentError(code, message, details),
|
|
221
|
-
checkCaps: (amountSats) => checkLightningCaps(wallet, amountSats),
|
|
222
|
-
onPaid: options.onPaid,
|
|
223
|
-
...(options.clock ? { clock: options.clock } : {}),
|
|
224
|
-
});
|
|
225
|
-
}
|
|
274
|
+
const paid = await payOffer(input, init, probe);
|
|
275
|
+
if (paid)
|
|
276
|
+
return paid;
|
|
226
277
|
}
|
|
227
278
|
// Deterministic over the request bytes: a retry of the identical call
|
|
228
279
|
// (after a crash, a timeout, or a gateway hiccup between payment and
|
|
@@ -245,7 +296,7 @@ export function createLightningFetch(options) {
|
|
|
245
296
|
return x402(input, init);
|
|
246
297
|
}
|
|
247
298
|
await first.body?.cancel().catch(() => undefined);
|
|
248
|
-
await checkLightningCaps(wallet, challenge.amountSats);
|
|
299
|
+
await checkLightningCaps(wallet, challenge.amountSats, perCall()?.maxSats);
|
|
249
300
|
let preimage;
|
|
250
301
|
try {
|
|
251
302
|
preimage = (await wallet.payInvoice(challenge.invoice)).preimage;
|
|
@@ -293,4 +344,90 @@ export function createLightningFetch(options) {
|
|
|
293
344
|
return response;
|
|
294
345
|
};
|
|
295
346
|
}
|
|
347
|
+
/**
|
|
348
|
+
* `pay.fetch` on the Lightning rail: the buyer above, run under a per-call
|
|
349
|
+
* context that carries the call's caps in and the payment it made out, so the
|
|
350
|
+
* result reports the `lnbtc` network and the payment hash as its
|
|
351
|
+
* transaction. A request that needed no payment, or that the x402 fallback
|
|
352
|
+
* paid, is reported as the fallback reports it.
|
|
353
|
+
*/
|
|
354
|
+
export function createLightningPayExecutor(options) {
|
|
355
|
+
const calls = new AsyncLocalStorage();
|
|
356
|
+
const fetchFn = createLightningFetch({
|
|
357
|
+
...options,
|
|
358
|
+
perCall: () => calls.getStore(),
|
|
359
|
+
onPaid: (paymentHash, paid) => {
|
|
360
|
+
const call = calls.getStore();
|
|
361
|
+
if (call) {
|
|
362
|
+
call.paymentHash = paymentHash;
|
|
363
|
+
if (paid)
|
|
364
|
+
call.paid = paid;
|
|
365
|
+
}
|
|
366
|
+
},
|
|
367
|
+
});
|
|
368
|
+
return async (url, init, payOptions) => {
|
|
369
|
+
const call = {
|
|
370
|
+
...(payOptions.maxSats !== undefined ? { maxSats: payOptions.maxSats } : {}),
|
|
371
|
+
requireReceipt: payOptions.requireReceipt === true,
|
|
372
|
+
};
|
|
373
|
+
const response = await calls.run(call, () => fetchFn(url, init));
|
|
374
|
+
if (!call.paymentHash || !call.paid) {
|
|
375
|
+
return {
|
|
376
|
+
response,
|
|
377
|
+
payment: null,
|
|
378
|
+
outcome: "not_required",
|
|
379
|
+
replay: await responseSignalsReplay(response, payOptions.idempotencyKey !== undefined),
|
|
380
|
+
...payResponseMetadata(response),
|
|
381
|
+
};
|
|
382
|
+
}
|
|
383
|
+
const settled = readSettledPaymentResponse(response);
|
|
384
|
+
// A Lightning entry carries no merchant receipt and no signer authorization, so these instants are absent.
|
|
385
|
+
const noInstant = null;
|
|
386
|
+
const payment = {
|
|
387
|
+
network: call.paid.network,
|
|
388
|
+
paymentId: null,
|
|
389
|
+
amountUsdMicros: 0,
|
|
390
|
+
amountMsat: call.paid.amountMsat,
|
|
391
|
+
asset: "BTC",
|
|
392
|
+
payer: null,
|
|
393
|
+
payTo: call.paid.payTo,
|
|
394
|
+
transaction: settled?.transaction ?? call.paymentHash,
|
|
395
|
+
resourceUrl: call.paid.resourceUrl,
|
|
396
|
+
settlement: { status: settled?.success ? "verified" : "unavailable" },
|
|
397
|
+
fundsMoved: true,
|
|
398
|
+
deduplicated: false,
|
|
399
|
+
delivery: { status: response.ok ? "fulfilled" : "failed", replay: false },
|
|
400
|
+
offer: { status: "absent", resourceUrl: null, validUntil: null },
|
|
401
|
+
merchantReceipt: { status: "absent", claim: null, issuedAt: noInstant },
|
|
402
|
+
signerRelationship: { kind: null, merchantRoot: null, signer: null, authorizationExpiresAt: noInstant },
|
|
403
|
+
policy: { requireReceipt: false, status: "not_required" },
|
|
404
|
+
evidence: { offer: null, merchantReceipt: null, signerAuthorization: null },
|
|
405
|
+
};
|
|
406
|
+
const result = {
|
|
407
|
+
response,
|
|
408
|
+
payment,
|
|
409
|
+
outcome: "settled",
|
|
410
|
+
replay: false,
|
|
411
|
+
...payResponseMetadata(response),
|
|
412
|
+
};
|
|
413
|
+
return result;
|
|
414
|
+
};
|
|
415
|
+
}
|
|
416
|
+
/** The seller's `PAYMENT-RESPONSE` (x402 v2): `{ success, transaction, network }`, or null. */
|
|
417
|
+
function readSettledPaymentResponse(response) {
|
|
418
|
+
const header = response.headers.get("payment-response");
|
|
419
|
+
if (!header)
|
|
420
|
+
return null;
|
|
421
|
+
try {
|
|
422
|
+
const parsed = JSON.parse(Buffer.from(header, "base64").toString("utf8"));
|
|
423
|
+
return {
|
|
424
|
+
success: parsed.success === true,
|
|
425
|
+
transaction: typeof parsed.transaction === "string" ? parsed.transaction : "",
|
|
426
|
+
network: typeof parsed.network === "string" ? parsed.network : "",
|
|
427
|
+
};
|
|
428
|
+
}
|
|
429
|
+
catch {
|
|
430
|
+
return null;
|
|
431
|
+
}
|
|
432
|
+
}
|
|
296
433
|
//# sourceMappingURL=lightning-paid-fetch.js.map
|