@artu-ai/compliance-sdk 0.0.6 → 0.3.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 (488) hide show
  1. package/dist/errors/api.d.ts +160 -0
  2. package/dist/errors/api.d.ts.map +1 -0
  3. package/dist/errors/api.js +255 -0
  4. package/dist/errors/base.d.ts +87 -0
  5. package/dist/errors/base.d.ts.map +1 -0
  6. package/dist/errors/base.js +84 -0
  7. package/dist/errors/index.d.ts +32 -0
  8. package/dist/errors/index.d.ts.map +1 -0
  9. package/dist/errors/index.js +35 -0
  10. package/dist/errors/upload.d.ts +109 -0
  11. package/dist/errors/upload.d.ts.map +1 -0
  12. package/dist/errors/upload.js +163 -0
  13. package/dist/errors/validation.d.ts +98 -0
  14. package/dist/errors/validation.d.ts.map +1 -0
  15. package/dist/errors/validation.js +129 -0
  16. package/dist/exports/base.d.ts +12 -0
  17. package/dist/exports/base.d.ts.map +1 -0
  18. package/dist/exports/base.js +21 -0
  19. package/dist/exports/index.d.ts +40 -0
  20. package/dist/exports/index.d.ts.map +1 -0
  21. package/dist/exports/index.js +59 -0
  22. package/dist/{mexico → exports/mexico}/actividad-vulnerable/avi.d.ts +130 -138
  23. package/dist/exports/mexico/actividad-vulnerable/avi.d.ts.map +1 -0
  24. package/dist/exports/mexico/actividad-vulnerable/avi.js +108 -0
  25. package/dist/{mexico → exports/mexico}/actividad-vulnerable/jys.d.ts +147 -158
  26. package/dist/exports/mexico/actividad-vulnerable/jys.d.ts.map +1 -0
  27. package/dist/exports/mexico/actividad-vulnerable/jys.js +115 -0
  28. package/dist/{mexico → exports/mexico}/actividad-vulnerable/tsc.d.ts +118 -129
  29. package/dist/exports/mexico/actividad-vulnerable/tsc.d.ts.map +1 -0
  30. package/dist/exports/mexico/actividad-vulnerable/tsc.js +103 -0
  31. package/dist/exports/mexico/index.d.ts +48 -0
  32. package/dist/exports/mexico/index.d.ts.map +1 -0
  33. package/dist/exports/mexico/index.js +70 -0
  34. package/dist/models/Address.d.ts +118 -0
  35. package/dist/models/Address.d.ts.map +1 -0
  36. package/dist/models/Address.js +187 -0
  37. package/dist/models/BankAccount.d.ts +124 -0
  38. package/dist/models/BankAccount.d.ts.map +1 -0
  39. package/dist/models/BankAccount.js +190 -0
  40. package/dist/models/Client.d.ts +170 -0
  41. package/dist/models/Client.d.ts.map +1 -0
  42. package/dist/models/Client.js +275 -0
  43. package/dist/models/ContactMethod.d.ts +102 -0
  44. package/dist/models/ContactMethod.d.ts.map +1 -0
  45. package/dist/models/ContactMethod.js +152 -0
  46. package/dist/models/Document.d.ts +167 -0
  47. package/dist/models/Document.d.ts.map +1 -0
  48. package/dist/models/Document.js +295 -0
  49. package/dist/models/LinkedClient.d.ts +62 -0
  50. package/dist/models/LinkedClient.d.ts.map +1 -0
  51. package/dist/models/LinkedClient.js +70 -0
  52. package/dist/models/Report.d.ts +98 -0
  53. package/dist/models/Report.d.ts.map +1 -0
  54. package/dist/models/Report.js +156 -0
  55. package/dist/models/ReportItem.d.ts +106 -0
  56. package/dist/models/ReportItem.d.ts.map +1 -0
  57. package/dist/models/ReportItem.js +167 -0
  58. package/dist/models/Transaction.d.ts +108 -0
  59. package/dist/models/Transaction.d.ts.map +1 -0
  60. package/dist/models/Transaction.js +175 -0
  61. package/dist/models/base.d.ts +42 -0
  62. package/dist/models/base.d.ts.map +1 -0
  63. package/dist/models/base.js +51 -0
  64. package/dist/models/index.d.ts +20 -0
  65. package/dist/models/index.d.ts.map +1 -0
  66. package/dist/models/index.js +34 -0
  67. package/dist/models/mex/MexAddress.d.ts +93 -0
  68. package/dist/models/mex/MexAddress.d.ts.map +1 -0
  69. package/dist/models/mex/MexAddress.js +148 -0
  70. package/dist/models/mex/MexBankAccount.d.ts +65 -0
  71. package/dist/models/mex/MexBankAccount.d.ts.map +1 -0
  72. package/dist/models/mex/MexBankAccount.js +90 -0
  73. package/dist/models/mex/MexClient.d.ts +88 -0
  74. package/dist/models/mex/MexClient.d.ts.map +1 -0
  75. package/dist/models/mex/MexClient.js +133 -0
  76. package/dist/models/mex/MexDocument.d.ts +415 -0
  77. package/dist/models/mex/MexDocument.d.ts.map +1 -0
  78. package/dist/models/mex/MexDocument.js +687 -0
  79. package/dist/models/mex/MexReport.d.ts +50 -0
  80. package/dist/models/mex/MexReport.d.ts.map +1 -0
  81. package/dist/models/mex/MexReport.js +73 -0
  82. package/dist/models/mex/MexReportItem.d.ts +39 -0
  83. package/dist/models/mex/MexReportItem.d.ts.map +1 -0
  84. package/dist/models/mex/MexReportItem.js +50 -0
  85. package/dist/models/mex/MexTransaction.d.ts +53 -0
  86. package/dist/models/mex/MexTransaction.d.ts.map +1 -0
  87. package/dist/models/mex/MexTransaction.js +78 -0
  88. package/dist/models/mex/actividad-vulnerable/MexActividadVulnerableClient.d.ts +37 -0
  89. package/dist/models/mex/actividad-vulnerable/MexActividadVulnerableClient.d.ts.map +1 -0
  90. package/dist/models/mex/actividad-vulnerable/MexActividadVulnerableClient.js +46 -0
  91. package/dist/models/mex/actividad-vulnerable/MexActividadVulnerableReport.d.ts +38 -0
  92. package/dist/models/mex/actividad-vulnerable/MexActividadVulnerableReport.d.ts.map +1 -0
  93. package/dist/models/mex/actividad-vulnerable/MexActividadVulnerableReport.js +39 -0
  94. package/dist/models/mex/actividad-vulnerable/MexActividadVulnerableReportItem.d.ts +38 -0
  95. package/dist/models/mex/actividad-vulnerable/MexActividadVulnerableReportItem.d.ts.map +1 -0
  96. package/dist/models/mex/actividad-vulnerable/MexActividadVulnerableReportItem.js +39 -0
  97. package/dist/models/mex/actividad-vulnerable/MexActividadVulnerableTransaction.d.ts +29 -0
  98. package/dist/models/mex/actividad-vulnerable/MexActividadVulnerableTransaction.d.ts.map +1 -0
  99. package/dist/models/mex/actividad-vulnerable/MexActividadVulnerableTransaction.js +37 -0
  100. package/dist/models/mex/actividad-vulnerable/avi/MexAVIClient.d.ts +43 -0
  101. package/dist/models/mex/actividad-vulnerable/avi/MexAVIClient.d.ts.map +1 -0
  102. package/dist/models/mex/actividad-vulnerable/avi/MexAVIClient.js +59 -0
  103. package/dist/models/mex/actividad-vulnerable/avi/MexAVIReport.d.ts +53 -0
  104. package/dist/models/mex/actividad-vulnerable/avi/MexAVIReport.d.ts.map +1 -0
  105. package/dist/models/mex/actividad-vulnerable/avi/MexAVIReport.js +75 -0
  106. package/dist/models/mex/actividad-vulnerable/avi/MexAVIReportItem.d.ts +56 -0
  107. package/dist/models/mex/actividad-vulnerable/avi/MexAVIReportItem.d.ts.map +1 -0
  108. package/dist/models/mex/actividad-vulnerable/avi/MexAVIReportItem.js +63 -0
  109. package/dist/models/mex/actividad-vulnerable/avi/MexAVITransaction.d.ts +67 -0
  110. package/dist/models/mex/actividad-vulnerable/avi/MexAVITransaction.d.ts.map +1 -0
  111. package/dist/models/mex/actividad-vulnerable/avi/MexAVITransaction.js +136 -0
  112. package/dist/models/mex/actividad-vulnerable/index.d.ts +20 -0
  113. package/dist/models/mex/actividad-vulnerable/index.d.ts.map +1 -0
  114. package/dist/models/mex/actividad-vulnerable/index.js +25 -0
  115. package/dist/models/mex/actividad-vulnerable/jys/MexJYSClient.d.ts +39 -0
  116. package/dist/models/mex/actividad-vulnerable/jys/MexJYSClient.d.ts.map +1 -0
  117. package/dist/models/mex/actividad-vulnerable/jys/MexJYSClient.js +53 -0
  118. package/dist/models/mex/actividad-vulnerable/jys/MexJYSReport.d.ts +53 -0
  119. package/dist/models/mex/actividad-vulnerable/jys/MexJYSReport.d.ts.map +1 -0
  120. package/dist/models/mex/actividad-vulnerable/jys/MexJYSReport.js +75 -0
  121. package/dist/models/mex/actividad-vulnerable/jys/MexJYSReportItem.d.ts +56 -0
  122. package/dist/models/mex/actividad-vulnerable/jys/MexJYSReportItem.d.ts.map +1 -0
  123. package/dist/models/mex/actividad-vulnerable/jys/MexJYSReportItem.js +63 -0
  124. package/dist/models/mex/actividad-vulnerable/jys/MexJYSTransaction.d.ts +85 -0
  125. package/dist/models/mex/actividad-vulnerable/jys/MexJYSTransaction.d.ts.map +1 -0
  126. package/dist/models/mex/actividad-vulnerable/jys/MexJYSTransaction.js +152 -0
  127. package/dist/models/mex/actividad-vulnerable/tsc/MexTSCClient.d.ts +39 -0
  128. package/dist/models/mex/actividad-vulnerable/tsc/MexTSCClient.d.ts.map +1 -0
  129. package/dist/models/mex/actividad-vulnerable/tsc/MexTSCClient.js +53 -0
  130. package/dist/models/mex/actividad-vulnerable/tsc/MexTSCReport.d.ts +53 -0
  131. package/dist/models/mex/actividad-vulnerable/tsc/MexTSCReport.d.ts.map +1 -0
  132. package/dist/models/mex/actividad-vulnerable/tsc/MexTSCReport.js +75 -0
  133. package/dist/models/mex/actividad-vulnerable/tsc/MexTSCReportItem.d.ts +56 -0
  134. package/dist/models/mex/actividad-vulnerable/tsc/MexTSCReportItem.d.ts.map +1 -0
  135. package/dist/models/mex/actividad-vulnerable/tsc/MexTSCReportItem.js +63 -0
  136. package/dist/models/mex/actividad-vulnerable/tsc/MexTSCTransaction.d.ts +53 -0
  137. package/dist/models/mex/actividad-vulnerable/tsc/MexTSCTransaction.d.ts.map +1 -0
  138. package/dist/models/mex/actividad-vulnerable/tsc/MexTSCTransaction.js +82 -0
  139. package/dist/models/mex/index.d.ts +12 -0
  140. package/dist/models/mex/index.d.ts.map +1 -0
  141. package/dist/models/mex/index.js +20 -0
  142. package/dist/models/types.d.ts +81 -0
  143. package/dist/models/types.d.ts.map +1 -0
  144. package/dist/models/types.js +6 -0
  145. package/dist/namespaces/index.d.ts +25 -0
  146. package/dist/namespaces/index.d.ts.map +1 -0
  147. package/dist/namespaces/index.js +27 -0
  148. package/dist/namespaces/mexico/actividad-vulnerable/avi/index.d.ts +322 -0
  149. package/dist/namespaces/mexico/actividad-vulnerable/avi/index.d.ts.map +1 -0
  150. package/dist/namespaces/mexico/actividad-vulnerable/avi/index.js +42 -0
  151. package/dist/namespaces/mexico/actividad-vulnerable/index.d.ts +1361 -0
  152. package/dist/namespaces/mexico/actividad-vulnerable/index.d.ts.map +1 -0
  153. package/dist/namespaces/mexico/actividad-vulnerable/index.js +53 -0
  154. package/dist/namespaces/mexico/actividad-vulnerable/jys/index.d.ts +454 -0
  155. package/dist/namespaces/mexico/actividad-vulnerable/jys/index.d.ts.map +1 -0
  156. package/dist/namespaces/mexico/actividad-vulnerable/jys/index.js +52 -0
  157. package/dist/namespaces/mexico/actividad-vulnerable/tsc/index.d.ts +162 -0
  158. package/dist/namespaces/mexico/actividad-vulnerable/tsc/index.d.ts.map +1 -0
  159. package/dist/namespaces/mexico/actividad-vulnerable/tsc/index.js +40 -0
  160. package/dist/namespaces/mexico/index.d.ts +2481 -0
  161. package/dist/namespaces/mexico/index.d.ts.map +1 -0
  162. package/dist/namespaces/mexico/index.js +140 -0
  163. package/dist/resources/addresses.d.ts +171 -0
  164. package/dist/resources/addresses.d.ts.map +1 -0
  165. package/dist/resources/addresses.js +208 -0
  166. package/dist/resources/bank-accounts.d.ts +174 -0
  167. package/dist/resources/bank-accounts.d.ts.map +1 -0
  168. package/dist/resources/bank-accounts.js +220 -0
  169. package/dist/resources/base.d.ts +192 -0
  170. package/dist/resources/base.d.ts.map +1 -0
  171. package/dist/resources/base.js +205 -0
  172. package/dist/resources/clients.d.ts +446 -0
  173. package/dist/resources/clients.d.ts.map +1 -0
  174. package/dist/resources/clients.js +448 -0
  175. package/dist/resources/contact-methods.d.ts +176 -0
  176. package/dist/resources/contact-methods.d.ts.map +1 -0
  177. package/dist/resources/contact-methods.js +215 -0
  178. package/dist/resources/documents.d.ts +340 -0
  179. package/dist/resources/documents.d.ts.map +1 -0
  180. package/dist/resources/documents.js +447 -0
  181. package/dist/resources/index.d.ts +23 -0
  182. package/dist/resources/index.d.ts.map +1 -0
  183. package/dist/resources/index.js +25 -0
  184. package/dist/resources/mex/actividad-vulnerable/avi/clients.d.ts +165 -0
  185. package/dist/resources/mex/actividad-vulnerable/avi/clients.d.ts.map +1 -0
  186. package/dist/resources/mex/actividad-vulnerable/avi/clients.js +317 -0
  187. package/dist/resources/mex/actividad-vulnerable/avi/index.d.ts +7 -0
  188. package/dist/resources/mex/actividad-vulnerable/avi/index.d.ts.map +1 -0
  189. package/dist/resources/mex/actividad-vulnerable/avi/index.js +6 -0
  190. package/dist/resources/mex/actividad-vulnerable/avi/reports.d.ts +152 -0
  191. package/dist/resources/mex/actividad-vulnerable/avi/reports.d.ts.map +1 -0
  192. package/dist/resources/mex/actividad-vulnerable/avi/reports.js +401 -0
  193. package/dist/resources/mex/actividad-vulnerable/avi/transactions.d.ts +89 -0
  194. package/dist/resources/mex/actividad-vulnerable/avi/transactions.d.ts.map +1 -0
  195. package/dist/resources/mex/actividad-vulnerable/avi/transactions.js +252 -0
  196. package/dist/resources/mex/actividad-vulnerable/index.d.ts +7 -0
  197. package/dist/resources/mex/actividad-vulnerable/index.d.ts.map +1 -0
  198. package/dist/resources/mex/actividad-vulnerable/index.js +9 -0
  199. package/dist/resources/mex/actividad-vulnerable/jys/clients.d.ts +119 -0
  200. package/dist/resources/mex/actividad-vulnerable/jys/clients.d.ts.map +1 -0
  201. package/dist/resources/mex/actividad-vulnerable/jys/clients.js +231 -0
  202. package/dist/resources/mex/actividad-vulnerable/jys/index.d.ts +7 -0
  203. package/dist/resources/mex/actividad-vulnerable/jys/index.d.ts.map +1 -0
  204. package/dist/resources/mex/actividad-vulnerable/jys/index.js +6 -0
  205. package/dist/resources/mex/actividad-vulnerable/jys/reports.d.ts +132 -0
  206. package/dist/resources/mex/actividad-vulnerable/jys/reports.d.ts.map +1 -0
  207. package/dist/resources/mex/actividad-vulnerable/jys/reports.js +381 -0
  208. package/dist/resources/mex/actividad-vulnerable/jys/transactions.d.ts +93 -0
  209. package/dist/resources/mex/actividad-vulnerable/jys/transactions.d.ts.map +1 -0
  210. package/dist/resources/mex/actividad-vulnerable/jys/transactions.js +253 -0
  211. package/dist/resources/mex/actividad-vulnerable/tsc/clients.d.ts +119 -0
  212. package/dist/resources/mex/actividad-vulnerable/tsc/clients.d.ts.map +1 -0
  213. package/dist/resources/mex/actividad-vulnerable/tsc/clients.js +231 -0
  214. package/dist/resources/mex/actividad-vulnerable/tsc/index.d.ts +7 -0
  215. package/dist/resources/mex/actividad-vulnerable/tsc/index.d.ts.map +1 -0
  216. package/dist/resources/mex/actividad-vulnerable/tsc/index.js +6 -0
  217. package/dist/resources/mex/actividad-vulnerable/tsc/reports.d.ts +132 -0
  218. package/dist/resources/mex/actividad-vulnerable/tsc/reports.d.ts.map +1 -0
  219. package/dist/resources/mex/actividad-vulnerable/tsc/reports.js +381 -0
  220. package/dist/resources/mex/actividad-vulnerable/tsc/transactions.d.ts +90 -0
  221. package/dist/resources/mex/actividad-vulnerable/tsc/transactions.d.ts.map +1 -0
  222. package/dist/resources/mex/actividad-vulnerable/tsc/transactions.js +259 -0
  223. package/dist/resources/mex/addresses.d.ts +143 -0
  224. package/dist/resources/mex/addresses.d.ts.map +1 -0
  225. package/dist/resources/mex/addresses.js +328 -0
  226. package/dist/resources/mex/bank-accounts.d.ts +107 -0
  227. package/dist/resources/mex/bank-accounts.d.ts.map +1 -0
  228. package/dist/resources/mex/bank-accounts.js +163 -0
  229. package/dist/resources/mex/clients.d.ts +195 -0
  230. package/dist/resources/mex/clients.d.ts.map +1 -0
  231. package/dist/resources/mex/clients.js +454 -0
  232. package/dist/resources/mex/ebr.d.ts +213 -0
  233. package/dist/resources/mex/ebr.d.ts.map +1 -0
  234. package/dist/resources/mex/ebr.js +417 -0
  235. package/dist/resources/mex/index.d.ts +11 -0
  236. package/dist/resources/mex/index.d.ts.map +1 -0
  237. package/dist/resources/mex/index.js +12 -0
  238. package/dist/resources/mex/reports.d.ts +226 -0
  239. package/dist/resources/mex/reports.d.ts.map +1 -0
  240. package/dist/resources/mex/reports.js +440 -0
  241. package/dist/resources/mex/transactions.d.ts +125 -0
  242. package/dist/resources/mex/transactions.d.ts.map +1 -0
  243. package/dist/resources/mex/transactions.js +274 -0
  244. package/dist/resources/reports.d.ts +211 -0
  245. package/dist/resources/reports.d.ts.map +1 -0
  246. package/dist/resources/reports.js +308 -0
  247. package/dist/resources/transactions.d.ts +142 -0
  248. package/dist/resources/transactions.d.ts.map +1 -0
  249. package/dist/resources/transactions.js +221 -0
  250. package/dist/sdk/ComplianceSDK.d.ts +459 -0
  251. package/dist/sdk/ComplianceSDK.d.ts.map +1 -0
  252. package/dist/sdk/ComplianceSDK.js +528 -0
  253. package/dist/sdk/base.d.ts +17 -0
  254. package/dist/sdk/base.d.ts.map +1 -0
  255. package/dist/sdk/base.js +22 -0
  256. package/dist/sdk/index.d.ts +18 -0
  257. package/dist/sdk/index.d.ts.map +1 -0
  258. package/dist/sdk/index.js +43 -0
  259. package/dist/{ComplianceSDK-BgzIwSsY.d.cts → sdk/mex/ComplianceSDK.d.ts} +16 -7
  260. package/dist/sdk/mex/ComplianceSDK.d.ts.map +1 -0
  261. package/dist/{ComplianceSDK-DoIZOSJq.d.ts → sdk/mex/ComplianceSDK.js} +26 -11
  262. package/dist/sdk/mex/actividad-vulnerable/avi/ComplianceSDK.d.ts +44 -0
  263. package/dist/sdk/mex/actividad-vulnerable/avi/ComplianceSDK.d.ts.map +1 -0
  264. package/dist/sdk/mex/actividad-vulnerable/avi/ComplianceSDK.js +39 -0
  265. package/dist/sdk/mex/actividad-vulnerable/avi/index.d.ts +8 -0
  266. package/dist/sdk/mex/actividad-vulnerable/avi/index.d.ts.map +1 -0
  267. package/dist/sdk/mex/actividad-vulnerable/avi/index.js +9 -0
  268. package/dist/sdk/mex/actividad-vulnerable/avi/types.d.ts +35 -0
  269. package/dist/sdk/mex/actividad-vulnerable/avi/types.d.ts.map +1 -0
  270. package/dist/sdk/mex/actividad-vulnerable/avi/types.js +20 -0
  271. package/dist/sdk/mex/actividad-vulnerable/index.d.ts +13 -0
  272. package/dist/sdk/mex/actividad-vulnerable/index.d.ts.map +1 -0
  273. package/dist/sdk/mex/actividad-vulnerable/index.js +31 -0
  274. package/dist/sdk/mex/actividad-vulnerable/jys/ComplianceSDK.d.ts +44 -0
  275. package/dist/sdk/mex/actividad-vulnerable/jys/ComplianceSDK.d.ts.map +1 -0
  276. package/dist/sdk/mex/actividad-vulnerable/jys/ComplianceSDK.js +39 -0
  277. package/dist/sdk/mex/actividad-vulnerable/jys/index.d.ts +8 -0
  278. package/dist/sdk/mex/actividad-vulnerable/jys/index.d.ts.map +1 -0
  279. package/dist/sdk/mex/actividad-vulnerable/jys/index.js +9 -0
  280. package/dist/sdk/mex/actividad-vulnerable/jys/types.d.ts +35 -0
  281. package/dist/sdk/mex/actividad-vulnerable/jys/types.d.ts.map +1 -0
  282. package/dist/sdk/mex/actividad-vulnerable/jys/types.js +20 -0
  283. package/dist/sdk/mex/actividad-vulnerable/tsc/ComplianceSDK.d.ts +44 -0
  284. package/dist/sdk/mex/actividad-vulnerable/tsc/ComplianceSDK.d.ts.map +1 -0
  285. package/dist/sdk/mex/actividad-vulnerable/tsc/ComplianceSDK.js +39 -0
  286. package/dist/sdk/mex/actividad-vulnerable/tsc/index.d.ts +8 -0
  287. package/dist/sdk/mex/actividad-vulnerable/tsc/index.d.ts.map +1 -0
  288. package/dist/sdk/mex/actividad-vulnerable/tsc/index.js +9 -0
  289. package/dist/sdk/mex/actividad-vulnerable/tsc/types.d.ts +35 -0
  290. package/dist/sdk/mex/actividad-vulnerable/tsc/types.d.ts.map +1 -0
  291. package/dist/sdk/mex/actividad-vulnerable/tsc/types.js +20 -0
  292. package/dist/sdk/mex/index.d.ts +13 -0
  293. package/dist/sdk/mex/index.d.ts.map +1 -0
  294. package/dist/sdk/mex/index.js +38 -0
  295. package/dist/sdk/mex/types.d.ts +57 -0
  296. package/dist/sdk/mex/types.d.ts.map +1 -0
  297. package/dist/sdk/mex/types.js +7 -0
  298. package/dist/sdk/resource-registry.d.ts +118 -0
  299. package/dist/sdk/resource-registry.d.ts.map +1 -0
  300. package/dist/sdk/resource-registry.js +145 -0
  301. package/dist/sdk/sdk-registry.d.ts +59 -0
  302. package/dist/sdk/sdk-registry.d.ts.map +1 -0
  303. package/dist/sdk/sdk-registry.js +82 -0
  304. package/dist/sdk/types.d.ts +232 -0
  305. package/dist/sdk/types.d.ts.map +1 -0
  306. package/dist/sdk/types.js +42 -0
  307. package/dist/utils/environment.d.ts +126 -0
  308. package/dist/utils/environment.d.ts.map +1 -0
  309. package/dist/utils/environment.js +148 -0
  310. package/dist/utils/filters.d.ts +338 -0
  311. package/dist/utils/filters.d.ts.map +1 -0
  312. package/dist/utils/filters.js +373 -0
  313. package/dist/utils/index.d.ts +15 -0
  314. package/dist/utils/index.d.ts.map +1 -0
  315. package/dist/utils/index.js +43 -0
  316. package/dist/utils/pagination.d.ts +85 -0
  317. package/dist/utils/pagination.d.ts.map +1 -0
  318. package/dist/utils/pagination.js +120 -0
  319. package/dist/utils/session.d.ts +173 -0
  320. package/dist/utils/session.d.ts.map +1 -0
  321. package/dist/utils/session.js +58 -0
  322. package/dist/utils/trpc-client.d.ts +19507 -0
  323. package/dist/utils/trpc-client.d.ts.map +1 -0
  324. package/dist/utils/trpc-client.js +129 -0
  325. package/dist/utils/upload.d.ts +81 -0
  326. package/dist/utils/upload.d.ts.map +1 -0
  327. package/dist/utils/upload.js +261 -0
  328. package/package.json +17 -27
  329. package/src/errors/api.ts +305 -0
  330. package/src/errors/base.ts +127 -0
  331. package/src/errors/index.ts +63 -0
  332. package/src/errors/upload.ts +204 -0
  333. package/src/errors/validation.ts +163 -0
  334. package/src/exports/base.ts +139 -0
  335. package/src/exports/index.ts +187 -0
  336. package/src/exports/mexico/actividad-vulnerable/avi.ts +207 -0
  337. package/src/exports/mexico/actividad-vulnerable/jys.ts +214 -0
  338. package/src/exports/mexico/actividad-vulnerable/tsc.ts +202 -0
  339. package/src/exports/mexico/index.ts +215 -0
  340. package/src/models/Address.ts +235 -0
  341. package/src/models/BankAccount.ts +235 -0
  342. package/src/models/Client.ts +363 -0
  343. package/src/models/ContactMethod.ts +197 -0
  344. package/src/models/Document.ts +355 -0
  345. package/src/models/LinkedClient.ts +84 -0
  346. package/src/models/Report.ts +193 -0
  347. package/src/models/ReportItem.ts +211 -0
  348. package/src/models/Transaction.ts +219 -0
  349. package/src/models/base.ts +56 -0
  350. package/src/models/index.ts +148 -0
  351. package/src/models/mex/MexAddress.ts +184 -0
  352. package/src/models/mex/MexBankAccount.ts +121 -0
  353. package/src/models/mex/MexClient.ts +177 -0
  354. package/src/models/mex/MexDocument.ts +890 -0
  355. package/src/models/mex/MexReport.ts +99 -0
  356. package/src/models/mex/MexReportItem.ts +79 -0
  357. package/src/models/mex/MexTransaction.ts +105 -0
  358. package/src/models/mex/actividad-vulnerable/MexActividadVulnerableClient.ts +66 -0
  359. package/src/models/mex/actividad-vulnerable/MexActividadVulnerableReport.ts +73 -0
  360. package/src/models/mex/actividad-vulnerable/MexActividadVulnerableReportItem.ts +74 -0
  361. package/src/models/mex/actividad-vulnerable/MexActividadVulnerableTransaction.ts +50 -0
  362. package/src/models/mex/actividad-vulnerable/avi/MexAVIClient.ts +80 -0
  363. package/src/models/mex/actividad-vulnerable/avi/MexAVIReport.ts +114 -0
  364. package/src/models/mex/actividad-vulnerable/avi/MexAVIReportItem.ts +105 -0
  365. package/src/models/mex/actividad-vulnerable/avi/MexAVITransaction.ts +157 -0
  366. package/src/models/mex/actividad-vulnerable/index.ts +78 -0
  367. package/src/models/mex/actividad-vulnerable/jys/MexJYSClient.ts +73 -0
  368. package/src/models/mex/actividad-vulnerable/jys/MexJYSReport.ts +114 -0
  369. package/src/models/mex/actividad-vulnerable/jys/MexJYSReportItem.ts +105 -0
  370. package/src/models/mex/actividad-vulnerable/jys/MexJYSTransaction.ts +178 -0
  371. package/src/models/mex/actividad-vulnerable/tsc/MexTSCClient.ts +73 -0
  372. package/src/models/mex/actividad-vulnerable/tsc/MexTSCReport.ts +114 -0
  373. package/src/models/mex/actividad-vulnerable/tsc/MexTSCReportItem.ts +105 -0
  374. package/src/models/mex/actividad-vulnerable/tsc/MexTSCTransaction.ts +104 -0
  375. package/src/models/mex/index.ts +57 -0
  376. package/src/models/types.ts +196 -0
  377. package/src/namespaces/index.ts +29 -0
  378. package/src/namespaces/mexico/actividad-vulnerable/avi/index.ts +62 -0
  379. package/src/namespaces/mexico/actividad-vulnerable/index.ts +79 -0
  380. package/src/namespaces/mexico/actividad-vulnerable/jys/index.ts +72 -0
  381. package/src/namespaces/mexico/actividad-vulnerable/tsc/index.ts +60 -0
  382. package/src/namespaces/mexico/index.ts +325 -0
  383. package/src/resources/addresses.ts +391 -0
  384. package/src/resources/bank-accounts.ts +417 -0
  385. package/src/resources/base.ts +327 -0
  386. package/src/resources/clients.ts +808 -0
  387. package/src/resources/contact-methods.ts +412 -0
  388. package/src/resources/documents.ts +688 -0
  389. package/src/resources/index.ts +40 -0
  390. package/src/resources/mex/actividad-vulnerable/avi/clients.ts +559 -0
  391. package/src/resources/mex/actividad-vulnerable/avi/index.ts +7 -0
  392. package/src/resources/mex/actividad-vulnerable/avi/reports.ts +609 -0
  393. package/src/resources/mex/actividad-vulnerable/avi/transactions.ts +404 -0
  394. package/src/resources/mex/actividad-vulnerable/index.ts +12 -0
  395. package/src/resources/mex/actividad-vulnerable/jys/clients.ts +445 -0
  396. package/src/resources/mex/actividad-vulnerable/jys/index.ts +7 -0
  397. package/src/resources/mex/actividad-vulnerable/jys/reports.ts +591 -0
  398. package/src/resources/mex/actividad-vulnerable/jys/transactions.ts +395 -0
  399. package/src/resources/mex/actividad-vulnerable/tsc/clients.ts +445 -0
  400. package/src/resources/mex/actividad-vulnerable/tsc/index.ts +7 -0
  401. package/src/resources/mex/actividad-vulnerable/tsc/reports.ts +591 -0
  402. package/src/resources/mex/actividad-vulnerable/tsc/transactions.ts +404 -0
  403. package/src/resources/mex/addresses.ts +493 -0
  404. package/src/resources/mex/bank-accounts.ts +283 -0
  405. package/src/resources/mex/clients.ts +758 -0
  406. package/src/resources/mex/ebr.ts +621 -0
  407. package/src/resources/mex/index.ts +23 -0
  408. package/src/resources/mex/reports.ts +643 -0
  409. package/src/resources/mex/transactions.ts +422 -0
  410. package/src/resources/reports.ts +515 -0
  411. package/src/resources/transactions.ts +358 -0
  412. package/src/sdk/ComplianceSDK.ts +812 -0
  413. package/src/sdk/base.ts +43 -0
  414. package/src/sdk/index.ts +98 -0
  415. package/src/sdk/mex/ComplianceSDK.ts +147 -0
  416. package/src/sdk/mex/actividad-vulnerable/avi/ComplianceSDK.ts +55 -0
  417. package/src/sdk/mex/actividad-vulnerable/avi/index.ts +16 -0
  418. package/src/sdk/mex/actividad-vulnerable/avi/types.ts +86 -0
  419. package/src/sdk/mex/actividad-vulnerable/index.ts +58 -0
  420. package/src/sdk/mex/actividad-vulnerable/jys/ComplianceSDK.ts +54 -0
  421. package/src/sdk/mex/actividad-vulnerable/jys/index.ts +16 -0
  422. package/src/sdk/mex/actividad-vulnerable/jys/types.ts +86 -0
  423. package/src/sdk/mex/actividad-vulnerable/tsc/ComplianceSDK.ts +54 -0
  424. package/src/sdk/mex/actividad-vulnerable/tsc/index.ts +16 -0
  425. package/src/sdk/mex/actividad-vulnerable/tsc/types.ts +86 -0
  426. package/src/sdk/mex/index.ts +66 -0
  427. package/src/sdk/mex/types.ts +88 -0
  428. package/src/sdk/resource-registry.ts +204 -0
  429. package/src/sdk/sdk-registry.ts +99 -0
  430. package/src/sdk/types.ts +304 -0
  431. package/src/utils/environment.ts +187 -0
  432. package/src/utils/filters.ts +412 -0
  433. package/src/utils/index.ts +134 -0
  434. package/src/utils/pagination.ts +143 -0
  435. package/src/utils/session.ts +303 -0
  436. package/src/utils/trpc-client.ts +242 -0
  437. package/src/utils/upload.ts +388 -0
  438. package/dist/chunk-2CIR32CT.cjs +0 -22972
  439. package/dist/chunk-2CIR32CT.cjs.map +0 -1
  440. package/dist/chunk-5FXVLHD3.js +0 -23
  441. package/dist/chunk-5FXVLHD3.js.map +0 -1
  442. package/dist/chunk-62M35I6I.js +0 -249
  443. package/dist/chunk-62M35I6I.js.map +0 -1
  444. package/dist/chunk-ARI5WM5X.js +0 -22819
  445. package/dist/chunk-ARI5WM5X.js.map +0 -1
  446. package/dist/chunk-B75YW6BN.cjs +0 -26
  447. package/dist/chunk-B75YW6BN.cjs.map +0 -1
  448. package/dist/chunk-F6THYYF5.cjs +0 -26
  449. package/dist/chunk-F6THYYF5.cjs.map +0 -1
  450. package/dist/chunk-HAEBRF5N.js +0 -23
  451. package/dist/chunk-HAEBRF5N.js.map +0 -1
  452. package/dist/chunk-HEGTPUIS.cjs +0 -26
  453. package/dist/chunk-HEGTPUIS.cjs.map +0 -1
  454. package/dist/chunk-TYXYZ3WV.js +0 -23
  455. package/dist/chunk-TYXYZ3WV.js.map +0 -1
  456. package/dist/chunk-ZFW24DFL.cjs +0 -261
  457. package/dist/chunk-ZFW24DFL.cjs.map +0 -1
  458. package/dist/filters-UX1_wF2Z.d.cts +0 -6460
  459. package/dist/filters-UX1_wF2Z.d.ts +0 -6460
  460. package/dist/index-6dNlw8uP.d.cts +0 -2866
  461. package/dist/index-CUIwWk-y.d.ts +0 -2866
  462. package/dist/index.cjs +0 -417
  463. package/dist/index.cjs.map +0 -1
  464. package/dist/index.d.cts +0 -9
  465. package/dist/index.d.ts +0 -9
  466. package/dist/index.js +0 -28
  467. package/dist/index.js.map +0 -1
  468. package/dist/mexico/actividad-vulnerable/avi.cjs +0 -320
  469. package/dist/mexico/actividad-vulnerable/avi.cjs.map +0 -1
  470. package/dist/mexico/actividad-vulnerable/avi.d.cts +0 -680
  471. package/dist/mexico/actividad-vulnerable/avi.js +0 -55
  472. package/dist/mexico/actividad-vulnerable/avi.js.map +0 -1
  473. package/dist/mexico/actividad-vulnerable/jys.cjs +0 -330
  474. package/dist/mexico/actividad-vulnerable/jys.cjs.map +0 -1
  475. package/dist/mexico/actividad-vulnerable/jys.d.cts +0 -746
  476. package/dist/mexico/actividad-vulnerable/jys.js +0 -65
  477. package/dist/mexico/actividad-vulnerable/jys.js.map +0 -1
  478. package/dist/mexico/actividad-vulnerable/tsc.cjs +0 -318
  479. package/dist/mexico/actividad-vulnerable/tsc.cjs.map +0 -1
  480. package/dist/mexico/actividad-vulnerable/tsc.d.cts +0 -600
  481. package/dist/mexico/actividad-vulnerable/tsc.js +0 -53
  482. package/dist/mexico/actividad-vulnerable/tsc.js.map +0 -1
  483. package/dist/mexico/index.cjs +0 -384
  484. package/dist/mexico/index.cjs.map +0 -1
  485. package/dist/mexico/index.d.cts +0 -1422
  486. package/dist/mexico/index.d.ts +0 -1422
  487. package/dist/mexico/index.js +0 -7
  488. package/dist/mexico/index.js.map +0 -1
@@ -0,0 +1,758 @@
1
+ /**
2
+ * Mexico Clients Resource
3
+ *
4
+ * Extends ClientsResource with Mexico-specific behavior:
5
+ * - Accepts flattened CreateMexClientInput (MX fields at root level)
6
+ * - Automatically sets primaryJurisdiction to Mexico
7
+ * - Filters list/iterate to Mexico clients only
8
+ * - Returns MexClient models
9
+ */
10
+
11
+ import { z } from "zod";
12
+ import type {
13
+ CreateClientInput,
14
+ UpdateClientInput,
15
+ ClientFilter,
16
+ ClientSort,
17
+ ListOptions,
18
+ PaginatedResponse,
19
+ CreateMexClientInput,
20
+ UpdateMexClientInput,
21
+ AtomicBatchResult,
22
+ PartialBatchResult,
23
+ ClientRelationshipType,
24
+ LinkedClient as LinkedClientInput,
25
+ CreateAddressInput,
26
+ UpdateAddressInput,
27
+ CreateMexAddressInput,
28
+ UpdateMexAddressInput,
29
+ CreateContactMethodInput,
30
+ UpdateContactMethodInput,
31
+ CreateBankAccountInput,
32
+ UpdateBankAccountInput,
33
+ SyncItem,
34
+ SyncResult,
35
+ MexClientFilter,
36
+ MexClientSort,
37
+ } from "@artu-ai/shared";
38
+ import {
39
+ Jurisdiction,
40
+ createMexClientInputSchema,
41
+ updateMexClientInputSchema,
42
+ linkedClientSchema,
43
+ createMexAddressInputSchema,
44
+ updateMexAddressInputSchema,
45
+ createContactMethodInputSchema,
46
+ updateContactMethodInputSchema,
47
+ createBankAccountInputSchema,
48
+ updateBankAccountInputSchema,
49
+ replaceSyncItemSchema,
50
+ transformSort,
51
+ mexClientFieldMapping,
52
+ } from "@artu-ai/shared";
53
+ import {
54
+ ClientsResource,
55
+ type BatchOptions,
56
+ type ClientIncludeMap,
57
+ } from "../clients";
58
+ import {
59
+ MexClient,
60
+ MexAddress,
61
+ MexBankAccount,
62
+ ContactMethod,
63
+ LinkedClient,
64
+ type ClientData,
65
+ } from "../../models";
66
+
67
+ // ===========================
68
+ // MexClientsResource
69
+ // ===========================
70
+
71
+ /**
72
+ * Mexico-scoped clients resource.
73
+ *
74
+ * Provides the same operations as ClientsResource but with:
75
+ * - Flattened input types (MX fields at root level)
76
+ * - Automatic jurisdiction scoping
77
+ * - MexClient model return type
78
+ *
79
+ * @example
80
+ * ```typescript
81
+ * const mexSdk = new ComplianceSDK({
82
+ * apiKey,
83
+ * environment: "test",
84
+ * jurisdiction: Jurisdiction.Mexico,
85
+ * });
86
+ *
87
+ * // Create with flattened input
88
+ * const client = await mexSdk.clients.create({
89
+ * type: ClientType.Person,
90
+ * name: "Juan García",
91
+ * rfc: "GAJL850101ABC", // MX field at root
92
+ * curp: "GAJL850101HDFRRL09", // MX field at root
93
+ * actividadVulnerable: { // Activity data keyed by code
94
+ * AVI: { username: "JGARCIA" },
95
+ * },
96
+ * });
97
+ *
98
+ * // List returns only Mexico clients
99
+ * const { data } = await mexSdk.clients.list();
100
+ * // data is MexClient[]
101
+ * ```
102
+ */
103
+ export class MexClientsResource<
104
+ TSort = MexClientSort,
105
+ > extends ClientsResource<TSort> {
106
+ // ─────────────────────────────────────────────────────────────────
107
+ // CRUD Operations (override with flattened input types)
108
+ // ─────────────────────────────────────────────────────────────────
109
+
110
+ /**
111
+ * Creates a new Mexico client with flattened input.
112
+ *
113
+ * @param data - Client creation data with MX fields at root level
114
+ * @returns The created MexClient model
115
+ */
116
+ async create(data: CreateMexClientInput): Promise<MexClient> {
117
+ const validated = this.validate(createMexClientInputSchema, data);
118
+ const nestedData = this.transformToNested(validated);
119
+
120
+ const response = await this.execute(() =>
121
+ this.trpc.clients.create.mutate(nestedData)
122
+ );
123
+
124
+ return this.instantiate(response);
125
+ }
126
+
127
+ /**
128
+ * Retrieves a client by ID.
129
+ */
130
+ async retrieve(id: string, include?: ClientIncludeMap): Promise<MexClient> {
131
+ const response = await this.execute(() =>
132
+ this.trpc.clients.retrieve.query({ id, include })
133
+ );
134
+ return this.instantiate(response);
135
+ }
136
+
137
+ /**
138
+ * Retrieves a Mexico client by externalId.
139
+ */
140
+ async retrieveByExternalId(externalId: string): Promise<MexClient> {
141
+ const response = await this.execute(() =>
142
+ this.trpc.clients.retrieveByExternalId.query({ externalId })
143
+ );
144
+ return this.instantiate(response);
145
+ }
146
+
147
+ /**
148
+ * Updates a Mexico client with flattened input.
149
+ */
150
+ async update(id: string, data: UpdateMexClientInput): Promise<MexClient> {
151
+ const validated = this.validate(updateMexClientInputSchema, data);
152
+ const nestedData = this.transformUpdateToNested(validated);
153
+
154
+ const response = await this.execute(() =>
155
+ this.trpc.clients.update.mutate({ id, data: nestedData })
156
+ );
157
+ return this.instantiate(response);
158
+ }
159
+
160
+ // ─────────────────────────────────────────────────────────────────
161
+ // List & Pagination (scoped to Mexico)
162
+ // ─────────────────────────────────────────────────────────────────
163
+
164
+ /**
165
+ * Lists Mexico clients with optional filtering.
166
+ *
167
+ * Accepts flattened Mexico filter (MX fields at root level) and automatically
168
+ * transforms to nested format before calling the API.
169
+ *
170
+ * @example
171
+ * ```typescript
172
+ * // Filter with flattened MX fields
173
+ * const { data } = await mexSdk.clients.list({
174
+ * filter: {
175
+ * name: { contains: "García" },
176
+ * rfc: { startsWith: "GAJL" }, // MX field at root!
177
+ * },
178
+ * });
179
+ * ```
180
+ */
181
+ async list(
182
+ options?: ListOptions<MexClientFilter, TSort> & { includePrimaryContacts?: boolean }
183
+ ): Promise<PaginatedResponse<MexClient>> {
184
+ const scopedFilter = this.applyScopeToFilter(options?.filter);
185
+ const scopedSort = this.applyScopeToSort(options?.sort);
186
+
187
+ const response = await this.execute(() =>
188
+ this.trpc.clients.list.query({
189
+ ...options,
190
+ filter: scopedFilter,
191
+ sort: scopedSort,
192
+ })
193
+ );
194
+
195
+ return {
196
+ data: response.data.map((c) => this.instantiate(c)),
197
+ pagination: response.pagination,
198
+ };
199
+ }
200
+
201
+ /**
202
+ * Iterates over Mexico clients.
203
+ *
204
+ * Accepts flattened Mexico filter (MX fields at root level) and automatically
205
+ * transforms to nested format before calling the API.
206
+ */
207
+ iterate(filter?: MexClientFilter): AsyncGenerator<MexClient, void, undefined> {
208
+ const scopedFilter = this.applyScopeToFilter(filter);
209
+ return this.createIterator<MexClient>({ filter: scopedFilter });
210
+ }
211
+
212
+ // ─────────────────────────────────────────────────────────────────
213
+ // Batch Operations
214
+ // ─────────────────────────────────────────────────────────────────
215
+
216
+ /**
217
+ * Creates multiple Mexico clients with flattened input.
218
+ */
219
+ async createMany(
220
+ clients: CreateMexClientInput[],
221
+ options?: { atomic?: true }
222
+ ): Promise<AtomicBatchResult<MexClient>>;
223
+ async createMany(
224
+ clients: CreateMexClientInput[],
225
+ options: { atomic: false }
226
+ ): Promise<PartialBatchResult<MexClient>>;
227
+ async createMany(
228
+ clients: CreateMexClientInput[],
229
+ options: BatchOptions = {}
230
+ ): Promise<AtomicBatchResult<MexClient> | PartialBatchResult<MexClient>> {
231
+ const atomic = options.atomic ?? true;
232
+ const validated = this.validate(
233
+ z.array(createMexClientInputSchema),
234
+ clients
235
+ );
236
+ const nestedClients = validated.map((c) => this.transformToNested(c));
237
+
238
+ const response = await this.execute(() =>
239
+ this.trpc.clients.createMany.mutate({ items: nestedClients, atomic })
240
+ );
241
+
242
+ if (response.atomic) {
243
+ return {
244
+ atomic: true,
245
+ data: response.data.map((c) => this.instantiate(c)),
246
+ };
247
+ } else {
248
+ return {
249
+ atomic: false,
250
+ succeeded: response.succeeded.map((item) => ({
251
+ index: item.index,
252
+ data: this.instantiate(item.data),
253
+ })),
254
+ failed: response.failed,
255
+ };
256
+ }
257
+ }
258
+
259
+ /**
260
+ * Updates multiple Mexico clients.
261
+ */
262
+ async updateMany(
263
+ updates: { id: string; data: UpdateMexClientInput }[],
264
+ options?: { atomic?: true }
265
+ ): Promise<AtomicBatchResult<MexClient>>;
266
+ async updateMany(
267
+ updates: { id: string; data: UpdateMexClientInput }[],
268
+ options: { atomic: false }
269
+ ): Promise<PartialBatchResult<MexClient>>;
270
+ async updateMany(
271
+ updates: { id: string; data: UpdateMexClientInput }[],
272
+ options: BatchOptions = {}
273
+ ): Promise<AtomicBatchResult<MexClient> | PartialBatchResult<MexClient>> {
274
+ const atomic = options.atomic ?? true;
275
+ const updateItemSchema = z.object({
276
+ id: z.uuid(),
277
+ data: updateMexClientInputSchema,
278
+ });
279
+
280
+ const validated = this.validate(z.array(updateItemSchema), updates);
281
+ const nestedUpdates = validated.map((u) => ({
282
+ id: u.id,
283
+ data: this.transformUpdateToNested(u.data),
284
+ }));
285
+
286
+ const response = await this.execute(() =>
287
+ this.trpc.clients.updateMany.mutate({ items: nestedUpdates, atomic })
288
+ );
289
+
290
+ if (response.atomic) {
291
+ return {
292
+ atomic: true,
293
+ data: response.data.map((c) => this.instantiate(c)),
294
+ };
295
+ } else {
296
+ return {
297
+ atomic: false,
298
+ succeeded: response.succeeded.map((item) => ({
299
+ index: item.index,
300
+ data: this.instantiate(item.data),
301
+ })),
302
+ failed: response.failed,
303
+ };
304
+ }
305
+ }
306
+
307
+ // ─────────────────────────────────────────────────────────────────
308
+ // Client-to-Client Relationship Management (scoped returns)
309
+ // ─────────────────────────────────────────────────────────────────
310
+
311
+ async linkClient(
312
+ parentClientId: string,
313
+ childClientId: string,
314
+ relationshipType: ClientRelationshipType,
315
+ metadata?: Record<string, unknown>
316
+ ): Promise<MexClient> {
317
+ const response = await this.execute(() =>
318
+ this.trpc.clients.linkClient.mutate({
319
+ parentClientId,
320
+ childClientId,
321
+ relationshipType,
322
+ metadata,
323
+ })
324
+ );
325
+ return this.instantiate(response);
326
+ }
327
+
328
+ async unlinkClient(
329
+ parentClientId: string,
330
+ childClientId: string,
331
+ relationshipType: ClientRelationshipType
332
+ ): Promise<MexClient> {
333
+ const response = await this.execute(() =>
334
+ this.trpc.clients.unlinkClient.mutate({
335
+ parentClientId,
336
+ childClientId,
337
+ relationshipType,
338
+ })
339
+ );
340
+ return this.instantiate(response);
341
+ }
342
+
343
+ async listLinkedClients(
344
+ parentClientId: string,
345
+ relationshipType?: ClientRelationshipType
346
+ ): Promise<LinkedClient[]> {
347
+ return super.listLinkedClients(parentClientId, relationshipType);
348
+ }
349
+
350
+ async setLinkedClients(
351
+ parentClientId: string,
352
+ linkedClients: LinkedClientInput[]
353
+ ): Promise<MexClient> {
354
+ const validated = this.validate(z.array(linkedClientSchema), linkedClients);
355
+
356
+ const response = await this.execute(() =>
357
+ this.trpc.clients.setLinkedClients.mutate({
358
+ parentClientId,
359
+ linkedClients: validated,
360
+ })
361
+ );
362
+ return this.instantiate(response);
363
+ }
364
+
365
+ // ─────────────────────────────────────────────────────────────────
366
+ // Sync All (Atomic)
367
+ // ─────────────────────────────────────────────────────────────────
368
+
369
+ /**
370
+ * Atomically updates a Mexico client and all related resources in a single transaction.
371
+ *
372
+ * Accepts flattened Mexico address input types for convenience.
373
+ */
374
+ async syncAll(
375
+ clientId: string,
376
+ data: {
377
+ client?: UpdateMexClientInput;
378
+ addresses?: SyncItem<CreateMexAddressInput>[];
379
+ contactMethods?: SyncItem<CreateContactMethodInput>[];
380
+ bankAccounts?: SyncItem<CreateBankAccountInput>[];
381
+ linkedClients?: LinkedClientInput[];
382
+ },
383
+ options: { replaceMode: true }
384
+ ): Promise<{
385
+ client: MexClient;
386
+ addresses: SyncResult<MexAddress>;
387
+ contactMethods: SyncResult<ContactMethod>;
388
+ bankAccounts: SyncResult<MexBankAccount>;
389
+ }>;
390
+ async syncAll(
391
+ clientId: string,
392
+ data: {
393
+ client?: UpdateMexClientInput;
394
+ addresses?: SyncItem<UpdateMexAddressInput>[];
395
+ contactMethods?: SyncItem<UpdateContactMethodInput>[];
396
+ bankAccounts?: SyncItem<UpdateBankAccountInput>[];
397
+ linkedClients?: LinkedClientInput[];
398
+ },
399
+ options?: { replaceMode?: boolean }
400
+ ): Promise<{
401
+ client: MexClient;
402
+ addresses: SyncResult<MexAddress>;
403
+ contactMethods: SyncResult<ContactMethod>;
404
+ bankAccounts: SyncResult<MexBankAccount>;
405
+ }>;
406
+ async syncAll(
407
+ clientId: string,
408
+ data: {
409
+ client?: UpdateMexClientInput;
410
+ addresses?: SyncItem<UpdateMexAddressInput | CreateMexAddressInput>[];
411
+ contactMethods?: SyncItem<UpdateContactMethodInput | CreateContactMethodInput>[];
412
+ bankAccounts?: SyncItem<UpdateBankAccountInput | CreateBankAccountInput>[];
413
+ linkedClients?: LinkedClientInput[];
414
+ },
415
+ options?: { replaceMode?: boolean }
416
+ ): Promise<{
417
+ client: MexClient;
418
+ addresses: SyncResult<MexAddress>;
419
+ contactMethods: SyncResult<ContactMethod>;
420
+ bankAccounts: SyncResult<MexBankAccount>;
421
+ }> {
422
+ // Validate and transform client input
423
+ const validatedClient = data.client
424
+ ? this.transformUpdateToNested(
425
+ this.validate(updateMexClientInputSchema, data.client)
426
+ )
427
+ : undefined;
428
+
429
+ // Validate and transform addresses (flattened MX → nested)
430
+ let validatedAddresses: SyncItem<UpdateAddressInput | CreateAddressInput>[] | undefined;
431
+ if (data.addresses) {
432
+ const validated = this.validate(
433
+ z.array(
434
+ replaceSyncItemSchema(
435
+ createMexAddressInputSchema,
436
+ updateMexAddressInputSchema
437
+ )
438
+ ),
439
+ data.addresses
440
+ );
441
+ validatedAddresses = validated.map((item) =>
442
+ this.transformAddressSyncItem(item)
443
+ );
444
+ }
445
+
446
+ // Validate contact methods (base types, no transform)
447
+ const validatedContactMethods = data.contactMethods
448
+ ? this.validate(
449
+ z.array(
450
+ replaceSyncItemSchema(
451
+ createContactMethodInputSchema,
452
+ updateContactMethodInputSchema
453
+ )
454
+ ),
455
+ data.contactMethods
456
+ )
457
+ : undefined;
458
+
459
+ // Validate bank accounts (base types, no transform)
460
+ const validatedBankAccounts = data.bankAccounts
461
+ ? this.validate(
462
+ z.array(
463
+ replaceSyncItemSchema(
464
+ createBankAccountInputSchema,
465
+ updateBankAccountInputSchema
466
+ )
467
+ ),
468
+ data.bankAccounts
469
+ )
470
+ : undefined;
471
+
472
+ const validatedLinkedClients = data.linkedClients
473
+ ? this.validate(z.array(linkedClientSchema), data.linkedClients)
474
+ : undefined;
475
+
476
+ // Use type from trpc mutation to avoid type mismatch between imported types
477
+ // and trpc's inferred types
478
+ type SyncAllInput = Parameters<typeof this.trpc.clients.syncAll.mutate>[0];
479
+
480
+ const response = await this.execute(() =>
481
+ this.trpc.clients.syncAll.mutate({
482
+ clientId,
483
+ client: validatedClient,
484
+ addresses: validatedAddresses as SyncAllInput["addresses"],
485
+ contactMethods: validatedContactMethods,
486
+ bankAccounts: validatedBankAccounts,
487
+ linkedClients: validatedLinkedClients,
488
+ replaceMode: options?.replaceMode,
489
+ })
490
+ );
491
+
492
+ return {
493
+ client: this.instantiate(response.client),
494
+ addresses: {
495
+ created: response.addresses.created.map((a) => new MexAddress(a)),
496
+ updated: response.addresses.updated.map((a) => new MexAddress(a)),
497
+ deleted: response.addresses.deleted,
498
+ },
499
+ contactMethods: {
500
+ created: response.contactMethods.created.map((c) => new ContactMethod(c)),
501
+ updated: response.contactMethods.updated.map((c) => new ContactMethod(c)),
502
+ deleted: response.contactMethods.deleted,
503
+ },
504
+ bankAccounts: {
505
+ created: response.bankAccounts.created.map((b) => new MexBankAccount(b)),
506
+ updated: response.bankAccounts.updated.map((b) => new MexBankAccount(b)),
507
+ deleted: response.bankAccounts.deleted,
508
+ },
509
+ };
510
+ }
511
+
512
+ // ─────────────────────────────────────────────────────────────────
513
+ // Protected Helpers
514
+ // ─────────────────────────────────────────────────────────────────
515
+
516
+ /**
517
+ * Transforms a flattened MexClientFilter to nested ClientFilter format
518
+ * and applies Mexico jurisdiction scoping.
519
+ *
520
+ * Extracts MX-specific fields (rfc, curp, actividadEconomica, giroMercantil,
521
+ * actividadVulnerable) from root level and nests them under jurisdictions.MX.
522
+ */
523
+ protected applyScopeToFilter(filter?: MexClientFilter): ClientFilter {
524
+ if (!filter) {
525
+ return {
526
+ availableJurisdictions: Jurisdiction.Mexico,
527
+ };
528
+ }
529
+
530
+ // Extract MX-specific filter fields
531
+ const {
532
+ rfc,
533
+ curp,
534
+ actividadEconomica,
535
+ giroMercantil,
536
+ actividadVulnerable,
537
+ ...baseFields
538
+ } = filter;
539
+
540
+ // Build MX jurisdiction filter if any MX fields are present
541
+ const hasMexFields =
542
+ rfc !== undefined ||
543
+ curp !== undefined ||
544
+ actividadEconomica !== undefined ||
545
+ giroMercantil !== undefined ||
546
+ actividadVulnerable !== undefined;
547
+
548
+ const mexFilter: Record<string, unknown> = {};
549
+ if (rfc !== undefined) mexFilter.rfc = rfc;
550
+ if (curp !== undefined) mexFilter.curp = curp;
551
+ if (actividadEconomica !== undefined)
552
+ mexFilter.actividadEconomica = actividadEconomica;
553
+ if (giroMercantil !== undefined) mexFilter.giroMercantil = giroMercantil;
554
+ if (actividadVulnerable !== undefined)
555
+ mexFilter.actividadVulnerable = actividadVulnerable;
556
+
557
+ return {
558
+ ...baseFields,
559
+ availableJurisdictions: Jurisdiction.Mexico,
560
+ ...(hasMexFields && { jurisdictions: { MX: mexFilter } }),
561
+ } as ClientFilter;
562
+ }
563
+
564
+ /**
565
+ * Transforms a flattened MexClientSort to nested ClientSort format.
566
+ *
567
+ * Maps flattened field names (rfc, curp, actividadVulnerable.AVI.username)
568
+ * to their full API paths (jurisdictions.MX.rfc, etc.).
569
+ *
570
+ * Note: Uses unknown parameter to allow derived classes to override with their own sort types.
571
+ */
572
+ protected applyScopeToSort(sort?: TSort): ClientSort | undefined {
573
+ if (!sort || !Array.isArray(sort) || sort.length === 0) {
574
+ return undefined;
575
+ }
576
+ return transformSort(sort as MexClientSort, mexClientFieldMapping);
577
+ }
578
+
579
+ /**
580
+ * Transforms flattened MX input to nested API format.
581
+ */
582
+ protected transformToNested(data: CreateMexClientInput): CreateClientInput {
583
+ const {
584
+ rfc,
585
+ curp,
586
+ actividadEconomica,
587
+ giroMercantil,
588
+ actividadVulnerable,
589
+ ...baseFields
590
+ } = data as Record<string, unknown>;
591
+
592
+ // Build MX jurisdiction data
593
+ const mexData: Record<string, unknown> = {};
594
+ if (rfc !== undefined) mexData.rfc = rfc;
595
+ if (curp !== undefined) mexData.curp = curp;
596
+ if (actividadEconomica !== undefined)
597
+ mexData.actividadEconomica = actividadEconomica;
598
+ if (giroMercantil !== undefined) mexData.giroMercantil = giroMercantil;
599
+ if (actividadVulnerable !== undefined)
600
+ mexData.actividadVulnerable = actividadVulnerable;
601
+
602
+ return {
603
+ ...baseFields,
604
+ primaryJurisdiction: Jurisdiction.Mexico,
605
+ jurisdictions: {
606
+ MX: mexData,
607
+ },
608
+ } as CreateClientInput;
609
+ }
610
+
611
+ /**
612
+ * Transforms flattened MX update input to nested API format.
613
+ */
614
+ protected transformUpdateToNested(
615
+ data: UpdateMexClientInput
616
+ ): UpdateClientInput {
617
+ const {
618
+ rfc,
619
+ curp,
620
+ actividadEconomica,
621
+ giroMercantil,
622
+ actividadVulnerable,
623
+ ...baseFields
624
+ } = data;
625
+
626
+ // Only include MX data if any MX fields are present
627
+ const hasMexFields =
628
+ rfc !== undefined ||
629
+ curp !== undefined ||
630
+ actividadEconomica !== undefined ||
631
+ giroMercantil !== undefined ||
632
+ actividadVulnerable !== undefined;
633
+
634
+ if (!hasMexFields) {
635
+ return baseFields as UpdateClientInput;
636
+ }
637
+
638
+ const mexData: Record<string, unknown> = {};
639
+ if (rfc !== undefined) mexData.rfc = rfc;
640
+ if (curp !== undefined) mexData.curp = curp;
641
+ if (actividadEconomica !== undefined)
642
+ mexData.actividadEconomica = actividadEconomica;
643
+ if (giroMercantil !== undefined) mexData.giroMercantil = giroMercantil;
644
+ if (actividadVulnerable !== undefined)
645
+ mexData.actividadVulnerable = actividadVulnerable;
646
+
647
+ return {
648
+ ...baseFields,
649
+ jurisdictions: {
650
+ MX: mexData,
651
+ },
652
+ } as UpdateClientInput;
653
+ }
654
+
655
+ /**
656
+ * Transforms a flattened MX address sync item to nested API format.
657
+ */
658
+ protected transformAddressSyncItem(
659
+ item: SyncItem<UpdateMexAddressInput | CreateMexAddressInput>
660
+ ): SyncItem<UpdateAddressInput | CreateAddressInput> {
661
+ if ("_delete" in item && item._delete) {
662
+ // Delete items pass through unchanged
663
+ return item as SyncItem<UpdateAddressInput>;
664
+ }
665
+ if ("id" in item && item.id) {
666
+ // Update items - transform the data fields
667
+ const { id, ...data } = item;
668
+ return {
669
+ id,
670
+ ...this.transformAddressUpdateToNested(data as UpdateMexAddressInput),
671
+ } as SyncItem<UpdateAddressInput>;
672
+ }
673
+ // Create items - transform full item
674
+ return this.transformAddressToNested(
675
+ item as CreateMexAddressInput
676
+ ) as SyncItem<CreateAddressInput>;
677
+ }
678
+
679
+ /**
680
+ * Transforms flattened MX address input to nested API format.
681
+ */
682
+ protected transformAddressToNested(
683
+ data: CreateMexAddressInput
684
+ ): CreateAddressInput {
685
+ const {
686
+ exteriorNumber,
687
+ interiorNumber,
688
+ neighborhood,
689
+ municipality,
690
+ betweenStreets,
691
+ reference,
692
+ ...baseFields
693
+ } = data;
694
+
695
+ const mexData: Record<string, unknown> = {
696
+ exteriorNumber,
697
+ neighborhood,
698
+ };
699
+ if (interiorNumber !== undefined) mexData.interiorNumber = interiorNumber;
700
+ if (municipality !== undefined) mexData.municipality = municipality;
701
+ if (betweenStreets !== undefined) mexData.betweenStreets = betweenStreets;
702
+ if (reference !== undefined) mexData.reference = reference;
703
+
704
+ return {
705
+ ...baseFields,
706
+ jurisdictions: { MX: mexData },
707
+ } as CreateAddressInput;
708
+ }
709
+
710
+ /**
711
+ * Transforms flattened MX address update input to nested API format.
712
+ */
713
+ protected transformAddressUpdateToNested(
714
+ data: UpdateMexAddressInput
715
+ ): UpdateAddressInput {
716
+ const {
717
+ exteriorNumber,
718
+ interiorNumber,
719
+ neighborhood,
720
+ municipality,
721
+ betweenStreets,
722
+ reference,
723
+ ...baseFields
724
+ } = data;
725
+
726
+ const hasMexFields =
727
+ exteriorNumber !== undefined ||
728
+ interiorNumber !== undefined ||
729
+ neighborhood !== undefined ||
730
+ municipality !== undefined ||
731
+ betweenStreets !== undefined ||
732
+ reference !== undefined;
733
+
734
+ if (!hasMexFields) {
735
+ return baseFields as UpdateAddressInput;
736
+ }
737
+
738
+ const mexData: Record<string, unknown> = {};
739
+ if (exteriorNumber !== undefined) mexData.exteriorNumber = exteriorNumber;
740
+ if (interiorNumber !== undefined) mexData.interiorNumber = interiorNumber;
741
+ if (neighborhood !== undefined) mexData.neighborhood = neighborhood;
742
+ if (municipality !== undefined) mexData.municipality = municipality;
743
+ if (betweenStreets !== undefined) mexData.betweenStreets = betweenStreets;
744
+ if (reference !== undefined) mexData.reference = reference;
745
+
746
+ return {
747
+ ...baseFields,
748
+ jurisdictions: { MX: mexData },
749
+ } as UpdateAddressInput;
750
+ }
751
+
752
+ /**
753
+ * Instantiates a MexClient model.
754
+ */
755
+ protected override instantiate(data: ClientData): MexClient {
756
+ return new MexClient(data);
757
+ }
758
+ }