@dvmkit/sdk 0.16.2 → 0.17.1

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-XSF5YTEY.js → chunk-2PN4DKZW.js} +1 -1
  2. package/dist/{chunk-F2LNWZCV.js → chunk-3KRFFLAT.js} +1 -1
  3. package/dist/{chunk-V73WRF46.js → chunk-5CCQEAQV.js} +1 -1
  4. package/dist/{chunk-4IFZHJQK.js → chunk-5RLNRLLB.js} +1 -1
  5. package/dist/{chunk-7QGS27UT.js → chunk-72A4PHLD.js} +1 -1
  6. package/dist/{chunk-XBQTFOIT.js → chunk-7RWE6ELV.js} +1 -1
  7. package/dist/{chunk-N4SBDUVD.js → chunk-A6EY4K46.js} +1 -1
  8. package/dist/{chunk-5U2RG3ZW.js → chunk-ALTE7I6C.js} +5 -0
  9. package/dist/{chunk-K4ZQE7IB.js → chunk-B5MPLDRC.js} +2 -2
  10. package/dist/{chunk-PP5WHB6T.js → chunk-C5XNZLZ7.js} +1 -1
  11. package/dist/{chunk-2UZOJRRS.js → chunk-CVN2YNMG.js} +1 -1
  12. package/dist/{chunk-MD34LE6M.js → chunk-CXRI4N4Y.js} +1 -1
  13. package/dist/{chunk-ELNWQS24.js → chunk-EIDRCGTY.js} +1 -1
  14. package/dist/{chunk-ICHC4VDZ.js → chunk-KRX7VNBG.js} +1 -1
  15. package/dist/{chunk-TN6MWTZI.js → chunk-LY2JYSJS.js} +1 -1
  16. package/dist/{chunk-7N5VDCG3.js → chunk-MWDUGMN2.js} +2 -2
  17. package/dist/{chunk-FRGKANTZ.js → chunk-ORBWKYDE.js} +1 -1
  18. package/dist/{chunk-VQHBJXBL.js → chunk-QTKGFG3I.js} +1 -1
  19. package/dist/{chunk-PBT3H2LZ.js → chunk-RX6FT7XA.js} +1 -1
  20. package/dist/{chunk-OYBSDJR6.js → chunk-VKFR5PCW.js} +2 -2
  21. package/dist/{chunk-V4CBI5HB.js → chunk-Y6JJDOGO.js} +1 -1
  22. package/dist/{chunk-KERFCBT7.js → chunk-YRQMDRI4.js} +502 -129
  23. package/dist/{content-retention-BASsjgKw.d.ts → content-retention-B_hOQS36.d.ts} +1 -1
  24. package/dist/{credit-ledger-VWZ5NP7V.js → credit-ledger-5HMJ6VUX.js} +3 -3
  25. package/dist/{credit-menu-BfXaeHgR.d.ts → credit-menu-D-h0zJCZ.d.ts} +42 -10
  26. package/dist/{fx-BmvWGISH.d.ts → fx-CpqQaIfg.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 +14 -8
  30. package/dist/internal/caller.js +7 -7
  31. package/dist/internal/server.d.ts +7 -7
  32. package/dist/internal/server.js +20 -20
  33. package/dist/{job-store-CA7u1nHV.d.ts → job-store-CgXT79tS.d.ts} +1 -1
  34. package/dist/{lightning-backend-BOcopzXk.d.ts → lightning-backend-B1hRUIOb.d.ts} +1 -1
  35. package/dist/{memory-credit-ledger-DZWRQGSF.js → memory-credit-ledger-ME6FH462.js} +4 -4
  36. package/dist/{mpp-setup-3NJY354I.js → mpp-setup-BLIYBORK.js} +3 -3
  37. package/dist/{payout-reporter-P3652TLG.js → payout-reporter-5QAHCYIO.js} +2 -2
  38. package/dist/{postgres-consumed-credential-store-S2CBQ4NO.js → postgres-consumed-credential-store-4PCJEZBD.js} +1 -1
  39. package/dist/{postgres-job-store-JRSG54VJ.js → postgres-job-store-E5GXLRB4.js} +2 -2
  40. package/dist/{postgres-replay-store-ZPILIJIW.js → postgres-replay-store-GH5AINQR.js} +2 -2
  41. package/dist/{pricing-3P7KAONY.js → pricing-JJYLTTWK.js} +3 -3
  42. package/dist/{revenue-reporter-2P3PWJJM.js → revenue-reporter-6XARUEG6.js} +2 -2
  43. package/dist/server/index.d.ts +10 -10
  44. package/dist/server/index.js +32 -31
  45. package/dist/{step-cache-BCRHimiY.d.ts → step-cache-Bezn-_ZL.d.ts} +41 -3
  46. package/dist/{tempo-charge-store-2LK6IDLS.js → tempo-charge-store-A3CDF7D5.js} +2 -2
  47. package/dist/{tempo-session-store-5MHCH3YW.js → tempo-session-store-EWBE5HJM.js} +3 -3
  48. package/dist/testing/index.d.ts +3 -3
  49. package/dist/testing/index.js +6 -6
  50. package/dist/{usd-B8_WMfHT.d.ts → usd-CJwU3-A4.d.ts} +1 -1
  51. package/dist/{x402-6T73AZQ6.js → x402-HVCUEWWU.js} +3 -3
  52. package/package.json +1 -1
@@ -1,15 +1,15 @@
1
- import { ag as CashuMode, bR as CreditLedgerQuerier, bS as CreditDrainEnqueue, bT as HostedSettlementReportObligations, R as ResolvedCreditConfig, bU as DVMAuthScheme, B as SignedRequestDomain, bV as CreditLedgerLike, bW as X402RefundSettlementGate, bX as CreditSnapshot, bY as CreditDrawRefundArgs, bZ as CreditDrawRefundResult, b_ as DrawResult, b$ as X402SettlementStatus, c0 as X402UnresolvedRefund, c1 as GrownDrawResult, c2 as DrawResolution, c3 as FundingRecord, c4 as CreditFundingEvidence, c5 as CreditInvoiceRecord, c6 as InvoiceSettlement, c7 as BlockedInvoiceCursor, c8 as InvoiceReconciliation, c9 as InvoiceWriteOff, ca as DrawRecord, cb as StalePendingDrawCursor, cc as TempoCreditLossEvidence, cd as TempoCreditLoss, ce as X402CreditLossEvidence, cf as X402CreditLoss, cg as DrainMethod, ch as DrainRequestResult, ci as BitcoinDepositLiability, bv as FundingLot, cj as CreditDrainRecord, ck as ChannelDrainCursor, cl as DrainWriteOff, cm as DrainTransitionResult, cn as DrainReleaseResult, co as DrainFulfilment, cp as HostingCleanupFence, aA as StepRecord, a2 as JobReceipt, a7 as Message, K as KVStore, G as SignedRequestReplayStore, Z as ZodLike, a as DVMDescriptor } from '../step-cache-BCRHimiY.js';
2
- export { cq as CLIENT_COMPATIBILITY_HEADERS, d as CanonicalEnvelope, cr as ClientCompatibility, cs as ClientCompatibilityEnv, ct as ClientCompatibilityGate, cu as ClientCompatibilityRequirement, cv as ClientSemVer, f as CreateSignedRequestVerifierOpts, cw as CreditFundingBasis, cx as CreditInvoiceStatus, cy as CreditLedger, cz as CreditLedgerError, cA as CreditLedgerErrorCode, cB as CreditLedgerErrorDetails, cC as CreditLedgerPool, cD as CreditStatus, cE as DRAIN_DELIVERY_RESERVE_SATS, cF as DVM_PROTOCOL_VERSION, cG as DrainConflictReason, cH as DrawRailValue, cI as DrawStatus, cJ as HostedTempoCloseReportWriteOff, cK as JobCostReportPayload, cL as JobTerminalReportPayload, cM as PostgresX402ChannelStorage, cN as ReplayStoreBackend, cO as RevenueSkippedNoRailPayload, cP as RevenueSkippedNoRailReason, x as SIGNED_REQUEST_AUTH_ID, y as SIGNED_REQUEST_STATEMENT_VERSION, cQ as Secp256k1AuthOpts, z as SignedRequestAudience, E as SignedRequestError, F as SignedRequestFailure, H as SignedRequestSignOpts, M as SignedRequestStatementHeader, N as SignedRequestVerifier, cR as TempoDrainDecision, cS as TempoDrainDecisionArgs, cT as TempoDrainDecisionResult, cU as TempoDrainHoldReason, O as UpfrontPayment, cV as X402ChannelStorageOpts, cW as X402RelayLockHolder, cX as X402RelaySubmissionLock, cY as X402RelaySubmissionLockError, cZ as allocateDrawValue, c_ as clientCompatibilityAttributes, c$ as clientCompatibilityMiddleware, d0 as clientUpgradeRequired, T as createSignedRequestVerifier, d1 as parseClientCapabilities, d2 as parseClientCompatibility, d3 as parseDvmClient, d4 as parseProtocolVersion, d5 as requireClientCompatibility, d6 as retryHostedTempoCloseReport, d7 as secp256k1Auth, d8 as signedRequestInput, W as signedRequestStatementHeader, d9 as writeOffHostedTempoCloseReport } from '../step-cache-BCRHimiY.js';
1
+ import { ag as CashuMode, bR as CreditLedgerQuerier, bS as CreditDrainEnqueue, bT as HostedSettlementReportObligations, R as ResolvedCreditConfig, bU as DVMAuthScheme, B as SignedRequestDomain, bV as CreditLedgerLike, bW as X402RefundSettlementGate, bX as CreditSnapshot, bY as CreditDrawRefundArgs, bZ as CreditDrawRefundResult, b_ as DrawResult, b$ as X402SettlementStatus, c0 as X402UnresolvedRefund, c1 as GrownDrawResult, c2 as DrawResolution, c3 as FundingRecord, c4 as CreditFundingEvidence, c5 as CreditInvoiceRecord, c6 as InvoiceSettlement, c7 as BlockedInvoiceCursor, c8 as InvoiceReconciliation, c9 as InvoiceWriteOff, ca as DrawRecord, cb as StalePendingDrawCursor, cc as TempoCreditLossEvidence, cd as TempoCreditLoss, ce as X402CreditLossEvidence, cf as X402CreditLoss, cg as DrainMethod, ch as DrainRequestResult, ci as BitcoinDepositLiability, bv as FundingLot, cj as CreditDrainRecord, ck as ChannelDrainCursor, cl as DrainWriteOff, cm as DrainTransitionResult, cn as DrainReleaseResult, co as DrainFulfilment, cp as HostingCleanupFence, aA as StepRecord, a2 as JobReceipt, a7 as Message, K as KVStore, G as SignedRequestReplayStore, Z as ZodLike, a as DVMDescriptor } from '../step-cache-Bezn-_ZL.js';
2
+ export { cq as CLIENT_COMPATIBILITY_HEADERS, d as CanonicalEnvelope, cr as ClientCompatibility, cs as ClientCompatibilityEnv, ct as ClientCompatibilityGate, cu as ClientCompatibilityRequirement, cv as ClientSemVer, f as CreateSignedRequestVerifierOpts, cw as CreditFundingBasis, cx as CreditInvoiceStatus, cy as CreditLedger, cz as CreditLedgerError, cA as CreditLedgerErrorCode, cB as CreditLedgerErrorDetails, cC as CreditLedgerPool, cD as CreditStatus, cE as DRAIN_DELIVERY_RESERVE_SATS, cF as DVM_PROTOCOL_VERSION, cG as DrainConflictReason, cH as DrawRailValue, cI as DrawStatus, cJ as HostedTempoCloseReportWriteOff, cK as JobCostReportPayload, cL as JobTerminalReportPayload, cM as PostgresX402ChannelStorage, cN as ReplayStoreBackend, cO as RevenueSkippedNoRailPayload, cP as RevenueSkippedNoRailReason, x as SIGNED_REQUEST_AUTH_ID, y as SIGNED_REQUEST_STATEMENT_VERSION, cQ as Secp256k1AuthOpts, z as SignedRequestAudience, E as SignedRequestError, F as SignedRequestFailure, H as SignedRequestSignOpts, M as SignedRequestStatementHeader, N as SignedRequestVerifier, cR as TempoDrainDecision, cS as TempoDrainDecisionArgs, cT as TempoDrainDecisionResult, cU as TempoDrainHoldReason, O as UpfrontPayment, cV as X402ChannelStorageOpts, cW as X402RelayLockHolder, cX as X402RelaySubmissionLock, cY as X402RelaySubmissionLockError, cZ as allocateDrawValue, c_ as clientCompatibilityAttributes, c$ as clientCompatibilityMiddleware, d0 as clientUpgradeRequired, T as createSignedRequestVerifier, d1 as parseClientCapabilities, d2 as parseClientCompatibility, d3 as parseDvmClient, d4 as parseProtocolVersion, d5 as requireClientCompatibility, d6 as retryHostedTempoCloseReport, d7 as secp256k1Auth, d8 as signedRequestInput, W as signedRequestStatementHeader, d9 as writeOffHostedTempoCloseReport } from '../step-cache-Bezn-_ZL.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-BfXaeHgR.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-BfXaeHgR.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-D-h0zJCZ.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-D-h0zJCZ.js';
6
6
  import { Context, Hono } from 'hono';
7
7
  import { z } from 'zod';
8
- import { F as FxFetcher } from '../fx-BmvWGISH.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-CA7u1nHV.js';
10
- export { a as JobStatus, h as isStreamableJobStore } from '../job-store-CA7u1nHV.js';
11
- import { C as ContentHoldHistory, a as ContentHoldMutation } from '../content-retention-BASsjgKw.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-BASsjgKw.js';
8
+ import { F as FxFetcher } from '../fx-CpqQaIfg.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-CgXT79tS.js';
10
+ export { a as JobStatus, h as isStreamableJobStore } from '../job-store-CgXT79tS.js';
11
+ import { C as ContentHoldHistory, a as ContentHoldMutation } from '../content-retention-B_hOQS36.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-B_hOQS36.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-BOcopzXk.js';
20
+ import '../lightning-backend-B1hRUIOb.js';
21
21
  import '@cashu/cashu-ts';
22
22
 
23
23
  /** Default lifetime of a per-call implicit credit: 90 days before the ledger refuses new draws. */
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  PostgresReplayStore
3
- } from "../chunk-4IFZHJQK.js";
3
+ } from "../chunk-5RLNRLLB.js";
4
4
  import {
5
5
  PostgresKVStore
6
6
  } from "../chunk-V5ZRATJH.js";
@@ -18,7 +18,7 @@ import {
18
18
  parseNwcUri,
19
19
  validateX402Env,
20
20
  withNwcPool
21
- } from "../chunk-XSF5YTEY.js";
21
+ } from "../chunk-2PN4DKZW.js";
22
22
  import {
23
23
  MemoryKVStore
24
24
  } from "../chunk-SDK6KDJN.js";
@@ -82,29 +82,29 @@ import {
82
82
  toCreditView,
83
83
  unknownRouteNotFound,
84
84
  writeOffHostedTempoCloseReport
85
- } from "../chunk-KERFCBT7.js";
85
+ } from "../chunk-YRQMDRI4.js";
86
86
  import {
87
87
  MemoryProcessedPaymentStore,
88
88
  PostgresProcessedPaymentStore,
89
89
  ProcessedPaymentReplayError
90
90
  } from "../chunk-XRLKGCAW.js";
91
- import "../chunk-ICHC4VDZ.js";
92
- import "../chunk-F2LNWZCV.js";
91
+ import "../chunk-KRX7VNBG.js";
92
+ import "../chunk-3KRFFLAT.js";
93
93
  import {
94
94
  MemoryCreditLedger
95
- } from "../chunk-PP5WHB6T.js";
95
+ } from "../chunk-C5XNZLZ7.js";
96
96
  import {
97
97
  PostgresJobStore
98
- } from "../chunk-N4SBDUVD.js";
98
+ } from "../chunk-A6EY4K46.js";
99
99
  import {
100
100
  SignedRequestError,
101
101
  createDefaultReplayStore,
102
102
  createSignedRequestVerifier,
103
103
  signedRequestInput
104
- } from "../chunk-V73WRF46.js";
104
+ } from "../chunk-5CCQEAQV.js";
105
105
  import {
106
106
  isStreamableJobStore
107
- } from "../chunk-V4CBI5HB.js";
107
+ } from "../chunk-Y6JJDOGO.js";
108
108
  import {
109
109
  ContentHoldError,
110
110
  baselineContentExpiry,
@@ -115,7 +115,7 @@ import {
115
115
  IMPLICIT_CREDIT_TTL_MS,
116
116
  generateEphemeralReceiptKey,
117
117
  receiptPubkeyFromSecret
118
- } from "../chunk-XBQTFOIT.js";
118
+ } from "../chunk-7RWE6ELV.js";
119
119
  import {
120
120
  X402_DEFAULT_FACILITATOR,
121
121
  X402_DEFAULT_NETWORK,
@@ -127,11 +127,11 @@ import {
127
127
  SIGNED_REQUEST_STATEMENT_VERSION,
128
128
  signedRequestStatementHeader
129
129
  } from "../chunk-SXL44PL5.js";
130
- import "../chunk-VQHBJXBL.js";
130
+ import "../chunk-QTKGFG3I.js";
131
131
  import "../chunk-FUJ36YDV.js";
132
132
  import "../chunk-BQJIFRAZ.js";
133
- import "../chunk-PBT3H2LZ.js";
134
- import "../chunk-7QGS27UT.js";
133
+ import "../chunk-RX6FT7XA.js";
134
+ import "../chunk-72A4PHLD.js";
135
135
  import {
136
136
  CreditLedger,
137
137
  CreditLedgerError,
@@ -139,7 +139,7 @@ import {
139
139
  PostgresX402ChannelStorage,
140
140
  X402RelaySubmissionLockError,
141
141
  allocateDrawValue
142
- } from "../chunk-K4ZQE7IB.js";
142
+ } from "../chunk-B5MPLDRC.js";
143
143
  import "../chunk-YG7G4DPZ.js";
144
144
  import {
145
145
  SDK_INIT_ADVISORY_LOCK,
@@ -148,7 +148,7 @@ import {
148
148
  import "../chunk-5UC7TOQC.js";
149
149
  import {
150
150
  applyRetryToPool
151
- } from "../chunk-ELNWQS24.js";
151
+ } from "../chunk-EIDRCGTY.js";
152
152
  import {
153
153
  assertSupportedX402Network
154
154
  } from "../chunk-BPYMEMQX.js";
@@ -159,14 +159,14 @@ import {
159
159
  TEMPO_SETTLEMENT_DEFAULT_LOW_BALANCE_MICRO,
160
160
  TempoSettlementReadiness,
161
161
  resolveTempoNetwork
162
- } from "../chunk-7N5VDCG3.js";
162
+ } from "../chunk-MWDUGMN2.js";
163
163
  import {
164
164
  initLoggers
165
- } from "../chunk-TN6MWTZI.js";
165
+ } from "../chunk-LY2JYSJS.js";
166
166
  import "../chunk-66HGCPBU.js";
167
167
  import {
168
168
  diagnosticConsole
169
- } from "../chunk-5U2RG3ZW.js";
169
+ } from "../chunk-ALTE7I6C.js";
170
170
 
171
171
  // src/sdk/server/cashu-env.ts
172
172
  async function resolveCashuOptsFromEnv(env, pool, cashuModeHint) {
@@ -310,7 +310,7 @@ function createDisposableCashuStore() {
310
310
  let current = new MemoryCreditLedger();
311
311
  let tail = Promise.resolve();
312
312
  const requests = /* @__PURE__ */ new Set();
313
- const secrets = /* @__PURE__ */ new Set();
313
+ const secrets = /* @__PURE__ */ new Map();
314
314
  function exclusive(operation) {
315
315
  const result = tail.then(operation);
316
316
  tail = result.then(() => void 0, () => void 0);
@@ -340,11 +340,11 @@ function createDisposableCashuStore() {
340
340
  await account(staged);
341
341
  current = staged;
342
342
  requests.add(requestId);
343
- for (const secret of incoming) secrets.add(secret);
343
+ for (const secret of incoming) secrets.set(secret, requestId);
344
344
  });
345
345
  },
346
- hasAccepted(incoming) {
347
- return exclusive(() => Promise.resolve(incoming.some((secret) => secrets.has(secret))));
346
+ acceptedRequestIds(incoming) {
347
+ return exclusive(() => Promise.resolve(incoming.map((secret) => secrets.get(secret))));
348
348
  }
349
349
  }
350
350
  };
@@ -1193,7 +1193,7 @@ function createDVMHost(opts = {}) {
1193
1193
  });
1194
1194
  applyRetryToPool(pool, "dvm-host");
1195
1195
  pgPool = pool;
1196
- const { PostgresJobStore: PostgresJobStore2 } = await import("../postgres-job-store-JRSG54VJ.js");
1196
+ const { PostgresJobStore: PostgresJobStore2 } = await import("../postgres-job-store-E5GXLRB4.js");
1197
1197
  const pgJobStore = new PostgresJobStore2(pool);
1198
1198
  pendingInits.push(pgJobStore.init(), pgJobStore.initStreaming());
1199
1199
  jobStore = pgJobStore;
@@ -1286,11 +1286,11 @@ ${config.facilitatorAuth?.keyId ?? ""}`;
1286
1286
  let tempoChargeBackend = "user-supplied";
1287
1287
  const mppTempoRecipient = envMaybe.DVMKIT_TEMPO_RECIPIENT;
1288
1288
  if (!mpp && mppTempoRecipient) {
1289
- const { createMppFromOpts, createDualKeyMppxFromOpts, parseMppMethodsAllowlist } = await import("../mpp-setup-3NJY354I.js");
1289
+ const { createMppFromOpts, createDualKeyMppxFromOpts, parseMppMethodsAllowlist } = await import("../mpp-setup-BLIYBORK.js");
1290
1290
  tempoChargeBackend = pgPool ? "postgres" : "memory";
1291
1291
  let tempoCharge;
1292
1292
  if (pgPool) {
1293
- const { PostgresTempoChargeStore } = await import("../tempo-charge-store-2LK6IDLS.js");
1293
+ const { PostgresTempoChargeStore } = await import("../tempo-charge-store-A3CDF7D5.js");
1294
1294
  const chargeStore = new PostgresTempoChargeStore(pgPool);
1295
1295
  tempoChargeStore = chargeStore;
1296
1296
  pendingInits.push(chargeStore.init());
@@ -1310,7 +1310,7 @@ ${config.facilitatorAuth?.keyId ?? ""}`;
1310
1310
  { createPublicClient, createWalletClient, erc20Abi, http },
1311
1311
  { tempo: tempoMainnet, tempoModerato }
1312
1312
  ] = await Promise.all([
1313
- import("../tempo-session-store-5MHCH3YW.js"),
1313
+ import("../tempo-session-store-EWBE5HJM.js"),
1314
1314
  import("viem/accounts"),
1315
1315
  import("viem"),
1316
1316
  import("viem/chains")
@@ -1463,7 +1463,7 @@ ${config.facilitatorAuth?.keyId ?? ""}`;
1463
1463
  }
1464
1464
  }
1465
1465
  const fxSource = envMaybe.DVMKIT_FX_SOURCE;
1466
- const { createFxFetcher, resolveFxSourceFromEnv, warmFxSnapshot } = await import("../pricing-3P7KAONY.js");
1466
+ const { createFxFetcher, resolveFxSourceFromEnv, warmFxSnapshot } = await import("../pricing-JJYLTTWK.js");
1467
1467
  const fxFetcher = opts.fx ?? createFxFetcher({ source: resolveFxSourceFromEnv(envMaybe) });
1468
1468
  const hostRailConfigured = (opts.paymentMethods?.length ?? 0) > 0 || (effectiveMints?.length ?? 0) > 0 || !!x402WithDualServe || !!mpp;
1469
1469
  if (mounts.some((entry) => mountNeedsFx(entry, hostRailConfigured))) warmFxSnapshot(fxFetcher);
@@ -1473,7 +1473,7 @@ ${config.facilitatorAuth?.keyId ?? ""}`;
1473
1473
  assertReceiptIdentity(envMaybe, opts.builder, receiptKey, cashuOpts.dvmId, opts.devMode);
1474
1474
  let sharedPgReplayStore;
1475
1475
  if (pgPool) {
1476
- const { PostgresReplayStore: PostgresReplayStore2 } = await import("../postgres-replay-store-ZPILIJIW.js");
1476
+ const { PostgresReplayStore: PostgresReplayStore2 } = await import("../postgres-replay-store-GH5AINQR.js");
1477
1477
  const store2 = new PostgresReplayStore2(pgPool);
1478
1478
  pendingInits.push(store2.init());
1479
1479
  sharedPgReplayStore = store2;
@@ -1501,13 +1501,13 @@ ${config.facilitatorAuth?.keyId ?? ""}`;
1501
1501
  }
1502
1502
  let sharedPgConsumedStore;
1503
1503
  if (pgPool) {
1504
- const { PostgresConsumedCredentialStore } = await import("../postgres-consumed-credential-store-S2CBQ4NO.js");
1504
+ const { PostgresConsumedCredentialStore } = await import("../postgres-consumed-credential-store-4PCJEZBD.js");
1505
1505
  const consumedStore = new PostgresConsumedCredentialStore(pgPool);
1506
1506
  pendingInits.push(consumedStore.init());
1507
1507
  sharedPgConsumedStore = consumedStore;
1508
1508
  }
1509
1509
  if (pgPool) {
1510
- const { CreditLedger: CreditLedger2 } = await import("../credit-ledger-VWZ5NP7V.js");
1510
+ const { CreditLedger: CreditLedger2 } = await import("../credit-ledger-5HMJ6VUX.js");
1511
1511
  const pgLedger = new CreditLedger2(pgPool, tempoSessionStore);
1512
1512
  pendingInits.push(pgLedger.init());
1513
1513
  creditLedger = pgLedger;
@@ -1516,7 +1516,7 @@ ${config.facilitatorAuth?.keyId ?? ""}`;
1516
1516
  pendingInits.push(pgProcessed.init());
1517
1517
  processedPayments = pgProcessed;
1518
1518
  } else {
1519
- const { MemoryCreditLedger: MemoryCreditLedger2 } = await import("../memory-credit-ledger-DZWRQGSF.js");
1519
+ const { MemoryCreditLedger: MemoryCreditLedger2 } = await import("../memory-credit-ledger-ME6FH462.js");
1520
1520
  creditLedger = disposableCashu?.ledger ?? new MemoryCreditLedger2();
1521
1521
  const { MemoryProcessedPaymentStore: MemoryProcessedPaymentStore2 } = await import("../processed-payment-store-GKMAWOM3.js");
1522
1522
  processedPayments = new MemoryProcessedPaymentStore2();
@@ -2104,6 +2104,7 @@ function secp256k1Auth(opts = {}) {
2104
2104
  }
2105
2105
  return {
2106
2106
  id: SIGNED_REQUEST_AUTH_ID,
2107
+ allowUnsignedPaid: opts.allowUnsignedPaid === true,
2107
2108
  checkAuth(schema, input, domain) {
2108
2109
  const envelope = getVerifier(schema).checkAuth(input, domain);
2109
2110
  return { pubkey: envelope.pubkey, envelope };
@@ -5421,6 +5421,12 @@ type ReplayStoreBackend = "postgres" | "memory" | "user-supplied" | "disabled";
5421
5421
  interface DVMAuthScheme {
5422
5422
  /** Wire-level identifier surfaced on `/v1/info#auth`. */
5423
5423
  readonly id: typeof SIGNED_REQUEST_AUTH_ID;
5424
+ /**
5425
+ * Also serve `POST /v1/job` bodies carrying no envelope field when the job
5426
+ * is paid per call. Such jobs run as the anonymous requester with no
5427
+ * `ctx.auth`, credit fields or recovery id; free capabilities stay signed-only.
5428
+ */
5429
+ readonly allowUnsignedPaid?: boolean;
5424
5430
  /** Schema + drift + signature check at request entry. No replay-store touch. */
5425
5431
  checkAuth<T>(schema: ZodLike<T>, input: unknown, domain?: SignedRequestDomain): {
5426
5432
  pubkey: string;
@@ -5456,6 +5462,33 @@ interface Secp256k1AuthOpts {
5456
5462
  driftSeconds?: number;
5457
5463
  /** Current Unix-seconds source. Defaults to `() => Math.floor(Date.now() / 1000)`. */
5458
5464
  now?: () => number;
5465
+ /**
5466
+ * Accept an unsigned `POST /v1/job` (no `pubkey`, `signature`, `timestamp`,
5467
+ * `nonce` or `auth_statement`) when the job requires a per-call Cashu
5468
+ * payment, and advertise `["secp256k1-schnorr-v2", "none"]` on `/v1/info#auth`. A body
5469
+ * carrying any envelope field is verified as before and never falls back.
5470
+ * Unsigned calls take Cashu only: their 402 and mid-job asks offer Cashu
5471
+ * alone, with no credit menu, and an attached x402 or Tempo payment (upfront
5472
+ * or mid-job) is refused with `payment_method_requires_signature` before any
5473
+ * settlement. A Cashu token is the payment, so a failed job keeping it is
5474
+ * ordinary Cashu behaviour; this SDK settles x402 before the job runs, so an
5475
+ * anonymous x402 payer would lose money a standard x402 server would not
5476
+ * take, and Tempo is held back until checked. A DVM without Cashu serves no
5477
+ * unsigned calls. Signed callers keep every rail.
5478
+ * Unsigned jobs run as the anonymous requester: the handler sees no
5479
+ * `ctx.auth`, the input omits the envelope fields, prepaid credit and
5480
+ * `request_id` recovery are refused, a payer whose response is lost recovers
5481
+ * the job only by retrying with the same Cashu proofs, `X-Cashu-Request-Id`
5482
+ * and body (a request id belongs to the first proofs banked under it, and a
5483
+ * signed caller's job never recovers unsigned), and money released by a failed job
5484
+ * lands on the shared anonymous requester. A dynamic-priced capability's `onQuote`
5485
+ * handler runs for these anonymous callers with no `callerPubkey`, so an
5486
+ * unauthenticated request can now trigger it, including any upstream calls
5487
+ * it makes. The capability input must be a plain
5488
+ * `z.object` schema so its envelope fields can be removed; any other schema
5489
+ * keeps that capability signed-only. Defaults to false.
5490
+ */
5491
+ allowUnsignedPaid?: boolean;
5459
5492
  }
5460
5493
  /**
5461
5494
  * One scheme covers all capabilities and shares their replay store. Per-schema
@@ -5573,7 +5606,8 @@ interface SDKJobContext<State = Record<string, unknown>, Input = string> {
5573
5606
  /**
5574
5607
  * Verified caller identity from the descriptor's `auth` scheme.
5575
5608
  * Present when the DVM declares `auth: secp256k1Auth(...)`; undefined for
5576
- * DVMs without descriptor-level auth. The envelope is the same `T &
5609
+ * DVMs without descriptor-level auth and for unsigned paid jobs admitted by
5610
+ * `secp256k1Auth({ allowUnsignedPaid: true })`. The envelope is the same `T &
5577
5611
  * CanonicalEnvelope` the auth scheme produced — handlers can read
5578
5612
  * `ctx.auth.envelope.<field>` instead of re-parsing the input.
5579
5613
  */
@@ -5733,7 +5767,10 @@ interface QuoteContext<QuoteData = Record<string, unknown>> {
5733
5767
  * the descriptor declares an auth scheme and the
5734
5768
  * envelope verified — `/v1/quote` runs `checkAuth` before the handler, so by
5735
5769
  * the time this is set the signature is good. Undefined on unauthenticated
5736
- * DVMs; quote handlers that price per-caller must handle that.
5770
+ * DVMs and for unsigned paid requests on a
5771
+ * `secp256k1Auth({ allowUnsignedPaid: true })` DVM, where any anonymous
5772
+ * caller can make the handler run while pricing `POST /v1/job`; quote
5773
+ * handlers that price per-caller or call paid upstreams must handle that.
5737
5774
  */
5738
5775
  callerPubkey?: string;
5739
5776
  /**
@@ -6164,7 +6201,8 @@ interface DVMConfig<State = Record<string, unknown>, InputSchema extends ZodLike
6164
6201
  *
6165
6202
  * When set, the active capability's `input` schema is reused for
6166
6203
  * verification; one scheme covers every capability under the DVM.
6167
- * Advertised on `/v1/info#auth` as `[scheme.id]`.
6204
+ * Advertised on `/v1/info#auth` as `[scheme.id]`, or `[scheme.id, "none"]`
6205
+ * when the scheme also admits unsigned paid jobs.
6168
6206
  */
6169
6207
  auth?: DVMAuthScheme;
6170
6208
  /** Run once when the server starts, before accepting jobs. Use for validation or initialization. */
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  PostgresTempoChargeStore
3
- } from "./chunk-MD34LE6M.js";
3
+ } from "./chunk-CXRI4N4Y.js";
4
4
  import "./chunk-YG7G4DPZ.js";
5
5
  import "./chunk-COYKJRMM.js";
6
- import "./chunk-5U2RG3ZW.js";
6
+ import "./chunk-ALTE7I6C.js";
7
7
  export {
8
8
  PostgresTempoChargeStore
9
9
  };
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  PostgresTempoSessionStore,
3
3
  assertMonotonicTransition
4
- } from "./chunk-FRGKANTZ.js";
4
+ } from "./chunk-ORBWKYDE.js";
5
5
  import "./chunk-YG7G4DPZ.js";
6
6
  import "./chunk-COYKJRMM.js";
7
- import "./chunk-ELNWQS24.js";
8
- import "./chunk-5U2RG3ZW.js";
7
+ import "./chunk-EIDRCGTY.js";
8
+ import "./chunk-ALTE7I6C.js";
9
9
  export {
10
10
  PostgresTempoSessionStore,
11
11
  assertMonotonicTransition
@@ -1,6 +1,6 @@
1
- import { C as ContentHoldHistory, a as ContentHoldMutation } from '../content-retention-BASsjgKw.js';
2
- import { a2 as JobReceipt, a7 as Message, a3 as MessageType, K as KVStore, L as Logger, v as ResponseContent, P as PaymentContent, S as SDKJobContext } from '../step-cache-BCRHimiY.js';
3
- 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 } from '../job-store-CA7u1nHV.js';
1
+ import { C as ContentHoldHistory, a as ContentHoldMutation } from '../content-retention-B_hOQS36.js';
2
+ import { a2 as JobReceipt, a7 as Message, a3 as MessageType, K as KVStore, L as Logger, v as ResponseContent, P as PaymentContent, S as SDKJobContext } from '../step-cache-Bezn-_ZL.js';
3
+ 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 } from '../job-store-CgXT79tS.js';
4
4
  import 'hono';
5
5
  import 'mppx';
6
6
  import '@x402/core/server';
@@ -4,22 +4,22 @@ import {
4
4
  import {
5
5
  MemoryJobStore,
6
6
  createInstrumentedFetch
7
- } from "../chunk-V4CBI5HB.js";
7
+ } from "../chunk-Y6JJDOGO.js";
8
8
  import {
9
9
  JobCancelledError
10
10
  } from "../chunk-KVKJ7R5V.js";
11
11
  import {
12
12
  createNoopLogger
13
- } from "../chunk-VQHBJXBL.js";
13
+ } from "../chunk-QTKGFG3I.js";
14
14
  import "../chunk-FUJ36YDV.js";
15
15
  import "../chunk-BQJIFRAZ.js";
16
- import "../chunk-PBT3H2LZ.js";
16
+ import "../chunk-RX6FT7XA.js";
17
17
  import {
18
18
  validateCurrency
19
- } from "../chunk-7QGS27UT.js";
20
- import "../chunk-TN6MWTZI.js";
19
+ } from "../chunk-72A4PHLD.js";
20
+ import "../chunk-LY2JYSJS.js";
21
21
  import "../chunk-66HGCPBU.js";
22
- import "../chunk-5U2RG3ZW.js";
22
+ import "../chunk-ALTE7I6C.js";
23
23
 
24
24
  // src/sdk/testing/test-context.ts
25
25
  function createTestContext(opts) {
@@ -1,4 +1,4 @@
1
- import { C as Currency } from './step-cache-BCRHimiY.js';
1
+ import { C as Currency } from './step-cache-Bezn-_ZL.js';
2
2
 
3
3
  /**
4
4
  * Thrown by `fiatToSatsCeil` / `satsToFiat` when the supplied `ratePerBtc` is
@@ -6,8 +6,8 @@ import {
6
6
  } from "./chunk-WMGXJQI3.js";
7
7
  import {
8
8
  verifyX402Payment
9
- } from "./chunk-OYBSDJR6.js";
10
- import "./chunk-F2LNWZCV.js";
9
+ } from "./chunk-VKFR5PCW.js";
10
+ import "./chunk-3KRFFLAT.js";
11
11
  import {
12
12
  X402_DEFAULT_FACILITATOR,
13
13
  X402_DEFAULT_NETWORK,
@@ -37,7 +37,7 @@ import {
37
37
  x402SupportedNetworksHint
38
38
  } from "./chunk-BPYMEMQX.js";
39
39
  import "./chunk-66HGCPBU.js";
40
- import "./chunk-5U2RG3ZW.js";
40
+ import "./chunk-ALTE7I6C.js";
41
41
  export {
42
42
  X402_DEFAULT_FACILITATOR,
43
43
  X402_DEFAULT_NETWORK,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dvmkit/sdk",
3
- "version": "0.16.2",
3
+ "version": "0.17.1",
4
4
  "description": "SDK for building Digital Vending Machines: pay-per-use HTTPS services AI agents can find, pay, and call with no account or API key",
5
5
  "author": "DVM Technologies Ltd",
6
6
  "keywords": [