@artu-ai/compliance-sdk 0.0.6 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (488) hide show
  1. package/dist/errors/api.d.ts +160 -0
  2. package/dist/errors/api.d.ts.map +1 -0
  3. package/dist/errors/api.js +255 -0
  4. package/dist/errors/base.d.ts +87 -0
  5. package/dist/errors/base.d.ts.map +1 -0
  6. package/dist/errors/base.js +84 -0
  7. package/dist/errors/index.d.ts +32 -0
  8. package/dist/errors/index.d.ts.map +1 -0
  9. package/dist/errors/index.js +35 -0
  10. package/dist/errors/upload.d.ts +109 -0
  11. package/dist/errors/upload.d.ts.map +1 -0
  12. package/dist/errors/upload.js +163 -0
  13. package/dist/errors/validation.d.ts +98 -0
  14. package/dist/errors/validation.d.ts.map +1 -0
  15. package/dist/errors/validation.js +129 -0
  16. package/dist/exports/base.d.ts +12 -0
  17. package/dist/exports/base.d.ts.map +1 -0
  18. package/dist/exports/base.js +21 -0
  19. package/dist/exports/index.d.ts +40 -0
  20. package/dist/exports/index.d.ts.map +1 -0
  21. package/dist/exports/index.js +59 -0
  22. package/dist/{mexico → exports/mexico}/actividad-vulnerable/avi.d.ts +130 -138
  23. package/dist/exports/mexico/actividad-vulnerable/avi.d.ts.map +1 -0
  24. package/dist/exports/mexico/actividad-vulnerable/avi.js +108 -0
  25. package/dist/{mexico → exports/mexico}/actividad-vulnerable/jys.d.ts +147 -158
  26. package/dist/exports/mexico/actividad-vulnerable/jys.d.ts.map +1 -0
  27. package/dist/exports/mexico/actividad-vulnerable/jys.js +115 -0
  28. package/dist/{mexico → exports/mexico}/actividad-vulnerable/tsc.d.ts +118 -129
  29. package/dist/exports/mexico/actividad-vulnerable/tsc.d.ts.map +1 -0
  30. package/dist/exports/mexico/actividad-vulnerable/tsc.js +103 -0
  31. package/dist/exports/mexico/index.d.ts +48 -0
  32. package/dist/exports/mexico/index.d.ts.map +1 -0
  33. package/dist/exports/mexico/index.js +70 -0
  34. package/dist/models/Address.d.ts +118 -0
  35. package/dist/models/Address.d.ts.map +1 -0
  36. package/dist/models/Address.js +187 -0
  37. package/dist/models/BankAccount.d.ts +124 -0
  38. package/dist/models/BankAccount.d.ts.map +1 -0
  39. package/dist/models/BankAccount.js +190 -0
  40. package/dist/models/Client.d.ts +170 -0
  41. package/dist/models/Client.d.ts.map +1 -0
  42. package/dist/models/Client.js +275 -0
  43. package/dist/models/ContactMethod.d.ts +102 -0
  44. package/dist/models/ContactMethod.d.ts.map +1 -0
  45. package/dist/models/ContactMethod.js +152 -0
  46. package/dist/models/Document.d.ts +167 -0
  47. package/dist/models/Document.d.ts.map +1 -0
  48. package/dist/models/Document.js +295 -0
  49. package/dist/models/LinkedClient.d.ts +62 -0
  50. package/dist/models/LinkedClient.d.ts.map +1 -0
  51. package/dist/models/LinkedClient.js +70 -0
  52. package/dist/models/Report.d.ts +98 -0
  53. package/dist/models/Report.d.ts.map +1 -0
  54. package/dist/models/Report.js +156 -0
  55. package/dist/models/ReportItem.d.ts +106 -0
  56. package/dist/models/ReportItem.d.ts.map +1 -0
  57. package/dist/models/ReportItem.js +167 -0
  58. package/dist/models/Transaction.d.ts +108 -0
  59. package/dist/models/Transaction.d.ts.map +1 -0
  60. package/dist/models/Transaction.js +175 -0
  61. package/dist/models/base.d.ts +42 -0
  62. package/dist/models/base.d.ts.map +1 -0
  63. package/dist/models/base.js +51 -0
  64. package/dist/models/index.d.ts +20 -0
  65. package/dist/models/index.d.ts.map +1 -0
  66. package/dist/models/index.js +34 -0
  67. package/dist/models/mex/MexAddress.d.ts +93 -0
  68. package/dist/models/mex/MexAddress.d.ts.map +1 -0
  69. package/dist/models/mex/MexAddress.js +148 -0
  70. package/dist/models/mex/MexBankAccount.d.ts +65 -0
  71. package/dist/models/mex/MexBankAccount.d.ts.map +1 -0
  72. package/dist/models/mex/MexBankAccount.js +90 -0
  73. package/dist/models/mex/MexClient.d.ts +88 -0
  74. package/dist/models/mex/MexClient.d.ts.map +1 -0
  75. package/dist/models/mex/MexClient.js +133 -0
  76. package/dist/models/mex/MexDocument.d.ts +415 -0
  77. package/dist/models/mex/MexDocument.d.ts.map +1 -0
  78. package/dist/models/mex/MexDocument.js +687 -0
  79. package/dist/models/mex/MexReport.d.ts +50 -0
  80. package/dist/models/mex/MexReport.d.ts.map +1 -0
  81. package/dist/models/mex/MexReport.js +73 -0
  82. package/dist/models/mex/MexReportItem.d.ts +39 -0
  83. package/dist/models/mex/MexReportItem.d.ts.map +1 -0
  84. package/dist/models/mex/MexReportItem.js +50 -0
  85. package/dist/models/mex/MexTransaction.d.ts +53 -0
  86. package/dist/models/mex/MexTransaction.d.ts.map +1 -0
  87. package/dist/models/mex/MexTransaction.js +78 -0
  88. package/dist/models/mex/actividad-vulnerable/MexActividadVulnerableClient.d.ts +37 -0
  89. package/dist/models/mex/actividad-vulnerable/MexActividadVulnerableClient.d.ts.map +1 -0
  90. package/dist/models/mex/actividad-vulnerable/MexActividadVulnerableClient.js +46 -0
  91. package/dist/models/mex/actividad-vulnerable/MexActividadVulnerableReport.d.ts +38 -0
  92. package/dist/models/mex/actividad-vulnerable/MexActividadVulnerableReport.d.ts.map +1 -0
  93. package/dist/models/mex/actividad-vulnerable/MexActividadVulnerableReport.js +39 -0
  94. package/dist/models/mex/actividad-vulnerable/MexActividadVulnerableReportItem.d.ts +38 -0
  95. package/dist/models/mex/actividad-vulnerable/MexActividadVulnerableReportItem.d.ts.map +1 -0
  96. package/dist/models/mex/actividad-vulnerable/MexActividadVulnerableReportItem.js +39 -0
  97. package/dist/models/mex/actividad-vulnerable/MexActividadVulnerableTransaction.d.ts +29 -0
  98. package/dist/models/mex/actividad-vulnerable/MexActividadVulnerableTransaction.d.ts.map +1 -0
  99. package/dist/models/mex/actividad-vulnerable/MexActividadVulnerableTransaction.js +37 -0
  100. package/dist/models/mex/actividad-vulnerable/avi/MexAVIClient.d.ts +43 -0
  101. package/dist/models/mex/actividad-vulnerable/avi/MexAVIClient.d.ts.map +1 -0
  102. package/dist/models/mex/actividad-vulnerable/avi/MexAVIClient.js +59 -0
  103. package/dist/models/mex/actividad-vulnerable/avi/MexAVIReport.d.ts +53 -0
  104. package/dist/models/mex/actividad-vulnerable/avi/MexAVIReport.d.ts.map +1 -0
  105. package/dist/models/mex/actividad-vulnerable/avi/MexAVIReport.js +75 -0
  106. package/dist/models/mex/actividad-vulnerable/avi/MexAVIReportItem.d.ts +56 -0
  107. package/dist/models/mex/actividad-vulnerable/avi/MexAVIReportItem.d.ts.map +1 -0
  108. package/dist/models/mex/actividad-vulnerable/avi/MexAVIReportItem.js +63 -0
  109. package/dist/models/mex/actividad-vulnerable/avi/MexAVITransaction.d.ts +67 -0
  110. package/dist/models/mex/actividad-vulnerable/avi/MexAVITransaction.d.ts.map +1 -0
  111. package/dist/models/mex/actividad-vulnerable/avi/MexAVITransaction.js +136 -0
  112. package/dist/models/mex/actividad-vulnerable/index.d.ts +20 -0
  113. package/dist/models/mex/actividad-vulnerable/index.d.ts.map +1 -0
  114. package/dist/models/mex/actividad-vulnerable/index.js +25 -0
  115. package/dist/models/mex/actividad-vulnerable/jys/MexJYSClient.d.ts +39 -0
  116. package/dist/models/mex/actividad-vulnerable/jys/MexJYSClient.d.ts.map +1 -0
  117. package/dist/models/mex/actividad-vulnerable/jys/MexJYSClient.js +53 -0
  118. package/dist/models/mex/actividad-vulnerable/jys/MexJYSReport.d.ts +53 -0
  119. package/dist/models/mex/actividad-vulnerable/jys/MexJYSReport.d.ts.map +1 -0
  120. package/dist/models/mex/actividad-vulnerable/jys/MexJYSReport.js +75 -0
  121. package/dist/models/mex/actividad-vulnerable/jys/MexJYSReportItem.d.ts +56 -0
  122. package/dist/models/mex/actividad-vulnerable/jys/MexJYSReportItem.d.ts.map +1 -0
  123. package/dist/models/mex/actividad-vulnerable/jys/MexJYSReportItem.js +63 -0
  124. package/dist/models/mex/actividad-vulnerable/jys/MexJYSTransaction.d.ts +85 -0
  125. package/dist/models/mex/actividad-vulnerable/jys/MexJYSTransaction.d.ts.map +1 -0
  126. package/dist/models/mex/actividad-vulnerable/jys/MexJYSTransaction.js +152 -0
  127. package/dist/models/mex/actividad-vulnerable/tsc/MexTSCClient.d.ts +39 -0
  128. package/dist/models/mex/actividad-vulnerable/tsc/MexTSCClient.d.ts.map +1 -0
  129. package/dist/models/mex/actividad-vulnerable/tsc/MexTSCClient.js +53 -0
  130. package/dist/models/mex/actividad-vulnerable/tsc/MexTSCReport.d.ts +53 -0
  131. package/dist/models/mex/actividad-vulnerable/tsc/MexTSCReport.d.ts.map +1 -0
  132. package/dist/models/mex/actividad-vulnerable/tsc/MexTSCReport.js +75 -0
  133. package/dist/models/mex/actividad-vulnerable/tsc/MexTSCReportItem.d.ts +56 -0
  134. package/dist/models/mex/actividad-vulnerable/tsc/MexTSCReportItem.d.ts.map +1 -0
  135. package/dist/models/mex/actividad-vulnerable/tsc/MexTSCReportItem.js +63 -0
  136. package/dist/models/mex/actividad-vulnerable/tsc/MexTSCTransaction.d.ts +53 -0
  137. package/dist/models/mex/actividad-vulnerable/tsc/MexTSCTransaction.d.ts.map +1 -0
  138. package/dist/models/mex/actividad-vulnerable/tsc/MexTSCTransaction.js +82 -0
  139. package/dist/models/mex/index.d.ts +12 -0
  140. package/dist/models/mex/index.d.ts.map +1 -0
  141. package/dist/models/mex/index.js +20 -0
  142. package/dist/models/types.d.ts +81 -0
  143. package/dist/models/types.d.ts.map +1 -0
  144. package/dist/models/types.js +6 -0
  145. package/dist/namespaces/index.d.ts +25 -0
  146. package/dist/namespaces/index.d.ts.map +1 -0
  147. package/dist/namespaces/index.js +27 -0
  148. package/dist/namespaces/mexico/actividad-vulnerable/avi/index.d.ts +322 -0
  149. package/dist/namespaces/mexico/actividad-vulnerable/avi/index.d.ts.map +1 -0
  150. package/dist/namespaces/mexico/actividad-vulnerable/avi/index.js +42 -0
  151. package/dist/namespaces/mexico/actividad-vulnerable/index.d.ts +1361 -0
  152. package/dist/namespaces/mexico/actividad-vulnerable/index.d.ts.map +1 -0
  153. package/dist/namespaces/mexico/actividad-vulnerable/index.js +53 -0
  154. package/dist/namespaces/mexico/actividad-vulnerable/jys/index.d.ts +454 -0
  155. package/dist/namespaces/mexico/actividad-vulnerable/jys/index.d.ts.map +1 -0
  156. package/dist/namespaces/mexico/actividad-vulnerable/jys/index.js +52 -0
  157. package/dist/namespaces/mexico/actividad-vulnerable/tsc/index.d.ts +162 -0
  158. package/dist/namespaces/mexico/actividad-vulnerable/tsc/index.d.ts.map +1 -0
  159. package/dist/namespaces/mexico/actividad-vulnerable/tsc/index.js +40 -0
  160. package/dist/namespaces/mexico/index.d.ts +2481 -0
  161. package/dist/namespaces/mexico/index.d.ts.map +1 -0
  162. package/dist/namespaces/mexico/index.js +140 -0
  163. package/dist/resources/addresses.d.ts +171 -0
  164. package/dist/resources/addresses.d.ts.map +1 -0
  165. package/dist/resources/addresses.js +208 -0
  166. package/dist/resources/bank-accounts.d.ts +174 -0
  167. package/dist/resources/bank-accounts.d.ts.map +1 -0
  168. package/dist/resources/bank-accounts.js +220 -0
  169. package/dist/resources/base.d.ts +192 -0
  170. package/dist/resources/base.d.ts.map +1 -0
  171. package/dist/resources/base.js +205 -0
  172. package/dist/resources/clients.d.ts +446 -0
  173. package/dist/resources/clients.d.ts.map +1 -0
  174. package/dist/resources/clients.js +448 -0
  175. package/dist/resources/contact-methods.d.ts +176 -0
  176. package/dist/resources/contact-methods.d.ts.map +1 -0
  177. package/dist/resources/contact-methods.js +215 -0
  178. package/dist/resources/documents.d.ts +340 -0
  179. package/dist/resources/documents.d.ts.map +1 -0
  180. package/dist/resources/documents.js +447 -0
  181. package/dist/resources/index.d.ts +23 -0
  182. package/dist/resources/index.d.ts.map +1 -0
  183. package/dist/resources/index.js +25 -0
  184. package/dist/resources/mex/actividad-vulnerable/avi/clients.d.ts +165 -0
  185. package/dist/resources/mex/actividad-vulnerable/avi/clients.d.ts.map +1 -0
  186. package/dist/resources/mex/actividad-vulnerable/avi/clients.js +317 -0
  187. package/dist/resources/mex/actividad-vulnerable/avi/index.d.ts +7 -0
  188. package/dist/resources/mex/actividad-vulnerable/avi/index.d.ts.map +1 -0
  189. package/dist/resources/mex/actividad-vulnerable/avi/index.js +6 -0
  190. package/dist/resources/mex/actividad-vulnerable/avi/reports.d.ts +152 -0
  191. package/dist/resources/mex/actividad-vulnerable/avi/reports.d.ts.map +1 -0
  192. package/dist/resources/mex/actividad-vulnerable/avi/reports.js +401 -0
  193. package/dist/resources/mex/actividad-vulnerable/avi/transactions.d.ts +89 -0
  194. package/dist/resources/mex/actividad-vulnerable/avi/transactions.d.ts.map +1 -0
  195. package/dist/resources/mex/actividad-vulnerable/avi/transactions.js +252 -0
  196. package/dist/resources/mex/actividad-vulnerable/index.d.ts +7 -0
  197. package/dist/resources/mex/actividad-vulnerable/index.d.ts.map +1 -0
  198. package/dist/resources/mex/actividad-vulnerable/index.js +9 -0
  199. package/dist/resources/mex/actividad-vulnerable/jys/clients.d.ts +119 -0
  200. package/dist/resources/mex/actividad-vulnerable/jys/clients.d.ts.map +1 -0
  201. package/dist/resources/mex/actividad-vulnerable/jys/clients.js +231 -0
  202. package/dist/resources/mex/actividad-vulnerable/jys/index.d.ts +7 -0
  203. package/dist/resources/mex/actividad-vulnerable/jys/index.d.ts.map +1 -0
  204. package/dist/resources/mex/actividad-vulnerable/jys/index.js +6 -0
  205. package/dist/resources/mex/actividad-vulnerable/jys/reports.d.ts +132 -0
  206. package/dist/resources/mex/actividad-vulnerable/jys/reports.d.ts.map +1 -0
  207. package/dist/resources/mex/actividad-vulnerable/jys/reports.js +381 -0
  208. package/dist/resources/mex/actividad-vulnerable/jys/transactions.d.ts +93 -0
  209. package/dist/resources/mex/actividad-vulnerable/jys/transactions.d.ts.map +1 -0
  210. package/dist/resources/mex/actividad-vulnerable/jys/transactions.js +253 -0
  211. package/dist/resources/mex/actividad-vulnerable/tsc/clients.d.ts +119 -0
  212. package/dist/resources/mex/actividad-vulnerable/tsc/clients.d.ts.map +1 -0
  213. package/dist/resources/mex/actividad-vulnerable/tsc/clients.js +231 -0
  214. package/dist/resources/mex/actividad-vulnerable/tsc/index.d.ts +7 -0
  215. package/dist/resources/mex/actividad-vulnerable/tsc/index.d.ts.map +1 -0
  216. package/dist/resources/mex/actividad-vulnerable/tsc/index.js +6 -0
  217. package/dist/resources/mex/actividad-vulnerable/tsc/reports.d.ts +132 -0
  218. package/dist/resources/mex/actividad-vulnerable/tsc/reports.d.ts.map +1 -0
  219. package/dist/resources/mex/actividad-vulnerable/tsc/reports.js +381 -0
  220. package/dist/resources/mex/actividad-vulnerable/tsc/transactions.d.ts +90 -0
  221. package/dist/resources/mex/actividad-vulnerable/tsc/transactions.d.ts.map +1 -0
  222. package/dist/resources/mex/actividad-vulnerable/tsc/transactions.js +259 -0
  223. package/dist/resources/mex/addresses.d.ts +143 -0
  224. package/dist/resources/mex/addresses.d.ts.map +1 -0
  225. package/dist/resources/mex/addresses.js +328 -0
  226. package/dist/resources/mex/bank-accounts.d.ts +107 -0
  227. package/dist/resources/mex/bank-accounts.d.ts.map +1 -0
  228. package/dist/resources/mex/bank-accounts.js +163 -0
  229. package/dist/resources/mex/clients.d.ts +195 -0
  230. package/dist/resources/mex/clients.d.ts.map +1 -0
  231. package/dist/resources/mex/clients.js +454 -0
  232. package/dist/resources/mex/ebr.d.ts +213 -0
  233. package/dist/resources/mex/ebr.d.ts.map +1 -0
  234. package/dist/resources/mex/ebr.js +417 -0
  235. package/dist/resources/mex/index.d.ts +11 -0
  236. package/dist/resources/mex/index.d.ts.map +1 -0
  237. package/dist/resources/mex/index.js +12 -0
  238. package/dist/resources/mex/reports.d.ts +226 -0
  239. package/dist/resources/mex/reports.d.ts.map +1 -0
  240. package/dist/resources/mex/reports.js +440 -0
  241. package/dist/resources/mex/transactions.d.ts +125 -0
  242. package/dist/resources/mex/transactions.d.ts.map +1 -0
  243. package/dist/resources/mex/transactions.js +274 -0
  244. package/dist/resources/reports.d.ts +211 -0
  245. package/dist/resources/reports.d.ts.map +1 -0
  246. package/dist/resources/reports.js +308 -0
  247. package/dist/resources/transactions.d.ts +142 -0
  248. package/dist/resources/transactions.d.ts.map +1 -0
  249. package/dist/resources/transactions.js +221 -0
  250. package/dist/sdk/ComplianceSDK.d.ts +459 -0
  251. package/dist/sdk/ComplianceSDK.d.ts.map +1 -0
  252. package/dist/sdk/ComplianceSDK.js +528 -0
  253. package/dist/sdk/base.d.ts +17 -0
  254. package/dist/sdk/base.d.ts.map +1 -0
  255. package/dist/sdk/base.js +22 -0
  256. package/dist/sdk/index.d.ts +18 -0
  257. package/dist/sdk/index.d.ts.map +1 -0
  258. package/dist/sdk/index.js +43 -0
  259. package/dist/{ComplianceSDK-BgzIwSsY.d.cts → sdk/mex/ComplianceSDK.d.ts} +16 -7
  260. package/dist/sdk/mex/ComplianceSDK.d.ts.map +1 -0
  261. package/dist/{ComplianceSDK-DoIZOSJq.d.ts → sdk/mex/ComplianceSDK.js} +26 -11
  262. package/dist/sdk/mex/actividad-vulnerable/avi/ComplianceSDK.d.ts +44 -0
  263. package/dist/sdk/mex/actividad-vulnerable/avi/ComplianceSDK.d.ts.map +1 -0
  264. package/dist/sdk/mex/actividad-vulnerable/avi/ComplianceSDK.js +39 -0
  265. package/dist/sdk/mex/actividad-vulnerable/avi/index.d.ts +8 -0
  266. package/dist/sdk/mex/actividad-vulnerable/avi/index.d.ts.map +1 -0
  267. package/dist/sdk/mex/actividad-vulnerable/avi/index.js +9 -0
  268. package/dist/sdk/mex/actividad-vulnerable/avi/types.d.ts +35 -0
  269. package/dist/sdk/mex/actividad-vulnerable/avi/types.d.ts.map +1 -0
  270. package/dist/sdk/mex/actividad-vulnerable/avi/types.js +20 -0
  271. package/dist/sdk/mex/actividad-vulnerable/index.d.ts +13 -0
  272. package/dist/sdk/mex/actividad-vulnerable/index.d.ts.map +1 -0
  273. package/dist/sdk/mex/actividad-vulnerable/index.js +31 -0
  274. package/dist/sdk/mex/actividad-vulnerable/jys/ComplianceSDK.d.ts +44 -0
  275. package/dist/sdk/mex/actividad-vulnerable/jys/ComplianceSDK.d.ts.map +1 -0
  276. package/dist/sdk/mex/actividad-vulnerable/jys/ComplianceSDK.js +39 -0
  277. package/dist/sdk/mex/actividad-vulnerable/jys/index.d.ts +8 -0
  278. package/dist/sdk/mex/actividad-vulnerable/jys/index.d.ts.map +1 -0
  279. package/dist/sdk/mex/actividad-vulnerable/jys/index.js +9 -0
  280. package/dist/sdk/mex/actividad-vulnerable/jys/types.d.ts +35 -0
  281. package/dist/sdk/mex/actividad-vulnerable/jys/types.d.ts.map +1 -0
  282. package/dist/sdk/mex/actividad-vulnerable/jys/types.js +20 -0
  283. package/dist/sdk/mex/actividad-vulnerable/tsc/ComplianceSDK.d.ts +44 -0
  284. package/dist/sdk/mex/actividad-vulnerable/tsc/ComplianceSDK.d.ts.map +1 -0
  285. package/dist/sdk/mex/actividad-vulnerable/tsc/ComplianceSDK.js +39 -0
  286. package/dist/sdk/mex/actividad-vulnerable/tsc/index.d.ts +8 -0
  287. package/dist/sdk/mex/actividad-vulnerable/tsc/index.d.ts.map +1 -0
  288. package/dist/sdk/mex/actividad-vulnerable/tsc/index.js +9 -0
  289. package/dist/sdk/mex/actividad-vulnerable/tsc/types.d.ts +35 -0
  290. package/dist/sdk/mex/actividad-vulnerable/tsc/types.d.ts.map +1 -0
  291. package/dist/sdk/mex/actividad-vulnerable/tsc/types.js +20 -0
  292. package/dist/sdk/mex/index.d.ts +13 -0
  293. package/dist/sdk/mex/index.d.ts.map +1 -0
  294. package/dist/sdk/mex/index.js +38 -0
  295. package/dist/sdk/mex/types.d.ts +57 -0
  296. package/dist/sdk/mex/types.d.ts.map +1 -0
  297. package/dist/sdk/mex/types.js +7 -0
  298. package/dist/sdk/resource-registry.d.ts +118 -0
  299. package/dist/sdk/resource-registry.d.ts.map +1 -0
  300. package/dist/sdk/resource-registry.js +145 -0
  301. package/dist/sdk/sdk-registry.d.ts +59 -0
  302. package/dist/sdk/sdk-registry.d.ts.map +1 -0
  303. package/dist/sdk/sdk-registry.js +82 -0
  304. package/dist/sdk/types.d.ts +232 -0
  305. package/dist/sdk/types.d.ts.map +1 -0
  306. package/dist/sdk/types.js +42 -0
  307. package/dist/utils/environment.d.ts +126 -0
  308. package/dist/utils/environment.d.ts.map +1 -0
  309. package/dist/utils/environment.js +148 -0
  310. package/dist/utils/filters.d.ts +338 -0
  311. package/dist/utils/filters.d.ts.map +1 -0
  312. package/dist/utils/filters.js +373 -0
  313. package/dist/utils/index.d.ts +15 -0
  314. package/dist/utils/index.d.ts.map +1 -0
  315. package/dist/utils/index.js +43 -0
  316. package/dist/utils/pagination.d.ts +85 -0
  317. package/dist/utils/pagination.d.ts.map +1 -0
  318. package/dist/utils/pagination.js +120 -0
  319. package/dist/utils/session.d.ts +173 -0
  320. package/dist/utils/session.d.ts.map +1 -0
  321. package/dist/utils/session.js +58 -0
  322. package/dist/utils/trpc-client.d.ts +19507 -0
  323. package/dist/utils/trpc-client.d.ts.map +1 -0
  324. package/dist/utils/trpc-client.js +129 -0
  325. package/dist/utils/upload.d.ts +81 -0
  326. package/dist/utils/upload.d.ts.map +1 -0
  327. package/dist/utils/upload.js +261 -0
  328. package/package.json +17 -27
  329. package/src/errors/api.ts +305 -0
  330. package/src/errors/base.ts +127 -0
  331. package/src/errors/index.ts +63 -0
  332. package/src/errors/upload.ts +204 -0
  333. package/src/errors/validation.ts +163 -0
  334. package/src/exports/base.ts +139 -0
  335. package/src/exports/index.ts +187 -0
  336. package/src/exports/mexico/actividad-vulnerable/avi.ts +207 -0
  337. package/src/exports/mexico/actividad-vulnerable/jys.ts +214 -0
  338. package/src/exports/mexico/actividad-vulnerable/tsc.ts +202 -0
  339. package/src/exports/mexico/index.ts +215 -0
  340. package/src/models/Address.ts +235 -0
  341. package/src/models/BankAccount.ts +235 -0
  342. package/src/models/Client.ts +363 -0
  343. package/src/models/ContactMethod.ts +197 -0
  344. package/src/models/Document.ts +355 -0
  345. package/src/models/LinkedClient.ts +84 -0
  346. package/src/models/Report.ts +193 -0
  347. package/src/models/ReportItem.ts +211 -0
  348. package/src/models/Transaction.ts +219 -0
  349. package/src/models/base.ts +56 -0
  350. package/src/models/index.ts +148 -0
  351. package/src/models/mex/MexAddress.ts +184 -0
  352. package/src/models/mex/MexBankAccount.ts +121 -0
  353. package/src/models/mex/MexClient.ts +177 -0
  354. package/src/models/mex/MexDocument.ts +890 -0
  355. package/src/models/mex/MexReport.ts +99 -0
  356. package/src/models/mex/MexReportItem.ts +79 -0
  357. package/src/models/mex/MexTransaction.ts +105 -0
  358. package/src/models/mex/actividad-vulnerable/MexActividadVulnerableClient.ts +66 -0
  359. package/src/models/mex/actividad-vulnerable/MexActividadVulnerableReport.ts +73 -0
  360. package/src/models/mex/actividad-vulnerable/MexActividadVulnerableReportItem.ts +74 -0
  361. package/src/models/mex/actividad-vulnerable/MexActividadVulnerableTransaction.ts +50 -0
  362. package/src/models/mex/actividad-vulnerable/avi/MexAVIClient.ts +80 -0
  363. package/src/models/mex/actividad-vulnerable/avi/MexAVIReport.ts +114 -0
  364. package/src/models/mex/actividad-vulnerable/avi/MexAVIReportItem.ts +105 -0
  365. package/src/models/mex/actividad-vulnerable/avi/MexAVITransaction.ts +157 -0
  366. package/src/models/mex/actividad-vulnerable/index.ts +78 -0
  367. package/src/models/mex/actividad-vulnerable/jys/MexJYSClient.ts +73 -0
  368. package/src/models/mex/actividad-vulnerable/jys/MexJYSReport.ts +114 -0
  369. package/src/models/mex/actividad-vulnerable/jys/MexJYSReportItem.ts +105 -0
  370. package/src/models/mex/actividad-vulnerable/jys/MexJYSTransaction.ts +178 -0
  371. package/src/models/mex/actividad-vulnerable/tsc/MexTSCClient.ts +73 -0
  372. package/src/models/mex/actividad-vulnerable/tsc/MexTSCReport.ts +114 -0
  373. package/src/models/mex/actividad-vulnerable/tsc/MexTSCReportItem.ts +105 -0
  374. package/src/models/mex/actividad-vulnerable/tsc/MexTSCTransaction.ts +104 -0
  375. package/src/models/mex/index.ts +57 -0
  376. package/src/models/types.ts +196 -0
  377. package/src/namespaces/index.ts +29 -0
  378. package/src/namespaces/mexico/actividad-vulnerable/avi/index.ts +62 -0
  379. package/src/namespaces/mexico/actividad-vulnerable/index.ts +79 -0
  380. package/src/namespaces/mexico/actividad-vulnerable/jys/index.ts +72 -0
  381. package/src/namespaces/mexico/actividad-vulnerable/tsc/index.ts +60 -0
  382. package/src/namespaces/mexico/index.ts +325 -0
  383. package/src/resources/addresses.ts +391 -0
  384. package/src/resources/bank-accounts.ts +417 -0
  385. package/src/resources/base.ts +327 -0
  386. package/src/resources/clients.ts +808 -0
  387. package/src/resources/contact-methods.ts +412 -0
  388. package/src/resources/documents.ts +688 -0
  389. package/src/resources/index.ts +40 -0
  390. package/src/resources/mex/actividad-vulnerable/avi/clients.ts +559 -0
  391. package/src/resources/mex/actividad-vulnerable/avi/index.ts +7 -0
  392. package/src/resources/mex/actividad-vulnerable/avi/reports.ts +609 -0
  393. package/src/resources/mex/actividad-vulnerable/avi/transactions.ts +404 -0
  394. package/src/resources/mex/actividad-vulnerable/index.ts +12 -0
  395. package/src/resources/mex/actividad-vulnerable/jys/clients.ts +445 -0
  396. package/src/resources/mex/actividad-vulnerable/jys/index.ts +7 -0
  397. package/src/resources/mex/actividad-vulnerable/jys/reports.ts +591 -0
  398. package/src/resources/mex/actividad-vulnerable/jys/transactions.ts +395 -0
  399. package/src/resources/mex/actividad-vulnerable/tsc/clients.ts +445 -0
  400. package/src/resources/mex/actividad-vulnerable/tsc/index.ts +7 -0
  401. package/src/resources/mex/actividad-vulnerable/tsc/reports.ts +591 -0
  402. package/src/resources/mex/actividad-vulnerable/tsc/transactions.ts +404 -0
  403. package/src/resources/mex/addresses.ts +493 -0
  404. package/src/resources/mex/bank-accounts.ts +283 -0
  405. package/src/resources/mex/clients.ts +758 -0
  406. package/src/resources/mex/ebr.ts +621 -0
  407. package/src/resources/mex/index.ts +23 -0
  408. package/src/resources/mex/reports.ts +643 -0
  409. package/src/resources/mex/transactions.ts +422 -0
  410. package/src/resources/reports.ts +515 -0
  411. package/src/resources/transactions.ts +358 -0
  412. package/src/sdk/ComplianceSDK.ts +812 -0
  413. package/src/sdk/base.ts +43 -0
  414. package/src/sdk/index.ts +98 -0
  415. package/src/sdk/mex/ComplianceSDK.ts +147 -0
  416. package/src/sdk/mex/actividad-vulnerable/avi/ComplianceSDK.ts +55 -0
  417. package/src/sdk/mex/actividad-vulnerable/avi/index.ts +16 -0
  418. package/src/sdk/mex/actividad-vulnerable/avi/types.ts +86 -0
  419. package/src/sdk/mex/actividad-vulnerable/index.ts +58 -0
  420. package/src/sdk/mex/actividad-vulnerable/jys/ComplianceSDK.ts +54 -0
  421. package/src/sdk/mex/actividad-vulnerable/jys/index.ts +16 -0
  422. package/src/sdk/mex/actividad-vulnerable/jys/types.ts +86 -0
  423. package/src/sdk/mex/actividad-vulnerable/tsc/ComplianceSDK.ts +54 -0
  424. package/src/sdk/mex/actividad-vulnerable/tsc/index.ts +16 -0
  425. package/src/sdk/mex/actividad-vulnerable/tsc/types.ts +86 -0
  426. package/src/sdk/mex/index.ts +66 -0
  427. package/src/sdk/mex/types.ts +88 -0
  428. package/src/sdk/resource-registry.ts +204 -0
  429. package/src/sdk/sdk-registry.ts +99 -0
  430. package/src/sdk/types.ts +304 -0
  431. package/src/utils/environment.ts +187 -0
  432. package/src/utils/filters.ts +412 -0
  433. package/src/utils/index.ts +134 -0
  434. package/src/utils/pagination.ts +143 -0
  435. package/src/utils/session.ts +303 -0
  436. package/src/utils/trpc-client.ts +242 -0
  437. package/src/utils/upload.ts +388 -0
  438. package/dist/chunk-2CIR32CT.cjs +0 -22972
  439. package/dist/chunk-2CIR32CT.cjs.map +0 -1
  440. package/dist/chunk-5FXVLHD3.js +0 -23
  441. package/dist/chunk-5FXVLHD3.js.map +0 -1
  442. package/dist/chunk-62M35I6I.js +0 -249
  443. package/dist/chunk-62M35I6I.js.map +0 -1
  444. package/dist/chunk-ARI5WM5X.js +0 -22819
  445. package/dist/chunk-ARI5WM5X.js.map +0 -1
  446. package/dist/chunk-B75YW6BN.cjs +0 -26
  447. package/dist/chunk-B75YW6BN.cjs.map +0 -1
  448. package/dist/chunk-F6THYYF5.cjs +0 -26
  449. package/dist/chunk-F6THYYF5.cjs.map +0 -1
  450. package/dist/chunk-HAEBRF5N.js +0 -23
  451. package/dist/chunk-HAEBRF5N.js.map +0 -1
  452. package/dist/chunk-HEGTPUIS.cjs +0 -26
  453. package/dist/chunk-HEGTPUIS.cjs.map +0 -1
  454. package/dist/chunk-TYXYZ3WV.js +0 -23
  455. package/dist/chunk-TYXYZ3WV.js.map +0 -1
  456. package/dist/chunk-ZFW24DFL.cjs +0 -261
  457. package/dist/chunk-ZFW24DFL.cjs.map +0 -1
  458. package/dist/filters-UX1_wF2Z.d.cts +0 -6460
  459. package/dist/filters-UX1_wF2Z.d.ts +0 -6460
  460. package/dist/index-6dNlw8uP.d.cts +0 -2866
  461. package/dist/index-CUIwWk-y.d.ts +0 -2866
  462. package/dist/index.cjs +0 -417
  463. package/dist/index.cjs.map +0 -1
  464. package/dist/index.d.cts +0 -9
  465. package/dist/index.d.ts +0 -9
  466. package/dist/index.js +0 -28
  467. package/dist/index.js.map +0 -1
  468. package/dist/mexico/actividad-vulnerable/avi.cjs +0 -320
  469. package/dist/mexico/actividad-vulnerable/avi.cjs.map +0 -1
  470. package/dist/mexico/actividad-vulnerable/avi.d.cts +0 -680
  471. package/dist/mexico/actividad-vulnerable/avi.js +0 -55
  472. package/dist/mexico/actividad-vulnerable/avi.js.map +0 -1
  473. package/dist/mexico/actividad-vulnerable/jys.cjs +0 -330
  474. package/dist/mexico/actividad-vulnerable/jys.cjs.map +0 -1
  475. package/dist/mexico/actividad-vulnerable/jys.d.cts +0 -746
  476. package/dist/mexico/actividad-vulnerable/jys.js +0 -65
  477. package/dist/mexico/actividad-vulnerable/jys.js.map +0 -1
  478. package/dist/mexico/actividad-vulnerable/tsc.cjs +0 -318
  479. package/dist/mexico/actividad-vulnerable/tsc.cjs.map +0 -1
  480. package/dist/mexico/actividad-vulnerable/tsc.d.cts +0 -600
  481. package/dist/mexico/actividad-vulnerable/tsc.js +0 -53
  482. package/dist/mexico/actividad-vulnerable/tsc.js.map +0 -1
  483. package/dist/mexico/index.cjs +0 -384
  484. package/dist/mexico/index.cjs.map +0 -1
  485. package/dist/mexico/index.d.cts +0 -1422
  486. package/dist/mexico/index.d.ts +0 -1422
  487. package/dist/mexico/index.js +0 -7
  488. package/dist/mexico/index.js.map +0 -1
@@ -0,0 +1,515 @@
1
+ /**
2
+ * Reports Resource
3
+ *
4
+ * CRUD operations, report items management, validation, and generation.
5
+ *
6
+ * This is the base (unscoped) resource. For jurisdiction-scoped SDKs, use:
7
+ * - MexReportsResource - Mexico-scoped with flattened MX fields
8
+ * - AVIReportsResource - Mexico AVI-scoped with flattened AVI fields
9
+ * - JYSReportsResource - Mexico JYS-scoped with flattened JYS fields
10
+ * - TSCReportsResource - Mexico TSC-scoped with flattened TSC fields
11
+ */
12
+
13
+ import { z } from "zod";
14
+ import type {
15
+ CreateReportInput,
16
+ UpdateReportInput,
17
+ UpdateReportStatusInput,
18
+ CreateReportItemInput,
19
+ UpdateReportItemInput,
20
+ ReportFilter,
21
+ ReportSort,
22
+ ReportItemFilter,
23
+ ReportItemSort,
24
+ ValidationResult,
25
+ GenerateResult,
26
+ SubmitReportInput,
27
+ SubmissionResult,
28
+ ListOptions,
29
+ PaginatedResponse,
30
+ AtomicBatchResult,
31
+ PartialBatchResult,
32
+ ReportDefaultsInput,
33
+ } from "@artu-ai/shared";
34
+ import {
35
+ createReportInputSchema,
36
+ updateReportInputSchema,
37
+ updateReportStatusInputSchema,
38
+ createReportItemInputSchema,
39
+ updateReportItemInputSchema,
40
+ reportDefaultsInputSchema,
41
+ submitReportInputSchema,
42
+ } from "@artu-ai/shared";
43
+ import type { BatchOptions } from "./clients";
44
+ import { BaseResource } from "./base";
45
+ import {
46
+ Report,
47
+ ReportItem,
48
+ type ReportData,
49
+ type ReportItemData,
50
+ } from "../models";
51
+
52
+ // ===========================
53
+ // Types
54
+ // ===========================
55
+
56
+ // Re-export filter types for backwards compatibility
57
+ export type { ReportFilter, ReportItemFilter, ReportItemSort };
58
+
59
+ /**
60
+ * Add items result
61
+ */
62
+ export interface AddItemsResult {
63
+ added: number;
64
+ items: ReportItem[];
65
+ }
66
+
67
+ // ===========================
68
+ // ReportsResource
69
+ // ===========================
70
+
71
+ /**
72
+ * Base resource manager for report operations.
73
+ *
74
+ * Provides:
75
+ * - CRUD operations (create, retrieve, update, delete)
76
+ * - Report items management (add, update, remove items)
77
+ * - Validation and generation
78
+ *
79
+ * @example
80
+ * ```typescript
81
+ * // Create a report with full nested format
82
+ * const report = await sdk.reports.create({
83
+ * jurisdictions: {
84
+ * MX: {
85
+ * actividadVulnerable: {
86
+ * AVI: { mesReportado: "202401" }
87
+ * }
88
+ * }
89
+ * }
90
+ * });
91
+ *
92
+ * // Add items to the report
93
+ * await sdk.reports.addItem(report.id, {
94
+ * transactionId: "txn_123",
95
+ * });
96
+ *
97
+ * // Validate the report
98
+ * const result = await sdk.reports.validate(report.id);
99
+ * if (result.valid) {
100
+ * // Generate XML
101
+ * const xml = await sdk.reports.generate(report.id);
102
+ * }
103
+ * ```
104
+ */
105
+ export class ReportsResource<
106
+ TSort = ReportSort,
107
+ TDefaults = ReportDefaultsInput,
108
+ > extends BaseResource<
109
+ Report,
110
+ CreateReportInput,
111
+ UpdateReportInput,
112
+ ReportFilter,
113
+ TSort
114
+ > {
115
+ // ─────────────────────────────────────────────────────────────────
116
+ // Report CRUD
117
+ // ─────────────────────────────────────────────────────────────────
118
+
119
+ /**
120
+ * Creates a new report.
121
+ *
122
+ * @param data - Report creation data in nested format
123
+ * @returns The created report model
124
+ */
125
+ async create(data: CreateReportInput): Promise<Report> {
126
+ const validated = this.validate(createReportInputSchema, data);
127
+
128
+ const response = await this.execute(() =>
129
+ this.trpc.reports.create.mutate(validated)
130
+ );
131
+
132
+ return this.instantiate(response);
133
+ }
134
+
135
+ /**
136
+ * Retrieves a report by ID.
137
+ */
138
+ async retrieve(id: string): Promise<Report> {
139
+ const response = await this.execute(() =>
140
+ this.trpc.reports.retrieve.query({ id })
141
+ );
142
+ return this.instantiate(response);
143
+ }
144
+
145
+ /**
146
+ * Retrieves a report by metadata key/value.
147
+ */
148
+ async retrieveByMetadata(key: string, value: string): Promise<Report> {
149
+ const response = await this.execute(() =>
150
+ this.trpc.reports.retrieveByMetadata.query({ key, value })
151
+ );
152
+ return this.instantiate(response);
153
+ }
154
+
155
+ /**
156
+ * Retrieves a report by externalId.
157
+ */
158
+ async retrieveByExternalId(externalId: string): Promise<Report> {
159
+ const response = await this.execute(() =>
160
+ this.trpc.reports.retrieveByExternalId.query({ externalId })
161
+ );
162
+ return this.instantiate(response);
163
+ }
164
+
165
+ /**
166
+ * Updates a report.
167
+ */
168
+ async update(id: string, data: UpdateReportInput): Promise<Report> {
169
+ const validated = this.validate(updateReportInputSchema, data);
170
+
171
+ const response = await this.execute(() =>
172
+ this.trpc.reports.update.mutate({ id, data: validated })
173
+ );
174
+ return this.instantiate(response);
175
+ }
176
+
177
+ /**
178
+ * Updates a report's status.
179
+ *
180
+ * Restrictions:
181
+ * - Can only manually set to: Draft
182
+ * - Cannot change from: Accepted (terminal), Submitted (awaiting response)
183
+ *
184
+ * Use this to reset a report back to Draft status for re-editing.
185
+ */
186
+ async updateStatus(id: string, data: UpdateReportStatusInput): Promise<Report> {
187
+ const validated = this.validate(updateReportStatusInputSchema, data);
188
+
189
+ const response = await this.execute(() =>
190
+ this.trpc.reports.updateStatus.mutate({ id, data: validated })
191
+ );
192
+ return this.instantiate(response);
193
+ }
194
+
195
+ /**
196
+ * Deletes a report.
197
+ */
198
+ async delete(id: string): Promise<void> {
199
+ await this.execute(() => this.trpc.reports.delete.mutate({ id }));
200
+ }
201
+
202
+ /**
203
+ * Lists reports with optional filtering and pagination.
204
+ */
205
+ async list(
206
+ options?: ListOptions<ReportFilter, TSort>
207
+ ): Promise<PaginatedResponse<Report>> {
208
+ const response = await this.execute(() =>
209
+ this.trpc.reports.list.query(
210
+ options as ListOptions<ReportFilter, ReportSort>
211
+ )
212
+ );
213
+
214
+ return {
215
+ data: response.data.map((r) => this.instantiate(r)),
216
+ pagination: response.pagination,
217
+ };
218
+ }
219
+
220
+ /**
221
+ * Returns an async iterator over all reports matching the filter.
222
+ */
223
+ iterate(filter?: ReportFilter): AsyncGenerator<Report, void, undefined> {
224
+ return this.createIterator({ filter });
225
+ }
226
+
227
+ // ─────────────────────────────────────────────────────────────────
228
+ // Report Items
229
+ // ─────────────────────────────────────────────────────────────────
230
+
231
+ /**
232
+ * Adds an item to a report.
233
+ */
234
+ async addItem(
235
+ reportId: string,
236
+ data: CreateReportItemInput
237
+ ): Promise<ReportItem> {
238
+ const validated = this.validate(createReportItemInputSchema, data);
239
+
240
+ const response = await this.execute(() =>
241
+ this.trpc.reports.addItem.mutate({ reportId, data: validated })
242
+ );
243
+
244
+ return this.instantiateItem(response);
245
+ }
246
+
247
+ /**
248
+ * Gets a specific report item.
249
+ */
250
+ async getItem(reportId: string, itemId: string): Promise<ReportItem> {
251
+ const response = await this.execute(() =>
252
+ this.trpc.reports.getItem.query({ reportId, itemId })
253
+ );
254
+ return this.instantiateItem(response);
255
+ }
256
+
257
+ /**
258
+ * Updates a report item.
259
+ */
260
+ async updateItem(
261
+ reportId: string,
262
+ itemId: string,
263
+ data: UpdateReportItemInput
264
+ ): Promise<ReportItem> {
265
+ const validated = this.validate(updateReportItemInputSchema, data);
266
+
267
+ const response = await this.execute(() =>
268
+ this.trpc.reports.updateItem.mutate({ reportId, itemId, data: validated })
269
+ );
270
+ return this.instantiateItem(response);
271
+ }
272
+
273
+ /**
274
+ * Removes an item from a report.
275
+ */
276
+ async removeItem(reportId: string, itemId: string): Promise<void> {
277
+ await this.execute(() =>
278
+ this.trpc.reports.removeItem.mutate({ reportId, itemId })
279
+ );
280
+ }
281
+
282
+ /**
283
+ * Lists items in a report with filtering, sorting, and pagination.
284
+ */
285
+ async listItems(
286
+ reportId: string,
287
+ options?: ListOptions<ReportItemFilter, ReportItemSort>
288
+ ): Promise<PaginatedResponse<ReportItem>> {
289
+ const response = await this.execute(() =>
290
+ this.trpc.reports.listItems.query({
291
+ reportId,
292
+ ...options,
293
+ })
294
+ );
295
+
296
+ return {
297
+ data: response.data.map((i) => this.instantiateItem(i)),
298
+ pagination: response.pagination,
299
+ };
300
+ }
301
+
302
+ /**
303
+ * Adds multiple items to a report.
304
+ * Validates all items upfront - fails fast if any item is invalid.
305
+ */
306
+ async addItems(
307
+ reportId: string,
308
+ items: CreateReportItemInput[]
309
+ ): Promise<AddItemsResult> {
310
+ const validated = this.validate(
311
+ z.array(createReportItemInputSchema),
312
+ items
313
+ );
314
+
315
+ const response = await this.execute(() =>
316
+ this.trpc.reports.addItems.mutate({ reportId, items: validated })
317
+ );
318
+
319
+ return {
320
+ added: response.added,
321
+ items: response.items.map((i) => this.instantiateItem(i)),
322
+ };
323
+ }
324
+
325
+ /**
326
+ * Removes multiple items from a report.
327
+ */
328
+ async removeItems(
329
+ reportId: string,
330
+ itemIds: string[]
331
+ ): Promise<{ removed: number }> {
332
+ return this.execute(() =>
333
+ this.trpc.reports.removeItems.mutate({ reportId, itemIds })
334
+ );
335
+ }
336
+
337
+ // ─────────────────────────────────────────────────────────────────
338
+ // Validation & Generation
339
+ // ─────────────────────────────────────────────────────────────────
340
+
341
+ /**
342
+ * Validates a report and its items.
343
+ *
344
+ * Requires jurisdiction-specific defaults.
345
+ * For scoped SDKs, use the scoped resource which provides a simpler API.
346
+ *
347
+ * @param reportId - The report ID to validate
348
+ * @param defaults - Jurisdiction-specific defaults for validation
349
+ */
350
+ async validateReport(
351
+ reportId: string,
352
+ defaults: TDefaults
353
+ ): Promise<ValidationResult> {
354
+ const validated = this.validate(reportDefaultsInputSchema, defaults);
355
+ return this.execute(() =>
356
+ this.trpc.reports.validate.mutate({ reportId, ...validated })
357
+ );
358
+ }
359
+
360
+ /**
361
+ * Validates and generates the report output (e.g., XML for Mexico reports).
362
+ *
363
+ * Performs validation first:
364
+ * - If validation fails, returns `{ status: "validation_failed", validation: {...} }`
365
+ * - If validation passes, returns `{ status: "success", xml: "...", ... }`
366
+ *
367
+ * Use `validateReport` for dry-run/preview validation without generating XML.
368
+ *
369
+ * @param reportId - The report ID to generate
370
+ * @param defaults - Jurisdiction-specific defaults for generation
371
+ * @returns GenerateResult with status "success" or "validation_failed"
372
+ */
373
+ async generateReport(
374
+ reportId: string,
375
+ defaults: TDefaults
376
+ ): Promise<GenerateResult> {
377
+ const validated = this.validate(reportDefaultsInputSchema, defaults);
378
+ return this.execute(() =>
379
+ this.trpc.reports.generate.mutate({ reportId, ...validated })
380
+ );
381
+ }
382
+
383
+ // ─────────────────────────────────────────────────────────────────
384
+ // Submission
385
+ // ─────────────────────────────────────────────────────────────────
386
+
387
+ /**
388
+ * Submits a validated report.
389
+ *
390
+ * The report must be in "valid" status. After submission, the report
391
+ * is locked and cannot be edited.
392
+ *
393
+ * @param reportId - The report ID
394
+ * @param input - Submission data with jurisdiction-specific structure
395
+ */
396
+ async submit(input: SubmitReportInput): Promise<SubmissionResult> {
397
+ const validated = this.validate(submitReportInputSchema, input);
398
+ return this.execute(() => this.trpc.reports.submit.mutate(validated));
399
+ }
400
+
401
+ // ─────────────────────────────────────────────────────────────────
402
+ // Batch Operations
403
+ // ─────────────────────────────────────────────────────────────────
404
+
405
+ /**
406
+ * Creates multiple reports in a single request.
407
+ *
408
+ * @param reports - Array of report creation data
409
+ * @param options - Batch options (atomic: true by default)
410
+ * @returns Atomic result with data array, or partial result with succeeded/failed
411
+ */
412
+ async createMany(
413
+ reports: CreateReportInput[],
414
+ options?: { atomic?: true }
415
+ ): Promise<AtomicBatchResult<Report>>;
416
+ async createMany(
417
+ reports: CreateReportInput[],
418
+ options: { atomic: false }
419
+ ): Promise<PartialBatchResult<Report>>;
420
+ async createMany(
421
+ reports: CreateReportInput[],
422
+ options: BatchOptions = {}
423
+ ): Promise<AtomicBatchResult<Report> | PartialBatchResult<Report>> {
424
+ const atomic = options.atomic ?? true;
425
+ const validated = this.validate(z.array(createReportInputSchema), reports);
426
+
427
+ const response = await this.execute(() =>
428
+ this.trpc.reports.createMany.mutate({ items: validated, atomic })
429
+ );
430
+
431
+ if (response.atomic) {
432
+ return {
433
+ atomic: true,
434
+ data: response.data.map((r) => this.instantiate(r)),
435
+ };
436
+ } else {
437
+ return {
438
+ atomic: false,
439
+ succeeded: response.succeeded.map((item) => ({
440
+ index: item.index,
441
+ data: this.instantiate(item.data),
442
+ })),
443
+ failed: response.failed,
444
+ };
445
+ }
446
+ }
447
+
448
+ /**
449
+ * Updates multiple reports in a single request.
450
+ *
451
+ * @param updates - Array of { id, data } updates
452
+ * @param options - Batch options (atomic: true by default)
453
+ * @returns Atomic result with data array, or partial result with succeeded/failed
454
+ */
455
+ async updateMany(
456
+ updates: { id: string; data: UpdateReportInput }[],
457
+ options?: { atomic?: true }
458
+ ): Promise<AtomicBatchResult<Report>>;
459
+ async updateMany(
460
+ updates: { id: string; data: UpdateReportInput }[],
461
+ options: { atomic: false }
462
+ ): Promise<PartialBatchResult<Report>>;
463
+ async updateMany(
464
+ updates: { id: string; data: UpdateReportInput }[],
465
+ options: BatchOptions = {}
466
+ ): Promise<AtomicBatchResult<Report> | PartialBatchResult<Report>> {
467
+ const atomic = options.atomic ?? true;
468
+ const updateItemSchema = z.object({
469
+ id: z.uuid(),
470
+ data: updateReportInputSchema,
471
+ });
472
+
473
+ const validated = this.validate(z.array(updateItemSchema), updates);
474
+
475
+ const response = await this.execute(() =>
476
+ this.trpc.reports.updateMany.mutate({ items: validated, atomic })
477
+ );
478
+
479
+ if (response.atomic) {
480
+ return {
481
+ atomic: true,
482
+ data: response.data.map((r) => this.instantiate(r)),
483
+ };
484
+ } else {
485
+ return {
486
+ atomic: false,
487
+ succeeded: response.succeeded.map((item) => ({
488
+ index: item.index,
489
+ data: this.instantiate(item.data),
490
+ })),
491
+ failed: response.failed,
492
+ };
493
+ }
494
+ }
495
+
496
+ // ─────────────────────────────────────────────────────────────────
497
+ // Instantiation (protected for subclasses to override)
498
+ // ─────────────────────────────────────────────────────────────────
499
+
500
+ /**
501
+ * Instantiates a Report model from API response data.
502
+ * Subclasses override this to return their specific model type.
503
+ */
504
+ protected instantiate(data: ReportData): Report {
505
+ return new Report(data);
506
+ }
507
+
508
+ /**
509
+ * Instantiates a ReportItem model from API response data.
510
+ * Subclasses override this to return their specific model type.
511
+ */
512
+ protected instantiateItem(data: ReportItemData): ReportItem {
513
+ return new ReportItem(data);
514
+ }
515
+ }