@saasicat/nest 0.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 (96) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +53 -0
  3. package/dist/admin/index.cjs +1283 -0
  4. package/dist/admin/index.d.cts +225 -0
  5. package/dist/admin/index.d.ts +225 -0
  6. package/dist/admin/index.js +58 -0
  7. package/dist/admin-audit.service-9IqXMlZm.d.cts +30 -0
  8. package/dist/admin-audit.service-9IqXMlZm.d.ts +30 -0
  9. package/dist/admin-manifest.config-DyrQNT7M.d.cts +10 -0
  10. package/dist/admin-manifest.config-DyrQNT7M.d.ts +10 -0
  11. package/dist/aggregation-CJ3qQf92.d.cts +288 -0
  12. package/dist/aggregation-Dvz9e8X2.d.ts +288 -0
  13. package/dist/billing/index.cjs +5205 -0
  14. package/dist/billing/index.d.cts +1326 -0
  15. package/dist/billing/index.d.ts +1326 -0
  16. package/dist/billing/index.js +197 -0
  17. package/dist/catalog/index.cjs +6449 -0
  18. package/dist/catalog/index.d.cts +1073 -0
  19. package/dist/catalog/index.d.ts +1073 -0
  20. package/dist/catalog/index.js +158 -0
  21. package/dist/checkout-offer/index.cjs +807 -0
  22. package/dist/checkout-offer/index.d.cts +120 -0
  23. package/dist/checkout-offer/index.d.ts +120 -0
  24. package/dist/checkout-offer/index.js +20 -0
  25. package/dist/chunk-2FR6ZL7R.js +0 -0
  26. package/dist/chunk-2PNX2QL2.js +347 -0
  27. package/dist/chunk-2VNZYRDV.js +326 -0
  28. package/dist/chunk-7MLGHWKO.js +12 -0
  29. package/dist/chunk-ABB2CRAS.js +31 -0
  30. package/dist/chunk-AJ3EPELS.js +157 -0
  31. package/dist/chunk-E56W4U2P.js +90 -0
  32. package/dist/chunk-HRU3CP57.js +71 -0
  33. package/dist/chunk-L4SUWH5B.js +14 -0
  34. package/dist/chunk-M6CZQYPY.js +314 -0
  35. package/dist/chunk-MDIZUVIK.js +87 -0
  36. package/dist/chunk-MV6LW5UB.js +217 -0
  37. package/dist/chunk-NYLON2VC.js +6 -0
  38. package/dist/chunk-P6MYZMXQ.js +951 -0
  39. package/dist/chunk-Q53N43LQ.js +13 -0
  40. package/dist/chunk-QJVPRD3R.js +573 -0
  41. package/dist/chunk-RIGLQ4BV.js +3367 -0
  42. package/dist/chunk-SABTXESR.js +24 -0
  43. package/dist/chunk-SHUYVCID.js +6 -0
  44. package/dist/chunk-SYEVGPFC.js +686 -0
  45. package/dist/chunk-V7HUZ6UQ.js +5923 -0
  46. package/dist/chunk-WPUVJRIN.js +29 -0
  47. package/dist/chunk-XCZ3TTFK.js +22 -0
  48. package/dist/chunk-XSGU2Y2O.js +1611 -0
  49. package/dist/chunk-YNEW3L63.js +190 -0
  50. package/dist/chunk-YXGHPILG.js +614 -0
  51. package/dist/chunk-ZL4LLE2Z.js +465 -0
  52. package/dist/di-CcNeq9v-.d.cts +16 -0
  53. package/dist/di-CcNeq9v-.d.ts +16 -0
  54. package/dist/discovery/index.cjs +588 -0
  55. package/dist/discovery/index.d.cts +299 -0
  56. package/dist/discovery/index.d.ts +299 -0
  57. package/dist/discovery/index.js +49 -0
  58. package/dist/discovery.scanner-CUYLKlYT.d.cts +59 -0
  59. package/dist/discovery.scanner-CUYLKlYT.d.ts +59 -0
  60. package/dist/entitlement/index.cjs +805 -0
  61. package/dist/entitlement/index.d.cts +60 -0
  62. package/dist/entitlement/index.d.ts +60 -0
  63. package/dist/entitlement/index.js +57 -0
  64. package/dist/index.cjs +15918 -0
  65. package/dist/index.d.cts +85 -0
  66. package/dist/index.d.ts +85 -0
  67. package/dist/index.js +956 -0
  68. package/dist/plan-resolution-CFCoUkrE.d.cts +41 -0
  69. package/dist/plan-resolution-CFCoUkrE.d.ts +41 -0
  70. package/dist/platform/index.cjs +2772 -0
  71. package/dist/platform/index.d.cts +118 -0
  72. package/dist/platform/index.d.ts +118 -0
  73. package/dist/platform/index.js +37 -0
  74. package/dist/promo/index.cjs +995 -0
  75. package/dist/promo/index.d.cts +121 -0
  76. package/dist/promo/index.d.ts +121 -0
  77. package/dist/promo/index.js +58 -0
  78. package/dist/registration/index.cjs +1687 -0
  79. package/dist/registration/index.d.cts +444 -0
  80. package/dist/registration/index.d.ts +444 -0
  81. package/dist/registration/index.js +82 -0
  82. package/dist/saas-platform.module-CgZ2omgg.d.cts +180 -0
  83. package/dist/saas-platform.module-DT9TnCzk.d.ts +180 -0
  84. package/dist/service-DX8KbGXl.d.cts +109 -0
  85. package/dist/service-DX8KbGXl.d.ts +109 -0
  86. package/dist/subscription-contract/index.cjs +471 -0
  87. package/dist/subscription-contract/index.d.cts +17 -0
  88. package/dist/subscription-contract/index.d.ts +17 -0
  89. package/dist/subscription-contract/index.js +21 -0
  90. package/dist/subscription-contract.service--cm47ZJJ.d.cts +39 -0
  91. package/dist/subscription-contract.service--cm47ZJJ.d.ts +39 -0
  92. package/dist/testing/index.cjs +3942 -0
  93. package/dist/testing/index.d.cts +279 -0
  94. package/dist/testing/index.d.ts +279 -0
  95. package/dist/testing/index.js +1195 -0
  96. package/package.json +185 -0
@@ -0,0 +1,41 @@
1
+ import { PlanId } from '@saasicat/types';
2
+
3
+ /** Input shape: only the fields relevant to resolution. */
4
+ interface EntitlementResolutionInput {
5
+ plan: PlanId;
6
+ status: string;
7
+ isPilot?: boolean;
8
+ trialEntitlementPlan?: PlanId | null;
9
+ pendingPlan?: PlanId | null;
10
+ pendingEffectiveAt?: Date | null;
11
+ }
12
+ /**
13
+ * Consumer-specific override strategy. All fields optional —
14
+ * undefined means: no special handling, falls back to `subscription.plan`.
15
+ */
16
+ interface EntitlementResolutionConfig {
17
+ /** If `isPilot=true`, this plan applies instead of `subscription.plan`. */
18
+ pilotEntitlementPlan?: PlanId;
19
+ /** If `status="PENDING_SALES"`, this plan applies. */
20
+ pendingSalesEntitlementPlan?: PlanId;
21
+ /**
22
+ * Fallback during TRIAL, when `subscription.trialEntitlementPlan` is null.
23
+ * If the subscription sets a `trialEntitlementPlan`, that one wins.
24
+ */
25
+ defaultTrialEntitlementPlan?: PlanId;
26
+ }
27
+ /**
28
+ * Resolves the effective plan of a subscription for limit aggregation.
29
+ *
30
+ * Order of the override rules (highest first):
31
+ * 1. `isPilot` → `config.pilotEntitlementPlan` (if set).
32
+ * 2. `status === 'TRIAL'` → `subscription.trialEntitlementPlan`
33
+ * or `config.defaultTrialEntitlementPlan` (if set).
34
+ * 3. `status === 'PENDING_SALES'` → `config.pendingSalesEntitlementPlan`
35
+ * (if set).
36
+ * 4. `pendingPlan` with `pendingEffectiveAt <= now` → `pendingPlan`.
37
+ * 5. Default → `subscription.plan`.
38
+ */
39
+ declare function resolveEntitlementPlan(input: EntitlementResolutionInput, config: EntitlementResolutionConfig, now: Date): PlanId;
40
+
41
+ export { type EntitlementResolutionConfig as E, type EntitlementResolutionInput as a, resolveEntitlementPlan as r };
@@ -0,0 +1,41 @@
1
+ import { PlanId } from '@saasicat/types';
2
+
3
+ /** Input shape: only the fields relevant to resolution. */
4
+ interface EntitlementResolutionInput {
5
+ plan: PlanId;
6
+ status: string;
7
+ isPilot?: boolean;
8
+ trialEntitlementPlan?: PlanId | null;
9
+ pendingPlan?: PlanId | null;
10
+ pendingEffectiveAt?: Date | null;
11
+ }
12
+ /**
13
+ * Consumer-specific override strategy. All fields optional —
14
+ * undefined means: no special handling, falls back to `subscription.plan`.
15
+ */
16
+ interface EntitlementResolutionConfig {
17
+ /** If `isPilot=true`, this plan applies instead of `subscription.plan`. */
18
+ pilotEntitlementPlan?: PlanId;
19
+ /** If `status="PENDING_SALES"`, this plan applies. */
20
+ pendingSalesEntitlementPlan?: PlanId;
21
+ /**
22
+ * Fallback during TRIAL, when `subscription.trialEntitlementPlan` is null.
23
+ * If the subscription sets a `trialEntitlementPlan`, that one wins.
24
+ */
25
+ defaultTrialEntitlementPlan?: PlanId;
26
+ }
27
+ /**
28
+ * Resolves the effective plan of a subscription for limit aggregation.
29
+ *
30
+ * Order of the override rules (highest first):
31
+ * 1. `isPilot` → `config.pilotEntitlementPlan` (if set).
32
+ * 2. `status === 'TRIAL'` → `subscription.trialEntitlementPlan`
33
+ * or `config.defaultTrialEntitlementPlan` (if set).
34
+ * 3. `status === 'PENDING_SALES'` → `config.pendingSalesEntitlementPlan`
35
+ * (if set).
36
+ * 4. `pendingPlan` with `pendingEffectiveAt <= now` → `pendingPlan`.
37
+ * 5. Default → `subscription.plan`.
38
+ */
39
+ declare function resolveEntitlementPlan(input: EntitlementResolutionInput, config: EntitlementResolutionConfig, now: Date): PlanId;
40
+
41
+ export { type EntitlementResolutionConfig as E, type EntitlementResolutionInput as a, resolveEntitlementPlan as r };