@wipperoz/wipperoz-core 1.0.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 (156) hide show
  1. package/README.md +35 -0
  2. package/bin/run-clean.js +53 -0
  3. package/dist/account/index.d.ts +2 -0
  4. package/dist/account/index.d.ts.map +1 -0
  5. package/dist/account/index.js +5 -0
  6. package/dist/account/index.js.map +1 -0
  7. package/dist/account/interfaces/accountRecord.interface.d.ts +9 -0
  8. package/dist/account/interfaces/accountRecord.interface.d.ts.map +1 -0
  9. package/dist/account/interfaces/accountRecord.interface.js +3 -0
  10. package/dist/account/interfaces/accountRecord.interface.js.map +1 -0
  11. package/dist/account/services/account.service.d.ts +9 -0
  12. package/dist/account/services/account.service.d.ts.map +1 -0
  13. package/dist/account/services/account.service.js +30 -0
  14. package/dist/account/services/account.service.js.map +1 -0
  15. package/dist/billing/constants.d.ts +39 -0
  16. package/dist/billing/constants.d.ts.map +1 -0
  17. package/dist/billing/constants.js +57 -0
  18. package/dist/billing/constants.js.map +1 -0
  19. package/dist/billing/enums/accountType.enum.d.ts +2 -0
  20. package/dist/billing/enums/accountType.enum.d.ts.map +1 -0
  21. package/dist/billing/enums/accountType.enum.js +6 -0
  22. package/dist/billing/enums/accountType.enum.js.map +1 -0
  23. package/dist/billing/enums/creditReason.enum.d.ts +7 -0
  24. package/dist/billing/enums/creditReason.enum.d.ts.map +1 -0
  25. package/dist/billing/enums/creditReason.enum.js +11 -0
  26. package/dist/billing/enums/creditReason.enum.js.map +1 -0
  27. package/dist/billing/enums/displayCurrency.enum.d.ts +2 -0
  28. package/dist/billing/enums/displayCurrency.enum.d.ts.map +1 -0
  29. package/dist/billing/enums/displayCurrency.enum.js +6 -0
  30. package/dist/billing/enums/displayCurrency.enum.js.map +1 -0
  31. package/dist/billing/enums/index.d.ts +8 -0
  32. package/dist/billing/enums/index.d.ts.map +1 -0
  33. package/dist/billing/enums/index.js +11 -0
  34. package/dist/billing/enums/index.js.map +1 -0
  35. package/dist/billing/enums/reasoningEffort.enum.d.ts +8 -0
  36. package/dist/billing/enums/reasoningEffort.enum.d.ts.map +1 -0
  37. package/dist/billing/enums/reasoningEffort.enum.js +12 -0
  38. package/dist/billing/enums/reasoningEffort.enum.js.map +1 -0
  39. package/dist/billing/enums/stripePaymentStatus.enum.d.ts +7 -0
  40. package/dist/billing/enums/stripePaymentStatus.enum.d.ts.map +1 -0
  41. package/dist/billing/enums/stripePaymentStatus.enum.js +11 -0
  42. package/dist/billing/enums/stripePaymentStatus.enum.js.map +1 -0
  43. package/dist/billing/enums/stripeRegion.enum.d.ts +2 -0
  44. package/dist/billing/enums/stripeRegion.enum.d.ts.map +1 -0
  45. package/dist/billing/enums/stripeRegion.enum.js +6 -0
  46. package/dist/billing/enums/stripeRegion.enum.js.map +1 -0
  47. package/dist/billing/enums/transactionType.enum.d.ts +8 -0
  48. package/dist/billing/enums/transactionType.enum.d.ts.map +1 -0
  49. package/dist/billing/enums/transactionType.enum.js +12 -0
  50. package/dist/billing/enums/transactionType.enum.js.map +1 -0
  51. package/dist/billing/index.d.ts +3 -0
  52. package/dist/billing/index.d.ts.map +1 -0
  53. package/dist/billing/index.js +6 -0
  54. package/dist/billing/index.js.map +1 -0
  55. package/dist/billing/interfaces/addCreditsResult.interface.d.ts +7 -0
  56. package/dist/billing/interfaces/addCreditsResult.interface.d.ts.map +1 -0
  57. package/dist/billing/interfaces/addCreditsResult.interface.js +3 -0
  58. package/dist/billing/interfaces/addCreditsResult.interface.js.map +1 -0
  59. package/dist/billing/interfaces/aiRequestBillingResponse.interface.d.ts +30 -0
  60. package/dist/billing/interfaces/aiRequestBillingResponse.interface.d.ts.map +1 -0
  61. package/dist/billing/interfaces/aiRequestBillingResponse.interface.js +3 -0
  62. package/dist/billing/interfaces/aiRequestBillingResponse.interface.js.map +1 -0
  63. package/dist/billing/interfaces/autoTopUpCheckResult.interface.d.ts +6 -0
  64. package/dist/billing/interfaces/autoTopUpCheckResult.interface.d.ts.map +1 -0
  65. package/dist/billing/interfaces/autoTopUpCheckResult.interface.js +3 -0
  66. package/dist/billing/interfaces/autoTopUpCheckResult.interface.js.map +1 -0
  67. package/dist/billing/interfaces/autoTopUpMessage.interface.d.ts +15 -0
  68. package/dist/billing/interfaces/autoTopUpMessage.interface.d.ts.map +1 -0
  69. package/dist/billing/interfaces/autoTopUpMessage.interface.js +3 -0
  70. package/dist/billing/interfaces/autoTopUpMessage.interface.js.map +1 -0
  71. package/dist/billing/interfaces/balanceResponse.interface.d.ts +9 -0
  72. package/dist/billing/interfaces/balanceResponse.interface.d.ts.map +1 -0
  73. package/dist/billing/interfaces/balanceResponse.interface.js +3 -0
  74. package/dist/billing/interfaces/balanceResponse.interface.js.map +1 -0
  75. package/dist/billing/interfaces/billing.interface.d.ts +2 -0
  76. package/dist/billing/interfaces/billing.interface.d.ts.map +1 -0
  77. package/dist/billing/interfaces/billing.interface.js +3 -0
  78. package/dist/billing/interfaces/billing.interface.js.map +1 -0
  79. package/dist/billing/interfaces/canAffordResult.interface.d.ts +6 -0
  80. package/dist/billing/interfaces/canAffordResult.interface.d.ts.map +1 -0
  81. package/dist/billing/interfaces/canAffordResult.interface.js +3 -0
  82. package/dist/billing/interfaces/canAffordResult.interface.js.map +1 -0
  83. package/dist/billing/interfaces/chargeResult.interface.d.ts +7 -0
  84. package/dist/billing/interfaces/chargeResult.interface.d.ts.map +1 -0
  85. package/dist/billing/interfaces/chargeResult.interface.js +3 -0
  86. package/dist/billing/interfaces/chargeResult.interface.js.map +1 -0
  87. package/dist/billing/interfaces/costBreakdown.interface.d.ts +9 -0
  88. package/dist/billing/interfaces/costBreakdown.interface.d.ts.map +1 -0
  89. package/dist/billing/interfaces/costBreakdown.interface.js +3 -0
  90. package/dist/billing/interfaces/costBreakdown.interface.js.map +1 -0
  91. package/dist/billing/interfaces/creditTransaction.interface.d.ts +28 -0
  92. package/dist/billing/interfaces/creditTransaction.interface.d.ts.map +1 -0
  93. package/dist/billing/interfaces/creditTransaction.interface.js +3 -0
  94. package/dist/billing/interfaces/creditTransaction.interface.js.map +1 -0
  95. package/dist/billing/interfaces/depositMetadata.interface.d.ts +10 -0
  96. package/dist/billing/interfaces/depositMetadata.interface.d.ts.map +1 -0
  97. package/dist/billing/interfaces/depositMetadata.interface.js +3 -0
  98. package/dist/billing/interfaces/depositMetadata.interface.js.map +1 -0
  99. package/dist/billing/interfaces/iAccountCreditManager.interface.d.ts +43 -0
  100. package/dist/billing/interfaces/iAccountCreditManager.interface.d.ts.map +1 -0
  101. package/dist/billing/interfaces/iAccountCreditManager.interface.js +3 -0
  102. package/dist/billing/interfaces/iAccountCreditManager.interface.js.map +1 -0
  103. package/dist/billing/interfaces/iCostCalculator.interface.d.ts +7 -0
  104. package/dist/billing/interfaces/iCostCalculator.interface.d.ts.map +1 -0
  105. package/dist/billing/interfaces/iCostCalculator.interface.js +3 -0
  106. package/dist/billing/interfaces/iCostCalculator.interface.js.map +1 -0
  107. package/dist/billing/interfaces/index.d.ts +16 -0
  108. package/dist/billing/interfaces/index.d.ts.map +1 -0
  109. package/dist/billing/interfaces/index.js +19 -0
  110. package/dist/billing/interfaces/index.js.map +1 -0
  111. package/dist/billing/interfaces/initialCreditResult.interface.d.ts +7 -0
  112. package/dist/billing/interfaces/initialCreditResult.interface.d.ts.map +1 -0
  113. package/dist/billing/interfaces/initialCreditResult.interface.js +3 -0
  114. package/dist/billing/interfaces/initialCreditResult.interface.js.map +1 -0
  115. package/dist/billing/interfaces/requestCostParams.interface.d.ts +7 -0
  116. package/dist/billing/interfaces/requestCostParams.interface.d.ts.map +1 -0
  117. package/dist/billing/interfaces/requestCostParams.interface.js +3 -0
  118. package/dist/billing/interfaces/requestCostParams.interface.js.map +1 -0
  119. package/dist/billing/interfaces/stripePayment.interface.d.ts +29 -0
  120. package/dist/billing/interfaces/stripePayment.interface.d.ts.map +1 -0
  121. package/dist/billing/interfaces/stripePayment.interface.js +3 -0
  122. package/dist/billing/interfaces/stripePayment.interface.js.map +1 -0
  123. package/dist/billing/interfaces/transactionHistory.interface.d.ts +16 -0
  124. package/dist/billing/interfaces/transactionHistory.interface.d.ts.map +1 -0
  125. package/dist/billing/interfaces/transactionHistory.interface.js +3 -0
  126. package/dist/billing/interfaces/transactionHistory.interface.js.map +1 -0
  127. package/dist/billing/interfaces/triggeredBy.interface.d.ts +1 -0
  128. package/dist/billing/interfaces/triggeredBy.interface.d.ts.map +1 -0
  129. package/dist/billing/interfaces/triggeredBy.interface.js +2 -0
  130. package/dist/billing/interfaces/triggeredBy.interface.js.map +1 -0
  131. package/dist/billing/interfaces/usageMetadata.interface.d.ts +12 -0
  132. package/dist/billing/interfaces/usageMetadata.interface.d.ts.map +1 -0
  133. package/dist/billing/interfaces/usageMetadata.interface.js +3 -0
  134. package/dist/billing/interfaces/usageMetadata.interface.js.map +1 -0
  135. package/dist/billing/services/accountCreditManager.service.d.ts +81 -0
  136. package/dist/billing/services/accountCreditManager.service.d.ts.map +1 -0
  137. package/dist/billing/services/accountCreditManager.service.js +658 -0
  138. package/dist/billing/services/accountCreditManager.service.js.map +1 -0
  139. package/dist/billing/services/costCalculator.service.d.ts +36 -0
  140. package/dist/billing/services/costCalculator.service.d.ts.map +1 -0
  141. package/dist/billing/services/costCalculator.service.js +100 -0
  142. package/dist/billing/services/costCalculator.service.js.map +1 -0
  143. package/dist/billing/services/tokenFormatter.d.ts +10 -0
  144. package/dist/billing/services/tokenFormatter.d.ts.map +1 -0
  145. package/dist/billing/services/tokenFormatter.js +27 -0
  146. package/dist/billing/services/tokenFormatter.js.map +1 -0
  147. package/dist/billing/utils.d.ts +8 -0
  148. package/dist/billing/utils.d.ts.map +1 -0
  149. package/dist/billing/utils.js +33 -0
  150. package/dist/billing/utils.js.map +1 -0
  151. package/dist/index.d.ts +3 -0
  152. package/dist/index.d.ts.map +1 -0
  153. package/dist/index.js +6 -0
  154. package/dist/index.js.map +1 -0
  155. package/dist/tsconfig.tsbuildinfo +1 -0
  156. package/package.json +196 -0
@@ -0,0 +1,15 @@
1
+ import { StripeRegionEnum } from '../enums';
2
+ import { DisplayCurrencyEnum } from '../enums';
3
+ export interface AutoTopUpMessage {
4
+ accountId: string;
5
+ amountTokens: number;
6
+ displayCurrency: DisplayCurrencyEnum;
7
+ stripeRegion: StripeRegionEnum;
8
+ stripeCustomerId: string;
9
+ stripePaymentMethodId: string;
10
+ triggeredAt: string;
11
+ currentBalanceTokens: number;
12
+ thresholdTokens: number;
13
+ attemptNumber: number;
14
+ }
15
+ //# sourceMappingURL=autoTopUpMessage.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autoTopUpMessage.interface.d.ts","sourceRoot":"","sources":["../../../src/billing/interfaces/autoTopUpMessage.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAC,mBAAmB,EAAC,MAAM,UAAU,CAAC;AAE7C,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,mBAAmB,CAAC;IACrC,YAAY,EAAE,gBAAgB,CAAC;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;CACvB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=autoTopUpMessage.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autoTopUpMessage.interface.js","sourceRoot":"","sources":["../../../src/billing/interfaces/autoTopUpMessage.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import { DisplayCurrencyEnum } from '../enums';
2
+ export interface BalanceResponse {
3
+ balanceTokens: number;
4
+ balanceFormatted: string;
5
+ totalSpentTokens: number;
6
+ totalDepositedTokens: number;
7
+ displayCurrency: DisplayCurrencyEnum;
8
+ }
9
+ //# sourceMappingURL=balanceResponse.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"balanceResponse.interface.d.ts","sourceRoot":"","sources":["../../../src/billing/interfaces/balanceResponse.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,UAAU,CAAC;AAE7C,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,EAAE,mBAAmB,CAAC;CACtC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=balanceResponse.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"balanceResponse.interface.js","sourceRoot":"","sources":["../../../src/billing/interfaces/balanceResponse.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export { Billing } from '@wipperoz/common-entities-account/dist/src/index';
2
+ //# sourceMappingURL=billing.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"billing.interface.d.ts","sourceRoot":"","sources":["../../../src/billing/interfaces/billing.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,kDAAkD,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=billing.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"billing.interface.js","sourceRoot":"","sources":["../../../src/billing/interfaces/billing.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export interface CanAffordResult {
2
+ canAfford: boolean;
3
+ currentBalanceTokens: number;
4
+ shortfallTokens?: number;
5
+ }
6
+ //# sourceMappingURL=canAffordResult.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canAffordResult.interface.d.ts","sourceRoot":"","sources":["../../../src/billing/interfaces/canAffordResult.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=canAffordResult.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canAffordResult.interface.js","sourceRoot":"","sources":["../../../src/billing/interfaces/canAffordResult.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ export interface ChargeResult {
2
+ success: boolean;
3
+ newBalanceTokens: number;
4
+ transactionId: string;
5
+ error?: string;
6
+ }
7
+ //# sourceMappingURL=chargeResult.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chargeResult.interface.d.ts","sourceRoot":"","sources":["../../../src/billing/interfaces/chargeResult.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=chargeResult.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chargeResult.interface.js","sourceRoot":"","sources":["../../../src/billing/interfaces/chargeResult.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ export interface CostBreakdown {
2
+ apiCostTokens: number;
3
+ infraCostTokens: number;
4
+ opsCostTokens: number;
5
+ paymentCostTokens: number;
6
+ totalCostTokens: number;
7
+ userPriceTokens: number;
8
+ }
9
+ //# sourceMappingURL=costBreakdown.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"costBreakdown.interface.d.ts","sourceRoot":"","sources":["../../../src/billing/interfaces/costBreakdown.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;CACzB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=costBreakdown.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"costBreakdown.interface.js","sourceRoot":"","sources":["../../../src/billing/interfaces/costBreakdown.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,28 @@
1
+ import { TransactionTypeEnum, CreditReasonEnum } from '../enums';
2
+ import { DepositMetadata } from './depositMetadata.interface';
3
+ import { UsageMetadata } from './usageMetadata.interface';
4
+ /**
5
+ * Credit Transaction Record
6
+ * Pkey: "user-id:{email}"
7
+ * Skey: "credit-txn:{transactionId}"
8
+ */
9
+ export interface CreditTransactionDetails {
10
+ transactionId: string;
11
+ type: TransactionTypeEnum;
12
+ amountTokens: number;
13
+ timestamp: string;
14
+ triggeredBy: string;
15
+ usageMetadata?: UsageMetadata;
16
+ depositMetadata?: DepositMetadata;
17
+ reason?: CreditReasonEnum;
18
+ }
19
+ export interface CreditTransaction {
20
+ Pkey: string;
21
+ Skey: string;
22
+ Details: CreditTransactionDetails;
23
+ Data2: string;
24
+ Data: string;
25
+ CreatedAt: number;
26
+ UpdatedAt: number;
27
+ }
28
+ //# sourceMappingURL=creditTransaction.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"creditTransaction.interface.d.ts","sourceRoot":"","sources":["../../../src/billing/interfaces/creditTransaction.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAE,gBAAgB,EAAC,MAAM,UAAU,CAAC;AAC/D,OAAO,EAAC,eAAe,EAAC,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AAExD;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,MAAM,CAAC,EAAE,gBAAgB,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,wBAAwB,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=creditTransaction.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"creditTransaction.interface.js","sourceRoot":"","sources":["../../../src/billing/interfaces/creditTransaction.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import { DisplayCurrencyEnum } from '../enums';
2
+ export interface DepositMetadata {
3
+ stripePaymentIntentId: string;
4
+ originalCurrency: DisplayCurrencyEnum;
5
+ originalAmountCents: number;
6
+ tokensAdded: number;
7
+ stripeFeeCents: number;
8
+ isAutoTopUp: boolean;
9
+ }
10
+ //# sourceMappingURL=depositMetadata.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"depositMetadata.interface.d.ts","sourceRoot":"","sources":["../../../src/billing/interfaces/depositMetadata.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,UAAU,CAAC;AAE7C,MAAM,WAAW,eAAe;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,gBAAgB,EAAE,mBAAmB,CAAC;IACtC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;CACtB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=depositMetadata.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"depositMetadata.interface.js","sourceRoot":"","sources":["../../../src/billing/interfaces/depositMetadata.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,43 @@
1
+ import { BalanceResponse } from './balanceResponse.interface';
2
+ import { CanAffordResult } from './canAffordResult.interface';
3
+ import { ChargeResult } from './chargeResult.interface';
4
+ import { DepositMetadata } from './depositMetadata.interface';
5
+ import { AddCreditsResult } from './addCreditsResult.interface';
6
+ import { InitialCreditResult } from './initialCreditResult.interface';
7
+ import { AutoTopUpCheckResult } from './autoTopUpCheckResult.interface';
8
+ import { TransactionHistoryResponse } from './transactionHistory.interface';
9
+ import { CostBreakdown } from './costBreakdown.interface';
10
+ import { UsageMetadata } from './usageMetadata.interface';
11
+ import { SpendingControls } from '@wipperoz/common-entities-account/dist/src/interfaces/spendingControls.interface';
12
+ import { BillingAlertSettings } from '@wipperoz/common-entities-account/dist/src/interfaces/billingAlertSettings.interface';
13
+ export interface IAccountCreditManager {
14
+ getBalance(accountId: string): Promise<BalanceResponse>;
15
+ canAffordRequest(accountId: string, estimatedCostTokens: number): Promise<CanAffordResult>;
16
+ chargeAccount(accountId: string, cost: CostBreakdown, triggeredBy: string, // user-id
17
+ metadata: Omit<UsageMetadata, 'costBreakdown'>): Promise<ChargeResult>;
18
+ addCredits(accountId: string, tokens: number, depositMetadata: DepositMetadata): Promise<AddCreditsResult>;
19
+ applyInitialCredit(accountId: string): Promise<InitialCreditResult>;
20
+ checkAndTriggerAutoTopUp(accountId: string): Promise<AutoTopUpCheckResult>;
21
+ getTransactionHistory(accountId: string, limit?: number, cursor?: string): Promise<TransactionHistoryResponse>;
22
+ updateAlertSettings(accountId: string, settings: Partial<BillingAlertSettings>): Promise<{
23
+ success: boolean;
24
+ error?: string;
25
+ }>;
26
+ updateSpendingControls(accountId: string, controls: Partial<SpendingControls>): Promise<{
27
+ success: boolean;
28
+ error?: string;
29
+ }>;
30
+ updateStripeCustomerId(accountId: string, customerId: string): Promise<{
31
+ success: boolean;
32
+ error?: string;
33
+ }>;
34
+ updateDefaultPaymentMethod(accountId: string, paymentMethodId: string): Promise<{
35
+ success: boolean;
36
+ error?: string;
37
+ }>;
38
+ resetMonthlyCounters(accountId: string): Promise<{
39
+ success: boolean;
40
+ error?: string;
41
+ }>;
42
+ }
43
+ //# sourceMappingURL=iAccountCreditManager.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iAccountCreditManager.interface.d.ts","sourceRoot":"","sources":["../../../src/billing/interfaces/iAccountCreditManager.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAC,eAAe,EAAC,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAC,eAAe,EAAC,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAC,gBAAgB,EAAC,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAC,mBAAmB,EAAC,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAC,oBAAoB,EAAC,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAC,0BAA0B,EAAC,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAC,gBAAgB,EAAC,MAAM,kFAAkF,CAAC;AAClH,OAAO,EAAC,oBAAoB,EAAC,MAAM,sFAAsF,CAAC;AAE1H,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAExD,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAE3F,aAAa,CACX,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,aAAa,EACnB,WAAW,EAAE,MAAM,EAAE,UAAU;IAC/B,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,GAC7C,OAAO,CAAC,YAAY,CAAC,CAAC;IAEzB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE3G,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEpE,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAE3E,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAC;IAG/G,mBAAmB,CACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,OAAO,CAAC,oBAAoB,CAAC,GACtC,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IAE/C,sBAAsB,CACpB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAClC,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IAE/C,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IAE3G,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;IAEpH,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC;CACtF"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=iAccountCreditManager.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iAccountCreditManager.interface.js","sourceRoot":"","sources":["../../../src/billing/interfaces/iAccountCreditManager.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ import { CostBreakdown } from './costBreakdown.interface';
2
+ import { RequestCostParams } from './requestCostParams.interface';
3
+ export interface ICostCalculator {
4
+ calculateRequestCost(params: RequestCostParams): CostBreakdown;
5
+ estimateRequestCost(estimatedInputTokens: number, maxOutputTokens: number): CostBreakdown;
6
+ }
7
+ //# sourceMappingURL=iCostCalculator.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iCostCalculator.interface.d.ts","sourceRoot":"","sources":["../../../src/billing/interfaces/iCostCalculator.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAC,iBAAiB,EAAC,MAAM,+BAA+B,CAAC;AAEhE,MAAM,WAAW,eAAe;IAC9B,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,GAAG,aAAa,CAAC;IAC/D,mBAAmB,CAAC,oBAAoB,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,aAAa,CAAC;CAC3F"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=iCostCalculator.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"iCostCalculator.interface.js","sourceRoot":"","sources":["../../../src/billing/interfaces/iCostCalculator.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ export * from './iAccountCreditManager.interface';
2
+ export * from './iCostCalculator.interface';
3
+ export * from './canAffordResult.interface';
4
+ export * from './chargeResult.interface';
5
+ export * from './addCreditsResult.interface';
6
+ export * from './initialCreditResult.interface';
7
+ export * from './autoTopUpCheckResult.interface';
8
+ export * from './transactionHistory.interface';
9
+ export * from './costBreakdown.interface';
10
+ export * from './requestCostParams.interface';
11
+ export * from './usageMetadata.interface';
12
+ export * from './depositMetadata.interface';
13
+ export * from './balanceResponse.interface';
14
+ export * from './creditTransaction.interface';
15
+ export * from './autoTopUpMessage.interface';
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/billing/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,0BAA0B,CAAC;AACzC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./iAccountCreditManager.interface"), exports);
5
+ tslib_1.__exportStar(require("./iCostCalculator.interface"), exports);
6
+ tslib_1.__exportStar(require("./canAffordResult.interface"), exports);
7
+ tslib_1.__exportStar(require("./chargeResult.interface"), exports);
8
+ tslib_1.__exportStar(require("./addCreditsResult.interface"), exports);
9
+ tslib_1.__exportStar(require("./initialCreditResult.interface"), exports);
10
+ tslib_1.__exportStar(require("./autoTopUpCheckResult.interface"), exports);
11
+ tslib_1.__exportStar(require("./transactionHistory.interface"), exports);
12
+ tslib_1.__exportStar(require("./costBreakdown.interface"), exports);
13
+ tslib_1.__exportStar(require("./requestCostParams.interface"), exports);
14
+ tslib_1.__exportStar(require("./usageMetadata.interface"), exports);
15
+ tslib_1.__exportStar(require("./depositMetadata.interface"), exports);
16
+ tslib_1.__exportStar(require("./balanceResponse.interface"), exports);
17
+ tslib_1.__exportStar(require("./creditTransaction.interface"), exports);
18
+ tslib_1.__exportStar(require("./autoTopUpMessage.interface"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/billing/interfaces/index.ts"],"names":[],"mappings":";;;AAAA,4EAAkD;AAClD,sEAA4C;AAC5C,sEAA4C;AAC5C,mEAAyC;AACzC,uEAA6C;AAC7C,0EAAgD;AAChD,2EAAiD;AACjD,yEAA+C;AAC/C,oEAA0C;AAC1C,wEAA8C;AAC9C,oEAA0C;AAC1C,sEAA4C;AAC5C,sEAA4C;AAC5C,wEAA8C;AAC9C,uEAA6C"}
@@ -0,0 +1,7 @@
1
+ export interface InitialCreditResult {
2
+ success: boolean;
3
+ applied: boolean;
4
+ transactionId?: string;
5
+ error?: string;
6
+ }
7
+ //# sourceMappingURL=initialCreditResult.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initialCreditResult.interface.d.ts","sourceRoot":"","sources":["../../../src/billing/interfaces/initialCreditResult.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=initialCreditResult.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initialCreditResult.interface.js","sourceRoot":"","sources":["../../../src/billing/interfaces/initialCreditResult.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ export interface RequestCostParams {
2
+ inputTokens: number;
3
+ outputTokens: number;
4
+ cachedTokens?: number;
5
+ monthlyVolume?: number;
6
+ }
7
+ //# sourceMappingURL=requestCostParams.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestCostParams.interface.d.ts","sourceRoot":"","sources":["../../../src/billing/interfaces/requestCostParams.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=requestCostParams.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestCostParams.interface.js","sourceRoot":"","sources":["../../../src/billing/interfaces/requestCostParams.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,29 @@
1
+ import { DisplayCurrencyEnum, StripePaymentStatusEnum } from '../enums';
2
+ /**
3
+ * Stripe Payment Record
4
+ * Pkey: "user-id:{email}"
5
+ * Skey: "stripe-payment:{paymentIntentId}"
6
+ */
7
+ export interface StripePaymentDetails {
8
+ paymentIntentId: string;
9
+ stripeCustomerId: string;
10
+ status: StripePaymentStatusEnum;
11
+ amountCents: number;
12
+ currency: DisplayCurrencyEnum;
13
+ tokensAdded: number;
14
+ stripeFeeCents: number;
15
+ isAutoTopUp: boolean;
16
+ createdAt: string;
17
+ completedAt: string | null;
18
+ failureReason?: string;
19
+ }
20
+ export interface StripePayment {
21
+ Pkey: string;
22
+ Skey: string;
23
+ Details: StripePaymentDetails;
24
+ Data2: string;
25
+ Data: string;
26
+ CreatedAt: number;
27
+ UpdatedAt: number;
28
+ }
29
+ //# sourceMappingURL=stripePayment.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stripePayment.interface.d.ts","sourceRoot":"","sources":["../../../src/billing/interfaces/stripePayment.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAE,uBAAuB,EAAC,MAAM,UAAU,CAAC;AAEtE;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,uBAAuB,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,oBAAoB,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=stripePayment.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stripePayment.interface.js","sourceRoot":"","sources":["../../../src/billing/interfaces/stripePayment.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ import { TransactionTypeEnum } from '../enums';
2
+ export interface TransactionHistoryItem {
3
+ transactionId: string;
4
+ type: TransactionTypeEnum;
5
+ amountTokens: number;
6
+ amountFormatted: string;
7
+ timestamp: string;
8
+ triggeredBy?: string;
9
+ description: string;
10
+ }
11
+ export interface TransactionHistoryResponse {
12
+ transactions: TransactionHistoryItem[];
13
+ hasMore: boolean;
14
+ nextCursor?: string;
15
+ }
16
+ //# sourceMappingURL=transactionHistory.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transactionHistory.interface.d.ts","sourceRoot":"","sources":["../../../src/billing/interfaces/transactionHistory.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,UAAU,CAAC;AAE7C,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,0BAA0B;IACzC,YAAY,EAAE,sBAAsB,EAAE,CAAC;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=transactionHistory.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transactionHistory.interface.js","sourceRoot":"","sources":["../../../src/billing/interfaces/transactionHistory.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=triggeredBy.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triggeredBy.interface.d.ts","sourceRoot":"","sources":["../../../src/billing/interfaces/triggeredBy.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=triggeredBy.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"triggeredBy.interface.js","sourceRoot":"","sources":["../../../src/billing/interfaces/triggeredBy.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,12 @@
1
+ import { ReasoningEffortEnum } from '../enums/reasoningEffort.enum';
2
+ import { CostBreakdown } from './costBreakdown.interface';
3
+ export interface UsageMetadata {
4
+ model: string;
5
+ inputTokens: number;
6
+ outputTokens: number;
7
+ cachedTokens: number;
8
+ reasoningEffort: ReasoningEffortEnum;
9
+ feature: string;
10
+ costBreakdown: CostBreakdown;
11
+ }
12
+ //# sourceMappingURL=usageMetadata.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usageMetadata.interface.d.ts","sourceRoot":"","sources":["../../../src/billing/interfaces/usageMetadata.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAC,aAAa,EAAC,MAAM,2BAA2B,CAAC;AAExD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,mBAAmB,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,aAAa,CAAC;CAC9B"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=usageMetadata.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usageMetadata.interface.js","sourceRoot":"","sources":["../../../src/billing/interfaces/usageMetadata.interface.ts"],"names":[],"mappings":""}
@@ -0,0 +1,81 @@
1
+ import { DatabaseService } from '@wipperoz/common-utils';
2
+ import { AddCreditsResult, AutoTopUpCheckResult, BalanceResponse, CanAffordResult, ChargeResult, CostBreakdown, DepositMetadata, IAccountCreditManager, InitialCreditResult, TransactionHistoryResponse, UsageMetadata } from '../interfaces';
3
+ import { CostCalculatorService } from './costCalculator.service';
4
+ import { SQSClient } from '@aws-sdk/client-sqs';
5
+ import { AutoTopUpSettings } from '@wipperoz/common-entities-account/dist/src/interfaces/autoTopUpSettings.interface';
6
+ import { BillingAlertSettings } from '@wipperoz/common-entities-account/dist/src/interfaces/billingAlertSettings.interface';
7
+ import { SpendingControls } from '@wipperoz/common-entities-account/dist/src/interfaces/spendingControls.interface';
8
+ import { AccountService } from '../../account/services/account.service';
9
+ export declare class AccountCreditManagerService implements IAccountCreditManager {
10
+ private db;
11
+ private tableName;
12
+ private costCalculator;
13
+ private sqsClient;
14
+ private autoTopUpQueueUrl;
15
+ private accountService;
16
+ constructor(db: DatabaseService, tableName: string, sqsClient: SQSClient, autoTopUpQueueUrl: string, costCalculator?: CostCalculatorService, accountService?: AccountService);
17
+ /**
18
+ * Update billing alert settings
19
+ */
20
+ updateAlertSettings(accountId: string, settings: Partial<BillingAlertSettings>): Promise<{
21
+ success: boolean;
22
+ error?: string;
23
+ }>;
24
+ /**
25
+ * Update spending controls
26
+ */
27
+ updateSpendingControls(accountId: string, controls: Partial<SpendingControls>): Promise<{
28
+ success: boolean;
29
+ error?: string;
30
+ }>;
31
+ updateStripeCustomerId(accountId: string, customerId: string): Promise<{
32
+ success: boolean;
33
+ error?: string;
34
+ }>;
35
+ updateDefaultPaymentMethod(accountId: string, paymentMethodId: string): Promise<{
36
+ success: boolean;
37
+ error?: string;
38
+ }>;
39
+ resetMonthlyCounters(accountId: string): Promise<{
40
+ success: boolean;
41
+ error?: string;
42
+ }>;
43
+ /**
44
+ * Get account balance
45
+ */
46
+ getBalance(accountId: string): Promise<BalanceResponse>;
47
+ /**
48
+ * Check if account can afford a request
49
+ */
50
+ canAffordRequest(accountId: string, estimatedCostTokens: number): Promise<CanAffordResult>;
51
+ /**
52
+ * Atomically charge account for an AI request
53
+ */
54
+ chargeAccount(accountId: string, cost: CostBreakdown, triggeredBy: string, metadata: Omit<UsageMetadata, 'costBreakdown'>): Promise<ChargeResult>;
55
+ /**
56
+ * Add credits to account (from Stripe payment)
57
+ */
58
+ addCredits(accountId: string, tokens: number, depositMetadata: DepositMetadata): Promise<AddCreditsResult>;
59
+ /**
60
+ * Apply initial credit for new accounts
61
+ */
62
+ applyInitialCredit(accountId: string): Promise<InitialCreditResult>;
63
+ /**
64
+ * Check and trigger auto top-up if needed (async via SQS)
65
+ */
66
+ checkAndTriggerAutoTopUp(accountId: string): Promise<AutoTopUpCheckResult>;
67
+ /**
68
+ * Get transaction history for account
69
+ */
70
+ getTransactionHistory(accountId: string, limit?: number, cursor?: string): Promise<TransactionHistoryResponse>;
71
+ /**
72
+ * Update auto top-up settings
73
+ */
74
+ updateAutoTopUpSettings(accountId: string, settings: Partial<AutoTopUpSettings>): Promise<{
75
+ success: boolean;
76
+ error?: string;
77
+ }>;
78
+ private formatTransactionAmount;
79
+ private getTransactionDescription;
80
+ }
81
+ //# sourceMappingURL=accountCreditManager.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accountCreditManager.service.d.ts","sourceRoot":"","sources":["../../../src/billing/services/accountCreditManager.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAC;AACvD,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EAEpB,eAAe,EACf,eAAe,EACf,YAAY,EACZ,aAAa,EAEb,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,0BAA0B,EAC1B,aAAa,EACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,qBAAqB,EAAC,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAC,SAAS,EAAqB,MAAM,qBAAqB,CAAC;AAKlE,OAAO,EAAC,iBAAiB,EAAC,MAAM,mFAAmF,CAAC;AACpH,OAAO,EAAC,oBAAoB,EAAC,MAAM,sFAAsF,CAAC;AAC1H,OAAO,EAAC,gBAAgB,EAAC,MAAM,kFAAkF,CAAC;AAClH,OAAO,EAAC,cAAc,EAAC,MAAM,wCAAwC,CAAC;AAEtE,qBAAa,2BAA4B,YAAW,qBAAqB;IACvE,OAAO,CAAC,EAAE,CAAkB;IAC5B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,cAAc,CAAiB;gBAGrC,EAAE,EAAE,eAAe,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,EACpB,iBAAiB,EAAE,MAAM,EACzB,cAAc,CAAC,EAAE,qBAAqB,EACtC,cAAc,CAAC,EAAE,cAAc;IAUjC;;OAEG;IACG,mBAAmB,CACvB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,OAAO,CAAC,oBAAoB,CAAC,GACtC,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC;IAmD9C;;OAEG;IACG,sBAAsB,CAC1B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAClC,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC;IAmDxC,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC;IA0B1G,0BAA0B,CAC9B,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC;IA0BxC,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC;IA2B1F;;OAEG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAkB7D;;OAEG;IACG,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAahG;;OAEG;IACG,aAAa,CACjB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,aAAa,EACnB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,IAAI,CAAC,aAAa,EAAE,eAAe,CAAC,GAC7C,OAAO,CAAC,YAAY,CAAC;IAsHxB;;OAEG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAkFhH;;OAEG;IACG,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAmFzE;;OAEG;IACG,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAwEhF;;OAEG;IACG,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,SAAK,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,0BAA0B,CAAC;IA4ChH;;OAEG;IACG,uBAAuB,CAC3B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,OAAO,CAAC,iBAAiB,CAAC,GACnC,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAC,CAAC;IAuD9C,OAAO,CAAC,uBAAuB;IAU/B,OAAO,CAAC,yBAAyB;CAgBlC"}