@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,303 @@
1
+ import type { Environment } from "./environment";
2
+
3
+ export type SessionType = "session" | "apiKey";
4
+
5
+ export interface SessionInfo {
6
+ organizationId: string;
7
+ permissions: string[];
8
+ environment: Environment;
9
+ userId: string;
10
+ type: SessionType;
11
+ }
12
+
13
+ // ===========================
14
+ // Session Options
15
+ // ===========================
16
+
17
+ /**
18
+ * Base options for fetchSession.
19
+ */
20
+ interface SessionOptionsBase {
21
+ /**
22
+ * Base URL for the API (e.g. https://api.artu.ai)
23
+ */
24
+ baseUrl: string;
25
+
26
+ /**
27
+ * Environment header value ("test" | "live")
28
+ */
29
+ environment: Environment;
30
+
31
+ /**
32
+ * Credentials policy for fetch. Defaults to "include".
33
+ */
34
+ credentials?: "include" | "omit" | "same-origin";
35
+
36
+ /**
37
+ * Custom headers to include with the request.
38
+ * Useful for server-side cookie forwarding.
39
+ */
40
+ headers?: Record<string, string>;
41
+
42
+ /**
43
+ * Custom fetch implementation (optional).
44
+ */
45
+ fetchImpl?: typeof fetch;
46
+
47
+ /**
48
+ * Optional organization ID to lock the login to a specific organization.
49
+ * When provided, users will only be able to log in to this organization.
50
+ * Useful for custom apps to prevent users from logging into the wrong organization.
51
+ */
52
+ organizationId?: string;
53
+ }
54
+
55
+ /**
56
+ * Options for fetchSession when returnTo is provided.
57
+ */
58
+ export interface SessionOptionsWithReturnTo extends SessionOptionsBase {
59
+ /**
60
+ * Full URL to return to after authentication.
61
+ * When provided, redirectUrl will be included in the result when not authenticated.
62
+ */
63
+ returnTo: string;
64
+ }
65
+
66
+ /**
67
+ * Options for fetchSession when returnTo is not provided.
68
+ */
69
+ export interface SessionOptionsWithoutReturnTo extends SessionOptionsBase {
70
+ returnTo?: never;
71
+ }
72
+
73
+ /**
74
+ * Combined session options type.
75
+ */
76
+ export type SessionOptions =
77
+ | SessionOptionsWithReturnTo
78
+ | SessionOptionsWithoutReturnTo;
79
+
80
+ // ===========================
81
+ // SDK Session Method Options
82
+ // (Used by sdk.session() - doesn't require baseUrl/environment)
83
+ // ===========================
84
+
85
+ /**
86
+ * Base SDK session options shared across all variants.
87
+ */
88
+ interface SDKSessionOptionsBase {
89
+ /**
90
+ * Optional organization ID to lock the login to a specific organization.
91
+ * When provided, users will only be able to log in to this organization.
92
+ * Useful for custom apps to prevent users from logging into the wrong organization.
93
+ */
94
+ organizationId?: string;
95
+ }
96
+
97
+ /**
98
+ * Options for sdk.session() when returnTo is provided.
99
+ * Result will include redirectUrl when not authenticated.
100
+ */
101
+ export interface SDKSessionOptionsWithReturnTo extends SDKSessionOptionsBase {
102
+ /**
103
+ * Full URL to return to after authentication.
104
+ * When provided, redirectUrl will be included in the result when not authenticated.
105
+ */
106
+ returnTo: string;
107
+ }
108
+
109
+ /**
110
+ * Options for sdk.session() when returnTo is not provided.
111
+ */
112
+ export interface SDKSessionOptionsWithoutReturnTo extends SDKSessionOptionsBase {
113
+ returnTo?: never;
114
+ }
115
+
116
+ /**
117
+ * Combined SDK session options type.
118
+ */
119
+ export type SDKSessionOptions =
120
+ | SDKSessionOptionsWithReturnTo
121
+ | SDKSessionOptionsWithoutReturnTo;
122
+
123
+ // ===========================
124
+ // Session Results
125
+ // ===========================
126
+
127
+ /**
128
+ * Result when user is authenticated.
129
+ */
130
+ export interface SessionResultAuthenticated {
131
+ session: SessionInfo;
132
+ isAuthenticated: true;
133
+ redirectUrl?: never;
134
+ }
135
+
136
+ /**
137
+ * Result when user is NOT authenticated and returnTo was provided.
138
+ */
139
+ export interface SessionResultUnauthenticatedWithRedirect {
140
+ session: null;
141
+ isAuthenticated: false;
142
+ redirectUrl: string;
143
+ }
144
+
145
+ /**
146
+ * Result when user is NOT authenticated and returnTo was NOT provided.
147
+ */
148
+ export interface SessionResultUnauthenticatedNoRedirect {
149
+ session: null;
150
+ isAuthenticated: false;
151
+ redirectUrl?: never;
152
+ }
153
+
154
+ /**
155
+ * Session result when returnTo is provided.
156
+ * Either authenticated (session present, no redirect) or unauthenticated (no session, redirect present).
157
+ * This allows TypeScript to narrow: if redirectUrl exists, session is null; otherwise session is present.
158
+ */
159
+ export type SessionResultWithRedirect =
160
+ | SessionResultAuthenticated
161
+ | SessionResultUnauthenticatedWithRedirect;
162
+
163
+ /**
164
+ * Session result when returnTo is NOT provided.
165
+ */
166
+ export type SessionResultWithoutRedirect =
167
+ | SessionResultAuthenticated
168
+ | SessionResultUnauthenticatedNoRedirect;
169
+
170
+ /**
171
+ * Generic session result type.
172
+ */
173
+ export type SessionResult =
174
+ | SessionResultAuthenticated
175
+ | SessionResultUnauthenticatedWithRedirect
176
+ | SessionResultUnauthenticatedNoRedirect;
177
+
178
+ // ===========================
179
+ // Helper
180
+ // ===========================
181
+
182
+ export function createAuthLoginUrl(options: {
183
+ apiBaseUrl: string;
184
+ returnTo: string;
185
+ organizationId?: string;
186
+ }): string {
187
+ const { apiBaseUrl, returnTo, organizationId } = options;
188
+ const loginUrl = new URL("/auth/login", apiBaseUrl);
189
+ loginUrl.searchParams.set("return_to", returnTo);
190
+ if (organizationId) {
191
+ loginUrl.searchParams.set("organization_id", organizationId);
192
+ }
193
+ return loginUrl.toString();
194
+ }
195
+
196
+ // ===========================
197
+ // Fetch Session
198
+ // ===========================
199
+
200
+ /**
201
+ * Fetches session from /auth/me.
202
+ * Returns a result object with session info if authenticated,
203
+ * or null session with optional redirectUrl if not.
204
+ *
205
+ * @example With returnTo (includes redirectUrl when not authenticated)
206
+ * ```typescript
207
+ * const result = await fetchSession({
208
+ * baseUrl: "https://api.artu.ai",
209
+ * environment: "test",
210
+ * returnTo: "https://dashboard.artu.ai/env/test/dashboard",
211
+ * });
212
+ *
213
+ * if (result.redirectUrl) {
214
+ * redirect(result.redirectUrl);
215
+ * }
216
+ *
217
+ * // TypeScript knows session is guaranteed here
218
+ * console.log("User:", result.session.userId);
219
+ * ```
220
+ *
221
+ * @example Without returnTo (just check if authenticated)
222
+ * ```typescript
223
+ * const result = await fetchSession({
224
+ * baseUrl: "https://api.artu.ai",
225
+ * environment: "test",
226
+ * });
227
+ *
228
+ * if (result.isAuthenticated) {
229
+ * console.log("User:", result.session.userId);
230
+ * }
231
+ * ```
232
+ */
233
+ export function fetchSession(
234
+ options: SessionOptionsWithReturnTo
235
+ ): Promise<SessionResultWithRedirect>;
236
+ export function fetchSession(
237
+ options: SessionOptionsWithoutReturnTo
238
+ ): Promise<SessionResultWithoutRedirect>;
239
+ export async function fetchSession(
240
+ options: SessionOptions
241
+ ): Promise<SessionResult> {
242
+ const {
243
+ baseUrl,
244
+ environment,
245
+ credentials = "include",
246
+ headers: customHeaders = {},
247
+ fetchImpl = fetch,
248
+ returnTo,
249
+ } = options;
250
+
251
+ // Extract organizationId only when returnTo is provided
252
+ const organizationId =
253
+ "organizationId" in options
254
+ ? (options as SessionOptionsWithReturnTo).organizationId
255
+ : undefined;
256
+
257
+ const normalizedBaseUrl = baseUrl.replace(/\/$/, "");
258
+
259
+ const handleUnauthenticated = ():
260
+ | SessionResultUnauthenticatedWithRedirect
261
+ | SessionResultUnauthenticatedNoRedirect => {
262
+ if (returnTo) {
263
+ return {
264
+ session: null,
265
+ isAuthenticated: false,
266
+ redirectUrl: createAuthLoginUrl({
267
+ apiBaseUrl: normalizedBaseUrl,
268
+ returnTo,
269
+ organizationId,
270
+ }),
271
+ };
272
+ }
273
+
274
+ return {
275
+ session: null,
276
+ isAuthenticated: false,
277
+ };
278
+ };
279
+
280
+ try {
281
+ const res = await fetchImpl(`${normalizedBaseUrl}/auth/me`, {
282
+ headers: {
283
+ ...customHeaders,
284
+ "X-Environment": environment,
285
+ },
286
+ credentials,
287
+ });
288
+
289
+ if (res.status === 401 || !res.ok) {
290
+ return handleUnauthenticated();
291
+ }
292
+
293
+ const session = (await res.json()) as SessionInfo;
294
+
295
+ return {
296
+ session,
297
+ isAuthenticated: true,
298
+ };
299
+ } catch {
300
+ // Network error or other failure - treat as not authenticated
301
+ return handleUnauthenticated();
302
+ }
303
+ }
@@ -0,0 +1,242 @@
1
+ /**
2
+ * tRPC Client Factory
3
+ *
4
+ * Creates a type-safe tRPC client for communicating with the Compliance API.
5
+ * Uses httpBatchLink for efficient request batching.
6
+ */
7
+
8
+ import { createTRPCClient, httpBatchLink, TRPCClientError } from "@trpc/client";
9
+
10
+ // Type-only import from API (no runtime dependency)
11
+ import type { AppRouter } from "api";
12
+
13
+ // ===========================
14
+ // Types
15
+ // ===========================
16
+
17
+ /**
18
+ * Supported API versions
19
+ */
20
+ export type APIVersion = "v1";
21
+
22
+ /**
23
+ * SDK Environment - determines data isolation
24
+ */
25
+ export type SDKEnvironment = "test" | "live";
26
+
27
+ /**
28
+ * Configuration for creating a tRPC client
29
+ */
30
+ export type TRPCAuthMode = "apiKey" | "cookie";
31
+
32
+ export interface TRPCAPIKeyAuthConfig {
33
+ mode?: "apiKey";
34
+ apiKey: string;
35
+ }
36
+
37
+ export interface TRPCCookieAuthConfig {
38
+ mode: "cookie";
39
+ credentials?: "include" | "omit" | "same-origin";
40
+ /**
41
+ * Custom headers to include with each request.
42
+ * Useful for server-side cookie forwarding in Next.js.
43
+ *
44
+ * @example
45
+ * ```typescript
46
+ * // Forward cookies in Next.js server component
47
+ * const cookieStore = await cookies();
48
+ * const sdk = new ComplianceSDK({
49
+ * mode: "cookie",
50
+ * headers: { Cookie: cookieStore.toString() },
51
+ * });
52
+ * ```
53
+ */
54
+ headers?: Record<string, string>;
55
+ }
56
+
57
+ export type TRPCAuthConfig = TRPCAPIKeyAuthConfig | TRPCCookieAuthConfig;
58
+
59
+ export type TRPCClientConfig = TRPCAuthConfig & {
60
+ /**
61
+ * Base URL for the API
62
+ * @example "https://api.compliance.artu.com"
63
+ */
64
+ baseUrl: string;
65
+
66
+ /**
67
+ * Target environment for data isolation
68
+ */
69
+ environment: SDKEnvironment;
70
+
71
+ /**
72
+ * API version to use. Defaults to latest stable version.
73
+ * @default "v1"
74
+ */
75
+ apiVersion?: APIVersion;
76
+
77
+ /**
78
+ * Request timeout in milliseconds
79
+ * @default 30000
80
+ */
81
+ timeout?: number;
82
+
83
+ /**
84
+ * Organization ID for request validation.
85
+ * When provided, the API validates that the authenticated
86
+ * user/API key belongs to this organization.
87
+ */
88
+ organizationId?: string;
89
+ };
90
+
91
+ /**
92
+ * tRPC client type - inferred from AppRouter
93
+ */
94
+ export type TRPCClient = ReturnType<typeof createTRPCClient<AppRouter>>;
95
+
96
+ // ===========================
97
+ // Constants
98
+ // ===========================
99
+
100
+ /**
101
+ * Current stable API version
102
+ */
103
+ export const LATEST_API_VERSION: APIVersion = "v1";
104
+
105
+ /**
106
+ * Default request timeout in milliseconds
107
+ */
108
+ export const DEFAULT_TIMEOUT = 30000;
109
+
110
+ // ===========================
111
+ // Client Factory
112
+ // ===========================
113
+
114
+ /**
115
+ * Creates a tRPC client configured for the Compliance API
116
+ *
117
+ * @param config - Client configuration
118
+ * @returns Configured tRPC client
119
+ *
120
+ * @example
121
+ * ```typescript
122
+ * const client = createAPIClient({
123
+ * apiKey: "sk_test_org123_abc123...",
124
+ * baseUrl: "https://api.compliance.artu.com",
125
+ * environment: "test",
126
+ * });
127
+ *
128
+ * // Make type-safe API calls
129
+ * const health = await client.health.check.query();
130
+ * ```
131
+ */
132
+ export function createAPIClient(config: TRPCClientConfig) {
133
+ const {
134
+ mode: rawMode,
135
+ baseUrl,
136
+ environment,
137
+ apiVersion = LATEST_API_VERSION,
138
+ timeout = DEFAULT_TIMEOUT,
139
+ organizationId,
140
+ } = config;
141
+
142
+ const mode: TRPCAuthMode = rawMode ?? "apiKey";
143
+
144
+ let authHeaders: Record<string, string> = {};
145
+ let resolvedCredentials: TRPCCookieAuthConfig["credentials"] | undefined;
146
+
147
+ let customHeaders: Record<string, string> = {};
148
+
149
+ if (mode === "apiKey") {
150
+ const apiKey = (config as TRPCAPIKeyAuthConfig).apiKey;
151
+ if (!apiKey || typeof apiKey !== "string") {
152
+ throw new Error("API key is required when auth mode is apiKey.");
153
+ }
154
+ authHeaders = { Authorization: `Bearer ${apiKey}` };
155
+ } else {
156
+ const cookieConfig = config as TRPCCookieAuthConfig;
157
+ resolvedCredentials = cookieConfig.credentials ?? "include";
158
+ customHeaders = cookieConfig.headers ?? {};
159
+ }
160
+
161
+ const baseHeaders: Record<string, string> = {
162
+ ...customHeaders,
163
+ ...authHeaders,
164
+ "X-Environment": environment,
165
+ "X-Request-ID": generateRequestId(),
166
+ ...(organizationId ? { "X-Organization-ID": organizationId } : {}),
167
+ };
168
+
169
+ // Normalize baseUrl (remove trailing slash)
170
+ const normalizedBaseUrl = baseUrl.replace(/\/$/, "");
171
+
172
+ return createTRPCClient<AppRouter>({
173
+ links: [
174
+ httpBatchLink({
175
+ url: `${normalizedBaseUrl}/${apiVersion}/trpc`,
176
+ headers: () => baseHeaders,
177
+ fetch: (url, options) => {
178
+ return fetch(url, {
179
+ ...options,
180
+ signal: AbortSignal.timeout(timeout),
181
+ ...(resolvedCredentials
182
+ ? { credentials: resolvedCredentials }
183
+ : {}),
184
+ });
185
+ },
186
+ }),
187
+ ],
188
+ });
189
+ }
190
+
191
+ // ===========================
192
+ // Helpers
193
+ // ===========================
194
+
195
+ /**
196
+ * Generates a unique request ID for tracing and debugging
197
+ *
198
+ * Format: req_{timestamp}_{random}
199
+ * @example "req_m1abc23_xk9z4w2"
200
+ */
201
+ export function generateRequestId(): string {
202
+ const timestamp = Date.now().toString(36);
203
+ const random = Math.random().toString(36).slice(2, 9);
204
+ return `req_${timestamp}_${random}`;
205
+ }
206
+
207
+ /**
208
+ * Type guard for tRPC client errors
209
+ *
210
+ * @param error - Unknown error value
211
+ * @returns True if error is a TRPCClientError
212
+ *
213
+ * @example
214
+ * ```typescript
215
+ * try {
216
+ * await client.clients.create.mutate({ name: "Test" });
217
+ * } catch (error) {
218
+ * if (isTRPCError(error)) {
219
+ * console.log("tRPC error code:", error.data?.code);
220
+ * }
221
+ * }
222
+ * ```
223
+ */
224
+ export function isTRPCError(
225
+ error: unknown
226
+ ): error is TRPCClientError<AppRouter> {
227
+ return error instanceof TRPCClientError;
228
+ }
229
+
230
+ /**
231
+ * Extracts the request ID from a tRPC error if available
232
+ *
233
+ * @param error - tRPC client error
234
+ * @returns Request ID or undefined
235
+ */
236
+ export function getRequestIdFromError(
237
+ error: TRPCClientError<AppRouter>
238
+ ): string | undefined {
239
+ // The request ID may be in the error meta or headers
240
+ // This will be populated when the API returns it
241
+ return error.meta?.requestId as string | undefined;
242
+ }