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