@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,72 @@
1
+ /**
2
+ * TSC SDK Types & Registration
3
+ *
4
+ * Tarjetas de Servicios y Crédito (Service and Credit Cards) - prepaid cards, etc.
5
+ */
6
+
7
+ import { Jurisdiction, CodigoActividad } from "@artu-ai/shared";
8
+ import type { ComplianceSDKOptionsBase } from "../../../types";
9
+ import type { MexicoComplianceSDK } from "../../types";
10
+ import {
11
+ TSCClientsResource,
12
+ TSCTransactionsResource,
13
+ TSCReportsResource,
14
+ MexBankAccountsResource,
15
+ MexAddressesResource,
16
+ } from "../../../../resources";
17
+ import { registerScope } from "../../../resource-registry";
18
+ import type { ReportsResource } from "../../../../resources/reports";
19
+ import type { EBRResource } from "../../../../resources/mex/ebr";
20
+
21
+ // ===========================
22
+ // SDK Options
23
+ // ===========================
24
+
25
+ /**
26
+ * Options for creating a TSC-scoped SDK
27
+ */
28
+ export type TSCSDKOptions = ComplianceSDKOptionsBase & {
29
+ jurisdiction: typeof Jurisdiction.Mexico | "MX";
30
+ actividadVulnerable: typeof CodigoActividad.TSC | "TSC";
31
+ };
32
+
33
+ /**
34
+ * Options for TSC-scoped SDK (without jurisdiction/activity - pre-configured)
35
+ */
36
+ export type TSCScopedSDKOptions = Omit<
37
+ ComplianceSDKOptionsBase,
38
+ "jurisdiction" | "actividadVulnerable"
39
+ >;
40
+
41
+ // ===========================
42
+ // Typed SDK Interface
43
+ // ===========================
44
+
45
+ /**
46
+ * Mexico TSC-scoped SDK - uses TSC resource types
47
+ * Extends MexicoComplianceSDK with TSC-specific overrides
48
+ */
49
+ export interface TSCComplianceSDK
50
+ extends Omit<MexicoComplianceSDK, "clients" | "transactions" | "reports"> {
51
+ readonly clients: TSCClientsResource;
52
+ readonly transactions: TSCTransactionsResource;
53
+ readonly reports: TSCReportsResource;
54
+ readonly bankAccounts: MexBankAccountsResource;
55
+ /** EBR resource for risk-based evaluation */
56
+ readonly ebr: EBRResource;
57
+ }
58
+
59
+ // ===========================
60
+ // Registration
61
+ // ===========================
62
+
63
+ export function registerTSCScope(): void {
64
+ registerScope("MX:TSC", {
65
+ clients: (config) => new TSCClientsResource(config),
66
+ transactions: (config) => new TSCTransactionsResource(config),
67
+ reports: (config) =>
68
+ new TSCReportsResource(config) as unknown as ReportsResource,
69
+ bankAccounts: (config) => new MexBankAccountsResource(config),
70
+ addresses: (config) => new MexAddressesResource(config),
71
+ });
72
+ }
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Mexico SDK Module
3
+ *
4
+ * Barrel export for Mexico SDK types and registrations.
5
+ */
6
+
7
+ // Base Mexico types
8
+ export {
9
+ type ComplianceSDKOptionsMexico,
10
+ type MexicoSDKOptions,
11
+ type MexicoScopedSDKOptions,
12
+ type MexicoComplianceSDK,
13
+ } from "./types";
14
+
15
+ // Scoped SDK class
16
+ export {
17
+ MexicoComplianceSDKScoped,
18
+ MexicoComplianceSDKImpl,
19
+ } from "./ComplianceSDK";
20
+
21
+ // Actividad Vulnerable types and registrations
22
+ export {
23
+ type AVISDKOptions,
24
+ type AVIComplianceSDK,
25
+ type JYSSDKOptions,
26
+ type JYSComplianceSDK,
27
+ type TSCSDKOptions,
28
+ type TSCComplianceSDK,
29
+ registerActividadVulnerableScopes,
30
+ } from "./actividad-vulnerable";
31
+
32
+ // ===========================
33
+ // Registration
34
+ // ===========================
35
+
36
+ import { registerScope } from "../resource-registry";
37
+ import { registerSDKClass } from "../sdk-registry";
38
+ import { MexClientsResource } from "../../resources/mex/clients";
39
+ import { MexTransactionsResource } from "../../resources/mex/transactions";
40
+ import { MexReportsResource } from "../../resources/mex/reports";
41
+ import { MexBankAccountsResource } from "../../resources/mex/bank-accounts";
42
+ import { MexAddressesResource } from "../../resources/mex/addresses";
43
+ import { registerActividadVulnerableScopes } from "./actividad-vulnerable";
44
+ import { MexicoComplianceSDKImpl } from "./ComplianceSDK";
45
+ import type { ReportsResource } from "../../resources/reports";
46
+
47
+ /**
48
+ * Registers all Mexico scopes (base + activities)
49
+ */
50
+ export function registerMexicoScopes(): void {
51
+ // Register Mexico base scope resources
52
+ registerScope("MX", {
53
+ clients: (config) => new MexClientsResource(config),
54
+ transactions: (config) => new MexTransactionsResource(config),
55
+ reports: (config) =>
56
+ new MexReportsResource(config) as unknown as ReportsResource,
57
+ bankAccounts: (config) => new MexBankAccountsResource(config),
58
+ addresses: (config) => new MexAddressesResource(config),
59
+ });
60
+
61
+ // Register Mexico SDK class (for SDK class dispatch)
62
+ registerSDKClass("MX", MexicoComplianceSDKImpl);
63
+
64
+ // Register all activity scopes
65
+ registerActividadVulnerableScopes();
66
+ }
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Mexico SDK Types
3
+ *
4
+ * Typed SDK interfaces and options for Mexico jurisdiction (base level).
5
+ * Activity-specific types are in actividad-vulnerable/ subfolder.
6
+ */
7
+
8
+ import { Jurisdiction, type CodigoActividad } from "@artu-ai/shared";
9
+ import type { ComplianceSDKOptionsBase, BaseComplianceSDK } from "../types";
10
+ import type {
11
+ MexClientsResource,
12
+ MexTransactionsResource,
13
+ MexBankAccountsResource,
14
+ MexReportsResource,
15
+ MexAddressesResource,
16
+ EBRResource,
17
+ } from "../../resources";
18
+ import type { ContactMethodsResource } from "../../resources/contact-methods";
19
+ import type { DocumentsResource } from "../../resources/documents";
20
+
21
+ // ===========================
22
+ // SDK Options Types
23
+ // ===========================
24
+
25
+ /**
26
+ * SDK options - Mexico jurisdiction (supports actividadVulnerable)
27
+ */
28
+ export type ComplianceSDKOptionsMexico = ComplianceSDKOptionsBase & {
29
+ /**
30
+ * Target jurisdiction - Mexico
31
+ */
32
+ jurisdiction: typeof Jurisdiction.Mexico | "MX";
33
+
34
+ /**
35
+ * Target Actividad Vulnerable activity code.
36
+ * Only available when jurisdiction is Mexico.
37
+ */
38
+ actividadVulnerable?: CodigoActividad | "AVI" | "JYS" | "TSC";
39
+ };
40
+
41
+ /**
42
+ * Options for creating a Mexico-scoped SDK (no specific activity)
43
+ */
44
+ export type MexicoSDKOptions = ComplianceSDKOptionsBase & {
45
+ jurisdiction: typeof Jurisdiction.Mexico | "MX";
46
+ actividadVulnerable?: undefined;
47
+ };
48
+
49
+ /**
50
+ * Options for Mexico-scoped SDK (without jurisdiction - pre-configured)
51
+ */
52
+ export type MexicoScopedSDKOptions = Omit<
53
+ ComplianceSDKOptionsBase,
54
+ "jurisdiction"
55
+ > & {
56
+ /** Activity code - used by activity-scoped subclasses */
57
+ actividadVulnerable?: CodigoActividad | "AVI" | "JYS" | "TSC";
58
+ };
59
+
60
+ // ===========================
61
+ // Typed SDK Interface
62
+ // ===========================
63
+
64
+ /**
65
+ * Mexico-scoped SDK - uses Mexico resource types
66
+ */
67
+ export interface MexicoComplianceSDK extends BaseComplianceSDK {
68
+ // Core resources (Mexico-scoped)
69
+ readonly clients: MexClientsResource;
70
+ readonly transactions: MexTransactionsResource;
71
+ readonly reports: MexReportsResource;
72
+ readonly bankAccounts: MexBankAccountsResource;
73
+
74
+ // Supporting resources (Mexico-scoped)
75
+ readonly addresses: MexAddressesResource;
76
+ readonly contactMethods: ContactMethodsResource;
77
+ readonly documents: DocumentsResource;
78
+
79
+ /**
80
+ * EBR (Evaluación Basada en Riesgos) resource.
81
+ * Mexico-only resource for risk-based evaluation methodology.
82
+ */
83
+ readonly ebr: EBRResource;
84
+ }
@@ -0,0 +1,204 @@
1
+ /**
2
+ * SDK Resource Registry
3
+ *
4
+ * Provides a registry pattern for jurisdiction/activity-specific resource factories.
5
+ * Each jurisdiction module registers its own factories, eliminating switch statements
6
+ * in the main SDK class.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * // In resources/mex/registry.ts
11
+ * import { registerScope } from '../../sdk/registry';
12
+ * import { MexClientsResource } from './clients';
13
+ *
14
+ * registerScope('MX', {
15
+ * clients: (config) => new MexClientsResource(config),
16
+ * // ...
17
+ * });
18
+ *
19
+ * // In ComplianceSDK.ts
20
+ * const factories = getResourceFactories(scope);
21
+ * this.clients = factories.clients(config);
22
+ * ```
23
+ */
24
+
25
+ import type { SDKScope } from "./types";
26
+ import type { ResourceConfig } from "../resources/base";
27
+ import type { ClientsResource } from "../resources/clients";
28
+ import type { TransactionsResource } from "../resources/transactions";
29
+ import type { ReportsResource } from "../resources/reports";
30
+ import type { BankAccountsResource } from "../resources/bank-accounts";
31
+ import type { AddressesResource } from "../resources/addresses";
32
+
33
+ // ===========================
34
+ // Factory Types
35
+ // ===========================
36
+
37
+ /**
38
+ * Factory function that creates a resource instance
39
+ */
40
+ export type ResourceFactory<T> = (config: ResourceConfig) => T;
41
+
42
+ /**
43
+ * Resource factories for a specific scope (jurisdiction/activity)
44
+ *
45
+ * Each jurisdiction/activity registers factories that create the appropriate
46
+ * resource class instances.
47
+ */
48
+ export interface ScopeResourceFactories {
49
+ /** Factory for creating clients resource */
50
+ clients: ResourceFactory<ClientsResource>;
51
+ /** Factory for creating transactions resource */
52
+ transactions: ResourceFactory<TransactionsResource>;
53
+ /** Factory for creating reports resource */
54
+ reports: ResourceFactory<ReportsResource>;
55
+ /** Factory for creating bank accounts resource (optional - falls back to base) */
56
+ bankAccounts?: ResourceFactory<BankAccountsResource>;
57
+ /** Factory for creating addresses resource (optional for backwards compat) */
58
+ addresses?: ResourceFactory<AddressesResource>;
59
+ }
60
+
61
+ // ===========================
62
+ // Registry
63
+ // ===========================
64
+
65
+ /**
66
+ * Registry of scope-specific resource factories.
67
+ * Keys are scope identifiers:
68
+ * - "base" - unscoped/default
69
+ * - "MX" - Mexico jurisdiction
70
+ * - "MX:AVI" - Mexico AVI activity
71
+ * - "MX:JYS" - Mexico JYS activity
72
+ * - etc.
73
+ */
74
+ const scopeRegistry = new Map<string, ScopeResourceFactories>();
75
+
76
+ /**
77
+ * Generates a scope key from SDKScope
78
+ *
79
+ * @param scope - SDK scope configuration
80
+ * @returns Scope key string (e.g., "base", "MX", "MX:AVI")
81
+ */
82
+ export function getScopeKey(scope: SDKScope): string {
83
+ if (!scope.jurisdiction) {
84
+ return "base";
85
+ }
86
+
87
+ // Check for Mexico with activity
88
+ if (
89
+ scope.jurisdiction === "MX" &&
90
+ "actividadVulnerable" in scope &&
91
+ scope.actividadVulnerable
92
+ ) {
93
+ return `MX:${scope.actividadVulnerable}`;
94
+ }
95
+
96
+ return scope.jurisdiction;
97
+ }
98
+
99
+ /**
100
+ * Registers resource factories for a specific scope.
101
+ *
102
+ * Called by jurisdiction modules during initialization.
103
+ * Each jurisdiction/activity registers its own factories.
104
+ *
105
+ * @param scopeKey - Scope identifier (e.g., "base", "MX", "MX:AVI")
106
+ * @param factories - Resource factory functions
107
+ *
108
+ * @example
109
+ * ```typescript
110
+ * // Register Mexico AVI factories
111
+ * registerScope('MX:AVI', {
112
+ * clients: (config) => new AVIClientsResource(config),
113
+ * transactions: (config) => new AVITransactionsResource(config),
114
+ * reports: (config) => new AVIReportsResource(config) as unknown as ReportsResource,
115
+ * bankAccounts: (config) => new MexBankAccountsResource(config),
116
+ * });
117
+ * ```
118
+ */
119
+ export function registerScope(
120
+ scopeKey: string,
121
+ factories: ScopeResourceFactories
122
+ ): void {
123
+ if (scopeRegistry.has(scopeKey)) {
124
+ // eslint-disable-next-line no-console
125
+ console.warn(
126
+ `[SDK Registry] Overwriting existing factories for scope: ${scopeKey}`
127
+ );
128
+ }
129
+ scopeRegistry.set(scopeKey, factories);
130
+ }
131
+
132
+ /**
133
+ * Gets resource factories for a specific scope.
134
+ *
135
+ * Looks up factories with fallback:
136
+ * 1. Exact scope match (e.g., "MX:AVI")
137
+ * 2. Jurisdiction-only match (e.g., "MX")
138
+ * 3. Base/default factories
139
+ *
140
+ * @param scope - SDK scope configuration
141
+ * @returns Resource factories for the scope
142
+ * @throws Error if no factories are registered (not even base)
143
+ *
144
+ * @example
145
+ * ```typescript
146
+ * const factories = getResourceFactories({ jurisdiction: "MX", actividadVulnerable: "AVI" });
147
+ * const clientsResource = factories.clients(config);
148
+ * ```
149
+ */
150
+ export function getResourceFactories(scope: SDKScope): ScopeResourceFactories {
151
+ const scopeKey = getScopeKey(scope);
152
+
153
+ // Try exact match first
154
+ let factories = scopeRegistry.get(scopeKey);
155
+ if (factories) {
156
+ return factories;
157
+ }
158
+
159
+ // If scope has activity, try jurisdiction-only
160
+ if (scope.jurisdiction && scopeKey.includes(":")) {
161
+ factories = scopeRegistry.get(scope.jurisdiction);
162
+ if (factories) {
163
+ return factories;
164
+ }
165
+ }
166
+
167
+ // Fall back to base
168
+ factories = scopeRegistry.get("base");
169
+ if (factories) {
170
+ return factories;
171
+ }
172
+
173
+ throw new Error(
174
+ `[SDK Registry] No factories registered for scope: ${scopeKey}. ` +
175
+ `Ensure registry modules are imported before creating SDK instance.`
176
+ );
177
+ }
178
+
179
+ /**
180
+ * Checks if factories are registered for a scope
181
+ *
182
+ * @param scopeKey - Scope identifier to check
183
+ * @returns true if factories are registered
184
+ */
185
+ export function hasScope(scopeKey: string): boolean {
186
+ return scopeRegistry.has(scopeKey);
187
+ }
188
+
189
+ /**
190
+ * Gets all registered scope keys (for debugging/testing)
191
+ *
192
+ * @returns Array of registered scope keys
193
+ */
194
+ export function getRegisteredScopes(): string[] {
195
+ return Array.from(scopeRegistry.keys());
196
+ }
197
+
198
+ /**
199
+ * Clears all registered scopes (for testing only)
200
+ * @internal
201
+ */
202
+ export function clearRegistry(): void {
203
+ scopeRegistry.clear();
204
+ }
@@ -0,0 +1,99 @@
1
+ /**
2
+ * SDK Class Registry
3
+ *
4
+ * Provides a registry pattern for jurisdiction-specific SDK classes.
5
+ * Each jurisdiction can register its own SDK class that extends ComplianceSDKImpl
6
+ * and adds jurisdiction-specific resources.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * // In sdk/mex/index.ts
11
+ * import { registerSDKClass } from '../sdk-registry';
12
+ * import { MexicoComplianceSDKImpl } from './ComplianceSDK';
13
+ *
14
+ * registerSDKClass('MX', MexicoComplianceSDKImpl);
15
+ *
16
+ * // Now `new ComplianceSDK({ jurisdiction: "MX" })` returns MexicoComplianceSDKImpl
17
+ * ```
18
+ */
19
+
20
+ import type { SDKScope } from "./types";
21
+ import { getScopeKey } from "./resource-registry";
22
+
23
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
24
+ type SDKClassConstructor = new (options: any) => any;
25
+
26
+ const sdkClassRegistry = new Map<string, SDKClassConstructor>();
27
+
28
+ /**
29
+ * Registers an SDK class for a specific scope.
30
+ *
31
+ * @param scopeKey - Scope identifier (e.g., "MX", "MX:AVI", "US")
32
+ * @param SDKClass - SDK class constructor
33
+ */
34
+ export function registerSDKClass(
35
+ scopeKey: string,
36
+ SDKClass: SDKClassConstructor
37
+ ): void {
38
+ if (sdkClassRegistry.has(scopeKey)) {
39
+ // eslint-disable-next-line no-console
40
+ console.warn(
41
+ `[SDK Registry] Overwriting existing SDK class for scope: ${scopeKey}`
42
+ );
43
+ }
44
+ sdkClassRegistry.set(scopeKey, SDKClass);
45
+ }
46
+
47
+ /**
48
+ * Gets the SDK class for a specific scope.
49
+ *
50
+ * Looks up with fallback:
51
+ * 1. Exact scope match (e.g., "MX:AVI")
52
+ * 2. Jurisdiction-only match (e.g., "MX")
53
+ * 3. Returns undefined (use base ComplianceSDKImpl)
54
+ *
55
+ * @param scope - SDK scope configuration
56
+ * @returns SDK class constructor or undefined if no specific class registered
57
+ */
58
+ export function getSDKClass(scope: SDKScope): SDKClassConstructor | undefined {
59
+ const scopeKey = getScopeKey(scope);
60
+
61
+ // Try exact match first (e.g., "MX:AVI")
62
+ let cls = sdkClassRegistry.get(scopeKey);
63
+ if (cls) return cls;
64
+
65
+ // Try jurisdiction only (e.g., "MX") if scope has activity
66
+ if (scope.jurisdiction && scopeKey.includes(":")) {
67
+ cls = sdkClassRegistry.get(scope.jurisdiction);
68
+ if (cls) return cls;
69
+ }
70
+
71
+ return undefined;
72
+ }
73
+
74
+ /**
75
+ * Checks if an SDK class is registered for a scope
76
+ *
77
+ * @param scopeKey - Scope identifier to check
78
+ * @returns true if an SDK class is registered
79
+ */
80
+ export function hasSDKClass(scopeKey: string): boolean {
81
+ return sdkClassRegistry.has(scopeKey);
82
+ }
83
+
84
+ /**
85
+ * Gets all registered SDK class scope keys (for debugging/testing)
86
+ *
87
+ * @returns Array of registered scope keys
88
+ */
89
+ export function getRegisteredSDKClasses(): string[] {
90
+ return Array.from(sdkClassRegistry.keys());
91
+ }
92
+
93
+ /**
94
+ * Clears all registered SDK classes (for testing only)
95
+ * @internal
96
+ */
97
+ export function clearSDKRegistry(): void {
98
+ sdkClassRegistry.clear();
99
+ }