@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,808 @@
1
+ /**
2
+ * Clients Resource
3
+ *
4
+ * CRUD operations, filtering, pagination, and batch operations for clients.
5
+ *
6
+ * This is the base (unscoped) resource. For jurisdiction-scoped SDKs, use:
7
+ * - MexClientsResource - Mexico-scoped with flattened MX fields
8
+ * - AVIClientsResource - Mexico AVI-scoped with flattened AVI fields
9
+ * - JYSClientsResource - Mexico JYS-scoped with flattened JYS fields
10
+ * - TSCClientsResource - Mexico TSC-scoped with flattened TSC fields
11
+ */
12
+
13
+ import { z } from "zod";
14
+ import type {
15
+ CreateClientInput,
16
+ UpdateClientInput,
17
+ CreateAddressInput,
18
+ UpdateAddressInput,
19
+ CreateContactMethodInput,
20
+ UpdateContactMethodInput,
21
+ CreateBankAccountInput,
22
+ UpdateBankAccountInput,
23
+ ClientFilter,
24
+ ClientSort,
25
+ ListOptions,
26
+ PaginatedResponse,
27
+ AtomicBatchResult,
28
+ PartialBatchResult,
29
+ ClientRelationshipType,
30
+ LinkedClient as LinkedClientInput,
31
+ SyncItem,
32
+ SyncResult,
33
+ } from "@artu-ai/shared";
34
+ import {
35
+ createClientInputSchema,
36
+ updateClientInputSchema,
37
+ createAddressInputSchema,
38
+ updateAddressInputSchema,
39
+ createContactMethodInputSchema,
40
+ updateContactMethodInputSchema,
41
+ createBankAccountInputSchema,
42
+ updateBankAccountInputSchema,
43
+ linkedClientSchema,
44
+ replaceSyncItemSchema,
45
+ } from "@artu-ai/shared";
46
+ import { BaseResource } from "./base";
47
+ import {
48
+ Client,
49
+ type ClientData,
50
+ Address,
51
+ ContactMethod,
52
+ BankAccount,
53
+ LinkedClient,
54
+ } from "../models";
55
+
56
+ // ===========================
57
+ // Types
58
+ // ===========================
59
+
60
+ /**
61
+ * Options for batch operations
62
+ */
63
+ export interface BatchOptions {
64
+ /**
65
+ * If true (default), all items must succeed or entire operation fails.
66
+ * If false, partial success is allowed with succeeded/failed arrays.
67
+ */
68
+ atomic?: boolean;
69
+ }
70
+
71
+ export interface ClientIncludeMap {
72
+ primaryContacts?: boolean;
73
+ addresses?: boolean;
74
+ contactMethods?: boolean;
75
+ bankAccounts?: boolean;
76
+ documents?: boolean;
77
+ linkedClients?: boolean;
78
+ }
79
+
80
+ // ===========================
81
+ // ClientsResource
82
+ // ===========================
83
+
84
+ /**
85
+ * Base resource manager for client operations.
86
+ *
87
+ * Provides:
88
+ * - CRUD operations (create, retrieve, update, delete)
89
+ * - Filtering and pagination
90
+ * - Batch operations (createMany, updateMany)
91
+ *
92
+ * @example
93
+ * ```typescript
94
+ * // Create a client with full nested format
95
+ * const client = await sdk.clients.create({
96
+ * type: "individual",
97
+ * name: "Juan García",
98
+ * primaryJurisdiction: "MX",
99
+ * jurisdictions: {
100
+ * MX: { rfc: "GAJL850101ABC" },
101
+ * },
102
+ * });
103
+ *
104
+ * // List with filtering
105
+ * const { data, pagination } = await sdk.clients.list({
106
+ * filter: { type: "individual", primaryJurisdiction: "MX" },
107
+ * limit: 20,
108
+ * });
109
+ *
110
+ * // Iterate all clients
111
+ * for await (const client of sdk.clients.iterate()) {
112
+ * console.log(client.name);
113
+ * }
114
+ * ```
115
+ */
116
+ export class ClientsResource<
117
+ TSort = ClientSort,
118
+ > extends BaseResource<
119
+ Client,
120
+ CreateClientInput,
121
+ UpdateClientInput,
122
+ ClientFilter,
123
+ TSort
124
+ > {
125
+ // ─────────────────────────────────────────────────────────────────
126
+ // CRUD Operations
127
+ // ─────────────────────────────────────────────────────────────────
128
+
129
+ /**
130
+ * Creates a new client.
131
+ *
132
+ * @param data - Client creation data in nested format
133
+ * @returns The created client model
134
+ *
135
+ * @example
136
+ * ```typescript
137
+ * const client = await sdk.clients.create({
138
+ * type: ClientType.Person,
139
+ * name: "Juan García",
140
+ * primaryJurisdiction: Jurisdiction.Mexico,
141
+ * jurisdictions: {
142
+ * MX: { rfc: "GAJL850101ABC" },
143
+ * },
144
+ * });
145
+ * ```
146
+ */
147
+ async create(data: CreateClientInput): Promise<Client> {
148
+ const validated = this.validate(createClientInputSchema, data);
149
+
150
+ const response = await this.execute(() =>
151
+ this.trpc.clients.create.mutate(validated)
152
+ );
153
+
154
+ return this.instantiate(response);
155
+ }
156
+
157
+ /**
158
+ * Retrieves a client by ID.
159
+ *
160
+ * @param id - Client ID
161
+ * @param include - Optional includes (relations, primary contacts)
162
+ * @returns The client model (with optional fields populated if included)
163
+ */
164
+ async retrieve(id: string, include?: ClientIncludeMap): Promise<Client> {
165
+ const response = await this.execute(() =>
166
+ this.trpc.clients.retrieve.query({ id, include })
167
+ );
168
+ return this.instantiate(response);
169
+ }
170
+
171
+ /**
172
+ * Retrieves a client by metadata key/value.
173
+ */
174
+ async retrieveByMetadata(key: string, value: string): Promise<Client> {
175
+ const response = await this.execute(() =>
176
+ this.trpc.clients.retrieveByMetadata.query({ key, value })
177
+ );
178
+ return this.instantiate(response);
179
+ }
180
+
181
+ /**
182
+ * Retrieves a client by externalId.
183
+ *
184
+ * @param externalId - External identifier assigned by your system
185
+ * @returns The client model
186
+ *
187
+ * @example
188
+ * ```typescript
189
+ * const client = await sdk.clients.retrieveByExternalId("external-123");
190
+ * console.log(client.name);
191
+ * ```
192
+ */
193
+ async retrieveByExternalId(externalId: string): Promise<Client> {
194
+ const response = await this.execute(() =>
195
+ this.trpc.clients.retrieveByExternalId.query({ externalId })
196
+ );
197
+ return this.instantiate(response);
198
+ }
199
+
200
+ /**
201
+ * Updates a client.
202
+ *
203
+ * @param id - Client ID
204
+ * @param data - Update data (partial)
205
+ * @returns The updated client model
206
+ *
207
+ * @example
208
+ * ```typescript
209
+ * const client = await sdk.clients.update("client_123", {
210
+ * email: "new@example.com",
211
+ * });
212
+ * ```
213
+ */
214
+ async update(id: string, data: UpdateClientInput): Promise<Client> {
215
+ const validated = this.validate(updateClientInputSchema, data);
216
+
217
+ const response = await this.execute(() =>
218
+ this.trpc.clients.update.mutate({ id, data: validated })
219
+ );
220
+ return this.instantiate(response);
221
+ }
222
+
223
+ /**
224
+ * Deletes a client (soft delete).
225
+ *
226
+ * @param id - Client ID
227
+ *
228
+ * @example
229
+ * ```typescript
230
+ * await sdk.clients.delete("client_123");
231
+ * ```
232
+ */
233
+ async delete(id: string): Promise<void> {
234
+ await this.execute(() => this.trpc.clients.delete.mutate({ id }));
235
+ }
236
+
237
+ // ─────────────────────────────────────────────────────────────────
238
+ // List & Pagination
239
+ // ─────────────────────────────────────────────────────────────────
240
+
241
+ /**
242
+ * Lists clients with optional filtering and pagination.
243
+ *
244
+ * @param options - List options (filter, cursor, limit)
245
+ * @param options.includePrimaryContacts - Include primary email/phone
246
+ * @returns Paginated response with client models
247
+ *
248
+ * @example
249
+ * ```typescript
250
+ * const { data, pagination } = await sdk.clients.list({
251
+ * filter: { type: "individual" },
252
+ * limit: 20,
253
+ * });
254
+ *
255
+ * if (pagination.hasMore) {
256
+ * const nextPage = await sdk.clients.list({
257
+ * cursor: pagination.nextCursor,
258
+ * });
259
+ * }
260
+ * ```
261
+ */
262
+ async list(
263
+ options?: ListOptions<ClientFilter, TSort> & { includePrimaryContacts?: boolean }
264
+ ): Promise<PaginatedResponse<Client>> {
265
+ const response = await this.execute(() =>
266
+ this.trpc.clients.list.query(
267
+ options as ListOptions<ClientFilter, ClientSort> & { includePrimaryContacts?: boolean }
268
+ )
269
+ );
270
+
271
+ return {
272
+ data: response.data.map((c) => this.instantiate(c)),
273
+ pagination: response.pagination,
274
+ };
275
+ }
276
+
277
+ /**
278
+ * Returns an async iterator over all clients matching the filter.
279
+ * Automatically fetches subsequent pages as you iterate.
280
+ *
281
+ * @param filter - Optional filter criteria
282
+ * @returns Async generator yielding client models
283
+ *
284
+ * @example
285
+ * ```typescript
286
+ * for await (const client of sdk.clients.iterate({ type: "individual" })) {
287
+ * console.log(client.name);
288
+ * }
289
+ * ```
290
+ */
291
+ iterate(filter?: ClientFilter): AsyncGenerator<Client, void, undefined> {
292
+ return this.createIterator({ filter });
293
+ }
294
+
295
+ // ─────────────────────────────────────────────────────────────────
296
+ // Batch Operations
297
+ // ─────────────────────────────────────────────────────────────────
298
+
299
+ /**
300
+ * Creates multiple clients in a single request.
301
+ *
302
+ * @param clients - Array of client creation data
303
+ * @param options - Batch options (atomic: true by default)
304
+ * @returns Atomic result with data array, or partial result with succeeded/failed
305
+ *
306
+ * @example
307
+ * ```typescript
308
+ * // Atomic mode (default) - all or nothing
309
+ * const result = await sdk.clients.createMany([...]);
310
+ * if (result.atomic) {
311
+ * console.log("All created:", result.data);
312
+ * }
313
+ *
314
+ * // Non-atomic mode - partial success allowed
315
+ * const result = await sdk.clients.createMany([...], { atomic: false });
316
+ * if (!result.atomic) {
317
+ * console.log("Succeeded:", result.succeeded.length);
318
+ * console.log("Failed:", result.failed.length);
319
+ * }
320
+ * ```
321
+ */
322
+ async createMany(
323
+ clients: CreateClientInput[],
324
+ options?: { atomic?: true }
325
+ ): Promise<AtomicBatchResult<Client>>;
326
+ async createMany(
327
+ clients: CreateClientInput[],
328
+ options: { atomic: false }
329
+ ): Promise<PartialBatchResult<Client>>;
330
+ async createMany(
331
+ clients: CreateClientInput[],
332
+ options: BatchOptions = {}
333
+ ): Promise<AtomicBatchResult<Client> | PartialBatchResult<Client>> {
334
+ const atomic = options.atomic ?? true;
335
+ const validated = this.validate(z.array(createClientInputSchema), clients);
336
+
337
+ const response = await this.execute(() =>
338
+ this.trpc.clients.createMany.mutate({ items: validated, atomic })
339
+ );
340
+
341
+ if (response.atomic) {
342
+ return {
343
+ atomic: true,
344
+ data: response.data.map((c) => this.instantiate(c)),
345
+ };
346
+ } else {
347
+ return {
348
+ atomic: false,
349
+ succeeded: response.succeeded.map((item) => ({
350
+ index: item.index,
351
+ data: this.instantiate(item.data),
352
+ })),
353
+ failed: response.failed,
354
+ };
355
+ }
356
+ }
357
+
358
+ /**
359
+ * Updates multiple clients in a single request.
360
+ *
361
+ * @param updates - Array of { id, data } updates
362
+ * @param options - Batch options (atomic: true by default)
363
+ * @returns Atomic result with data array, or partial result with succeeded/failed
364
+ *
365
+ * @example
366
+ * ```typescript
367
+ * // Atomic mode (default) - all or nothing
368
+ * const result = await sdk.clients.updateMany([...]);
369
+ * if (result.atomic) {
370
+ * console.log("All updated:", result.data);
371
+ * }
372
+ *
373
+ * // Non-atomic mode - partial success allowed
374
+ * const result = await sdk.clients.updateMany([...], { atomic: false });
375
+ * if (!result.atomic) {
376
+ * console.log("Succeeded:", result.succeeded.length);
377
+ * console.log("Failed:", result.failed.length);
378
+ * }
379
+ * ```
380
+ */
381
+ async updateMany(
382
+ updates: { id: string; data: UpdateClientInput }[],
383
+ options?: { atomic?: true }
384
+ ): Promise<AtomicBatchResult<Client>>;
385
+ async updateMany(
386
+ updates: { id: string; data: UpdateClientInput }[],
387
+ options: { atomic: false }
388
+ ): Promise<PartialBatchResult<Client>>;
389
+ async updateMany(
390
+ updates: { id: string; data: UpdateClientInput }[],
391
+ options: BatchOptions = {}
392
+ ): Promise<AtomicBatchResult<Client> | PartialBatchResult<Client>> {
393
+ const atomic = options.atomic ?? true;
394
+ const updateItemSchema = z.object({
395
+ id: z.uuid(),
396
+ data: updateClientInputSchema,
397
+ });
398
+
399
+ const validated = this.validate(z.array(updateItemSchema), updates);
400
+
401
+ const response = await this.execute(() =>
402
+ this.trpc.clients.updateMany.mutate({ items: validated, atomic })
403
+ );
404
+
405
+ if (response.atomic) {
406
+ return {
407
+ atomic: true,
408
+ data: response.data.map((c) => this.instantiate(c)),
409
+ };
410
+ } else {
411
+ return {
412
+ atomic: false,
413
+ succeeded: response.succeeded.map((item) => ({
414
+ index: item.index,
415
+ data: this.instantiate(item.data),
416
+ })),
417
+ failed: response.failed,
418
+ };
419
+ }
420
+ }
421
+
422
+ // ─────────────────────────────────────────────────────────────────
423
+ // Client-to-Client Relationship Management
424
+ // ─────────────────────────────────────────────────────────────────
425
+
426
+ /**
427
+ * Links a client to another client with a relationship type.
428
+ *
429
+ * @param parentClientId - The ID of the parent client (e.g., a company)
430
+ * @param childClientId - The ID of the child client (e.g., a legal rep)
431
+ * @param relationshipType - The type of relationship
432
+ * @param metadata - Optional metadata for the relationship
433
+ * @returns The updated parent client
434
+ *
435
+ * @example
436
+ * ```typescript
437
+ * // Link a legal representative to a company
438
+ * await sdk.clients.linkClient(
439
+ * companyId,
440
+ * legalRepId,
441
+ * ClientRelationshipType.LegalRepresentative
442
+ * );
443
+ *
444
+ * // Link a controlling beneficiary with metadata
445
+ * await sdk.clients.linkClient(
446
+ * companyId,
447
+ * beneficiaryId,
448
+ * ClientRelationshipType.ControllingBeneficiary,
449
+ * { ownershipPercentage: 51 }
450
+ * );
451
+ * ```
452
+ */
453
+ async linkClient(
454
+ parentClientId: string,
455
+ childClientId: string,
456
+ relationshipType: ClientRelationshipType,
457
+ metadata?: Record<string, unknown>
458
+ ): Promise<Client> {
459
+ const response = await this.execute(() =>
460
+ this.trpc.clients.linkClient.mutate({
461
+ parentClientId,
462
+ childClientId,
463
+ relationshipType,
464
+ metadata,
465
+ })
466
+ );
467
+ return this.instantiate(response);
468
+ }
469
+
470
+ /**
471
+ * Unlinks a client from another client.
472
+ *
473
+ * @param parentClientId - The ID of the parent client
474
+ * @param childClientId - The ID of the child client to unlink
475
+ * @param relationshipType - The type of relationship to remove
476
+ * @returns The updated parent client
477
+ *
478
+ * @example
479
+ * ```typescript
480
+ * // Remove a legal representative
481
+ * await sdk.clients.unlinkClient(
482
+ * companyId,
483
+ * legalRepId,
484
+ * ClientRelationshipType.LegalRepresentative
485
+ * );
486
+ * ```
487
+ */
488
+ async unlinkClient(
489
+ parentClientId: string,
490
+ childClientId: string,
491
+ relationshipType: ClientRelationshipType
492
+ ): Promise<Client> {
493
+ const response = await this.execute(() =>
494
+ this.trpc.clients.unlinkClient.mutate({
495
+ parentClientId,
496
+ childClientId,
497
+ relationshipType,
498
+ })
499
+ );
500
+ return this.instantiate(response);
501
+ }
502
+
503
+ /**
504
+ * Lists all clients linked to a parent client.
505
+ *
506
+ * @param parentClientId - The ID of the parent client
507
+ * @param relationshipType - Optional filter by relationship type
508
+ * @returns Array of LinkedClient models
509
+ *
510
+ * @example
511
+ * ```typescript
512
+ * // List all linked clients
513
+ * const links = await sdk.clients.listLinkedClients(companyId);
514
+ *
515
+ * // List only legal representatives
516
+ * const legalReps = await sdk.clients.listLinkedClients(
517
+ * companyId,
518
+ * ClientRelationshipType.LegalRepresentative
519
+ * );
520
+ *
521
+ * // Access relationship metadata
522
+ * for (const link of links) {
523
+ * console.log(link.id, link.relationshipType, link.metadata);
524
+ * }
525
+ * ```
526
+ */
527
+ async listLinkedClients(
528
+ parentClientId: string,
529
+ relationshipType?: ClientRelationshipType
530
+ ): Promise<LinkedClient[]> {
531
+ const response = await this.execute(() =>
532
+ this.trpc.clients.listLinkedClients.query({
533
+ parentClientId,
534
+ relationshipType,
535
+ })
536
+ );
537
+
538
+ return response.map((l) => new LinkedClient(l));
539
+ }
540
+
541
+ /**
542
+ * Retrieves a single linked client relationship by ID.
543
+ *
544
+ * @param id - The ID of the relationship
545
+ * @returns The LinkedClient model
546
+ *
547
+ * @example
548
+ * ```typescript
549
+ * const relationship = await sdk.clients.retrieveLinkedClient(relationshipId);
550
+ * console.log(relationship.relationshipType, relationship.metadata);
551
+ * ```
552
+ */
553
+ async retrieveLinkedClient(id: string): Promise<LinkedClient> {
554
+ const response = await this.execute(() =>
555
+ this.trpc.clients.retrieveLinkedClient.query({ id })
556
+ );
557
+ return new LinkedClient(response);
558
+ }
559
+
560
+ /**
561
+ * Updates a linked client relationship's metadata.
562
+ *
563
+ * @param id - The ID of the relationship
564
+ * @param metadata - New metadata for the relationship
565
+ * @returns The updated LinkedClient model
566
+ *
567
+ * @example
568
+ * ```typescript
569
+ * const updated = await sdk.clients.updateLinkedClient(relationshipId, {
570
+ * ownershipPercentage: 51,
571
+ * votingRights: true,
572
+ * });
573
+ * ```
574
+ */
575
+ async updateLinkedClient(
576
+ id: string,
577
+ metadata?: Record<string, unknown>
578
+ ): Promise<LinkedClient> {
579
+ const response = await this.execute(() =>
580
+ this.trpc.clients.updateLinkedClient.mutate({ id, metadata })
581
+ );
582
+ return new LinkedClient(response);
583
+ }
584
+
585
+ /**
586
+ * Replaces all linked clients for a parent client.
587
+ *
588
+ * @param parentClientId - The ID of the parent client
589
+ * @param linkedClients - Array of linked client definitions
590
+ * @returns The updated parent client
591
+ *
592
+ * @example
593
+ * ```typescript
594
+ * // Replace all linked clients
595
+ * await sdk.clients.setLinkedClients(companyId, [
596
+ * { clientId: legalRepId, relationshipType: "legal_representative" },
597
+ * { clientId: beneficiaryId, relationshipType: "controlling_beneficiary" },
598
+ * ]);
599
+ * ```
600
+ */
601
+ async setLinkedClients(
602
+ parentClientId: string,
603
+ linkedClients: LinkedClientInput[]
604
+ ): Promise<Client> {
605
+ const validated = this.validate(z.array(linkedClientSchema), linkedClients);
606
+
607
+ const response = await this.execute(() =>
608
+ this.trpc.clients.setLinkedClients.mutate({
609
+ parentClientId,
610
+ linkedClients: validated,
611
+ })
612
+ );
613
+ return this.instantiate(response);
614
+ }
615
+
616
+ // ─────────────────────────────────────────────────────────────────
617
+ // Sync All (Atomic)
618
+ // ─────────────────────────────────────────────────────────────────
619
+
620
+ /**
621
+ * Atomically updates a client and all related resources in a single transaction.
622
+ *
623
+ * All operations succeed or fail together - if any fails, the entire
624
+ * transaction is rolled back.
625
+ *
626
+ * @param clientId - The client ID to update
627
+ * @param data - Sync data with optional client, addresses, contactMethods, bankAccounts, linkedClients
628
+ * @param options - Sync options
629
+ * @param options.replaceMode - When true, items not in the arrays are deleted (default: false)
630
+ * @returns Result with updated client and sync results for each resource type
631
+ *
632
+ * @example
633
+ * ```typescript
634
+ * // Patch mode (default) - only mentioned items are affected
635
+ * const result = await sdk.clients.syncAll("client_123", {
636
+ * // Update client fields
637
+ * client: { name: "Updated Name" },
638
+ *
639
+ * // Sync addresses (create, update, delete)
640
+ * addresses: [
641
+ * { street: "123 New St", city: "Mexico City", country: "MX" }, // create
642
+ * { id: "addr_456", street: "Updated St" }, // update
643
+ * { id: "addr_789", _delete: true }, // delete
644
+ * ],
645
+ *
646
+ * // Sync contact methods
647
+ * contactMethods: [
648
+ * { type: "email", value: "new@example.com", isPrimary: true },
649
+ * ],
650
+ *
651
+ * // Sync bank accounts
652
+ * bankAccounts: [
653
+ * { accountNumber: "1234567890", bankName: "BBVA" },
654
+ * ],
655
+ *
656
+ * // Replace all linked clients
657
+ * linkedClients: [
658
+ * { clientId: "rep_123", relationshipType: "legal_representative" },
659
+ * ],
660
+ * });
661
+ *
662
+ * // Replace mode - provided arrays become the complete set (requires full create input for new items)
663
+ * const result = await sdk.clients.syncAll("client_123", {
664
+ * addresses: currentAddresses,
665
+ * contactMethods: currentContacts,
666
+ * bankAccounts: currentAccounts,
667
+ * }, { replaceMode: true });
668
+ *
669
+ * console.log(result.client); // updated client
670
+ * console.log(result.addresses.created); // newly created addresses
671
+ * console.log(result.addresses.updated); // updated addresses
672
+ * console.log(result.addresses.deleted); // deleted address IDs
673
+ * ```
674
+ */
675
+ async syncAll(
676
+ clientId: string,
677
+ data: {
678
+ client?: UpdateClientInput;
679
+ addresses?: SyncItem<CreateAddressInput>[];
680
+ contactMethods?: SyncItem<CreateContactMethodInput>[];
681
+ bankAccounts?: SyncItem<CreateBankAccountInput>[];
682
+ linkedClients?: LinkedClientInput[];
683
+ },
684
+ options: { replaceMode: true }
685
+ ): Promise<{
686
+ client: Client;
687
+ addresses: SyncResult<Address>;
688
+ contactMethods: SyncResult<ContactMethod>;
689
+ bankAccounts: SyncResult<BankAccount>;
690
+ }>;
691
+ async syncAll(
692
+ clientId: string,
693
+ data: {
694
+ client?: UpdateClientInput;
695
+ addresses?: SyncItem<UpdateAddressInput>[];
696
+ contactMethods?: SyncItem<UpdateContactMethodInput>[];
697
+ bankAccounts?: SyncItem<UpdateBankAccountInput>[];
698
+ linkedClients?: LinkedClientInput[];
699
+ },
700
+ options?: { replaceMode?: boolean }
701
+ ): Promise<{
702
+ client: Client;
703
+ addresses: SyncResult<Address>;
704
+ contactMethods: SyncResult<ContactMethod>;
705
+ bankAccounts: SyncResult<BankAccount>;
706
+ }>;
707
+ async syncAll(
708
+ clientId: string,
709
+ data: {
710
+ client?: UpdateClientInput;
711
+ addresses?: SyncItem<UpdateAddressInput | CreateAddressInput>[];
712
+ contactMethods?: SyncItem<UpdateContactMethodInput | CreateContactMethodInput>[];
713
+ bankAccounts?: SyncItem<UpdateBankAccountInput | CreateBankAccountInput>[];
714
+ linkedClients?: LinkedClientInput[];
715
+ },
716
+ options?: { replaceMode?: boolean }
717
+ ): Promise<{
718
+ client: Client;
719
+ addresses: SyncResult<Address>;
720
+ contactMethods: SyncResult<ContactMethod>;
721
+ bankAccounts: SyncResult<BankAccount>;
722
+ }> {
723
+ // Validate inputs - use replaceSyncItemSchema which validates create vs update based on id presence
724
+ const validatedClient = data.client
725
+ ? this.validate(updateClientInputSchema, data.client)
726
+ : undefined;
727
+ const validatedAddresses = data.addresses
728
+ ? this.validate(
729
+ z.array(
730
+ replaceSyncItemSchema(createAddressInputSchema, updateAddressInputSchema)
731
+ ),
732
+ data.addresses
733
+ )
734
+ : undefined;
735
+ const validatedContactMethods = data.contactMethods
736
+ ? this.validate(
737
+ z.array(
738
+ replaceSyncItemSchema(
739
+ createContactMethodInputSchema,
740
+ updateContactMethodInputSchema
741
+ )
742
+ ),
743
+ data.contactMethods
744
+ )
745
+ : undefined;
746
+ const validatedBankAccounts = data.bankAccounts
747
+ ? this.validate(
748
+ z.array(
749
+ replaceSyncItemSchema(
750
+ createBankAccountInputSchema,
751
+ updateBankAccountInputSchema
752
+ )
753
+ ),
754
+ data.bankAccounts
755
+ )
756
+ : undefined;
757
+ const validatedLinkedClients = data.linkedClients
758
+ ? this.validate(z.array(linkedClientSchema), data.linkedClients)
759
+ : undefined;
760
+
761
+ const response = await this.execute(() =>
762
+ this.trpc.clients.syncAll.mutate({
763
+ clientId,
764
+ client: validatedClient,
765
+ addresses: validatedAddresses,
766
+ contactMethods: validatedContactMethods,
767
+ bankAccounts: validatedBankAccounts,
768
+ linkedClients: validatedLinkedClients,
769
+ replaceMode: options?.replaceMode,
770
+ })
771
+ );
772
+
773
+ return {
774
+ client: this.instantiate(response.client),
775
+ addresses: {
776
+ created: response.addresses.created.map((a) => new Address(a)),
777
+ updated: response.addresses.updated.map((a) => new Address(a)),
778
+ deleted: response.addresses.deleted,
779
+ },
780
+ contactMethods: {
781
+ created: response.contactMethods.created.map(
782
+ (c) => new ContactMethod(c)
783
+ ),
784
+ updated: response.contactMethods.updated.map(
785
+ (c) => new ContactMethod(c)
786
+ ),
787
+ deleted: response.contactMethods.deleted,
788
+ },
789
+ bankAccounts: {
790
+ created: response.bankAccounts.created.map((b) => new BankAccount(b)),
791
+ updated: response.bankAccounts.updated.map((b) => new BankAccount(b)),
792
+ deleted: response.bankAccounts.deleted,
793
+ },
794
+ };
795
+ }
796
+
797
+ // ─────────────────────────────────────────────────────────────────
798
+ // Instantiation (protected for subclasses to override)
799
+ // ─────────────────────────────────────────────────────────────────
800
+
801
+ /**
802
+ * Instantiates a Client model from API response data.
803
+ * Subclasses override this to return their specific model type.
804
+ */
805
+ protected instantiate(data: ClientData): Client {
806
+ return new Client(data);
807
+ }
808
+ }