@resvary/sdk 0.6.1 → 0.8.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
@@ -10,7 +10,9 @@ import { createMeterDefinition, createPriceVersion, rateUsage } from '@resvary/s
10
10
  import { ArcCreditFunding } from '@resvary/sdk/funding/arc';
11
11
  ```
12
12
 
13
- The SDK provides USD credit accounts, manual grants, reserve/commit/release, immutable usage receipts, idempotency, a transactional outbox, and signed credit webhooks. It has no database or AI provider dependency.
13
+ The SDK provides USD credit accounts, linear, graduated, and package pricing, manual grants, recurring allowance policies, expiring promotions, deterministic credit lots, reserve/commit/release, immutable usage receipts, idempotency, a transactional outbox, and signed credit webhooks. It has no database or AI provider dependency. Policy commands require the optional `CreditPolicyStore` capability; existing custom `CreditStore` implementations retain their previous flows.
14
+
15
+ Advanced price versions use `components`: graduated tiers charge each cumulative range independently, while package pricing charges every started block. Existing `rates` and linear receipt line items remain unchanged. See `docs/usage-rating.md` in the repository.
14
16
 
15
17
  Legacy stablecoin payment imports remain under `/receipts`, `/middleware`, `/client`, and `/gateway`. Legacy paywall middleware requires a trusted `verifyPayment` callback and fails closed without one. `BuyerClient` also fails closed on `402` unless the caller configures per-request and total spend limits plus a recipient allowlist. `UsageMeter` and `createBillingPlan` are deprecated for new balance systems.
16
18
 
@@ -17,4 +17,7 @@ export declare class CreditNotFoundError extends CreditError {
17
17
  export declare class InvalidCreditStateError extends CreditError {
18
18
  constructor(message: string);
19
19
  }
20
+ export declare class UnsupportedCreditStoreCapabilityError extends CreditError {
21
+ constructor(capability?: string);
22
+ }
20
23
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/credits/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,WAAY,SAAQ,KAAK;IAGlC,QAAQ,CAAC,IAAI,EAAE,MAAM;gBADrB,OAAO,EAAE,MAAM,EACN,IAAI,EAAE,MAAM;CAKxB;AAED,qBAAa,wBAAyB,SAAQ,WAAW;IAErD,QAAQ,CAAC,cAAc,EAAE,MAAM;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM;gBADrB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM;CAOjC;AAED,qBAAa,wBAAyB,SAAQ,WAAW;IAC3C,QAAQ,CAAC,cAAc,EAAE,MAAM;gBAAtB,cAAc,EAAE,MAAM;CAM5C;AAED,qBAAa,mBAAoB,SAAQ,WAAW;gBACtC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;CAGvC;AAED,qBAAa,uBAAwB,SAAQ,WAAW;gBAC1C,OAAO,EAAE,MAAM;CAG5B"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/credits/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,WAAY,SAAQ,KAAK;IAGlC,QAAQ,CAAC,IAAI,EAAE,MAAM;gBADrB,OAAO,EAAE,MAAM,EACN,IAAI,EAAE,MAAM;CAKxB;AAED,qBAAa,wBAAyB,SAAQ,WAAW;IAErD,QAAQ,CAAC,cAAc,EAAE,MAAM;IAC/B,QAAQ,CAAC,aAAa,EAAE,MAAM;gBADrB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM;CAOjC;AAED,qBAAa,wBAAyB,SAAQ,WAAW;IAC3C,QAAQ,CAAC,cAAc,EAAE,MAAM;gBAAtB,cAAc,EAAE,MAAM;CAM5C;AAED,qBAAa,mBAAoB,SAAQ,WAAW;gBACtC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;CAGvC;AAED,qBAAa,uBAAwB,SAAQ,WAAW;gBAC1C,OAAO,EAAE,MAAM;CAG5B;AAED,qBAAa,qCAAsC,SAAQ,WAAW;gBACxD,UAAU,SAAoB;CAG3C"}
@@ -32,4 +32,9 @@ export class InvalidCreditStateError extends CreditError {
32
32
  super(message, 'invalid_state');
33
33
  }
34
34
  }
35
+ export class UnsupportedCreditStoreCapabilityError extends CreditError {
36
+ constructor(capability = 'credit policies') {
37
+ super(`Credit store does not support ${capability}`, 'unsupported_store_capability');
38
+ }
39
+ }
35
40
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/credits/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,WAAY,SAAQ,KAAK;IAGzB;IAFX,YACE,OAAe,EACN,IAAY;QAErB,KAAK,CAAC,OAAO,CAAC,CAAC;QAFN,SAAI,GAAJ,IAAI,CAAQ;QAGrB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,wBAAyB,SAAQ,WAAW;IAE5C;IACA;IAFX,YACW,cAAsB,EACtB,aAAqB;QAE9B,KAAK,CACH,mCAAmC,cAAc,cAAc,aAAa,EAAE,EAC9E,sBAAsB,CACvB,CAAC;QANO,mBAAc,GAAd,cAAc,CAAQ;QACtB,kBAAa,GAAb,aAAa,CAAQ;IAMhC,CAAC;CACF;AAED,MAAM,OAAO,wBAAyB,SAAQ,WAAW;IAClC;IAArB,YAAqB,cAAsB;QACzC,KAAK,CACH,8DAA8D,cAAc,EAAE,EAC9E,sBAAsB,CACvB,CAAC;QAJiB,mBAAc,GAAd,cAAc,CAAQ;IAK3C,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,WAAW;IAClD,YAAY,MAAc,EAAE,EAAU;QACpC,KAAK,CAAC,GAAG,MAAM,eAAe,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC;IACnD,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,WAAW;IACtD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAClC,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/credits/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,WAAY,SAAQ,KAAK;IAGzB;IAFX,YACE,OAAe,EACN,IAAY;QAErB,KAAK,CAAC,OAAO,CAAC,CAAC;QAFN,SAAI,GAAJ,IAAI,CAAQ;QAGrB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;IAC9B,CAAC;CACF;AAED,MAAM,OAAO,wBAAyB,SAAQ,WAAW;IAE5C;IACA;IAFX,YACW,cAAsB,EACtB,aAAqB;QAE9B,KAAK,CACH,mCAAmC,cAAc,cAAc,aAAa,EAAE,EAC9E,sBAAsB,CACvB,CAAC;QANO,mBAAc,GAAd,cAAc,CAAQ;QACtB,kBAAa,GAAb,aAAa,CAAQ;IAMhC,CAAC;CACF;AAED,MAAM,OAAO,wBAAyB,SAAQ,WAAW;IAClC;IAArB,YAAqB,cAAsB;QACzC,KAAK,CACH,8DAA8D,cAAc,EAAE,EAC9E,sBAAsB,CACvB,CAAC;QAJiB,mBAAc,GAAd,cAAc,CAAQ;IAK3C,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,WAAW;IAClD,YAAY,MAAc,EAAE,EAAU;QACpC,KAAK,CAAC,GAAG,MAAM,eAAe,EAAE,EAAE,EAAE,WAAW,CAAC,CAAC;IACnD,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,WAAW;IACtD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAClC,CAAC;CACF;AAED,MAAM,OAAO,qCAAsC,SAAQ,WAAW;IACpE,YAAY,UAAU,GAAG,iBAAiB;QACxC,KAAK,CAAC,iCAAiC,UAAU,EAAE,EAAE,8BAA8B,CAAC,CAAC;IACvF,CAAC;CACF"}
@@ -1,7 +1,7 @@
1
1
  export { CREDIT_DECIMALS, CREDIT_SCALE, creditUnitsToString, divideCeil, parseCreditUnits, toCreditUnits, } from './amount.js';
2
- export { CreditError, CreditNotFoundError, IdempotencyConflictError, InsufficientCreditsError, InvalidCreditStateError, } from './errors.js';
3
- export { CreditLedger, type AdjustCreditsInput, type CommitUsageInput, type ConfirmFundingInput, type CreateFundingIntentInput, type CreatePriceVersionInput, type CreditLedgerConfig, type EnsureAccountInput, type FailFundingIntentInput, type GrantCreditsInput, type RegisterMeterInput, type ReleaseReservationInput, type ReserveCreditsInput, type RunMeteredCallbackResult, type RunMeteredInput, type RunMeteredResult, type UpdateFundingSettlementInput, } from './ledger.js';
4
- export { InMemoryCreditStore, type CreditReservationFilter, type CreditStore, type CreditStoreReader, type CreditStoreTransaction, type ClaimOutboxEventsInput, type FailOutboxEventInput, type OutboxDeliveryStore, } from './store.js';
2
+ export { CreditError, CreditNotFoundError, IdempotencyConflictError, InsufficientCreditsError, InvalidCreditStateError, UnsupportedCreditStoreCapabilityError, } from './errors.js';
3
+ export { CreditLedger, type AdjustCreditsInput, type ApplyAllowanceInput, type ClaimPromotionInput, type CommitUsageInput, type ConfirmFundingInput, type CreateAdvancedPriceVersionInput, type CreateFundingIntentInput, type CreateAllowanceGrantPolicyInput, type CreateGrantPolicyInput, type CreatePromotionGrantPolicyInput, type CreatePriceVersionInput, type CreditLedgerConfig, type EnsureAccountInput, type FailFundingIntentInput, type GrantCreditsInput, type GrantPolicyResult, type RegisterMeterInput, type ReleaseReservationInput, type ReserveCreditsInput, type RunMeteredCallbackResult, type RunMeteredInput, type RunMeteredResult, type SweepExpiredCreditLotsInput, type SweepExpiredCreditLotsResult, type UpdateFundingSettlementInput, } from './ledger.js';
4
+ export { InMemoryCreditStore, isCreditPolicyStore, type CreditPolicyStore, type CreditPolicyStoreReader, type CreditPolicyStoreTransaction, type CreditReservationFilter, type CreditStore, type CreditStoreReader, type CreditStoreTransaction, type ClaimOutboxEventsInput, type FailOutboxEventInput, type OutboxDeliveryStore, } from './store.js';
5
5
  export { createCreditWebhookEvent, signCreditOutboxEvent } from './webhooks.js';
6
- export type { CreditAccount, CreditAccountKey, CreditBalanceFilter, CreditCurrency, CreditEventType, CreditGrant, CreditGrantSource, CreditOutboxEvent, CreditReservation, IdempotencyRecord, FundingEvidence, FundingIntent, FundingIntentStatus, FundingRail, FundingSettlementStatus, FundingTransaction, LedgerBucket, LedgerEntry, LedgerEntryType, MeterDefinition, OutboxEventFilter, OutboxEventStatus, PriceRate, PriceRateInput, PriceVersion, RatedLineItem, RatedUsage, ReservationStatus, UsageEvent, UsageQuantities, UsageReceipt, } from './types.js';
6
+ export type { CreditAccount, CreditAccountKey, CreditBalanceFilter, CreditCurrency, CreditEventType, CreditGrant, CreditGrantPolicy, CreditGrantPolicyType, CreditGrantSource, CreditLot, CreditLotAllocation, CreditLotFilter, CreditLotKind, CreditOutboxEvent, CreditReservation, IdempotencyRecord, FundingEvidence, FundingIntent, FundingIntentStatus, FundingRail, FundingSettlementStatus, FundingTransaction, GraduatedPriceComponent, GraduatedPriceComponentInput, GraduatedPriceTier, GraduatedPriceTierInput, GrantPolicyApplication, GrantPolicyApplicationFilter, LedgerBucket, LedgerEntry, LedgerEntryType, MeterDefinition, OutboxEventFilter, OutboxEventStatus, PackagePriceComponent, PackagePriceComponentInput, PriceComponent, PriceComponentInput, PriceRate, PriceRateInput, PriceVersion, RatedLineItem, RatedUsage, ReservationStatus, UsageEvent, UsageQuantities, UsageReceipt, AllowanceCadence, AllowanceGrantPolicy, PromotionGrantPolicy, } from './types.js';
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/credits/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,UAAU,EACV,gBAAgB,EAChB,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,YAAY,EACZ,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,4BAA4B,GAClC,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,EACnB,KAAK,uBAAuB,EAC5B,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAChF,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,uBAAuB,EACvB,kBAAkB,EAClB,YAAY,EACZ,WAAW,EACX,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,EACT,cAAc,EACd,YAAY,EACZ,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,YAAY,GACb,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/credits/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,UAAU,EACV,gBAAgB,EAChB,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,qCAAqC,GACtC,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,YAAY,EACZ,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,+BAA+B,EACpC,KAAK,wBAAwB,EAC7B,KAAK,+BAA+B,EACpC,KAAK,sBAAsB,EAC3B,KAAK,+BAA+B,EACpC,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,GAClC,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,KAAK,iBAAiB,EACtB,KAAK,uBAAuB,EAC5B,KAAK,4BAA4B,EACjC,KAAK,uBAAuB,EAC5B,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,GACzB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAChF,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,SAAS,EACT,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,EACvB,4BAA4B,EAC5B,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,EACtB,4BAA4B,EAC5B,YAAY,EACZ,WAAW,EACX,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,0BAA0B,EAC1B,cAAc,EACd,mBAAmB,EACnB,SAAS,EACT,cAAc,EACd,YAAY,EACZ,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
@@ -1,6 +1,6 @@
1
1
  export { CREDIT_DECIMALS, CREDIT_SCALE, creditUnitsToString, divideCeil, parseCreditUnits, toCreditUnits, } from './amount.js';
2
- export { CreditError, CreditNotFoundError, IdempotencyConflictError, InsufficientCreditsError, InvalidCreditStateError, } from './errors.js';
2
+ export { CreditError, CreditNotFoundError, IdempotencyConflictError, InsufficientCreditsError, InvalidCreditStateError, UnsupportedCreditStoreCapabilityError, } from './errors.js';
3
3
  export { CreditLedger, } from './ledger.js';
4
- export { InMemoryCreditStore, } from './store.js';
4
+ export { InMemoryCreditStore, isCreditPolicyStore, } from './store.js';
5
5
  export { createCreditWebhookEvent, signCreditOutboxEvent } from './webhooks.js';
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/credits/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,UAAU,EACV,gBAAgB,EAChB,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,YAAY,GAiBb,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,GAQpB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/credits/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,UAAU,EACV,gBAAgB,EAChB,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,EACvB,qCAAqC,GACtC,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,YAAY,GA0Bb,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,mBAAmB,EACnB,mBAAmB,GAWpB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { type CreditStore } from './store.js';
2
- import type { CreditAccount, CreditGrant, CreditGrantSource, FundingEvidence, FundingIntent, FundingRail, FundingSettlementStatus, FundingTransaction, CreditOutboxEvent, CreditReservation, LedgerEntry, MeterDefinition, OutboxEventFilter, PriceRateInput, PriceVersion, UsageQuantities, UsageReceipt } from './types.js';
2
+ import type { AllowanceCadence, CreditAccount, CreditGrant, CreditGrantPolicy, CreditGrantSource, CreditLot, CreditLotAllocation, CreditLotFilter, FundingEvidence, FundingIntent, FundingRail, FundingSettlementStatus, FundingTransaction, GrantPolicyApplication, GrantPolicyApplicationFilter, CreditOutboxEvent, CreditReservation, LedgerEntry, MeterDefinition, OutboxEventFilter, PriceComponentInput, PriceRateInput, PriceVersion, UsageQuantities, UsageReceipt } from './types.js';
3
3
  export interface CreditLedgerConfig {
4
4
  projectId: string;
5
5
  store?: CreditStore;
@@ -16,6 +16,42 @@ export interface GrantCreditsInput extends EnsureAccountInput {
16
16
  source?: CreditGrantSource;
17
17
  externalRef?: string;
18
18
  }
19
+ interface CreateGrantPolicyInputBase {
20
+ key: string;
21
+ amount: string;
22
+ idempotencyKey: string;
23
+ metadata?: Record<string, unknown>;
24
+ }
25
+ export interface CreateAllowanceGrantPolicyInput extends CreateGrantPolicyInputBase {
26
+ type: 'allowance';
27
+ cadence: AllowanceCadence;
28
+ }
29
+ export interface CreatePromotionGrantPolicyInput extends CreateGrantPolicyInputBase {
30
+ type: 'promotion';
31
+ expiresInMs: number;
32
+ }
33
+ export type CreateGrantPolicyInput = CreateAllowanceGrantPolicyInput | CreatePromotionGrantPolicyInput;
34
+ export interface ApplyAllowanceInput extends EnsureAccountInput {
35
+ policyId: string;
36
+ }
37
+ export interface ClaimPromotionInput extends EnsureAccountInput {
38
+ policyId: string;
39
+ }
40
+ export interface GrantPolicyResult {
41
+ policy: CreditGrantPolicy;
42
+ application: GrantPolicyApplication;
43
+ account: CreditAccount;
44
+ grant?: CreditGrant;
45
+ }
46
+ export interface SweepExpiredCreditLotsInput {
47
+ customerId?: string;
48
+ before?: number;
49
+ limit?: number;
50
+ }
51
+ export interface SweepExpiredCreditLotsResult {
52
+ lots: CreditLot[];
53
+ accounts: CreditAccount[];
54
+ }
19
55
  export interface AdjustCreditsInput extends EnsureAccountInput {
20
56
  amount: string;
21
57
  reason: string;
@@ -33,6 +69,13 @@ export interface CreatePriceVersionInput {
33
69
  idempotencyKey: string;
34
70
  metadata?: Record<string, unknown>;
35
71
  }
72
+ export interface CreateAdvancedPriceVersionInput {
73
+ meterKey: string;
74
+ components: PriceComponentInput[];
75
+ rates?: PriceRateInput[];
76
+ idempotencyKey: string;
77
+ metadata?: Record<string, unknown>;
78
+ }
36
79
  export interface ReserveCreditsInput extends EnsureAccountInput {
37
80
  priceId: string;
38
81
  estimatedUsage: UsageQuantities;
@@ -111,6 +154,10 @@ export declare class CreditLedger {
111
154
  private readonly now;
112
155
  constructor(config: CreditLedgerConfig);
113
156
  ensureAccount(input: EnsureAccountInput): Promise<CreditAccount>;
157
+ createGrantPolicy(input: CreateGrantPolicyInput): Promise<CreditGrantPolicy>;
158
+ applyAllowance(input: ApplyAllowanceInput): Promise<GrantPolicyResult>;
159
+ claimPromotion(input: ClaimPromotionInput): Promise<GrantPolicyResult>;
160
+ sweepExpiredCreditLots(input?: SweepExpiredCreditLotsInput): Promise<SweepExpiredCreditLotsResult>;
114
161
  grantCredits(input: GrantCreditsInput): Promise<{
115
162
  account: CreditAccount;
116
163
  grant: CreditGrant;
@@ -121,6 +168,7 @@ export declare class CreditLedger {
121
168
  }>;
122
169
  registerMeter(input: RegisterMeterInput): Promise<MeterDefinition>;
123
170
  createPriceVersion(input: CreatePriceVersionInput): Promise<PriceVersion>;
171
+ createPriceVersion(input: CreateAdvancedPriceVersionInput): Promise<PriceVersion>;
124
172
  createFundingIntent(input: CreateFundingIntentInput): Promise<FundingIntent>;
125
173
  confirmFunding(input: ConfirmFundingInput): Promise<{
126
174
  account: CreditAccount;
@@ -146,6 +194,13 @@ export declare class CreditLedger {
146
194
  }): Promise<CreditReservation[]>;
147
195
  runMetered<T>(input: RunMeteredInput, callback: () => Promise<RunMeteredCallbackResult<T>>): Promise<RunMeteredResult<T>>;
148
196
  getBalance(customerId: string): Promise<CreditAccount>;
197
+ getGrantPolicy(id: string): Promise<CreditGrantPolicy | undefined>;
198
+ listGrantPolicies(): Promise<CreditGrantPolicy[]>;
199
+ getCreditLot(id: string): Promise<CreditLot | undefined>;
200
+ listCreditLots(filter?: string | Omit<CreditLotFilter, 'projectId'>): Promise<CreditLot[]>;
201
+ listGrantPolicyApplications(filter?: string | Omit<GrantPolicyApplicationFilter, 'projectId'>): Promise<GrantPolicyApplication[]>;
202
+ getGrantPolicyApplication(id: string): Promise<GrantPolicyApplication | undefined>;
203
+ listCreditLotAllocations(reservationId?: string): Promise<CreditLotAllocation[]>;
149
204
  getReservation(id: string): Promise<CreditReservation | undefined>;
150
205
  getUsageReceipt(id: string): Promise<UsageReceipt | undefined>;
151
206
  getFundingIntent(id: string): Promise<FundingIntent | undefined>;
@@ -160,6 +215,15 @@ export declare class CreditLedger {
160
215
  idempotencyKey: string;
161
216
  deliveredAt?: number;
162
217
  }): Promise<CreditOutboxEvent>;
218
+ private withStoreTransaction;
219
+ private requirePolicyStore;
220
+ private requireGrantPolicy;
221
+ private createGrantInTransaction;
222
+ private expireDueCreditLots;
223
+ private reserveCreditLots;
224
+ private commitCreditLotAllocations;
225
+ private releaseCreditLotAllocations;
226
+ private consumeAvailableLots;
163
227
  private ensureAccountInTransaction;
164
228
  private expireOpenReservations;
165
229
  private expireReservation;
@@ -174,4 +238,5 @@ export declare class CreditLedger {
174
238
  private forCurrentProject;
175
239
  private forCurrentProjectList;
176
240
  }
241
+ export {};
177
242
  //# sourceMappingURL=ledger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ledger.d.ts","sourceRoot":"","sources":["../../src/credits/ledger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ledger.d.ts","sourceRoot":"","sources":["../../src/credits/ledger.ts"],"names":[],"mappings":"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"}