@resvary/sdk 0.6.1 → 0.7.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,7 @@ 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, 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
14
 
15
15
  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
16
 
@@ -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 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, GrantPolicyApplication, GrantPolicyApplicationFilter, LedgerBucket, LedgerEntry, LedgerEntryType, MeterDefinition, OutboxEventFilter, OutboxEventStatus, 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,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,sBAAsB,EACtB,4BAA4B,EAC5B,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,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,GAyBb,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, 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;
@@ -111,6 +147,10 @@ export declare class CreditLedger {
111
147
  private readonly now;
112
148
  constructor(config: CreditLedgerConfig);
113
149
  ensureAccount(input: EnsureAccountInput): Promise<CreditAccount>;
150
+ createGrantPolicy(input: CreateGrantPolicyInput): Promise<CreditGrantPolicy>;
151
+ applyAllowance(input: ApplyAllowanceInput): Promise<GrantPolicyResult>;
152
+ claimPromotion(input: ClaimPromotionInput): Promise<GrantPolicyResult>;
153
+ sweepExpiredCreditLots(input?: SweepExpiredCreditLotsInput): Promise<SweepExpiredCreditLotsResult>;
114
154
  grantCredits(input: GrantCreditsInput): Promise<{
115
155
  account: CreditAccount;
116
156
  grant: CreditGrant;
@@ -146,6 +186,13 @@ export declare class CreditLedger {
146
186
  }): Promise<CreditReservation[]>;
147
187
  runMetered<T>(input: RunMeteredInput, callback: () => Promise<RunMeteredCallbackResult<T>>): Promise<RunMeteredResult<T>>;
148
188
  getBalance(customerId: string): Promise<CreditAccount>;
189
+ getGrantPolicy(id: string): Promise<CreditGrantPolicy | undefined>;
190
+ listGrantPolicies(): Promise<CreditGrantPolicy[]>;
191
+ getCreditLot(id: string): Promise<CreditLot | undefined>;
192
+ listCreditLots(filter?: string | Omit<CreditLotFilter, 'projectId'>): Promise<CreditLot[]>;
193
+ listGrantPolicyApplications(filter?: string | Omit<GrantPolicyApplicationFilter, 'projectId'>): Promise<GrantPolicyApplication[]>;
194
+ getGrantPolicyApplication(id: string): Promise<GrantPolicyApplication | undefined>;
195
+ listCreditLotAllocations(reservationId?: string): Promise<CreditLotAllocation[]>;
149
196
  getReservation(id: string): Promise<CreditReservation | undefined>;
150
197
  getUsageReceipt(id: string): Promise<UsageReceipt | undefined>;
151
198
  getFundingIntent(id: string): Promise<FundingIntent | undefined>;
@@ -160,6 +207,15 @@ export declare class CreditLedger {
160
207
  idempotencyKey: string;
161
208
  deliveredAt?: number;
162
209
  }): Promise<CreditOutboxEvent>;
210
+ private withStoreTransaction;
211
+ private requirePolicyStore;
212
+ private requireGrantPolicy;
213
+ private createGrantInTransaction;
214
+ private expireDueCreditLots;
215
+ private reserveCreditLots;
216
+ private commitCreditLotAllocations;
217
+ private releaseCreditLotAllocations;
218
+ private consumeAvailableLots;
163
219
  private ensureAccountInTransaction;
164
220
  private expireOpenReservations;
165
221
  private expireReservation;
@@ -174,4 +230,5 @@ export declare class CreditLedger {
174
230
  private forCurrentProject;
175
231
  private forCurrentProjectList;
176
232
  }
233
+ export {};
177
234
  //# 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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"}