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