@nehorai/credits 1.0.2 → 1.2.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 (39) hide show
  1. package/dist/adapters/generic.d.ts.map +1 -1
  2. package/dist/adapters/generic.js +9 -5
  3. package/dist/adapters/generic.js.map +1 -1
  4. package/dist/config/costs.d.ts +13 -18
  5. package/dist/config/costs.d.ts.map +1 -1
  6. package/dist/config/costs.js +17 -32
  7. package/dist/config/costs.js.map +1 -1
  8. package/dist/config/index.d.ts +26 -7
  9. package/dist/config/index.d.ts.map +1 -1
  10. package/dist/config/index.js +63 -7
  11. package/dist/config/index.js.map +1 -1
  12. package/dist/config/provider.d.ts +12 -0
  13. package/dist/config/provider.d.ts.map +1 -0
  14. package/dist/config/provider.js +14 -0
  15. package/dist/config/provider.js.map +1 -0
  16. package/dist/core/index.d.ts +1 -1
  17. package/dist/core/index.d.ts.map +1 -1
  18. package/dist/core/index.js +1 -1
  19. package/dist/core/index.js.map +1 -1
  20. package/dist/core/operations.d.ts.map +1 -1
  21. package/dist/core/operations.js +3 -2
  22. package/dist/core/operations.js.map +1 -1
  23. package/dist/core/types.d.ts +0 -11
  24. package/dist/core/types.d.ts.map +1 -1
  25. package/dist/core/types.js +0 -11
  26. package/dist/core/types.js.map +1 -1
  27. package/dist/index.d.ts +3 -2
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +3 -2
  30. package/dist/index.js.map +1 -1
  31. package/dist/notifications/index.d.ts +1 -1
  32. package/dist/notifications/index.d.ts.map +1 -1
  33. package/dist/notifications/index.js +3 -11
  34. package/dist/notifications/index.js.map +1 -1
  35. package/dist/service/credits-service.d.ts.map +1 -1
  36. package/dist/service/credits-service.js +7 -11
  37. package/dist/service/credits-service.js.map +1 -1
  38. package/package.json +10 -11
  39. package/LICENSE +0 -21
@@ -1 +1 @@
1
- {"version":3,"file":"generic.d.ts","sourceRoot":"","sources":["../../src/adapters/generic.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAgB,cAAc,EAAE,oBAAoB,EAAuB,MAAM,YAAY,CAAC;AAgB1G;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,GAAG,cAAc,CAgIjF"}
1
+ {"version":3,"file":"generic.d.ts","sourceRoot":"","sources":["../../src/adapters/generic.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAgB,cAAc,EAAE,oBAAoB,EAAuB,MAAM,YAAY,CAAC;AAgB1G;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,GAAG,cAAc,CAqIjF"}
@@ -25,7 +25,12 @@ function generateRequestId() {
25
25
  export function createGenericAdapter(config) {
26
26
  const { repository, authProvider, deferred, operationCosts } = config;
27
27
  function getOperationCost(operationType) {
28
- return operationCosts[operationType] ?? 0;
28
+ const cost = operationCosts[operationType];
29
+ if (cost === undefined) {
30
+ throw new Error(`Unknown operation type: "${operationType}". ` +
31
+ `Configured types: ${Object.keys(operationCosts).join(", ")}`);
32
+ }
33
+ return cost;
29
34
  }
30
35
  function logUsage(params) {
31
36
  deferred.defer(async () => {
@@ -56,11 +61,10 @@ export function createGenericAdapter(config) {
56
61
  const dummyReservation = createDummyReservation(user.id, options.operationType);
57
62
  return handler(user, data, dummyReservation);
58
63
  }
59
- // Calculate cost
60
- const cost = options.customCost ?? getOperationCost(options.operationType);
61
- // Reserve credits
64
+ // Calculate cost and reserve credits
62
65
  let reservation;
63
66
  try {
67
+ const cost = options.customCost ?? getOperationCost(options.operationType);
64
68
  reservation = await reserveCreditsForOperation(repository, user.id, cost, options.operationType);
65
69
  }
66
70
  catch (error) {
@@ -85,7 +89,7 @@ export function createGenericAdapter(config) {
85
89
  logUsage({
86
90
  userId: user.id,
87
91
  operationType: options.operationType,
88
- creditsUsed: cost,
92
+ creditsUsed: reservation.amount,
89
93
  success: true,
90
94
  resourceId: options.resourceId,
91
95
  resourceType: options.resourceType,
@@ -1 +1 @@
1
- {"version":3,"file":"generic.js","sourceRoot":"","sources":["../../src/adapters/generic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generic.js","sourceRoot":"","sources":["../../src/adapters/generic.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EACL,4BAA4B,EAC5B,6BAA6B,EAC7B,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAE/B;;GAEG;AACH,SAAS,iBAAiB;IACxB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/D,OAAO,OAAO,SAAS,IAAI,UAAU,EAAE,CAAC;AAC1C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAA4B;IAC/D,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,MAAM,CAAC;IAEtE,SAAS,gBAAgB,CAAC,aAAqB;QAC7C,MAAM,IAAI,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;QAC3C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,4BAA4B,aAAa,KAAK;gBAC9C,qBAAqB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC9D,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,QAAQ,CAAC,MASjB;QACC,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;YACxB,MAAM,UAAU,CAAC,QAAQ,CAAC;gBACxB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,QAAQ,EAAE,QAAQ;gBAClB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,WAAW,CACT,OAA2B,EAC3B,OAA6C;YAE7C,OAAO,KAAK,EAAE,IAAY,EAAkC,EAAE;gBAC5D,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC;gBAEtC,eAAe;gBACf,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,cAAc,EAAE,CAAC;gBACjD,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;oBACd,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC;gBAC9D,CAAC;gBAED,sDAAsD;gBACtD,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;oBACxB,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;oBAChF,OAAO,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;gBAC/C,CAAC;gBAED,qCAAqC;gBACrC,IAAI,WAAgC,CAAC;gBACrC,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,IAAI,gBAAgB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;oBAC3E,WAAW,GAAG,MAAM,0BAA0B,CAC5C,UAAU,EACV,IAAI,CAAC,EAAE,EACP,IAAI,EACJ,OAAO,CAAC,aAAa,CACtB,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,2BAA2B,CAAC;oBACrF,QAAQ,CAAC;wBACP,MAAM,EAAE,IAAI,CAAC,EAAE;wBACf,aAAa,EAAE,OAAO,CAAC,aAAa;wBACpC,WAAW,EAAE,CAAC;wBACd,OAAO,EAAE,KAAK;wBACd,YAAY,EAAE,OAAO;wBACrB,UAAU,EAAE,OAAO,CAAC,UAAU;wBAC9B,YAAY,EAAE,OAAO,CAAC,YAAY;wBAClC,SAAS;qBACV,CAAC,CAAC;oBACH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;gBAC5C,CAAC;gBAED,iBAAiB;gBACjB,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;oBAEtD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;wBACnB,MAAM,4BAA4B,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;wBACxE,QAAQ,CAAC;4BACP,MAAM,EAAE,IAAI,CAAC,EAAE;4BACf,aAAa,EAAE,OAAO,CAAC,aAAa;4BACpC,WAAW,EAAE,WAAW,CAAC,MAAM;4BAC/B,OAAO,EAAE,IAAI;4BACb,UAAU,EAAE,OAAO,CAAC,UAAU;4BAC9B,YAAY,EAAE,OAAO,CAAC,YAAY;4BAClC,SAAS;yBACV,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,MAAM,6BAA6B,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;wBACzE,QAAQ,CAAC;4BACP,MAAM,EAAE,IAAI,CAAC,EAAE;4BACf,aAAa,EAAE,OAAO,CAAC,aAAa;4BACpC,WAAW,EAAE,CAAC;4BACd,OAAO,EAAE,KAAK;4BACd,YAAY,EAAE,MAAM,CAAC,KAAK;4BAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;4BAC9B,YAAY,EAAE,OAAO,CAAC,YAAY;4BAClC,SAAS;yBACV,CAAC,CAAC;oBACL,CAAC;oBAED,OAAO,MAAM,CAAC;gBAChB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B,CAAC;oBACxF,MAAM,6BAA6B,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC;oBACzE,QAAQ,CAAC;wBACP,MAAM,EAAE,IAAI,CAAC,EAAE;wBACf,aAAa,EAAE,OAAO,CAAC,aAAa;wBACpC,WAAW,EAAE,CAAC;wBACd,OAAO,EAAE,KAAK;wBACd,YAAY,EAAE,OAAO;wBACrB,UAAU,EAAE,OAAO,CAAC,UAAU;wBAC9B,YAAY,EAAE,OAAO,CAAC,YAAY;wBAClC,SAAS;qBACV,CAAC,CAAC;oBACH,OAAO,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;oBACtC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;gBAC5C,CAAC;YACH,CAAC,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,IAAa;IAClC,OAAO,CACL,OAAO,IAAI,KAAK,QAAQ;QACxB,IAAI,KAAK,IAAI;QACb,SAAS,IAAI,IAAI;QAChB,IAAgC,CAAC,OAAO,KAAK,IAAI,CACnD,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAc,EAAE,aAAqB;IACnE,OAAO;QACL,EAAE,EAAE,cAAc;QAClB,MAAM;QACN,MAAM,EAAE,CAAC;QACT,aAAa;QACb,MAAM,EAAE,UAAU;QAClB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;AACJ,CAAC"}
@@ -15,14 +15,6 @@ export declare function getOperationCosts(): Record<string, number>;
15
15
  */
16
16
  export declare function getOperationCost(type: string): number;
17
17
  export { getValidOperationTypes, isValidOperationType };
18
- /**
19
- * Tier configurations with monthly limits and pricing
20
- *
21
- * NOTE: This is kept for backward compatibility.
22
- * The actual configs are loaded from configuration.
23
- * Use getTierConfig() instead of accessing this directly.
24
- */
25
- export declare const TIER_CONFIGS: Record<SubscriptionTier, TierConfig>;
26
18
  /**
27
19
  * Get tier configuration
28
20
  * Uses the configuration system for dynamic configs
@@ -40,22 +32,25 @@ export declare function getTierConfig(tier: SubscriptionTier): TierConfig;
40
32
  * @returns Monthly credit limit
41
33
  */
42
34
  export declare function getMonthlyLimit(tier: SubscriptionTier): number;
43
- /**
44
- * Default credits for new users (free tier)
45
- * Uses the configuration system
46
- */
47
- export declare const DEFAULT_FREE_CREDITS = 25;
48
35
  /**
49
36
  * Get default free credits from configuration
50
37
  */
51
38
  export declare function getDefaultFreeCredits(): number;
52
- /**
53
- * Reservation expiry time in milliseconds
54
- * Uses the configuration system
55
- */
56
- export declare const RESERVATION_EXPIRY_MS: number;
57
39
  /**
58
40
  * Get reservation expiry time from configuration
59
41
  */
60
42
  export declare function getReservationExpiryMs(): number;
43
+ /**
44
+ * Information about an operation's cost and display label
45
+ */
46
+ export interface OperationCostInfo {
47
+ key: string;
48
+ cost: number;
49
+ label: string;
50
+ }
51
+ /**
52
+ * Get all operation costs with their display labels.
53
+ * Returns a record keyed by operation type with cost + label.
54
+ */
55
+ export declare function getOperationCostsWithLabels(): Record<string, OperationCostInfo>;
61
56
  //# sourceMappingURL=costs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"costs.d.ts","sourceRoot":"","sources":["../../src/config/costs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAKL,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE1D;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAErD;AAGD,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,CAAC;AAExD;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,gBAAgB,EAAE,UAAU,CAa7D,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,gBAAgB,GAAG,UAAU,CAEhE;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAE9D;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED;;;GAGG;AACH,eAAO,MAAM,qBAAqB,QAAgB,CAAC;AAEnD;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C"}
1
+ {"version":3,"file":"costs.d.ts","sourceRoot":"","sources":["../../src/config/costs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAKL,sBAAsB,EACtB,oBAAoB,EAErB,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE1D;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAErD;AAGD,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,CAAC;AAExD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,gBAAgB,GAAG,UAAU,CAEhE;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAE9D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,IAAI,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAW/E"}
@@ -1,4 +1,4 @@
1
- import { getConfig, getConfigOperationCost, getConfigTierConfig, getConfigMonthlyLimit, getValidOperationTypes, isValidOperationType, } from "./index.js";
1
+ import { getConfig, getConfigOperationCost, getConfigTierConfig, getConfigMonthlyLimit, getValidOperationTypes, isValidOperationType, getOperationLabel, } from "./index.js";
2
2
  /**
3
3
  * Get operation costs as a record
4
4
  * Returns all configured operation costs from the current config
@@ -19,27 +19,6 @@ export function getOperationCost(type) {
19
19
  }
20
20
  // Re-export validation helpers for convenience
21
21
  export { getValidOperationTypes, isValidOperationType };
22
- /**
23
- * Tier configurations with monthly limits and pricing
24
- *
25
- * NOTE: This is kept for backward compatibility.
26
- * The actual configs are loaded from configuration.
27
- * Use getTierConfig() instead of accessing this directly.
28
- */
29
- export const TIER_CONFIGS = {
30
- get free() {
31
- return getConfig().tierConfigs.free;
32
- },
33
- get basic() {
34
- return getConfig().tierConfigs.basic;
35
- },
36
- get premium() {
37
- return getConfig().tierConfigs.premium;
38
- },
39
- get unlimited() {
40
- return getConfig().tierConfigs.unlimited;
41
- },
42
- };
43
22
  /**
44
23
  * Get tier configuration
45
24
  * Uses the configuration system for dynamic configs
@@ -61,26 +40,32 @@ export function getTierConfig(tier) {
61
40
  export function getMonthlyLimit(tier) {
62
41
  return getConfigMonthlyLimit(tier);
63
42
  }
64
- /**
65
- * Default credits for new users (free tier)
66
- * Uses the configuration system
67
- */
68
- export const DEFAULT_FREE_CREDITS = 25; // Static fallback, actual value from getConfig().defaultFreeCredits
69
43
  /**
70
44
  * Get default free credits from configuration
71
45
  */
72
46
  export function getDefaultFreeCredits() {
73
47
  return getConfig().defaultFreeCredits;
74
48
  }
75
- /**
76
- * Reservation expiry time in milliseconds
77
- * Uses the configuration system
78
- */
79
- export const RESERVATION_EXPIRY_MS = 5 * 60 * 1000; // Static fallback
80
49
  /**
81
50
  * Get reservation expiry time from configuration
82
51
  */
83
52
  export function getReservationExpiryMs() {
84
53
  return getConfig().reservationExpiryMs;
85
54
  }
55
+ /**
56
+ * Get all operation costs with their display labels.
57
+ * Returns a record keyed by operation type with cost + label.
58
+ */
59
+ export function getOperationCostsWithLabels() {
60
+ const config = getConfig();
61
+ const result = {};
62
+ for (const [key, cost] of Object.entries(config.operationCosts)) {
63
+ result[key] = {
64
+ key,
65
+ cost,
66
+ label: getOperationLabel(key),
67
+ };
68
+ }
69
+ return result;
70
+ }
86
71
  //# sourceMappingURL=costs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"costs.js","sourceRoot":"","sources":["../../src/config/costs.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EACT,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,EAAE,GAAG,SAAS,EAAE,CAAC,cAAc,EAAE,CAAC;AAC3C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,+CAA+C;AAC/C,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,CAAC;AAExD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAyC;IAChE,IAAI,IAAI;QACN,OAAO,SAAS,EAAE,CAAC,WAAW,CAAC,IAAK,CAAC;IACvC,CAAC;IACD,IAAI,KAAK;QACP,OAAO,SAAS,EAAE,CAAC,WAAW,CAAC,KAAM,CAAC;IACxC,CAAC;IACD,IAAI,OAAO;QACT,OAAO,SAAS,EAAE,CAAC,WAAW,CAAC,OAAQ,CAAC;IAC1C,CAAC;IACD,IAAI,SAAS;QACX,OAAO,SAAS,EAAE,CAAC,WAAW,CAAC,SAAU,CAAC;IAC5C,CAAC;CACF,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,IAAsB;IAClD,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,IAAsB;IACpD,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC,CAAC,oEAAoE;AAE5G;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,SAAS,EAAE,CAAC,kBAAkB,CAAC;AACxC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,kBAAkB;AAEtE;;GAEG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO,SAAS,EAAE,CAAC,mBAAmB,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"costs.js","sourceRoot":"","sources":["../../src/config/costs.ts"],"names":[],"mappings":"AACA,OAAO,EACL,SAAS,EACT,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,EAAE,GAAG,SAAS,EAAE,CAAC,cAAc,EAAE,CAAC;AAC3C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC;AACtC,CAAC;AAED,+CAA+C;AAC/C,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,CAAC;AAExD;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,IAAsB;IAClD,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAAC,IAAsB;IACpD,OAAO,qBAAqB,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,SAAS,EAAE,CAAC,kBAAkB,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO,SAAS,EAAE,CAAC,mBAAmB,CAAC;AACzC,CAAC;AAWD;;;GAGG;AACH,MAAM,UAAU,2BAA2B;IACzC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAsC,EAAE,CAAC;IACrD,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC;QAChE,MAAM,CAAC,GAAG,CAAC,GAAG;YACZ,GAAG;YACH,IAAI;YACJ,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC;SAC9B,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -10,6 +10,11 @@ declare const creditSystemConfigSchema: z.ZodObject<{
10
10
  * Values are positive numbers representing credit cost
11
11
  */
12
12
  operationCosts: z.ZodRecord<z.ZodString, z.ZodNumber>;
13
+ /**
14
+ * Display labels for operation types (English canonical labels).
15
+ * Falls back to auto-generating from snake_case keys if not provided.
16
+ */
17
+ operationLabels: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>>;
13
18
  /**
14
19
  * Tier configurations
15
20
  */
@@ -69,19 +74,20 @@ declare const creditSystemConfigSchema: z.ZodObject<{
69
74
  usageHistory?: boolean | undefined;
70
75
  }>>;
71
76
  }, "strip", z.ZodTypeAny, {
72
- features: {
73
- journalEntries: boolean;
74
- notifications: boolean;
75
- subscriptionExpiry: boolean;
76
- usageHistory: boolean;
77
- };
78
77
  operationCosts: Record<string, number>;
78
+ operationLabels: Record<string, string>;
79
79
  tierConfigs: Partial<Record<"free" | "basic" | "premium" | "unlimited", {
80
80
  tier: "free" | "basic" | "premium" | "unlimited";
81
81
  monthlyCredits: number;
82
82
  priceUsd: number;
83
83
  features: string[];
84
84
  }>>;
85
+ features: {
86
+ journalEntries: boolean;
87
+ notifications: boolean;
88
+ subscriptionExpiry: boolean;
89
+ usageHistory: boolean;
90
+ };
85
91
  reservationExpiryMs: number;
86
92
  defaultFreeCredits: number;
87
93
  subscriptionGracePeriodDays: number;
@@ -95,6 +101,7 @@ declare const creditSystemConfigSchema: z.ZodObject<{
95
101
  priceUsd: number;
96
102
  features: string[];
97
103
  }>>;
104
+ operationLabels?: Record<string, string> | undefined;
98
105
  features?: {
99
106
  journalEntries?: boolean | undefined;
100
107
  notifications?: boolean | undefined;
@@ -125,7 +132,9 @@ export declare function loadConfigFromEnv(): Partial<CreditSystemConfig>;
125
132
  */
126
133
  export declare function initializeConfig(overrides?: Partial<CreditSystemConfig>): CreditSystemConfig;
127
134
  /**
128
- * Get the current configuration
135
+ * Get the current configuration.
136
+ * If an external provider is registered, delegates to it.
137
+ * Otherwise falls back to the local currentConfig.
129
138
  */
130
139
  export declare function getConfig(): CreditSystemConfig;
131
140
  /**
@@ -157,6 +166,16 @@ export declare function getConfigMonthlyLimit(tier: SubscriptionTier): number;
157
166
  * Check if a feature is enabled
158
167
  */
159
168
  export declare function isFeatureEnabled(feature: keyof CreditSystemConfig["features"]): boolean;
169
+ /**
170
+ * Get the display label for an operation type.
171
+ * Falls back to converting snake_case to Title Case if no label is configured.
172
+ */
173
+ export declare function getOperationLabel(operationType: string): string;
174
+ /**
175
+ * Get all operation labels as a record.
176
+ * For any operation in operationCosts that lacks a label, generates one from the key.
177
+ */
178
+ export declare function getOperationLabels(): Record<string, string>;
160
179
  /**
161
180
  * Reset configuration to defaults (for testing)
162
181
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAYrE;;GAEG;AACH,QAAA,MAAM,wBAAwB;IAC5B;;;;OAIG;;IAMH;;OAEG;;;;;;;;;;;;;;;;;IAMH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYH,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AA6E1E;;;;;;GAMG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAuD/D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,kBAAkB,CAiC5F;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,kBAAkB,CAE9C;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,EAAE,CAEjD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAQpE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,GAAG,UAAU,CAEtE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAGpE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,kBAAkB,CAAC,UAAU,CAAC,GAAG,OAAO,CAEvF;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAElC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAarE;;GAEG;AACH,QAAA,MAAM,wBAAwB;IAC5B;;;;OAIG;;IAMH;;;OAGG;;IAMH;;OAEG;;;;;;;;;;;;;;;;;IAMH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYH,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAmF1E;;;;;;GAMG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAuD/D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,kBAAkB,CAsC5F;AAED;;;;GAIG;AACH,wBAAgB,SAAS,IAAI,kBAAkB,CAM9C;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,EAAE,CAEjD;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAQpE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,gBAAgB,GAAG,UAAU,CAEtE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAGpE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,kBAAkB,CAAC,UAAU,CAAC,GAAG,OAAO,CAEvF;AAYD;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAM/D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQ3D;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAElC"}
@@ -1,4 +1,5 @@
1
1
  import { z } from "zod";
2
+ import { getConfigProvider } from "./provider.js";
2
3
  /**
3
4
  * Schema for tier configuration
4
5
  */
@@ -18,6 +19,11 @@ const creditSystemConfigSchema = z.object({
18
19
  * Values are positive numbers representing credit cost
19
20
  */
20
21
  operationCosts: z.record(z.string().min(1), z.number().positive()),
22
+ /**
23
+ * Display labels for operation types (English canonical labels).
24
+ * Falls back to auto-generating from snake_case keys if not provided.
25
+ */
26
+ operationLabels: z.record(z.string().min(1), z.string().min(1)).optional().default({}),
21
27
  /**
22
28
  * Tier configurations
23
29
  */
@@ -67,6 +73,12 @@ const DEFAULT_CONFIG = {
67
73
  image_generation: 10,
68
74
  template_generation: 10,
69
75
  },
76
+ operationLabels: {
77
+ story_generation: "Story generation",
78
+ conversation: "Conversation",
79
+ image_generation: "Image generation",
80
+ template_generation: "Template generation",
81
+ },
70
82
  tierConfigs: {
71
83
  free: {
72
84
  tier: "free",
@@ -203,6 +215,11 @@ export function initializeConfig(overrides) {
203
215
  ...envConfig.operationCosts,
204
216
  ...overrides?.operationCosts,
205
217
  },
218
+ operationLabels: {
219
+ ...DEFAULT_CONFIG.operationLabels,
220
+ ...envConfig.operationLabels,
221
+ ...overrides?.operationLabels,
222
+ },
206
223
  tierConfigs: {
207
224
  ...DEFAULT_CONFIG.tierConfigs,
208
225
  ...envConfig.tierConfigs,
@@ -224,9 +241,15 @@ export function initializeConfig(overrides) {
224
241
  return currentConfig;
225
242
  }
226
243
  /**
227
- * Get the current configuration
244
+ * Get the current configuration.
245
+ * If an external provider is registered, delegates to it.
246
+ * Otherwise falls back to the local currentConfig.
228
247
  */
229
248
  export function getConfig() {
249
+ const provider = getConfigProvider();
250
+ if (provider) {
251
+ return provider.getConfig();
252
+ }
230
253
  return currentConfig;
231
254
  }
232
255
  /**
@@ -234,7 +257,7 @@ export function getConfig() {
234
257
  * Returns the keys of the operationCosts object
235
258
  */
236
259
  export function getValidOperationTypes() {
237
- return Object.keys(currentConfig.operationCosts);
260
+ return Object.keys(getConfig().operationCosts);
238
261
  }
239
262
  /**
240
263
  * Check if an operation type is valid (configured in the system)
@@ -242,14 +265,14 @@ export function getValidOperationTypes() {
242
265
  * @returns true if the operation type is configured
243
266
  */
244
267
  export function isValidOperationType(type) {
245
- return type in currentConfig.operationCosts;
268
+ return type in getConfig().operationCosts;
246
269
  }
247
270
  /**
248
271
  * Get operation cost from configuration
249
272
  * @throws Error if the operation type is not configured
250
273
  */
251
274
  export function getConfigOperationCost(operationType) {
252
- const cost = currentConfig.operationCosts[operationType];
275
+ const cost = getConfig().operationCosts[operationType];
253
276
  if (cost === undefined) {
254
277
  throw new Error(`Unknown operation type: ${operationType}. Valid types: ${getValidOperationTypes().join(", ")}`);
255
278
  }
@@ -259,21 +282,54 @@ export function getConfigOperationCost(operationType) {
259
282
  * Get tier configuration from configuration
260
283
  */
261
284
  export function getConfigTierConfig(tier) {
262
- return currentConfig.tierConfigs[tier];
285
+ return getConfig().tierConfigs[tier];
263
286
  }
264
287
  /**
265
288
  * Get monthly limit for a tier from configuration
266
289
  * Returns Infinity for unlimited tier
267
290
  */
268
291
  export function getConfigMonthlyLimit(tier) {
269
- const config = currentConfig.tierConfigs[tier];
292
+ const config = getConfig().tierConfigs[tier];
270
293
  return config.monthlyCredits === 0 ? Infinity : config.monthlyCredits;
271
294
  }
272
295
  /**
273
296
  * Check if a feature is enabled
274
297
  */
275
298
  export function isFeatureEnabled(feature) {
276
- return currentConfig.features[feature];
299
+ return getConfig().features[feature];
300
+ }
301
+ /**
302
+ * Convert a snake_case string to Title Case.
303
+ * E.g., "story_generation" -> "Story Generation"
304
+ */
305
+ function snakeCaseToTitleCase(str) {
306
+ return str
307
+ .replace(/_/g, " ")
308
+ .replace(/\b\w/g, (c) => c.toUpperCase());
309
+ }
310
+ /**
311
+ * Get the display label for an operation type.
312
+ * Falls back to converting snake_case to Title Case if no label is configured.
313
+ */
314
+ export function getOperationLabel(operationType) {
315
+ const labels = getConfig().operationLabels;
316
+ if (labels && operationType in labels) {
317
+ return labels[operationType];
318
+ }
319
+ return snakeCaseToTitleCase(operationType);
320
+ }
321
+ /**
322
+ * Get all operation labels as a record.
323
+ * For any operation in operationCosts that lacks a label, generates one from the key.
324
+ */
325
+ export function getOperationLabels() {
326
+ const config = getConfig();
327
+ const result = {};
328
+ for (const key of Object.keys(config.operationCosts)) {
329
+ result[key] = config.operationLabels?.[key]
330
+ ?? snakeCaseToTitleCase(key);
331
+ }
332
+ return result;
277
333
  }
278
334
  /**
279
335
  * Reset configuration to defaults (for testing)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { CreditSystemConfig } from "./index.js";
2
+ /** Interface for external config providers (e.g. Firestore-backed) */
3
+ export interface ICreditConfigProvider {
4
+ getConfig(): CreditSystemConfig;
5
+ }
6
+ /** Register an external config provider. Called once at app startup. */
7
+ export declare function registerConfigProvider(provider: ICreditConfigProvider): void;
8
+ /** Get the registered provider, or null if none registered. */
9
+ export declare function getConfigProvider(): ICreditConfigProvider | null;
10
+ /** Clear registered provider (for testing). */
11
+ export declare function clearConfigProvider(): void;
12
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/config/provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,sEAAsE;AACtE,MAAM,WAAW,qBAAqB;IACpC,SAAS,IAAI,kBAAkB,CAAC;CACjC;AAID,wEAAwE;AACxE,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,IAAI,CAE5E;AAED,+DAA+D;AAC/D,wBAAgB,iBAAiB,IAAI,qBAAqB,GAAG,IAAI,CAEhE;AAED,+CAA+C;AAC/C,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C"}
@@ -0,0 +1,14 @@
1
+ let configProvider = null;
2
+ /** Register an external config provider. Called once at app startup. */
3
+ export function registerConfigProvider(provider) {
4
+ configProvider = provider;
5
+ }
6
+ /** Get the registered provider, or null if none registered. */
7
+ export function getConfigProvider() {
8
+ return configProvider;
9
+ }
10
+ /** Clear registered provider (for testing). */
11
+ export function clearConfigProvider() {
12
+ configProvider = null;
13
+ }
14
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/config/provider.ts"],"names":[],"mappings":"AAOA,IAAI,cAAc,GAAiC,IAAI,CAAC;AAExD,wEAAwE;AACxE,MAAM,UAAU,sBAAsB,CAAC,QAA+B;IACpE,cAAc,GAAG,QAAQ,CAAC;AAC5B,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,iBAAiB;IAC/B,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,+CAA+C;AAC/C,MAAM,UAAU,mBAAmB;IACjC,cAAc,GAAG,IAAI,CAAC;AACxB,CAAC"}
@@ -20,7 +20,7 @@
20
20
  * ```
21
21
  */
22
22
  export type { SubscriptionTier, CreditOperationType, AIProviderType, ResourceType, ReservationStatus, TransactionType, CreditSource, JournalReferenceType, PortableUserCredits, PortableReservation, PortableTransaction, PortableJournalEntry, PortableUsageLog, CreditCheckResult, MonthlyResetResult, SubscriptionExpiryResult, UsageHistoryEntry, UsageHistoryResponse, TierConfig, WithCreditsOptions, } from "./types.js";
23
- export { calculateAvailableCredits, toPortableTimestamp, toDate, CREDIT_CONSTANTS, } from "./types.js";
23
+ export { calculateAvailableCredits, toPortableTimestamp, toDate, } from "./types.js";
24
24
  export type { CreditErrorCodeType } from "./errors.js";
25
25
  export { CreditError, CreditErrorCode, isCreditError, isInsufficientCreditsError, createInsufficientCreditsError, createReservationNotFoundError, createReservationExpiredError, createReservationAlreadyProcessedError, createUserNotFoundError, createInvalidOperationTypeError, } from "./errors.js";
26
26
  export type { DeferredExecutor } from "./deferred.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,YAAY,EACV,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,iBAAiB,EACjB,oBAAoB,EACpB,UAAU,EACV,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,MAAM,EACN,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAGpB,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,EACL,WAAW,EACX,eAAe,EACf,aAAa,EACb,0BAA0B,EAC1B,8BAA8B,EAC9B,8BAA8B,EAC9B,6BAA6B,EAC7B,sCAAsC,EACtC,uBAAuB,EACvB,+BAA+B,GAChC,MAAM,aAAa,CAAC;AAGrB,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,sBAAsB,GACvB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,4BAA4B,EAC5B,6BAA6B,EAC7B,0BAA0B,GAC3B,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAGH,YAAY,EACV,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,iBAAiB,EACjB,oBAAoB,EACpB,UAAU,EACV,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,MAAM,GACP,MAAM,YAAY,CAAC;AAGpB,YAAY,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,EACL,WAAW,EACX,eAAe,EACf,aAAa,EACb,0BAA0B,EAC1B,8BAA8B,EAC9B,8BAA8B,EAC9B,6BAA6B,EAC7B,sCAAsC,EACtC,uBAAuB,EACvB,+BAA+B,GAChC,MAAM,aAAa,CAAC;AAGrB,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,sBAAsB,GACvB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,4BAA4B,EAC5B,6BAA6B,EAC7B,0BAA0B,GAC3B,MAAM,iBAAiB,CAAC"}
@@ -20,7 +20,7 @@
20
20
  * ```
21
21
  */
22
22
  // ==================== Type Utilities ====================
23
- export { calculateAvailableCredits, toPortableTimestamp, toDate, CREDIT_CONSTANTS, } from "./types.js";
23
+ export { calculateAvailableCredits, toPortableTimestamp, toDate, } from "./types.js";
24
24
  export { CreditError, CreditErrorCode, isCreditError, isInsufficientCreditsError, createInsufficientCreditsError, createReservationNotFoundError, createReservationExpiredError, createReservationAlreadyProcessedError, createUserNotFoundError, createInvalidOperationTypeError, } from "./errors.js";
25
25
  export { genericDeferred, synchronousDeferred, noopDeferred, createDeferredExecutor, } from "./deferred.js";
26
26
  // ==================== Operations ====================
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AA0BH,2DAA2D;AAC3D,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,MAAM,EACN,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAKpB,OAAO,EACL,WAAW,EACX,eAAe,EACf,aAAa,EACb,0BAA0B,EAC1B,8BAA8B,EAC9B,8BAA8B,EAC9B,6BAA6B,EAC7B,sCAAsC,EACtC,uBAAuB,EACvB,+BAA+B,GAChC,MAAM,aAAa,CAAC;AAKrB,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,sBAAsB,GACvB,MAAM,eAAe,CAAC;AAEvB,uDAAuD;AACvD,OAAO,EACL,4BAA4B,EAC5B,6BAA6B,EAC7B,0BAA0B,GAC3B,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AA0BH,2DAA2D;AAC3D,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,MAAM,GACP,MAAM,YAAY,CAAC;AAKpB,OAAO,EACL,WAAW,EACX,eAAe,EACf,aAAa,EACb,0BAA0B,EAC1B,8BAA8B,EAC9B,8BAA8B,EAC9B,6BAA6B,EAC7B,sCAAsC,EACtC,uBAAuB,EACvB,+BAA+B,GAChC,MAAM,aAAa,CAAC;AAKrB,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,sBAAsB,GACvB,MAAM,eAAe,CAAC;AAEvB,uDAAuD;AACvD,OAAO,EACL,4BAA4B,EAC5B,6BAA6B,EAC7B,0BAA0B,GAC3B,MAAM,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/core/operations.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEtD;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAChD,UAAU,EAAE,iBAAiB,EAC7B,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CA2Bf;AAED;;;;;;GAMG;AACH,wBAAsB,6BAA6B,CACjD,UAAU,EAAE,iBAAiB,EAC7B,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CA2Bf;AAED;;;;;;;;;GASG;AACH,wBAAsB,0BAA0B,CAC9C,UAAU,EAAE,iBAAiB,EAC7B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,QAAQ,GAAE,MAAsB,GAC/B,OAAO,CAAC,mBAAmB,CAAC,CAG9B"}
1
+ {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/core/operations.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAGtD;;;;;;GAMG;AACH,wBAAsB,4BAA4B,CAChD,UAAU,EAAE,iBAAiB,EAC7B,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CA2Bf;AAED;;;;;;GAMG;AACH,wBAAsB,6BAA6B,CACjD,UAAU,EAAE,iBAAiB,EAC7B,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CA2Bf;AAED;;;;;;;;;GASG;AACH,wBAAsB,0BAA0B,CAC9C,UAAU,EAAE,iBAAiB,EAC7B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,QAAQ,GAAE,MAAsB,GAC/B,OAAO,CAAC,mBAAmB,CAAC,CAG9B"}
@@ -4,6 +4,7 @@
4
4
  * Contains the business logic for credit operations that can be
5
5
  * used by any adapter or service implementation.
6
6
  */
7
+ import { getOperationLabel } from "../config/index.js";
7
8
  /**
8
9
  * Commit a reservation with journal entry
9
10
  *
@@ -30,7 +31,7 @@ export async function commitReservationWithJournal(repository, userId, reservati
30
31
  source: "operation_commit",
31
32
  referenceId: reservationId,
32
33
  referenceType: "reservation",
33
- description: `Committed ${reservation.amount} credits for ${reservation.operationType}`,
34
+ description: `Committed ${reservation.amount} credits for ${getOperationLabel(reservation.operationType)}`,
34
35
  metadata: {
35
36
  operationType: reservation.operationType,
36
37
  },
@@ -61,7 +62,7 @@ export async function releaseReservationWithJournal(repository, userId, reservat
61
62
  source: "operation_release",
62
63
  referenceId: reservationId,
63
64
  referenceType: "reservation",
64
- description: `Released ${reservation.amount} reserved credits for ${reservation.operationType}`,
65
+ description: `Released ${reservation.amount} reserved credits for ${getOperationLabel(reservation.operationType)}`,
65
66
  metadata: {
66
67
  operationType: reservation.operationType,
67
68
  amount: reservation.amount,
@@ -1 +1 @@
1
- {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/core/operations.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,UAA6B,EAC7B,MAAc,EACd,aAAqB;IAErB,yCAAyC;IACzC,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3E,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,eAAe,aAAa,YAAY,CAAC,CAAC;IAC5D,CAAC;IAED,oCAAoC;IACpC,MAAM,UAAU,CAAC,uBAAuB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAEhE,uBAAuB;IACvB,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACxD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,UAAU,CAAC,kBAAkB,CAAC;YAClC,MAAM;YACN,SAAS,EAAE,OAAO;YAClB,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,YAAY,EAAE,OAAO,CAAC,OAAO;YAC7B,MAAM,EAAE,kBAAkB;YAC1B,WAAW,EAAE,aAAa;YAC1B,aAAa,EAAE,aAAa;YAC5B,WAAW,EAAE,aAAa,WAAW,CAAC,MAAM,gBAAgB,WAAW,CAAC,aAAa,EAAE;YACvF,QAAQ,EAAE;gBACR,aAAa,EAAE,WAAW,CAAC,aAAa;aACzC;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,UAA6B,EAC7B,MAAc,EACd,aAAqB;IAErB,yCAAyC;IACzC,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAE3E,qCAAqC;IACrC,MAAM,UAAU,CAAC,wBAAwB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAEjE,iEAAiE;IACjE,IAAI,WAAW,EAAE,MAAM,KAAK,UAAU,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,UAAU,CAAC,kBAAkB,CAAC;gBAClC,MAAM;gBACN,SAAS,EAAE,QAAQ;gBACnB,MAAM,EAAE,CAAC,EAAE,6DAA6D;gBACxE,YAAY,EAAE,OAAO,CAAC,OAAO;gBAC7B,MAAM,EAAE,mBAAmB;gBAC3B,WAAW,EAAE,aAAa;gBAC1B,aAAa,EAAE,aAAa;gBAC5B,WAAW,EAAE,YAAY,WAAW,CAAC,MAAM,yBAAyB,WAAW,CAAC,aAAa,EAAE;gBAC/F,QAAQ,EAAE;oBACR,aAAa,EAAE,WAAW,CAAC,aAAa;oBACxC,MAAM,EAAE,WAAW,CAAC,MAAM;iBAC3B;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,UAA6B,EAC7B,MAAc,EACd,MAAc,EACd,aAAqB,EACrB,WAAmB,CAAC,GAAG,EAAE,GAAG,IAAI;IAEhC,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC;IAClD,OAAO,UAAU,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;AACnF,CAAC"}
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/core/operations.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,UAA6B,EAC7B,MAAc,EACd,aAAqB;IAErB,yCAAyC;IACzC,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC3E,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,eAAe,aAAa,YAAY,CAAC,CAAC;IAC5D,CAAC;IAED,oCAAoC;IACpC,MAAM,UAAU,CAAC,uBAAuB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAEhE,uBAAuB;IACvB,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACxD,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,UAAU,CAAC,kBAAkB,CAAC;YAClC,MAAM;YACN,SAAS,EAAE,OAAO;YAClB,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,YAAY,EAAE,OAAO,CAAC,OAAO;YAC7B,MAAM,EAAE,kBAAkB;YAC1B,WAAW,EAAE,aAAa;YAC1B,aAAa,EAAE,aAAa;YAC5B,WAAW,EAAE,aAAa,WAAW,CAAC,MAAM,gBAAgB,iBAAiB,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE;YAC1G,QAAQ,EAAE;gBACR,aAAa,EAAE,WAAW,CAAC,aAAa;aACzC;SACF,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,UAA6B,EAC7B,MAAc,EACd,aAAqB;IAErB,yCAAyC;IACzC,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAE3E,qCAAqC;IACrC,MAAM,UAAU,CAAC,wBAAwB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAEjE,iEAAiE;IACjE,IAAI,WAAW,EAAE,MAAM,KAAK,UAAU,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,UAAU,CAAC,kBAAkB,CAAC;gBAClC,MAAM;gBACN,SAAS,EAAE,QAAQ;gBACnB,MAAM,EAAE,CAAC,EAAE,6DAA6D;gBACxE,YAAY,EAAE,OAAO,CAAC,OAAO;gBAC7B,MAAM,EAAE,mBAAmB;gBAC3B,WAAW,EAAE,aAAa;gBAC1B,aAAa,EAAE,aAAa;gBAC5B,WAAW,EAAE,YAAY,WAAW,CAAC,MAAM,yBAAyB,iBAAiB,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE;gBAClH,QAAQ,EAAE;oBACR,aAAa,EAAE,WAAW,CAAC,aAAa;oBACxC,MAAM,EAAE,WAAW,CAAC,MAAM;iBAC3B;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,UAA6B,EAC7B,MAAc,EACd,MAAc,EACd,aAAqB,EACrB,WAAmB,CAAC,GAAG,EAAE,GAAG,IAAI;IAEhC,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC;IAClD,OAAO,UAAU,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;AACnF,CAAC"}
@@ -273,15 +273,4 @@ export interface WithCreditsOptions {
273
273
  /** Resource type for usage logging */
274
274
  resourceType?: ResourceType;
275
275
  }
276
- /**
277
- * Constants for credit system configuration
278
- */
279
- export declare const CREDIT_CONSTANTS: {
280
- /** Grace period in days after subscription expires before downgrade */
281
- readonly SUBSCRIPTION_GRACE_PERIOD_DAYS: 3;
282
- /** Low balance notification threshold */
283
- readonly LOW_BALANCE_THRESHOLD: 10;
284
- /** Cooldown in hours between low balance notifications */
285
- readonly LOW_BALANCE_NOTIFICATION_COOLDOWN_HOURS: 24;
286
- };
287
276
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
@@ -79,15 +79,4 @@ export function toDate(value) {
79
79
  return new Date();
80
80
  }
81
81
  // ==================== Constants ====================
82
- /**
83
- * Constants for credit system configuration
84
- */
85
- export const CREDIT_CONSTANTS = {
86
- /** Grace period in days after subscription expires before downgrade */
87
- SUBSCRIPTION_GRACE_PERIOD_DAYS: 3,
88
- /** Low balance notification threshold */
89
- LOW_BALANCE_THRESHOLD: 10,
90
- /** Cooldown in hours between low balance notifications */
91
- LOW_BALANCE_NOTIFICATION_COOLDOWN_HOURS: 24,
92
- };
93
82
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,8DAA8D;AAE9D;;;;;;;;;GASG;AACH,MAAM,UAAU,yBAAyB,CACvC,OAAe,EACf,YAAoB,EACpB,QAAgB;IAEhB,OAAO,OAAO,GAAG,YAAY,GAAG,QAAQ,CAAC;AAC3C,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;IAC7B,CAAC;IAED,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,QAAQ,IAAI,KAAK;QACjB,OAAQ,KAAgC,CAAC,MAAM,KAAK,UAAU,EAC9D,CAAC;QACD,OAAQ,KAAgC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC;IAClE,CAAC;IAED,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAClC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,MAAM,CAAC,KAAc;IACnC,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,QAAQ,IAAI,KAAK;QACjB,OAAQ,KAAgC,CAAC,MAAM,KAAK,UAAU,EAC9D,CAAC;QACD,OAAQ,KAAgC,CAAC,MAAM,EAAE,CAAC;IACpD,CAAC;IAED,OAAO,IAAI,IAAI,EAAE,CAAC;AACpB,CAAC;AAgSD,sDAAsD;AAEtD;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,uEAAuE;IACvE,8BAA8B,EAAE,CAAC;IACjC,yCAAyC;IACzC,qBAAqB,EAAE,EAAE;IACzB,0DAA0D;IAC1D,uCAAuC,EAAE,EAAE;CACnC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,8DAA8D;AAE9D;;;;;;;;;GASG;AACH,MAAM,UAAU,yBAAyB,CACvC,OAAe,EACf,YAAoB,EACpB,QAAgB;IAEhB,OAAO,OAAO,GAAG,YAAY,GAAG,QAAQ,CAAC;AAC3C,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAClC,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;IAC7B,CAAC;IAED,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,QAAQ,IAAI,KAAK;QACjB,OAAQ,KAAgC,CAAC,MAAM,KAAK,UAAU,EAC9D,CAAC;QACD,OAAQ,KAAgC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC;IAClE,CAAC;IAED,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAClC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,MAAM,CAAC,KAAc;IACnC,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,QAAQ,IAAI,KAAK;QACjB,OAAQ,KAAgC,CAAC,MAAM,KAAK,UAAU,EAC9D,CAAC;QACD,OAAQ,KAAgC,CAAC,MAAM,EAAE,CAAC;IACpD,CAAC;IAED,OAAO,IAAI,IAAI,EAAE,CAAC;AACpB,CAAC;AAgSD,sDAAsD"}
package/dist/index.d.ts CHANGED
@@ -37,8 +37,9 @@
37
37
  * ```
38
38
  */
39
39
  export * from "./core/index.js";
40
- export { getConfig, initializeConfig, loadConfigFromEnv, getValidOperationTypes, isValidOperationType, getConfigOperationCost, getConfigTierConfig, getConfigMonthlyLimit, isFeatureEnabled, resetConfig, type CreditSystemConfig, } from "./config/index.js";
41
- export { getOperationCosts, getOperationCost, getTierConfig, getMonthlyLimit, getDefaultFreeCredits, getReservationExpiryMs, TIER_CONFIGS, DEFAULT_FREE_CREDITS, RESERVATION_EXPIRY_MS, } from "./config/costs.js";
40
+ export { getConfig, initializeConfig, loadConfigFromEnv, getValidOperationTypes, isValidOperationType, getConfigOperationCost, getConfigTierConfig, getConfigMonthlyLimit, isFeatureEnabled, resetConfig, getOperationLabel, getOperationLabels, type CreditSystemConfig, } from "./config/index.js";
41
+ export { registerConfigProvider, getConfigProvider, clearConfigProvider, type ICreditConfigProvider, } from "./config/provider.js";
42
+ export { getOperationCosts, getOperationCost, getTierConfig, getMonthlyLimit, getDefaultFreeCredits, getReservationExpiryMs, getOperationCostsWithLabels, type OperationCostInfo, } from "./config/costs.js";
42
43
  export type { ICreditRepository, CreditRepositoryFactory, CreateReservationInput, CreateTransactionInput, CreateUsageLogInput, CreateJournalEntryInput, UsageLogQuery, JournalEntryQuery, CreditBalanceUpdate, TierUpdateInput, } from "./repository/types.js";
43
44
  export { toClientUserCredits } from "./repository/types.js";
44
45
  export { generateId, getNextMonthlyReset } from "./repository/utils.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAGH,cAAc,iBAAiB,CAAC;AAGhC,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,WAAW,EACX,KAAK,kBAAkB,GACxB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAI3B,YAAY,EACV,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EACvB,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EACL,wBAAwB,EACxB,8BAA8B,GAC/B,MAAM,8BAA8B,CAAC;AAGtC,cAAc,iBAAiB,CAAC;AAGhC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,qBAAqB,CAAC;AAGpC,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,kBAAkB,EAClB,wBAAwB,EACxB,0BAA0B,EAC1B,yBAAyB,EACzB,0BAA0B,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,GAChC,MAAM,0BAA0B,CAAC;AAIlC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,YAAY,EACV,mBAAmB,EACnB,wBAAwB,EACxB,WAAW,EACX,iBAAiB,EACjB,iBAAiB,IAAI,oBAAoB,EACzC,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,IAAI,oBAAoB,EACzC,oBAAoB,IAAI,uBAAuB,EAC/C,WAAW,EACX,gBAAgB,EAChB,gBAAgB,IAAI,mBAAmB,GACxC,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EACL,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,IAAI,2BAA2B,EACvD,wBAAwB,IAAI,2BAA2B,EACvD,uBAAuB,IAAI,0BAA0B,EACrD,eAAe,EACf,WAAW,EACX,aAAa,GACd,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,sBAAsB,EACtB,KAAK,eAAe,GACrB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAGH,cAAc,iBAAiB,CAAC;AAGhC,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,KAAK,kBAAkB,GACxB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,mBAAmB,EACnB,KAAK,qBAAqB,GAC3B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,2BAA2B,EAC3B,KAAK,iBAAiB,GACvB,MAAM,mBAAmB,CAAC;AAI3B,YAAY,EACV,iBAAiB,EACjB,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EACvB,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EACL,wBAAwB,EACxB,8BAA8B,GAC/B,MAAM,8BAA8B,CAAC;AAGtC,cAAc,iBAAiB,CAAC;AAGhC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,qBAAqB,CAAC;AAGpC,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,kBAAkB,EAClB,wBAAwB,EACxB,0BAA0B,EAC1B,yBAAyB,EACzB,0BAA0B,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,GAChC,MAAM,0BAA0B,CAAC;AAIlC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,YAAY,EACV,mBAAmB,EACnB,wBAAwB,EACxB,WAAW,EACX,iBAAiB,EACjB,iBAAiB,IAAI,oBAAoB,EACzC,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,IAAI,oBAAoB,EACzC,oBAAoB,IAAI,uBAAuB,EAC/C,WAAW,EACX,gBAAgB,EAChB,gBAAgB,IAAI,mBAAmB,GACxC,MAAM,gBAAgB,CAAC;AACxB,YAAY,EACV,aAAa,EACb,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EACL,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,IAAI,2BAA2B,EACvD,wBAAwB,IAAI,2BAA2B,EACvD,uBAAuB,IAAI,0BAA0B,EACrD,eAAe,EACf,WAAW,EACX,aAAa,GACd,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,sBAAsB,EACtB,KAAK,eAAe,GACrB,MAAM,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -39,8 +39,9 @@
39
39
  // ==================== Core ====================
40
40
  export * from "./core/index.js";
41
41
  // ==================== Config ====================
42
- export { getConfig, initializeConfig, loadConfigFromEnv, getValidOperationTypes, isValidOperationType, getConfigOperationCost, getConfigTierConfig, getConfigMonthlyLimit, isFeatureEnabled, resetConfig, } from "./config/index.js";
43
- export { getOperationCosts, getOperationCost, getTierConfig, getMonthlyLimit, getDefaultFreeCredits, getReservationExpiryMs, TIER_CONFIGS, DEFAULT_FREE_CREDITS, RESERVATION_EXPIRY_MS, } from "./config/costs.js";
42
+ export { getConfig, initializeConfig, loadConfigFromEnv, getValidOperationTypes, isValidOperationType, getConfigOperationCost, getConfigTierConfig, getConfigMonthlyLimit, isFeatureEnabled, resetConfig, getOperationLabel, getOperationLabels, } from "./config/index.js";
43
+ export { registerConfigProvider, getConfigProvider, clearConfigProvider, } from "./config/provider.js";
44
+ export { getOperationCosts, getOperationCost, getTierConfig, getMonthlyLimit, getDefaultFreeCredits, getReservationExpiryMs, getOperationCostsWithLabels, } from "./config/costs.js";
44
45
  export { toClientUserCredits } from "./repository/types.js";
45
46
  export { generateId, getNextMonthlyReset } from "./repository/utils.js";
46
47
  export { InMemoryCreditRepository, createInMemoryCreditRepository, } from "./repository/memory/index.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,iDAAiD;AACjD,cAAc,iBAAiB,CAAC;AAEhC,mDAAmD;AACnD,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,WAAW,GAEZ,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,mBAAmB,CAAC;AAgB3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EACL,wBAAwB,EACxB,8BAA8B,GAC/B,MAAM,8BAA8B,CAAC;AAEtC,iDAAiD;AACjD,cAAc,iBAAiB,CAAC;AAEhC,oDAAoD;AACpD,cAAc,oBAAoB,CAAC;AAEnC,qDAAqD;AACrD,cAAc,qBAAqB,CAAC;AAEpC,0DAA0D;AAC1D,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,kBAAkB,EAClB,wBAAwB,EACxB,0BAA0B,EAC1B,yBAAyB,EACzB,0BAA0B,GAG3B,MAAM,0BAA0B,CAAC;AAElC,gDAAgD;AAChD,uDAAuD;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAoB3D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EACL,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,IAAI,2BAA2B,EACvD,wBAAwB,IAAI,2BAA2B,EACvD,uBAAuB,IAAI,0BAA0B,EACrD,eAAe,EACf,WAAW,EACX,aAAa,GACd,MAAM,iBAAiB,CAAC;AAEzB,kDAAkD;AAClD,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,sBAAsB,GAEvB,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,iDAAiD;AACjD,cAAc,iBAAiB,CAAC;AAEhC,mDAAmD;AACnD,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,kBAAkB,GAEnB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,mBAAmB,GAEpB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,2BAA2B,GAE5B,MAAM,mBAAmB,CAAC;AAgB3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EACL,wBAAwB,EACxB,8BAA8B,GAC/B,MAAM,8BAA8B,CAAC;AAEtC,iDAAiD;AACjD,cAAc,iBAAiB,CAAC;AAEhC,oDAAoD;AACpD,cAAc,oBAAoB,CAAC;AAEnC,qDAAqD;AACrD,cAAc,qBAAqB,CAAC;AAEpC,0DAA0D;AAC1D,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,kBAAkB,EAClB,wBAAwB,EACxB,0BAA0B,EAC1B,yBAAyB,EACzB,0BAA0B,GAG3B,MAAM,0BAA0B,CAAC;AAElC,gDAAgD;AAChD,uDAAuD;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAoB3D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EACL,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,IAAI,2BAA2B,EACvD,wBAAwB,IAAI,2BAA2B,EACvD,uBAAuB,IAAI,0BAA0B,EACrD,eAAe,EACf,WAAW,EACX,aAAa,GACd,MAAM,iBAAiB,CAAC;AAEzB,kDAAkD;AAClD,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,sBAAsB,GAEvB,MAAM,kBAAkB,CAAC"}
@@ -50,7 +50,7 @@ export declare function clearCooldownState(): void;
50
50
  * @param newBalance - Balance after the operation
51
51
  * @param threshold - Custom threshold (defaults to 10)
52
52
  */
53
- export declare function checkAndNotifyLowBalance(userId: string, newBalance: number, threshold?: 10): Promise<void>;
53
+ export declare function checkAndNotifyLowBalance(userId: string, newBalance: number, threshold?: number): Promise<void>;
54
54
  /**
55
55
  * Trigger subscription expiring notification
56
56
  *
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/notifications/index.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAC/B;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,GACD;IACE,IAAI,EAAE,kBAAkB,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB,GACD;IACE,IAAI,EAAE,uBAAuB,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;CACvB,GACD;IACE,IAAI,EAAE,sBAAsB,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,OAAO,CAAC;CACxB,CAAC;AAEN;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnE;AAyFD;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,0BAA0B,GAClC,IAAI,CAEN;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAyBD;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,SAAS,KAAwB,GAChC,OAAO,CAAC,IAAI,CAAC,CAqBf;AAED;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,IAAI,EACf,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CAYf;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,OAAO,GACrB,OAAO,CAAC,IAAI,CAAC,CAMf;AAED;;;GAGG;AACH,qBAAa,0BAA2B,YAAW,0BAA0B;IACrE,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;CA2BxE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/notifications/index.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAC/B;IACE,IAAI,EAAE,aAAa,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,GACD;IACE,IAAI,EAAE,kBAAkB,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;CAChB,GACD;IACE,IAAI,EAAE,uBAAuB,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,IAAI,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;CACvB,GACD;IACE,IAAI,EAAE,sBAAsB,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,OAAO,CAAC;CACxB,CAAC;AAEN;;;GAGG;AACH,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnE;AA8ED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,0BAA0B,GAClC,IAAI,CAEN;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAyBD;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,SAAS,SAAkC,GAC1C,OAAO,CAAC,IAAI,CAAC,CAqBf;AAED;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,IAAI,EACf,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CAYf;AAED;;;;;GAKG;AACH,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,OAAO,GACrB,OAAO,CAAC,IAAI,CAAC,CAMf;AAED;;;GAGG;AACH,qBAAa,0BAA2B,YAAW,0BAA0B;IACrE,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;CA2BxE"}
@@ -1,17 +1,9 @@
1
- import { CREDIT_CONSTANTS } from "../core/types.js";
1
+ import { getConfig } from "../config/index.js";
2
2
  /**
3
3
  * In-memory cooldown tracker
4
4
  * In production, this should be stored in a persistent store
5
5
  */
6
6
  const cooldownState = new Map();
7
- /**
8
- * Default notification threshold for low balance
9
- */
10
- const LOW_BALANCE_THRESHOLD = CREDIT_CONSTANTS.LOW_BALANCE_THRESHOLD;
11
- /**
12
- * Cooldown period in milliseconds (24 hours)
13
- */
14
- const NOTIFICATION_COOLDOWN_MS = CREDIT_CONSTANTS.LOW_BALANCE_NOTIFICATION_COOLDOWN_HOURS * 60 * 60 * 1000;
15
7
  /**
16
8
  * Check if a notification is allowed (not in cooldown)
17
9
  */
@@ -34,7 +26,7 @@ function isNotificationAllowed(userId, eventType) {
34
26
  }
35
27
  if (!lastNotification)
36
28
  return true;
37
- return now - lastNotification.getTime() > NOTIFICATION_COOLDOWN_MS;
29
+ return now - lastNotification.getTime() > getConfig().lowBalanceNotificationCooldownHours * 60 * 60 * 1000;
38
30
  }
39
31
  /**
40
32
  * Record that a notification was sent
@@ -101,7 +93,7 @@ async function dispatchNotification(event) {
101
93
  * @param newBalance - Balance after the operation
102
94
  * @param threshold - Custom threshold (defaults to 10)
103
95
  */
104
- export async function checkAndNotifyLowBalance(userId, newBalance, threshold = LOW_BALANCE_THRESHOLD) {
96
+ export async function checkAndNotifyLowBalance(userId, newBalance, threshold = getConfig().lowBalanceThreshold) {
105
97
  // Check if balance is depleted
106
98
  if (newBalance <= 0 && isNotificationAllowed(userId, "depleted")) {
107
99
  recordNotification(userId, "depleted");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/notifications/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/notifications/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"credits-service.d.ts","sourceRoot":"","sources":["../../src/service/credits-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"credits-service.d.ts","sourceRoot":"","sources":["../../src/service/credits-service.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { toDate } from "../core/types.js";
2
2
  import { toClientUserCredits } from "../repository/types.js";
3
- import { DEFAULT_FREE_CREDITS, RESERVATION_EXPIRY_MS, getMonthlyLimit } from "../config/costs.js";
3
+ import { getConfig, getConfigMonthlyLimit, getOperationLabel } from "../config/index.js";
4
4
  /**
5
5
  * Check if a date is past the monthly reset date
6
6
  */
@@ -10,10 +10,6 @@ function isPastMonthlyReset(resetAt) {
10
10
  const resetDate = toDate(resetAt);
11
11
  return new Date() >= resetDate;
12
12
  }
13
- /**
14
- * Default grace period for subscription expiry (in days)
15
- */
16
- const DEFAULT_GRACE_PERIOD_DAYS = 3;
17
13
  /**
18
14
  * Credits service with dependency injection for repository
19
15
  *
@@ -56,7 +52,7 @@ export class CreditsService {
56
52
  }
57
53
  // Step 1: Check subscription expiry (for non-free tiers)
58
54
  if (data.tier !== "free" && data.subscriptionExpiresAt) {
59
- const expiryResult = await this.repository.checkAndHandleSubscriptionExpiry(userId, DEFAULT_GRACE_PERIOD_DAYS);
55
+ const expiryResult = await this.repository.checkAndHandleSubscriptionExpiry(userId, getConfig().subscriptionGracePeriodDays);
60
56
  if (expiryResult.wasDowngraded) {
61
57
  // Create journal entry for downgrade
62
58
  await this.repository.createJournalEntry({
@@ -121,7 +117,7 @@ export class CreditsService {
121
117
  * @returns Initialized user credits
122
118
  */
123
119
  async initializeUserCredits(userId) {
124
- const credits = await this.repository.initializeUserCredits(userId, "free", DEFAULT_FREE_CREDITS);
120
+ const credits = await this.repository.initializeUserCredits(userId, "free", getConfig().defaultFreeCredits);
125
121
  return toClientUserCredits(credits);
126
122
  }
127
123
  /**
@@ -166,7 +162,7 @@ export class CreditsService {
166
162
  * @throws Error if insufficient credits
167
163
  */
168
164
  async reserveCredits(userId, amount, operationType) {
169
- const expiresAt = new Date(Date.now() + RESERVATION_EXPIRY_MS);
165
+ const expiresAt = new Date(Date.now() + getConfig().reservationExpiryMs);
170
166
  return this.repository.reserveCreditsAtomic(userId, amount, operationType, expiresAt);
171
167
  }
172
168
  /**
@@ -193,7 +189,7 @@ export class CreditsService {
193
189
  source: "operation_commit",
194
190
  referenceId: reservationId,
195
191
  referenceType: "reservation",
196
- description: `Committed ${reservation.amount} credits for ${reservation.operationType}`,
192
+ description: `Committed ${reservation.amount} credits for ${getOperationLabel(reservation.operationType)}`,
197
193
  metadata: {
198
194
  operationType: reservation.operationType,
199
195
  },
@@ -227,7 +223,7 @@ export class CreditsService {
227
223
  source: "operation_release",
228
224
  referenceId: reservationId,
229
225
  referenceType: "reservation",
230
- description: `Released ${reservation.amount} reserved credits for ${reservation.operationType}`,
226
+ description: `Released ${reservation.amount} reserved credits for ${getOperationLabel(reservation.operationType)}`,
231
227
  metadata: {
232
228
  operationType: reservation.operationType,
233
229
  amount: reservation.amount,
@@ -260,7 +256,7 @@ export class CreditsService {
260
256
  * @param expiresAt - Subscription expiry date (optional)
261
257
  */
262
258
  async updateTier(userId, tier, expiresAt) {
263
- const monthlyLimit = getMonthlyLimit(tier);
259
+ const monthlyLimit = getConfigMonthlyLimit(tier);
264
260
  await this.repository.updateUserTier(userId, {
265
261
  tier,
266
262
  monthlyLimit: monthlyLimit === Infinity ? 0 : monthlyLimit,
@@ -1 +1 @@
1
- {"version":3,"file":"credits-service.js","sourceRoot":"","sources":["../../src/service/credits-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"credits-service.js","sourceRoot":"","sources":["../../src/service/credits-service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nehorai/credits",
3
- "version": "1.0.2",
3
+ "version": "1.2.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -42,9 +42,7 @@
42
42
  "default": "./dist/sdk/index.js"
43
43
  }
44
44
  },
45
- "files": [
46
- "dist"
47
- ],
45
+ "files": ["dist"],
48
46
  "license": "MIT",
49
47
  "author": "Nehorai Hadad",
50
48
  "repository": {
@@ -52,6 +50,13 @@
52
50
  "url": "https://github.com/NehoraiHadad/nehorai-plugins",
53
51
  "directory": "packages/credits"
54
52
  },
53
+ "scripts": {
54
+ "build": "tsc",
55
+ "test": "vitest run",
56
+ "test:watch": "vitest",
57
+ "typecheck": "tsc --noEmit",
58
+ "prepublishOnly": "pnpm build"
59
+ },
55
60
  "dependencies": {
56
61
  "zod": "^3.24.2"
57
62
  },
@@ -59,11 +64,5 @@
59
64
  "typescript": "^5.7.3",
60
65
  "vitest": "^3.0.5",
61
66
  "@types/node": "^22.13.4"
62
- },
63
- "scripts": {
64
- "build": "tsc",
65
- "test": "vitest run",
66
- "test:watch": "vitest",
67
- "typecheck": "tsc --noEmit"
68
67
  }
69
- }
68
+ }
package/LICENSE DELETED
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2024 Nehorai Hadad
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.