@fiado/type-kit 3.195.0 → 3.198.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 (133) hide show
  1. package/bin/creditEngine/dtos/AnticipatedPaymentQuote.d.ts +47 -0
  2. package/bin/creditEngine/dtos/AnticipatedPaymentQuote.js +22 -0
  3. package/bin/creditEngine/index.d.ts +1 -0
  4. package/bin/creditEngine/index.js +1 -0
  5. package/bin/index.d.ts +2 -0
  6. package/bin/index.js +8 -1
  7. package/bin/loanCredit/dtos/ActivationChecklist.d.ts +11 -0
  8. package/bin/loanCredit/dtos/ActivationChecklist.js +42 -0
  9. package/bin/loanCredit/dtos/LoanBeneficiary.d.ts +8 -0
  10. package/bin/{platformRbac/dtos/ResendOtpRequest.js → loanCredit/dtos/LoanBeneficiary.js} +14 -12
  11. package/bin/loanCredit/dtos/LoanBorrower.d.ts +22 -0
  12. package/bin/loanCredit/dtos/LoanBorrower.js +82 -0
  13. package/bin/loanCredit/dtos/LoanCredit.d.ts +50 -0
  14. package/bin/loanCredit/dtos/LoanCredit.js +174 -0
  15. package/bin/loanCredit/dtos/LoanInstallment.d.ts +27 -0
  16. package/bin/loanCredit/dtos/LoanInstallment.js +97 -0
  17. package/bin/loanCredit/dtos/requests/ChangeLoanCreditStatusRequest.d.ts +12 -0
  18. package/bin/{platformRbac/dtos/ResendSelfRegisterOtpRequest.js → loanCredit/dtos/requests/ChangeLoanCreditStatusRequest.js} +13 -13
  19. package/bin/loanCredit/dtos/requests/OriginateLoanCreditRequest.d.ts +22 -0
  20. package/bin/loanCredit/dtos/requests/OriginateLoanCreditRequest.js +84 -0
  21. package/bin/loanCredit/dtos/requests/UpdateActivationChecklistRequest.d.ts +11 -0
  22. package/bin/loanCredit/dtos/requests/UpdateActivationChecklistRequest.js +46 -0
  23. package/bin/loanCredit/dtos/requests/UpsertLoanBorrowerRequest.d.ts +14 -0
  24. package/bin/loanCredit/dtos/requests/UpsertLoanBorrowerRequest.js +57 -0
  25. package/bin/loanCredit/dtos/responses/LoanBorrowerResponse.d.ts +21 -0
  26. package/bin/loanCredit/dtos/responses/LoanBorrowerResponse.js +2 -0
  27. package/bin/loanCredit/dtos/responses/LoanCreditResponse.d.ts +38 -0
  28. package/bin/loanCredit/dtos/responses/LoanCreditResponse.js +2 -0
  29. package/bin/loanCredit/dtos/responses/LoanInstallmentResponse.d.ts +17 -0
  30. package/bin/loanCredit/dtos/responses/LoanInstallmentResponse.js +2 -0
  31. package/bin/loanCredit/dtos/responses/OriginateLoanCreditResponse.d.ts +10 -0
  32. package/bin/loanCredit/dtos/responses/OriginateLoanCreditResponse.js +2 -0
  33. package/bin/loanCredit/enums/ClientLevelEnum.d.ts +11 -0
  34. package/bin/loanCredit/enums/ClientLevelEnum.js +15 -0
  35. package/bin/loanCredit/enums/LoanCreditStatusEnum.d.ts +21 -0
  36. package/bin/loanCredit/enums/LoanCreditStatusEnum.js +25 -0
  37. package/bin/loanCredit/enums/LoanInstallmentStatusEnum.d.ts +11 -0
  38. package/bin/loanCredit/enums/LoanInstallmentStatusEnum.js +15 -0
  39. package/bin/loanCredit/index.d.ts +16 -0
  40. package/bin/loanCredit/index.js +36 -0
  41. package/bin/loanScoring/dtos/SciBreakdown.d.ts +29 -0
  42. package/bin/loanScoring/dtos/SciBreakdown.js +2 -0
  43. package/bin/loanScoring/dtos/ScoringDecision.d.ts +29 -0
  44. package/bin/loanScoring/dtos/ScoringDecision.js +2 -0
  45. package/bin/loanScoring/dtos/ScoringOffer.d.ts +18 -0
  46. package/bin/loanScoring/dtos/ScoringOffer.js +2 -0
  47. package/bin/loanScoring/dtos/requests/EvaluateSciRequest.d.ts +23 -0
  48. package/bin/loanScoring/dtos/requests/EvaluateSciRequest.js +54 -0
  49. package/bin/loanScoring/dtos/requests/SciInternalHistoryInput.d.ts +19 -0
  50. package/bin/loanScoring/dtos/requests/SciInternalHistoryInput.js +51 -0
  51. package/bin/loanScoring/dtos/responses/EvaluateSciResponse.d.ts +24 -0
  52. package/bin/loanScoring/dtos/responses/EvaluateSciResponse.js +2 -0
  53. package/bin/loanScoring/dtos/responses/SciEvaluationResponse.d.ts +28 -0
  54. package/bin/loanScoring/dtos/responses/SciEvaluationResponse.js +2 -0
  55. package/bin/loanScoring/enums/ClientLevelEnum.d.ts +13 -0
  56. package/bin/loanScoring/enums/ClientLevelEnum.js +17 -0
  57. package/bin/loanScoring/enums/SciLayer2SourceEnum.d.ts +11 -0
  58. package/bin/loanScoring/enums/SciLayer2SourceEnum.js +15 -0
  59. package/bin/loanScoring/enums/ScoringDecisionEnum.d.ts +14 -0
  60. package/bin/loanScoring/enums/ScoringDecisionEnum.js +18 -0
  61. package/bin/loanScoring/enums/ScoringProviderEnum.d.ts +12 -0
  62. package/bin/loanScoring/enums/ScoringProviderEnum.js +16 -0
  63. package/bin/loanScoring/index.d.ts +11 -0
  64. package/bin/loanScoring/index.js +31 -0
  65. package/bin/places/dtos/AddressCandidate.d.ts +23 -0
  66. package/bin/places/dtos/AddressCandidate.js +11 -0
  67. package/bin/places/dtos/ReverseGeocodeRequest.d.ts +9 -0
  68. package/bin/places/dtos/ReverseGeocodeRequest.js +39 -0
  69. package/bin/places/dtos/ReverseGeocodeResponse.d.ts +5 -0
  70. package/bin/places/dtos/ReverseGeocodeResponse.js +7 -0
  71. package/bin/places/dtos/SearchAddressRequest.d.ts +10 -0
  72. package/bin/places/dtos/SearchAddressRequest.js +38 -0
  73. package/bin/places/dtos/SearchAddressResponse.d.ts +5 -0
  74. package/bin/places/dtos/SearchAddressResponse.js +7 -0
  75. package/bin/places/index.d.ts +5 -0
  76. package/bin/places/index.js +5 -0
  77. package/bin/walletFunding/dtos/CancelFundingReferenceRequest.d.ts +6 -0
  78. package/bin/walletFunding/dtos/CancelFundingReferenceRequest.js +31 -0
  79. package/bin/walletFunding/dtos/CancelFundingReferenceResponse.d.ts +7 -0
  80. package/bin/walletFunding/dtos/CancelFundingReferenceResponse.js +6 -0
  81. package/bin/walletFunding/dtos/CancelFundingRequest.d.ts +11 -0
  82. package/bin/walletFunding/dtos/CancelFundingRequest.js +33 -0
  83. package/bin/walletFunding/dtos/CancelFundingResponse.d.ts +14 -0
  84. package/bin/walletFunding/dtos/CancelFundingResponse.js +12 -0
  85. package/bin/walletFunding/dtos/CancelWalletFundingRequest.d.ts +3 -0
  86. package/bin/walletFunding/dtos/CancelWalletFundingRequest.js +21 -0
  87. package/bin/walletFunding/dtos/CancelWalletFundingResponse.d.ts +7 -0
  88. package/bin/walletFunding/dtos/CancelWalletFundingResponse.js +6 -0
  89. package/package.json +1 -1
  90. package/src/creditEngine/dtos/AnticipatedPaymentQuote.ts +56 -0
  91. package/src/creditEngine/index.ts +1 -0
  92. package/src/index.ts +7 -0
  93. package/src/loanCredit/dtos/ActivationChecklist.ts +25 -0
  94. package/src/loanCredit/dtos/LoanBeneficiary.ts +22 -0
  95. package/src/loanCredit/dtos/LoanBorrower.ts +71 -0
  96. package/src/loanCredit/dtos/LoanCredit.ts +156 -0
  97. package/src/loanCredit/dtos/LoanInstallment.ts +75 -0
  98. package/src/loanCredit/dtos/requests/ChangeLoanCreditStatusRequest.ts +22 -0
  99. package/src/loanCredit/dtos/requests/OriginateLoanCreditRequest.ts +73 -0
  100. package/src/loanCredit/dtos/requests/UpdateActivationChecklistRequest.ts +29 -0
  101. package/src/loanCredit/dtos/requests/UpsertLoanBorrowerRequest.ts +48 -0
  102. package/src/loanCredit/dtos/responses/LoanBorrowerResponse.ts +22 -0
  103. package/src/loanCredit/dtos/responses/LoanCreditResponse.ts +39 -0
  104. package/src/loanCredit/dtos/responses/LoanInstallmentResponse.ts +18 -0
  105. package/src/loanCredit/dtos/responses/OriginateLoanCreditResponse.ts +11 -0
  106. package/src/loanCredit/enums/ClientLevelEnum.ts +11 -0
  107. package/src/loanCredit/enums/LoanCreditStatusEnum.ts +21 -0
  108. package/src/loanCredit/enums/LoanInstallmentStatusEnum.ts +11 -0
  109. package/src/loanCredit/index.ts +23 -0
  110. package/src/loanScoring/dtos/SciBreakdown.ts +33 -0
  111. package/src/loanScoring/dtos/ScoringDecision.ts +30 -0
  112. package/src/loanScoring/dtos/ScoringOffer.ts +18 -0
  113. package/src/loanScoring/dtos/requests/EvaluateSciRequest.ts +43 -0
  114. package/src/loanScoring/dtos/requests/SciInternalHistoryInput.ts +38 -0
  115. package/src/loanScoring/dtos/responses/EvaluateSciResponse.ts +25 -0
  116. package/src/loanScoring/dtos/responses/SciEvaluationResponse.ts +29 -0
  117. package/src/loanScoring/enums/ClientLevelEnum.ts +13 -0
  118. package/src/loanScoring/enums/SciLayer2SourceEnum.ts +11 -0
  119. package/src/loanScoring/enums/ScoringDecisionEnum.ts +14 -0
  120. package/src/loanScoring/enums/ScoringProviderEnum.ts +12 -0
  121. package/src/loanScoring/index.ts +18 -0
  122. package/src/places/dtos/AddressCandidate.ts +23 -0
  123. package/src/places/dtos/ReverseGeocodeRequest.ts +23 -0
  124. package/src/places/dtos/ReverseGeocodeResponse.ts +6 -0
  125. package/src/places/dtos/SearchAddressRequest.ts +23 -0
  126. package/src/places/dtos/SearchAddressResponse.ts +6 -0
  127. package/src/places/index.ts +5 -0
  128. package/bin/loanConfig/enums/ModifiableByRoleEnum.d.ts +0 -11
  129. package/bin/loanConfig/enums/ModifiableByRoleEnum.js +0 -15
  130. package/bin/places/dtos/CashInFeeDto.d.ts +0 -17
  131. package/bin/places/dtos/CashInFeeDto.js +0 -12
  132. package/bin/platformRbac/dtos/ResendOtpRequest.d.ts +0 -22
  133. package/bin/platformRbac/dtos/ResendSelfRegisterOtpRequest.d.ts +0 -11
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ // Enums
18
+ __exportStar(require("./enums/LoanCreditStatusEnum"), exports);
19
+ __exportStar(require("./enums/LoanInstallmentStatusEnum"), exports);
20
+ __exportStar(require("./enums/ClientLevelEnum"), exports);
21
+ // Entity DTOs
22
+ __exportStar(require("./dtos/LoanBorrower"), exports);
23
+ __exportStar(require("./dtos/LoanBeneficiary"), exports);
24
+ __exportStar(require("./dtos/LoanCredit"), exports);
25
+ __exportStar(require("./dtos/LoanInstallment"), exports);
26
+ __exportStar(require("./dtos/ActivationChecklist"), exports);
27
+ // Request DTOs
28
+ __exportStar(require("./dtos/requests/UpsertLoanBorrowerRequest"), exports);
29
+ __exportStar(require("./dtos/requests/OriginateLoanCreditRequest"), exports);
30
+ __exportStar(require("./dtos/requests/UpdateActivationChecklistRequest"), exports);
31
+ __exportStar(require("./dtos/requests/ChangeLoanCreditStatusRequest"), exports);
32
+ // Response DTOs
33
+ __exportStar(require("./dtos/responses/LoanBorrowerResponse"), exports);
34
+ __exportStar(require("./dtos/responses/LoanCreditResponse"), exports);
35
+ __exportStar(require("./dtos/responses/LoanInstallmentResponse"), exports);
36
+ __exportStar(require("./dtos/responses/OriginateLoanCreditResponse"), exports);
@@ -0,0 +1,29 @@
1
+ import { SciLayer2SourceEnum } from '../enums/SciLayer2SourceEnum';
2
+ /** Capa 1 — gate anti-fraude (M7 §2). Binario: pasa o no pasa (KYC/Metamap, lo declara el caller). */
3
+ export interface SciLayer1Breakdown {
4
+ passed: boolean;
5
+ }
6
+ /** Capa 2 — buró (M7 §3). Sub-scores normalizados 0-100 por variable cuando la fuente es FICO. */
7
+ export interface SciLayer2Breakdown {
8
+ /** Score de la capa, 0-100. */
9
+ score: number;
10
+ source: SciLayer2SourceEnum;
11
+ /** Sub-scores 0-100 por variable (fico, worstDelinquency, openCredits, historyAge, inquiries). */
12
+ components?: Record<string, number>;
13
+ }
14
+ /** Capa 3 — historial interno SureKeep (M7 §4). */
15
+ export interface SciLayer3Breakdown {
16
+ /** Score de la capa, 0-100. */
17
+ score: number;
18
+ /** Sub-scores 0-100 por variable (onTime, avgDelay, episodes, restructures, completed, writeOff). */
19
+ components?: Record<string, number>;
20
+ }
21
+ /**
22
+ * Desglose por capas del SCI (M7) que se snapshotea en `LoanSciEvaluation_GT`.
23
+ * Con proveedor Modelias solo viaja `layer1` (la decisión llega completa, sin SCI local).
24
+ */
25
+ export interface SciBreakdown {
26
+ layer1: SciLayer1Breakdown;
27
+ layer2?: SciLayer2Breakdown;
28
+ layer3?: SciLayer3Breakdown;
29
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,29 @@
1
+ import { ClientLevelEnum } from '../enums/ClientLevelEnum';
2
+ import { ScoringDecisionEnum } from '../enums/ScoringDecisionEnum';
3
+ import { ScoringProviderEnum } from '../enums/ScoringProviderEnum';
4
+ import { SciBreakdown } from './SciBreakdown';
5
+ import { ScoringOffer } from './ScoringOffer';
6
+ /**
7
+ * Contrato AGNÓSTICO de salida del scoring (diagramas F2 §credito · patrón spec 12): todos los
8
+ * proveedores (Modelias decisión-directa, Círculo insumos+SCI M7, futuros) normalizan a esta forma.
9
+ * El consumidor (wizard paso 05, motor de crédito) NO sabe qué proveedor la produjo; el proveedor
10
+ * usado queda snapshoteado en la evaluación (`LoanSciEvaluation_GT`).
11
+ */
12
+ export interface ScoringDecision {
13
+ provider: ScoringProviderEnum;
14
+ /** Score en la escala canónica SCI 0-100 (C2 resuelta: la escala es 0-100). */
15
+ sciTotal: number;
16
+ level: ClientLevelEnum;
17
+ decision: ScoringDecisionEnum;
18
+ /** Oferta pre-aprobada si el proveedor la entrega (Modelias); null en el camino Círculo+SCI. */
19
+ offer: ScoringOffer | null;
20
+ /**
21
+ * Thin-file (M7 §3 / INT4): el proveedor CONFIRMÓ que la persona no tiene historial en buró.
22
+ * Es un dato de negocio válido (capa 2 neutra o FIS) — NUNCA se confunde con un error del
23
+ * connector (ese camino lanza DomainError; antipatrón API_ADAPTER_SWALLOW).
24
+ */
25
+ thinFile: boolean;
26
+ breakdown: SciBreakdown;
27
+ /** Marcas/flags del proveedor (`marcas` de Modelias). Vacío si no aplica. */
28
+ flags: string[];
29
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Oferta pre-aprobada que acompaña una decisión de scoring (cuando el proveedor la entrega —
3
+ * Modelias la devuelve completa; el camino Círculo+SCI no produce oferta, el plan lo resuelve
4
+ * loan-offerings por nivel).
5
+ *
6
+ * ⚠️ Los valores numéricos se transportan TAL CUAL los entrega el proveedor (el contrato Modelias
7
+ * no confirma unidades de `linea_credito`/`enganche` — ver TD del módulo modelias). NO asumir cents.
8
+ */
9
+ export interface ScoringOffer {
10
+ /** Línea de crédito aprobada (unidad según proveedor). */
11
+ creditLine: number | null;
12
+ /** Enganche requerido (unidad/base según proveedor). */
13
+ downPayment: number | null;
14
+ /** Plazos ofrecidos, en semanas. */
15
+ termsWeeks: number[];
16
+ /** Tasas por plazo (clave = plazo, valor = tasa decimal). */
17
+ rates: Record<string, number>;
18
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,23 @@
1
+ import { SciInternalHistoryInput } from './SciInternalHistoryInput';
2
+ /**
3
+ * Body de `POST /private/scoring/evaluations` de loan-scoring-business (wizard paso 05 / motor de
4
+ * crédito, vía api-invoker). El proveedor NO se elige acá: lo resuelve el `ScoringProviderRouter`
5
+ * por configuración del tenant (spec 12). El tenant viaja por query `?tenantId=` (convención de
6
+ * los privados Fiado), no en este body.
7
+ */
8
+ export declare class EvaluateSciRequest {
9
+ /** Acreditado a evaluar (`LoanBorrower`). La evaluación queda ligada a él en el historial. */
10
+ borrowerId: string;
11
+ /** CURP del solicitante (requerido por los proveedores de scoring). */
12
+ curp: string;
13
+ /** Celular del solicitante (requerido por Modelias). */
14
+ cellphone: string;
15
+ email?: string;
16
+ /**
17
+ * Resultado del gate anti-fraude (M7 §2 — KYC/Metamap, se ejecuta UNA vez en el paso 01/02
18
+ * del wizard). El caller lo declara: `false` → decisión REJECTED sin consultar proveedor.
19
+ */
20
+ antiFraudPassed: boolean;
21
+ /** Historial interno del acreditado (capa 3). Ausente = cliente nuevo (capa 2 pesa 100%). */
22
+ internalHistory?: SciInternalHistoryInput;
23
+ }
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.EvaluateSciRequest = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ const SciInternalHistoryInput_1 = require("./SciInternalHistoryInput");
16
+ /**
17
+ * Body de `POST /private/scoring/evaluations` de loan-scoring-business (wizard paso 05 / motor de
18
+ * crédito, vía api-invoker). El proveedor NO se elige acá: lo resuelve el `ScoringProviderRouter`
19
+ * por configuración del tenant (spec 12). El tenant viaja por query `?tenantId=` (convención de
20
+ * los privados Fiado), no en este body.
21
+ */
22
+ class EvaluateSciRequest {
23
+ }
24
+ exports.EvaluateSciRequest = EvaluateSciRequest;
25
+ __decorate([
26
+ (0, class_validator_1.IsString)(),
27
+ (0, class_validator_1.IsNotEmpty)(),
28
+ __metadata("design:type", String)
29
+ ], EvaluateSciRequest.prototype, "borrowerId", void 0);
30
+ __decorate([
31
+ (0, class_validator_1.IsString)(),
32
+ (0, class_validator_1.IsNotEmpty)(),
33
+ __metadata("design:type", String)
34
+ ], EvaluateSciRequest.prototype, "curp", void 0);
35
+ __decorate([
36
+ (0, class_validator_1.IsString)(),
37
+ (0, class_validator_1.IsNotEmpty)(),
38
+ __metadata("design:type", String)
39
+ ], EvaluateSciRequest.prototype, "cellphone", void 0);
40
+ __decorate([
41
+ (0, class_validator_1.IsOptional)(),
42
+ (0, class_validator_1.IsEmail)(),
43
+ __metadata("design:type", String)
44
+ ], EvaluateSciRequest.prototype, "email", void 0);
45
+ __decorate([
46
+ (0, class_validator_1.IsBoolean)(),
47
+ __metadata("design:type", Boolean)
48
+ ], EvaluateSciRequest.prototype, "antiFraudPassed", void 0);
49
+ __decorate([
50
+ (0, class_validator_1.IsOptional)(),
51
+ (0, class_validator_1.ValidateNested)(),
52
+ (0, class_transformer_1.Type)(() => SciInternalHistoryInput_1.SciInternalHistoryInput),
53
+ __metadata("design:type", SciInternalHistoryInput_1.SciInternalHistoryInput)
54
+ ], EvaluateSciRequest.prototype, "internalHistory", void 0);
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Resumen del historial interno SureKeep del acreditado (M7 §4 — capa 3 del SCI). Lo aporta el
3
+ * caller (loan-credit-business es el dueño de cuotas/moras); ausente = cliente sin historial
4
+ * interno (la capa 2 pesa 100% — M7 §5).
5
+ */
6
+ export declare class SciInternalHistoryInput {
7
+ /** % de cuotas pagadas a tiempo, 0-100 (peso 30%). */
8
+ pctOnTimeInstallments: number;
9
+ /** Días promedio de atraso (peso 20%). */
10
+ avgDelinquencyDays: number;
11
+ /** Episodios de mora (peso 20%). */
12
+ delinquencyEpisodes: number;
13
+ /** Reestructuras (peso 15%; máx 1 por crédito — M2). */
14
+ restructures: number;
15
+ /** Créditos completados sin mora (peso 10%). */
16
+ completedCredits: number;
17
+ /** Baja contable previa (peso 5% — penaliza fuerte). */
18
+ previousWriteOff: boolean;
19
+ }
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SciInternalHistoryInput = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ /**
15
+ * Resumen del historial interno SureKeep del acreditado (M7 §4 — capa 3 del SCI). Lo aporta el
16
+ * caller (loan-credit-business es el dueño de cuotas/moras); ausente = cliente sin historial
17
+ * interno (la capa 2 pesa 100% — M7 §5).
18
+ */
19
+ class SciInternalHistoryInput {
20
+ }
21
+ exports.SciInternalHistoryInput = SciInternalHistoryInput;
22
+ __decorate([
23
+ (0, class_validator_1.IsNumber)(),
24
+ (0, class_validator_1.Min)(0),
25
+ (0, class_validator_1.Max)(100),
26
+ __metadata("design:type", Number)
27
+ ], SciInternalHistoryInput.prototype, "pctOnTimeInstallments", void 0);
28
+ __decorate([
29
+ (0, class_validator_1.IsNumber)(),
30
+ (0, class_validator_1.Min)(0),
31
+ __metadata("design:type", Number)
32
+ ], SciInternalHistoryInput.prototype, "avgDelinquencyDays", void 0);
33
+ __decorate([
34
+ (0, class_validator_1.IsInt)(),
35
+ (0, class_validator_1.Min)(0),
36
+ __metadata("design:type", Number)
37
+ ], SciInternalHistoryInput.prototype, "delinquencyEpisodes", void 0);
38
+ __decorate([
39
+ (0, class_validator_1.IsInt)(),
40
+ (0, class_validator_1.Min)(0),
41
+ __metadata("design:type", Number)
42
+ ], SciInternalHistoryInput.prototype, "restructures", void 0);
43
+ __decorate([
44
+ (0, class_validator_1.IsInt)(),
45
+ (0, class_validator_1.Min)(0),
46
+ __metadata("design:type", Number)
47
+ ], SciInternalHistoryInput.prototype, "completedCredits", void 0);
48
+ __decorate([
49
+ (0, class_validator_1.IsBoolean)(),
50
+ __metadata("design:type", Boolean)
51
+ ], SciInternalHistoryInput.prototype, "previousWriteOff", void 0);
@@ -0,0 +1,24 @@
1
+ import { ClientLevelEnum } from '../../enums/ClientLevelEnum';
2
+ import { ScoringDecisionEnum } from '../../enums/ScoringDecisionEnum';
3
+ import { ScoringProviderEnum } from '../../enums/ScoringProviderEnum';
4
+ import { SciBreakdown } from '../SciBreakdown';
5
+ import { ScoringOffer } from '../ScoringOffer';
6
+ /**
7
+ * Response de `POST /private/scoring/evaluations`: la `ScoringDecision` normalizada + la identidad
8
+ * del snapshot persistido en `LoanSciEvaluation_GT` (el motor de crédito guarda `evaluationId`
9
+ * como `sciAtOrigination`).
10
+ */
11
+ export interface EvaluateSciResponse {
12
+ evaluationId: string;
13
+ borrowerId: string;
14
+ provider: ScoringProviderEnum;
15
+ /** Escala canónica SCI 0-100. */
16
+ sciTotal: number;
17
+ level: ClientLevelEnum;
18
+ decision: ScoringDecisionEnum;
19
+ offer: ScoringOffer | null;
20
+ thinFile: boolean;
21
+ breakdown: SciBreakdown;
22
+ flags: string[];
23
+ createdAt: string;
24
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,28 @@
1
+ import { ClientLevelEnum } from '../../enums/ClientLevelEnum';
2
+ import { ScoringDecisionEnum } from '../../enums/ScoringDecisionEnum';
3
+ import { ScoringProviderEnum } from '../../enums/ScoringProviderEnum';
4
+ import { SciBreakdown } from '../SciBreakdown';
5
+ import { ScoringOffer } from '../ScoringOffer';
6
+ /**
7
+ * Detalle de una evaluación SCI snapshoteada en `LoanSciEvaluation_GT` (lecturas: detalle e
8
+ * historial por acreditado del backoffice, y GET privado del motor de crédito). Incluye la
9
+ * metadata de auditoría del snapshot.
10
+ */
11
+ export interface SciEvaluationResponse {
12
+ evaluationId: string;
13
+ borrowerId: string;
14
+ provider: ScoringProviderEnum;
15
+ /** Escala canónica SCI 0-100. */
16
+ sciTotal: number;
17
+ level: ClientLevelEnum;
18
+ decision: ScoringDecisionEnum;
19
+ offer: ScoringOffer | null;
20
+ thinFile: boolean;
21
+ breakdown: SciBreakdown;
22
+ flags: string[];
23
+ version: number;
24
+ createdBy: string;
25
+ updatedBy: string;
26
+ createdAt: string;
27
+ updatedAt: string;
28
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Nivel del cliente derivado del SCI (M7 §5: 0-20 no elegible · 21-60 bronce · 61-80 plata ·
3
+ * 81-100 oro). Valores en inglés alineados con `CreditPlanLevelEnum` de loanOfferings
4
+ * (BRONZE/SILVER/GOLD) — el plan de crédito se resuelve cruzando este nivel con el catálogo.
5
+ * `NOT_ELIGIBLE` no existe en el catálogo de planes: significa "no se ofrece crédito".
6
+ * @enum {string}
7
+ */
8
+ export declare enum ClientLevelEnum {
9
+ NOT_ELIGIBLE = "NOT_ELIGIBLE",
10
+ BRONZE = "BRONZE",
11
+ SILVER = "SILVER",
12
+ GOLD = "GOLD"
13
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClientLevelEnum = void 0;
4
+ /**
5
+ * Nivel del cliente derivado del SCI (M7 §5: 0-20 no elegible · 21-60 bronce · 61-80 plata ·
6
+ * 81-100 oro). Valores en inglés alineados con `CreditPlanLevelEnum` de loanOfferings
7
+ * (BRONZE/SILVER/GOLD) — el plan de crédito se resuelve cruzando este nivel con el catálogo.
8
+ * `NOT_ELIGIBLE` no existe en el catálogo de planes: significa "no se ofrece crédito".
9
+ * @enum {string}
10
+ */
11
+ var ClientLevelEnum;
12
+ (function (ClientLevelEnum) {
13
+ ClientLevelEnum["NOT_ELIGIBLE"] = "NOT_ELIGIBLE";
14
+ ClientLevelEnum["BRONZE"] = "BRONZE";
15
+ ClientLevelEnum["SILVER"] = "SILVER";
16
+ ClientLevelEnum["GOLD"] = "GOLD";
17
+ })(ClientLevelEnum || (exports.ClientLevelEnum = ClientLevelEnum = {}));
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Fuente de la capa 2 (buró) del SCI — M7 §3 + INT4 v2.0 (thin-file):
3
+ * `FICO` = historial pleno en Círculo · `FIS` = thin-file con Financial Inclusion Score
4
+ * (INT4 v2.0 supersede el "50 neutro" de M7 §3) · `NEUTRAL` = sin dato de buró (SCI base 50).
5
+ * @enum {string}
6
+ */
7
+ export declare enum SciLayer2SourceEnum {
8
+ FICO = "FICO",
9
+ FIS = "FIS",
10
+ NEUTRAL = "NEUTRAL"
11
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SciLayer2SourceEnum = void 0;
4
+ /**
5
+ * Fuente de la capa 2 (buró) del SCI — M7 §3 + INT4 v2.0 (thin-file):
6
+ * `FICO` = historial pleno en Círculo · `FIS` = thin-file con Financial Inclusion Score
7
+ * (INT4 v2.0 supersede el "50 neutro" de M7 §3) · `NEUTRAL` = sin dato de buró (SCI base 50).
8
+ * @enum {string}
9
+ */
10
+ var SciLayer2SourceEnum;
11
+ (function (SciLayer2SourceEnum) {
12
+ SciLayer2SourceEnum["FICO"] = "FICO";
13
+ SciLayer2SourceEnum["FIS"] = "FIS";
14
+ SciLayer2SourceEnum["NEUTRAL"] = "NEUTRAL";
15
+ })(SciLayer2SourceEnum || (exports.SciLayer2SourceEnum = SciLayer2SourceEnum = {}));
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Decisión agnóstica del scoring (contrato `ScoringDecision`): el motor de crédito NO sabe qué
3
+ * proveedor la produjo (regla spec 12).
4
+ * - `APPROVED`: SCI dentro de un nivel elegible (o ACEPTADO directo de Modelias).
5
+ * - `REJECTED`: gate anti-fraude no pasó (M7 §2) o RECHAZADO directo del proveedor.
6
+ * - `NO_ELIGIBLE`: pasó el gate pero el SCI quedó bajo el piso (`SCORING/sci_min_eligible`,
7
+ * rango 0-20 de M7 §5) — no se ofrece crédito SureKeep (se puede derivar a financiera externa).
8
+ * @enum {string}
9
+ */
10
+ export declare enum ScoringDecisionEnum {
11
+ APPROVED = "APPROVED",
12
+ REJECTED = "REJECTED",
13
+ NO_ELIGIBLE = "NO_ELIGIBLE"
14
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ScoringDecisionEnum = void 0;
4
+ /**
5
+ * Decisión agnóstica del scoring (contrato `ScoringDecision`): el motor de crédito NO sabe qué
6
+ * proveedor la produjo (regla spec 12).
7
+ * - `APPROVED`: SCI dentro de un nivel elegible (o ACEPTADO directo de Modelias).
8
+ * - `REJECTED`: gate anti-fraude no pasó (M7 §2) o RECHAZADO directo del proveedor.
9
+ * - `NO_ELIGIBLE`: pasó el gate pero el SCI quedó bajo el piso (`SCORING/sci_min_eligible`,
10
+ * rango 0-20 de M7 §5) — no se ofrece crédito SureKeep (se puede derivar a financiera externa).
11
+ * @enum {string}
12
+ */
13
+ var ScoringDecisionEnum;
14
+ (function (ScoringDecisionEnum) {
15
+ ScoringDecisionEnum["APPROVED"] = "APPROVED";
16
+ ScoringDecisionEnum["REJECTED"] = "REJECTED";
17
+ ScoringDecisionEnum["NO_ELIGIBLE"] = "NO_ELIGIBLE";
18
+ })(ScoringDecisionEnum || (exports.ScoringDecisionEnum = ScoringDecisionEnum = {}));
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Proveedor de scoring soportado por el `ScoringProviderRouter` de loan-scoring-business
3
+ * (diagramas F2 §credito · patrón spec 12): la selección es configurable per-tenant y SOLO el
4
+ * router conoce el proveedor. Extensible: un proveedor nuevo = un valor nuevo + su adapter.
5
+ * @enum {string}
6
+ */
7
+ export declare enum ScoringProviderEnum {
8
+ /** modelias-connector — devuelve la decisión COMPLETA (score, decisión, línea, enganche, plazos, tasas). */
9
+ MODELIAS = "MODELIAS",
10
+ /** Connector de CONSULTA a Círculo de Crédito — devuelve insumos crudos; el SCI (M7) se calcula local. */
11
+ CIRCULO = "CIRCULO"
12
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ScoringProviderEnum = void 0;
4
+ /**
5
+ * Proveedor de scoring soportado por el `ScoringProviderRouter` de loan-scoring-business
6
+ * (diagramas F2 §credito · patrón spec 12): la selección es configurable per-tenant y SOLO el
7
+ * router conoce el proveedor. Extensible: un proveedor nuevo = un valor nuevo + su adapter.
8
+ * @enum {string}
9
+ */
10
+ var ScoringProviderEnum;
11
+ (function (ScoringProviderEnum) {
12
+ /** modelias-connector — devuelve la decisión COMPLETA (score, decisión, línea, enganche, plazos, tasas). */
13
+ ScoringProviderEnum["MODELIAS"] = "MODELIAS";
14
+ /** Connector de CONSULTA a Círculo de Crédito — devuelve insumos crudos; el SCI (M7) se calcula local. */
15
+ ScoringProviderEnum["CIRCULO"] = "CIRCULO";
16
+ })(ScoringProviderEnum || (exports.ScoringProviderEnum = ScoringProviderEnum = {}));
@@ -0,0 +1,11 @@
1
+ export * from './enums/ScoringProviderEnum';
2
+ export * from './enums/ClientLevelEnum';
3
+ export * from './enums/ScoringDecisionEnum';
4
+ export * from './enums/SciLayer2SourceEnum';
5
+ export * from './dtos/ScoringDecision';
6
+ export * from './dtos/ScoringOffer';
7
+ export * from './dtos/SciBreakdown';
8
+ export * from './dtos/requests/EvaluateSciRequest';
9
+ export * from './dtos/requests/SciInternalHistoryInput';
10
+ export * from './dtos/responses/EvaluateSciResponse';
11
+ export * from './dtos/responses/SciEvaluationResponse';
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ // Enums
18
+ __exportStar(require("./enums/ScoringProviderEnum"), exports);
19
+ __exportStar(require("./enums/ClientLevelEnum"), exports);
20
+ __exportStar(require("./enums/ScoringDecisionEnum"), exports);
21
+ __exportStar(require("./enums/SciLayer2SourceEnum"), exports);
22
+ // Contrato agnóstico + shapes compartidos
23
+ __exportStar(require("./dtos/ScoringDecision"), exports);
24
+ __exportStar(require("./dtos/ScoringOffer"), exports);
25
+ __exportStar(require("./dtos/SciBreakdown"), exports);
26
+ // Request DTOs
27
+ __exportStar(require("./dtos/requests/EvaluateSciRequest"), exports);
28
+ __exportStar(require("./dtos/requests/SciInternalHistoryInput"), exports);
29
+ // Response DTOs
30
+ __exportStar(require("./dtos/responses/EvaluateSciResponse"), exports);
31
+ __exportStar(require("./dtos/responses/SciEvaluationResponse"), exports);
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Candidato de dirección normalizado, común a búsqueda por texto y reverse geocoding.
3
+ * Mapea el `Place` de Amazon Location a un shape estable propio de Fiado.
4
+ * Response DTO — sin decoradores de validación.
5
+ */
6
+ export declare class AddressCandidate {
7
+ /** Etiqueta completa legible (equivalente a Place.Label). */
8
+ label: string;
9
+ street?: string;
10
+ /** Número exterior (Place.AddressNumber). */
11
+ addressNumber?: string;
12
+ neighborhood?: string;
13
+ municipality?: string;
14
+ /** Estado/provincia (Place.Region). */
15
+ region?: string;
16
+ postalCode?: string;
17
+ /** ISO3 del país (Place.Country). */
18
+ country?: string;
19
+ latitude?: number;
20
+ longitude?: number;
21
+ /** Relevancia 0..1 (solo búsqueda por texto; ausente en reverse). */
22
+ relevance?: number;
23
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AddressCandidate = void 0;
4
+ /**
5
+ * Candidato de dirección normalizado, común a búsqueda por texto y reverse geocoding.
6
+ * Mapea el `Place` de Amazon Location a un shape estable propio de Fiado.
7
+ * Response DTO — sin decoradores de validación.
8
+ */
9
+ class AddressCandidate {
10
+ }
11
+ exports.AddressCandidate = AddressCandidate;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Entrada del reverse geocoding (coordenadas → candidatos de dirección) vía Amazon Location.
3
+ * Consumido por el endpoint privado de places-business (api-invoker).
4
+ */
5
+ export declare class ReverseGeocodeRequest {
6
+ latitude: number;
7
+ longitude: number;
8
+ maxResults?: number;
9
+ }
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ReverseGeocodeRequest = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ /**
15
+ * Entrada del reverse geocoding (coordenadas → candidatos de dirección) vía Amazon Location.
16
+ * Consumido por el endpoint privado de places-business (api-invoker).
17
+ */
18
+ class ReverseGeocodeRequest {
19
+ }
20
+ exports.ReverseGeocodeRequest = ReverseGeocodeRequest;
21
+ __decorate([
22
+ (0, class_validator_1.IsNumber)(),
23
+ (0, class_validator_1.Min)(-90),
24
+ (0, class_validator_1.Max)(90),
25
+ __metadata("design:type", Number)
26
+ ], ReverseGeocodeRequest.prototype, "latitude", void 0);
27
+ __decorate([
28
+ (0, class_validator_1.IsNumber)(),
29
+ (0, class_validator_1.Min)(-180),
30
+ (0, class_validator_1.Max)(180),
31
+ __metadata("design:type", Number)
32
+ ], ReverseGeocodeRequest.prototype, "longitude", void 0);
33
+ __decorate([
34
+ (0, class_validator_1.IsOptional)(),
35
+ (0, class_validator_1.IsInt)(),
36
+ (0, class_validator_1.Min)(1),
37
+ (0, class_validator_1.Max)(15),
38
+ __metadata("design:type", Number)
39
+ ], ReverseGeocodeRequest.prototype, "maxResults", void 0);
@@ -0,0 +1,5 @@
1
+ import { AddressCandidate } from './AddressCandidate';
2
+ /** Respuesta del reverse geocoding — candidatos de dirección normalizados. */
3
+ export declare class ReverseGeocodeResponse {
4
+ results: AddressCandidate[];
5
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ReverseGeocodeResponse = void 0;
4
+ /** Respuesta del reverse geocoding — candidatos de dirección normalizados. */
5
+ class ReverseGeocodeResponse {
6
+ }
7
+ exports.ReverseGeocodeResponse = ReverseGeocodeResponse;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Entrada del geocoding por texto (texto libre → candidatos de dirección) vía Amazon Location.
3
+ * Consumido por el endpoint privado de places-business (api-invoker).
4
+ */
5
+ export declare class SearchAddressRequest {
6
+ text: string;
7
+ /** ISO3 de países a los que acotar la búsqueda (default en el lambda: ['MEX']). */
8
+ countries?: string[];
9
+ maxResults?: number;
10
+ }