@artu-ai/compliance-sdk 0.9.2 → 0.10.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/exports/index.d.ts +2 -2
- package/dist/exports/index.d.ts.map +1 -1
- package/dist/exports/index.js +1 -1
- package/dist/exports/mexico/actividad-vulnerable/avi.d.ts +2 -2
- package/dist/exports/mexico/actividad-vulnerable/avi.d.ts.map +1 -1
- package/dist/exports/mexico/actividad-vulnerable/jys.d.ts +2 -2
- package/dist/exports/mexico/actividad-vulnerable/jys.d.ts.map +1 -1
- package/dist/exports/mexico/actividad-vulnerable/mjr.d.ts +2 -2
- package/dist/exports/mexico/actividad-vulnerable/mjr.d.ts.map +1 -1
- package/dist/exports/mexico/actividad-vulnerable/tsc.d.ts +2 -2
- package/dist/exports/mexico/actividad-vulnerable/tsc.d.ts.map +1 -1
- package/dist/exports/mexico/cnbv/transmisor.d.ts +1 -1
- package/dist/exports/mexico/cnbv/transmisor.d.ts.map +1 -1
- package/dist/exports/mexico/index.d.ts +1 -1
- package/dist/exports/mexico/index.d.ts.map +1 -1
- package/dist/models/Alert.d.ts +0 -4
- package/dist/models/Alert.d.ts.map +1 -1
- package/dist/models/Alert.js +0 -6
- package/dist/namespaces/mexico/actividad-vulnerable/index.d.ts +2 -2
- package/dist/namespaces/mexico/index.d.ts +3 -3
- package/dist/resources/alerts.d.ts +17 -18
- package/dist/resources/alerts.d.ts.map +1 -1
- package/dist/resources/alerts.js +28 -28
- package/dist/resources/index.d.ts +1 -0
- package/dist/resources/index.d.ts.map +1 -1
- package/dist/resources/index.js +2 -0
- package/dist/resources/mex/actividad-vulnerable/avi/alerts.d.ts +10 -23
- package/dist/resources/mex/actividad-vulnerable/avi/alerts.d.ts.map +1 -1
- package/dist/resources/mex/actividad-vulnerable/avi/alerts.js +33 -52
- package/dist/resources/mex/actividad-vulnerable/jys/alerts.d.ts +9 -13
- package/dist/resources/mex/actividad-vulnerable/jys/alerts.d.ts.map +1 -1
- package/dist/resources/mex/actividad-vulnerable/jys/alerts.js +32 -42
- package/dist/resources/mex/actividad-vulnerable/mjr/alerts.d.ts +9 -13
- package/dist/resources/mex/actividad-vulnerable/mjr/alerts.d.ts.map +1 -1
- package/dist/resources/mex/actividad-vulnerable/mjr/alerts.js +32 -42
- package/dist/resources/mex/actividad-vulnerable/tsc/alerts.d.ts +9 -13
- package/dist/resources/mex/actividad-vulnerable/tsc/alerts.d.ts.map +1 -1
- package/dist/resources/mex/actividad-vulnerable/tsc/alerts.js +32 -42
- package/dist/resources/mex/alerts.d.ts +26 -41
- package/dist/resources/mex/alerts.d.ts.map +1 -1
- package/dist/resources/mex/alerts.js +55 -60
- package/dist/resources/mex/cnbv/transmisor/alerts.d.ts +7 -6
- package/dist/resources/mex/cnbv/transmisor/alerts.d.ts.map +1 -1
- package/dist/resources/mex/cnbv/transmisor/alerts.js +27 -32
- package/dist/resources/reports.d.ts +71 -0
- package/dist/resources/reports.d.ts.map +1 -0
- package/dist/resources/reports.js +71 -0
- package/dist/sdk/ComplianceSDK.d.ts +28 -11
- package/dist/sdk/ComplianceSDK.d.ts.map +1 -1
- package/dist/sdk/ComplianceSDK.js +24 -6
- package/dist/sdk/mex/types.d.ts +2 -0
- package/dist/sdk/mex/types.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* - Returns MexTSCAlert models
|
|
7
7
|
*/
|
|
8
8
|
import { z } from "zod";
|
|
9
|
-
import { CodigoActividad, createTSCAlertInputSchema, updateTSCAlertInputSchema, upsertTSCAlertInputSchema, createTSCAlertItemInputSchema, updateTSCAlertItemInputSchema, tscDefaultsInputSchema,
|
|
9
|
+
import { CodigoActividad, ReportType, createTSCAlertInputSchema, updateTSCAlertInputSchema, upsertTSCAlertInputSchema, createTSCAlertItemInputSchema, updateTSCAlertItemInputSchema, tscDefaultsInputSchema, transformSort, tscAlertFieldMapping, } from "@artu-ai/shared";
|
|
10
10
|
import { MexAlertsResource } from "../../alerts";
|
|
11
11
|
import { MexTSCAlert, MexTSCAlertItem, } from "../../../../models";
|
|
12
12
|
// ===========================
|
|
@@ -292,16 +292,19 @@ export class TSCAlertsResource extends MexAlertsResource {
|
|
|
292
292
|
*
|
|
293
293
|
* @example
|
|
294
294
|
* ```typescript
|
|
295
|
-
* const result = await tscSdk.alerts.
|
|
295
|
+
* const result = await tscSdk.alerts.validateReport(alert.id, {
|
|
296
296
|
* rfc: "ABC200101XXX",
|
|
297
297
|
* alertType: "100",
|
|
298
298
|
* });
|
|
299
299
|
* ```
|
|
300
300
|
*/
|
|
301
|
-
|
|
302
|
-
|
|
301
|
+
// @ts-expect-error - Scoped SDK provides simpler API without requiring reportType
|
|
302
|
+
async validateReport(alertId, defaults) {
|
|
303
|
+
const validated = defaults
|
|
304
|
+
? this.validate(tscDefaultsInputSchema, defaults)
|
|
305
|
+
: undefined;
|
|
303
306
|
const nestedInput = this.transformTscDefaultsToNested(alertId, validated);
|
|
304
|
-
return this.execute(() => this.trpc.alerts.
|
|
307
|
+
return this.execute(() => this.trpc.alerts.validateReport.mutate(nestedInput));
|
|
305
308
|
}
|
|
306
309
|
// ─────────────────────────────────────────────────────────────────
|
|
307
310
|
// Generation
|
|
@@ -309,40 +312,18 @@ export class TSCAlertsResource extends MexAlertsResource {
|
|
|
309
312
|
/**
|
|
310
313
|
* Generates XML for a TSC alert.
|
|
311
314
|
*
|
|
312
|
-
* Uses the same input as
|
|
315
|
+
* Uses the same input as validateReport.
|
|
313
316
|
*
|
|
314
317
|
* @param alertId - The alert ID to generate XML for
|
|
315
318
|
* @param defaults - TSC alert defaults including rfc, alertType, etc.
|
|
316
319
|
*/
|
|
317
|
-
|
|
318
|
-
|
|
320
|
+
// @ts-expect-error - Scoped SDK provides simpler API without requiring reportType
|
|
321
|
+
async generateReport(alertId, defaults) {
|
|
322
|
+
const validated = defaults
|
|
323
|
+
? this.validate(tscDefaultsInputSchema, defaults)
|
|
324
|
+
: undefined;
|
|
319
325
|
const nestedInput = this.transformTscDefaultsToNested(alertId, validated);
|
|
320
|
-
return this.execute(() => this.trpc.alerts.
|
|
321
|
-
}
|
|
322
|
-
// ─────────────────────────────────────────────────────────────────
|
|
323
|
-
// Submission
|
|
324
|
-
// ─────────────────────────────────────────────────────────────────
|
|
325
|
-
/**
|
|
326
|
-
* Submits a validated TSC alert.
|
|
327
|
-
*
|
|
328
|
-
* Uses TSC-scoped submission input (activity is implicit).
|
|
329
|
-
*/
|
|
330
|
-
async submit(input) {
|
|
331
|
-
const validated = this.validate(submitTSCSubmissionInputSchema, input);
|
|
332
|
-
const jurisdictions = {
|
|
333
|
-
MX: {
|
|
334
|
-
actividadVulnerable: {
|
|
335
|
-
[CodigoActividad.TSC]: {
|
|
336
|
-
acuseRecibo: validated.acuseRecibo,
|
|
337
|
-
notes: validated.notes,
|
|
338
|
-
},
|
|
339
|
-
},
|
|
340
|
-
},
|
|
341
|
-
};
|
|
342
|
-
return this.execute(() => this.trpc.alerts.submit.mutate({
|
|
343
|
-
alertId: validated.alertId,
|
|
344
|
-
jurisdictions,
|
|
345
|
-
}));
|
|
326
|
+
return this.execute(() => this.trpc.alerts.generateReport.mutate(nestedInput));
|
|
346
327
|
}
|
|
347
328
|
// ─────────────────────────────────────────────────────────────────
|
|
348
329
|
// Protected Helpers
|
|
@@ -444,17 +425,26 @@ export class TSCAlertsResource extends MexAlertsResource {
|
|
|
444
425
|
* Transforms TSC defaults to nested API format for validate/generate.
|
|
445
426
|
*/
|
|
446
427
|
transformTscDefaultsToNested(alertId, defaults) {
|
|
428
|
+
if (!defaults) {
|
|
429
|
+
return {
|
|
430
|
+
alertId,
|
|
431
|
+
reportType: ReportType.MexActividadVulnerableTSC,
|
|
432
|
+
};
|
|
433
|
+
}
|
|
447
434
|
const { rfc, collegiateEntityCode, exempt, priority, ...tscFields } = defaults;
|
|
448
435
|
return {
|
|
449
436
|
alertId,
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
437
|
+
reportType: ReportType.MexActividadVulnerableTSC,
|
|
438
|
+
defaults: {
|
|
439
|
+
jurisdictions: {
|
|
440
|
+
MX: {
|
|
441
|
+
actividadVulnerable: {
|
|
442
|
+
rfc,
|
|
443
|
+
collegiateEntityCode,
|
|
444
|
+
exempt,
|
|
445
|
+
priority,
|
|
446
|
+
[CodigoActividad.TSC]: tscFields,
|
|
447
|
+
},
|
|
458
448
|
},
|
|
459
449
|
},
|
|
460
450
|
},
|
|
@@ -6,11 +6,10 @@
|
|
|
6
6
|
* - Transforms flattened filters to nested format
|
|
7
7
|
* - Returns MexAlert models
|
|
8
8
|
*/
|
|
9
|
-
import type {
|
|
10
|
-
import
|
|
11
|
-
import { AlertsResource, type AlertItemFilter, type AlertItemSort } from "../alerts";
|
|
12
|
-
import { MexAlert, type AlertData, type AlertItemData } from "../../models";
|
|
9
|
+
import type { AlertFilter, AlertSort, AtomicBatchResult, CreateAlertInput, CreateAlertItemInput, CreateMexAlertInput, CreateMexAlertItemInput, GenerateReportInput, GenerateResult, ListOptions, MexAlertDefaultsInput, MexAlertFilter, MexAlertSort, PaginatedResponse, PartialBatchResult, ReportType, UpdateAlertInput, UpdateAlertItemInput, UpdateMexAlertInput, UpdateMexAlertItemInput, UpsertMexAlertInput, UpsertResult, ValidateReportInput, ValidationResult } from "@artu-ai/shared";
|
|
10
|
+
import { type AlertData, type AlertItemData, MexAlert } from "../../models";
|
|
13
11
|
import { MexAlertItem } from "../../models/mex";
|
|
12
|
+
import { type AlertItemFilter, type AlertItemSort, AlertsResource } from "../alerts";
|
|
14
13
|
/**
|
|
15
14
|
* Mexico-scoped alerts resource.
|
|
16
15
|
*
|
|
@@ -150,7 +149,7 @@ export declare class MexAlertsResource<TSort = MexAlertSort, TDefaults = MexAler
|
|
|
150
149
|
*
|
|
151
150
|
* @example
|
|
152
151
|
* ```typescript
|
|
153
|
-
* const result = await mexSdk.alerts.
|
|
152
|
+
* const result = await mexSdk.alerts.validateReport(alert.id, {
|
|
154
153
|
* actividadVulnerable: {
|
|
155
154
|
* rfc: "ABC200101XXX",
|
|
156
155
|
* AVI: {
|
|
@@ -161,52 +160,36 @@ export declare class MexAlertsResource<TSort = MexAlertSort, TDefaults = MexAler
|
|
|
161
160
|
* });
|
|
162
161
|
* ```
|
|
163
162
|
*/
|
|
164
|
-
|
|
163
|
+
validateReport(alertId: string, reportType: ReportType, defaults?: TDefaults): Promise<ValidationResult>;
|
|
165
164
|
/**
|
|
166
165
|
* Generates XML for a Mexico alert.
|
|
167
166
|
*
|
|
168
|
-
* Uses the same input as
|
|
167
|
+
* Uses the same input as validateReport since generation requires
|
|
169
168
|
* the same transformation and defaults.
|
|
170
169
|
*
|
|
171
170
|
* @param alertId - The alert ID to generate XML for
|
|
172
|
-
* @param
|
|
171
|
+
* @param reportType - The report type (e.g., "mex.actividad-vulnerable.avi")
|
|
172
|
+
* @param defaults - Mexico alert defaults including activity-specific settings (optional)
|
|
173
173
|
*
|
|
174
174
|
* @example
|
|
175
175
|
* ```typescript
|
|
176
|
-
* const result = await mexSdk.alerts.
|
|
177
|
-
*
|
|
178
|
-
*
|
|
179
|
-
*
|
|
180
|
-
*
|
|
181
|
-
*
|
|
176
|
+
* const result = await mexSdk.alerts.generateReport(
|
|
177
|
+
* alert.id,
|
|
178
|
+
* ReportType.MexActividadVulnerableAVI,
|
|
179
|
+
* {
|
|
180
|
+
* actividadVulnerable: {
|
|
181
|
+
* rfc: "ABC200101XXX",
|
|
182
|
+
* AVI: {
|
|
183
|
+
* platformDomain: "https://example.com",
|
|
184
|
+
* alertType: "100",
|
|
185
|
+
* },
|
|
182
186
|
* },
|
|
183
187
|
* },
|
|
184
|
-
* });
|
|
185
|
-
* console.log(result.xml);
|
|
186
|
-
* ```
|
|
187
|
-
*/
|
|
188
|
-
generateAlert(alertId: string, defaults: TDefaults): Promise<GenerateResult>;
|
|
189
|
-
/**
|
|
190
|
-
* Submits a validated Mexico alert.
|
|
191
|
-
*
|
|
192
|
-
* The alert must be in "valid" status. After submission, the alert
|
|
193
|
-
* is locked and cannot be edited (except rejected alerts which can
|
|
194
|
-
* be edited and resubmitted).
|
|
195
|
-
*
|
|
196
|
-
* @param alertId - The alert ID
|
|
197
|
-
* @param actividadVulnerable - The activity type (AVI, JYS, or TSC)
|
|
198
|
-
* @param data - Optional submission data (acuseRecibo, notes)
|
|
199
|
-
*
|
|
200
|
-
* @example
|
|
201
|
-
* ```typescript
|
|
202
|
-
* const result = await mexSdk.alerts.submitAlert(
|
|
203
|
-
* alert.id,
|
|
204
|
-
* "AVI",
|
|
205
|
-
* { acuseRecibo: "SAT-12345", notes: "Submitted via portal" }
|
|
206
188
|
* );
|
|
189
|
+
* console.log(result.xml);
|
|
207
190
|
* ```
|
|
208
191
|
*/
|
|
209
|
-
|
|
192
|
+
generateReport(alertId: string, reportType: ReportType, defaults?: TDefaults): Promise<GenerateResult>;
|
|
210
193
|
/**
|
|
211
194
|
* Transforms a flattened MexAlertFilter to nested AlertFilter format.
|
|
212
195
|
*
|
|
@@ -257,10 +240,12 @@ export declare class MexAlertsResource<TSort = MexAlertSort, TDefaults = MexAler
|
|
|
257
240
|
*/
|
|
258
241
|
protected transformItemUpdateToNested(data: UpdateMexAlertItemInput): UpdateAlertItemInput;
|
|
259
242
|
/**
|
|
260
|
-
* Transforms flattened MX validate
|
|
243
|
+
* Transforms flattened MX validate input to nested API format.
|
|
244
|
+
*/
|
|
245
|
+
protected transformValidateToNested(alertId: string, reportType: ReportType, defaults?: MexAlertDefaultsInput): ValidateReportInput;
|
|
246
|
+
/**
|
|
247
|
+
* Transforms flattened MX generate input to nested API format.
|
|
261
248
|
*/
|
|
262
|
-
protected
|
|
263
|
-
alertId: string;
|
|
264
|
-
} & AlertDefaultsInput;
|
|
249
|
+
protected transformGenerateToNested(alertId: string, reportType: ReportType, defaults?: MexAlertDefaultsInput): GenerateReportInput;
|
|
265
250
|
}
|
|
266
251
|
//# sourceMappingURL=alerts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alerts.d.ts","sourceRoot":"","sources":["../../../src/resources/mex/alerts.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"alerts.d.ts","sourceRoot":"","sources":["../../../src/resources/mex/alerts.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
* - Transforms flattened filters to nested format
|
|
7
7
|
* - Returns MexAlert models
|
|
8
8
|
*/
|
|
9
|
+
import { createMexAlertInputSchema, createMexAlertItemInputSchema, mexAlertDefaultsInputSchema, mexAlertFieldMapping, transformSort, updateMexAlertInputSchema, updateMexAlertItemInputSchema, upsertMexAlertInputSchema, } from "@artu-ai/shared";
|
|
9
10
|
import { z } from "zod";
|
|
10
|
-
import { createMexAlertInputSchema, updateMexAlertInputSchema, upsertMexAlertInputSchema, createMexAlertItemInputSchema, updateMexAlertItemInputSchema, mexSubmitAlertInputSchema, transformSort, mexAlertFieldMapping, mexAlertDefaultsInputSchema, } from "@artu-ai/shared";
|
|
11
|
-
import { AlertsResource, } from "../alerts";
|
|
12
11
|
import { MexAlert } from "../../models";
|
|
13
12
|
import { MexAlertItem } from "../../models/mex";
|
|
13
|
+
import { AlertsResource, } from "../alerts";
|
|
14
14
|
// ===========================
|
|
15
15
|
// MexAlertsResource
|
|
16
16
|
// ===========================
|
|
@@ -297,7 +297,7 @@ export class MexAlertsResource extends AlertsResource {
|
|
|
297
297
|
*
|
|
298
298
|
* @example
|
|
299
299
|
* ```typescript
|
|
300
|
-
* const result = await mexSdk.alerts.
|
|
300
|
+
* const result = await mexSdk.alerts.validateReport(alert.id, {
|
|
301
301
|
* actividadVulnerable: {
|
|
302
302
|
* rfc: "ABC200101XXX",
|
|
303
303
|
* AVI: {
|
|
@@ -308,10 +308,12 @@ export class MexAlertsResource extends AlertsResource {
|
|
|
308
308
|
* });
|
|
309
309
|
* ```
|
|
310
310
|
*/
|
|
311
|
-
async
|
|
312
|
-
const validated =
|
|
313
|
-
|
|
314
|
-
|
|
311
|
+
async validateReport(alertId, reportType, defaults) {
|
|
312
|
+
const validated = defaults
|
|
313
|
+
? this.validate(mexAlertDefaultsInputSchema, defaults)
|
|
314
|
+
: undefined;
|
|
315
|
+
const nestedInput = this.transformValidateToNested(alertId, reportType, validated);
|
|
316
|
+
return this.execute(() => this.trpc.alerts.validateReport.mutate(nestedInput));
|
|
315
317
|
}
|
|
316
318
|
// ─────────────────────────────────────────────────────────────────
|
|
317
319
|
// Generation
|
|
@@ -319,65 +321,37 @@ export class MexAlertsResource extends AlertsResource {
|
|
|
319
321
|
/**
|
|
320
322
|
* Generates XML for a Mexico alert.
|
|
321
323
|
*
|
|
322
|
-
* Uses the same input as
|
|
324
|
+
* Uses the same input as validateReport since generation requires
|
|
323
325
|
* the same transformation and defaults.
|
|
324
326
|
*
|
|
325
327
|
* @param alertId - The alert ID to generate XML for
|
|
326
|
-
* @param
|
|
328
|
+
* @param reportType - The report type (e.g., "mex.actividad-vulnerable.avi")
|
|
329
|
+
* @param defaults - Mexico alert defaults including activity-specific settings (optional)
|
|
327
330
|
*
|
|
328
331
|
* @example
|
|
329
332
|
* ```typescript
|
|
330
|
-
* const result = await mexSdk.alerts.
|
|
331
|
-
*
|
|
332
|
-
*
|
|
333
|
-
*
|
|
334
|
-
*
|
|
335
|
-
*
|
|
333
|
+
* const result = await mexSdk.alerts.generateReport(
|
|
334
|
+
* alert.id,
|
|
335
|
+
* ReportType.MexActividadVulnerableAVI,
|
|
336
|
+
* {
|
|
337
|
+
* actividadVulnerable: {
|
|
338
|
+
* rfc: "ABC200101XXX",
|
|
339
|
+
* AVI: {
|
|
340
|
+
* platformDomain: "https://example.com",
|
|
341
|
+
* alertType: "100",
|
|
342
|
+
* },
|
|
336
343
|
* },
|
|
337
344
|
* },
|
|
338
|
-
* });
|
|
339
|
-
* console.log(result.xml);
|
|
340
|
-
* ```
|
|
341
|
-
*/
|
|
342
|
-
async generateAlert(alertId, defaults) {
|
|
343
|
-
const validated = this.validate(mexAlertDefaultsInputSchema, defaults);
|
|
344
|
-
const nestedInput = this.transformValidateToNested(alertId, validated);
|
|
345
|
-
return this.execute(() => this.trpc.alerts.generate.mutate(nestedInput));
|
|
346
|
-
}
|
|
347
|
-
// ─────────────────────────────────────────────────────────────────
|
|
348
|
-
// Submission
|
|
349
|
-
// ─────────────────────────────────────────────────────────────────
|
|
350
|
-
/**
|
|
351
|
-
* Submits a validated Mexico alert.
|
|
352
|
-
*
|
|
353
|
-
* The alert must be in "valid" status. After submission, the alert
|
|
354
|
-
* is locked and cannot be edited (except rejected alerts which can
|
|
355
|
-
* be edited and resubmitted).
|
|
356
|
-
*
|
|
357
|
-
* @param alertId - The alert ID
|
|
358
|
-
* @param actividadVulnerable - The activity type (AVI, JYS, or TSC)
|
|
359
|
-
* @param data - Optional submission data (acuseRecibo, notes)
|
|
360
|
-
*
|
|
361
|
-
* @example
|
|
362
|
-
* ```typescript
|
|
363
|
-
* const result = await mexSdk.alerts.submitAlert(
|
|
364
|
-
* alert.id,
|
|
365
|
-
* "AVI",
|
|
366
|
-
* { acuseRecibo: "SAT-12345", notes: "Submitted via portal" }
|
|
367
345
|
* );
|
|
346
|
+
* console.log(result.xml);
|
|
368
347
|
* ```
|
|
369
348
|
*/
|
|
370
|
-
async
|
|
371
|
-
const validated =
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
};
|
|
377
|
-
return this.execute(() => this.trpc.alerts.submit.mutate({
|
|
378
|
-
alertId: validated.alertId,
|
|
379
|
-
jurisdictions,
|
|
380
|
-
}));
|
|
349
|
+
async generateReport(alertId, reportType, defaults) {
|
|
350
|
+
const validated = defaults
|
|
351
|
+
? this.validate(mexAlertDefaultsInputSchema, defaults)
|
|
352
|
+
: undefined;
|
|
353
|
+
const nestedInput = this.transformGenerateToNested(alertId, reportType, validated);
|
|
354
|
+
return this.execute(() => this.trpc.alerts.generateReport.mutate(nestedInput));
|
|
381
355
|
}
|
|
382
356
|
// ─────────────────────────────────────────────────────────────────
|
|
383
357
|
// Protected Helpers
|
|
@@ -496,14 +470,35 @@ export class MexAlertsResource extends AlertsResource {
|
|
|
496
470
|
};
|
|
497
471
|
}
|
|
498
472
|
/**
|
|
499
|
-
* Transforms flattened MX validate
|
|
473
|
+
* Transforms flattened MX validate input to nested API format.
|
|
500
474
|
*/
|
|
501
|
-
transformValidateToNested(alertId, defaults) {
|
|
475
|
+
transformValidateToNested(alertId, reportType, defaults) {
|
|
502
476
|
return {
|
|
503
477
|
alertId,
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
478
|
+
reportType,
|
|
479
|
+
defaults: defaults
|
|
480
|
+
? {
|
|
481
|
+
jurisdictions: {
|
|
482
|
+
MX: defaults,
|
|
483
|
+
},
|
|
484
|
+
}
|
|
485
|
+
: undefined,
|
|
486
|
+
};
|
|
487
|
+
}
|
|
488
|
+
/**
|
|
489
|
+
* Transforms flattened MX generate input to nested API format.
|
|
490
|
+
*/
|
|
491
|
+
transformGenerateToNested(alertId, reportType, defaults) {
|
|
492
|
+
return {
|
|
493
|
+
alertId,
|
|
494
|
+
reportType,
|
|
495
|
+
defaults: defaults
|
|
496
|
+
? {
|
|
497
|
+
jurisdictions: {
|
|
498
|
+
MX: defaults,
|
|
499
|
+
},
|
|
500
|
+
}
|
|
501
|
+
: undefined,
|
|
507
502
|
};
|
|
508
503
|
}
|
|
509
504
|
}
|
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
* - Returns MexTransmisorAlert models
|
|
7
7
|
* - Nests Transmisor fields under jurisdictions.MX.cnbv.TRANSMISOR
|
|
8
8
|
*/
|
|
9
|
-
import type { CreateAlertInput, UpdateAlertInput, CreateAlertItemInput, UpdateAlertItemInput, CreateTransmisorAlertInput, UpdateTransmisorAlertInput, UpsertTransmisorAlertInput, CreateTransmisorAlertItemInput, UpdateTransmisorAlertItemInput,
|
|
9
|
+
import type { CreateAlertInput, UpdateAlertInput, CreateAlertItemInput, UpdateAlertItemInput, CreateTransmisorAlertInput, UpdateTransmisorAlertInput, UpsertTransmisorAlertInput, CreateTransmisorAlertItemInput, UpdateTransmisorAlertItemInput, ListOptions, PaginatedResponse, AtomicBatchResult, PartialBatchResult, ValidationResult, GenerateResult, TransmisorAlertDefaultsInput, UpsertResult } from "@artu-ai/shared";
|
|
10
|
+
import { ReportType } from "@artu-ai/shared";
|
|
10
11
|
import type { TransmisorAlertFilter, TransmisorAlertSort, TransmisorAlertItemFilter, AlertSort, AlertItemFilter, AlertItemSort } from "@artu-ai/shared";
|
|
11
12
|
import { MexAlertsResource } from "../../alerts";
|
|
12
13
|
import { MexTransmisorAlert, MexTransmisorAlertItem, type AlertData, type AlertItemData } from "../../../../models";
|
|
@@ -51,9 +52,8 @@ export declare class TransmisorAlertsResource extends MexAlertsResource<Transmis
|
|
|
51
52
|
added: number;
|
|
52
53
|
items: MexTransmisorAlertItem[];
|
|
53
54
|
}>;
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
submit(input: SubmitTransmisorAlertInput): Promise<SubmissionResult>;
|
|
55
|
+
validateReport(alertId: string, defaults?: TransmisorAlertDefaultsInput): Promise<ValidationResult>;
|
|
56
|
+
generateReport(alertId: string, defaults?: TransmisorAlertDefaultsInput): Promise<GenerateResult>;
|
|
57
57
|
protected applyScopeToSort(sort?: TransmisorAlertSort): AlertSort | undefined;
|
|
58
58
|
protected transformToNested(data: CreateTransmisorAlertInput): CreateAlertInput;
|
|
59
59
|
protected transformUpdateToNested(data: UpdateTransmisorAlertInput): UpdateAlertInput;
|
|
@@ -64,9 +64,10 @@ export declare class TransmisorAlertsResource extends MexAlertsResource<Transmis
|
|
|
64
64
|
/**
|
|
65
65
|
* Transforms Transmisor defaults to nested API format for validate/generate.
|
|
66
66
|
*/
|
|
67
|
-
protected transformDefaultsToNested(alertId: string, defaults
|
|
67
|
+
protected transformDefaultsToNested(alertId: string, defaults?: TransmisorAlertDefaultsInput): {
|
|
68
68
|
alertId: string;
|
|
69
|
-
|
|
69
|
+
reportType: ReportType;
|
|
70
|
+
defaults?: unknown;
|
|
70
71
|
};
|
|
71
72
|
}
|
|
72
73
|
//# sourceMappingURL=alerts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"alerts.d.ts","sourceRoot":"","sources":["../../../../../src/resources/mex/cnbv/transmisor/alerts.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EACX,gBAAgB,EAChB,gBAAgB,EAEhB,oBAAoB,EACpB,oBAAoB,EACpB,0BAA0B,EAC1B,0BAA0B,EAC1B,0BAA0B,EAC1B,8BAA8B,EAC9B,8BAA8B,EAC9B,
|
|
1
|
+
{"version":3,"file":"alerts.d.ts","sourceRoot":"","sources":["../../../../../src/resources/mex/cnbv/transmisor/alerts.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* - Nests Transmisor fields under jurisdictions.MX.cnbv.TRANSMISOR
|
|
8
8
|
*/
|
|
9
9
|
import { z } from "zod";
|
|
10
|
-
import { createTransmisorAlertInputSchema, updateTransmisorAlertInputSchema, upsertTransmisorAlertInputSchema, createTransmisorAlertItemInputSchema, updateTransmisorAlertItemInputSchema,
|
|
10
|
+
import { ReportType, createTransmisorAlertInputSchema, updateTransmisorAlertInputSchema, upsertTransmisorAlertInputSchema, createTransmisorAlertItemInputSchema, updateTransmisorAlertItemInputSchema, transmisorDefaultsInputSchema, transformSort, transmisorAlertFieldMapping, } from "@artu-ai/shared";
|
|
11
11
|
import { MexAlertsResource } from "../../alerts";
|
|
12
12
|
import { MexTransmisorAlert, MexTransmisorAlertItem, } from "../../../../models";
|
|
13
13
|
// ===========================
|
|
@@ -198,38 +198,24 @@ export class TransmisorAlertsResource extends MexAlertsResource {
|
|
|
198
198
|
// ─────────────────────────────────────────────────────────────────
|
|
199
199
|
// Validation
|
|
200
200
|
// ─────────────────────────────────────────────────────────────────
|
|
201
|
-
|
|
202
|
-
|
|
201
|
+
// @ts-expect-error - Scoped SDK provides simpler API without requiring reportType
|
|
202
|
+
async validateReport(alertId, defaults) {
|
|
203
|
+
const validated = defaults
|
|
204
|
+
? this.validate(transmisorDefaultsInputSchema, defaults)
|
|
205
|
+
: undefined;
|
|
203
206
|
const nestedInput = this.transformDefaultsToNested(alertId, validated);
|
|
204
|
-
return this.execute(() => this.trpc.alerts.
|
|
207
|
+
return this.execute(() => this.trpc.alerts.validateReport.mutate(nestedInput));
|
|
205
208
|
}
|
|
206
209
|
// ─────────────────────────────────────────────────────────────────
|
|
207
210
|
// Generation
|
|
208
211
|
// ─────────────────────────────────────────────────────────────────
|
|
209
|
-
|
|
210
|
-
|
|
212
|
+
// @ts-expect-error - Scoped SDK provides simpler API without requiring reportType
|
|
213
|
+
async generateReport(alertId, defaults) {
|
|
214
|
+
const validated = defaults
|
|
215
|
+
? this.validate(transmisorDefaultsInputSchema, defaults)
|
|
216
|
+
: undefined;
|
|
211
217
|
const nestedInput = this.transformDefaultsToNested(alertId, validated);
|
|
212
|
-
return this.execute(() => this.trpc.alerts.
|
|
213
|
-
}
|
|
214
|
-
// ─────────────────────────────────────────────────────────────────
|
|
215
|
-
// Submission
|
|
216
|
-
// ─────────────────────────────────────────────────────────────────
|
|
217
|
-
async submit(input) {
|
|
218
|
-
const validated = this.validate(submitTransmisorAlertInputSchema, input);
|
|
219
|
-
const jurisdictions = {
|
|
220
|
-
MX: {
|
|
221
|
-
cnbv: {
|
|
222
|
-
TRANSMISOR: {
|
|
223
|
-
acuseRecibo: validated.acuseRecibo,
|
|
224
|
-
notes: validated.notes,
|
|
225
|
-
},
|
|
226
|
-
},
|
|
227
|
-
},
|
|
228
|
-
};
|
|
229
|
-
return this.execute(() => this.trpc.alerts.submit.mutate({
|
|
230
|
-
alertId: validated.alertId,
|
|
231
|
-
jurisdictions,
|
|
232
|
-
}));
|
|
218
|
+
return this.execute(() => this.trpc.alerts.generateReport.mutate(nestedInput));
|
|
233
219
|
}
|
|
234
220
|
// ─────────────────────────────────────────────────────────────────
|
|
235
221
|
// Protected Helpers
|
|
@@ -349,13 +335,22 @@ export class TransmisorAlertsResource extends MexAlertsResource {
|
|
|
349
335
|
* Transforms Transmisor defaults to nested API format for validate/generate.
|
|
350
336
|
*/
|
|
351
337
|
transformDefaultsToNested(alertId, defaults) {
|
|
338
|
+
if (!defaults) {
|
|
339
|
+
return {
|
|
340
|
+
alertId,
|
|
341
|
+
reportType: ReportType.MexCNBVTransmisor,
|
|
342
|
+
};
|
|
343
|
+
}
|
|
352
344
|
return {
|
|
353
345
|
alertId,
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
346
|
+
reportType: ReportType.MexCNBVTransmisor,
|
|
347
|
+
defaults: {
|
|
348
|
+
jurisdictions: {
|
|
349
|
+
MX: {
|
|
350
|
+
cnbv: {
|
|
351
|
+
...defaults,
|
|
352
|
+
TRANSMISOR: defaults,
|
|
353
|
+
},
|
|
359
354
|
},
|
|
360
355
|
},
|
|
361
356
|
},
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Reports Resource
|
|
3
|
+
*
|
|
4
|
+
* Read-only operations for generated report files.
|
|
5
|
+
* Reports are generated from alerts and stored in S3 with hash-based deduplication.
|
|
6
|
+
*/
|
|
7
|
+
import type { ReportResponse, ReportDownloadUrl, ReportFilter, ReportSort, ListOptions, PaginatedResponse } from "@artu-ai/shared";
|
|
8
|
+
import type { TRPCClient } from "../utils/trpc-client";
|
|
9
|
+
export type { ReportFilter, ReportSort, ReportDownloadUrl };
|
|
10
|
+
/**
|
|
11
|
+
* Report model (read-only)
|
|
12
|
+
*/
|
|
13
|
+
export type Report = ReportResponse;
|
|
14
|
+
/**
|
|
15
|
+
* Resource manager for report operations.
|
|
16
|
+
*
|
|
17
|
+
* Reports are generated from alerts and stored in S3. This resource provides
|
|
18
|
+
* read-only access to retrieve, list, and download reports.
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* // Get a specific report
|
|
23
|
+
* const report = await sdk.reports.retrieve("report_123");
|
|
24
|
+
*
|
|
25
|
+
* // List reports for an alert
|
|
26
|
+
* const reports = await sdk.reports.listByAlert("alert_123");
|
|
27
|
+
*
|
|
28
|
+
* // Get download URL
|
|
29
|
+
* const { url } = await sdk.reports.getDownloadUrl("report_123");
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export declare class ReportsResource {
|
|
33
|
+
private readonly trpc;
|
|
34
|
+
constructor(trpc: TRPCClient);
|
|
35
|
+
/**
|
|
36
|
+
* Retrieves a report by ID.
|
|
37
|
+
*/
|
|
38
|
+
retrieve(id: string): Promise<Report>;
|
|
39
|
+
/**
|
|
40
|
+
* Lists reports with optional filtering and pagination.
|
|
41
|
+
*/
|
|
42
|
+
list(options?: ListOptions<ReportFilter, ReportSort>): Promise<PaginatedResponse<Report>>;
|
|
43
|
+
/**
|
|
44
|
+
* Lists reports for a specific alert with pagination.
|
|
45
|
+
*
|
|
46
|
+
* @param alertId - The alert ID
|
|
47
|
+
* @param options - Pagination and filter options
|
|
48
|
+
*/
|
|
49
|
+
listByAlert(alertId: string, options?: {
|
|
50
|
+
/** If true (default), only returns current versions */
|
|
51
|
+
currentOnly?: boolean;
|
|
52
|
+
/** Pagination limit */
|
|
53
|
+
limit?: number;
|
|
54
|
+
/** Pagination offset */
|
|
55
|
+
offset?: number;
|
|
56
|
+
/** Include total count in response */
|
|
57
|
+
includeTotalCount?: boolean;
|
|
58
|
+
/** Sort options */
|
|
59
|
+
sort?: ReportSort;
|
|
60
|
+
}): Promise<PaginatedResponse<Report>>;
|
|
61
|
+
/**
|
|
62
|
+
* Gets a presigned download URL for a report file.
|
|
63
|
+
*
|
|
64
|
+
* The URL is valid for a limited time (typically 15 minutes).
|
|
65
|
+
*
|
|
66
|
+
* @param id - Report ID
|
|
67
|
+
* @returns Presigned URL with metadata
|
|
68
|
+
*/
|
|
69
|
+
getDownloadUrl(id: string): Promise<ReportDownloadUrl>;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=reports.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reports.d.ts","sourceRoot":"","sources":["../../src/resources/reports.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACX,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,UAAU,EACV,WAAW,EACX,iBAAiB,EACjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAMvD,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC;AAE5D;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,cAAc,CAAC;AAMpC;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,eAAe;IACf,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,UAAU;IAM7C;;OAEG;IACG,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI3C;;OAEG;IACG,IAAI,CACT,OAAO,CAAC,EAAE,WAAW,CAAC,YAAY,EAAE,UAAU,CAAC,GAC7C,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAIrC;;;;;OAKG;IACG,WAAW,CAChB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QACT,uDAAuD;QACvD,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,uBAAuB;QACvB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,wBAAwB;QACxB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,sCAAsC;QACtC,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,mBAAmB;QACnB,IAAI,CAAC,EAAE,UAAU,CAAC;KAClB,GACC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAQrC;;;;;;;OAOG;IACG,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAG5D"}
|