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.
@@ -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.117.2",
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":"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"}
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
- /** Called with the payment hash of each paid challenge (never the preimage). */
41
- onPaid?: (paymentHash: string) => void;
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":"AAuBA,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAS3E,KAAK,OAAO,GAAG,OAAO,UAAU,CAAC,KAAK,CAAC;AAEvC,eAAO,MAAM,4BAA4B,kDAAkD,CAAC;AAI5F,gHAAgH;AAChH,eAAO,MAAM,wBAAwB,SAAU,CAAC;AAehD,4GAA4G;AAC5G,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAK7C,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CA2BlH;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,IAAI,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;IAChF,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1D,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC,CAAC;CACvG;AAED,MAAM,WAAW,qBAAqB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;IACtC,gFAAgF;IAChF,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,2EAA2E;IAC3E,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;CACtB;AAED,qBAAa,qBAAsB,SAAQ,KAAK;aAClB,IAAI,EAAE,MAAM;aAAmC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;gBAA/E,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAkB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAIjH;AAED,UAAU,kBAAkB;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,iFAAiF;AACjF,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,cAAc,GAAG,kBAAkB,GAAG,IAAI,CAkB3G;AAyBD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,WAAW,GAAG,GAAG,EAAE,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,OAAO,CAS1G;AA0BD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAuG5E"}
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
- // Not a Lightning surface: the x402 buyer (or the plain fetch) owns it.
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 offer = readX402LightningOffer(probe);
212
- await probe.body?.cancel().catch(() => undefined);
213
- if (offer) {
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