@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,508 @@
1
+ /**
2
+ * Documents resource
3
+ *
4
+ * CRUD operations for documents. File upload/download operations are handled separately.
5
+ * All documents are created with pending_upload status.
6
+ */
7
+
8
+ import type {
9
+ PaginatedResponse,
10
+ DocumentFilter,
11
+ CreateDocumentInput,
12
+ UpdateDocumentInput,
13
+ ListOptions,
14
+ ConfirmUploadInput,
15
+ PresignedUploadUrl,
16
+ PresignedDownloadUrl,
17
+ } from "@artu-ai/shared";
18
+ import {
19
+ createDocumentInputSchema,
20
+ updateDocumentInputSchema,
21
+ confirmUploadInputSchema,
22
+ } from "@artu-ai/shared";
23
+ import { z } from "zod";
24
+ import { Document, type DocumentData } from "../models/Document";
25
+ import { BaseResource } from "./base";
26
+
27
+ // ─────────────────────────────────────────────────────────────────
28
+ // Types
29
+ // ─────────────────────────────────────────────────────────────────
30
+
31
+ export interface BatchOptions {
32
+ atomic?: boolean;
33
+ }
34
+
35
+ export interface AtomicBatchResult<T> {
36
+ atomic: true;
37
+ data: T[];
38
+ }
39
+
40
+ export interface PartialBatchResult<T> {
41
+ atomic: false;
42
+ succeeded: { index: number; data: T }[];
43
+ failed: { index: number; error: { code: string; message: string } }[];
44
+ }
45
+
46
+ /**
47
+ * Result of creating a document, including presigned upload URL.
48
+ */
49
+ export interface CreateDocumentResult {
50
+ /** The created document */
51
+ document: Document;
52
+ /** Presigned URL for uploading the file */
53
+ upload: PresignedUploadUrl;
54
+ }
55
+
56
+ // ─────────────────────────────────────────────────────────────────
57
+ // Resource
58
+ // ─────────────────────────────────────────────────────────────────
59
+
60
+ /**
61
+ * Documents resource for managing document records.
62
+ *
63
+ * @example
64
+ * ```typescript
65
+ * // Create a document record
66
+ * const doc = await sdk.documents.create({
67
+ * clientId: "client_123",
68
+ * jurisdiction: "MX",
69
+ * type: "ine_front",
70
+ * category: "identity",
71
+ * });
72
+ *
73
+ * // List documents
74
+ * const docs = await sdk.documents.list({ filter: { clientId: "client_123" } });
75
+ *
76
+ * // Update document metadata
77
+ * await sdk.documents.update(doc.id, { metadata: { verified: true } });
78
+ * ```
79
+ */
80
+ export class DocumentsResource extends BaseResource<
81
+ Document,
82
+ CreateDocumentInput,
83
+ UpdateDocumentInput,
84
+ DocumentFilter,
85
+ CreateDocumentResult
86
+ > {
87
+ // ─────────────────────────────────────────────────────────────────
88
+ // Create
89
+ // ─────────────────────────────────────────────────────────────────
90
+
91
+ /**
92
+ * Creates a new document record and returns a presigned POST upload URL.
93
+ *
94
+ * Documents are created with status "pending_upload".
95
+ * Use the returned presigned URL to upload the file directly to storage.
96
+ * After upload, call `confirmUpload()` to transition status to "uploaded".
97
+ *
98
+ * **Important:** The upload uses POST with FormData (not PUT). This allows
99
+ * enforcing a 25 MB file size limit at the storage level.
100
+ *
101
+ * @param data - Document data
102
+ * @returns The created document and presigned upload URL with form fields
103
+ *
104
+ * @example
105
+ * ```typescript
106
+ * // Create document and get upload URL
107
+ * const { document, upload } = await compliance.documents.create({
108
+ * clientId: "client-123",
109
+ * jurisdiction: "MX",
110
+ * type: "ine_front",
111
+ * });
112
+ *
113
+ * // Build FormData with fields + file (file must be last!)
114
+ * const formData = new FormData();
115
+ * Object.entries(upload.fields).forEach(([key, value]) => {
116
+ * formData.append(key, value);
117
+ * });
118
+ * formData.append("Content-Type", file.type); // Add content-type
119
+ * formData.append("file", file); // File MUST be last
120
+ *
121
+ * // Upload via POST
122
+ * const uploadResponse = await fetch(upload.url, {
123
+ * method: "POST",
124
+ * body: formData,
125
+ * });
126
+ *
127
+ * if (!uploadResponse.ok) {
128
+ * throw new Error(`Upload failed: ${uploadResponse.status}`);
129
+ * }
130
+ *
131
+ * // Confirm upload with file metadata
132
+ * await compliance.documents.confirmUpload({
133
+ * id: document.id,
134
+ * filename: file.name,
135
+ * contentType: file.type,
136
+ * size: file.size,
137
+ * });
138
+ * ```
139
+ */
140
+ async create(data: CreateDocumentInput): Promise<CreateDocumentResult> {
141
+ const validated = this.validate(createDocumentInputSchema, data);
142
+
143
+ const response = await this.execute(() =>
144
+ this.trpc.documents.create.mutate(validated)
145
+ );
146
+
147
+ return {
148
+ document: this.instantiate(response.document as DocumentData),
149
+ upload: response.upload,
150
+ };
151
+ }
152
+
153
+ /**
154
+ * Confirms that a file has been uploaded to storage.
155
+ *
156
+ * Call this after uploading a file via the presigned URL returned by `create()`.
157
+ * This transitions the document status from "pending_upload" to "uploaded".
158
+ *
159
+ * @param data - Upload confirmation data
160
+ * @returns The updated document
161
+ */
162
+ async confirmUpload(data: ConfirmUploadInput): Promise<Document> {
163
+ const validated = this.validate(confirmUploadInputSchema, data);
164
+
165
+ const response = await this.execute(() =>
166
+ this.trpc.documents.confirmUpload.mutate(validated)
167
+ );
168
+
169
+ return this.instantiate(response as DocumentData);
170
+ }
171
+
172
+ /**
173
+ * Gets a presigned URL for downloading/viewing a document.
174
+ *
175
+ * The URL allows direct access to the file in storage without going through the backend.
176
+ * Use this for displaying documents in the UI or downloading them.
177
+ *
178
+ * @param id - Document ID
179
+ * @returns Presigned download URL with expiration
180
+ * @throws If document doesn't exist, is in pending_upload status, or has no storage path
181
+ *
182
+ * @example
183
+ * ```typescript
184
+ * // Get download URL for viewing
185
+ * const { url, expiresAt } = await compliance.documents.getDownloadUrl(docId);
186
+ *
187
+ * // Display in browser
188
+ * window.open(url, '_blank');
189
+ *
190
+ * // Or use in an img tag
191
+ * <img src={url} alt="Document" />
192
+ * ```
193
+ */
194
+ async getDownloadUrl(id: string): Promise<PresignedDownloadUrl> {
195
+ const response = await this.execute(() =>
196
+ this.trpc.documents.getDownloadUrl.query({ id })
197
+ );
198
+
199
+ return response;
200
+ }
201
+
202
+ // ─────────────────────────────────────────────────────────────────
203
+ // Retrieve
204
+ // ─────────────────────────────────────────────────────────────────
205
+
206
+ /**
207
+ * Retrieves a document by ID
208
+ *
209
+ * @param id - Document ID
210
+ * @returns The document
211
+ */
212
+ async retrieve(id: string): Promise<Document> {
213
+ const response = await this.execute(() =>
214
+ this.trpc.documents.retrieve.query({ id })
215
+ );
216
+ return this.instantiate(response as DocumentData);
217
+ }
218
+
219
+ /**
220
+ * Retrieves a document by metadata key/value.
221
+ */
222
+ async retrieveByMetadata(key: string, value: string): Promise<Document> {
223
+ const response = await this.execute(() =>
224
+ this.trpc.documents.retrieveByMetadata.query({ key, value })
225
+ );
226
+ return this.instantiate(response as DocumentData);
227
+ }
228
+
229
+ /**
230
+ * Retrieves a document by externalId
231
+ */
232
+ async retrieveByExternalId(externalId: string): Promise<Document> {
233
+ const response = await this.execute(() =>
234
+ this.trpc.documents.retrieveByExternalId.query({ externalId })
235
+ );
236
+ return this.instantiate(response as DocumentData);
237
+ }
238
+
239
+ // ─────────────────────────────────────────────────────────────────
240
+ // Update
241
+ // ─────────────────────────────────────────────────────────────────
242
+
243
+ /**
244
+ * Updates a document's metadata, expiration, or fields.
245
+ *
246
+ * Note: Status cannot be updated directly - it's managed by the system.
247
+ *
248
+ * @param id - Document ID
249
+ * @param data - Fields to update
250
+ * @returns The updated document
251
+ */
252
+ async update(id: string, data: UpdateDocumentInput): Promise<Document> {
253
+ const validated = this.validate(updateDocumentInputSchema, data);
254
+
255
+ const response = await this.execute(() =>
256
+ this.trpc.documents.update.mutate({
257
+ id,
258
+ data: validated,
259
+ })
260
+ );
261
+ return this.instantiate(response as DocumentData);
262
+ }
263
+
264
+ // ─────────────────────────────────────────────────────────────────
265
+ // Delete
266
+ // ─────────────────────────────────────────────────────────────────
267
+
268
+ /**
269
+ * Soft-deletes a document
270
+ *
271
+ * @param id - Document ID
272
+ */
273
+ async delete(id: string): Promise<void> {
274
+ await this.execute(() => this.trpc.documents.delete.mutate({ id }));
275
+ }
276
+
277
+ // ─────────────────────────────────────────────────────────────────
278
+ // List
279
+ // ─────────────────────────────────────────────────────────────────
280
+
281
+ /**
282
+ * Lists documents with optional filtering and pagination.
283
+ *
284
+ * @param options - List options with filter, cursor, and limit
285
+ * @returns Paginated list of documents
286
+ */
287
+ async list(
288
+ options?: ListOptions<DocumentFilter>
289
+ ): Promise<PaginatedResponse<Document>> {
290
+ const response = await this.execute(() =>
291
+ this.trpc.documents.list.query(options)
292
+ );
293
+
294
+ const typedResponse = response as {
295
+ data: DocumentData[];
296
+ pagination: { nextCursor?: string; hasMore: boolean };
297
+ };
298
+
299
+ return {
300
+ data: typedResponse.data.map((d) => this.instantiate(d)),
301
+ pagination: typedResponse.pagination,
302
+ };
303
+ }
304
+
305
+ /**
306
+ * Lists all documents for a specific client with pagination.
307
+ *
308
+ * @param clientId - Client ID
309
+ * @param options - Pagination options
310
+ * @returns Paginated list of documents
311
+ */
312
+ async listByClient(
313
+ clientId: string,
314
+ options?: { cursor?: string; limit?: number }
315
+ ): Promise<PaginatedResponse<Document>> {
316
+ const response = await this.execute(() =>
317
+ this.trpc.documents.listByClient.query({ clientId, ...options })
318
+ );
319
+
320
+ const typedResponse = response as {
321
+ data: DocumentData[];
322
+ pagination: { nextCursor?: string; hasMore: boolean };
323
+ };
324
+
325
+ return {
326
+ data: typedResponse.data.map((d) => this.instantiate(d)),
327
+ pagination: typedResponse.pagination,
328
+ };
329
+ }
330
+
331
+ /**
332
+ * Async iterator for documents with optional filtering.
333
+ *
334
+ * @param options - Filter options
335
+ * @yields Documents one at a time
336
+ */
337
+ async *iterate(
338
+ options?: ListOptions<DocumentFilter>
339
+ ): AsyncGenerator<Document, void, unknown> {
340
+ let cursor: string | undefined;
341
+ let hasMore = true;
342
+
343
+ while (hasMore) {
344
+ const response = await this.list({
345
+ ...options,
346
+ cursor,
347
+ limit: options?.limit ?? 100,
348
+ });
349
+
350
+ for (const doc of response.data) {
351
+ yield doc;
352
+ }
353
+
354
+ cursor = response.pagination.nextCursor;
355
+ hasMore = response.pagination.hasMore;
356
+ }
357
+ }
358
+
359
+ // ─────────────────────────────────────────────────────────────────
360
+ // Batch Operations
361
+ // ─────────────────────────────────────────────────────────────────
362
+
363
+ /**
364
+ * Creates multiple document records in a batch.
365
+ *
366
+ * @param documents - Array of document creation data
367
+ * @param options - Batch options (atomic: true by default)
368
+ * @returns Atomic result with data array, or partial result with succeeded/failed
369
+ */
370
+ async createMany(
371
+ documents: CreateDocumentInput[],
372
+ options?: { atomic?: true }
373
+ ): Promise<AtomicBatchResult<Document>>;
374
+ async createMany(
375
+ documents: CreateDocumentInput[],
376
+ options: { atomic: false }
377
+ ): Promise<PartialBatchResult<Document>>;
378
+ async createMany(
379
+ documents: CreateDocumentInput[],
380
+ options: BatchOptions = {}
381
+ ): Promise<AtomicBatchResult<Document> | PartialBatchResult<Document>> {
382
+ const atomic = options.atomic ?? true;
383
+ const validated = this.validate(
384
+ z.array(createDocumentInputSchema),
385
+ documents
386
+ );
387
+
388
+ const response = await this.execute(() =>
389
+ this.trpc.documents.createMany.mutate({ items: validated, atomic })
390
+ );
391
+
392
+ if (response.atomic) {
393
+ return {
394
+ atomic: true,
395
+ data: response.data.map((d) => this.instantiate(d as DocumentData)),
396
+ };
397
+ } else {
398
+ return {
399
+ atomic: false,
400
+ succeeded: response.succeeded.map((item) => ({
401
+ index: item.index,
402
+ data: this.instantiate(item.data as DocumentData),
403
+ })),
404
+ failed: response.failed,
405
+ };
406
+ }
407
+ }
408
+
409
+ /**
410
+ * Updates multiple documents in a batch.
411
+ *
412
+ * @param updates - Array of { id, data } objects
413
+ * @param options - Batch options (atomic: true by default)
414
+ * @returns Atomic result with data array, or partial result with succeeded/failed
415
+ */
416
+ async updateMany(
417
+ updates: { id: string; data: UpdateDocumentInput }[],
418
+ options?: { atomic?: true }
419
+ ): Promise<AtomicBatchResult<Document>>;
420
+ async updateMany(
421
+ updates: { id: string; data: UpdateDocumentInput }[],
422
+ options: { atomic: false }
423
+ ): Promise<PartialBatchResult<Document>>;
424
+ async updateMany(
425
+ updates: { id: string; data: UpdateDocumentInput }[],
426
+ options: BatchOptions = {}
427
+ ): Promise<AtomicBatchResult<Document> | PartialBatchResult<Document>> {
428
+ const atomic = options.atomic ?? true;
429
+ const validated = updates.map((u) => ({
430
+ id: u.id,
431
+ data: this.validate(updateDocumentInputSchema, u.data),
432
+ }));
433
+
434
+ const response = await this.execute(() =>
435
+ this.trpc.documents.updateMany.mutate({ items: validated, atomic })
436
+ );
437
+
438
+ if (response.atomic) {
439
+ return {
440
+ atomic: true,
441
+ data: response.data.map((d) => this.instantiate(d as DocumentData)),
442
+ };
443
+ } else {
444
+ return {
445
+ atomic: false,
446
+ succeeded: response.succeeded.map((item) => ({
447
+ index: item.index,
448
+ data: this.instantiate(item.data as DocumentData),
449
+ })),
450
+ failed: response.failed,
451
+ };
452
+ }
453
+ }
454
+
455
+ // ─────────────────────────────────────────────────────────────────
456
+ // Helpers
457
+ // ─────────────────────────────────────────────────────────────────
458
+
459
+ /**
460
+ * Gets document count for a client
461
+ *
462
+ * @param clientId - Client ID
463
+ * @returns Count of documents
464
+ */
465
+ async countByClient(clientId: string): Promise<number> {
466
+ const response = await this.listByClient(clientId, { limit: 100 });
467
+ // For accurate count, we'd need a dedicated endpoint
468
+ // This is an approximation
469
+ let count = response.data.length;
470
+ let cursor = response.pagination.nextCursor;
471
+
472
+ while (response.pagination.hasMore && cursor) {
473
+ const next = await this.listByClient(clientId, { cursor, limit: 100 });
474
+ count += next.data.length;
475
+ cursor = next.pagination.nextCursor;
476
+ if (!next.pagination.hasMore) break;
477
+ }
478
+
479
+ return count;
480
+ }
481
+
482
+ /**
483
+ * Checks if a document with the given type exists for a client
484
+ *
485
+ * @param clientId - Client ID
486
+ * @param type - Document type
487
+ * @returns True if document exists and is available
488
+ */
489
+ async hasDocumentType(clientId: string, type: string): Promise<boolean> {
490
+ const response = await this.list({
491
+ filter: { clientId, type },
492
+ limit: 1,
493
+ });
494
+ return response.data.some((d) => d.type === type && d.isAvailable);
495
+ }
496
+
497
+ // ─────────────────────────────────────────────────────────────────
498
+ // Protected Methods
499
+ // ─────────────────────────────────────────────────────────────────
500
+
501
+ /**
502
+ * Instantiates a Document model from raw data.
503
+ * Override in subclasses to return jurisdiction-specific models.
504
+ */
505
+ protected instantiate(data: DocumentData): Document {
506
+ return new Document(data);
507
+ }
508
+ }
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Resource Managers
3
+ *
4
+ * This module exports resource classes for interacting with
5
+ * the compliance API. Each resource handles CRUD operations,
6
+ * pagination, and error mapping for a specific entity type.
7
+ *
8
+ * Resource Hierarchy:
9
+ * - Base resources: Unscoped, accept full nested input
10
+ * - Mex resources: Mexico-scoped, accept flattened MX input
11
+ * - Activity resources: Activity-scoped, accept fully flattened input
12
+ */
13
+
14
+ // Base classes
15
+ export { BaseResource, ReadOnlyResource, type ResourceConfig } from "./base";
16
+
17
+ // Base resource implementations (unscoped)
18
+ export { ClientsResource, type BatchOptions } from "./clients";
19
+ export { TransactionsResource } from "./transactions";
20
+ export type { RelatedClient, LinkedClient } from "@artu-ai/shared";
21
+ export {
22
+ ReportsResource,
23
+ type ReportFilter,
24
+ type ReportItemFilter,
25
+ type AddItemsResult,
26
+ } from "./reports";
27
+
28
+ // Supporting resources
29
+ export { AddressesResource } from "./addresses";
30
+ export { ContactMethodsResource } from "./contact-methods";
31
+ export { BankAccountsResource } from "./bank-accounts";
32
+ export { DocumentsResource, type CreateDocumentResult } from "./documents";
33
+
34
+ // Mexico-scoped resources
35
+ export * from "./mex";