@artu-ai/compliance-sdk 0.0.5 → 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-CsFkAge8.d.ts → sdk/mex/ComplianceSDK.d.ts} +16 -7
  260. package/dist/sdk/mex/ComplianceSDK.d.ts.map +1 -0
  261. package/dist/{ComplianceSDK-DzmqGCLF.d.cts → 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-C4Y56E4V.js +0 -23
  435. package/dist/chunk-C4Y56E4V.js.map +0 -1
  436. package/dist/chunk-E36XEOE2.js +0 -22558
  437. package/dist/chunk-E36XEOE2.js.map +0 -1
  438. package/dist/chunk-EO7ANPLK.cjs +0 -26
  439. package/dist/chunk-EO7ANPLK.cjs.map +0 -1
  440. package/dist/chunk-F5LRN233.cjs +0 -26
  441. package/dist/chunk-F5LRN233.cjs.map +0 -1
  442. package/dist/chunk-IS3YJ7Y5.cjs +0 -26
  443. package/dist/chunk-IS3YJ7Y5.cjs.map +0 -1
  444. package/dist/chunk-MNPRPINS.js +0 -23
  445. package/dist/chunk-MNPRPINS.js.map +0 -1
  446. package/dist/chunk-NQWTMQQL.js +0 -249
  447. package/dist/chunk-NQWTMQQL.js.map +0 -1
  448. package/dist/chunk-Q3J7CQWL.js +0 -23
  449. package/dist/chunk-Q3J7CQWL.js.map +0 -1
  450. package/dist/chunk-U3W5OO7I.cjs +0 -22711
  451. package/dist/chunk-U3W5OO7I.cjs.map +0 -1
  452. package/dist/chunk-UVM75OVG.cjs +0 -261
  453. package/dist/chunk-UVM75OVG.cjs.map +0 -1
  454. package/dist/filters-CEVr2pEJ.d.cts +0 -6368
  455. package/dist/filters-CEVr2pEJ.d.ts +0 -6368
  456. package/dist/index-CWAflRhP.d.ts +0 -2866
  457. package/dist/index-FBXIzHa9.d.cts +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,797 @@
1
+ /**
2
+ * ComplianceSDK - Main SDK entry point
3
+ *
4
+ * This class provides access to all compliance API resources.
5
+ * It initializes the tRPC client and all resource managers.
6
+ *
7
+ * The SDK can be scoped to a specific jurisdiction and/or actividadVulnerable,
8
+ * which automatically applies to all resource operations.
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * // Unscoped SDK - works with any jurisdiction
13
+ * const sdk = new ComplianceSDK({
14
+ * apiKey: process.env.COMPLIANCE_API_KEY!,
15
+ * environment: "test",
16
+ * });
17
+ *
18
+ * // Mexico-scoped SDK
19
+ * const mexSDK = new ComplianceSDK({
20
+ * apiKey: process.env.COMPLIANCE_API_KEY!,
21
+ * environment: "test",
22
+ * jurisdiction: "MX",
23
+ * });
24
+ *
25
+ * // Mexico AVI-scoped SDK
26
+ * const aviSDK = new ComplianceSDK({
27
+ * apiKey: process.env.COMPLIANCE_API_KEY!,
28
+ * environment: "test",
29
+ * jurisdiction: "MX",
30
+ * actividadVulnerable: CodigoActividad.AVI,
31
+ * });
32
+ *
33
+ * // When scoped, resources automatically use the jurisdiction/actividadVulnerable
34
+ * const client = await aviSDK.clients.create({
35
+ * type: ClientType.Person,
36
+ * name: "Juan García",
37
+ * // primaryJurisdiction defaults to "MX"
38
+ * // jurisdictions.MX.actividadVulnerable.AVI is auto-initialized
39
+ * });
40
+ * ```
41
+ */
42
+
43
+ import { Jurisdiction, CodigoActividad } from "@artu-ai/shared";
44
+ import {
45
+ createAPIClient,
46
+ type TRPCClient,
47
+ type APIVersion,
48
+ type SDKEnvironment,
49
+ LATEST_API_VERSION,
50
+ DEFAULT_TIMEOUT,
51
+ } from "../utils/trpc-client";
52
+ import { validateEnvironment, resolveBaseUrl } from "../utils/environment";
53
+ import {
54
+ type SDKScope,
55
+ type Environment,
56
+ type BaseComplianceSDK,
57
+ type OtherJurisdictionSDKOptions,
58
+ type ComplianceAuthMode,
59
+ type FetchCredentials,
60
+ isMexicoScope,
61
+ buildScope,
62
+ } from "./types";
63
+ import { getResourceFactories } from "./resource-registry";
64
+ import { getSDKClass } from "./sdk-registry";
65
+ import { type UnscopedSDKOptions } from "./base";
66
+ // Import Mexico types from type files directly to avoid circular dependency through barrel
67
+ import {
68
+ type ComplianceSDKOptionsMexico,
69
+ type MexicoSDKOptions,
70
+ type MexicoComplianceSDK,
71
+ } from "./mex/types";
72
+ import {
73
+ type AVISDKOptions,
74
+ type AVIComplianceSDK,
75
+ } from "./mex/actividad-vulnerable/avi/types";
76
+ import {
77
+ type JYSSDKOptions,
78
+ type JYSComplianceSDK,
79
+ } from "./mex/actividad-vulnerable/jys/types";
80
+ import {
81
+ type TSCSDKOptions,
82
+ type TSCComplianceSDK,
83
+ } from "./mex/actividad-vulnerable/tsc/types";
84
+ import {
85
+ fetchSession,
86
+ type SDKSessionOptions,
87
+ type SDKSessionOptionsWithReturnTo,
88
+ type SessionResult,
89
+ type SessionResultWithRedirect,
90
+ type SessionResultWithoutRedirect,
91
+ } from "../utils/session";
92
+
93
+ // Re-export base options type for sub-exports
94
+ export type { ComplianceSDKOptionsBase } from "./types";
95
+
96
+ // Resources
97
+ import {
98
+ type ClientsResource,
99
+ type TransactionsResource,
100
+ type ReportsResource,
101
+ BankAccountsResource,
102
+ AddressesResource,
103
+ ContactMethodsResource,
104
+ DocumentsResource,
105
+ } from "../resources";
106
+
107
+ // ===========================
108
+ // Re-exports
109
+ // ===========================
110
+
111
+ // Re-export SDKScope for external use
112
+ export type { SDKScope };
113
+
114
+ // Re-export Mexico SDK types for convenience
115
+ export type {
116
+ ComplianceSDKOptionsMexico,
117
+ MexicoSDKOptions,
118
+ AVISDKOptions,
119
+ JYSSDKOptions,
120
+ TSCSDKOptions,
121
+ MexicoComplianceSDK,
122
+ AVIComplianceSDK,
123
+ JYSComplianceSDK,
124
+ TSCComplianceSDK,
125
+ };
126
+
127
+ // ===========================
128
+ // SDK Options Types
129
+ // ===========================
130
+
131
+ /**
132
+ * SDK configuration options.
133
+ *
134
+ * Use `actividadVulnerable` only when `jurisdiction` is `Jurisdiction.Mexico`.
135
+ */
136
+ export type ComplianceSDKOptions =
137
+ | UnscopedSDKOptions
138
+ | ComplianceSDKOptionsMexico;
139
+
140
+ // ===========================
141
+ // Typed SDK Interfaces
142
+ // ===========================
143
+
144
+ /**
145
+ * Unscoped SDK - uses base resource types
146
+ */
147
+ export interface UnscopedComplianceSDK extends BaseComplianceSDK {
148
+ // Core resources (base types)
149
+ readonly clients: ClientsResource;
150
+ readonly transactions: TransactionsResource;
151
+ readonly reports: ReportsResource;
152
+ readonly bankAccounts: BankAccountsResource;
153
+
154
+ // Supporting resources (base types)
155
+ readonly addresses: AddressesResource;
156
+ readonly contactMethods: ContactMethodsResource;
157
+ readonly documents: DocumentsResource;
158
+ }
159
+
160
+ // ===========================
161
+ // ComplianceSDK Class
162
+ // ===========================
163
+
164
+ /**
165
+ * Main entry point for the Compliance SDK.
166
+ *
167
+ * Provides access to all API resources:
168
+ * - `clients` - Client management (individuals, companies, trusts)
169
+ * - `transactions` - Transaction management
170
+ * - `addresses` - Address management
171
+ * - `contactMethods` - Contact method management
172
+ * - `bankAccounts` - Bank account management
173
+ * - `documents` - Document upload and management
174
+ * - `reports` - Regulatory report generation and submission
175
+ *
176
+ * ## Scoping
177
+ *
178
+ * The SDK can be scoped to a specific jurisdiction and/or actividadVulnerable:
179
+ *
180
+ * ```typescript
181
+ * // Unscoped - generic SDK
182
+ * const sdk = new ComplianceSDK({ apiKey, environment: "test" });
183
+ *
184
+ * // Scoped to Mexico
185
+ * const mexSDK = new ComplianceSDK({
186
+ * apiKey,
187
+ * environment: "test",
188
+ * jurisdiction: Jurisdiction.Mexico,
189
+ * });
190
+ *
191
+ * // Scoped to Mexico AVI actividadVulnerable
192
+ * const aviSDK = new ComplianceSDK({
193
+ * apiKey,
194
+ * environment: "test",
195
+ * jurisdiction: Jurisdiction.Mexico,
196
+ * actividadVulnerable: CodigoActividad.AVI,
197
+ * });
198
+ * ```
199
+ *
200
+ * When scoped:
201
+ * - Create operations default to the specified jurisdiction/actividadVulnerable
202
+ * - List operations filter by the specified jurisdiction/actividadVulnerable
203
+ * - Models returned are the appropriate type for the scope
204
+ *
205
+ * @example
206
+ * ```typescript
207
+ * import { ComplianceSDK, ClientType, Jurisdiction, CodigoActividad } from "@artu/compliance-sdk";
208
+ *
209
+ * const sdk = new ComplianceSDK({
210
+ * apiKey: process.env.COMPLIANCE_API_KEY!,
211
+ * environment: "test",
212
+ * jurisdiction: Jurisdiction.Mexico,
213
+ * actividadVulnerable: CodigoActividad.AVI,
214
+ * });
215
+ *
216
+ * // Check scope
217
+ * console.log(sdk.jurisdiction); // "MX"
218
+ * console.log(sdk.actividadVulnerable); // "AVI"
219
+ * console.log(sdk.isMexico); // true
220
+ *
221
+ * // Create a client - jurisdiction/actividadVulnerable are auto-applied
222
+ * const client = await sdk.clients.create({
223
+ * type: ClientType.Person,
224
+ * name: "Juan García",
225
+ * });
226
+ * ```
227
+ */
228
+ export class ComplianceSDKImpl {
229
+ // ===========================
230
+ // Protected Properties (accessible by subclasses)
231
+ // ===========================
232
+
233
+ /** tRPC client for API communication */
234
+ protected readonly trpc!: TRPCClient;
235
+
236
+ /** Current environment */
237
+ protected readonly _environment!: Environment;
238
+
239
+ /** Current API version */
240
+ protected readonly _apiVersion!: APIVersion;
241
+
242
+ /** SDK scope (jurisdiction and actividadVulnerable) */
243
+ protected readonly _scope!: SDKScope;
244
+
245
+ /** Resolved base URL */
246
+ protected readonly _baseUrl!: string;
247
+
248
+ /** Auth mode */
249
+ protected readonly _authMode!: ComplianceAuthMode;
250
+
251
+ /** Credentials policy (cookie mode) */
252
+ protected readonly _credentials?: FetchCredentials;
253
+
254
+ /** Custom headers (cookie mode, for server-side cookie forwarding) */
255
+ protected readonly _headers?: Record<string, string>;
256
+
257
+ // ===========================
258
+ // Resource Managers
259
+ // ===========================
260
+
261
+ /**
262
+ * Clients resource manager.
263
+ *
264
+ * Provides CRUD operations for clients (individuals, companies, trusts).
265
+ * When SDK is scoped, creates and lists are automatically scoped.
266
+ *
267
+ * @example
268
+ * ```typescript
269
+ * // Create a client (uses SDK scope for jurisdiction/activity)
270
+ * const client = await sdk.clients.create({
271
+ * type: ClientType.Person,
272
+ * name: "Juan García",
273
+ * });
274
+ *
275
+ * // List clients (filtered by SDK scope)
276
+ * const clients = await sdk.clients.list();
277
+ *
278
+ * // Iterate through all clients in scope
279
+ * for await (const client of sdk.clients.iterate()) {
280
+ * console.log(client.name);
281
+ * }
282
+ * ```
283
+ */
284
+ public readonly clients!: ClientsResource;
285
+
286
+ /**
287
+ * Transactions resource manager.
288
+ *
289
+ * Provides CRUD operations for transactions and client linking.
290
+ * When SDK is scoped, creates and lists are automatically scoped.
291
+ *
292
+ * @example
293
+ * ```typescript
294
+ * // Create a transaction (uses SDK scope)
295
+ * const txn = await sdk.transactions.create({
296
+ * amount: 50000,
297
+ * currency: Currency.MXN,
298
+ * });
299
+ *
300
+ * // Link a client to transaction
301
+ * await sdk.transactions.linkClient(txn.id, clientId, "originator");
302
+ * ```
303
+ */
304
+ public readonly transactions!: TransactionsResource;
305
+
306
+ /**
307
+ * Addresses resource manager.
308
+ *
309
+ * Provides CRUD operations for client addresses.
310
+ *
311
+ * @example
312
+ * ```typescript
313
+ * const address = await sdk.addresses.create({
314
+ * clientId,
315
+ * type: AddressType.Home,
316
+ * street: "Av. Reforma 222",
317
+ * city: "México",
318
+ * country: Country.Mexico,
319
+ * });
320
+ * ```
321
+ */
322
+ public readonly addresses!: AddressesResource;
323
+
324
+ /**
325
+ * Contact methods resource manager.
326
+ *
327
+ * Provides CRUD operations for client contact methods (email, phone).
328
+ *
329
+ * @example
330
+ * ```typescript
331
+ * const contact = await sdk.contactMethods.create({
332
+ * clientId,
333
+ * type: ContactMethodType.Email,
334
+ * value: "juan@example.com",
335
+ * });
336
+ * ```
337
+ */
338
+ public readonly contactMethods!: ContactMethodsResource;
339
+
340
+ /**
341
+ * Bank accounts resource manager.
342
+ *
343
+ * Provides CRUD operations for client bank accounts.
344
+ *
345
+ * @example
346
+ * ```typescript
347
+ * const account = await sdk.bankAccounts.create({
348
+ * clientId,
349
+ * type: BankAccountType.Checking,
350
+ * bankName: "BBVA",
351
+ * });
352
+ * ```
353
+ */
354
+ public readonly bankAccounts!: BankAccountsResource;
355
+
356
+ /**
357
+ * Documents resource manager.
358
+ *
359
+ * Provides upload, download, and management for client documents.
360
+ *
361
+ * @example
362
+ * ```typescript
363
+ * const doc = await sdk.documents.upload({
364
+ * clientId,
365
+ * category: DocumentCategory.Identification,
366
+ * type: MexDocumentType.INE,
367
+ * file: buffer,
368
+ * filename: "ine.pdf",
369
+ * });
370
+ * ```
371
+ */
372
+ public readonly documents!: DocumentsResource;
373
+
374
+ /**
375
+ * Reports resource manager.
376
+ *
377
+ * Provides CRUD operations for regulatory reports.
378
+ * When SDK is scoped, creates and lists are automatically scoped.
379
+ *
380
+ * @example
381
+ * ```typescript
382
+ * // Create a report (uses SDK scope for jurisdiction/activity)
383
+ * const report = await sdk.reports.create({
384
+ * // mesReportado is required for AVI scope
385
+ * jurisdictions: {
386
+ * MX: {
387
+ * actividadVulnerable: {
388
+ * AVI: { mesReportado: "202403" },
389
+ * },
390
+ * },
391
+ * },
392
+ * });
393
+ *
394
+ * // Validate and generate
395
+ * const validation = await sdk.reports.validateReport(report.id);
396
+ * if (validation.valid) {
397
+ * const result = await sdk.reports.generate(report.id);
398
+ * }
399
+ * ```
400
+ */
401
+ public readonly reports!: ReportsResource;
402
+
403
+ // ===========================
404
+ // Constructor
405
+ // ===========================
406
+
407
+ constructor(options: ComplianceSDKOptions) {
408
+ const {
409
+ environment,
410
+ baseUrl,
411
+ apiVersion = LATEST_API_VERSION,
412
+ timeout = DEFAULT_TIMEOUT,
413
+ jurisdiction,
414
+ mode,
415
+ ...authOptions
416
+ } = options;
417
+
418
+ // Extract actividadVulnerable only for Mexico options
419
+ const actividadVulnerable =
420
+ "actividadVulnerable" in options
421
+ ? options.actividadVulnerable
422
+ : undefined;
423
+
424
+ // Build scope early for SDK class dispatch
425
+ const scope = buildScope(jurisdiction, actividadVulnerable);
426
+
427
+ // === SDK Class Dispatch ===
428
+ // If we're directly constructing ComplianceSDKImpl (not via super() from subclass),
429
+ // check if a jurisdiction-specific SDK class is registered and return that instead.
430
+ if (new.target === ComplianceSDKImpl) {
431
+ const SDKClass = getSDKClass(scope);
432
+ if (SDKClass) {
433
+ // Return instance of jurisdiction-specific SDK
434
+ return new SDKClass(options) as this;
435
+ }
436
+ }
437
+
438
+ // === Normal base SDK initialization ===
439
+
440
+ const authMode: ComplianceAuthMode = mode ?? "apiKey";
441
+
442
+ const resolvedApiKey =
443
+ authMode === "apiKey"
444
+ ? "apiKey" in authOptions
445
+ ? authOptions.apiKey
446
+ : process.env.ARTU_API_KEY
447
+ : undefined;
448
+
449
+ const resolvedCredentials: FetchCredentials | undefined =
450
+ authMode === "cookie"
451
+ ? "credentials" in authOptions
452
+ ? authOptions.credentials
453
+ : "include"
454
+ : undefined;
455
+
456
+ const resolvedHeaders: Record<string, string> | undefined =
457
+ authMode === "cookie" && "headers" in authOptions
458
+ ? authOptions.headers
459
+ : undefined;
460
+
461
+ // Validate API key when using apiKey auth mode
462
+ if (authMode === "apiKey") {
463
+ if (!resolvedApiKey || typeof resolvedApiKey !== "string") {
464
+ throw new Error(
465
+ "API key is required. Provide it via auth.apiKey, options.apiKey, or set the ARTU_API_KEY environment variable."
466
+ );
467
+ }
468
+ }
469
+
470
+ // Validate environment
471
+ const validatedEnvironment = validateEnvironment(environment);
472
+ this._environment = validatedEnvironment;
473
+ this._apiVersion = apiVersion;
474
+
475
+ // Validate actividadVulnerable requires Mexico jurisdiction
476
+ if (actividadVulnerable && jurisdiction !== Jurisdiction.Mexico) {
477
+ throw new Error(
478
+ `actividadVulnerable can only be specified when jurisdiction is Mexico. ` +
479
+ `Got jurisdiction: ${jurisdiction}`
480
+ );
481
+ }
482
+
483
+ // Resolve base URL
484
+ const resolvedBaseUrl = resolveBaseUrl({
485
+ environment: validatedEnvironment,
486
+ baseUrl,
487
+ });
488
+
489
+ // Store scope and base config
490
+ this._scope = scope;
491
+ this._baseUrl = resolvedBaseUrl;
492
+ this._authMode = authMode;
493
+ this._credentials = resolvedCredentials;
494
+ this._headers = resolvedHeaders;
495
+
496
+ // Create tRPC client
497
+ const trpcConfig =
498
+ authMode === "apiKey"
499
+ ? {
500
+ mode: authMode,
501
+ apiKey: resolvedApiKey as string,
502
+ baseUrl: resolvedBaseUrl,
503
+ environment: validatedEnvironment as SDKEnvironment,
504
+ apiVersion,
505
+ timeout,
506
+ }
507
+ : {
508
+ mode: authMode,
509
+ credentials: resolvedCredentials,
510
+ headers: resolvedHeaders,
511
+ baseUrl: resolvedBaseUrl,
512
+ environment: validatedEnvironment as SDKEnvironment,
513
+ apiVersion,
514
+ timeout,
515
+ };
516
+
517
+ this.trpc = createAPIClient(trpcConfig);
518
+
519
+ // Initialize resource managers using registry
520
+ const resourceConfig = {
521
+ trpc: this.trpc,
522
+ scope: this._scope,
523
+ environment: validatedEnvironment,
524
+ };
525
+ const factories = getResourceFactories(this._scope);
526
+
527
+ // Create scoped resources from registry
528
+ this.clients = factories.clients(resourceConfig);
529
+ this.transactions = factories.transactions(resourceConfig);
530
+ this.reports = factories.reports(resourceConfig);
531
+
532
+ // Bank accounts and addresses can be scoped or use base
533
+ this.bankAccounts = factories.bankAccounts
534
+ ? factories.bankAccounts(resourceConfig)
535
+ : new BankAccountsResource(resourceConfig);
536
+ this.addresses = factories.addresses
537
+ ? factories.addresses(resourceConfig)
538
+ : new AddressesResource(resourceConfig);
539
+
540
+ // Supporting resources (not scoped by jurisdiction)
541
+ this.contactMethods = new ContactMethodsResource(resourceConfig);
542
+ this.documents = new DocumentsResource(resourceConfig);
543
+ }
544
+
545
+ // ===========================
546
+ // Public Getters - Environment
547
+ // ===========================
548
+
549
+ /**
550
+ * Current environment ("test" or "live").
551
+ *
552
+ * @example
553
+ * ```typescript
554
+ * console.log(`Running in ${sdk.environment} mode`);
555
+ * ```
556
+ */
557
+ get environment(): Environment {
558
+ return this._environment;
559
+ }
560
+
561
+ /**
562
+ * Current API version.
563
+ *
564
+ * @example
565
+ * ```typescript
566
+ * console.log(`Using API version ${sdk.apiVersion}`);
567
+ * ```
568
+ */
569
+ get apiVersion(): APIVersion {
570
+ return this._apiVersion;
571
+ }
572
+
573
+ /**
574
+ * Whether SDK is running in test environment.
575
+ *
576
+ * @example
577
+ * ```typescript
578
+ * if (sdk.isTest) {
579
+ * console.log("Running in test mode - no real data affected");
580
+ * }
581
+ * ```
582
+ */
583
+ get isTest(): boolean {
584
+ return this._environment === "test";
585
+ }
586
+
587
+ /**
588
+ * Whether SDK is running in live environment.
589
+ *
590
+ * @example
591
+ * ```typescript
592
+ * if (sdk.isLive) {
593
+ * console.log("CAUTION: Live environment - real data will be affected");
594
+ * }
595
+ * ```
596
+ */
597
+ get isLive(): boolean {
598
+ return this._environment === "live";
599
+ }
600
+
601
+ // ===========================
602
+ // Public Getters - Scope
603
+ // ===========================
604
+
605
+ /**
606
+ * Current jurisdiction scope, or undefined if unscoped.
607
+ *
608
+ * @example
609
+ * ```typescript
610
+ * if (sdk.jurisdiction === Jurisdiction.Mexico) {
611
+ * console.log("SDK is scoped to Mexico");
612
+ * }
613
+ * ```
614
+ */
615
+ get jurisdiction(): Jurisdiction | undefined {
616
+ return this._scope.jurisdiction;
617
+ }
618
+
619
+ /**
620
+ * Current actividadVulnerable scope, or undefined if unscoped.
621
+ * Only available when jurisdiction is Mexico.
622
+ *
623
+ * @example
624
+ * ```typescript
625
+ * if (sdk.actividadVulnerable === CodigoActividad.AVI) {
626
+ * console.log("SDK is scoped to Activos Virtuales");
627
+ * }
628
+ * ```
629
+ */
630
+ get actividadVulnerable(): CodigoActividad | undefined {
631
+ return isMexicoScope(this._scope)
632
+ ? this._scope.actividadVulnerable
633
+ : undefined;
634
+ }
635
+
636
+ /**
637
+ * The complete scope configuration.
638
+ *
639
+ * @example
640
+ * ```typescript
641
+ * console.log(sdk.scope); // { jurisdiction: "MX", actividadVulnerable: "AVI" }
642
+ * ```
643
+ */
644
+ get scope(): Readonly<SDKScope> {
645
+ return { ...this._scope };
646
+ }
647
+
648
+ /**
649
+ * Whether SDK is scoped to any jurisdiction.
650
+ */
651
+ get isScoped(): boolean {
652
+ return this._scope.jurisdiction !== undefined;
653
+ }
654
+
655
+ /**
656
+ * Whether SDK is scoped to Mexico jurisdiction.
657
+ */
658
+ get isMexico(): boolean {
659
+ return this._scope.jurisdiction === Jurisdiction.Mexico;
660
+ }
661
+
662
+ /**
663
+ * Whether SDK is scoped to United States jurisdiction.
664
+ */
665
+ get isUnitedStates(): boolean {
666
+ return this._scope.jurisdiction === Jurisdiction.UnitedStates;
667
+ }
668
+
669
+ /**
670
+ * Whether SDK is scoped to an Actividad Vulnerable activity.
671
+ */
672
+ get isActividadVulnerable(): boolean {
673
+ return (
674
+ isMexicoScope(this._scope) &&
675
+ this._scope.actividadVulnerable !== undefined
676
+ );
677
+ }
678
+
679
+ /**
680
+ * Fetches current session info from the API (/auth/me).
681
+ * Only available in cookie auth mode.
682
+ *
683
+ * @example Basic usage (session can be null)
684
+ * ```typescript
685
+ * const result = await sdk.session();
686
+ * if (result.isAuthenticated) {
687
+ * console.log("User:", result.session.userId);
688
+ * }
689
+ * ```
690
+ *
691
+ * @example With returnTo (strongly typed - redirectUrl present when not authenticated)
692
+ * ```typescript
693
+ * // In Next.js Server Component
694
+ * import { redirect, headers } from "next/navigation";
695
+ *
696
+ * const h = await headers();
697
+ * const host = h.get("host") ?? "localhost:3000";
698
+ * const proto = h.get("x-forwarded-proto") ?? "http";
699
+ * const returnTo = `${proto}://${host}/env/test/dashboard`;
700
+ *
701
+ * const result = await sdk.session({ returnTo });
702
+ *
703
+ * if (result.redirectUrl) {
704
+ * redirect(result.redirectUrl);
705
+ * }
706
+ *
707
+ * // result.session is guaranteed here (TypeScript knows it's not null)
708
+ * console.log("User:", result.session.userId);
709
+ * ```
710
+ */
711
+ async session(
712
+ options: SDKSessionOptionsWithReturnTo
713
+ ): Promise<SessionResultWithRedirect>;
714
+ async session(
715
+ options?: SDKSessionOptions
716
+ ): Promise<SessionResultWithoutRedirect>;
717
+ async session(options?: SDKSessionOptions): Promise<SessionResult> {
718
+ if (this._authMode !== "cookie") {
719
+ throw new Error(
720
+ "session() is only available when using cookie auth mode."
721
+ );
722
+ }
723
+
724
+ const baseOptions = {
725
+ baseUrl: this._baseUrl,
726
+ environment: this._environment,
727
+ credentials: this._credentials ?? "include",
728
+ headers: this._headers,
729
+ };
730
+
731
+ if (options?.returnTo) {
732
+ return fetchSession({
733
+ ...baseOptions,
734
+ returnTo: options.returnTo,
735
+ });
736
+ }
737
+
738
+ return fetchSession(baseOptions);
739
+ }
740
+ }
741
+
742
+ // ===========================
743
+ // Constructor Interface
744
+ // ===========================
745
+
746
+ /**
747
+ * ComplianceSDK constructor with overloaded signatures.
748
+ *
749
+ * This interface enables `new ComplianceSDK(options)` to return the correct
750
+ * typed SDK interface based on the jurisdiction and actividadVulnerable options.
751
+ *
752
+ * @example
753
+ * ```typescript
754
+ * // Unscoped SDK - base types
755
+ * const sdk = new ComplianceSDK({
756
+ * apiKey: "...",
757
+ * environment: "test",
758
+ * });
759
+ * // sdk.clients is ClientsResource
760
+ *
761
+ * // Mexico-scoped SDK
762
+ * const mexSdk = new ComplianceSDK({
763
+ * apiKey: "...",
764
+ * environment: "test",
765
+ * jurisdiction: "MX",
766
+ * });
767
+ * // mexSdk.clients is MexClientsResource
768
+ *
769
+ * // AVI-scoped SDK
770
+ * const aviSdk = new ComplianceSDK({
771
+ * apiKey: "...",
772
+ * environment: "test",
773
+ * jurisdiction: "MX",
774
+ * actividadVulnerable: "AVI",
775
+ * });
776
+ * // aviSdk.clients is AVIClientsResource
777
+ * // aviSdk.clients.create() accepts CreateAVIClientInput
778
+ * ```
779
+ */
780
+ export interface ComplianceSDKConstructor {
781
+ new (options: AVISDKOptions): AVIComplianceSDK;
782
+ new (options: JYSSDKOptions): JYSComplianceSDK;
783
+ new (options: TSCSDKOptions): TSCComplianceSDK;
784
+ new (options: MexicoSDKOptions): MexicoComplianceSDK;
785
+ new (
786
+ options: OtherJurisdictionSDKOptions | UnscopedSDKOptions
787
+ ): UnscopedComplianceSDK;
788
+ new (options: ComplianceSDKOptions): ComplianceSDK;
789
+ }
790
+
791
+ // Cast the class to use the overloaded constructor interface
792
+ // This enables proper type inference when using `new ComplianceSDK(options)`
793
+ export const ComplianceSDK: ComplianceSDKConstructor =
794
+ ComplianceSDKImpl as ComplianceSDKConstructor;
795
+
796
+ // Also export as a type for those who need it
797
+ export type ComplianceSDK = InstanceType<typeof ComplianceSDKImpl>;