@wipperoz/wipperoz-core 1.0.10 → 1.0.12

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.
@@ -1,4 +1,6 @@
1
1
  export * from './services/tokenFormatter';
2
2
  export * from './services/accountCreditManager.service';
3
+ export * from './services/billingConfig.service';
4
+ export * from './services/costCalculator.service';
3
5
  export * from './services/stripePaymentMapper';
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/billing/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yCAAyC,CAAC;AACxD,cAAc,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/billing/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yCAAyC,CAAC;AACxD,cAAc,kCAAkC,CAAC;AACjD,cAAc,mCAAmC,CAAC;AAClD,cAAc,gCAAgC,CAAC"}
@@ -3,5 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./services/tokenFormatter"), exports);
5
5
  tslib_1.__exportStar(require("./services/accountCreditManager.service"), exports);
6
+ tslib_1.__exportStar(require("./services/billingConfig.service"), exports);
7
+ tslib_1.__exportStar(require("./services/costCalculator.service"), exports);
6
8
  tslib_1.__exportStar(require("./services/stripePaymentMapper"), exports);
7
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/billing/index.ts"],"names":[],"mappings":";;;AAAA,oEAA0C;AAC1C,kFAAwD;AACxD,yEAA+C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/billing/index.ts"],"names":[],"mappings":";;;AAAA,oEAA0C;AAC1C,kFAAwD;AACxD,2EAAiD;AACjD,4EAAkD;AAClD,yEAA+C"}
@@ -6,5 +6,6 @@ export interface DepositMetadata {
6
6
  tokensAdded: number;
7
7
  stripeFeeCents: number;
8
8
  isAutoTopUp: boolean;
9
+ recipientId: string;
9
10
  }
10
11
  //# sourceMappingURL=depositMetadata.interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"depositMetadata.interface.d.ts","sourceRoot":"","sources":["../../../../src/billing/interfaces/accountCreditManager/depositMetadata.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,4CAA4C,CAAC;AAExE,MAAM,WAAW,eAAe;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,gBAAgB,EAAE,YAAY,CAAC;IAC/B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;CACtB"}
1
+ {"version":3,"file":"depositMetadata.interface.d.ts","sourceRoot":"","sources":["../../../../src/billing/interfaces/accountCreditManager/depositMetadata.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,4CAA4C,CAAC;AAExE,MAAM,WAAW,eAAe;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,gBAAgB,EAAE,YAAY,CAAC;IAC/B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB"}
@@ -0,0 +1,10 @@
1
+ export interface TopUpIntentResult {
2
+ clientSecret: string;
3
+ paymentIntentId: string;
4
+ tokens: number;
5
+ tokensFormatted: string;
6
+ priceCents: number;
7
+ currency: string;
8
+ priceFormatted: string;
9
+ }
10
+ //# sourceMappingURL=topUpIntentResult.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"topUpIntentResult.interface.d.ts","sourceRoot":"","sources":["../../../../src/billing/interfaces/billing/topUpIntentResult.interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;CACxB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=topUpIntentResult.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"topUpIntentResult.interface.js","sourceRoot":"","sources":["../../../../src/billing/interfaces/billing/topUpIntentResult.interface.ts"],"names":[],"mappings":""}
@@ -75,6 +75,15 @@ export declare class AccountCreditManagerService implements IAccountCreditManage
75
75
  success: boolean;
76
76
  error?: string;
77
77
  }>;
78
+ recordAutoTopUpFailure(accountId: string, errorMessage: string, recipientUserId?: string): Promise<{
79
+ success: boolean;
80
+ paused: boolean;
81
+ error?: string;
82
+ }>;
83
+ resetAutoTopUpFailures(accountId: string): Promise<{
84
+ success: boolean;
85
+ error?: string;
86
+ }>;
78
87
  private formatTransactionAmount;
79
88
  private getTransactionDescription;
80
89
  }
@@ -1 +1 @@
1
- {"version":3,"file":"accountCreditManager.service.d.ts","sourceRoot":"","sources":["../../../src/billing/services/accountCreditManager.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accountCreditManager.service.d.ts","sourceRoot":"","sources":["../../../src/billing/services/accountCreditManager.service.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AccountCreditManagerService = void 0;
4
4
  const costCalculator_service_1 = require("./costCalculator.service");
5
+ const sendWebSocketNotification_1 = require("../../utils/sendWebSocketNotification");
6
+ const enums_1 = require("@wipperoz/common-entities/dist/src/enums");
5
7
  const client_sqs_1 = require("@aws-sdk/client-sqs");
6
8
  const constants_1 = require("../constants");
7
9
  const utils_1 = require("../utils");
8
- const enums_1 = require("../enums");
10
+ const enums_2 = require("../enums");
9
11
  const account_service_1 = require("../../account/services/account.service");
10
12
  const src_1 = require("@wipperoz/common-entities-account/dist/src");
11
13
  class AccountCreditManagerService {
@@ -260,7 +262,7 @@ class AccountCreditManagerService {
260
262
  const newBalance = (billing?.balanceTokens ?? 0) - chargeAmount;
261
263
  const transactionDetails = {
262
264
  transactionId,
263
- type: enums_1.TransactionTypeEnum.USAGE,
265
+ type: enums_2.TransactionTypeEnum.USAGE,
264
266
  amountTokens: chargeAmount,
265
267
  timestamp,
266
268
  triggeredBy,
@@ -345,13 +347,13 @@ class AccountCreditManagerService {
345
347
  }
346
348
  const { billing } = account.Details.accountSettings;
347
349
  const newBalance = (billing?.balanceTokens ?? 0) + tokens;
348
- const transactionType = depositMetadata.isAutoTopUp ? enums_1.TransactionTypeEnum.AUTO_TOPUP : enums_1.TransactionTypeEnum.DEPOSIT;
350
+ const transactionType = depositMetadata.isAutoTopUp ? enums_2.TransactionTypeEnum.AUTO_TOPUP : enums_2.TransactionTypeEnum.DEPOSIT;
349
351
  const transactionDetails = {
350
352
  transactionId,
351
353
  type: transactionType,
352
354
  amountTokens: tokens,
353
355
  timestamp,
354
- triggeredBy: transactionType === enums_1.TransactionTypeEnum.AUTO_TOPUP ? 'system' : 'user',
356
+ triggeredBy: transactionType === enums_2.TransactionTypeEnum.AUTO_TOPUP ? 'system' : 'user',
355
357
  depositMetadata,
356
358
  };
357
359
  const nowDate = Date.now();
@@ -395,6 +397,21 @@ class AccountCreditManagerService {
395
397
  },
396
398
  ],
397
399
  });
400
+ await (0, sendWebSocketNotification_1.sendBellNotification)({
401
+ userId: depositMetadata.recipientId,
402
+ id: transactionId,
403
+ title: 'Deposit',
404
+ message: 'You have received a deposit',
405
+ category: enums_1.NotificationCategoryEnum.BILLING,
406
+ priority: enums_1.NotificationPriorityEnum.HIGH,
407
+ severity: enums_1.NotificationSeverityEnum.INFO,
408
+ metadata: {
409
+ transactionId,
410
+ amountTokens: tokens,
411
+ timestamp,
412
+ recipientId: depositMetadata.recipientId,
413
+ },
414
+ });
398
415
  return {
399
416
  success: true,
400
417
  newBalanceTokens: newBalance,
@@ -435,11 +452,11 @@ class AccountCreditManagerService {
435
452
  const newBalance = (account.Details.accountSettings.billing?.balanceTokens ?? 0) + initialTokens;
436
453
  const transactionDetails = {
437
454
  transactionId,
438
- type: enums_1.TransactionTypeEnum.INITIAL_CREDIT,
455
+ type: enums_2.TransactionTypeEnum.INITIAL_CREDIT,
439
456
  amountTokens: initialTokens,
440
457
  timestamp,
441
458
  triggeredBy: 'system',
442
- reason: enums_1.CreditReasonEnum.INITIAL_CREDIT,
459
+ reason: enums_2.CreditReasonEnum.INITIAL_CREDIT,
443
460
  };
444
461
  const nowDate = Date.now();
445
462
  try {
@@ -640,29 +657,134 @@ class AccountCreditManagerService {
640
657
  return { success: false, error: errorMessage };
641
658
  }
642
659
  }
660
+ async recordAutoTopUpFailure(accountId, errorMessage, recipientUserId) {
661
+ const account = await this.accountService.getAccountById(accountId);
662
+ if (!account) {
663
+ return { success: false, paused: false, error: 'Account not found' };
664
+ }
665
+ const autoTopUp = account.Details.accountSettings.billing?.autoTopUp;
666
+ if (!autoTopUp) {
667
+ return { success: false, paused: false, error: 'Auto top-up not configured' };
668
+ }
669
+ const newFailedAttempts = (autoTopUp.failedAttempts ?? 0) + 1;
670
+ const maxFailedAttempts = 3;
671
+ const shouldPause = newFailedAttempts >= maxFailedAttempts;
672
+ // Pause for 7 days after 3 failed attempts
673
+ const pausedUntil = shouldPause ? new Date(Date.now() + 7 * 24 * 60 * 60 * 1000).toISOString() : null;
674
+ try {
675
+ await this.db.update({
676
+ TableName: this.tableName,
677
+ Key: {
678
+ Pkey: account.Pkey,
679
+ Skey: account.Skey,
680
+ },
681
+ UpdateExpression: `
682
+ SET Details.accountSettings.billing.autoTopUp.failedAttempts = :failedAttempts,
683
+ Details.accountSettings.billing.autoTopUp.lastFailedAt = :lastFailedAt,
684
+ Details.accountSettings.billing.autoTopUp.lastFailureReason = :reason
685
+ ${shouldPause ? ', Details.accountSettings.billing.autoTopUp.pausedUntil = :pausedUntil' : ''}
686
+ `,
687
+ ExpressionAttributeValues: {
688
+ ':failedAttempts': newFailedAttempts,
689
+ ':lastFailedAt': new Date().toISOString(),
690
+ ':reason': errorMessage,
691
+ ...(shouldPause && { ':pausedUntil': pausedUntil }),
692
+ },
693
+ });
694
+ if (shouldPause) {
695
+ // Notify user that auto top-up is paused (Bell notification)
696
+ if (recipientUserId) {
697
+ try {
698
+ await (0, sendWebSocketNotification_1.sendBellNotification)({
699
+ userId: recipientUserId,
700
+ id: `auto-topup-paused:${accountId}:${Date.now()}`,
701
+ title: 'Auto Top-up Paused',
702
+ message: 'We paused your auto top-up after multiple failed attempts. Please check your payment method and resume in Billing settings.',
703
+ category: enums_1.NotificationCategoryEnum.BILLING,
704
+ priority: enums_1.NotificationPriorityEnum.MEDIUM,
705
+ severity: enums_1.NotificationSeverityEnum.WARNING,
706
+ metadata: {
707
+ accountId,
708
+ reason: errorMessage,
709
+ failedAttempts: newFailedAttempts,
710
+ pausedUntil,
711
+ template: 'AUTO_TOPUP_PAUSED',
712
+ },
713
+ });
714
+ }
715
+ catch (e) {
716
+ // Non-blocking notification failure
717
+ console.warn('[AccountCreditManagerService] Failed to send auto top-up paused notification', e);
718
+ }
719
+ }
720
+ else {
721
+ console.warn('[AccountCreditManagerService] recipientUserId not provided; skipping bell notification for auto top-up pause');
722
+ }
723
+ }
724
+ return { success: true, paused: shouldPause };
725
+ }
726
+ catch (error) {
727
+ return {
728
+ success: false,
729
+ paused: false,
730
+ error: error instanceof Error ? error.message : 'Update failed',
731
+ };
732
+ }
733
+ }
734
+ async resetAutoTopUpFailures(accountId) {
735
+ const account = await this.accountService.getAccountById(accountId);
736
+ if (!account) {
737
+ return { success: false, error: 'Account not found' };
738
+ }
739
+ try {
740
+ await this.db.update({
741
+ TableName: this.tableName,
742
+ Key: {
743
+ Pkey: account.Pkey,
744
+ Skey: account.Skey,
745
+ },
746
+ UpdateExpression: `
747
+ SET Details.accountSettings.billing.autoTopUp.failedAttempts = :zero,
748
+ Details.accountSettings.billing.autoTopUp.pausedUntil = :null,
749
+ Details.accountSettings.billing.autoTopUp.lastFailureReason = :null
750
+ `,
751
+ ExpressionAttributeValues: {
752
+ ':zero': 0,
753
+ ':null': null,
754
+ },
755
+ });
756
+ return { success: true };
757
+ }
758
+ catch (error) {
759
+ return {
760
+ success: false,
761
+ error: error instanceof Error ? error.message : 'Update failed',
762
+ };
763
+ }
764
+ }
643
765
  // ===========================================================================
644
766
  // PRIVATE HELPERS
645
767
  // ===========================================================================
646
768
  formatTransactionAmount(details) {
647
769
  const isCredit = [
648
- enums_1.TransactionTypeEnum.DEPOSIT,
649
- enums_1.TransactionTypeEnum.INITIAL_CREDIT,
650
- enums_1.TransactionTypeEnum.AUTO_TOPUP,
770
+ enums_2.TransactionTypeEnum.DEPOSIT,
771
+ enums_2.TransactionTypeEnum.INITIAL_CREDIT,
772
+ enums_2.TransactionTypeEnum.AUTO_TOPUP,
651
773
  ].includes(details.type);
652
774
  const sign = isCredit ? '+' : '-';
653
775
  return `${sign}${details.amountTokens} tokens`;
654
776
  }
655
777
  getTransactionDescription(details) {
656
778
  switch (details.type) {
657
- case enums_1.TransactionTypeEnum.USAGE: {
779
+ case enums_2.TransactionTypeEnum.USAGE: {
658
780
  const feature = details.usageMetadata?.feature ?? 'AI Request';
659
781
  return `AI Usage - ${feature}`;
660
782
  }
661
- case enums_1.TransactionTypeEnum.DEPOSIT:
783
+ case enums_2.TransactionTypeEnum.DEPOSIT:
662
784
  return 'Manual Top-up via Stripe';
663
- case enums_1.TransactionTypeEnum.AUTO_TOPUP:
785
+ case enums_2.TransactionTypeEnum.AUTO_TOPUP:
664
786
  return 'Auto Top-up via Stripe';
665
- case enums_1.TransactionTypeEnum.INITIAL_CREDIT:
787
+ case enums_2.TransactionTypeEnum.INITIAL_CREDIT:
666
788
  return 'Welcome Credit';
667
789
  default:
668
790
  return 'Transaction';
@@ -1 +1 @@
1
- {"version":3,"file":"accountCreditManager.service.js","sourceRoot":"","sources":["../../../src/billing/services/accountCreditManager.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accountCreditManager.service.js","sourceRoot":"","sources":["../../../src/billing/services/accountCreditManager.service.ts"],"names":[],"mappings":"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"}