@dvmkit/sdk 0.8.1 → 0.9.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.
Files changed (52) hide show
  1. package/dist/{chunk-ILBSZMJL.js → chunk-4VV7WACY.js} +1 -1
  2. package/dist/{chunk-JIZ4ZIXX.js → chunk-73C4JN2E.js} +421 -233
  3. package/dist/{chunk-ALWVJ2RB.js → chunk-BAQRUYRL.js} +3 -3
  4. package/dist/{chunk-AVV5SYGO.js → chunk-GAZBBMAA.js} +1 -1
  5. package/dist/{chunk-G3MPHW5I.js → chunk-GODOH2AF.js} +3 -3
  6. package/dist/{chunk-2U6LAASN.js → chunk-HC4I7LAV.js} +1 -1
  7. package/dist/{chunk-7PM4R4GD.js → chunk-IBX2ORBV.js} +1 -1
  8. package/dist/{chunk-NA2KOR6G.js → chunk-IYQQXEHV.js} +3 -3
  9. package/dist/{chunk-J5J63WDC.js → chunk-K2MSIKMM.js} +3 -3
  10. package/dist/{chunk-RSNC5T6C.js → chunk-KGL3YMZA.js} +1 -1
  11. package/dist/{chunk-UVS7MRJX.js → chunk-LCCG5HQM.js} +2 -2
  12. package/dist/{chunk-QKE5NDPF.js → chunk-LFVIZH2G.js} +167 -25
  13. package/dist/{chunk-ZEPJF4JC.js → chunk-LW7KZQHG.js} +4 -4
  14. package/dist/{chunk-BFGQG4WY.js → chunk-OIP44KBB.js} +5 -0
  15. package/dist/{chunk-UWGBI5WK.js → chunk-Q3VYRU5R.js} +3 -3
  16. package/dist/{chunk-IOQIXRGM.js → chunk-QSZW2I5Y.js} +1 -1
  17. package/dist/{chunk-IHQUBATH.js → chunk-TFDR2YP2.js} +3 -3
  18. package/dist/{chunk-OP7VCGQR.js → chunk-TRY7BJA4.js} +1 -1
  19. package/dist/{chunk-NU5RWJ5B.js → chunk-WB3E7KE7.js} +3 -3
  20. package/dist/{chunk-UDJNZ3UG.js → chunk-WLPLHXNP.js} +1 -1
  21. package/dist/{chunk-FM6QAGJC.js → chunk-YYRY32NR.js} +24 -8
  22. package/dist/{chunk-AGE5XZKE.js → chunk-ZBQKXAYK.js} +17 -4
  23. package/dist/{content-retention-B7ddtJ2y.d.ts → content-retention-CVBYehRS.d.ts} +1 -1
  24. package/dist/{credit-ledger-KIQIE6I6.js → credit-ledger-CZQ56DYI.js} +4 -4
  25. package/dist/{credit-menu-BH3g9GQa.d.ts → credit-menu-QntEhZJS.d.ts} +4 -4
  26. package/dist/{fx-DN26_J7o.d.ts → fx-CMyNFenZ.d.ts} +1 -1
  27. package/dist/index.d.ts +5 -5
  28. package/dist/index.js +4 -4
  29. package/dist/internal/caller.d.ts +6 -6
  30. package/dist/internal/caller.js +16 -16
  31. package/dist/internal/server.d.ts +7 -7
  32. package/dist/internal/server.js +26 -26
  33. package/dist/{job-store-Cq21JT37.d.ts → job-store-qOD-FrQF.d.ts} +1 -1
  34. package/dist/{lightning-backend-S8F8nf8q.d.ts → lightning-backend-DtdG6UT5.d.ts} +1 -1
  35. package/dist/{memory-credit-ledger-ATYFAYBG.js → memory-credit-ledger-EMN7G3MO.js} +5 -5
  36. package/dist/{mpp-setup-ZTORW3VF.js → mpp-setup-VW53KFPO.js} +5 -3
  37. package/dist/{payout-reporter-NN6K2IVQ.js → payout-reporter-TZX2S7KG.js} +2 -2
  38. package/dist/{postgres-consumed-credential-store-XJTE5PCA.js → postgres-consumed-credential-store-V464OAJB.js} +3 -3
  39. package/dist/{postgres-job-store-AR6ZJUQV.js → postgres-job-store-27VOCSPO.js} +2 -2
  40. package/dist/{postgres-replay-store-33K33QV7.js → postgres-replay-store-7GJFAQXY.js} +2 -2
  41. package/dist/{pricing-G5IN5YJE.js → pricing-NNMBNP7N.js} +3 -3
  42. package/dist/{revenue-reporter-KDUZLD5F.js → revenue-reporter-4EAVPWXS.js} +2 -2
  43. package/dist/server/index.d.ts +14 -10
  44. package/dist/server/index.js +49 -45
  45. package/dist/{step-cache-CR12EZ1Q.d.ts → step-cache-B7svmPz3.d.ts} +54 -9
  46. package/dist/{tempo-charge-store-XEGJYM3G.js → tempo-charge-store-2RPOJBM2.js} +2 -2
  47. package/dist/{tempo-session-store-3WTDOO7H.js → tempo-session-store-LI3Q3A3U.js} +3 -3
  48. package/dist/testing/index.d.ts +3 -3
  49. package/dist/testing/index.js +7 -7
  50. package/dist/{usd-s_VZ_eS7.d.ts → usd-D3izFz71.d.ts} +1 -1
  51. package/dist/{x402-HQ5GRQZU.js → x402-SL36LSOD.js} +4 -4
  52. package/package.json +1 -1
@@ -15,7 +15,7 @@ import {
15
15
  lotOwedSats,
16
16
  netOwedSats,
17
17
  x402SettlementPending
18
- } from "./chunk-FM6QAGJC.js";
18
+ } from "./chunk-YYRY32NR.js";
19
19
 
20
20
  // src/sdk/server/memory-credit-ledger.ts
21
21
  import { randomUUID } from "crypto";
@@ -934,7 +934,7 @@ var MemoryCreditLedger = class _MemoryCreditLedger {
934
934
  const out = [];
935
935
  for (const credit of this.credits.values()) {
936
936
  for (const drain of credit.drains.values()) {
937
- if (drain.status === "pending") out.push(drainRecord(drain, credit));
937
+ if (drain.status === "pending" || drain.status === "exit_required") out.push(drainRecord(drain, credit));
938
938
  }
939
939
  }
940
940
  out.sort((a, b) => a.createdAt - b.createdAt || a.creditId.localeCompare(b.creditId));
@@ -945,7 +945,7 @@ var MemoryCreditLedger = class _MemoryCreditLedger {
945
945
  for (const credit of this.credits.values()) {
946
946
  if (credit.tempoChannelId === null) continue;
947
947
  for (const drain of credit.drains.values()) {
948
- if (drain.status !== "pending" || drain.method !== "tempo") continue;
948
+ if (drain.status !== "pending" && drain.status !== "exit_required" || drain.method !== "tempo") continue;
949
949
  if (drain.createdAt > args.createdBeforeMs) continue;
950
950
  if (!args.includeResolved && drain.writtenOffAt !== null) continue;
951
951
  out.push(drainRecord(drain, credit));
@@ -979,6 +979,19 @@ var MemoryCreditLedger = class _MemoryCreditLedger {
979
979
  }
980
980
  return Promise.resolve();
981
981
  }
982
+ requireTempoDrainExit(args) {
983
+ return run(() => {
984
+ const { credit, drain } = this.requireDrain(args.creditId, args.drainId);
985
+ if (drain.status === "exit_required" || drain.status === "sent") {
986
+ return { drain: drainRecord(drain, credit), replayed: true };
987
+ }
988
+ if (drain.status !== "pending" || drain.method !== "tempo" || !credit.tempoChannelId) {
989
+ throw this.transitionRefusal(drain, "require timed exit");
990
+ }
991
+ drain.status = "exit_required";
992
+ return { drain: drainRecord(drain, credit), replayed: false };
993
+ });
994
+ }
982
995
  releaseDrain(args) {
983
996
  return run(() => {
984
997
  const { credit, drain } = this.requireDrain(args.creditId, args.drainId);
@@ -1042,7 +1055,7 @@ var MemoryCreditLedger = class _MemoryCreditLedger {
1042
1055
  markDrainSent(args) {
1043
1056
  return run(() => {
1044
1057
  const { credit, drain } = this.requireDrain(args.creditId, args.drainId);
1045
- if (drain.status === "pending" && drain.method !== "cashu") {
1058
+ if ((drain.status === "pending" || drain.status === "exit_required") && drain.method !== "cashu") {
1046
1059
  drain.status = "sent";
1047
1060
  drain.sentRef = { ...args.sentRef };
1048
1061
  drain.sentAt = args.nowMs ?? Date.now();
@@ -1,4 +1,4 @@
1
- import { b as JobStore, J as JobRecord } from './job-store-Cq21JT37.js';
1
+ import { b as JobStore, J as JobRecord } from './job-store-qOD-FrQF.js';
2
2
 
3
3
  /** Authenticated caller metadata; omitted fields on older services mean unknown. */
4
4
  interface JobContentMetadata {
@@ -10,11 +10,11 @@ import {
10
10
  isDrainMethod,
11
11
  isFundingRail,
12
12
  x402SettlementPending
13
- } from "./chunk-FM6QAGJC.js";
14
- import "./chunk-7PM4R4GD.js";
15
- import "./chunk-BPYMEMQX.js";
16
- import "./chunk-BFGQG4WY.js";
13
+ } from "./chunk-YYRY32NR.js";
17
14
  import "./chunk-COYKJRMM.js";
15
+ import "./chunk-IBX2ORBV.js";
16
+ import "./chunk-BPYMEMQX.js";
17
+ import "./chunk-OIP44KBB.js";
18
18
  export {
19
19
  CreditLedger,
20
20
  CreditLedgerError,
@@ -1,11 +1,11 @@
1
- import { f as LockPubkey, e as CheckMintHealthOptions, b as LightningBackend, A as AttestationPayload } from './lightning-backend-S8F8nf8q.js';
2
- import { cg as HostingCleanupFence, cW as HostedIntent, aj as FundingMethod, p as PaymentMethod, bO as CreditLedgerLike, a5 as Message, $ as FundingReceipt, bQ as CreditSnapshot, a0 as JobReceipt, S as SDKJobContext, ax as StepCache, v as ResponseContent, P as PaymentContent, a1 as MessageType, bk as X402Receipt, aF as X402Config, bj as X402ExactVersionSupport, cX as X402SettlementIntent, ab as PaymentRequirementsV2, cY as HostedFundingReservation, c3 as CreditLedgerQuerier, cZ as X402SettlementCursor, bS as X402SettlementStatus, c_ as X402SettlementWriteOff, bP as X402RefundSettlementGate, c$ as X402FacilitatorAuth, d0 as X402BatchSettlementConfig, cC as PostgresX402ChannelStorage, d1 as X402PayoutObserver, bM as HostedSettlementReportObligations, bn as CreditDepositPayload, bs as MppxServer, ae as CashuMode, d2 as CreditDepositEnqueue, d3 as X402SettlementReconciliationReason, aq as PaymentRequirements, a3 as MppxCredential, bR as DrawResult, cq as CreditLedgerError, a7 as ReceiptCredit, ag as DrainReceiptEvent, a8 as DrainReceipt, K as KVStore, z as SignedRequestAudience, d4 as CreditDrawReleaseEnqueue, cA as JobCostReportPayload, cB as JobTerminalReportPayload, cE as RevenueSkippedNoRailPayload, Z as ZodLike, a as DVMDescriptor, bX as CreditInvoiceRecord, bY as InvoiceSettlement, ck as ClientCompatibilityGate, ci as ClientCompatibility, bw as PostgresTempoSessionStore, bv as PayoutReporter, R as ResolvedCreditConfig, h as CreditView } from './step-cache-CR12EZ1Q.js';
1
+ import { f as LockPubkey, e as CheckMintHealthOptions, b as LightningBackend, A as AttestationPayload } from './lightning-backend-DtdG6UT5.js';
2
+ import { cg as HostingCleanupFence, cY as HostedIntent, aj as FundingMethod, p as PaymentMethod, bO as CreditLedgerLike, a5 as Message, $ as FundingReceipt, bQ as CreditSnapshot, a0 as JobReceipt, S as SDKJobContext, ax as StepCache, v as ResponseContent, P as PaymentContent, a1 as MessageType, bk as X402Receipt, aF as X402Config, bj as X402ExactVersionSupport, cZ as X402SettlementIntent, ab as PaymentRequirementsV2, c_ as HostedFundingReservation, c3 as CreditLedgerQuerier, c$ as X402SettlementCursor, bS as X402SettlementStatus, d0 as X402SettlementWriteOff, bP as X402RefundSettlementGate, d1 as X402FacilitatorAuth, d2 as X402BatchSettlementConfig, cC as PostgresX402ChannelStorage, d3 as X402PayoutObserver, bM as HostedSettlementReportObligations, bn as CreditDepositPayload, bs as MppxServer, ae as CashuMode, d4 as CreditDepositEnqueue, d5 as X402SettlementReconciliationReason, aq as PaymentRequirements, a3 as MppxCredential, bR as DrawResult, cq as CreditLedgerError, a7 as ReceiptCredit, ag as DrainReceiptEvent, a8 as DrainReceipt, K as KVStore, z as SignedRequestAudience, d6 as CreditDrawReleaseEnqueue, cA as JobCostReportPayload, cB as JobTerminalReportPayload, cE as RevenueSkippedNoRailPayload, Z as ZodLike, a as DVMDescriptor, bX as CreditInvoiceRecord, bY as InvoiceSettlement, ck as ClientCompatibilityGate, ci as ClientCompatibility, bw as PostgresTempoSessionStore, bv as PayoutReporter, R as ResolvedCreditConfig, h as CreditView } from './step-cache-B7svmPz3.js';
3
3
  import { ProofLike, SerializedDLEQ, Proof } from '@cashu/cashu-ts';
4
4
  import { Hono, Context } from 'hono';
5
5
  import { Pool } from 'pg';
6
- import { d as FxSourceFailure, b as FxRateSnapshot, F as FxFetcher } from './fx-DN26_J7o.js';
6
+ import { d as FxSourceFailure, b as FxRateSnapshot, F as FxFetcher } from './fx-CMyNFenZ.js';
7
7
  import { Store, Challenge } from 'mppx';
8
- import { T as TopUpCapUnenforcedReason, A as AppendOutgoingOptions, J as JobRecord, b as JobStore } from './job-store-Cq21JT37.js';
8
+ import { T as TopUpCapUnenforcedReason, A as AppendOutgoingOptions, J as JobRecord, b as JobStore } from './job-store-qOD-FrQF.js';
9
9
  import { SettleResponse, SupportedResponse } from '@x402/core/types';
10
10
  import { Channel, AutoSettlementConfig } from '@x402/evm/batch-settlement/server';
11
11
  import { FacilitatorClient } from '@x402/core/server';
@@ -1,4 +1,4 @@
1
- import { C as Currency } from './step-cache-CR12EZ1Q.js';
1
+ import { C as Currency } from './step-cache-B7svmPz3.js';
2
2
 
3
3
  /**
4
4
  * Quote-time FX snapshot. `rates` maps configured lowercase currency codes to
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- import { C as Currency, Z as ZodLike, D as DVMConfig, a as DVMDescriptor } from './step-cache-CR12EZ1Q.js';
2
- export { A as ApprovalContent, b as ArtifactContent, c as CancelContent, d as CanonicalEnvelope, e as CapabilityRate, f as CreateSignedRequestVerifierOpts, g as CreditConfig, h as CreditView, i as DEFAULT_CREDIT_MAX, j as DEFAULT_CREDIT_MIN, k as DEFAULT_CREDIT_TTL_SECONDS, l as DEFAULT_JOB_RETENTION_DAYS, m as DVMRouteContext, I as IncomingMessage, n as InputType, o as InvalidCurrencyError, J as JobCost, K as KVStore, L as Logger, P as PaymentContent, p as PaymentMethod, q as PriceValue, r as ProgressContent, s as PromptOpts, Q as QuoteConfig, t as QuoteContext, u as QuoteResult, R as ResolvedCreditConfig, v as ResponseContent, S as SDKJobContext, w as SDKPaymentRequestOpts, x as SIGNED_REQUEST_AUTH_ID, y as SIGNED_REQUEST_STATEMENT_VERSION, z as SignedRequestAudience, B as SignedRequestDomain, E as SignedRequestError, F as SignedRequestFailure, G as SignedRequestReplayStore, H as SignedRequestSignOpts, M as SignedRequestStatementHeader, N as SignedRequestVerifier, U as UnsupportedCurrencyError, O as createSignedRequestVerifier, T as isZodSchema, V as signedRequestStatementHeader, W as validateCurrency } from './step-cache-CR12EZ1Q.js';
3
- export { C as CreateFxFetcherOpts, D as DEFAULT_FX_CURRENCIES, a as DEFAULT_FX_RATE_SOURCE, F as FxFetcher, b as FxRateSnapshot, c as FxRateUnavailableError, d as FxSourceFailure, e as FxSourceFailureCategory, P as PlatformFxSource, f as createFxFetcher, g as fxRateFor, r as resolveFxSourceFromEnv } from './fx-DN26_J7o.js';
4
- export { I as InvalidFxRateError, f as fiatToSatsCeil, a as formatFiat, b as formatUsd, r as roundUsd, s as satsToFiat } from './usd-s_VZ_eS7.js';
5
- export { J as JobRecord, a as JobStatus, b as JobStore } from './job-store-Cq21JT37.js';
1
+ import { C as Currency, Z as ZodLike, D as DVMConfig, a as DVMDescriptor } from './step-cache-B7svmPz3.js';
2
+ export { A as ApprovalContent, b as ArtifactContent, c as CancelContent, d as CanonicalEnvelope, e as CapabilityRate, f as CreateSignedRequestVerifierOpts, g as CreditConfig, h as CreditView, i as DEFAULT_CREDIT_MAX, j as DEFAULT_CREDIT_MIN, k as DEFAULT_CREDIT_TTL_SECONDS, l as DEFAULT_JOB_RETENTION_DAYS, m as DVMRouteContext, I as IncomingMessage, n as InputType, o as InvalidCurrencyError, J as JobCost, K as KVStore, L as Logger, P as PaymentContent, p as PaymentMethod, q as PriceValue, r as ProgressContent, s as PromptOpts, Q as QuoteConfig, t as QuoteContext, u as QuoteResult, R as ResolvedCreditConfig, v as ResponseContent, S as SDKJobContext, w as SDKPaymentRequestOpts, x as SIGNED_REQUEST_AUTH_ID, y as SIGNED_REQUEST_STATEMENT_VERSION, z as SignedRequestAudience, B as SignedRequestDomain, E as SignedRequestError, F as SignedRequestFailure, G as SignedRequestReplayStore, H as SignedRequestSignOpts, M as SignedRequestStatementHeader, N as SignedRequestVerifier, U as UnsupportedCurrencyError, O as createSignedRequestVerifier, T as isZodSchema, V as signedRequestStatementHeader, W as validateCurrency } from './step-cache-B7svmPz3.js';
3
+ export { C as CreateFxFetcherOpts, D as DEFAULT_FX_CURRENCIES, a as DEFAULT_FX_RATE_SOURCE, F as FxFetcher, b as FxRateSnapshot, c as FxRateUnavailableError, d as FxSourceFailure, e as FxSourceFailureCategory, P as PlatformFxSource, f as createFxFetcher, g as fxRateFor, r as resolveFxSourceFromEnv } from './fx-CMyNFenZ.js';
4
+ export { I as InvalidFxRateError, f as fiatToSatsCeil, a as formatFiat, b as formatUsd, r as roundUsd, s as satsToFiat } from './usd-D3izFz71.js';
5
+ export { J as JobRecord, a as JobStatus, b as JobStore } from './job-store-qOD-FrQF.js';
6
6
  export { P as PinnedFetch, S as SSRFError, a as SSRFGuardOpts, b as SSRFReason, c as SSRFResolver, d as assertSafeUrl, e as createPinnedFetch } from './ssrf-dMooihtY.js';
7
7
  export { z } from 'zod';
8
8
  import 'hono';
package/dist/index.js CHANGED
@@ -10,7 +10,7 @@ import {
10
10
  import {
11
11
  SignedRequestError,
12
12
  createSignedRequestVerifier
13
- } from "./chunk-ILBSZMJL.js";
13
+ } from "./chunk-4VV7WACY.js";
14
14
  import {
15
15
  DEFAULT_CREDIT_MAX,
16
16
  DEFAULT_CREDIT_MIN,
@@ -23,7 +23,7 @@ import {
23
23
  } from "./chunk-UKD3R2KU.js";
24
24
  import {
25
25
  buildUpfront
26
- } from "./chunk-UDJNZ3UG.js";
26
+ } from "./chunk-WLPLHXNP.js";
27
27
  import {
28
28
  DEFAULT_FX_CURRENCIES,
29
29
  DEFAULT_FX_RATE_SOURCE,
@@ -41,8 +41,8 @@ import {
41
41
  roundUsd,
42
42
  satsToFiat,
43
43
  validateCurrency
44
- } from "./chunk-2U6LAASN.js";
45
- import "./chunk-BFGQG4WY.js";
44
+ } from "./chunk-HC4I7LAV.js";
45
+ import "./chunk-OIP44KBB.js";
46
46
 
47
47
  // src/sdk/configure.ts
48
48
  function configureDVM(config) {
@@ -1,16 +1,16 @@
1
- import { L as LightningTransactionListOptions, a as LightningTransactionSnapshot, b as LightningBackend, c as LightningPayment, d as LightningWalletInfo, C as CreatedInvoice, I as InvoiceStatus } from '../lightning-backend-S8F8nf8q.js';
2
- export { A as AttestationPayload, B as BuilderIdentityKeypair, e as CheckMintHealthOptions, f as LockPubkey, M as MintAmountBounds, g as MintHealthCheckResult, h as amountBoundsVerdict, i as assertNutSupport, j as buildAttestation, k as canSwap, l as checkMintHealth, m as generateIdentity, n as hashCapabilities, o as loadIdentitySecret, p as meltAmountBounds, s as signAttestation, t as toLockPubkey, v as verifyAttestation, w as writeIdentity } from '../lightning-backend-S8F8nf8q.js';
1
+ import { L as LightningTransactionListOptions, a as LightningTransactionSnapshot, b as LightningBackend, c as LightningPayment, d as LightningWalletInfo, C as CreatedInvoice, I as InvoiceStatus } from '../lightning-backend-DtdG6UT5.js';
2
+ export { A as AttestationPayload, B as BuilderIdentityKeypair, e as CheckMintHealthOptions, f as LockPubkey, M as MintAmountBounds, g as MintHealthCheckResult, h as amountBoundsVerdict, i as assertNutSupport, j as buildAttestation, k as canSwap, l as checkMintHealth, m as generateIdentity, n as hashCapabilities, o as loadIdentitySecret, p as meltAmountBounds, s as signAttestation, t as toLockPubkey, v as verifyAttestation, w as writeIdentity } from '../lightning-backend-DtdG6UT5.js';
3
3
  import { ProofLike, MeltQuoteBolt11Response, Proof, Wallet, MintQuoteBolt11Response, MintPreview, CounterSource, CounterRange, SerializedDLEQ, OutputData, OutputDataLike } from '@cashu/cashu-ts';
4
4
  export { g as getWallet } from '../wallet-Dwjs5n_M.js';
5
- import { X as JsonValue, B as SignedRequestDomain, M as SignedRequestStatementHeader, Y as X402_BATCH_SETTLEMENT_SCHEME, _ as X402_EXACT_SCHEME, $ as FundingReceipt, a0 as JobReceipt$1, a1 as MessageType, a2 as X402Version, a3 as MppxCredential, z as SignedRequestAudience, a4 as PaymentRequired, a5 as Message, a6 as MppxChallenge, a7 as ReceiptCredit, a8 as DrainReceipt, C as Currency, a9 as X402Wallet, aa as PaymentRequirementsV1, ab as PaymentRequirementsV2, L as Logger$1, K as KVStore } from '../step-cache-CR12EZ1Q.js';
6
- export { ac as BuildPaymentRequirementsOpts, ad as CapabilityDescriptor, ae as CashuMode, af as CompleteContent, ag as DrainReceiptEvent, ah as ExactEvmPayload, ai as ExactEvmPayloadAuthorization, aj as FundingMethod, ak as MessageFrom, al as PaymentPayload, am as PaymentPayloadV1, an as PaymentPayloadV2, ao as PaymentRequestContent, ap as PaymentRequiredV2, aq as PaymentRequirements, ar as PromptContent, as as RAIL_REFUNDABLE, at as ReceiptOutcome, au as ReceiptPayment, av as ResourceInfo, aw as SettleResponse, ax as StepCache, ay as StepRecord, az as TextContent, aA as UnsignedDrainReceipt, aB as UnsignedFundingReceipt, aC as UnsignedJobReceipt, aD as VerifyResponse, aE as WorkingContent, aF as X402Config, aG as X402ResponseBody, aH as X402SelfRelayRpcFailureReason, aI as X402_DEFAULT_NETWORK, aJ as X402_V1_VERSION, aK as X402_VERSION, aL as buildPaymentRequiredV2, aM as buildPaymentRequirements, aN as caip2ToX402Network, aO as canonicalRequestPath, aP as canonicaliseForSigning, aQ as canonicalize, aR as chainIdFromCaip2, aS as computeResultHash, aT as decodePayment, aU as decodePaymentRequiredHeader, aV as encodePayment, aW as encodePaymentRequiredHeader, aX as encodeSettleResponseHeader, aY as exactEvmAuthorization, aZ as isArtifactMessage, a_ as isCancelMessage, a$ as isCompleteMessage, b0 as isDrainReceipt, b1 as isFundingReceipt, b2 as isPaymentRequestMessage, b3 as isPromptMessage, b4 as isSignedJobReceipt, b5 as isTextMessage, b6 as isWorkingMessage, b7 as paymentRequiredV2FromV1, b8 as signDrainReceipt, b9 as signFundingReceipt, ba as signReceipt, bb as usdcContractByCaip2, bc as usdcContractFor, bd as usdcDomainNameFor, be as usdcDomainVersionFor, bf as verifyDrainReceipt, bg as verifyFundingReceipt, bh as verifyReceipt, bi as x402NetworkToCaip2 } from '../step-cache-CR12EZ1Q.js';
5
+ import { X as JsonValue, B as SignedRequestDomain, M as SignedRequestStatementHeader, Y as X402_BATCH_SETTLEMENT_SCHEME, _ as X402_EXACT_SCHEME, $ as FundingReceipt, a0 as JobReceipt$1, a1 as MessageType, a2 as X402Version, a3 as MppxCredential, z as SignedRequestAudience, a4 as PaymentRequired, a5 as Message, a6 as MppxChallenge, a7 as ReceiptCredit, a8 as DrainReceipt, C as Currency, a9 as X402Wallet, aa as PaymentRequirementsV1, ab as PaymentRequirementsV2, L as Logger$1, K as KVStore } from '../step-cache-B7svmPz3.js';
6
+ export { ac as BuildPaymentRequirementsOpts, ad as CapabilityDescriptor, ae as CashuMode, af as CompleteContent, ag as DrainReceiptEvent, ah as ExactEvmPayload, ai as ExactEvmPayloadAuthorization, aj as FundingMethod, ak as MessageFrom, al as PaymentPayload, am as PaymentPayloadV1, an as PaymentPayloadV2, ao as PaymentRequestContent, ap as PaymentRequiredV2, aq as PaymentRequirements, ar as PromptContent, as as RAIL_REFUNDABLE, at as ReceiptOutcome, au as ReceiptPayment, av as ResourceInfo, aw as SettleResponse, ax as StepCache, ay as StepRecord, az as TextContent, aA as UnsignedDrainReceipt, aB as UnsignedFundingReceipt, aC as UnsignedJobReceipt, aD as VerifyResponse, aE as WorkingContent, aF as X402Config, aG as X402ResponseBody, aH as X402SelfRelayRpcFailureReason, aI as X402_DEFAULT_NETWORK, aJ as X402_V1_VERSION, aK as X402_VERSION, aL as buildPaymentRequiredV2, aM as buildPaymentRequirements, aN as caip2ToX402Network, aO as canonicalRequestPath, aP as canonicaliseForSigning, aQ as canonicalize, aR as chainIdFromCaip2, aS as computeResultHash, aT as decodePayment, aU as decodePaymentRequiredHeader, aV as encodePayment, aW as encodePaymentRequiredHeader, aX as encodeSettleResponseHeader, aY as exactEvmAuthorization, aZ as isArtifactMessage, a_ as isCancelMessage, a$ as isCompleteMessage, b0 as isDrainReceipt, b1 as isFundingReceipt, b2 as isPaymentRequestMessage, b3 as isPromptMessage, b4 as isSignedJobReceipt, b5 as isTextMessage, b6 as isWorkingMessage, b7 as paymentRequiredV2FromV1, b8 as signDrainReceipt, b9 as signFundingReceipt, ba as signReceipt, bb as usdcContractByCaip2, bc as usdcContractFor, bd as usdcDomainNameFor, be as usdcDomainVersionFor, bf as verifyDrainReceipt, bg as verifyFundingReceipt, bh as verifyReceipt, bi as x402NetworkToCaip2 } from '../step-cache-B7svmPz3.js';
7
7
  import { SimplePool } from 'nostr-tools/pool';
8
8
  import { Session } from 'mppx/tempo';
9
9
  import { Pool } from 'pg';
10
10
  import { PaymentRequired as PaymentRequired$1 } from '@x402/core/types';
11
11
  import { ClientChannelStorage, BatchSettlementClientContext, BatchSettlementEvmScheme } from '@x402/evm/batch-settlement/client';
12
- export { h as FX_CACHE_TTL_MS, i as FX_RETRY_COUNT, w as warmFxSnapshot } from '../fx-DN26_J7o.js';
13
- export { c as InvalidUsdPriceError, p as parseUsdPrice } from '../usd-s_VZ_eS7.js';
12
+ export { h as FX_CACHE_TTL_MS, i as FX_RETRY_COUNT, w as warmFxSnapshot } from '../fx-CMyNFenZ.js';
13
+ export { c as InvalidUsdPriceError, p as parseUsdPrice } from '../usd-D3izFz71.js';
14
14
  import 'hono';
15
15
  import 'mppx';
16
16
  import '@x402/core/server';
@@ -32,7 +32,7 @@ import {
32
32
  sha256hex,
33
33
  validateX402Env,
34
34
  withNwcPool
35
- } from "../chunk-RSNC5T6C.js";
35
+ } from "../chunk-KGL3YMZA.js";
36
36
  import {
37
37
  MemoryKVStore
38
38
  } from "../chunk-SDK6KDJN.js";
@@ -143,7 +143,7 @@ import {
143
143
  withWalletLock,
144
144
  writeAgentMnemonic,
145
145
  writeIdentity
146
- } from "../chunk-ZEPJF4JC.js";
146
+ } from "../chunk-LW7KZQHG.js";
147
147
  import {
148
148
  X402_BATCH_SETTLEMENT_SCHEME,
149
149
  X402_DEFAULT_FACILITATOR,
@@ -190,21 +190,11 @@ import {
190
190
  import {
191
191
  createNoopLogger,
192
192
  createStdoutLogger
193
- } from "../chunk-OP7VCGQR.js";
194
- import {
195
- currentContext,
196
- initLoggers,
197
- loggers,
198
- pinDimension,
199
- randomTraceId,
200
- setEmitter,
201
- withTraceContext
202
- } from "../chunk-IOQIXRGM.js";
193
+ } from "../chunk-TRY7BJA4.js";
203
194
  import {
204
195
  redactUrl,
205
196
  redactUrlsInText
206
197
  } from "../chunk-FUJ36YDV.js";
207
- import "../chunk-66HGCPBU.js";
208
198
  import {
209
199
  StepCache
210
200
  } from "../chunk-BQJIFRAZ.js";
@@ -214,11 +204,11 @@ import {
214
204
  InvalidUsdPriceError,
215
205
  parseUsdPrice,
216
206
  warmFxSnapshot
217
- } from "../chunk-2U6LAASN.js";
207
+ } from "../chunk-HC4I7LAV.js";
218
208
  import {
219
209
  applyRetryToPool,
220
210
  withInitRetry
221
- } from "../chunk-7PM4R4GD.js";
211
+ } from "../chunk-IBX2ORBV.js";
222
212
  import {
223
213
  DvmError,
224
214
  X402_NETWORKS,
@@ -232,6 +222,16 @@ import {
232
222
  x402NetworkListForCopy,
233
223
  x402SupportedNetworksHint
234
224
  } from "../chunk-BPYMEMQX.js";
225
+ import {
226
+ currentContext,
227
+ initLoggers,
228
+ loggers,
229
+ pinDimension,
230
+ randomTraceId,
231
+ setEmitter,
232
+ withTraceContext
233
+ } from "../chunk-QSZW2I5Y.js";
234
+ import "../chunk-66HGCPBU.js";
235
235
  import {
236
236
  DIAGNOSTIC_CATALOGUE_VERSION,
237
237
  bindDiagnosticCapabilityAuthority,
@@ -241,7 +241,7 @@ import {
241
241
  projectDiagnosticFields,
242
242
  projectEventName,
243
243
  projectSpanRow
244
- } from "../chunk-BFGQG4WY.js";
244
+ } from "../chunk-OIP44KBB.js";
245
245
 
246
246
  // src/lib/budget-core.ts
247
247
  function checkBudgetForLedger(ledger, opts) {
@@ -1,22 +1,22 @@
1
1
  import { FacilitatorConfig } from '@x402/core/server';
2
- import { al as PaymentPayload, aa as PaymentRequirementsV1, ab as PaymentRequirementsV2, aF as X402Config, aw as SettleResponse, aD as VerifyResponse, bj as X402ExactVersionSupport, bk as X402Receipt, bl as TransactionalPayoutHook, bm as CashuMeltCompleted } from '../step-cache-CR12EZ1Q.js';
3
- export { bn as CreditDepositPayload, bo as CreditDrainPayload, bp as FundingLot, bq as LotDebit, br as LotDepletion, bs as MppxServer, bt as NON_CHANNEL_BITCOIN_RAILS, bu as NonChannelBitcoinRail, bv as PayoutReporter, bw as PostgresTempoSessionStore, bx as RevenueReporter, by as SIGNED_ENVELOPE_FIELDS, bz as SIGNED_ENVELOPE_TYPES, bA as X402TrackedChannel, bB as _testing, bC as createDefaultReplayStore, bD as depleteLots, bE as fifoOrder, bF as inKindDrawMsats, bG as isInKindDepletion, bH as isNonChannelBitcoinRail, bI as lotOwedSats, bJ as netOwedSats, bK as wrapMppx } from '../step-cache-CR12EZ1Q.js';
2
+ import { al as PaymentPayload, aa as PaymentRequirementsV1, ab as PaymentRequirementsV2, aF as X402Config, aw as SettleResponse, aD as VerifyResponse, bj as X402ExactVersionSupport, bk as X402Receipt, bl as TransactionalPayoutHook, bm as CashuMeltCompleted } from '../step-cache-B7svmPz3.js';
3
+ export { bn as CreditDepositPayload, bo as CreditDrainPayload, bp as FundingLot, bq as LotDebit, br as LotDepletion, bs as MppxServer, bt as NON_CHANNEL_BITCOIN_RAILS, bu as NonChannelBitcoinRail, bv as PayoutReporter, bw as PostgresTempoSessionStore, bx as RevenueReporter, by as SIGNED_ENVELOPE_FIELDS, bz as SIGNED_ENVELOPE_TYPES, bA as X402TrackedChannel, bB as _testing, bC as createDefaultReplayStore, bD as depleteLots, bE as fifoOrder, bF as inKindDrawMsats, bG as isInKindDepletion, bH as isNonChannelBitcoinRail, bI as lotOwedSats, bJ as netOwedSats, bK as wrapMppx } from '../step-cache-B7svmPz3.js';
4
4
  import { Hono } from 'hono';
5
5
  import { Env, BlankSchema } from 'hono/types';
6
6
  import { Pool } from 'pg';
7
7
  export { Pool } from 'pg';
8
8
  import { g as getWallet } from '../wallet-Dwjs5n_M.js';
9
- import { C as ConsumedCredentialStore, L as LockPubkeyStateLoader } from '../credit-menu-BH3g9GQa.js';
10
- export { A as AccumulatorPool, a as AppEnv, b as CreditFundingReport, D as DEFAULT_LOCK_PUBKEY_GRACE_SECONDS, F as FiatDenomination, c as FiatDenominationFailure, d as FundOnlyRequest, I as IncomingPaymentOpts, J as JobCancelledError, e as LockPubkeyPool, f as LockPubkeyState, M as MintHealthTracker, P as PAYMENT_PROOF_KEYS, g as PaymentErrorCode, h as PaymentErrorDetail, i as PaymentInfo, j as PostgresTempoChargeStore, R as ReporterBannerOpts, k as ResolvedFx, l as RevenueBootCheckOpts, S as SDKServerOpts, m as ServerJob, n as ShortPayForfeit, T as TempoChannelReport, o as TempoObserverHealth, p as TempoSessionChannelMismatchError, U as UpfrontPaymentOpts, V as VerifiedIncomingPayment, q as VerifyIncomingSnapshot, X as X402BatchChannelObservation, r as X402FacilitatorHealth, s as X402SettlementEvidenceOutcome, t as X402SettlementRepair, u as X402SettlementRepairRefusal, v as X402SettlementRepaired, w as X402WedgedSettlement, x as X402WedgedSettlementPage, y as X402_BATCH_SETTLEMENT_MAINNET_NETWORK, z as abortJob, B as activePubkeySet, E as applyPaymentInfoToJob, G as assertRevenueReporterReady, H as buildPaymentErrorResponse, K as clearAccumulatorForDvm, N as createDVMServer, O as creditDepositPayload, Q as derivedFundCreditId, W as devModeSkipsPaymentVerification, Y as fromJobRecord, Z as fundedMicroFor, _ as hasPaymentProof, $ as hashLockKey, a0 as implicitCreditId, a1 as initLockPubkeyTable, a2 as initWalletAccumulatorTable, a3 as insertAccumulatorRows, a4 as isDerivedCreditId, a5 as isTerminal, a6 as isYieldMessage, a7 as issueUpfrontChallenges, a8 as loadLockPubkeyState, a9 as msatsToFiatMicro, aa as paymentErrorBody, ab as pinAskFiat, ac as priceFiatMicro, ad as processIncomingPayment, ae as providerMessage, af as pruneRetired, ag as repairX402ExactSettlementEffect, ah as resolveFxSnapshot, ai as resolvePriceFiat, aj as revenueReporterBannerState, ak as rotateLockPubkey, al as seedLockPubkeyState, am as toCreditTerms, an as toJobRecord, ao as unknownRouteNotFound, ap as verifyIncomingPayment, aq as verifyTempoSessionManagementCredential, ar as verifyUpfrontPayment, as as x402RequiredUsdcMicro, at as x402SettledShare } from '../credit-menu-BH3g9GQa.js';
11
- export { O as OutgoingMessage, S as StaleJobReapable, i as isStaleJobReapable } from '../job-store-Cq21JT37.js';
9
+ import { C as ConsumedCredentialStore, L as LockPubkeyStateLoader } from '../credit-menu-QntEhZJS.js';
10
+ export { A as AccumulatorPool, a as AppEnv, b as CreditFundingReport, D as DEFAULT_LOCK_PUBKEY_GRACE_SECONDS, F as FiatDenomination, c as FiatDenominationFailure, d as FundOnlyRequest, I as IncomingPaymentOpts, J as JobCancelledError, e as LockPubkeyPool, f as LockPubkeyState, M as MintHealthTracker, P as PAYMENT_PROOF_KEYS, g as PaymentErrorCode, h as PaymentErrorDetail, i as PaymentInfo, j as PostgresTempoChargeStore, R as ReporterBannerOpts, k as ResolvedFx, l as RevenueBootCheckOpts, S as SDKServerOpts, m as ServerJob, n as ShortPayForfeit, T as TempoChannelReport, o as TempoObserverHealth, p as TempoSessionChannelMismatchError, U as UpfrontPaymentOpts, V as VerifiedIncomingPayment, q as VerifyIncomingSnapshot, X as X402BatchChannelObservation, r as X402FacilitatorHealth, s as X402SettlementEvidenceOutcome, t as X402SettlementRepair, u as X402SettlementRepairRefusal, v as X402SettlementRepaired, w as X402WedgedSettlement, x as X402WedgedSettlementPage, y as X402_BATCH_SETTLEMENT_MAINNET_NETWORK, z as abortJob, B as activePubkeySet, E as applyPaymentInfoToJob, G as assertRevenueReporterReady, H as buildPaymentErrorResponse, K as clearAccumulatorForDvm, N as createDVMServer, O as creditDepositPayload, Q as derivedFundCreditId, W as devModeSkipsPaymentVerification, Y as fromJobRecord, Z as fundedMicroFor, _ as hasPaymentProof, $ as hashLockKey, a0 as implicitCreditId, a1 as initLockPubkeyTable, a2 as initWalletAccumulatorTable, a3 as insertAccumulatorRows, a4 as isDerivedCreditId, a5 as isTerminal, a6 as isYieldMessage, a7 as issueUpfrontChallenges, a8 as loadLockPubkeyState, a9 as msatsToFiatMicro, aa as paymentErrorBody, ab as pinAskFiat, ac as priceFiatMicro, ad as processIncomingPayment, ae as providerMessage, af as pruneRetired, ag as repairX402ExactSettlementEffect, ah as resolveFxSnapshot, ai as resolvePriceFiat, aj as revenueReporterBannerState, ak as rotateLockPubkey, al as seedLockPubkeyState, am as toCreditTerms, an as toJobRecord, ao as unknownRouteNotFound, ap as verifyIncomingPayment, aq as verifyTempoSessionManagementCredential, ar as verifyUpfrontPayment, as as x402RequiredUsdcMicro, at as x402SettledShare } from '../credit-menu-QntEhZJS.js';
11
+ export { O as OutgoingMessage, S as StaleJobReapable, i as isStaleJobReapable } from '../job-store-qOD-FrQF.js';
12
12
  import { z } from 'zod';
13
- export { f as LockPubkeyStoreLockPubkey, t as lockPubkeyStoreToLockPubkey } from '../lightning-backend-S8F8nf8q.js';
13
+ export { f as LockPubkeyStoreLockPubkey, t as lockPubkeyStoreToLockPubkey } from '../lightning-backend-DtdG6UT5.js';
14
14
  import 'mppx';
15
15
  import '@x402/evm/batch-settlement/server';
16
16
  import '@x402/core/types';
17
17
  import 'viem';
18
18
  import '@cashu/cashu-ts';
19
- import '../fx-DN26_J7o.js';
19
+ import '../fx-CMyNFenZ.js';
20
20
 
21
21
  declare function verifyWithFacilitator(payload: PaymentPayload, requirements: PaymentRequirementsV1 | PaymentRequirementsV2, config?: Pick<X402Config, "facilitator" | "facilitatorAuth">, createAuthHeaders?: FacilitatorConfig["createAuthHeaders"] | undefined): Promise<VerifyResponse>;
22
22
  declare function settleWithFacilitator(payload: PaymentPayload, requirements: PaymentRequirementsV1 | PaymentRequirementsV2, config?: Pick<X402Config, "facilitator" | "facilitatorAuth">, createAuthHeaders?: FacilitatorConfig["createAuthHeaders"] | undefined): Promise<SettleResponse>;
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  PostgresTempoSessionStore
3
- } from "../chunk-UWGBI5WK.js";
3
+ } from "../chunk-Q3VYRU5R.js";
4
4
  import {
5
5
  verifyX402Payment
6
- } from "../chunk-UVS7MRJX.js";
6
+ } from "../chunk-LCCG5HQM.js";
7
7
  import {
8
8
  RevenueReporter
9
- } from "../chunk-NU5RWJ5B.js";
9
+ } from "../chunk-WB3E7KE7.js";
10
10
  import {
11
11
  PostgresTempoChargeStore
12
- } from "../chunk-NA2KOR6G.js";
12
+ } from "../chunk-IYQQXEHV.js";
13
13
  import {
14
14
  DEFAULT_LOCK_PUBKEY_GRACE_SECONDS,
15
15
  MintHealthTracker,
@@ -61,31 +61,28 @@ import {
61
61
  verifyUpfrontPayment,
62
62
  x402RequiredUsdcMicro,
63
63
  x402SettledShare
64
- } from "../chunk-JIZ4ZIXX.js";
65
- import {
66
- _testing,
67
- wrapMppx
68
- } from "../chunk-QKE5NDPF.js";
64
+ } from "../chunk-73C4JN2E.js";
65
+ import "../chunk-XRLKGCAW.js";
69
66
  import {
70
67
  PayoutReporter
71
- } from "../chunk-J5J63WDC.js";
68
+ } from "../chunk-K2MSIKMM.js";
72
69
  import {
73
70
  settleWithFacilitator,
74
71
  verifyWithFacilitator
75
- } from "../chunk-AVV5SYGO.js";
76
- import "../chunk-AGE5XZKE.js";
77
- import "../chunk-G3MPHW5I.js";
72
+ } from "../chunk-GAZBBMAA.js";
73
+ import "../chunk-ZBQKXAYK.js";
74
+ import "../chunk-GODOH2AF.js";
78
75
  import "../chunk-YG7G4DPZ.js";
79
76
  import {
80
77
  SIGNED_ENVELOPE_FIELDS,
81
78
  SIGNED_ENVELOPE_TYPES,
82
79
  createDefaultReplayStore,
83
80
  humanizeZodError
84
- } from "../chunk-ILBSZMJL.js";
81
+ } from "../chunk-4VV7WACY.js";
85
82
  import {
86
83
  createInstrumentedFetch,
87
84
  isStaleJobReapable
88
- } from "../chunk-IHQUBATH.js";
85
+ } from "../chunk-TFDR2YP2.js";
89
86
  import {
90
87
  JobCancelledError,
91
88
  abortJob,
@@ -97,16 +94,14 @@ import {
97
94
  } from "../chunk-AFV77S4C.js";
98
95
  import {
99
96
  toLockPubkey
100
- } from "../chunk-ZEPJF4JC.js";
97
+ } from "../chunk-LW7KZQHG.js";
101
98
  import "../chunk-62FI3NJF.js";
102
99
  import "../chunk-UKD3R2KU.js";
103
- import "../chunk-OP7VCGQR.js";
104
- import "../chunk-IOQIXRGM.js";
100
+ import "../chunk-TRY7BJA4.js";
105
101
  import "../chunk-FUJ36YDV.js";
106
- import "../chunk-66HGCPBU.js";
107
102
  import "../chunk-BQJIFRAZ.js";
108
- import "../chunk-UDJNZ3UG.js";
109
- import "../chunk-2U6LAASN.js";
103
+ import "../chunk-WLPLHXNP.js";
104
+ import "../chunk-HC4I7LAV.js";
110
105
  import {
111
106
  NON_CHANNEL_BITCOIN_RAILS,
112
107
  depleteLots,
@@ -116,12 +111,17 @@ import {
116
111
  isNonChannelBitcoinRail,
117
112
  lotOwedSats,
118
113
  netOwedSats
119
- } from "../chunk-FM6QAGJC.js";
120
- import "../chunk-7PM4R4GD.js";
121
- import "../chunk-BPYMEMQX.js";
122
- import "../chunk-BFGQG4WY.js";
123
- import "../chunk-XRLKGCAW.js";
114
+ } from "../chunk-YYRY32NR.js";
124
115
  import "../chunk-COYKJRMM.js";
116
+ import "../chunk-IBX2ORBV.js";
117
+ import "../chunk-BPYMEMQX.js";
118
+ import {
119
+ _testing,
120
+ wrapMppx
121
+ } from "../chunk-LFVIZH2G.js";
122
+ import "../chunk-QSZW2I5Y.js";
123
+ import "../chunk-66HGCPBU.js";
124
+ import "../chunk-OIP44KBB.js";
125
125
  export {
126
126
  DEFAULT_LOCK_PUBKEY_GRACE_SECONDS,
127
127
  JobCancelledError,
@@ -1,5 +1,5 @@
1
1
  import { ProofLike } from '@cashu/cashu-ts';
2
- import { a5 as Message, aj as FundingMethod, $ as FundingReceipt, bQ as CreditSnapshot, a0 as JobReceipt, ay as StepRecord, a1 as MessageType } from './step-cache-CR12EZ1Q.js';
2
+ import { a5 as Message, aj as FundingMethod, $ as FundingReceipt, bQ as CreditSnapshot, a0 as JobReceipt, ay as StepRecord, a1 as MessageType } from './step-cache-B7svmPz3.js';
3
3
 
4
4
  type JobStatus = "processing" | "completed" | "failed" | "awaiting-input" | "cancelled" | "working";
5
5
  interface JobRecord {
@@ -1,4 +1,4 @@
1
- import { X as JsonValue } from './step-cache-CR12EZ1Q.js';
1
+ import { X as JsonValue } from './step-cache-B7svmPz3.js';
2
2
 
3
3
  declare const lockPubkeyBrand: unique symbol;
4
4
  /**
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  MemoryCreditLedger
3
- } from "./chunk-AGE5XZKE.js";
4
- import "./chunk-FM6QAGJC.js";
5
- import "./chunk-7PM4R4GD.js";
6
- import "./chunk-BPYMEMQX.js";
7
- import "./chunk-BFGQG4WY.js";
3
+ } from "./chunk-ZBQKXAYK.js";
4
+ import "./chunk-YYRY32NR.js";
8
5
  import "./chunk-COYKJRMM.js";
6
+ import "./chunk-IBX2ORBV.js";
7
+ import "./chunk-BPYMEMQX.js";
8
+ import "./chunk-OIP44KBB.js";
9
9
  export {
10
10
  MemoryCreditLedger
11
11
  };
@@ -9,6 +9,7 @@ import {
9
9
  TEMPO_SETTLEMENT_LEASE_MS,
10
10
  TEMPO_SETTLEMENT_LEASE_OWNER_FIELD,
11
11
  TEMPO_USDC_MAINNET,
12
+ TempoCloseDescriptorError,
12
13
  _testing,
13
14
  advertisedMethods,
14
15
  challengeMeta,
@@ -19,10 +20,10 @@ import {
19
20
  parseMppMethodsAllowlist,
20
21
  resolveTempoNetwork,
21
22
  wrapMppx
22
- } from "./chunk-QKE5NDPF.js";
23
- import "./chunk-IOQIXRGM.js";
23
+ } from "./chunk-LFVIZH2G.js";
24
+ import "./chunk-QSZW2I5Y.js";
24
25
  import "./chunk-66HGCPBU.js";
25
- import "./chunk-BFGQG4WY.js";
26
+ import "./chunk-OIP44KBB.js";
26
27
  export {
27
28
  MPPX_HMAC_MISMATCH_REASON,
28
29
  TEMPO_MAINNET_CHAIN_ID,
@@ -34,6 +35,7 @@ export {
34
35
  TEMPO_SETTLEMENT_LEASE_MS,
35
36
  TEMPO_SETTLEMENT_LEASE_OWNER_FIELD,
36
37
  TEMPO_USDC_MAINNET,
38
+ TempoCloseDescriptorError,
37
39
  _testing,
38
40
  advertisedMethods,
39
41
  challengeMeta,
@@ -4,9 +4,9 @@ import {
4
4
  PayoutReporter,
5
5
  PostgresX402BatchStore,
6
6
  x402EarnedCeiling
7
- } from "./chunk-J5J63WDC.js";
8
- import "./chunk-BFGQG4WY.js";
7
+ } from "./chunk-K2MSIKMM.js";
9
8
  import "./chunk-COYKJRMM.js";
9
+ import "./chunk-OIP44KBB.js";
10
10
  export {
11
11
  MemoryX402BatchStore,
12
12
  PAYOUT_SNAPSHOT_INTERVAL_MS,
@@ -1,9 +1,9 @@
1
- import {
2
- diagnosticConsole
3
- } from "./chunk-BFGQG4WY.js";
4
1
  import {
5
2
  withSdkInitLock
6
3
  } from "./chunk-COYKJRMM.js";
4
+ import {
5
+ diagnosticConsole
6
+ } from "./chunk-OIP44KBB.js";
7
7
 
8
8
  // src/sdk/server/postgres-consumed-credential-store.ts
9
9
  var DEFAULT_TABLE_NAME = "consumed_credentials";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  PostgresJobStore
3
- } from "./chunk-G3MPHW5I.js";
3
+ } from "./chunk-GODOH2AF.js";
4
4
  import "./chunk-AFV77S4C.js";
5
5
  import "./chunk-BQJIFRAZ.js";
6
- import "./chunk-BFGQG4WY.js";
7
6
  import "./chunk-COYKJRMM.js";
7
+ import "./chunk-OIP44KBB.js";
8
8
  export {
9
9
  PostgresJobStore
10
10
  };
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  PostgresReplayStore
3
- } from "./chunk-ALWVJ2RB.js";
4
- import "./chunk-BFGQG4WY.js";
3
+ } from "./chunk-BAQRUYRL.js";
5
4
  import "./chunk-COYKJRMM.js";
5
+ import "./chunk-OIP44KBB.js";
6
6
  export {
7
7
  PostgresReplayStore
8
8
  };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  buildUpfront
3
- } from "./chunk-UDJNZ3UG.js";
3
+ } from "./chunk-WLPLHXNP.js";
4
4
  import {
5
5
  DEFAULT_FX_CURRENCIES,
6
6
  DEFAULT_FX_RATE_SOURCE,
@@ -22,8 +22,8 @@ import {
22
22
  satsToFiat,
23
23
  validateCurrency,
24
24
  warmFxSnapshot
25
- } from "./chunk-2U6LAASN.js";
26
- import "./chunk-BFGQG4WY.js";
25
+ } from "./chunk-HC4I7LAV.js";
26
+ import "./chunk-OIP44KBB.js";
27
27
  export {
28
28
  DEFAULT_FX_CURRENCIES,
29
29
  DEFAULT_FX_RATE_SOURCE,
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  RevenueReporter
3
- } from "./chunk-NU5RWJ5B.js";
4
- import "./chunk-BFGQG4WY.js";
3
+ } from "./chunk-WB3E7KE7.js";
5
4
  import "./chunk-COYKJRMM.js";
5
+ import "./chunk-OIP44KBB.js";
6
6
  export {
7
7
  RevenueReporter
8
8
  };
@@ -1,15 +1,15 @@
1
- import { ae as CashuMode, bL as CreditDrainEnqueue, bM as HostedSettlementReportObligations, R as ResolvedCreditConfig, bN as DVMAuthScheme, B as SignedRequestDomain, bO as CreditLedgerLike, bP as X402RefundSettlementGate, bQ as CreditSnapshot, bR as DrawResult, bS as X402SettlementStatus, bT as X402UnresolvedRefund, bU as GrownDrawResult, bV as DrawResolution, bW as FundingRecord, $ as FundingReceipt, bX as CreditInvoiceRecord, bY as InvoiceSettlement, bZ as BlockedInvoiceCursor, b_ as InvoiceReconciliation, b$ as InvoiceWriteOff, c0 as DrawRecord, c1 as StalePendingDrawCursor, c2 as TempoCreditLossEvidence, c3 as CreditLedgerQuerier, c4 as TempoCreditLoss, c5 as X402CreditLossEvidence, c6 as X402CreditLoss, c7 as DrainMethod, c8 as DrainRequestResult, c9 as BitcoinDepositLiability, bp as FundingLot, ca as CreditDrainRecord, cb as ChannelDrainCursor, cc as DrainWriteOff, cd as DrainReleaseResult, ce as DrainFulfilment, cf as DrainTransitionResult, cg as HostingCleanupFence, a0 as JobReceipt, a5 as Message, K as KVStore, G as SignedRequestReplayStore, Z as ZodLike, a as DVMDescriptor } from '../step-cache-CR12EZ1Q.js';
2
- export { ch as CLIENT_COMPATIBILITY_HEADERS, d as CanonicalEnvelope, ci as ClientCompatibility, cj as ClientCompatibilityEnv, ck as ClientCompatibilityGate, cl as ClientCompatibilityRequirement, cm as ClientSemVer, f as CreateSignedRequestVerifierOpts, cn as CreditFundingBasis, co as CreditInvoiceStatus, cp as CreditLedger, cq as CreditLedgerError, cr as CreditLedgerErrorCode, cs as CreditLedgerErrorDetails, ct as CreditLedgerPool, cu as CreditStatus, cv as DRAIN_DELIVERY_RESERVE_SATS, cw as DVM_PROTOCOL_VERSION, cx as DrainConflictReason, cy as DrawRailValue, cz as DrawStatus, cA as JobCostReportPayload, cB as JobTerminalReportPayload, cC as PostgresX402ChannelStorage, cD as ReplayStoreBackend, cE as RevenueSkippedNoRailPayload, cF as RevenueSkippedNoRailReason, x as SIGNED_REQUEST_AUTH_ID, y as SIGNED_REQUEST_STATEMENT_VERSION, cG as Secp256k1AuthOpts, z as SignedRequestAudience, E as SignedRequestError, F as SignedRequestFailure, H as SignedRequestSignOpts, M as SignedRequestStatementHeader, N as SignedRequestVerifier, cH as X402ChannelStorageOpts, cI as X402RelayLockHolder, cJ as X402RelaySubmissionLock, cK as X402RelaySubmissionLockError, cL as allocateDrawValue, cM as clientCompatibilityAttributes, cN as clientCompatibilityMiddleware, cO as clientUpgradeRequired, O as createSignedRequestVerifier, cP as parseClientCapabilities, cQ as parseClientCompatibility, cR as parseDvmClient, cS as parseProtocolVersion, cT as requireClientCompatibility, cU as secp256k1Auth, cV as signedRequestInput, V as signedRequestStatementHeader } from '../step-cache-CR12EZ1Q.js';
1
+ import { ae as CashuMode, bL as CreditDrainEnqueue, bM as HostedSettlementReportObligations, R as ResolvedCreditConfig, bN as DVMAuthScheme, B as SignedRequestDomain, bO as CreditLedgerLike, bP as X402RefundSettlementGate, bQ as CreditSnapshot, bR as DrawResult, bS as X402SettlementStatus, bT as X402UnresolvedRefund, bU as GrownDrawResult, bV as DrawResolution, bW as FundingRecord, $ as FundingReceipt, bX as CreditInvoiceRecord, bY as InvoiceSettlement, bZ as BlockedInvoiceCursor, b_ as InvoiceReconciliation, b$ as InvoiceWriteOff, c0 as DrawRecord, c1 as StalePendingDrawCursor, c2 as TempoCreditLossEvidence, c3 as CreditLedgerQuerier, c4 as TempoCreditLoss, c5 as X402CreditLossEvidence, c6 as X402CreditLoss, c7 as DrainMethod, c8 as DrainRequestResult, c9 as BitcoinDepositLiability, bp as FundingLot, ca as CreditDrainRecord, cb as ChannelDrainCursor, cc as DrainWriteOff, cd as DrainTransitionResult, ce as DrainReleaseResult, cf as DrainFulfilment, cg as HostingCleanupFence, a0 as JobReceipt, a5 as Message, K as KVStore, G as SignedRequestReplayStore, Z as ZodLike, a as DVMDescriptor } from '../step-cache-B7svmPz3.js';
2
+ export { ch as CLIENT_COMPATIBILITY_HEADERS, d as CanonicalEnvelope, ci as ClientCompatibility, cj as ClientCompatibilityEnv, ck as ClientCompatibilityGate, cl as ClientCompatibilityRequirement, cm as ClientSemVer, f as CreateSignedRequestVerifierOpts, cn as CreditFundingBasis, co as CreditInvoiceStatus, cp as CreditLedger, cq as CreditLedgerError, cr as CreditLedgerErrorCode, cs as CreditLedgerErrorDetails, ct as CreditLedgerPool, cu as CreditStatus, cv as DRAIN_DELIVERY_RESERVE_SATS, cw as DVM_PROTOCOL_VERSION, cx as DrainConflictReason, cy as DrawRailValue, cz as DrawStatus, cA as JobCostReportPayload, cB as JobTerminalReportPayload, cC as PostgresX402ChannelStorage, cD as ReplayStoreBackend, cE as RevenueSkippedNoRailPayload, cF as RevenueSkippedNoRailReason, x as SIGNED_REQUEST_AUTH_ID, y as SIGNED_REQUEST_STATEMENT_VERSION, cG as Secp256k1AuthOpts, z as SignedRequestAudience, E as SignedRequestError, F as SignedRequestFailure, H as SignedRequestSignOpts, M as SignedRequestStatementHeader, N as SignedRequestVerifier, cH as X402ChannelStorageOpts, cI as X402RelayLockHolder, cJ as X402RelaySubmissionLock, cK as X402RelaySubmissionLockError, cL as allocateDrawValue, cM as clientCompatibilityAttributes, cN as clientCompatibilityMiddleware, cO as clientUpgradeRequired, O as createSignedRequestVerifier, cP as parseClientCapabilities, cQ as parseClientCompatibility, cR as parseDvmClient, cS as parseProtocolVersion, cT as requireClientCompatibility, cU as retryHostedTempoCloseReport, cV as secp256k1Auth, cW as signedRequestInput, V as signedRequestStatementHeader, cX as writeOffHostedTempoCloseReport } from '../step-cache-B7svmPz3.js';
3
3
  import { Pool } from 'pg';
4
- import { au as CreditMenu, a as AppEnv, U as UpfrontPaymentOpts, i as PaymentInfo, av as ReceiptIssuer, aw as LightningReceive, ax as TempoSettlementReadiness, ay as DVMHostOpts, az as DVMServeResult, L as LockPubkeyStateLoader, C as ConsumedCredentialStore } from '../credit-menu-BH3g9GQa.js';
5
- export { aA as BuildCreditMenuArgs, aB as BuilderIdentity, aC as CREDIT_ENVELOPE_KEYS, aD as CreateX402BatchSettlementServerOpts, aE as CreditEnvelope, aF as CreditEnvelopeError, aG as CreditFundCommitment, aH as CreditTerms, aI as DEFAULT_INVOICE_TTL_SECONDS, aJ as DVMHost, aK as HostingClosureCommand, aL as HostingClosureEvidence, aM as HostingControlCommand, aN as HostingControlConfig, aO as HostingControlStatus, aP as JobManager, aQ as JobManagerOpts, aR as LightningReceiveConfig, aS as MIN_INVOICE_TTL_SECONDS, aT as MemoryConsumedCredentialStore, aU as MemoryConsumedCredentialStoreOpts, aV as MemoryProcessedPaymentStore, aW as MemoryX402ExactSettlementStore, aX as MountOpts, aY as OwnerDisplay, aZ as PaidJobCompletion, a_ as PaymentMode, a$ as PlatformReporterOpts, b0 as PostgresProcessedPaymentStore, b1 as PostgresX402ExactSettlementStore, b2 as PriceFiat, b3 as ProcessedPaymentQuerier, b4 as ProcessedPaymentRail, b5 as ProcessedPaymentRecord, b6 as ProcessedPaymentReplayError, b7 as ProcessedPaymentStore, b8 as X402BatchAcceptance, b9 as X402BatchFunding, ba as X402BatchRefusal, bb as X402BatchSettlementServer, bc as X402ExactAcceptance, bd as X402ExactIntentConflictError, be as X402ExactSettlementAttempt, bf as X402ExactSettlementChainEvidence, bg as X402ExactSettlementEffect, bh as X402ExactSettlementEvidenceMissingError, bi as X402ExactSettlementEvidenceReader, bj as X402ExactSettlementIntent, bk as X402ExactSettlementNotReadyError, bl as X402ExactSettlementServer, bm as X402ExactSettlementServerOpts, bn as X402ExactSettlementStatus, bo as X402ExactSettlementStore, bp as X402SettlementChainEvidence, bq as X402SettlementEvidenceReader, br as X402SettlementSubmissionError, bs as X402_BATCH_AUTO_SETTLEMENT, bt as X402_BATCH_MIN_WITHDRAW_DELAY_SECONDS, bu as X402_BATCH_SETTLEMENT_NETWORK, bv as attachCreditMenu, bw as buildCreditMenu, bx as createDVMHost, by as createX402BatchSettlementServer, bz as creditEnvelopeIgnoreFields, bA as drawSettlementRef, bB as extractCreditEnvelope, bC as fundingCommitment, bD as selectPrimaryCredit, bE as signHostingClosure, bF as signHostingControl, bG as stripCreditEnvelope, bH as toCreditView } from '../credit-menu-BH3g9GQa.js';
4
+ import { au as CreditMenu, a as AppEnv, U as UpfrontPaymentOpts, i as PaymentInfo, av as ReceiptIssuer, aw as LightningReceive, ax as TempoSettlementReadiness, ay as DVMHostOpts, az as DVMServeResult, L as LockPubkeyStateLoader, C as ConsumedCredentialStore } from '../credit-menu-QntEhZJS.js';
5
+ export { aA as BuildCreditMenuArgs, aB as BuilderIdentity, aC as CREDIT_ENVELOPE_KEYS, aD as CreateX402BatchSettlementServerOpts, aE as CreditEnvelope, aF as CreditEnvelopeError, aG as CreditFundCommitment, aH as CreditTerms, aI as DEFAULT_INVOICE_TTL_SECONDS, aJ as DVMHost, aK as HostingClosureCommand, aL as HostingClosureEvidence, aM as HostingControlCommand, aN as HostingControlConfig, aO as HostingControlStatus, aP as JobManager, aQ as JobManagerOpts, aR as LightningReceiveConfig, aS as MIN_INVOICE_TTL_SECONDS, aT as MemoryConsumedCredentialStore, aU as MemoryConsumedCredentialStoreOpts, aV as MemoryProcessedPaymentStore, aW as MemoryX402ExactSettlementStore, aX as MountOpts, aY as OwnerDisplay, aZ as PaidJobCompletion, a_ as PaymentMode, a$ as PlatformReporterOpts, b0 as PostgresProcessedPaymentStore, b1 as PostgresX402ExactSettlementStore, b2 as PriceFiat, b3 as ProcessedPaymentQuerier, b4 as ProcessedPaymentRail, b5 as ProcessedPaymentRecord, b6 as ProcessedPaymentReplayError, b7 as ProcessedPaymentStore, b8 as X402BatchAcceptance, b9 as X402BatchFunding, ba as X402BatchRefusal, bb as X402BatchSettlementServer, bc as X402ExactAcceptance, bd as X402ExactIntentConflictError, be as X402ExactSettlementAttempt, bf as X402ExactSettlementChainEvidence, bg as X402ExactSettlementEffect, bh as X402ExactSettlementEvidenceMissingError, bi as X402ExactSettlementEvidenceReader, bj as X402ExactSettlementIntent, bk as X402ExactSettlementNotReadyError, bl as X402ExactSettlementServer, bm as X402ExactSettlementServerOpts, bn as X402ExactSettlementStatus, bo as X402ExactSettlementStore, bp as X402SettlementChainEvidence, bq as X402SettlementEvidenceReader, br as X402SettlementSubmissionError, bs as X402_BATCH_AUTO_SETTLEMENT, bt as X402_BATCH_MIN_WITHDRAW_DELAY_SECONDS, bu as X402_BATCH_SETTLEMENT_NETWORK, bv as attachCreditMenu, bw as buildCreditMenu, bx as createDVMHost, by as createX402BatchSettlementServer, bz as creditEnvelopeIgnoreFields, bA as drawSettlementRef, bB as extractCreditEnvelope, bC as fundingCommitment, bD as selectPrimaryCredit, bE as signHostingClosure, bF as signHostingControl, bG as stripCreditEnvelope, bH as toCreditView } from '../credit-menu-QntEhZJS.js';
6
6
  import { Context, Hono } from 'hono';
7
7
  import { z } from 'zod';
8
- import { F as FxFetcher } from '../fx-DN26_J7o.js';
9
- import { c as StreamableJobStore, R as ReceiptIssuingStore, J as JobRecord, d as RequestIdClaim, e as RequestIdClaimResult, f as JobRetentionCursor, O as OutgoingMessage, A as AppendOutgoingOptions, P as PaymentCreditDelta, V as VerifyAndCreditResult, g as JobCounters, b as JobStore } from '../job-store-Cq21JT37.js';
10
- export { a as JobStatus, h as isStreamableJobStore } from '../job-store-Cq21JT37.js';
11
- import { C as ContentHoldHistory, a as ContentHoldMutation } from '../content-retention-B7ddtJ2y.js';
12
- export { b as ContentHold, c as ContentHoldError, d as ContentHoldEvent, e as ContentHoldStore, f as ContentHoldsResponse, J as JobContentMetadata, g as baselineContentExpiry, h as contentMetadata, i as isContentHoldStore } from '../content-retention-B7ddtJ2y.js';
8
+ import { F as FxFetcher } from '../fx-CMyNFenZ.js';
9
+ import { c as StreamableJobStore, R as ReceiptIssuingStore, J as JobRecord, d as RequestIdClaim, e as RequestIdClaimResult, f as JobRetentionCursor, O as OutgoingMessage, A as AppendOutgoingOptions, P as PaymentCreditDelta, V as VerifyAndCreditResult, g as JobCounters, b as JobStore } from '../job-store-qOD-FrQF.js';
10
+ export { a as JobStatus, h as isStreamableJobStore } from '../job-store-qOD-FrQF.js';
11
+ import { C as ContentHoldHistory, a as ContentHoldMutation } from '../content-retention-CVBYehRS.js';
12
+ export { b as ContentHold, c as ContentHoldError, d as ContentHoldEvent, e as ContentHoldStore, f as ContentHoldsResponse, J as JobContentMetadata, g as baselineContentExpiry, h as contentMetadata, i as isContentHoldStore } from '../content-retention-CVBYehRS.js';
13
13
  export { P as PinnedFetch, S as SSRFError, a as SSRFGuardOpts, b as SSRFReason, c as SSRFResolver, d as assertSafeUrl, e as createPinnedFetch } from '../ssrf-dMooihtY.js';
14
14
  import { Env, BlankSchema } from 'hono/types';
15
15
  import 'mppx';
@@ -17,7 +17,7 @@ import '@x402/core/server';
17
17
  import '@x402/evm/batch-settlement/server';
18
18
  import '@x402/core/types';
19
19
  import 'viem';
20
- import '../lightning-backend-S8F8nf8q.js';
20
+ import '../lightning-backend-DtdG6UT5.js';
21
21
  import '@cashu/cashu-ts';
22
22
 
23
23
  /** Lifetime of a per-call implicit credit before the ledger refuses new draws. */
@@ -300,6 +300,10 @@ declare class MemoryCreditLedger implements CreditLedgerLike {
300
300
  creditId: string;
301
301
  drainId: string;
302
302
  }): Promise<void>;
303
+ requireTempoDrainExit(args: {
304
+ creditId: string;
305
+ drainId: string;
306
+ }): Promise<DrainTransitionResult>;
303
307
  releaseDrain(args: {
304
308
  creditId: string;
305
309
  drainId: string;