@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.
- package/README.md +35 -0
- package/bin/run-clean.js +53 -0
- package/dist/account/index.d.ts +2 -0
- package/dist/account/index.d.ts.map +1 -0
- package/dist/account/index.js +5 -0
- package/dist/account/index.js.map +1 -0
- package/dist/account/interfaces/accountRecord.interface.d.ts +9 -0
- package/dist/account/interfaces/accountRecord.interface.d.ts.map +1 -0
- package/dist/account/interfaces/accountRecord.interface.js +3 -0
- package/dist/account/interfaces/accountRecord.interface.js.map +1 -0
- package/dist/account/services/account.service.d.ts +9 -0
- package/dist/account/services/account.service.d.ts.map +1 -0
- package/dist/account/services/account.service.js +30 -0
- package/dist/account/services/account.service.js.map +1 -0
- package/dist/billing/constants.d.ts +39 -0
- package/dist/billing/constants.d.ts.map +1 -0
- package/dist/billing/constants.js +57 -0
- package/dist/billing/constants.js.map +1 -0
- package/dist/billing/enums/accountType.enum.d.ts +2 -0
- package/dist/billing/enums/accountType.enum.d.ts.map +1 -0
- package/dist/billing/enums/accountType.enum.js +6 -0
- package/dist/billing/enums/accountType.enum.js.map +1 -0
- package/dist/billing/enums/creditReason.enum.d.ts +7 -0
- package/dist/billing/enums/creditReason.enum.d.ts.map +1 -0
- package/dist/billing/enums/creditReason.enum.js +11 -0
- package/dist/billing/enums/creditReason.enum.js.map +1 -0
- package/dist/billing/enums/displayCurrency.enum.d.ts +2 -0
- package/dist/billing/enums/displayCurrency.enum.d.ts.map +1 -0
- package/dist/billing/enums/displayCurrency.enum.js +6 -0
- package/dist/billing/enums/displayCurrency.enum.js.map +1 -0
- package/dist/billing/enums/index.d.ts +8 -0
- package/dist/billing/enums/index.d.ts.map +1 -0
- package/dist/billing/enums/index.js +11 -0
- package/dist/billing/enums/index.js.map +1 -0
- package/dist/billing/enums/reasoningEffort.enum.d.ts +8 -0
- package/dist/billing/enums/reasoningEffort.enum.d.ts.map +1 -0
- package/dist/billing/enums/reasoningEffort.enum.js +12 -0
- package/dist/billing/enums/reasoningEffort.enum.js.map +1 -0
- package/dist/billing/enums/stripePaymentStatus.enum.d.ts +7 -0
- package/dist/billing/enums/stripePaymentStatus.enum.d.ts.map +1 -0
- package/dist/billing/enums/stripePaymentStatus.enum.js +11 -0
- package/dist/billing/enums/stripePaymentStatus.enum.js.map +1 -0
- package/dist/billing/enums/stripeRegion.enum.d.ts +2 -0
- package/dist/billing/enums/stripeRegion.enum.d.ts.map +1 -0
- package/dist/billing/enums/stripeRegion.enum.js +6 -0
- package/dist/billing/enums/stripeRegion.enum.js.map +1 -0
- package/dist/billing/enums/transactionType.enum.d.ts +8 -0
- package/dist/billing/enums/transactionType.enum.d.ts.map +1 -0
- package/dist/billing/enums/transactionType.enum.js +12 -0
- package/dist/billing/enums/transactionType.enum.js.map +1 -0
- package/dist/billing/index.d.ts +3 -0
- package/dist/billing/index.d.ts.map +1 -0
- package/dist/billing/index.js +6 -0
- package/dist/billing/index.js.map +1 -0
- package/dist/billing/interfaces/addCreditsResult.interface.d.ts +7 -0
- package/dist/billing/interfaces/addCreditsResult.interface.d.ts.map +1 -0
- package/dist/billing/interfaces/addCreditsResult.interface.js +3 -0
- package/dist/billing/interfaces/addCreditsResult.interface.js.map +1 -0
- package/dist/billing/interfaces/aiRequestBillingResponse.interface.d.ts +30 -0
- package/dist/billing/interfaces/aiRequestBillingResponse.interface.d.ts.map +1 -0
- package/dist/billing/interfaces/aiRequestBillingResponse.interface.js +3 -0
- package/dist/billing/interfaces/aiRequestBillingResponse.interface.js.map +1 -0
- package/dist/billing/interfaces/autoTopUpCheckResult.interface.d.ts +6 -0
- package/dist/billing/interfaces/autoTopUpCheckResult.interface.d.ts.map +1 -0
- package/dist/billing/interfaces/autoTopUpCheckResult.interface.js +3 -0
- package/dist/billing/interfaces/autoTopUpCheckResult.interface.js.map +1 -0
- package/dist/billing/interfaces/autoTopUpMessage.interface.d.ts +15 -0
- package/dist/billing/interfaces/autoTopUpMessage.interface.d.ts.map +1 -0
- package/dist/billing/interfaces/autoTopUpMessage.interface.js +3 -0
- package/dist/billing/interfaces/autoTopUpMessage.interface.js.map +1 -0
- package/dist/billing/interfaces/balanceResponse.interface.d.ts +9 -0
- package/dist/billing/interfaces/balanceResponse.interface.d.ts.map +1 -0
- package/dist/billing/interfaces/balanceResponse.interface.js +3 -0
- package/dist/billing/interfaces/balanceResponse.interface.js.map +1 -0
- package/dist/billing/interfaces/billing.interface.d.ts +2 -0
- package/dist/billing/interfaces/billing.interface.d.ts.map +1 -0
- package/dist/billing/interfaces/billing.interface.js +3 -0
- package/dist/billing/interfaces/billing.interface.js.map +1 -0
- package/dist/billing/interfaces/canAffordResult.interface.d.ts +6 -0
- package/dist/billing/interfaces/canAffordResult.interface.d.ts.map +1 -0
- package/dist/billing/interfaces/canAffordResult.interface.js +3 -0
- package/dist/billing/interfaces/canAffordResult.interface.js.map +1 -0
- package/dist/billing/interfaces/chargeResult.interface.d.ts +7 -0
- package/dist/billing/interfaces/chargeResult.interface.d.ts.map +1 -0
- package/dist/billing/interfaces/chargeResult.interface.js +3 -0
- package/dist/billing/interfaces/chargeResult.interface.js.map +1 -0
- package/dist/billing/interfaces/costBreakdown.interface.d.ts +9 -0
- package/dist/billing/interfaces/costBreakdown.interface.d.ts.map +1 -0
- package/dist/billing/interfaces/costBreakdown.interface.js +3 -0
- package/dist/billing/interfaces/costBreakdown.interface.js.map +1 -0
- package/dist/billing/interfaces/creditTransaction.interface.d.ts +28 -0
- package/dist/billing/interfaces/creditTransaction.interface.d.ts.map +1 -0
- package/dist/billing/interfaces/creditTransaction.interface.js +3 -0
- package/dist/billing/interfaces/creditTransaction.interface.js.map +1 -0
- package/dist/billing/interfaces/depositMetadata.interface.d.ts +10 -0
- package/dist/billing/interfaces/depositMetadata.interface.d.ts.map +1 -0
- package/dist/billing/interfaces/depositMetadata.interface.js +3 -0
- package/dist/billing/interfaces/depositMetadata.interface.js.map +1 -0
- package/dist/billing/interfaces/iAccountCreditManager.interface.d.ts +43 -0
- package/dist/billing/interfaces/iAccountCreditManager.interface.d.ts.map +1 -0
- package/dist/billing/interfaces/iAccountCreditManager.interface.js +3 -0
- package/dist/billing/interfaces/iAccountCreditManager.interface.js.map +1 -0
- package/dist/billing/interfaces/iCostCalculator.interface.d.ts +7 -0
- package/dist/billing/interfaces/iCostCalculator.interface.d.ts.map +1 -0
- package/dist/billing/interfaces/iCostCalculator.interface.js +3 -0
- package/dist/billing/interfaces/iCostCalculator.interface.js.map +1 -0
- package/dist/billing/interfaces/index.d.ts +16 -0
- package/dist/billing/interfaces/index.d.ts.map +1 -0
- package/dist/billing/interfaces/index.js +19 -0
- package/dist/billing/interfaces/index.js.map +1 -0
- package/dist/billing/interfaces/initialCreditResult.interface.d.ts +7 -0
- package/dist/billing/interfaces/initialCreditResult.interface.d.ts.map +1 -0
- package/dist/billing/interfaces/initialCreditResult.interface.js +3 -0
- package/dist/billing/interfaces/initialCreditResult.interface.js.map +1 -0
- package/dist/billing/interfaces/requestCostParams.interface.d.ts +7 -0
- package/dist/billing/interfaces/requestCostParams.interface.d.ts.map +1 -0
- package/dist/billing/interfaces/requestCostParams.interface.js +3 -0
- package/dist/billing/interfaces/requestCostParams.interface.js.map +1 -0
- package/dist/billing/interfaces/stripePayment.interface.d.ts +29 -0
- package/dist/billing/interfaces/stripePayment.interface.d.ts.map +1 -0
- package/dist/billing/interfaces/stripePayment.interface.js +3 -0
- package/dist/billing/interfaces/stripePayment.interface.js.map +1 -0
- package/dist/billing/interfaces/transactionHistory.interface.d.ts +16 -0
- package/dist/billing/interfaces/transactionHistory.interface.d.ts.map +1 -0
- package/dist/billing/interfaces/transactionHistory.interface.js +3 -0
- package/dist/billing/interfaces/transactionHistory.interface.js.map +1 -0
- package/dist/billing/interfaces/triggeredBy.interface.d.ts +1 -0
- package/dist/billing/interfaces/triggeredBy.interface.d.ts.map +1 -0
- package/dist/billing/interfaces/triggeredBy.interface.js +2 -0
- package/dist/billing/interfaces/triggeredBy.interface.js.map +1 -0
- package/dist/billing/interfaces/usageMetadata.interface.d.ts +12 -0
- package/dist/billing/interfaces/usageMetadata.interface.d.ts.map +1 -0
- package/dist/billing/interfaces/usageMetadata.interface.js +3 -0
- package/dist/billing/interfaces/usageMetadata.interface.js.map +1 -0
- package/dist/billing/services/accountCreditManager.service.d.ts +81 -0
- package/dist/billing/services/accountCreditManager.service.d.ts.map +1 -0
- package/dist/billing/services/accountCreditManager.service.js +658 -0
- package/dist/billing/services/accountCreditManager.service.js.map +1 -0
- package/dist/billing/services/costCalculator.service.d.ts +36 -0
- package/dist/billing/services/costCalculator.service.d.ts.map +1 -0
- package/dist/billing/services/costCalculator.service.js +100 -0
- package/dist/billing/services/costCalculator.service.js.map +1 -0
- package/dist/billing/services/tokenFormatter.d.ts +10 -0
- package/dist/billing/services/tokenFormatter.d.ts.map +1 -0
- package/dist/billing/services/tokenFormatter.js +27 -0
- package/dist/billing/services/tokenFormatter.js.map +1 -0
- package/dist/billing/utils.d.ts +8 -0
- package/dist/billing/utils.d.ts.map +1 -0
- package/dist/billing/utils.js +33 -0
- package/dist/billing/utils.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- 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 @@
|
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"balanceResponse.interface.js","sourceRoot":"","sources":["../../../src/billing/interfaces/balanceResponse.interface.ts"],"names":[],"mappings":""}
|
|
@@ -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 @@
|
|
|
1
|
+
{"version":3,"file":"billing.interface.js","sourceRoot":"","sources":["../../../src/billing/interfaces/billing.interface.ts"],"names":[],"mappings":""}
|
|
@@ -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 @@
|
|
|
1
|
+
{"version":3,"file":"canAffordResult.interface.js","sourceRoot":"","sources":["../../../src/billing/interfaces/canAffordResult.interface.ts"],"names":[],"mappings":""}
|
|
@@ -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 @@
|
|
|
1
|
+
{"version":3,"file":"chargeResult.interface.js","sourceRoot":"","sources":["../../../src/billing/interfaces/chargeResult.interface.ts"],"names":[],"mappings":""}
|
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"initialCreditResult.interface.js","sourceRoot":"","sources":["../../../src/billing/interfaces/initialCreditResult.interface.ts"],"names":[],"mappings":""}
|
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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":"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"}
|