@artu-ai/compliance-sdk 0.12.4 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +0 -3
- package/dist/exports/index.d.ts +5 -3
- package/dist/exports/index.d.ts.map +1 -1
- package/dist/exports/index.js +3 -5
- package/dist/exports/mx/av/ari.d.ts +11 -6
- package/dist/exports/mx/av/ari.d.ts.map +1 -1
- package/dist/exports/mx/av/ari.js +9 -5
- package/dist/exports/mx/av/avi.d.ts +11 -6
- package/dist/exports/mx/av/avi.d.ts.map +1 -1
- package/dist/exports/mx/av/avi.js +9 -5
- package/dist/exports/mx/av/jys.d.ts +11 -6
- package/dist/exports/mx/av/jys.d.ts.map +1 -1
- package/dist/exports/mx/av/jys.js +9 -5
- package/dist/exports/mx/av/mjr.d.ts +11 -6
- package/dist/exports/mx/av/mjr.d.ts.map +1 -1
- package/dist/exports/mx/av/mjr.js +9 -5
- package/dist/exports/mx/av/tsc.d.ts +11 -6
- package/dist/exports/mx/av/tsc.d.ts.map +1 -1
- package/dist/exports/mx/av/tsc.js +9 -5
- package/dist/exports/mx/cnbv/transmisor.d.ts +11 -6
- package/dist/exports/mx/cnbv/transmisor.d.ts.map +1 -1
- package/dist/exports/mx/cnbv/transmisor.js +9 -5
- package/dist/exports/mx/index.d.ts +5 -4
- package/dist/exports/mx/index.d.ts.map +1 -1
- package/dist/exports/mx/index.js +3 -5
- package/dist/models/Alert.d.ts +5 -1
- package/dist/models/Alert.d.ts.map +1 -1
- package/dist/models/Alert.js +6 -0
- package/dist/models/Client.d.ts +60 -1
- package/dist/models/Client.d.ts.map +1 -1
- package/dist/models/Client.js +109 -0
- package/dist/models/Product.d.ts +86 -0
- package/dist/models/Product.d.ts.map +1 -0
- package/dist/models/Product.js +128 -0
- package/dist/models/Rule.d.ts +5 -1
- package/dist/models/Rule.d.ts.map +1 -1
- package/dist/models/Rule.js +6 -0
- package/dist/models/RuleEvaluation.d.ts +1 -0
- package/dist/models/RuleEvaluation.d.ts.map +1 -1
- package/dist/models/RuleEvaluation.js +3 -0
- package/dist/models/Transaction.d.ts +70 -1
- package/dist/models/Transaction.d.ts.map +1 -1
- package/dist/models/Transaction.js +124 -0
- package/dist/models/index.d.ts +4 -3
- package/dist/models/index.d.ts.map +1 -1
- package/dist/models/index.js +14 -6
- package/dist/models/mx/MexProduct.d.ts +57 -0
- package/dist/models/mx/MexProduct.d.ts.map +1 -0
- package/dist/models/mx/MexProduct.js +83 -0
- package/dist/models/mx/av/MexActividadVulnerableProduct.d.ts +34 -0
- package/dist/models/mx/av/MexActividadVulnerableProduct.d.ts.map +1 -0
- package/dist/models/mx/av/MexActividadVulnerableProduct.js +46 -0
- package/dist/models/mx/av/ari/MexARIProduct.d.ts +59 -0
- package/dist/models/mx/av/ari/MexARIProduct.d.ts.map +1 -0
- package/dist/models/mx/av/ari/MexARIProduct.js +88 -0
- package/dist/models/mx/av/avi/MexAVIProduct.d.ts +45 -0
- package/dist/models/mx/av/avi/MexAVIProduct.d.ts.map +1 -0
- package/dist/models/mx/av/avi/MexAVIProduct.js +75 -0
- package/dist/models/mx/av/index.d.ts +6 -0
- package/dist/models/mx/av/index.d.ts.map +1 -1
- package/dist/models/mx/av/index.js +9 -0
- package/dist/models/mx/av/jys/MexJYSProduct.d.ts +96 -0
- package/dist/models/mx/av/jys/MexJYSProduct.d.ts.map +1 -0
- package/dist/models/mx/av/jys/MexJYSProduct.js +174 -0
- package/dist/models/mx/av/mjr/MexMJRProduct.d.ts +70 -0
- package/dist/models/mx/av/mjr/MexMJRProduct.d.ts.map +1 -0
- package/dist/models/mx/av/mjr/MexMJRProduct.js +114 -0
- package/dist/models/mx/av/tsc/MexTSCProduct.d.ts +49 -0
- package/dist/models/mx/av/tsc/MexTSCProduct.d.ts.map +1 -0
- package/dist/models/mx/av/tsc/MexTSCProduct.js +77 -0
- package/dist/models/mx/cnbv/MexCNBVProduct.d.ts +34 -0
- package/dist/models/mx/cnbv/MexCNBVProduct.d.ts.map +1 -0
- package/dist/models/mx/cnbv/MexCNBVProduct.js +46 -0
- package/dist/models/mx/cnbv/index.d.ts +1 -0
- package/dist/models/mx/cnbv/index.d.ts.map +1 -1
- package/dist/models/mx/cnbv/index.js +2 -0
- package/dist/models/mx/cnbv/transmisor/MexTransmisorProduct.d.ts +50 -0
- package/dist/models/mx/cnbv/transmisor/MexTransmisorProduct.d.ts.map +1 -0
- package/dist/models/mx/cnbv/transmisor/MexTransmisorProduct.js +70 -0
- package/dist/models/mx/cnbv/transmisor/index.d.ts +1 -0
- package/dist/models/mx/cnbv/transmisor/index.d.ts.map +1 -1
- package/dist/models/mx/cnbv/transmisor/index.js +1 -0
- package/dist/models/mx/index.d.ts +1 -0
- package/dist/models/mx/index.d.ts.map +1 -1
- package/dist/models/mx/index.js +2 -0
- package/dist/resources/alerts.d.ts +22 -1
- package/dist/resources/alerts.d.ts.map +1 -1
- package/dist/resources/alerts.js +46 -2
- package/dist/resources/api-keys.d.ts +23 -0
- package/dist/resources/api-keys.d.ts.map +1 -0
- package/dist/resources/api-keys.js +47 -0
- package/dist/resources/clients.d.ts +24 -1
- package/dist/resources/clients.d.ts.map +1 -1
- package/dist/resources/clients.js +36 -0
- package/dist/resources/index.d.ts +10 -1
- package/dist/resources/index.d.ts.map +1 -1
- package/dist/resources/index.js +13 -1
- package/dist/resources/merge-tenant-defaults/index.d.ts +6 -0
- package/dist/resources/merge-tenant-defaults/index.d.ts.map +1 -0
- package/dist/resources/merge-tenant-defaults/index.js +5 -0
- package/dist/resources/merge-tenant-defaults/mx/av/merge.d.ts +27 -0
- package/dist/resources/merge-tenant-defaults/mx/av/merge.d.ts.map +1 -0
- package/dist/resources/merge-tenant-defaults/mx/av/merge.js +64 -0
- package/dist/resources/merge-tenant-defaults/mx/cnbv/merge.d.ts +20 -0
- package/dist/resources/merge-tenant-defaults/mx/cnbv/merge.d.ts.map +1 -0
- package/dist/resources/merge-tenant-defaults/mx/cnbv/merge.js +38 -0
- package/dist/resources/merge-tenant-defaults/utils.d.ts +8 -0
- package/dist/resources/merge-tenant-defaults/utils.d.ts.map +1 -0
- package/dist/resources/merge-tenant-defaults/utils.js +36 -0
- package/dist/resources/mx/av/ari/index.d.ts +1 -0
- package/dist/resources/mx/av/ari/index.d.ts.map +1 -1
- package/dist/resources/mx/av/ari/index.js +1 -0
- package/dist/resources/mx/av/ari/products.d.ts +54 -0
- package/dist/resources/mx/av/ari/products.d.ts.map +1 -0
- package/dist/resources/mx/av/ari/products.js +165 -0
- package/dist/resources/mx/av/ari/tenant.d.ts +30 -0
- package/dist/resources/mx/av/ari/tenant.d.ts.map +1 -0
- package/dist/resources/mx/av/ari/tenant.js +36 -0
- package/dist/resources/mx/av/ari/transactions.d.ts +1 -0
- package/dist/resources/mx/av/ari/transactions.d.ts.map +1 -1
- package/dist/resources/mx/av/ari/transactions.js +17 -6
- package/dist/resources/mx/av/avi/index.d.ts +1 -0
- package/dist/resources/mx/av/avi/index.d.ts.map +1 -1
- package/dist/resources/mx/av/avi/index.js +1 -0
- package/dist/resources/mx/av/avi/products.d.ts +28 -0
- package/dist/resources/mx/av/avi/products.d.ts.map +1 -0
- package/dist/resources/mx/av/avi/products.js +119 -0
- package/dist/resources/mx/av/avi/tenant.d.ts +33 -0
- package/dist/resources/mx/av/avi/tenant.d.ts.map +1 -0
- package/dist/resources/mx/av/avi/tenant.js +39 -0
- package/dist/resources/mx/av/avi/transactions.d.ts +1 -0
- package/dist/resources/mx/av/avi/transactions.d.ts.map +1 -1
- package/dist/resources/mx/av/avi/transactions.js +17 -6
- package/dist/resources/mx/av/jys/index.d.ts +1 -0
- package/dist/resources/mx/av/jys/index.d.ts.map +1 -1
- package/dist/resources/mx/av/jys/index.js +1 -0
- package/dist/resources/mx/av/jys/products.d.ts +28 -0
- package/dist/resources/mx/av/jys/products.d.ts.map +1 -0
- package/dist/resources/mx/av/jys/products.js +119 -0
- package/dist/resources/mx/av/jys/tenant.d.ts +30 -0
- package/dist/resources/mx/av/jys/tenant.d.ts.map +1 -0
- package/dist/resources/mx/av/jys/tenant.js +36 -0
- package/dist/resources/mx/av/jys/transactions.d.ts +1 -0
- package/dist/resources/mx/av/jys/transactions.d.ts.map +1 -1
- package/dist/resources/mx/av/jys/transactions.js +17 -6
- package/dist/resources/mx/av/mjr/index.d.ts +1 -0
- package/dist/resources/mx/av/mjr/index.d.ts.map +1 -1
- package/dist/resources/mx/av/mjr/index.js +1 -0
- package/dist/resources/mx/av/mjr/products.d.ts +28 -0
- package/dist/resources/mx/av/mjr/products.d.ts.map +1 -0
- package/dist/resources/mx/av/mjr/products.js +138 -0
- package/dist/resources/mx/av/mjr/tenant.d.ts +30 -0
- package/dist/resources/mx/av/mjr/tenant.d.ts.map +1 -0
- package/dist/resources/mx/av/mjr/tenant.js +36 -0
- package/dist/resources/mx/av/mjr/transactions.d.ts +1 -0
- package/dist/resources/mx/av/mjr/transactions.d.ts.map +1 -1
- package/dist/resources/mx/av/mjr/transactions.js +17 -6
- package/dist/resources/mx/av/tsc/index.d.ts +1 -0
- package/dist/resources/mx/av/tsc/index.d.ts.map +1 -1
- package/dist/resources/mx/av/tsc/index.js +1 -0
- package/dist/resources/mx/av/tsc/products.d.ts +28 -0
- package/dist/resources/mx/av/tsc/products.d.ts.map +1 -0
- package/dist/resources/mx/av/tsc/products.js +130 -0
- package/dist/resources/mx/av/tsc/tenant.d.ts +30 -0
- package/dist/resources/mx/av/tsc/tenant.d.ts.map +1 -0
- package/dist/resources/mx/av/tsc/tenant.js +36 -0
- package/dist/resources/mx/av/tsc/transactions.d.ts +1 -0
- package/dist/resources/mx/av/tsc/transactions.d.ts.map +1 -1
- package/dist/resources/mx/av/tsc/transactions.js +17 -6
- package/dist/resources/mx/cnbv/transmisor/index.d.ts +1 -0
- package/dist/resources/mx/cnbv/transmisor/index.d.ts.map +1 -1
- package/dist/resources/mx/cnbv/transmisor/index.js +1 -0
- package/dist/resources/mx/cnbv/transmisor/products.d.ts +28 -0
- package/dist/resources/mx/cnbv/transmisor/products.d.ts.map +1 -0
- package/dist/resources/mx/cnbv/transmisor/products.js +138 -0
- package/dist/resources/mx/cnbv/transmisor/tenant.d.ts +32 -0
- package/dist/resources/mx/cnbv/transmisor/tenant.d.ts.map +1 -0
- package/dist/resources/mx/cnbv/transmisor/tenant.js +36 -0
- package/dist/resources/mx/cnbv/transmisor/transactions.d.ts +1 -0
- package/dist/resources/mx/cnbv/transmisor/transactions.d.ts.map +1 -1
- package/dist/resources/mx/cnbv/transmisor/transactions.js +15 -5
- package/dist/resources/mx/index.d.ts +3 -1
- package/dist/resources/mx/index.d.ts.map +1 -1
- package/dist/resources/mx/index.js +2 -1
- package/dist/resources/mx/products.d.ts +86 -0
- package/dist/resources/mx/products.d.ts.map +1 -0
- package/dist/resources/mx/products.js +170 -0
- package/dist/resources/mx/tenant.d.ts +69 -0
- package/dist/resources/mx/tenant.d.ts.map +1 -0
- package/dist/resources/mx/tenant.js +48 -0
- package/dist/resources/mx/transactions.d.ts +1 -0
- package/dist/resources/mx/transactions.d.ts.map +1 -1
- package/dist/resources/mx/transactions.js +17 -6
- package/dist/resources/products.d.ts +137 -0
- package/dist/resources/products.d.ts.map +1 -0
- package/dist/resources/products.js +200 -0
- package/dist/resources/reference-data/index.d.ts +0 -3
- package/dist/resources/reference-data/index.d.ts.map +1 -1
- package/dist/resources/reference-data/index.js +0 -3
- package/dist/resources/reference-data/reference-data.d.ts +26 -20
- package/dist/resources/reference-data/reference-data.d.ts.map +1 -1
- package/dist/resources/reference-data/reference-data.js +58 -23
- package/dist/resources/roles.d.ts +20 -0
- package/dist/resources/roles.d.ts.map +1 -0
- package/dist/resources/roles.js +50 -0
- package/dist/resources/rule-templates.d.ts +0 -5
- package/dist/resources/rule-templates.d.ts.map +1 -1
- package/dist/resources/rule-templates.js +0 -8
- package/dist/resources/rules.d.ts +17 -1
- package/dist/resources/rules.d.ts.map +1 -1
- package/dist/resources/rules.js +27 -0
- package/dist/resources/tags.d.ts +22 -0
- package/dist/resources/tags.d.ts.map +1 -0
- package/dist/resources/tags.js +63 -0
- package/dist/resources/tenant.d.ts +52 -0
- package/dist/resources/tenant.d.ts.map +1 -0
- package/dist/resources/tenant.js +85 -0
- package/dist/resources/transactions.d.ts +56 -1
- package/dist/resources/transactions.d.ts.map +1 -1
- package/dist/resources/transactions.js +203 -6
- package/dist/resources/users.d.ts +61 -0
- package/dist/resources/users.d.ts.map +1 -0
- package/dist/resources/users.js +71 -0
- package/dist/sdk/ComplianceSDK.d.ts +46 -1
- package/dist/sdk/ComplianceSDK.d.ts.map +1 -1
- package/dist/sdk/ComplianceSDK.js +52 -1
- package/dist/sdk/base.d.ts.map +1 -1
- package/dist/sdk/base.js +2 -1
- package/dist/sdk/mx/ComplianceSDK.d.ts +5 -22
- package/dist/sdk/mx/ComplianceSDK.d.ts.map +1 -1
- package/dist/sdk/mx/ComplianceSDK.js +5 -33
- package/dist/sdk/mx/av/ari/ComplianceSDK.d.ts +5 -26
- package/dist/sdk/mx/av/ari/ComplianceSDK.d.ts.map +1 -1
- package/dist/sdk/mx/av/ari/ComplianceSDK.js +4 -27
- package/dist/sdk/mx/av/ari/types.d.ts +4 -5
- package/dist/sdk/mx/av/ari/types.d.ts.map +1 -1
- package/dist/sdk/mx/av/ari/types.js +2 -1
- package/dist/sdk/mx/av/avi/ComplianceSDK.d.ts +5 -1
- package/dist/sdk/mx/av/avi/ComplianceSDK.d.ts.map +1 -1
- package/dist/sdk/mx/av/avi/ComplianceSDK.js +4 -1
- package/dist/sdk/mx/av/avi/types.d.ts +4 -5
- package/dist/sdk/mx/av/avi/types.d.ts.map +1 -1
- package/dist/sdk/mx/av/avi/types.js +2 -1
- package/dist/sdk/mx/av/jys/ComplianceSDK.d.ts +5 -7
- package/dist/sdk/mx/av/jys/ComplianceSDK.d.ts.map +1 -1
- package/dist/sdk/mx/av/jys/ComplianceSDK.js +4 -8
- package/dist/sdk/mx/av/jys/types.d.ts +4 -5
- package/dist/sdk/mx/av/jys/types.d.ts.map +1 -1
- package/dist/sdk/mx/av/jys/types.js +2 -1
- package/dist/sdk/mx/av/mjr/ComplianceSDK.d.ts +5 -19
- package/dist/sdk/mx/av/mjr/ComplianceSDK.d.ts.map +1 -1
- package/dist/sdk/mx/av/mjr/ComplianceSDK.js +4 -20
- package/dist/sdk/mx/av/mjr/types.d.ts +4 -5
- package/dist/sdk/mx/av/mjr/types.d.ts.map +1 -1
- package/dist/sdk/mx/av/mjr/types.js +2 -1
- package/dist/sdk/mx/av/tsc/ComplianceSDK.d.ts +5 -7
- package/dist/sdk/mx/av/tsc/ComplianceSDK.d.ts.map +1 -1
- package/dist/sdk/mx/av/tsc/ComplianceSDK.js +4 -8
- package/dist/sdk/mx/av/tsc/types.d.ts +4 -5
- package/dist/sdk/mx/av/tsc/types.d.ts.map +1 -1
- package/dist/sdk/mx/av/tsc/types.js +2 -1
- package/dist/sdk/mx/cnbv/transmisor/ComplianceSDK.d.ts +5 -7
- package/dist/sdk/mx/cnbv/transmisor/ComplianceSDK.d.ts.map +1 -1
- package/dist/sdk/mx/cnbv/transmisor/ComplianceSDK.js +4 -8
- package/dist/sdk/mx/cnbv/transmisor/types.d.ts +4 -5
- package/dist/sdk/mx/cnbv/transmisor/types.d.ts.map +1 -1
- package/dist/sdk/mx/cnbv/transmisor/types.js +2 -1
- package/dist/sdk/mx/index.d.ts.map +1 -1
- package/dist/sdk/mx/index.js +2 -0
- package/dist/sdk/mx/types.d.ts +3 -6
- package/dist/sdk/mx/types.d.ts.map +1 -1
- package/dist/sdk/resource-registry.d.ts +3 -0
- package/dist/sdk/resource-registry.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/resources/mx/ebr.d.ts +0 -214
- package/dist/resources/mx/ebr.d.ts.map +0 -1
- package/dist/resources/mx/ebr.js +0 -418
- package/dist/resources/reference-data/global/basel-aml.d.ts +0 -16
- package/dist/resources/reference-data/global/basel-aml.d.ts.map +0 -1
- package/dist/resources/reference-data/global/basel-aml.js +0 -46
- package/dist/resources/reference-data/global/index.d.ts +0 -2
- package/dist/resources/reference-data/global/index.d.ts.map +0 -1
- package/dist/resources/reference-data/global/index.js +0 -1
- package/dist/resources/reference-data/metadata.d.ts +0 -11
- package/dist/resources/reference-data/metadata.d.ts.map +0 -1
- package/dist/resources/reference-data/metadata.js +0 -22
- package/dist/resources/reference-data/mx/index.d.ts +0 -2
- package/dist/resources/reference-data/mx/index.d.ts.map +0 -1
- package/dist/resources/reference-data/mx/index.js +0 -1
- package/dist/resources/reference-data/mx/postal-codes.d.ts +0 -16
- package/dist/resources/reference-data/mx/postal-codes.d.ts.map +0 -1
- package/dist/resources/reference-data/mx/postal-codes.js +0 -46
|
@@ -7,6 +7,20 @@
|
|
|
7
7
|
import { TransactionStatus } from "@artu-ai/shared";
|
|
8
8
|
import { BaseModel } from "./base";
|
|
9
9
|
// ===========================
|
|
10
|
+
// Utilities
|
|
11
|
+
// ===========================
|
|
12
|
+
function applyRiskRounding(value, mode) {
|
|
13
|
+
switch (mode) {
|
|
14
|
+
case "floor":
|
|
15
|
+
return Math.floor(value);
|
|
16
|
+
case "round":
|
|
17
|
+
return Math.round(value);
|
|
18
|
+
case "ceil":
|
|
19
|
+
default:
|
|
20
|
+
return Math.ceil(value);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
// ===========================
|
|
10
24
|
// Transaction Model
|
|
11
25
|
// ===========================
|
|
12
26
|
/**
|
|
@@ -97,6 +111,12 @@ export class Transaction extends BaseModel {
|
|
|
97
111
|
get isAlerted() {
|
|
98
112
|
return this._data.isAlerted ?? false;
|
|
99
113
|
}
|
|
114
|
+
/**
|
|
115
|
+
* When the transaction was first added to an active alert (null if not alerted)
|
|
116
|
+
*/
|
|
117
|
+
get alertedAt() {
|
|
118
|
+
return this._data.alertedAt ?? null;
|
|
119
|
+
}
|
|
100
120
|
/**
|
|
101
121
|
* External ID for integration with other systems
|
|
102
122
|
*/
|
|
@@ -109,6 +129,12 @@ export class Transaction extends BaseModel {
|
|
|
109
129
|
get description() {
|
|
110
130
|
return this._data.description;
|
|
111
131
|
}
|
|
132
|
+
/**
|
|
133
|
+
* Associated product ID
|
|
134
|
+
*/
|
|
135
|
+
get productId() {
|
|
136
|
+
return this._data.productId;
|
|
137
|
+
}
|
|
112
138
|
// ─────────────────────────────────────────────────────────────────
|
|
113
139
|
// Jurisdiction
|
|
114
140
|
// ─────────────────────────────────────────────────────────────────
|
|
@@ -118,6 +144,12 @@ export class Transaction extends BaseModel {
|
|
|
118
144
|
get scopes() {
|
|
119
145
|
return this._data.scopes ?? [];
|
|
120
146
|
}
|
|
147
|
+
/**
|
|
148
|
+
* Tags applied to this transaction.
|
|
149
|
+
*/
|
|
150
|
+
get tags() {
|
|
151
|
+
return this._data.tags ?? [];
|
|
152
|
+
}
|
|
121
153
|
/**
|
|
122
154
|
* Checks if transaction has data for a specific jurisdiction
|
|
123
155
|
*/
|
|
@@ -133,6 +165,98 @@ export class Transaction extends BaseModel {
|
|
|
133
165
|
return this._data.jurisdictions ?? {};
|
|
134
166
|
}
|
|
135
167
|
// ─────────────────────────────────────────────────────────────────
|
|
168
|
+
// Risk Assessments
|
|
169
|
+
// ─────────────────────────────────────────────────────────────────
|
|
170
|
+
/**
|
|
171
|
+
* Raw risk assessments map — keyed by assessment name, each value is an
|
|
172
|
+
* append-only array of snapshots representing the assessment history.
|
|
173
|
+
*/
|
|
174
|
+
get riskAssessments() {
|
|
175
|
+
return this._data.riskAssessments ?? {};
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Names of all risk assessments attached to this transaction.
|
|
179
|
+
*/
|
|
180
|
+
get riskAssessmentNames() {
|
|
181
|
+
return Object.keys(this.riskAssessments);
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Retrieve a specific risk assessment snapshot by name and optional version.
|
|
185
|
+
* Version is the 0-based index in the append-only history array.
|
|
186
|
+
* Defaults to the latest (most recent) version.
|
|
187
|
+
*
|
|
188
|
+
* @param name - The assessment name
|
|
189
|
+
* @param version - Optional 0-based version index (defaults to latest)
|
|
190
|
+
* @returns The snapshot, or undefined if not found
|
|
191
|
+
*/
|
|
192
|
+
riskAssessment(name, version) {
|
|
193
|
+
const snapshots = this.riskAssessments[name];
|
|
194
|
+
if (!snapshots || snapshots.length === 0)
|
|
195
|
+
return undefined;
|
|
196
|
+
const idx = version ?? snapshots.length - 1;
|
|
197
|
+
return snapshots[idx];
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* List all available versions for a named risk assessment.
|
|
201
|
+
*
|
|
202
|
+
* @param name - The assessment name
|
|
203
|
+
* @returns Array of `{ version, calculatedAt }` entries, or empty array if not found
|
|
204
|
+
*/
|
|
205
|
+
riskAssessmentVersions(name) {
|
|
206
|
+
const snapshots = this.riskAssessments[name];
|
|
207
|
+
if (!snapshots)
|
|
208
|
+
return [];
|
|
209
|
+
return snapshots.map((s, i) => ({
|
|
210
|
+
version: i,
|
|
211
|
+
calculatedAt: s.calculatedAt,
|
|
212
|
+
}));
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Get the overall score for a risk assessment.
|
|
216
|
+
*
|
|
217
|
+
* - With a name: returns the overall score of the latest version of that assessment.
|
|
218
|
+
* - Without a name: returns the overall score of the most recently calculated
|
|
219
|
+
* assessment across all assessments (by `calculatedAt`).
|
|
220
|
+
*
|
|
221
|
+
* @param name - Optional assessment name
|
|
222
|
+
* @returns The overall score, or undefined if no assessments exist
|
|
223
|
+
*/
|
|
224
|
+
riskAssessmentScore(name) {
|
|
225
|
+
if (name != null) {
|
|
226
|
+
return this.riskAssessment(name)?.overall;
|
|
227
|
+
}
|
|
228
|
+
return this._latestRiskSnapshot()?.overall;
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Get the display-ready risk score for the most recent assessment.
|
|
232
|
+
* Returns the score scaled to maxScore and rounded per the stored mode,
|
|
233
|
+
* along with the maxScore denominator.
|
|
234
|
+
*
|
|
235
|
+
* @returns `{ score, maxScore }` or undefined if no assessments exist
|
|
236
|
+
*/
|
|
237
|
+
riskAssessmentDisplayScore() {
|
|
238
|
+
const snapshot = this._latestRiskSnapshot();
|
|
239
|
+
if (!snapshot)
|
|
240
|
+
return undefined;
|
|
241
|
+
const maxScore = snapshot.maxScore ?? 100;
|
|
242
|
+
const mode = snapshot.roundingMode ?? "ceil";
|
|
243
|
+
return {
|
|
244
|
+
score: applyRiskRounding(snapshot.overall * maxScore, mode),
|
|
245
|
+
maxScore,
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
/** Find the most recently calculated snapshot across all assessments */
|
|
249
|
+
_latestRiskSnapshot() {
|
|
250
|
+
let latest;
|
|
251
|
+
for (const snapshots of Object.values(this.riskAssessments)) {
|
|
252
|
+
const last = snapshots[snapshots.length - 1];
|
|
253
|
+
if (last && (!latest || last.calculatedAt > latest.calculatedAt)) {
|
|
254
|
+
latest = last;
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
return latest;
|
|
258
|
+
}
|
|
259
|
+
// ─────────────────────────────────────────────────────────────────
|
|
136
260
|
// Timing
|
|
137
261
|
// ─────────────────────────────────────────────────────────────────
|
|
138
262
|
/**
|
package/dist/models/index.d.ts
CHANGED
|
@@ -15,9 +15,10 @@ export { Client, type ClientData, isClient, isCompany, isIndividual, isTrust, }
|
|
|
15
15
|
export { ContactMethod, type ContactMethodData } from "./ContactMethod";
|
|
16
16
|
export { Document, type DocumentData } from "./Document";
|
|
17
17
|
export { isLinkedClient, LinkedClient, type LinkedClientData, } from "./LinkedClient";
|
|
18
|
-
export { isMexActaConstitutiva, isMexAddress, isMexAddressProof, isMexAlert, isMexAlertClientItem, isMexAlertItem, isMexAlertTransactionItem, isMexBankAccount, isMexClient, isMexCurp, isMexDocument, isMexIneBack, isMexIneFront, isMexPassport, isMexPoderNotarial, isMexRfcConstancia, isMexTransaction, MexActaConstitutivaDocument, MexAddress, type MexAddressData, MexAddressProofDocument, MexAlert, MexAlertClientItem, type MexAlertClientItemData, type MexAlertData, MexAlertItem, type MexAlertItemData, MexAlertTransactionItem, type MexAlertTransactionItemData, MexBankAccount, type MexBankAccountData, MexClient, type MexClientData, MexCurpDocument, MexDocument, MexIneBackDocument, MexIneFrontDocument, MexPassportDocument, MexPoderNotarialDocument, MexRfcConstanciaDocument, MexTransaction, type MexTransactionData, } from "./mx";
|
|
19
|
-
export { isActividadVulnerable, isActividadVulnerableAlert, isActividadVulnerableAlertClientItem, isActividadVulnerableAlertItem, isActividadVulnerableAlertTransactionItem, isActividadVulnerableTransaction, isMexARIAlert, isMexARIAlertClientItem, isMexARIAlertItem, isMexARIAlertTransactionItem, isMexARIClient, isMexARITransaction, isMexAVIAlert, isMexAVIAlertClientItem, isMexAVIAlertItem, isMexAVIAlertTransactionItem, isMexAVIClient, isMexAVITransaction, isMexJYSAlert, isMexJYSAlertClientItem, isMexJYSAlertItem, isMexJYSAlertTransactionItem, isMexJYSClient, isMexJYSTransaction, isMexMJRAlert, isMexMJRAlertClientItem, isMexMJRAlertItem, isMexMJRAlertTransactionItem, isMexMJRClient, isMexMJRTransaction, isMexTSCAlert, isMexTSCAlertClientItem, isMexTSCAlertItem, isMexTSCAlertTransactionItem, isMexTSCClient, isMexTSCTransaction, MexActividadVulnerableAlert, MexActividadVulnerableAlertClientItem, type MexActividadVulnerableAlertClientItemData, type MexActividadVulnerableAlertData, MexActividadVulnerableAlertItem, type MexActividadVulnerableAlertItemData, MexActividadVulnerableAlertTransactionItem, type MexActividadVulnerableAlertTransactionItemData, MexActividadVulnerableClient, MexActividadVulnerableTransaction, MexARIAlert, MexARIAlertClientItem, type MexARIAlertClientItemData, type MexARIAlertData, MexARIAlertItem, type MexARIAlertItemData, MexARIAlertTransactionItem, type MexARIAlertTransactionItemData, MexARIClient, MexARITransaction, MexAVIAlert, MexAVIAlertClientItem, type MexAVIAlertClientItemData, type MexAVIAlertData, MexAVIAlertItem, type MexAVIAlertItemData, MexAVIAlertTransactionItem, type MexAVIAlertTransactionItemData, MexAVIClient, MexAVITransaction, MexJYSAlert, MexJYSAlertClientItem, type MexJYSAlertClientItemData, type MexJYSAlertData, MexJYSAlertItem, type MexJYSAlertItemData, MexJYSAlertTransactionItem, type MexJYSAlertTransactionItemData, MexJYSClient, MexJYSTransaction, MexMJRAlert, MexMJRAlertClientItem, type MexMJRAlertClientItemData, type MexMJRAlertData, MexMJRAlertItem, type MexMJRAlertItemData, MexMJRAlertTransactionItem, type MexMJRAlertTransactionItemData, MexMJRClient, MexMJRTransaction, MexTSCAlert, MexTSCAlertClientItem, type MexTSCAlertClientItemData, type MexTSCAlertData, MexTSCAlertItem, type MexTSCAlertItemData, MexTSCAlertTransactionItem, type MexTSCAlertTransactionItemData, MexTSCClient, MexTSCTransaction, } from "./mx/av";
|
|
20
|
-
export { isMexTransmisorAlert, isMexTransmisorAlertClientItem, isMexTransmisorAlertItem, isMexTransmisorAlertTransactionItem, isMexTransmisorClient, isMexTransmisorTransaction, MexTransmisorAlert, MexTransmisorAlertClientItem, type MexTransmisorAlertClientItemData, type MexTransmisorAlertData, MexTransmisorAlertItem, type MexTransmisorAlertItemData, MexTransmisorAlertTransactionItem, type MexTransmisorAlertTransactionItemData, MexTransmisorClient, MexTransmisorTransaction, } from "./mx/cnbv";
|
|
18
|
+
export { isMexActaConstitutiva, isMexAddress, isMexAddressProof, isMexAlert, isMexAlertClientItem, isMexAlertItem, isMexAlertTransactionItem, isMexBankAccount, isMexClient, isMexCurp, isMexDocument, isMexIneBack, isMexIneFront, isMexPassport, isMexPoderNotarial, isMexProduct, isMexRfcConstancia, isMexTransaction, MexActaConstitutivaDocument, MexAddress, type MexAddressData, MexAddressProofDocument, MexAlert, MexAlertClientItem, type MexAlertClientItemData, type MexAlertData, MexAlertItem, type MexAlertItemData, MexAlertTransactionItem, type MexAlertTransactionItemData, MexBankAccount, type MexBankAccountData, MexClient, type MexClientData, MexCurpDocument, MexDocument, MexIneBackDocument, MexIneFrontDocument, MexPassportDocument, MexPoderNotarialDocument, MexProduct, type MexProductData, MexRfcConstanciaDocument, MexTransaction, type MexTransactionData, } from "./mx";
|
|
19
|
+
export { isActividadVulnerable, isActividadVulnerableAlert, isActividadVulnerableAlertClientItem, isActividadVulnerableAlertItem, isActividadVulnerableAlertTransactionItem, isActividadVulnerableProduct, isActividadVulnerableTransaction, isMexARIAlert, isMexARIAlertClientItem, isMexARIAlertItem, isMexARIAlertTransactionItem, isMexARIClient, isMexARIProduct, isMexARITransaction, isMexAVIAlert, isMexAVIAlertClientItem, isMexAVIAlertItem, isMexAVIAlertTransactionItem, isMexAVIClient, isMexAVIProduct, isMexAVITransaction, isMexJYSAlert, isMexJYSAlertClientItem, isMexJYSAlertItem, isMexJYSAlertTransactionItem, isMexJYSClient, isMexJYSProduct, isMexJYSTransaction, isMexMJRAlert, isMexMJRAlertClientItem, isMexMJRAlertItem, isMexMJRAlertTransactionItem, isMexMJRClient, isMexMJRProduct, isMexMJRTransaction, isMexTSCAlert, isMexTSCAlertClientItem, isMexTSCAlertItem, isMexTSCAlertTransactionItem, isMexTSCClient, isMexTSCProduct, isMexTSCTransaction, MexActividadVulnerableAlert, MexActividadVulnerableAlertClientItem, type MexActividadVulnerableAlertClientItemData, type MexActividadVulnerableAlertData, MexActividadVulnerableAlertItem, type MexActividadVulnerableAlertItemData, MexActividadVulnerableAlertTransactionItem, type MexActividadVulnerableAlertTransactionItemData, MexActividadVulnerableClient, MexActividadVulnerableProduct, MexActividadVulnerableTransaction, MexARIAlert, MexARIAlertClientItem, type MexARIAlertClientItemData, type MexARIAlertData, MexARIAlertItem, type MexARIAlertItemData, MexARIAlertTransactionItem, type MexARIAlertTransactionItemData, MexARIClient, MexARIProduct, MexARITransaction, MexAVIAlert, MexAVIAlertClientItem, type MexAVIAlertClientItemData, type MexAVIAlertData, MexAVIAlertItem, type MexAVIAlertItemData, MexAVIAlertTransactionItem, type MexAVIAlertTransactionItemData, MexAVIClient, MexAVIProduct, MexAVITransaction, MexJYSAlert, MexJYSAlertClientItem, type MexJYSAlertClientItemData, type MexJYSAlertData, MexJYSAlertItem, type MexJYSAlertItemData, MexJYSAlertTransactionItem, type MexJYSAlertTransactionItemData, MexJYSClient, MexJYSProduct, MexJYSTransaction, MexMJRAlert, MexMJRAlertClientItem, type MexMJRAlertClientItemData, type MexMJRAlertData, MexMJRAlertItem, type MexMJRAlertItemData, MexMJRAlertTransactionItem, type MexMJRAlertTransactionItemData, MexMJRClient, MexMJRProduct, MexMJRTransaction, MexTSCAlert, MexTSCAlertClientItem, type MexTSCAlertClientItemData, type MexTSCAlertData, MexTSCAlertItem, type MexTSCAlertItemData, MexTSCAlertTransactionItem, type MexTSCAlertTransactionItemData, MexTSCClient, MexTSCProduct, MexTSCTransaction, } from "./mx/av";
|
|
20
|
+
export { isMexCNBVProduct, isMexTransmisorAlert, isMexTransmisorAlertClientItem, isMexTransmisorAlertItem, isMexTransmisorAlertTransactionItem, isMexTransmisorClient, isMexTransmisorProduct, isMexTransmisorTransaction, MexCNBVProduct, MexTransmisorAlert, MexTransmisorAlertClientItem, type MexTransmisorAlertClientItemData, type MexTransmisorAlertData, MexTransmisorAlertItem, type MexTransmisorAlertItemData, MexTransmisorAlertTransactionItem, type MexTransmisorAlertTransactionItemData, MexTransmisorClient, MexTransmisorProduct, MexTransmisorTransaction, } from "./mx/cnbv";
|
|
21
|
+
export { isProduct, Product, type ProductData } from "./Product";
|
|
21
22
|
export { isRule, Rule, type RuleData } from "./Rule";
|
|
22
23
|
export { isRuleEvaluation, RuleEvaluation, type RuleEvaluationData, } from "./RuleEvaluation";
|
|
23
24
|
export { isRuleTemplate, RuleTemplate, type RuleTemplateData, } from "./RuleTemplate";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,OAAO,EAAE,KAAK,WAAW,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEjE,OAAO,EAAE,KAAK,EAAE,KAAK,SAAS,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,EACN,eAAe,EACf,KAAK,mBAAmB,EACxB,iBAAiB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,KAAK,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EACN,oBAAoB,EACpB,KAAK,wBAAwB,EAC7B,sBAAsB,GACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACN,WAAW,EACX,KAAK,eAAe,EACpB,aAAa,GACb,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,EACN,MAAM,EACN,KAAK,UAAU,EACf,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,OAAO,GACP,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,aAAa,EAAE,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EACN,cAAc,EACd,YAAY,EACZ,KAAK,gBAAgB,GACrB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACN,qBAAqB,EACrB,YAAY,EACZ,iBAAiB,EACjB,UAAU,EACV,oBAAoB,EACpB,cAAc,EACd,yBAAyB,EACzB,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,aAAa,EACb,YAAY,EACZ,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,2BAA2B,EAC3B,UAAU,EACV,KAAK,cAAc,EACnB,uBAAuB,EAEvB,QAAQ,EAER,kBAAkB,EAClB,KAAK,sBAAsB,EAC3B,KAAK,YAAY,EACjB,YAAY,EACZ,KAAK,gBAAgB,EAErB,uBAAuB,EACvB,KAAK,2BAA2B,EAChC,cAAc,EACd,KAAK,kBAAkB,EACvB,SAAS,EACT,KAAK,aAAa,EAClB,eAAe,EAEf,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"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"}
|
package/dist/models/index.js
CHANGED
|
@@ -20,7 +20,7 @@ export { ContactMethod } from "./ContactMethod";
|
|
|
20
20
|
export { Document } from "./Document";
|
|
21
21
|
export { isLinkedClient, LinkedClient, } from "./LinkedClient";
|
|
22
22
|
// Mexico hierarchy
|
|
23
|
-
export { isMexActaConstitutiva, isMexAddress, isMexAddressProof, isMexAlert, isMexAlertClientItem, isMexAlertItem, isMexAlertTransactionItem, isMexBankAccount, isMexClient, isMexCurp, isMexDocument, isMexIneBack, isMexIneFront, isMexPassport, isMexPoderNotarial, isMexRfcConstancia, isMexTransaction, MexActaConstitutivaDocument, MexAddress, MexAddressProofDocument,
|
|
23
|
+
export { isMexActaConstitutiva, isMexAddress, isMexAddressProof, isMexAlert, isMexAlertClientItem, isMexAlertItem, isMexAlertTransactionItem, isMexBankAccount, isMexClient, isMexCurp, isMexDocument, isMexIneBack, isMexIneFront, isMexPassport, isMexPoderNotarial, isMexProduct, isMexRfcConstancia, isMexTransaction, MexActaConstitutivaDocument, MexAddress, MexAddressProofDocument,
|
|
24
24
|
// Mexico alerts
|
|
25
25
|
MexAlert,
|
|
26
26
|
// Mexico alert client items
|
|
@@ -28,8 +28,10 @@ MexAlertClientItem, MexAlertItem,
|
|
|
28
28
|
// Mexico alert transaction items
|
|
29
29
|
MexAlertTransactionItem, MexBankAccount, MexClient, MexCurpDocument,
|
|
30
30
|
// Mexico documents
|
|
31
|
-
MexDocument, MexIneBackDocument, MexIneFrontDocument, MexPassportDocument, MexPoderNotarialDocument,
|
|
32
|
-
|
|
31
|
+
MexDocument, MexIneBackDocument, MexIneFrontDocument, MexPassportDocument, MexPoderNotarialDocument,
|
|
32
|
+
// Mexico product
|
|
33
|
+
MexProduct, MexRfcConstanciaDocument, MexTransaction, } from "./mx";
|
|
34
|
+
export { isActividadVulnerable, isActividadVulnerableAlert, isActividadVulnerableAlertClientItem, isActividadVulnerableAlertItem, isActividadVulnerableAlertTransactionItem, isActividadVulnerableProduct, isActividadVulnerableTransaction, isMexARIAlert, isMexARIAlertClientItem, isMexARIAlertItem, isMexARIAlertTransactionItem, isMexARIClient, isMexARIProduct, isMexARITransaction, isMexAVIAlert, isMexAVIAlertClientItem, isMexAVIAlertItem, isMexAVIAlertTransactionItem, isMexAVIClient, isMexAVIProduct, isMexAVITransaction, isMexJYSAlert, isMexJYSAlertClientItem, isMexJYSAlertItem, isMexJYSAlertTransactionItem, isMexJYSClient, isMexJYSProduct, isMexJYSTransaction, isMexMJRAlert, isMexMJRAlertClientItem, isMexMJRAlertItem, isMexMJRAlertTransactionItem, isMexMJRClient, isMexMJRProduct, isMexMJRTransaction, isMexTSCAlert, isMexTSCAlertClientItem, isMexTSCAlertItem, isMexTSCAlertTransactionItem, isMexTSCClient, isMexTSCProduct, isMexTSCTransaction,
|
|
33
35
|
// Alerts
|
|
34
36
|
MexActividadVulnerableAlert,
|
|
35
37
|
// Alert Client Items
|
|
@@ -38,11 +40,17 @@ MexActividadVulnerableAlertClientItem, MexActividadVulnerableAlertItem,
|
|
|
38
40
|
MexActividadVulnerableAlertTransactionItem,
|
|
39
41
|
// Clients
|
|
40
42
|
MexActividadVulnerableClient,
|
|
43
|
+
// Products
|
|
44
|
+
MexActividadVulnerableProduct,
|
|
41
45
|
// Transactions
|
|
42
|
-
MexActividadVulnerableTransaction, MexARIAlert, MexARIAlertClientItem, MexARIAlertItem, MexARIAlertTransactionItem, MexARIClient, MexARITransaction, MexAVIAlert, MexAVIAlertClientItem, MexAVIAlertItem, MexAVIAlertTransactionItem, MexAVIClient, MexAVITransaction, MexJYSAlert, MexJYSAlertClientItem, MexJYSAlertItem, MexJYSAlertTransactionItem, MexJYSClient, MexJYSTransaction, MexMJRAlert, MexMJRAlertClientItem, MexMJRAlertItem, MexMJRAlertTransactionItem, MexMJRClient, MexMJRTransaction, MexTSCAlert, MexTSCAlertClientItem, MexTSCAlertItem, MexTSCAlertTransactionItem, MexTSCClient, MexTSCTransaction, } from "./mx/av";
|
|
43
|
-
export { isMexTransmisorAlert, isMexTransmisorAlertClientItem, isMexTransmisorAlertItem, isMexTransmisorAlertTransactionItem, isMexTransmisorClient,
|
|
46
|
+
MexActividadVulnerableTransaction, MexARIAlert, MexARIAlertClientItem, MexARIAlertItem, MexARIAlertTransactionItem, MexARIClient, MexARIProduct, MexARITransaction, MexAVIAlert, MexAVIAlertClientItem, MexAVIAlertItem, MexAVIAlertTransactionItem, MexAVIClient, MexAVIProduct, MexAVITransaction, MexJYSAlert, MexJYSAlertClientItem, MexJYSAlertItem, MexJYSAlertTransactionItem, MexJYSClient, MexJYSProduct, MexJYSTransaction, MexMJRAlert, MexMJRAlertClientItem, MexMJRAlertItem, MexMJRAlertTransactionItem, MexMJRClient, MexMJRProduct, MexMJRTransaction, MexTSCAlert, MexTSCAlertClientItem, MexTSCAlertItem, MexTSCAlertTransactionItem, MexTSCClient, MexTSCProduct, MexTSCTransaction, } from "./mx/av";
|
|
47
|
+
export { isMexCNBVProduct, isMexTransmisorAlert, isMexTransmisorAlertClientItem, isMexTransmisorAlertItem, isMexTransmisorAlertTransactionItem, isMexTransmisorClient, isMexTransmisorProduct, isMexTransmisorTransaction,
|
|
48
|
+
// CNBV Products
|
|
49
|
+
MexCNBVProduct, MexTransmisorAlert, MexTransmisorAlertClientItem, MexTransmisorAlertItem, MexTransmisorAlertTransactionItem,
|
|
44
50
|
// CNBV Transmisor
|
|
45
|
-
MexTransmisorClient, MexTransmisorTransaction, } from "./mx/cnbv";
|
|
51
|
+
MexTransmisorClient, MexTransmisorProduct, MexTransmisorTransaction, } from "./mx/cnbv";
|
|
52
|
+
// Product
|
|
53
|
+
export { isProduct, Product } from "./Product";
|
|
46
54
|
// Rules
|
|
47
55
|
export { isRule, Rule } from "./Rule";
|
|
48
56
|
// Rule evaluations
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mexico Product Model
|
|
3
|
+
*
|
|
4
|
+
* Extends base Product with Mexico-specific accessors.
|
|
5
|
+
*/
|
|
6
|
+
import type { MexProductJurisdictionData } from "@artu-ai/shared";
|
|
7
|
+
import { Product, type ProductData } from "../Product";
|
|
8
|
+
/**
|
|
9
|
+
* Product data with Mexico jurisdiction
|
|
10
|
+
*/
|
|
11
|
+
export interface MexProductData extends ProductData {
|
|
12
|
+
jurisdictions?: {
|
|
13
|
+
MX?: MexProductJurisdictionData;
|
|
14
|
+
[key: string]: unknown;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Mexico Product Model.
|
|
19
|
+
*
|
|
20
|
+
* Provides typed accessors for Mexico-specific product data.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* if (product instanceof MexProduct) {
|
|
25
|
+
* console.log(`Activities: ${product.activityCodes.join(", ")}`);
|
|
26
|
+
* }
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export declare class MexProduct extends Product {
|
|
30
|
+
/**
|
|
31
|
+
* Mexico-specific jurisdiction data
|
|
32
|
+
*/
|
|
33
|
+
protected get mexicoData(): MexProductJurisdictionData | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* Whether product is related to any Actividad Vulnerable
|
|
36
|
+
*/
|
|
37
|
+
get isActividadVulnerable(): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Activity codes this product is associated with
|
|
40
|
+
*/
|
|
41
|
+
get activityCodes(): string[];
|
|
42
|
+
/**
|
|
43
|
+
* Checks if product is for a specific activity
|
|
44
|
+
*/
|
|
45
|
+
hasActivity(code: string): boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Whether product is related to any CNBV subject
|
|
48
|
+
*/
|
|
49
|
+
get isCNBV(): boolean;
|
|
50
|
+
toString(): string;
|
|
51
|
+
}
|
|
52
|
+
import type { Product as ProductBase } from "../Product";
|
|
53
|
+
/**
|
|
54
|
+
* Check if product is a Mexico product
|
|
55
|
+
*/
|
|
56
|
+
export declare function isMexProduct(product: ProductBase): product is MexProduct;
|
|
57
|
+
//# sourceMappingURL=MexProduct.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MexProduct.d.ts","sourceRoot":"","sources":["../../../src/models/mx/MexProduct.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAMvD;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,WAAW;IAClD,aAAa,CAAC,EAAE;QACf,EAAE,CAAC,EAAE,0BAA0B,CAAC;QAChC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACvB,CAAC;CACF;AAMD;;;;;;;;;;;GAWG;AACH,qBAAa,UAAW,SAAQ,OAAO;IAKtC;;OAEG;IACH,SAAS,KAAK,UAAU,IAAI,0BAA0B,GAAG,SAAS,CAEjE;IAMD;;OAEG;IACH,IAAI,qBAAqB,IAAI,OAAO,CAInC;IAED;;OAEG;IACH,IAAI,aAAa,IAAI,MAAM,EAAE,CAI5B;IAED;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAQlC;;OAEG;IACH,IAAI,MAAM,IAAI,OAAO,CAIpB;IAMQ,QAAQ,IAAI,MAAM;CAG3B;AAMD,OAAO,KAAK,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzD;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,IAAI,UAAU,CAExE"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mexico Product Model
|
|
3
|
+
*
|
|
4
|
+
* Extends base Product with Mexico-specific accessors.
|
|
5
|
+
*/
|
|
6
|
+
import { Product } from "../Product";
|
|
7
|
+
// ===========================
|
|
8
|
+
// MexProduct Model
|
|
9
|
+
// ===========================
|
|
10
|
+
/**
|
|
11
|
+
* Mexico Product Model.
|
|
12
|
+
*
|
|
13
|
+
* Provides typed accessors for Mexico-specific product data.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* if (product instanceof MexProduct) {
|
|
18
|
+
* console.log(`Activities: ${product.activityCodes.join(", ")}`);
|
|
19
|
+
* }
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export class MexProduct extends Product {
|
|
23
|
+
// ─────────────────────────────────────────────────────────────────
|
|
24
|
+
// Mexico Jurisdiction Data
|
|
25
|
+
// ─────────────────────────────────────────────────────────────────
|
|
26
|
+
/**
|
|
27
|
+
* Mexico-specific jurisdiction data
|
|
28
|
+
*/
|
|
29
|
+
get mexicoData() {
|
|
30
|
+
return this._data.jurisdictions?.MX;
|
|
31
|
+
}
|
|
32
|
+
// ─────────────────────────────────────────────────────────────────
|
|
33
|
+
// Actividades Vulnerables
|
|
34
|
+
// ─────────────────────────────────────────────────────────────────
|
|
35
|
+
/**
|
|
36
|
+
* Whether product is related to any Actividad Vulnerable
|
|
37
|
+
*/
|
|
38
|
+
get isActividadVulnerable() {
|
|
39
|
+
const av = this.mexicoData?.actividadVulnerable;
|
|
40
|
+
if (!av)
|
|
41
|
+
return false;
|
|
42
|
+
return Object.values(av).some(Boolean);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Activity codes this product is associated with
|
|
46
|
+
*/
|
|
47
|
+
get activityCodes() {
|
|
48
|
+
const av = this.mexicoData?.actividadVulnerable;
|
|
49
|
+
if (!av)
|
|
50
|
+
return [];
|
|
51
|
+
return Object.keys(av).filter((key) => av[key]);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Checks if product is for a specific activity
|
|
55
|
+
*/
|
|
56
|
+
hasActivity(code) {
|
|
57
|
+
return this.activityCodes.includes(code);
|
|
58
|
+
}
|
|
59
|
+
// ─────────────────────────────────────────────────────────────────
|
|
60
|
+
// CNBV
|
|
61
|
+
// ─────────────────────────────────────────────────────────────────
|
|
62
|
+
/**
|
|
63
|
+
* Whether product is related to any CNBV subject
|
|
64
|
+
*/
|
|
65
|
+
get isCNBV() {
|
|
66
|
+
const cnbv = this.mexicoData?.cnbv;
|
|
67
|
+
if (!cnbv)
|
|
68
|
+
return false;
|
|
69
|
+
return Object.values(cnbv).some(Boolean);
|
|
70
|
+
}
|
|
71
|
+
// ─────────────────────────────────────────────────────────────────
|
|
72
|
+
// String Representation
|
|
73
|
+
// ─────────────────────────────────────────────────────────────────
|
|
74
|
+
toString() {
|
|
75
|
+
return `MexProduct(${this.id}, ${this.name}, Activities: [${this.activityCodes.join(", ")}])`;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Check if product is a Mexico product
|
|
80
|
+
*/
|
|
81
|
+
export function isMexProduct(product) {
|
|
82
|
+
return product instanceof MexProduct;
|
|
83
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mexico Actividad Vulnerable Product Base
|
|
3
|
+
*
|
|
4
|
+
* Common functionality for all Actividad Vulnerable products.
|
|
5
|
+
* Extended by activity-specific models (ARI, AVI, JYS, MJR, TSC).
|
|
6
|
+
*/
|
|
7
|
+
import type { ActividadVulnerableProductData } from "@artu-ai/shared";
|
|
8
|
+
import { MexProduct } from "../MexProduct";
|
|
9
|
+
/**
|
|
10
|
+
* Base model for Mexico Actividad Vulnerable products.
|
|
11
|
+
*
|
|
12
|
+
* Provides common accessors for all activity types.
|
|
13
|
+
* Extended by MexARIProduct, MexAVIProduct, MexJYSProduct, etc.
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* ```typescript
|
|
17
|
+
* if (product instanceof MexActividadVulnerableProduct) {
|
|
18
|
+
* console.log(`Activities: ${product.activityCodes.join(", ")}`);
|
|
19
|
+
* }
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare class MexActividadVulnerableProduct extends MexProduct {
|
|
23
|
+
/**
|
|
24
|
+
* Actividad Vulnerable data for this product
|
|
25
|
+
*/
|
|
26
|
+
protected get actividadVulnerableData(): ActividadVulnerableProductData | undefined;
|
|
27
|
+
toString(): string;
|
|
28
|
+
}
|
|
29
|
+
import type { Product } from "../../Product";
|
|
30
|
+
/**
|
|
31
|
+
* Check if product is for any Actividad Vulnerable
|
|
32
|
+
*/
|
|
33
|
+
export declare function isActividadVulnerableProduct(product: Product): product is MexActividadVulnerableProduct;
|
|
34
|
+
//# sourceMappingURL=MexActividadVulnerableProduct.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MexActividadVulnerableProduct.d.ts","sourceRoot":"","sources":["../../../../src/models/mx/av/MexActividadVulnerableProduct.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAM3C;;;;;;;;;;;;GAYG;AACH,qBAAa,6BAA8B,SAAQ,UAAU;IAK5D;;OAEG;IACH,SAAS,KAAK,uBAAuB,IAClC,8BAA8B,GAC9B,SAAS,CAEX;IAMQ,QAAQ,IAAI,MAAM;CAG3B;AAMD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C;;GAEG;AACH,wBAAgB,4BAA4B,CAC3C,OAAO,EAAE,OAAO,GACd,OAAO,IAAI,6BAA6B,CAE1C"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mexico Actividad Vulnerable Product Base
|
|
3
|
+
*
|
|
4
|
+
* Common functionality for all Actividad Vulnerable products.
|
|
5
|
+
* Extended by activity-specific models (ARI, AVI, JYS, MJR, TSC).
|
|
6
|
+
*/
|
|
7
|
+
import { MexProduct } from "../MexProduct";
|
|
8
|
+
// ===========================
|
|
9
|
+
// MexActividadVulnerableProduct Model
|
|
10
|
+
// ===========================
|
|
11
|
+
/**
|
|
12
|
+
* Base model for Mexico Actividad Vulnerable products.
|
|
13
|
+
*
|
|
14
|
+
* Provides common accessors for all activity types.
|
|
15
|
+
* Extended by MexARIProduct, MexAVIProduct, MexJYSProduct, etc.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* if (product instanceof MexActividadVulnerableProduct) {
|
|
20
|
+
* console.log(`Activities: ${product.activityCodes.join(", ")}`);
|
|
21
|
+
* }
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export class MexActividadVulnerableProduct extends MexProduct {
|
|
25
|
+
// ─────────────────────────────────────────────────────────────────
|
|
26
|
+
// Actividad Vulnerable Data
|
|
27
|
+
// ─────────────────────────────────────────────────────────────────
|
|
28
|
+
/**
|
|
29
|
+
* Actividad Vulnerable data for this product
|
|
30
|
+
*/
|
|
31
|
+
get actividadVulnerableData() {
|
|
32
|
+
return this.mexicoData?.actividadVulnerable;
|
|
33
|
+
}
|
|
34
|
+
// ─────────────────────────────────────────────────────────────────
|
|
35
|
+
// String Representation
|
|
36
|
+
// ─────────────────────────────────────────────────────────────────
|
|
37
|
+
toString() {
|
|
38
|
+
return `MexActividadVulnerableProduct(${this.id}, ${this.name}, Activities: [${this.activityCodes.join(", ")}])`;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Check if product is for any Actividad Vulnerable
|
|
43
|
+
*/
|
|
44
|
+
export function isActividadVulnerableProduct(product) {
|
|
45
|
+
return product instanceof MexActividadVulnerableProduct;
|
|
46
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mexico ARI (Arrendamiento de Inmuebles - Real Estate Leasing) Product
|
|
3
|
+
*
|
|
4
|
+
* Specialized for real estate leasing product templates.
|
|
5
|
+
*/
|
|
6
|
+
import type { ARIProductData } from "@artu-ai/shared";
|
|
7
|
+
import { MexActividadVulnerableProduct } from "../MexActividadVulnerableProduct";
|
|
8
|
+
/**
|
|
9
|
+
* Mexico ARI Product Model.
|
|
10
|
+
*
|
|
11
|
+
* Provides typed accessors for real estate leasing product data.
|
|
12
|
+
* ARI products have property details and payment defaults.
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* if (product instanceof MexARIProduct) {
|
|
17
|
+
* console.log(`Operation: ${product.operationType}`);
|
|
18
|
+
* console.log(`Property type: ${product.property?.type}`);
|
|
19
|
+
* console.log(`Payment form: ${product.paymentForm}`);
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export declare class MexARIProduct extends MexActividadVulnerableProduct {
|
|
24
|
+
/**
|
|
25
|
+
* ARI-specific product data
|
|
26
|
+
*/
|
|
27
|
+
protected get ariData(): ARIProductData | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* Operation type
|
|
30
|
+
*/
|
|
31
|
+
get operationType(): string | undefined;
|
|
32
|
+
/**
|
|
33
|
+
* Property details (type, value, address, folio)
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```typescript
|
|
37
|
+
* product.property?.type // "1" (Casa)
|
|
38
|
+
* product.property?.value // "1500000"
|
|
39
|
+
* product.property?.colonia // "Roma Norte"
|
|
40
|
+
* product.property?.postalCode // "06700"
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
get property(): ARIProductData["property"] | undefined;
|
|
44
|
+
/**
|
|
45
|
+
* Default payment form
|
|
46
|
+
*/
|
|
47
|
+
get paymentForm(): string | undefined;
|
|
48
|
+
/**
|
|
49
|
+
* Default monetary instrument
|
|
50
|
+
*/
|
|
51
|
+
get monetaryInstrument(): string | undefined;
|
|
52
|
+
toString(): string;
|
|
53
|
+
}
|
|
54
|
+
import type { Product } from "../../../Product";
|
|
55
|
+
/**
|
|
56
|
+
* Check if product is an ARI (Arrendamiento de Inmuebles) product
|
|
57
|
+
*/
|
|
58
|
+
export declare function isMexARIProduct(product: Product): product is MexARIProduct;
|
|
59
|
+
//# sourceMappingURL=MexARIProduct.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MexARIProduct.d.ts","sourceRoot":"","sources":["../../../../../src/models/mx/av/ari/MexARIProduct.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,6BAA6B,EAAE,MAAM,kCAAkC,CAAC;AAMjF;;;;;;;;;;;;;;GAcG;AACH,qBAAa,aAAc,SAAQ,6BAA6B;IAK/D;;OAEG;IACH,SAAS,KAAK,OAAO,IAAI,cAAc,GAAG,SAAS,CAElD;IAMD;;OAEG;IACH,IAAI,aAAa,IAAI,MAAM,GAAG,SAAS,CAEtC;IAMD;;;;;;;;;;OAUG;IACH,IAAI,QAAQ,IAAI,cAAc,CAAC,UAAU,CAAC,GAAG,SAAS,CAErD;IAMD;;OAEG;IACH,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED;;OAEG;IACH,IAAI,kBAAkB,IAAI,MAAM,GAAG,SAAS,CAE3C;IAMQ,QAAQ,IAAI,MAAM;CAG3B;AAMD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEhD;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,aAAa,CAE1E"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Mexico ARI (Arrendamiento de Inmuebles - Real Estate Leasing) Product
|
|
3
|
+
*
|
|
4
|
+
* Specialized for real estate leasing product templates.
|
|
5
|
+
*/
|
|
6
|
+
import { MexActividadVulnerableProduct } from "../MexActividadVulnerableProduct";
|
|
7
|
+
// ===========================
|
|
8
|
+
// MexARIProduct Model
|
|
9
|
+
// ===========================
|
|
10
|
+
/**
|
|
11
|
+
* Mexico ARI Product Model.
|
|
12
|
+
*
|
|
13
|
+
* Provides typed accessors for real estate leasing product data.
|
|
14
|
+
* ARI products have property details and payment defaults.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* if (product instanceof MexARIProduct) {
|
|
19
|
+
* console.log(`Operation: ${product.operationType}`);
|
|
20
|
+
* console.log(`Property type: ${product.property?.type}`);
|
|
21
|
+
* console.log(`Payment form: ${product.paymentForm}`);
|
|
22
|
+
* }
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export class MexARIProduct extends MexActividadVulnerableProduct {
|
|
26
|
+
// ─────────────────────────────────────────────────────────────────
|
|
27
|
+
// ARI-Specific Data
|
|
28
|
+
// ─────────────────────────────────────────────────────────────────
|
|
29
|
+
/**
|
|
30
|
+
* ARI-specific product data
|
|
31
|
+
*/
|
|
32
|
+
get ariData() {
|
|
33
|
+
return this.actividadVulnerableData?.ARI;
|
|
34
|
+
}
|
|
35
|
+
// ─────────────────────────────────────────────────────────────────
|
|
36
|
+
// Operation Fields
|
|
37
|
+
// ─────────────────────────────────────────────────────────────────
|
|
38
|
+
/**
|
|
39
|
+
* Operation type
|
|
40
|
+
*/
|
|
41
|
+
get operationType() {
|
|
42
|
+
return this.ariData?.operationType;
|
|
43
|
+
}
|
|
44
|
+
// ─────────────────────────────────────────────────────────────────
|
|
45
|
+
// Property Details
|
|
46
|
+
// ─────────────────────────────────────────────────────────────────
|
|
47
|
+
/**
|
|
48
|
+
* Property details (type, value, address, folio)
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```typescript
|
|
52
|
+
* product.property?.type // "1" (Casa)
|
|
53
|
+
* product.property?.value // "1500000"
|
|
54
|
+
* product.property?.colonia // "Roma Norte"
|
|
55
|
+
* product.property?.postalCode // "06700"
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
get property() {
|
|
59
|
+
return this.ariData?.property;
|
|
60
|
+
}
|
|
61
|
+
// ─────────────────────────────────────────────────────────────────
|
|
62
|
+
// Payment Defaults
|
|
63
|
+
// ─────────────────────────────────────────────────────────────────
|
|
64
|
+
/**
|
|
65
|
+
* Default payment form
|
|
66
|
+
*/
|
|
67
|
+
get paymentForm() {
|
|
68
|
+
return this.ariData?.paymentForm;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Default monetary instrument
|
|
72
|
+
*/
|
|
73
|
+
get monetaryInstrument() {
|
|
74
|
+
return this.ariData?.monetaryInstrument;
|
|
75
|
+
}
|
|
76
|
+
// ─────────────────────────────────────────────────────────────────
|
|
77
|
+
// String Representation
|
|
78
|
+
// ─────────────────────────────────────────────────────────────────
|
|
79
|
+
toString() {
|
|
80
|
+
return `MexARIProduct(${this.id}, ${this.name}, propertyType: ${this.property?.type ?? "N/A"})`;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Check if product is an ARI (Arrendamiento de Inmuebles) product
|
|
85
|
+
*/
|
|
86
|
+
export function isMexARIProduct(product) {
|
|
87
|
+
return product instanceof MexARIProduct;
|
|
88
|
+
}
|