@artu-ai/compliance-sdk 0.2.0 → 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.
- package/dist/models/Client.d.ts.map +1 -1
- package/dist/models/Client.js +21 -3
- package/dist/models/ReportItem.d.ts +2 -2
- package/dist/models/ReportItem.d.ts.map +1 -1
- package/dist/models/ReportItem.js +4 -4
- package/dist/models/mex/MexReportItem.js +1 -1
- package/dist/models/mex/actividad-vulnerable/MexActividadVulnerableReportItem.js +1 -1
- package/dist/models/mex/actividad-vulnerable/avi/MexAVIReportItem.js +1 -1
- package/dist/models/mex/actividad-vulnerable/jys/MexJYSReportItem.js +1 -1
- package/dist/models/mex/actividad-vulnerable/tsc/MexTSCReportItem.js +1 -1
- package/dist/resources/addresses.d.ts +3 -3
- package/dist/resources/addresses.d.ts.map +1 -1
- package/dist/resources/bank-accounts.d.ts +3 -3
- package/dist/resources/bank-accounts.d.ts.map +1 -1
- package/dist/resources/base.d.ts +7 -6
- package/dist/resources/base.d.ts.map +1 -1
- package/dist/resources/base.js +3 -0
- package/dist/resources/clients.d.ts +3 -3
- package/dist/resources/clients.d.ts.map +1 -1
- package/dist/resources/contact-methods.d.ts +3 -3
- package/dist/resources/contact-methods.d.ts.map +1 -1
- package/dist/resources/documents.d.ts +94 -7
- package/dist/resources/documents.d.ts.map +1 -1
- package/dist/resources/documents.js +107 -0
- package/dist/resources/index.d.ts +1 -1
- package/dist/resources/index.d.ts.map +1 -1
- package/dist/resources/index.js +1 -1
- package/dist/resources/mex/actividad-vulnerable/avi/clients.d.ts +9 -3
- package/dist/resources/mex/actividad-vulnerable/avi/clients.d.ts.map +1 -1
- package/dist/resources/mex/actividad-vulnerable/avi/clients.js +14 -1
- package/dist/resources/mex/actividad-vulnerable/avi/reports.d.ts +39 -21
- package/dist/resources/mex/actividad-vulnerable/avi/reports.d.ts.map +1 -1
- package/dist/resources/mex/actividad-vulnerable/avi/reports.js +88 -20
- package/dist/resources/mex/actividad-vulnerable/avi/transactions.d.ts +9 -3
- package/dist/resources/mex/actividad-vulnerable/avi/transactions.d.ts.map +1 -1
- package/dist/resources/mex/actividad-vulnerable/avi/transactions.js +14 -1
- package/dist/resources/mex/actividad-vulnerable/jys/clients.d.ts +10 -3
- package/dist/resources/mex/actividad-vulnerable/jys/clients.d.ts.map +1 -1
- package/dist/resources/mex/actividad-vulnerable/jys/clients.js +14 -1
- package/dist/resources/mex/actividad-vulnerable/jys/reports.d.ts +33 -11
- package/dist/resources/mex/actividad-vulnerable/jys/reports.d.ts.map +1 -1
- package/dist/resources/mex/actividad-vulnerable/jys/reports.js +82 -10
- package/dist/resources/mex/actividad-vulnerable/jys/transactions.d.ts +10 -3
- package/dist/resources/mex/actividad-vulnerable/jys/transactions.d.ts.map +1 -1
- package/dist/resources/mex/actividad-vulnerable/jys/transactions.js +14 -1
- package/dist/resources/mex/actividad-vulnerable/tsc/clients.d.ts +10 -3
- package/dist/resources/mex/actividad-vulnerable/tsc/clients.d.ts.map +1 -1
- package/dist/resources/mex/actividad-vulnerable/tsc/clients.js +14 -1
- package/dist/resources/mex/actividad-vulnerable/tsc/reports.d.ts +33 -11
- package/dist/resources/mex/actividad-vulnerable/tsc/reports.d.ts.map +1 -1
- package/dist/resources/mex/actividad-vulnerable/tsc/reports.js +82 -10
- package/dist/resources/mex/actividad-vulnerable/tsc/transactions.d.ts +10 -3
- package/dist/resources/mex/actividad-vulnerable/tsc/transactions.d.ts.map +1 -1
- package/dist/resources/mex/actividad-vulnerable/tsc/transactions.js +14 -1
- package/dist/resources/mex/addresses.d.ts +11 -3
- package/dist/resources/mex/addresses.d.ts.map +1 -1
- package/dist/resources/mex/addresses.js +16 -1
- package/dist/resources/mex/bank-accounts.d.ts +11 -3
- package/dist/resources/mex/bank-accounts.d.ts.map +1 -1
- package/dist/resources/mex/bank-accounts.js +16 -0
- package/dist/resources/mex/clients.d.ts +12 -3
- package/dist/resources/mex/clients.d.ts.map +1 -1
- package/dist/resources/mex/clients.js +17 -1
- package/dist/resources/mex/reports.d.ts +41 -19
- package/dist/resources/mex/reports.d.ts.map +1 -1
- package/dist/resources/mex/reports.js +55 -19
- package/dist/resources/mex/transactions.d.ts +11 -3
- package/dist/resources/mex/transactions.d.ts.map +1 -1
- package/dist/resources/mex/transactions.js +16 -1
- package/dist/resources/reports.d.ts +33 -39
- package/dist/resources/reports.d.ts.map +1 -1
- package/dist/resources/reports.js +34 -36
- package/dist/resources/transactions.d.ts +3 -3
- package/dist/resources/transactions.d.ts.map +1 -1
- package/dist/sdk/ComplianceSDK.d.ts +2 -0
- package/dist/sdk/ComplianceSDK.d.ts.map +1 -1
- package/dist/sdk/ComplianceSDK.js +17 -9
- package/dist/sdk/mex/ComplianceSDK.d.ts.map +1 -1
- package/dist/sdk/mex/actividad-vulnerable/avi/ComplianceSDK.d.ts.map +1 -1
- package/dist/sdk/mex/actividad-vulnerable/avi/types.d.ts +2 -2
- package/dist/sdk/mex/actividad-vulnerable/avi/types.d.ts.map +1 -1
- package/dist/sdk/mex/actividad-vulnerable/avi/types.js +1 -0
- package/dist/sdk/mex/actividad-vulnerable/jys/ComplianceSDK.d.ts.map +1 -1
- package/dist/sdk/mex/actividad-vulnerable/jys/types.d.ts +2 -2
- package/dist/sdk/mex/actividad-vulnerable/jys/types.d.ts.map +1 -1
- package/dist/sdk/mex/actividad-vulnerable/jys/types.js +1 -0
- package/dist/sdk/mex/actividad-vulnerable/tsc/ComplianceSDK.d.ts.map +1 -1
- package/dist/sdk/mex/actividad-vulnerable/tsc/types.d.ts +2 -2
- package/dist/sdk/mex/actividad-vulnerable/tsc/types.d.ts.map +1 -1
- package/dist/sdk/mex/actividad-vulnerable/tsc/types.js +1 -0
- package/dist/sdk/mex/types.d.ts +2 -2
- package/dist/sdk/mex/types.d.ts.map +1 -1
- package/dist/sdk/types.d.ts +24 -1
- package/dist/sdk/types.d.ts.map +1 -1
- package/dist/utils/environment.d.ts +24 -0
- package/dist/utils/environment.d.ts.map +1 -1
- package/dist/utils/environment.js +38 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +4 -0
- package/dist/utils/session.d.ts +20 -2
- package/dist/utils/session.d.ts.map +1 -1
- package/dist/utils/session.js +9 -1
- package/dist/utils/trpc-client.d.ts +370 -200
- package/dist/utils/trpc-client.d.ts.map +1 -1
- package/dist/utils/trpc-client.js +2 -1
- package/dist/utils/upload.d.ts +81 -0
- package/dist/utils/upload.d.ts.map +1 -0
- package/dist/utils/upload.js +261 -0
- package/package.json +9 -8
- package/src/models/Client.ts +23 -3
- package/src/models/ReportItem.ts +4 -4
- package/src/models/mex/MexReportItem.ts +1 -1
- package/src/models/mex/actividad-vulnerable/MexActividadVulnerableReportItem.ts +1 -1
- package/src/models/mex/actividad-vulnerable/avi/MexAVIReportItem.ts +1 -1
- package/src/models/mex/actividad-vulnerable/jys/MexJYSReportItem.ts +1 -1
- package/src/models/mex/actividad-vulnerable/tsc/MexTSCReportItem.ts +1 -1
- package/src/resources/addresses.ts +8 -4
- package/src/resources/bank-accounts.ts +8 -4
- package/src/resources/base.ts +9 -4
- package/src/resources/clients.ts +10 -4
- package/src/resources/contact-methods.ts +4 -2
- package/src/resources/documents.ts +185 -5
- package/src/resources/index.ts +6 -1
- package/src/resources/mex/actividad-vulnerable/avi/clients.ts +30 -8
- package/src/resources/mex/actividad-vulnerable/avi/reports.ts +122 -26
- package/src/resources/mex/actividad-vulnerable/avi/transactions.ts +20 -2
- package/src/resources/mex/actividad-vulnerable/jys/clients.ts +20 -2
- package/src/resources/mex/actividad-vulnerable/jys/reports.ts +118 -16
- package/src/resources/mex/actividad-vulnerable/jys/transactions.ts +20 -2
- package/src/resources/mex/actividad-vulnerable/tsc/clients.ts +20 -2
- package/src/resources/mex/actividad-vulnerable/tsc/reports.ts +118 -16
- package/src/resources/mex/actividad-vulnerable/tsc/transactions.ts +20 -2
- package/src/resources/mex/addresses.ts +24 -2
- package/src/resources/mex/bank-accounts.ts +26 -2
- package/src/resources/mex/clients.ts +25 -2
- package/src/resources/mex/reports.ts +94 -26
- package/src/resources/mex/transactions.ts +24 -2
- package/src/resources/reports.ts +65 -43
- package/src/resources/transactions.ts +8 -4
- package/src/sdk/ComplianceSDK.ts +23 -8
- package/src/sdk/mex/ComplianceSDK.ts +7 -0
- package/src/sdk/mex/actividad-vulnerable/avi/ComplianceSDK.ts +4 -0
- package/src/sdk/mex/actividad-vulnerable/avi/types.ts +22 -8
- package/src/sdk/mex/actividad-vulnerable/jys/ComplianceSDK.ts +3 -0
- package/src/sdk/mex/actividad-vulnerable/jys/types.ts +22 -8
- package/src/sdk/mex/actividad-vulnerable/tsc/ComplianceSDK.ts +3 -0
- package/src/sdk/mex/actividad-vulnerable/tsc/types.ts +22 -8
- package/src/sdk/mex/types.ts +6 -2
- package/src/sdk/types.ts +31 -2
- package/src/utils/environment.ts +42 -0
- package/src/utils/index.ts +19 -0
- package/src/utils/session.ts +33 -3
- package/src/utils/trpc-client.ts +10 -1
- package/src/utils/upload.ts +388 -0
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* - Returns MexClient models
|
|
9
9
|
*/
|
|
10
10
|
import { z } from "zod";
|
|
11
|
-
import { Jurisdiction, createMexClientInputSchema, updateMexClientInputSchema, linkedClientSchema, createMexAddressInputSchema, updateMexAddressInputSchema, createContactMethodInputSchema, updateContactMethodInputSchema, createBankAccountInputSchema, updateBankAccountInputSchema, replaceSyncItemSchema, } from "@artu-ai/shared";
|
|
11
|
+
import { Jurisdiction, createMexClientInputSchema, updateMexClientInputSchema, linkedClientSchema, createMexAddressInputSchema, updateMexAddressInputSchema, createContactMethodInputSchema, updateContactMethodInputSchema, createBankAccountInputSchema, updateBankAccountInputSchema, replaceSyncItemSchema, transformSort, mexClientFieldMapping, } from "@artu-ai/shared";
|
|
12
12
|
import { ClientsResource, } from "../clients";
|
|
13
13
|
import { MexClient, MexAddress, MexBankAccount, ContactMethod, } from "../../models";
|
|
14
14
|
// ===========================
|
|
@@ -107,9 +107,11 @@ export class MexClientsResource extends ClientsResource {
|
|
|
107
107
|
*/
|
|
108
108
|
async list(options) {
|
|
109
109
|
const scopedFilter = this.applyScopeToFilter(options?.filter);
|
|
110
|
+
const scopedSort = this.applyScopeToSort(options?.sort);
|
|
110
111
|
const response = await this.execute(() => this.trpc.clients.list.query({
|
|
111
112
|
...options,
|
|
112
113
|
filter: scopedFilter,
|
|
114
|
+
sort: scopedSort,
|
|
113
115
|
}));
|
|
114
116
|
return {
|
|
115
117
|
data: response.data.map((c) => this.instantiate(c)),
|
|
@@ -299,6 +301,20 @@ export class MexClientsResource extends ClientsResource {
|
|
|
299
301
|
...(hasMexFields && { jurisdictions: { MX: mexFilter } }),
|
|
300
302
|
};
|
|
301
303
|
}
|
|
304
|
+
/**
|
|
305
|
+
* Transforms a flattened MexClientSort to nested ClientSort format.
|
|
306
|
+
*
|
|
307
|
+
* Maps flattened field names (rfc, curp, actividadVulnerable.AVI.username)
|
|
308
|
+
* to their full API paths (jurisdictions.MX.rfc, etc.).
|
|
309
|
+
*
|
|
310
|
+
* Note: Uses unknown parameter to allow derived classes to override with their own sort types.
|
|
311
|
+
*/
|
|
312
|
+
applyScopeToSort(sort) {
|
|
313
|
+
if (!sort || !Array.isArray(sort) || sort.length === 0) {
|
|
314
|
+
return undefined;
|
|
315
|
+
}
|
|
316
|
+
return transformSort(sort, mexClientFieldMapping);
|
|
317
|
+
}
|
|
302
318
|
/**
|
|
303
319
|
* Transforms flattened MX input to nested API format.
|
|
304
320
|
*/
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
* - Filters list/iterate to Mexico reports only
|
|
7
7
|
* - Returns MexReport models
|
|
8
8
|
*/
|
|
9
|
-
import type { CreateReportInput, UpdateReportInput, CreateReportItemInput, UpdateReportItemInput, CreateMexReportInput, UpdateMexReportInput, CreateMexReportItemInput, UpdateMexReportItemInput, ListOptions, PaginatedResponse, AtomicBatchResult, PartialBatchResult,
|
|
10
|
-
import type { ReportFilter, MexReportFilter } from "@artu-ai/shared";
|
|
11
|
-
import { ReportsResource, type ReportItemFilter } from "../reports";
|
|
9
|
+
import type { CreateReportInput, UpdateReportInput, CreateReportItemInput, UpdateReportItemInput, CreateMexReportInput, UpdateMexReportInput, CreateMexReportItemInput, UpdateMexReportItemInput, ListOptions, PaginatedResponse, AtomicBatchResult, PartialBatchResult, MexSubmitReportInput, ValidationResult, GenerateResult, SubmissionResult, MexReportDefaultsInput, ReportDefaultsInput } from "@artu-ai/shared";
|
|
10
|
+
import type { ReportFilter, ReportSort, MexReportFilter, MexReportSort } from "@artu-ai/shared";
|
|
11
|
+
import { ReportsResource, type ReportItemFilter, type ReportItemSort } from "../reports";
|
|
12
12
|
import { MexReport, type ReportData, type ReportItemData } from "../../models";
|
|
13
13
|
import { MexReportItem } from "../../models/mex";
|
|
14
14
|
/**
|
|
@@ -39,7 +39,7 @@ import { MexReportItem } from "../../models/mex";
|
|
|
39
39
|
* // data is MexReport[]
|
|
40
40
|
* ```
|
|
41
41
|
*/
|
|
42
|
-
export declare class MexReportsResource extends ReportsResource {
|
|
42
|
+
export declare class MexReportsResource<TSort = MexReportSort, TDefaults = MexReportDefaultsInput> extends ReportsResource<TSort, TDefaults> {
|
|
43
43
|
/**
|
|
44
44
|
* Creates a new Mexico report with flattened input.
|
|
45
45
|
*/
|
|
@@ -60,7 +60,7 @@ export declare class MexReportsResource extends ReportsResource {
|
|
|
60
60
|
* Accepts flattened MX filter (future MX-specific report fields at root level).
|
|
61
61
|
* Automatically filters to reports with Mexico jurisdiction data.
|
|
62
62
|
*/
|
|
63
|
-
list(options?: ListOptions<MexReportFilter>): Promise<PaginatedResponse<MexReport>>;
|
|
63
|
+
list(options?: ListOptions<MexReportFilter, TSort>): Promise<PaginatedResponse<MexReport>>;
|
|
64
64
|
/**
|
|
65
65
|
* Iterates over Mexico reports.
|
|
66
66
|
*
|
|
@@ -99,9 +99,9 @@ export declare class MexReportsResource extends ReportsResource {
|
|
|
99
99
|
*/
|
|
100
100
|
updateItem(reportId: string, itemId: string, data: UpdateMexReportItemInput): Promise<MexReportItem>;
|
|
101
101
|
/**
|
|
102
|
-
* Lists items in a report.
|
|
102
|
+
* Lists items in a report with filtering, sorting, and pagination.
|
|
103
103
|
*/
|
|
104
|
-
listItems(reportId: string, options?: ListOptions<ReportItemFilter>): Promise<PaginatedResponse<MexReportItem>>;
|
|
104
|
+
listItems(reportId: string, options?: ListOptions<ReportItemFilter, ReportItemSort>): Promise<PaginatedResponse<MexReportItem>>;
|
|
105
105
|
/**
|
|
106
106
|
* Adds multiple items to a report with flattened Mexico input.
|
|
107
107
|
*/
|
|
@@ -114,39 +114,47 @@ export declare class MexReportsResource extends ReportsResource {
|
|
|
114
114
|
*
|
|
115
115
|
* Uses Mexico-scoped validation input (jurisdiction is implicit).
|
|
116
116
|
*
|
|
117
|
+
* @param reportId - The report ID to validate
|
|
118
|
+
* @param defaults - Mexico report defaults including activity-specific settings
|
|
119
|
+
*
|
|
117
120
|
* @example
|
|
118
121
|
* ```typescript
|
|
119
|
-
* const result = await mexSdk.reports.validateReport({
|
|
120
|
-
*
|
|
121
|
-
* actividadVulnerable: "AVI",
|
|
122
|
-
* defaults: {
|
|
122
|
+
* const result = await mexSdk.reports.validateReport(report.id, {
|
|
123
|
+
* actividadVulnerable: {
|
|
123
124
|
* rfc: "ABC200101XXX",
|
|
124
|
-
*
|
|
125
|
+
* AVI: {
|
|
126
|
+
* platformDomain: "https://example.com",
|
|
127
|
+
* alertType: "100",
|
|
128
|
+
* },
|
|
125
129
|
* },
|
|
126
130
|
* });
|
|
127
131
|
* ```
|
|
128
132
|
*/
|
|
129
|
-
validateReport(
|
|
133
|
+
validateReport(reportId: string, defaults: TDefaults): Promise<ValidationResult>;
|
|
130
134
|
/**
|
|
131
135
|
* Generates XML for a Mexico report.
|
|
132
136
|
*
|
|
133
137
|
* Uses the same input as validateReport since generation requires
|
|
134
138
|
* the same transformation and defaults.
|
|
135
139
|
*
|
|
140
|
+
* @param reportId - The report ID to generate XML for
|
|
141
|
+
* @param defaults - Mexico report defaults including activity-specific settings
|
|
142
|
+
*
|
|
136
143
|
* @example
|
|
137
144
|
* ```typescript
|
|
138
|
-
* const result = await mexSdk.reports.generateReport({
|
|
139
|
-
*
|
|
140
|
-
* actividadVulnerable: "AVI",
|
|
141
|
-
* defaults: {
|
|
145
|
+
* const result = await mexSdk.reports.generateReport(report.id, {
|
|
146
|
+
* actividadVulnerable: {
|
|
142
147
|
* rfc: "ABC200101XXX",
|
|
143
|
-
*
|
|
148
|
+
* AVI: {
|
|
149
|
+
* platformDomain: "https://example.com",
|
|
150
|
+
* alertType: "100",
|
|
151
|
+
* },
|
|
144
152
|
* },
|
|
145
153
|
* });
|
|
146
154
|
* console.log(result.xml);
|
|
147
155
|
* ```
|
|
148
156
|
*/
|
|
149
|
-
generateReport(
|
|
157
|
+
generateReport(reportId: string, defaults: TDefaults): Promise<GenerateResult>;
|
|
150
158
|
/**
|
|
151
159
|
* Submits a validated Mexico report.
|
|
152
160
|
*
|
|
@@ -176,6 +184,14 @@ export declare class MexReportsResource extends ReportsResource {
|
|
|
176
184
|
* Uses `availableJurisdictions` to find any report that includes Mexico.
|
|
177
185
|
*/
|
|
178
186
|
protected applyScopeToFilter(filter?: MexReportFilter): ReportFilter;
|
|
187
|
+
/**
|
|
188
|
+
* Transforms a flattened MexReportSort to nested ReportSort format.
|
|
189
|
+
*
|
|
190
|
+
* Maps flattened field names to their full API paths.
|
|
191
|
+
*
|
|
192
|
+
* Note: Uses unknown parameter to allow derived classes to override with their own sort types.
|
|
193
|
+
*/
|
|
194
|
+
protected applyScopeToSort(sort?: TSort): ReportSort | undefined;
|
|
179
195
|
/**
|
|
180
196
|
* Transforms flattened MX input to nested API format.
|
|
181
197
|
*/
|
|
@@ -200,5 +216,11 @@ export declare class MexReportsResource extends ReportsResource {
|
|
|
200
216
|
* Transforms flattened MX report item update input to nested API format.
|
|
201
217
|
*/
|
|
202
218
|
protected transformItemUpdateToNested(data: UpdateMexReportItemInput): UpdateReportItemInput;
|
|
219
|
+
/**
|
|
220
|
+
* Transforms flattened MX validate/generate input to nested API format.
|
|
221
|
+
*/
|
|
222
|
+
protected transformValidateToNested(reportId: string, defaults: MexReportDefaultsInput): {
|
|
223
|
+
reportId: string;
|
|
224
|
+
} & ReportDefaultsInput;
|
|
203
225
|
}
|
|
204
226
|
//# sourceMappingURL=reports.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reports.d.ts","sourceRoot":"","sources":["../../../src/resources/mex/reports.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,wBAAwB,EACxB,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,
|
|
1
|
+
{"version":3,"file":"reports.d.ts","sourceRoot":"","sources":["../../../src/resources/mex/reports.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
* - Returns MexReport models
|
|
8
8
|
*/
|
|
9
9
|
import { z } from "zod";
|
|
10
|
-
import { Jurisdiction, createMexReportInputSchema, updateMexReportInputSchema, createMexReportItemInputSchema, updateMexReportItemInputSchema,
|
|
11
|
-
import { ReportsResource } from "../reports";
|
|
10
|
+
import { Jurisdiction, createMexReportInputSchema, updateMexReportInputSchema, createMexReportItemInputSchema, updateMexReportItemInputSchema, mexSubmitReportInputSchema, transformSort, mexReportFieldMapping, mexReportDefaultsInputSchema, } from "@artu-ai/shared";
|
|
11
|
+
import { ReportsResource, } from "../reports";
|
|
12
12
|
import { MexReport } from "../../models";
|
|
13
13
|
import { MexReportItem } from "../../models/mex";
|
|
14
14
|
// ===========================
|
|
@@ -90,9 +90,11 @@ export class MexReportsResource extends ReportsResource {
|
|
|
90
90
|
*/
|
|
91
91
|
async list(options) {
|
|
92
92
|
const scopedFilter = this.applyScopeToFilter(options?.filter);
|
|
93
|
+
const scopedSort = this.applyScopeToSort(options?.sort);
|
|
93
94
|
const response = await this.execute(() => this.trpc.reports.list.query({
|
|
94
95
|
...options,
|
|
95
96
|
filter: scopedFilter,
|
|
97
|
+
sort: scopedSort,
|
|
96
98
|
}));
|
|
97
99
|
return {
|
|
98
100
|
data: response.data.map((r) => this.instantiate(r)),
|
|
@@ -193,7 +195,7 @@ export class MexReportsResource extends ReportsResource {
|
|
|
193
195
|
return this.instantiateItem(response);
|
|
194
196
|
}
|
|
195
197
|
/**
|
|
196
|
-
* Lists items in a report.
|
|
198
|
+
* Lists items in a report with filtering, sorting, and pagination.
|
|
197
199
|
*/
|
|
198
200
|
async listItems(reportId, options) {
|
|
199
201
|
const response = await this.execute(() => this.trpc.reports.listItems.query({
|
|
@@ -225,21 +227,26 @@ export class MexReportsResource extends ReportsResource {
|
|
|
225
227
|
*
|
|
226
228
|
* Uses Mexico-scoped validation input (jurisdiction is implicit).
|
|
227
229
|
*
|
|
230
|
+
* @param reportId - The report ID to validate
|
|
231
|
+
* @param defaults - Mexico report defaults including activity-specific settings
|
|
232
|
+
*
|
|
228
233
|
* @example
|
|
229
234
|
* ```typescript
|
|
230
|
-
* const result = await mexSdk.reports.validateReport({
|
|
231
|
-
*
|
|
232
|
-
* actividadVulnerable: "AVI",
|
|
233
|
-
* defaults: {
|
|
235
|
+
* const result = await mexSdk.reports.validateReport(report.id, {
|
|
236
|
+
* actividadVulnerable: {
|
|
234
237
|
* rfc: "ABC200101XXX",
|
|
235
|
-
*
|
|
238
|
+
* AVI: {
|
|
239
|
+
* platformDomain: "https://example.com",
|
|
240
|
+
* alertType: "100",
|
|
241
|
+
* },
|
|
236
242
|
* },
|
|
237
243
|
* });
|
|
238
244
|
* ```
|
|
239
245
|
*/
|
|
240
|
-
async validateReport(
|
|
241
|
-
const validated = this.validate(
|
|
242
|
-
|
|
246
|
+
async validateReport(reportId, defaults) {
|
|
247
|
+
const validated = this.validate(mexReportDefaultsInputSchema, defaults);
|
|
248
|
+
const nestedInput = this.transformValidateToNested(reportId, validated);
|
|
249
|
+
return this.execute(() => this.trpc.reports.validate.mutate(nestedInput));
|
|
243
250
|
}
|
|
244
251
|
// ─────────────────────────────────────────────────────────────────
|
|
245
252
|
// Generation
|
|
@@ -250,22 +257,27 @@ export class MexReportsResource extends ReportsResource {
|
|
|
250
257
|
* Uses the same input as validateReport since generation requires
|
|
251
258
|
* the same transformation and defaults.
|
|
252
259
|
*
|
|
260
|
+
* @param reportId - The report ID to generate XML for
|
|
261
|
+
* @param defaults - Mexico report defaults including activity-specific settings
|
|
262
|
+
*
|
|
253
263
|
* @example
|
|
254
264
|
* ```typescript
|
|
255
|
-
* const result = await mexSdk.reports.generateReport({
|
|
256
|
-
*
|
|
257
|
-
* actividadVulnerable: "AVI",
|
|
258
|
-
* defaults: {
|
|
265
|
+
* const result = await mexSdk.reports.generateReport(report.id, {
|
|
266
|
+
* actividadVulnerable: {
|
|
259
267
|
* rfc: "ABC200101XXX",
|
|
260
|
-
*
|
|
268
|
+
* AVI: {
|
|
269
|
+
* platformDomain: "https://example.com",
|
|
270
|
+
* alertType: "100",
|
|
271
|
+
* },
|
|
261
272
|
* },
|
|
262
273
|
* });
|
|
263
274
|
* console.log(result.xml);
|
|
264
275
|
* ```
|
|
265
276
|
*/
|
|
266
|
-
async generateReport(
|
|
267
|
-
const validated = this.validate(
|
|
268
|
-
|
|
277
|
+
async generateReport(reportId, defaults) {
|
|
278
|
+
const validated = this.validate(mexReportDefaultsInputSchema, defaults);
|
|
279
|
+
const nestedInput = this.transformValidateToNested(reportId, validated);
|
|
280
|
+
return this.execute(() => this.trpc.reports.generate.mutate(nestedInput));
|
|
269
281
|
}
|
|
270
282
|
// ─────────────────────────────────────────────────────────────────
|
|
271
283
|
// Submission
|
|
@@ -325,6 +337,19 @@ export class MexReportsResource extends ReportsResource {
|
|
|
325
337
|
availableJurisdictions: Jurisdiction.Mexico,
|
|
326
338
|
};
|
|
327
339
|
}
|
|
340
|
+
/**
|
|
341
|
+
* Transforms a flattened MexReportSort to nested ReportSort format.
|
|
342
|
+
*
|
|
343
|
+
* Maps flattened field names to their full API paths.
|
|
344
|
+
*
|
|
345
|
+
* Note: Uses unknown parameter to allow derived classes to override with their own sort types.
|
|
346
|
+
*/
|
|
347
|
+
applyScopeToSort(sort) {
|
|
348
|
+
if (!sort || !Array.isArray(sort) || sort.length === 0) {
|
|
349
|
+
return undefined;
|
|
350
|
+
}
|
|
351
|
+
return transformSort(sort, mexReportFieldMapping);
|
|
352
|
+
}
|
|
328
353
|
/**
|
|
329
354
|
* Transforms flattened MX input to nested API format.
|
|
330
355
|
*/
|
|
@@ -401,4 +426,15 @@ export class MexReportsResource extends ReportsResource {
|
|
|
401
426
|
},
|
|
402
427
|
};
|
|
403
428
|
}
|
|
429
|
+
/**
|
|
430
|
+
* Transforms flattened MX validate/generate input to nested API format.
|
|
431
|
+
*/
|
|
432
|
+
transformValidateToNested(reportId, defaults) {
|
|
433
|
+
return {
|
|
434
|
+
reportId,
|
|
435
|
+
jurisdictions: {
|
|
436
|
+
MX: defaults,
|
|
437
|
+
},
|
|
438
|
+
};
|
|
439
|
+
}
|
|
404
440
|
}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* - Filters list/iterate to Mexico transactions only
|
|
8
8
|
* - Returns MexTransaction models
|
|
9
9
|
*/
|
|
10
|
-
import type { CreateTransactionInput, UpdateTransactionInput, TransactionFilter, ListOptions, PaginatedResponse, CreateMexTransactionInput, UpdateMexTransactionInput, AtomicBatchResult, PartialBatchResult, RelatedClient, MexTransactionFilter } from "@artu-ai/shared";
|
|
10
|
+
import type { CreateTransactionInput, UpdateTransactionInput, TransactionFilter, TransactionSort, ListOptions, PaginatedResponse, CreateMexTransactionInput, UpdateMexTransactionInput, AtomicBatchResult, PartialBatchResult, RelatedClient, MexTransactionFilter, MexTransactionSort } from "@artu-ai/shared";
|
|
11
11
|
import { ClientRole } from "@artu-ai/shared";
|
|
12
12
|
import { TransactionsResource } from "../transactions";
|
|
13
13
|
import { MexTransaction, type TransactionData } from "../../models";
|
|
@@ -42,7 +42,7 @@ import { MexTransaction, type TransactionData } from "../../models";
|
|
|
42
42
|
* // data is MexTransaction[]
|
|
43
43
|
* ```
|
|
44
44
|
*/
|
|
45
|
-
export declare class MexTransactionsResource extends TransactionsResource {
|
|
45
|
+
export declare class MexTransactionsResource<TSort = MexTransactionSort> extends TransactionsResource<TSort> {
|
|
46
46
|
/**
|
|
47
47
|
* Creates a new Mexico transaction with flattened input.
|
|
48
48
|
*/
|
|
@@ -62,7 +62,7 @@ export declare class MexTransactionsResource extends TransactionsResource {
|
|
|
62
62
|
*
|
|
63
63
|
* Accepts flattened MX filter (future MX-specific transaction fields at root level).
|
|
64
64
|
*/
|
|
65
|
-
list(options?: ListOptions<MexTransactionFilter>): Promise<PaginatedResponse<MexTransaction>>;
|
|
65
|
+
list(options?: ListOptions<MexTransactionFilter, TSort>): Promise<PaginatedResponse<MexTransaction>>;
|
|
66
66
|
/**
|
|
67
67
|
* Iterates over Mexico transactions.
|
|
68
68
|
*
|
|
@@ -101,6 +101,14 @@ export declare class MexTransactionsResource extends TransactionsResource {
|
|
|
101
101
|
* but this method ensures the jurisdiction scope is applied.
|
|
102
102
|
*/
|
|
103
103
|
protected applyScopeToFilter(filter?: MexTransactionFilter): TransactionFilter;
|
|
104
|
+
/**
|
|
105
|
+
* Transforms a flattened MexTransactionSort to nested TransactionSort format.
|
|
106
|
+
*
|
|
107
|
+
* Maps flattened field names to their full API paths.
|
|
108
|
+
*
|
|
109
|
+
* Note: Uses unknown parameter to allow derived classes to override with their own sort types.
|
|
110
|
+
*/
|
|
111
|
+
protected applyScopeToSort(sort?: TSort): TransactionSort | undefined;
|
|
104
112
|
/**
|
|
105
113
|
* Transforms flattened MX input to nested API format.
|
|
106
114
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../../../src/resources/mex/transactions.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EACV,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACjB,WAAW,EACX,iBAAiB,EACjB,yBAAyB,EACzB,yBAAyB,EACzB,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,oBAAoB,
|
|
1
|
+
{"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../../../src/resources/mex/transactions.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* - Returns MexTransaction models
|
|
9
9
|
*/
|
|
10
10
|
import { z } from "zod";
|
|
11
|
-
import { Jurisdiction, createMexTransactionInputSchema, updateMexTransactionInputSchema, } from "@artu-ai/shared";
|
|
11
|
+
import { Jurisdiction, createMexTransactionInputSchema, updateMexTransactionInputSchema, transformSort, mexTransactionFieldMapping, } from "@artu-ai/shared";
|
|
12
12
|
import { TransactionsResource } from "../transactions";
|
|
13
13
|
import { MexTransaction } from "../../models";
|
|
14
14
|
// ===========================
|
|
@@ -92,9 +92,11 @@ export class MexTransactionsResource extends TransactionsResource {
|
|
|
92
92
|
*/
|
|
93
93
|
async list(options) {
|
|
94
94
|
const scopedFilter = this.applyScopeToFilter(options?.filter);
|
|
95
|
+
const scopedSort = this.applyScopeToSort(options?.sort);
|
|
95
96
|
const response = await this.execute(() => this.trpc.transactions.list.query({
|
|
96
97
|
...options,
|
|
97
98
|
filter: scopedFilter,
|
|
99
|
+
sort: scopedSort,
|
|
98
100
|
}));
|
|
99
101
|
return {
|
|
100
102
|
data: response.data.map((t) => this.instantiate(t)),
|
|
@@ -215,6 +217,19 @@ export class MexTransactionsResource extends TransactionsResource {
|
|
|
215
217
|
availableJurisdictions: Jurisdiction.Mexico,
|
|
216
218
|
};
|
|
217
219
|
}
|
|
220
|
+
/**
|
|
221
|
+
* Transforms a flattened MexTransactionSort to nested TransactionSort format.
|
|
222
|
+
*
|
|
223
|
+
* Maps flattened field names to their full API paths.
|
|
224
|
+
*
|
|
225
|
+
* Note: Uses unknown parameter to allow derived classes to override with their own sort types.
|
|
226
|
+
*/
|
|
227
|
+
applyScopeToSort(sort) {
|
|
228
|
+
if (!sort || !Array.isArray(sort) || sort.length === 0) {
|
|
229
|
+
return undefined;
|
|
230
|
+
}
|
|
231
|
+
return transformSort(sort, mexTransactionFieldMapping);
|
|
232
|
+
}
|
|
218
233
|
/**
|
|
219
234
|
* Transforms flattened MX input to nested API format.
|
|
220
235
|
*/
|
|
@@ -9,10 +9,10 @@
|
|
|
9
9
|
* - JYSReportsResource - Mexico JYS-scoped with flattened JYS fields
|
|
10
10
|
* - TSCReportsResource - Mexico TSC-scoped with flattened TSC fields
|
|
11
11
|
*/
|
|
12
|
-
import type { CreateReportInput, UpdateReportInput, CreateReportItemInput, UpdateReportItemInput, ReportFilter, ReportItemFilter, ValidationResult, GenerateResult, SubmitReportInput, SubmissionResult, ListOptions, PaginatedResponse, AtomicBatchResult, PartialBatchResult,
|
|
12
|
+
import type { CreateReportInput, UpdateReportInput, UpdateReportStatusInput, CreateReportItemInput, UpdateReportItemInput, ReportFilter, ReportSort, ReportItemFilter, ReportItemSort, ValidationResult, GenerateResult, SubmitReportInput, SubmissionResult, ListOptions, PaginatedResponse, AtomicBatchResult, PartialBatchResult, ReportDefaultsInput } from "@artu-ai/shared";
|
|
13
13
|
import { BaseResource } from "./base";
|
|
14
14
|
import { Report, ReportItem, type ReportData, type ReportItemData } from "../models";
|
|
15
|
-
export type { ReportFilter, ReportItemFilter };
|
|
15
|
+
export type { ReportFilter, ReportItemFilter, ReportItemSort };
|
|
16
16
|
/**
|
|
17
17
|
* Add items result
|
|
18
18
|
*/
|
|
@@ -54,7 +54,7 @@ export interface AddItemsResult {
|
|
|
54
54
|
* }
|
|
55
55
|
* ```
|
|
56
56
|
*/
|
|
57
|
-
export declare class ReportsResource extends BaseResource<Report, CreateReportInput, UpdateReportInput, ReportFilter> {
|
|
57
|
+
export declare class ReportsResource<TSort = ReportSort, TDefaults = ReportDefaultsInput> extends BaseResource<Report, CreateReportInput, UpdateReportInput, ReportFilter, TSort> {
|
|
58
58
|
/**
|
|
59
59
|
* Creates a new report.
|
|
60
60
|
*
|
|
@@ -78,6 +78,16 @@ export declare class ReportsResource extends BaseResource<Report, CreateReportIn
|
|
|
78
78
|
* Updates a report.
|
|
79
79
|
*/
|
|
80
80
|
update(id: string, data: UpdateReportInput): Promise<Report>;
|
|
81
|
+
/**
|
|
82
|
+
* Updates a report's status.
|
|
83
|
+
*
|
|
84
|
+
* Restrictions:
|
|
85
|
+
* - Can only manually set to: Draft
|
|
86
|
+
* - Cannot change from: Accepted (terminal), Submitted (awaiting response)
|
|
87
|
+
*
|
|
88
|
+
* Use this to reset a report back to Draft status for re-editing.
|
|
89
|
+
*/
|
|
90
|
+
updateStatus(id: string, data: UpdateReportStatusInput): Promise<Report>;
|
|
81
91
|
/**
|
|
82
92
|
* Deletes a report.
|
|
83
93
|
*/
|
|
@@ -85,7 +95,7 @@ export declare class ReportsResource extends BaseResource<Report, CreateReportIn
|
|
|
85
95
|
/**
|
|
86
96
|
* Lists reports with optional filtering and pagination.
|
|
87
97
|
*/
|
|
88
|
-
list(options?: ListOptions<ReportFilter>): Promise<PaginatedResponse<Report>>;
|
|
98
|
+
list(options?: ListOptions<ReportFilter, TSort>): Promise<PaginatedResponse<Report>>;
|
|
89
99
|
/**
|
|
90
100
|
* Returns an async iterator over all reports matching the filter.
|
|
91
101
|
*/
|
|
@@ -107,9 +117,9 @@ export declare class ReportsResource extends BaseResource<Report, CreateReportIn
|
|
|
107
117
|
*/
|
|
108
118
|
removeItem(reportId: string, itemId: string): Promise<void>;
|
|
109
119
|
/**
|
|
110
|
-
* Lists items in a report.
|
|
120
|
+
* Lists items in a report with filtering, sorting, and pagination.
|
|
111
121
|
*/
|
|
112
|
-
listItems(reportId: string, options?: ListOptions<ReportItemFilter>): Promise<PaginatedResponse<ReportItem>>;
|
|
122
|
+
listItems(reportId: string, options?: ListOptions<ReportItemFilter, ReportItemSort>): Promise<PaginatedResponse<ReportItem>>;
|
|
113
123
|
/**
|
|
114
124
|
* Adds multiple items to a report.
|
|
115
125
|
* Validates all items upfront - fails fast if any item is invalid.
|
|
@@ -124,43 +134,27 @@ export declare class ReportsResource extends BaseResource<Report, CreateReportIn
|
|
|
124
134
|
/**
|
|
125
135
|
* Validates a report and its items.
|
|
126
136
|
*
|
|
127
|
-
* Requires jurisdiction
|
|
137
|
+
* Requires jurisdiction-specific defaults.
|
|
128
138
|
* For scoped SDKs, use the scoped resource which provides a simpler API.
|
|
129
139
|
*
|
|
130
|
-
* @
|
|
131
|
-
*
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
*
|
|
136
|
-
* defaults: {
|
|
137
|
-
* rfc: "ABC200101XXX",
|
|
138
|
-
* platformDomain: "https://example.com",
|
|
139
|
-
* },
|
|
140
|
-
* });
|
|
141
|
-
* ```
|
|
142
|
-
*/
|
|
143
|
-
validateReport(input: ValidateReportInput): Promise<ValidationResult>;
|
|
144
|
-
/**
|
|
145
|
-
* Generates the report output (e.g., XML for Mexico reports).
|
|
140
|
+
* @param reportId - The report ID to validate
|
|
141
|
+
* @param defaults - Jurisdiction-specific defaults for validation
|
|
142
|
+
*/
|
|
143
|
+
validateReport(reportId: string, defaults: TDefaults): Promise<ValidationResult>;
|
|
144
|
+
/**
|
|
145
|
+
* Validates and generates the report output (e.g., XML for Mexico reports).
|
|
146
146
|
*
|
|
147
|
-
*
|
|
148
|
-
*
|
|
147
|
+
* Performs validation first:
|
|
148
|
+
* - If validation fails, returns `{ status: "validation_failed", validation: {...} }`
|
|
149
|
+
* - If validation passes, returns `{ status: "success", xml: "...", ... }`
|
|
149
150
|
*
|
|
150
|
-
*
|
|
151
|
-
*
|
|
152
|
-
*
|
|
153
|
-
*
|
|
154
|
-
*
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
* rfc: "ABC200101XXX",
|
|
158
|
-
* platformDomain: "https://example.com",
|
|
159
|
-
* },
|
|
160
|
-
* });
|
|
161
|
-
* ```
|
|
162
|
-
*/
|
|
163
|
-
generate(input: ValidateReportInput): Promise<GenerateResult>;
|
|
151
|
+
* Use `validateReport` for dry-run/preview validation without generating XML.
|
|
152
|
+
*
|
|
153
|
+
* @param reportId - The report ID to generate
|
|
154
|
+
* @param defaults - Jurisdiction-specific defaults for generation
|
|
155
|
+
* @returns GenerateResult with status "success" or "validation_failed"
|
|
156
|
+
*/
|
|
157
|
+
generateReport(reportId: string, defaults: TDefaults): Promise<GenerateResult>;
|
|
164
158
|
/**
|
|
165
159
|
* Submits a validated report.
|
|
166
160
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reports.d.ts","sourceRoot":"","sources":["../../src/resources/reports.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EACV,iBAAiB,EACjB,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"reports.d.ts","sourceRoot":"","sources":["../../src/resources/reports.ts"],"names":[],"mappings":"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"}
|