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