@artu-ai/compliance-sdk 0.4.0 → 0.4.2
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/package.json +4 -5
- package/src/errors/api.ts +0 -305
- package/src/errors/base.ts +0 -127
- package/src/errors/index.ts +0 -63
- package/src/errors/upload.ts +0 -204
- package/src/errors/validation.ts +0 -163
- package/src/exports/base.ts +0 -139
- package/src/exports/index.ts +0 -187
- package/src/exports/mexico/actividad-vulnerable/avi.ts +0 -207
- package/src/exports/mexico/actividad-vulnerable/jys.ts +0 -214
- package/src/exports/mexico/actividad-vulnerable/tsc.ts +0 -202
- package/src/exports/mexico/index.ts +0 -215
- package/src/models/Address.ts +0 -235
- package/src/models/BankAccount.ts +0 -235
- package/src/models/Client.ts +0 -363
- package/src/models/ContactMethod.ts +0 -197
- package/src/models/Document.ts +0 -355
- package/src/models/LinkedClient.ts +0 -84
- package/src/models/Report.ts +0 -193
- package/src/models/ReportItem.ts +0 -211
- package/src/models/Transaction.ts +0 -219
- package/src/models/base.ts +0 -56
- package/src/models/index.ts +0 -148
- package/src/models/mex/MexAddress.ts +0 -184
- package/src/models/mex/MexBankAccount.ts +0 -121
- package/src/models/mex/MexClient.ts +0 -177
- package/src/models/mex/MexDocument.ts +0 -890
- package/src/models/mex/MexReport.ts +0 -99
- package/src/models/mex/MexReportItem.ts +0 -79
- package/src/models/mex/MexTransaction.ts +0 -105
- package/src/models/mex/actividad-vulnerable/MexActividadVulnerableClient.ts +0 -66
- package/src/models/mex/actividad-vulnerable/MexActividadVulnerableReport.ts +0 -73
- package/src/models/mex/actividad-vulnerable/MexActividadVulnerableReportItem.ts +0 -74
- package/src/models/mex/actividad-vulnerable/MexActividadVulnerableTransaction.ts +0 -50
- package/src/models/mex/actividad-vulnerable/avi/MexAVIClient.ts +0 -80
- package/src/models/mex/actividad-vulnerable/avi/MexAVIReport.ts +0 -114
- package/src/models/mex/actividad-vulnerable/avi/MexAVIReportItem.ts +0 -105
- package/src/models/mex/actividad-vulnerable/avi/MexAVITransaction.ts +0 -157
- package/src/models/mex/actividad-vulnerable/index.ts +0 -78
- package/src/models/mex/actividad-vulnerable/jys/MexJYSClient.ts +0 -73
- package/src/models/mex/actividad-vulnerable/jys/MexJYSReport.ts +0 -114
- package/src/models/mex/actividad-vulnerable/jys/MexJYSReportItem.ts +0 -105
- package/src/models/mex/actividad-vulnerable/jys/MexJYSTransaction.ts +0 -178
- package/src/models/mex/actividad-vulnerable/tsc/MexTSCClient.ts +0 -73
- package/src/models/mex/actividad-vulnerable/tsc/MexTSCReport.ts +0 -114
- package/src/models/mex/actividad-vulnerable/tsc/MexTSCReportItem.ts +0 -105
- package/src/models/mex/actividad-vulnerable/tsc/MexTSCTransaction.ts +0 -104
- package/src/models/mex/index.ts +0 -57
- package/src/models/types.ts +0 -196
- package/src/namespaces/index.ts +0 -29
- package/src/namespaces/mexico/actividad-vulnerable/avi/index.ts +0 -62
- package/src/namespaces/mexico/actividad-vulnerable/index.ts +0 -79
- package/src/namespaces/mexico/actividad-vulnerable/jys/index.ts +0 -72
- package/src/namespaces/mexico/actividad-vulnerable/tsc/index.ts +0 -60
- package/src/namespaces/mexico/index.ts +0 -325
- package/src/resources/addresses.ts +0 -391
- package/src/resources/bank-accounts.ts +0 -417
- package/src/resources/base.ts +0 -327
- package/src/resources/clients.ts +0 -808
- package/src/resources/contact-methods.ts +0 -412
- package/src/resources/documents.ts +0 -688
- package/src/resources/index.ts +0 -40
- package/src/resources/mex/actividad-vulnerable/avi/clients.ts +0 -559
- package/src/resources/mex/actividad-vulnerable/avi/index.ts +0 -7
- package/src/resources/mex/actividad-vulnerable/avi/reports.ts +0 -609
- package/src/resources/mex/actividad-vulnerable/avi/transactions.ts +0 -404
- package/src/resources/mex/actividad-vulnerable/index.ts +0 -12
- package/src/resources/mex/actividad-vulnerable/jys/clients.ts +0 -445
- package/src/resources/mex/actividad-vulnerable/jys/index.ts +0 -7
- package/src/resources/mex/actividad-vulnerable/jys/reports.ts +0 -591
- package/src/resources/mex/actividad-vulnerable/jys/transactions.ts +0 -395
- package/src/resources/mex/actividad-vulnerable/tsc/clients.ts +0 -445
- package/src/resources/mex/actividad-vulnerable/tsc/index.ts +0 -7
- package/src/resources/mex/actividad-vulnerable/tsc/reports.ts +0 -591
- package/src/resources/mex/actividad-vulnerable/tsc/transactions.ts +0 -404
- package/src/resources/mex/addresses.ts +0 -493
- package/src/resources/mex/bank-accounts.ts +0 -283
- package/src/resources/mex/clients.ts +0 -758
- package/src/resources/mex/ebr.ts +0 -621
- package/src/resources/mex/index.ts +0 -23
- package/src/resources/mex/reports.ts +0 -643
- package/src/resources/mex/transactions.ts +0 -422
- package/src/resources/reports.ts +0 -515
- package/src/resources/transactions.ts +0 -358
- package/src/sdk/ComplianceSDK.ts +0 -812
- package/src/sdk/base.ts +0 -43
- package/src/sdk/index.ts +0 -98
- package/src/sdk/mex/ComplianceSDK.ts +0 -147
- package/src/sdk/mex/actividad-vulnerable/avi/ComplianceSDK.ts +0 -55
- package/src/sdk/mex/actividad-vulnerable/avi/index.ts +0 -16
- package/src/sdk/mex/actividad-vulnerable/avi/types.ts +0 -86
- package/src/sdk/mex/actividad-vulnerable/index.ts +0 -58
- package/src/sdk/mex/actividad-vulnerable/jys/ComplianceSDK.ts +0 -54
- package/src/sdk/mex/actividad-vulnerable/jys/index.ts +0 -16
- package/src/sdk/mex/actividad-vulnerable/jys/types.ts +0 -86
- package/src/sdk/mex/actividad-vulnerable/tsc/ComplianceSDK.ts +0 -54
- package/src/sdk/mex/actividad-vulnerable/tsc/index.ts +0 -16
- package/src/sdk/mex/actividad-vulnerable/tsc/types.ts +0 -86
- package/src/sdk/mex/index.ts +0 -66
- package/src/sdk/mex/types.ts +0 -88
- package/src/sdk/resource-registry.ts +0 -204
- package/src/sdk/sdk-registry.ts +0 -99
- package/src/sdk/types.ts +0 -304
- package/src/utils/environment.ts +0 -187
- package/src/utils/filters.ts +0 -412
- package/src/utils/index.ts +0 -134
- package/src/utils/pagination.ts +0 -143
- package/src/utils/session.ts +0 -303
- package/src/utils/trpc-client.ts +0 -242
- package/src/utils/upload.ts +0 -388
|
@@ -1,283 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Mexico Bank Accounts Resource
|
|
3
|
-
*
|
|
4
|
-
* Extends BankAccountsResource to return MexBankAccount models
|
|
5
|
-
* with Mexico-specific helpers (CLABE formatting, etc.).
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import type {
|
|
9
|
-
CreateBankAccountInput,
|
|
10
|
-
UpdateBankAccountInput,
|
|
11
|
-
BankAccountFilter,
|
|
12
|
-
BankAccountSort,
|
|
13
|
-
ListOptions,
|
|
14
|
-
PaginatedResponse,
|
|
15
|
-
AtomicBatchResult,
|
|
16
|
-
PartialBatchResult,
|
|
17
|
-
SyncItem,
|
|
18
|
-
SyncResult,
|
|
19
|
-
MexBankAccountFilter,
|
|
20
|
-
MexBankAccountSort,
|
|
21
|
-
} from "@artu-ai/shared";
|
|
22
|
-
import {
|
|
23
|
-
transformSort,
|
|
24
|
-
mexBankAccountFieldMapping,
|
|
25
|
-
} from "@artu-ai/shared";
|
|
26
|
-
import { BankAccountsResource } from "../bank-accounts";
|
|
27
|
-
import { type BatchOptions } from "../clients";
|
|
28
|
-
import { MexBankAccount, type BankAccountData } from "../../models";
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Mexico-scoped bank accounts resource.
|
|
32
|
-
*
|
|
33
|
-
* Identical to BankAccountsResource but returns MexBankAccount models
|
|
34
|
-
* with Mexico-specific helpers like CLABE formatting.
|
|
35
|
-
*
|
|
36
|
-
* @example
|
|
37
|
-
* ```typescript
|
|
38
|
-
* const mexSdk = new ComplianceSDK({
|
|
39
|
-
* apiKey,
|
|
40
|
-
* environment: "test",
|
|
41
|
-
* jurisdiction: Jurisdiction.Mexico,
|
|
42
|
-
* });
|
|
43
|
-
*
|
|
44
|
-
* const account = await mexSdk.bankAccounts.create({
|
|
45
|
-
* clientId: "client_123",
|
|
46
|
-
* accountNumber: "1234567890",
|
|
47
|
-
* bankName: "BBVA México",
|
|
48
|
-
* type: "checking",
|
|
49
|
-
* currency: "MXN",
|
|
50
|
-
* country: "MX",
|
|
51
|
-
* clabe: "012180001234567890",
|
|
52
|
-
* });
|
|
53
|
-
*
|
|
54
|
-
* // Returns MexBankAccount with helpers
|
|
55
|
-
* console.log(account.clabe);
|
|
56
|
-
* console.log(account.formattedClabe); // "012 180 00123456789 0"
|
|
57
|
-
* console.log(account.maskedClabe); // "**************7890"
|
|
58
|
-
* ```
|
|
59
|
-
*/
|
|
60
|
-
export class MexBankAccountsResource<
|
|
61
|
-
TSort = MexBankAccountSort,
|
|
62
|
-
> extends BankAccountsResource<TSort> {
|
|
63
|
-
// ─────────────────────────────────────────────────────────────────
|
|
64
|
-
// CRUD Operations (override return types)
|
|
65
|
-
// ─────────────────────────────────────────────────────────────────
|
|
66
|
-
|
|
67
|
-
override async create(data: CreateBankAccountInput): Promise<MexBankAccount> {
|
|
68
|
-
return super.create(data) as Promise<MexBankAccount>;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
override async retrieve(id: string): Promise<MexBankAccount> {
|
|
72
|
-
return super.retrieve(id) as Promise<MexBankAccount>;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
override async retrieveByMetadata(
|
|
76
|
-
key: string,
|
|
77
|
-
value: string
|
|
78
|
-
): Promise<MexBankAccount> {
|
|
79
|
-
return super.retrieveByMetadata(key, value) as Promise<MexBankAccount>;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
override async retrieveByExternalId(
|
|
83
|
-
externalId: string
|
|
84
|
-
): Promise<MexBankAccount> {
|
|
85
|
-
return super.retrieveByExternalId(externalId) as Promise<MexBankAccount>;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
override async update(
|
|
89
|
-
id: string,
|
|
90
|
-
data: UpdateBankAccountInput
|
|
91
|
-
): Promise<MexBankAccount> {
|
|
92
|
-
return super.update(id, data) as Promise<MexBankAccount>;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
// ─────────────────────────────────────────────────────────────────
|
|
96
|
-
// List & Pagination
|
|
97
|
-
// ─────────────────────────────────────────────────────────────────
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* Lists bank accounts with optional filtering.
|
|
101
|
-
*
|
|
102
|
-
* Accepts flattened MX filter (MX-specific fields at root level).
|
|
103
|
-
*/
|
|
104
|
-
async list(
|
|
105
|
-
options?: ListOptions<MexBankAccountFilter, TSort>
|
|
106
|
-
): Promise<PaginatedResponse<MexBankAccount>> {
|
|
107
|
-
const scopedFilter = this.applyScopeToFilter(options?.filter);
|
|
108
|
-
const scopedSort = this.applyScopeToSort(options?.sort);
|
|
109
|
-
|
|
110
|
-
const response = await this.execute(() =>
|
|
111
|
-
this.trpc.bankAccounts.list.query({
|
|
112
|
-
...options,
|
|
113
|
-
filter: scopedFilter,
|
|
114
|
-
sort: scopedSort,
|
|
115
|
-
})
|
|
116
|
-
);
|
|
117
|
-
|
|
118
|
-
return {
|
|
119
|
-
data: response.data.map((a) => this.instantiate(a)),
|
|
120
|
-
pagination: response.pagination,
|
|
121
|
-
};
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
override async listByClient(
|
|
125
|
-
clientId: string,
|
|
126
|
-
options?: { cursor?: string; limit?: number }
|
|
127
|
-
): Promise<PaginatedResponse<MexBankAccount>> {
|
|
128
|
-
return super.listByClient(clientId, options) as Promise<
|
|
129
|
-
PaginatedResponse<MexBankAccount>
|
|
130
|
-
>;
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
/**
|
|
134
|
-
* Iterates over bank accounts.
|
|
135
|
-
*
|
|
136
|
-
* Accepts flattened MX filter (MX-specific fields at root level).
|
|
137
|
-
*/
|
|
138
|
-
iterate(
|
|
139
|
-
filter?: MexBankAccountFilter
|
|
140
|
-
): AsyncGenerator<MexBankAccount, void, undefined> {
|
|
141
|
-
const scopedFilter = this.applyScopeToFilter(filter);
|
|
142
|
-
return this.createIterator<MexBankAccount>({ filter: scopedFilter });
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
// ─────────────────────────────────────────────────────────────────
|
|
146
|
-
// Batch Operations (override return types)
|
|
147
|
-
// ─────────────────────────────────────────────────────────────────
|
|
148
|
-
|
|
149
|
-
override async createMany(
|
|
150
|
-
accounts: CreateBankAccountInput[],
|
|
151
|
-
options?: { atomic?: true }
|
|
152
|
-
): Promise<AtomicBatchResult<MexBankAccount>>;
|
|
153
|
-
override async createMany(
|
|
154
|
-
accounts: CreateBankAccountInput[],
|
|
155
|
-
options: { atomic: false }
|
|
156
|
-
): Promise<PartialBatchResult<MexBankAccount>>;
|
|
157
|
-
override async createMany(
|
|
158
|
-
accounts: CreateBankAccountInput[],
|
|
159
|
-
options: BatchOptions = {}
|
|
160
|
-
): Promise<
|
|
161
|
-
AtomicBatchResult<MexBankAccount> | PartialBatchResult<MexBankAccount>
|
|
162
|
-
> {
|
|
163
|
-
return super.createMany(accounts, options as { atomic?: true }) as Promise<
|
|
164
|
-
AtomicBatchResult<MexBankAccount> | PartialBatchResult<MexBankAccount>
|
|
165
|
-
>;
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
override async updateMany(
|
|
169
|
-
updates: { id: string; data: UpdateBankAccountInput }[],
|
|
170
|
-
options?: { atomic?: true }
|
|
171
|
-
): Promise<AtomicBatchResult<MexBankAccount>>;
|
|
172
|
-
override async updateMany(
|
|
173
|
-
updates: { id: string; data: UpdateBankAccountInput }[],
|
|
174
|
-
options: { atomic: false }
|
|
175
|
-
): Promise<PartialBatchResult<MexBankAccount>>;
|
|
176
|
-
override async updateMany(
|
|
177
|
-
updates: { id: string; data: UpdateBankAccountInput }[],
|
|
178
|
-
options: BatchOptions = {}
|
|
179
|
-
): Promise<
|
|
180
|
-
AtomicBatchResult<MexBankAccount> | PartialBatchResult<MexBankAccount>
|
|
181
|
-
> {
|
|
182
|
-
return super.updateMany(updates, options as { atomic?: true }) as Promise<
|
|
183
|
-
AtomicBatchResult<MexBankAccount> | PartialBatchResult<MexBankAccount>
|
|
184
|
-
>;
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
// ─────────────────────────────────────────────────────────────────
|
|
188
|
-
// Sync Operations (override return types)
|
|
189
|
-
// ─────────────────────────────────────────────────────────────────
|
|
190
|
-
|
|
191
|
-
override async sync(
|
|
192
|
-
clientId: string,
|
|
193
|
-
items: SyncItem<CreateBankAccountInput>[],
|
|
194
|
-
options: { replaceMode: true }
|
|
195
|
-
): Promise<SyncResult<MexBankAccount>>;
|
|
196
|
-
override async sync(
|
|
197
|
-
clientId: string,
|
|
198
|
-
items: SyncItem<UpdateBankAccountInput>[],
|
|
199
|
-
options?: { replaceMode?: boolean }
|
|
200
|
-
): Promise<SyncResult<MexBankAccount>>;
|
|
201
|
-
override async sync(
|
|
202
|
-
clientId: string,
|
|
203
|
-
items: SyncItem<UpdateBankAccountInput | CreateBankAccountInput>[],
|
|
204
|
-
options?: { replaceMode?: boolean }
|
|
205
|
-
): Promise<SyncResult<MexBankAccount>> {
|
|
206
|
-
return super.sync(clientId, items, options) as Promise<
|
|
207
|
-
SyncResult<MexBankAccount>
|
|
208
|
-
>;
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
// ─────────────────────────────────────────────────────────────────
|
|
212
|
-
// Convenience Methods (override return types)
|
|
213
|
-
// ─────────────────────────────────────────────────────────────────
|
|
214
|
-
|
|
215
|
-
override async setPrimary(id: string): Promise<MexBankAccount> {
|
|
216
|
-
return super.setPrimary(id) as Promise<MexBankAccount>;
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
override async activate(id: string): Promise<MexBankAccount> {
|
|
220
|
-
return super.activate(id) as Promise<MexBankAccount>;
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
override async deactivate(id: string): Promise<MexBankAccount> {
|
|
224
|
-
return super.deactivate(id) as Promise<MexBankAccount>;
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
override async getPrimary(clientId: string): Promise<MexBankAccount | null> {
|
|
228
|
-
return super.getPrimary(clientId) as Promise<MexBankAccount | null>;
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
// ─────────────────────────────────────────────────────────────────
|
|
232
|
-
// Protected Helpers
|
|
233
|
-
// ─────────────────────────────────────────────────────────────────
|
|
234
|
-
|
|
235
|
-
/**
|
|
236
|
-
* Transforms flattened MX filter to nested API format.
|
|
237
|
-
*
|
|
238
|
-
* Mexico-specific filter fields (clabe, codigoBanco, codigoPlaza) are stored
|
|
239
|
-
* in `jurisdictions.MX`. Base fields pass through unchanged.
|
|
240
|
-
*/
|
|
241
|
-
protected applyScopeToFilter(filter?: MexBankAccountFilter): BankAccountFilter {
|
|
242
|
-
if (!filter) return {};
|
|
243
|
-
|
|
244
|
-
const { clabe, codigoBanco, codigoPlaza, ...baseFields } = filter;
|
|
245
|
-
|
|
246
|
-
const hasMexFields =
|
|
247
|
-
clabe !== undefined ||
|
|
248
|
-
codigoBanco !== undefined ||
|
|
249
|
-
codigoPlaza !== undefined;
|
|
250
|
-
|
|
251
|
-
if (!hasMexFields) {
|
|
252
|
-
return baseFields as BankAccountFilter;
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
const mexData: Record<string, unknown> = {};
|
|
256
|
-
if (clabe !== undefined) mexData.clabe = clabe;
|
|
257
|
-
if (codigoBanco !== undefined) mexData.codigoBanco = codigoBanco;
|
|
258
|
-
if (codigoPlaza !== undefined) mexData.codigoPlaza = codigoPlaza;
|
|
259
|
-
|
|
260
|
-
return {
|
|
261
|
-
...baseFields,
|
|
262
|
-
jurisdictions: { MX: mexData },
|
|
263
|
-
} as BankAccountFilter;
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
/**
|
|
267
|
-
* Transforms a flattened MexBankAccountSort to nested BankAccountSort format.
|
|
268
|
-
*
|
|
269
|
-
* Maps flattened field names to their full API paths.
|
|
270
|
-
*
|
|
271
|
-
* Note: Uses unknown parameter to allow derived classes to override with their own sort types.
|
|
272
|
-
*/
|
|
273
|
-
protected applyScopeToSort(sort?: TSort): BankAccountSort | undefined {
|
|
274
|
-
if (!sort || !Array.isArray(sort) || sort.length === 0) {
|
|
275
|
-
return undefined;
|
|
276
|
-
}
|
|
277
|
-
return transformSort(sort as MexBankAccountSort, mexBankAccountFieldMapping);
|
|
278
|
-
}
|
|
279
|
-
|
|
280
|
-
protected override instantiate(data: BankAccountData): MexBankAccount {
|
|
281
|
-
return new MexBankAccount(data);
|
|
282
|
-
}
|
|
283
|
-
}
|