@run402/sdk 4.117.1 → 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/README.md CHANGED
@@ -284,7 +284,7 @@ const status = await r.credentials.projectKeys.status(projectId); // redacted
284
284
  const serviceKey = process.env.RUN402_SERVICE_KEY!;
285
285
  await r.credentials.projectKeys.import(projectId, { serviceKey });
286
286
  const keys = await r.credentials.projectKeys.export(projectId, { reveal: true });
287
- await r.credentials.projectKeys.remove(projectId);
287
+ await r.credentials.projectKeys.delete(projectId);
288
288
  ```
289
289
 
290
290
  `status`/`list` report `source: "local_cache"`, profile/cache-path provenance, key presence, prefixes, and fingerprints without full secrets. `export(..., { reveal: true })` is the only SDK helper that emits cached secret key material.
@@ -310,11 +310,11 @@ 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. |
317
- | `credentials` | `projectKeys.list`, `projectKeys.status`, `projectKeys.import`, `projectKeys.export`, `projectKeys.remove` for explicit local project-key cache management. |
317
+ | `credentials` | `projectKeys.list`, `projectKeys.status`, `projectKeys.import`, `projectKeys.export`, `projectKeys.delete` for explicit local project-key cache management. |
318
318
  | `r.project(id).apply` | **The unified apply primitive.** Resolve `const project = await r.project(id)`, then use `project.apply(spec)` for staged multi-resource writes (release slices + assets slice). Sub-methods: `.plan`, `.start`, `.resume`, `.upload`, `.commit`, `.rehearse`, `.status`, `.list`, `.events`, `.resolve`, `.getRelease`, `.getActiveRelease`, `.diff`. Underlying engine routes to `/apply/v1/*`. |
319
319
  | `ci` | GitHub Actions OIDC federation over `/ci/v1/*`: `createBinding`, `listBindings`, `getBinding`, `revokeBinding`, `exchangeToken`; plus canonical delegation helpers. `createBinding` accepts `asset_key_scopes` for per-key CI write authorization. |
320
320
  | `r.project(id).sites` | `deployDir` — Node entry only (`@run402/sdk/node`); thin wrapper over `r.project(id).apply({ site: dir(...) })` |
@@ -112,6 +112,6 @@ export declare class ProjectKeysCache {
112
112
  status(projectId: string): Promise<ProjectKeyCacheStatus>;
113
113
  import(projectId: string, opts: ProjectKeyCacheImportOptions): Promise<ProjectKeyCacheMutationResult>;
114
114
  export(projectId: string, opts?: ProjectKeyCacheExportOptions): Promise<ProjectKeyCacheExportResult>;
115
- remove(projectId: string): Promise<ProjectKeyCacheMutationResult>;
115
+ delete(projectId: string): Promise<ProjectKeyCacheMutationResult>;
116
116
  }
117
117
  //# sourceMappingURL=credentials.d.ts.map
@@ -207,7 +207,7 @@ export class ProjectKeysCache {
207
207
  revealed: true,
208
208
  };
209
209
  }
210
- async remove(projectId) {
210
+ async delete(projectId) {
211
211
  if (!this.client.credentials.removeProject) {
212
212
  throw unsupported("removing local project keys", "removeProject");
213
213
  }
@@ -281,8 +281,8 @@ export declare class OrgLightningReceiver {
281
281
  get(input: {
282
282
  orgId: string;
283
283
  }): Promise<LightningReceiver>;
284
- /** Remove the receiver (`DELETE …/lightning-receiver`); admin/owner plus step-up. Warns about releases still priced on Lightning. */
285
- remove(input: {
284
+ /** Delete the receiver (`DELETE …/lightning-receiver`); admin/owner plus step-up. Warns about releases still priced on Lightning. */
285
+ delete(input: {
286
286
  orgId: string;
287
287
  }): Promise<LightningReceiverRemoved>;
288
288
  }
@@ -328,10 +328,10 @@ export class OrgLightningReceiver {
328
328
  context: "reading org Lightning receiver",
329
329
  });
330
330
  }
331
- /** Remove the receiver (`DELETE …/lightning-receiver`); admin/owner plus step-up. Warns about releases still priced on Lightning. */
332
- async remove(input) {
331
+ /** Delete the receiver (`DELETE …/lightning-receiver`); admin/owner plus step-up. Warns about releases still priced on Lightning. */
332
+ async delete(input) {
333
333
  if (!input?.orgId)
334
- throw new LocalError("orgs.lightningReceiver.remove requires { orgId }", "removing org Lightning receiver");
334
+ throw new LocalError("orgs.lightningReceiver.delete requires { orgId }", "deleting org Lightning receiver");
335
335
  return this.client.request(`/orgs/v1/${encodeURIComponent(input.orgId)}/lightning-receiver`, {
336
336
  method: "DELETE",
337
337
  context: "removing org Lightning receiver",
@@ -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