@fiado/type-kit 3.574.0 → 3.576.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/_test_/unit/retailCommission/commissionRules.test.ts +28 -0
- package/_test_/unit/rewardsEligibility/evaluationStrategyDtos.test.ts +93 -0
- package/_test_/unit/rewardsEligibility/segmentMessagesAndRunDtos.test.ts +2 -2
- package/_test_/unit/rules/evaluationDatalakeDtos.test.ts +144 -0
- package/bin/retailCommission/dtos/CommissionApi.d.ts +12 -0
- package/bin/retailCommission/dtos/CommissionRule.d.ts +6 -0
- package/bin/rewardsEligibility/constants/BatchLimits.d.ts +2 -0
- package/bin/rewardsEligibility/constants/BatchLimits.js +5 -0
- package/bin/rewardsEligibility/dtos/backoffice/CreateRunRequest.d.ts +2 -0
- package/bin/rewardsEligibility/dtos/backoffice/CreateRunRequest.js +7 -0
- package/bin/rewardsEligibility/dtos/backoffice/EvaluationRequest.d.ts +3 -0
- package/bin/rewardsEligibility/dtos/backoffice/EvaluationRequest.js +7 -0
- package/bin/rewardsEligibility/dtos/backoffice/EvaluationResponse.d.ts +3 -0
- package/bin/rewardsEligibility/dtos/backoffice/SimulateRequest.d.ts +2 -0
- package/bin/rewardsEligibility/dtos/backoffice/SimulateRequest.js +7 -0
- package/bin/rewardsEligibility/dtos/messages/EvaluateBatchMessage.d.ts +1 -1
- package/bin/rewardsEligibility/dtos/messages/EvaluateBatchMessage.js +3 -2
- package/bin/rewardsEligibility/index.d.ts +2 -0
- package/bin/rewardsEligibility/index.js +2 -0
- package/bin/rewardsEligibility/types/RewardInputRef.d.ts +9 -1
- package/bin/rewardsEligibility/validators/IsRewardInputs.d.ts +7 -0
- package/bin/rewardsEligibility/validators/IsRewardInputs.js +26 -0
- package/bin/rules/constants/RulesLimits.d.ts +6 -0
- package/bin/rules/constants/RulesLimits.js +7 -1
- package/bin/rules/dtos/EvaluateRulesRequest.d.ts +8 -0
- package/bin/rules/dtos/EvaluateRulesRequest.js +24 -0
- package/bin/rules/dtos/EvaluateRulesResponse.d.ts +3 -0
- package/bin/rules/dtos/ValidateRulesRequest.d.ts +5 -0
- package/bin/rules/dtos/ValidateRulesRequest.js +15 -0
- package/bin/rules/dtos/datalake/EvaluationExecutionRequest.d.ts +21 -0
- package/bin/rules/dtos/datalake/EvaluationExecutionRequest.js +83 -0
- package/bin/rules/dtos/datalake/EvaluationExecutionResponse.d.ts +6 -0
- package/bin/rules/dtos/datalake/EvaluationExecutionResponse.js +7 -0
- package/bin/rules/dtos/datalake/EvaluationExecutionResultsResponse.d.ts +11 -0
- package/bin/rules/dtos/datalake/EvaluationExecutionResultsResponse.js +7 -0
- package/bin/rules/dtos/datalake/EvaluationResultsRequest.d.ts +11 -0
- package/bin/rules/dtos/datalake/EvaluationResultsRequest.js +64 -0
- package/bin/rules/dtos/datalake/ReturnFieldsCatalogResponse.d.ts +17 -0
- package/bin/rules/dtos/datalake/ReturnFieldsCatalogResponse.js +10 -0
- package/bin/rules/dtos/population/SegmentTableSchemaResponse.d.ts +2 -0
- package/bin/rules/enums/EvaluationStrategyEnum.d.ts +5 -0
- package/bin/rules/enums/EvaluationStrategyEnum.js +9 -0
- package/bin/rules/enums/RulesErrorCodeEnum.d.ts +11 -1
- package/bin/rules/enums/RulesErrorCodeEnum.js +10 -0
- package/bin/rules/index.d.ts +6 -0
- package/bin/rules/index.js +7 -0
- package/package.json +1 -1
- package/src/retailCommission/dtos/CommissionApi.ts +12 -0
- package/src/retailCommission/dtos/CommissionRule.ts +6 -0
- package/src/rewardsEligibility/constants/BatchLimits.ts +2 -0
- package/src/rewardsEligibility/dtos/backoffice/CreateRunRequest.ts +7 -0
- package/src/rewardsEligibility/dtos/backoffice/EvaluationRequest.ts +8 -1
- package/src/rewardsEligibility/dtos/backoffice/EvaluationResponse.ts +3 -0
- package/src/rewardsEligibility/dtos/backoffice/SimulateRequest.ts +7 -0
- package/src/rewardsEligibility/dtos/messages/EvaluateBatchMessage.ts +3 -2
- package/src/rewardsEligibility/index.ts +2 -0
- package/src/rewardsEligibility/types/RewardInputRef.ts +6 -2
- package/src/rewardsEligibility/validators/IsRewardInputs.ts +16 -0
- package/src/rules/constants/RulesLimits.ts +6 -0
- package/src/rules/dtos/EvaluateRulesRequest.ts +26 -1
- package/src/rules/dtos/EvaluateRulesResponse.ts +3 -0
- package/src/rules/dtos/ValidateRulesRequest.ts +17 -2
- package/src/rules/dtos/datalake/EvaluationExecutionRequest.ts +73 -0
- package/src/rules/dtos/datalake/EvaluationExecutionResponse.ts +7 -0
- package/src/rules/dtos/datalake/EvaluationExecutionResultsResponse.ts +12 -0
- package/src/rules/dtos/datalake/EvaluationResultsRequest.ts +46 -0
- package/src/rules/dtos/datalake/ReturnFieldsCatalogResponse.ts +19 -0
- package/src/rules/dtos/population/SegmentTableSchemaResponse.ts +2 -0
- package/src/rules/enums/EvaluationStrategyEnum.ts +5 -0
- package/src/rules/enums/RulesErrorCodeEnum.ts +10 -0
- package/src/rules/index.ts +8 -0
|
@@ -6,3 +6,9 @@ export const RULES_INPUT_SOURCE = 'input';
|
|
|
6
6
|
export const RULES_MAX_INPUT_CONTRACT = 30;
|
|
7
7
|
/** Largo máximo (caracteres) del contenido de un turno del chat de `POST /generate`. */
|
|
8
8
|
export const RULES_CHAT_TURN_MAX_LENGTH = 4000;
|
|
9
|
+
/** Máximo de sujetos por query asíncrona de evaluación DATALAKE (`POST /evaluate/executions`). */
|
|
10
|
+
export const RULES_MAX_SUBJECTS_PER_DATALAKE_CALL = 1000;
|
|
11
|
+
/** Máximo de `returnFields` por llamada. */
|
|
12
|
+
export const RULES_MAX_RETURN_FIELDS = 20;
|
|
13
|
+
/** Id de campo devuelto: `fuente:campo` (campo del catálogo) o `tabla.ruta.hoja` (hoja del esquema aplanado de Glue). */
|
|
14
|
+
export const RETURN_FIELD_ID_PATTERN = /^(?:[a-z][a-z0-9-]*:[A-Za-z][A-Za-z0-9_]*|[a-z_][a-z0-9_]*(?:\.[a-z_][a-z0-9_]*){1,8})$/;
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { Expose, Type } from 'class-transformer';
|
|
2
|
-
import { IsArray, IsISO8601, IsObject, IsOptional, IsString, ValidateNested } from 'class-validator';
|
|
2
|
+
import { ArrayMaxSize, IsArray, IsEnum, IsISO8601, IsObject, IsOptional, IsString, Matches, ValidateNested } from 'class-validator';
|
|
3
3
|
import { JsonValue } from '../../common';
|
|
4
|
+
import { InputField } from '../../dynamicForm/dtos/InputField';
|
|
4
5
|
import { DynamicFormValue } from '../../dynamicForm/types/DynamicFormValue';
|
|
6
|
+
import { RETURN_FIELD_ID_PATTERN, RULES_MAX_INPUT_CONTRACT, RULES_MAX_RETURN_FIELDS } from '../constants/RulesLimits';
|
|
7
|
+
import { EvaluationStrategyEnum } from '../enums/EvaluationStrategyEnum';
|
|
5
8
|
|
|
6
9
|
/** A quién se le evalúa la regla. */
|
|
7
10
|
export class RulesEvaluationSubject {
|
|
@@ -64,4 +67,26 @@ export class EvaluateRulesRequest {
|
|
|
64
67
|
@IsOptional()
|
|
65
68
|
@IsISO8601()
|
|
66
69
|
referenceAt?: string;
|
|
70
|
+
|
|
71
|
+
/** Estrategia de evaluación; ausente = `LIVE`. */
|
|
72
|
+
@Expose()
|
|
73
|
+
@IsOptional()
|
|
74
|
+
@IsEnum(EvaluationStrategyEnum)
|
|
75
|
+
evaluationStrategy?: EvaluationStrategyEnum;
|
|
76
|
+
|
|
77
|
+
/** Campos a devolver por sujeto (`fuente:campo` o `tabla.ruta.hoja`); máx. 20. Se leen del datalake. */
|
|
78
|
+
@Expose()
|
|
79
|
+
@IsOptional()
|
|
80
|
+
@IsArray()
|
|
81
|
+
@ArrayMaxSize(RULES_MAX_RETURN_FIELDS)
|
|
82
|
+
@Matches(RETURN_FIELD_ID_PATTERN, { each: true })
|
|
83
|
+
returnFields?: string[];
|
|
84
|
+
|
|
85
|
+
/** Contrato de la fuente `input` (tipos de las columnas `i_<llave>` en DATALAKE). */
|
|
86
|
+
@Expose()
|
|
87
|
+
@IsOptional()
|
|
88
|
+
@IsArray()
|
|
89
|
+
@ArrayMaxSize(RULES_MAX_INPUT_CONTRACT)
|
|
90
|
+
@IsObject({ each: true })
|
|
91
|
+
inputContract?: InputField[];
|
|
67
92
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { JsonValue } from '../../common';
|
|
1
2
|
import { RulesOutcomeEnum } from '../enums/RulesOutcomeEnum';
|
|
2
3
|
import { RulesTraceResponse } from './RulesTraceResponse';
|
|
3
4
|
|
|
@@ -11,6 +12,8 @@ export class RuleEvaluationResult {
|
|
|
11
12
|
trace?: RulesTraceResponse;
|
|
12
13
|
/** Solo si `outcome` es `ERROR`. */
|
|
13
14
|
errorMessage?: string;
|
|
15
|
+
/** Campos devueltos pedidos en `returnFields`: clave = id del campo; `null` = sin dato. */
|
|
16
|
+
returned?: Record<string, JsonValue>;
|
|
14
17
|
}
|
|
15
18
|
|
|
16
19
|
/** `POST /evaluate`: ordenado por regla y, dentro de cada regla, por `subjectIndex`. */
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { Expose } from 'class-transformer';
|
|
2
|
-
import { ArrayMaxSize, IsArray, IsObject, IsOptional, IsString } from 'class-validator';
|
|
2
|
+
import { ArrayMaxSize, IsArray, IsEnum, IsObject, IsOptional, IsString, Matches } from 'class-validator';
|
|
3
3
|
import { JsonValue } from '../../common';
|
|
4
4
|
import { InputField } from '../../dynamicForm/dtos/InputField';
|
|
5
|
-
import { RULES_MAX_INPUT_CONTRACT } from '../constants/RulesLimits';
|
|
5
|
+
import { RETURN_FIELD_ID_PATTERN, RULES_MAX_INPUT_CONTRACT, RULES_MAX_RETURN_FIELDS } from '../constants/RulesLimits';
|
|
6
|
+
import { EvaluationStrategyEnum } from '../enums/EvaluationStrategyEnum';
|
|
6
7
|
|
|
7
8
|
/** `POST /validate`: valida una regla guardada contra el catálogo de los ítems indicados y el contrato de `input`. */
|
|
8
9
|
export class ValidateRulesRequest {
|
|
@@ -30,4 +31,18 @@ export class ValidateRulesRequest {
|
|
|
30
31
|
@ArrayMaxSize(RULES_MAX_INPUT_CONTRACT)
|
|
31
32
|
@IsObject({ each: true })
|
|
32
33
|
inputContract?: InputField[];
|
|
34
|
+
|
|
35
|
+
/** Estrategia contra la que se valida; ausente = `LIVE`. */
|
|
36
|
+
@Expose()
|
|
37
|
+
@IsOptional()
|
|
38
|
+
@IsEnum(EvaluationStrategyEnum)
|
|
39
|
+
evaluationStrategy?: EvaluationStrategyEnum;
|
|
40
|
+
|
|
41
|
+
/** Campos devueltos a validar (`fuente:campo` o `tabla.ruta.hoja`); máx. 20. */
|
|
42
|
+
@Expose()
|
|
43
|
+
@IsOptional()
|
|
44
|
+
@IsArray()
|
|
45
|
+
@ArrayMaxSize(RULES_MAX_RETURN_FIELDS)
|
|
46
|
+
@Matches(RETURN_FIELD_ID_PATTERN, { each: true })
|
|
47
|
+
returnFields?: string[];
|
|
33
48
|
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { Expose, Type } from 'class-transformer';
|
|
2
|
+
import { ArrayMaxSize, ArrayMinSize, IsArray, IsISO8601, IsObject, IsOptional, IsString, Matches, MaxLength, MinLength, ValidateNested } from 'class-validator';
|
|
3
|
+
import { InputField } from '../../../dynamicForm/dtos/InputField';
|
|
4
|
+
import {
|
|
5
|
+
RETURN_FIELD_ID_PATTERN,
|
|
6
|
+
RULES_MAX_INPUT_CONTRACT,
|
|
7
|
+
RULES_MAX_RETURN_FIELDS,
|
|
8
|
+
RULES_MAX_SUBJECTS_PER_DATALAKE_CALL,
|
|
9
|
+
} from '../../constants/RulesLimits';
|
|
10
|
+
import { RuleToEvaluate, RulesEvaluationSubject } from '../EvaluateRulesRequest';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* `POST /evaluate/executions`: inicia UNA query Athena por lote (hasta 1000 sujetos).
|
|
14
|
+
* `rules` ausente = modo "solo campos" (exige `returnFields` ≥ 1: esa regla la valida el lambda).
|
|
15
|
+
*/
|
|
16
|
+
export class EvaluationExecutionRequest {
|
|
17
|
+
/** Quién llama (solo logs y métricas). */
|
|
18
|
+
@Expose()
|
|
19
|
+
@IsOptional()
|
|
20
|
+
@IsString()
|
|
21
|
+
consumer?: string;
|
|
22
|
+
|
|
23
|
+
/** Ids de ítems del catálogo (`source:key`) que las reglas pueden usar. */
|
|
24
|
+
@Expose()
|
|
25
|
+
@IsArray()
|
|
26
|
+
@IsString({ each: true })
|
|
27
|
+
items: string[];
|
|
28
|
+
|
|
29
|
+
@Expose()
|
|
30
|
+
@IsOptional()
|
|
31
|
+
@IsArray()
|
|
32
|
+
@ArrayMinSize(1)
|
|
33
|
+
@ArrayMaxSize(10)
|
|
34
|
+
@ValidateNested({ each: true })
|
|
35
|
+
@Type(() => RuleToEvaluate)
|
|
36
|
+
rules?: RuleToEvaluate[];
|
|
37
|
+
|
|
38
|
+
/** Contrato de la fuente `input` (tipos de las columnas `i_<llave>`). */
|
|
39
|
+
@Expose()
|
|
40
|
+
@IsOptional()
|
|
41
|
+
@IsArray()
|
|
42
|
+
@ArrayMaxSize(RULES_MAX_INPUT_CONTRACT)
|
|
43
|
+
@IsObject({ each: true })
|
|
44
|
+
inputContract?: InputField[];
|
|
45
|
+
|
|
46
|
+
@Expose()
|
|
47
|
+
@IsArray()
|
|
48
|
+
@ArrayMinSize(1)
|
|
49
|
+
@ArrayMaxSize(RULES_MAX_SUBJECTS_PER_DATALAKE_CALL)
|
|
50
|
+
@ValidateNested({ each: true })
|
|
51
|
+
@Type(() => RulesEvaluationSubject)
|
|
52
|
+
subjects: RulesEvaluationSubject[];
|
|
53
|
+
|
|
54
|
+
/** Fecha ISO 8601 con hora (ancla del cálculo, nunca `now()`). */
|
|
55
|
+
@Expose()
|
|
56
|
+
@IsISO8601({ strict: true })
|
|
57
|
+
@Matches(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}/)
|
|
58
|
+
referenceAt: string;
|
|
59
|
+
|
|
60
|
+
@Expose()
|
|
61
|
+
@IsOptional()
|
|
62
|
+
@IsArray()
|
|
63
|
+
@ArrayMaxSize(RULES_MAX_RETURN_FIELDS)
|
|
64
|
+
@Matches(RETURN_FIELD_ID_PATTERN, { each: true })
|
|
65
|
+
returnFields?: string[];
|
|
66
|
+
|
|
67
|
+
/** Mismo lote reintentado = mismo `QueryExecutionId`. */
|
|
68
|
+
@Expose()
|
|
69
|
+
@IsString()
|
|
70
|
+
@MinLength(32)
|
|
71
|
+
@MaxLength(128)
|
|
72
|
+
idempotencyKey: string;
|
|
73
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { PopulationExecutionStatusEnum } from '../../enums/PopulationExecutionStatusEnum';
|
|
2
|
+
import { RulesErrorCodeEnum } from '../../enums/RulesErrorCodeEnum';
|
|
3
|
+
import { RuleEvaluationResult } from '../EvaluateRulesResponse';
|
|
4
|
+
|
|
5
|
+
/** Pagina de resultados. Sin `nextToken` = última página. `reason` solo si `status` es `FAILED`. */
|
|
6
|
+
export class EvaluationExecutionResultsResponse {
|
|
7
|
+
executionId: string;
|
|
8
|
+
status: PopulationExecutionStatusEnum;
|
|
9
|
+
results: RuleEvaluationResult[];
|
|
10
|
+
nextToken?: string;
|
|
11
|
+
reason?: RulesErrorCodeEnum;
|
|
12
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Expose, Type } from 'class-transformer';
|
|
2
|
+
import { ArrayMaxSize, ArrayMinSize, IsArray, IsObject, IsOptional, IsString, Matches, ValidateNested } from 'class-validator';
|
|
3
|
+
import { InputField } from '../../../dynamicForm/dtos/InputField';
|
|
4
|
+
import { RETURN_FIELD_ID_PATTERN, RULES_MAX_INPUT_CONTRACT, RULES_MAX_RETURN_FIELDS } from '../../constants/RulesLimits';
|
|
5
|
+
import { RuleToEvaluate } from '../EvaluateRulesRequest';
|
|
6
|
+
|
|
7
|
+
/** `POST /evaluate/executions/{id}/results`: pagina de resultados. Reglas, ítems e `inputContract` deben ser los del inicio. */
|
|
8
|
+
export class EvaluationResultsRequest {
|
|
9
|
+
@Expose()
|
|
10
|
+
@IsOptional()
|
|
11
|
+
@IsString()
|
|
12
|
+
consumer?: string;
|
|
13
|
+
|
|
14
|
+
@Expose()
|
|
15
|
+
@IsArray()
|
|
16
|
+
@IsString({ each: true })
|
|
17
|
+
items: string[];
|
|
18
|
+
|
|
19
|
+
@Expose()
|
|
20
|
+
@IsOptional()
|
|
21
|
+
@IsArray()
|
|
22
|
+
@ArrayMinSize(1)
|
|
23
|
+
@ArrayMaxSize(10)
|
|
24
|
+
@ValidateNested({ each: true })
|
|
25
|
+
@Type(() => RuleToEvaluate)
|
|
26
|
+
rules?: RuleToEvaluate[];
|
|
27
|
+
|
|
28
|
+
@Expose()
|
|
29
|
+
@IsOptional()
|
|
30
|
+
@IsArray()
|
|
31
|
+
@ArrayMaxSize(RULES_MAX_INPUT_CONTRACT)
|
|
32
|
+
@IsObject({ each: true })
|
|
33
|
+
inputContract?: InputField[];
|
|
34
|
+
|
|
35
|
+
@Expose()
|
|
36
|
+
@IsOptional()
|
|
37
|
+
@IsArray()
|
|
38
|
+
@ArrayMaxSize(RULES_MAX_RETURN_FIELDS)
|
|
39
|
+
@Matches(RETURN_FIELD_ID_PATTERN, { each: true })
|
|
40
|
+
returnFields?: string[];
|
|
41
|
+
|
|
42
|
+
@Expose()
|
|
43
|
+
@IsOptional()
|
|
44
|
+
@IsString()
|
|
45
|
+
nextToken?: string;
|
|
46
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { RulesValueTypeEnum } from '../../enums/RulesValueTypeEnum';
|
|
2
|
+
|
|
3
|
+
/** Un campo del catálogo que se puede devolver (`GET /return-fields`). */
|
|
4
|
+
export class ReturnableFieldResponse {
|
|
5
|
+
/** `fuente:campo`. */
|
|
6
|
+
id: string;
|
|
7
|
+
source: string;
|
|
8
|
+
field: string;
|
|
9
|
+
label: string;
|
|
10
|
+
description: string;
|
|
11
|
+
valueType: RulesValueTypeEnum;
|
|
12
|
+
datalakeCompatible: boolean;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export class ReturnFieldsCatalogResponse {
|
|
16
|
+
/** `false` si el datalake no está disponible en el ambiente. */
|
|
17
|
+
available: boolean;
|
|
18
|
+
fields: ReturnableFieldResponse[];
|
|
19
|
+
}
|
|
@@ -4,4 +4,14 @@ export enum RulesErrorCodeEnum {
|
|
|
4
4
|
DUPLICATE_SOURCE_IN_ITEMS = 'DUPLICATE_SOURCE_IN_ITEMS',
|
|
5
5
|
TOO_MANY_SUBJECTS = 'TOO_MANY_SUBJECTS',
|
|
6
6
|
VALIDATION_ERROR = 'VALIDATION_ERROR',
|
|
7
|
+
/** 400: la regla usa `params`, o una tabla que el campo necesita no existe en el ambiente. */
|
|
8
|
+
RULE_NOT_DATALAKE_COMPATIBLE = 'RULE_NOT_DATALAKE_COMPATIBLE',
|
|
9
|
+
/** 503: el datalake no está disponible. */
|
|
10
|
+
DATALAKE_UNAVAILABLE = 'DATALAKE_UNAVAILABLE',
|
|
11
|
+
/** La query del datalake terminó en error. */
|
|
12
|
+
DATALAKE_EVALUATION_FAILED = 'DATALAKE_EVALUATION_FAILED',
|
|
13
|
+
/** La query del datalake superó el tiempo de espera (reintentable). */
|
|
14
|
+
DATALAKE_EVALUATION_TIMEOUT = 'DATALAKE_EVALUATION_TIMEOUT',
|
|
15
|
+
/** 400: un id de `returnFields` no existe en el catálogo ni en el esquema del datalake. */
|
|
16
|
+
UNKNOWN_RETURN_FIELD = 'UNKNOWN_RETURN_FIELD',
|
|
7
17
|
}
|
package/src/rules/index.ts
CHANGED
|
@@ -49,3 +49,11 @@ export * from './dtos/population/PopulationTestResponse';
|
|
|
49
49
|
export * from './dtos/population/PopulationExecutionRequest';
|
|
50
50
|
export * from './dtos/population/PopulationExecutionResponse';
|
|
51
51
|
export * from './dtos/population/PopulationExecutionPageResponse';
|
|
52
|
+
|
|
53
|
+
//Evaluacion DATALAKE, campos devueltos y ejecucion asincrona
|
|
54
|
+
export * from './enums/EvaluationStrategyEnum';
|
|
55
|
+
export * from './dtos/datalake/EvaluationExecutionRequest';
|
|
56
|
+
export * from './dtos/datalake/EvaluationExecutionResponse';
|
|
57
|
+
export * from './dtos/datalake/EvaluationResultsRequest';
|
|
58
|
+
export * from './dtos/datalake/EvaluationExecutionResultsResponse';
|
|
59
|
+
export * from './dtos/datalake/ReturnFieldsCatalogResponse';
|