@artu-ai/compliance-sdk 0.4.1 → 0.4.3

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 (110) hide show
  1. package/package.json +3 -4
  2. package/src/errors/api.ts +0 -305
  3. package/src/errors/base.ts +0 -127
  4. package/src/errors/index.ts +0 -63
  5. package/src/errors/upload.ts +0 -204
  6. package/src/errors/validation.ts +0 -163
  7. package/src/exports/base.ts +0 -139
  8. package/src/exports/index.ts +0 -187
  9. package/src/exports/mexico/actividad-vulnerable/avi.ts +0 -207
  10. package/src/exports/mexico/actividad-vulnerable/jys.ts +0 -214
  11. package/src/exports/mexico/actividad-vulnerable/tsc.ts +0 -202
  12. package/src/exports/mexico/index.ts +0 -215
  13. package/src/models/Address.ts +0 -235
  14. package/src/models/BankAccount.ts +0 -235
  15. package/src/models/Client.ts +0 -363
  16. package/src/models/ContactMethod.ts +0 -197
  17. package/src/models/Document.ts +0 -355
  18. package/src/models/LinkedClient.ts +0 -84
  19. package/src/models/Report.ts +0 -193
  20. package/src/models/ReportItem.ts +0 -211
  21. package/src/models/Transaction.ts +0 -219
  22. package/src/models/base.ts +0 -56
  23. package/src/models/index.ts +0 -148
  24. package/src/models/mex/MexAddress.ts +0 -184
  25. package/src/models/mex/MexBankAccount.ts +0 -121
  26. package/src/models/mex/MexClient.ts +0 -177
  27. package/src/models/mex/MexDocument.ts +0 -890
  28. package/src/models/mex/MexReport.ts +0 -99
  29. package/src/models/mex/MexReportItem.ts +0 -79
  30. package/src/models/mex/MexTransaction.ts +0 -105
  31. package/src/models/mex/actividad-vulnerable/MexActividadVulnerableClient.ts +0 -66
  32. package/src/models/mex/actividad-vulnerable/MexActividadVulnerableReport.ts +0 -73
  33. package/src/models/mex/actividad-vulnerable/MexActividadVulnerableReportItem.ts +0 -74
  34. package/src/models/mex/actividad-vulnerable/MexActividadVulnerableTransaction.ts +0 -50
  35. package/src/models/mex/actividad-vulnerable/avi/MexAVIClient.ts +0 -80
  36. package/src/models/mex/actividad-vulnerable/avi/MexAVIReport.ts +0 -114
  37. package/src/models/mex/actividad-vulnerable/avi/MexAVIReportItem.ts +0 -105
  38. package/src/models/mex/actividad-vulnerable/avi/MexAVITransaction.ts +0 -157
  39. package/src/models/mex/actividad-vulnerable/index.ts +0 -78
  40. package/src/models/mex/actividad-vulnerable/jys/MexJYSClient.ts +0 -73
  41. package/src/models/mex/actividad-vulnerable/jys/MexJYSReport.ts +0 -114
  42. package/src/models/mex/actividad-vulnerable/jys/MexJYSReportItem.ts +0 -105
  43. package/src/models/mex/actividad-vulnerable/jys/MexJYSTransaction.ts +0 -178
  44. package/src/models/mex/actividad-vulnerable/tsc/MexTSCClient.ts +0 -73
  45. package/src/models/mex/actividad-vulnerable/tsc/MexTSCReport.ts +0 -114
  46. package/src/models/mex/actividad-vulnerable/tsc/MexTSCReportItem.ts +0 -105
  47. package/src/models/mex/actividad-vulnerable/tsc/MexTSCTransaction.ts +0 -104
  48. package/src/models/mex/index.ts +0 -57
  49. package/src/models/types.ts +0 -196
  50. package/src/namespaces/index.ts +0 -29
  51. package/src/namespaces/mexico/actividad-vulnerable/avi/index.ts +0 -62
  52. package/src/namespaces/mexico/actividad-vulnerable/index.ts +0 -79
  53. package/src/namespaces/mexico/actividad-vulnerable/jys/index.ts +0 -72
  54. package/src/namespaces/mexico/actividad-vulnerable/tsc/index.ts +0 -60
  55. package/src/namespaces/mexico/index.ts +0 -325
  56. package/src/resources/addresses.ts +0 -391
  57. package/src/resources/bank-accounts.ts +0 -417
  58. package/src/resources/base.ts +0 -327
  59. package/src/resources/clients.ts +0 -808
  60. package/src/resources/contact-methods.ts +0 -412
  61. package/src/resources/documents.ts +0 -688
  62. package/src/resources/index.ts +0 -40
  63. package/src/resources/mex/actividad-vulnerable/avi/clients.ts +0 -559
  64. package/src/resources/mex/actividad-vulnerable/avi/index.ts +0 -7
  65. package/src/resources/mex/actividad-vulnerable/avi/reports.ts +0 -609
  66. package/src/resources/mex/actividad-vulnerable/avi/transactions.ts +0 -404
  67. package/src/resources/mex/actividad-vulnerable/index.ts +0 -12
  68. package/src/resources/mex/actividad-vulnerable/jys/clients.ts +0 -445
  69. package/src/resources/mex/actividad-vulnerable/jys/index.ts +0 -7
  70. package/src/resources/mex/actividad-vulnerable/jys/reports.ts +0 -591
  71. package/src/resources/mex/actividad-vulnerable/jys/transactions.ts +0 -395
  72. package/src/resources/mex/actividad-vulnerable/tsc/clients.ts +0 -445
  73. package/src/resources/mex/actividad-vulnerable/tsc/index.ts +0 -7
  74. package/src/resources/mex/actividad-vulnerable/tsc/reports.ts +0 -591
  75. package/src/resources/mex/actividad-vulnerable/tsc/transactions.ts +0 -404
  76. package/src/resources/mex/addresses.ts +0 -493
  77. package/src/resources/mex/bank-accounts.ts +0 -283
  78. package/src/resources/mex/clients.ts +0 -758
  79. package/src/resources/mex/ebr.ts +0 -621
  80. package/src/resources/mex/index.ts +0 -23
  81. package/src/resources/mex/reports.ts +0 -643
  82. package/src/resources/mex/transactions.ts +0 -422
  83. package/src/resources/reports.ts +0 -515
  84. package/src/resources/transactions.ts +0 -358
  85. package/src/sdk/ComplianceSDK.ts +0 -812
  86. package/src/sdk/base.ts +0 -43
  87. package/src/sdk/index.ts +0 -98
  88. package/src/sdk/mex/ComplianceSDK.ts +0 -147
  89. package/src/sdk/mex/actividad-vulnerable/avi/ComplianceSDK.ts +0 -55
  90. package/src/sdk/mex/actividad-vulnerable/avi/index.ts +0 -16
  91. package/src/sdk/mex/actividad-vulnerable/avi/types.ts +0 -86
  92. package/src/sdk/mex/actividad-vulnerable/index.ts +0 -58
  93. package/src/sdk/mex/actividad-vulnerable/jys/ComplianceSDK.ts +0 -54
  94. package/src/sdk/mex/actividad-vulnerable/jys/index.ts +0 -16
  95. package/src/sdk/mex/actividad-vulnerable/jys/types.ts +0 -86
  96. package/src/sdk/mex/actividad-vulnerable/tsc/ComplianceSDK.ts +0 -54
  97. package/src/sdk/mex/actividad-vulnerable/tsc/index.ts +0 -16
  98. package/src/sdk/mex/actividad-vulnerable/tsc/types.ts +0 -86
  99. package/src/sdk/mex/index.ts +0 -66
  100. package/src/sdk/mex/types.ts +0 -88
  101. package/src/sdk/resource-registry.ts +0 -204
  102. package/src/sdk/sdk-registry.ts +0 -99
  103. package/src/sdk/types.ts +0 -304
  104. package/src/utils/environment.ts +0 -187
  105. package/src/utils/filters.ts +0 -412
  106. package/src/utils/index.ts +0 -134
  107. package/src/utils/pagination.ts +0 -143
  108. package/src/utils/session.ts +0 -303
  109. package/src/utils/trpc-client.ts +0 -242
  110. 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
- }