@aws-cdk/aws-bedrock-agentcore-alpha 2.252.0-alpha.0 → 2.253.0-alpha.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/.jsii +11191 -7249
- package/.jsii.tabl.json.gz +0 -0
- package/.warnings.jsii.js +30 -0
- package/README.md +422 -0
- package/lib/evaluation/custom-evaluator.d.ts +153 -0
- package/lib/evaluation/custom-evaluator.js +256 -0
- package/lib/evaluation/data-source.d.ts +106 -0
- package/lib/evaluation/data-source.js +156 -0
- package/lib/evaluation/evaluator-base.d.ts +82 -0
- package/lib/evaluation/evaluator-base.js +55 -0
- package/lib/evaluation/evaluator-config.d.ts +195 -0
- package/lib/evaluation/evaluator-config.js +184 -0
- package/lib/evaluation/evaluator.d.ts +68 -0
- package/lib/evaluation/evaluator.js +90 -0
- package/lib/evaluation/online-evaluation-base.d.ts +96 -0
- package/lib/evaluation/online-evaluation-base.js +55 -0
- package/lib/evaluation/online-evaluation.d.ts +134 -0
- package/lib/evaluation/online-evaluation.js +388 -0
- package/lib/evaluation/perms.d.ts +34 -0
- package/lib/evaluation/perms.js +53 -0
- package/lib/evaluation/types.d.ts +461 -0
- package/lib/evaluation/types.js +229 -0
- package/lib/evaluation/validation-helpers.d.ts +133 -0
- package/lib/evaluation/validation-helpers.js +349 -0
- package/lib/gateway/gateway-base.js +1 -1
- package/lib/gateway/gateway.js +2 -2
- package/lib/gateway/inbound-auth/authorizer.js +4 -4
- package/lib/gateway/inbound-auth/custom-claim.js +1 -1
- package/lib/gateway/interceptor.js +1 -1
- package/lib/gateway/outbound-auth/api-key.js +1 -1
- package/lib/gateway/outbound-auth/credential-provider.js +1 -1
- package/lib/gateway/protocol.js +2 -2
- package/lib/gateway/targets/schema/api-schema.js +4 -4
- package/lib/gateway/targets/schema/tool-schema.js +4 -4
- package/lib/gateway/targets/target-base.js +1 -1
- package/lib/gateway/targets/target-configuration.js +6 -6
- package/lib/gateway/targets/target.js +1 -1
- package/lib/index.d.ts +9 -0
- package/lib/index.js +13 -1
- package/lib/memory/memory-strategy.js +1 -1
- package/lib/memory/memory.js +2 -2
- package/lib/memory/strategies/managed-strategy.js +1 -1
- package/lib/memory/strategies/self-managed-strategy.js +8 -5
- package/lib/network/network-configuration.js +4 -4
- package/lib/policy/policy-base.js +1 -1
- package/lib/policy/policy-engine-base.js +1 -1
- package/lib/policy/policy-engine.js +1 -1
- package/lib/policy/policy-statement.js +5 -5
- package/lib/policy/policy-types.js +1 -1
- package/lib/policy/policy.js +1 -1
- package/lib/runtime/inbound-auth/custom-claim.js +1 -1
- package/lib/runtime/inbound-auth/runtime-authorizer-configuration.js +1 -1
- package/lib/runtime/observability.js +2 -2
- package/lib/runtime/runtime-artifact.js +1 -1
- package/lib/runtime/runtime-base.js +1 -1
- package/lib/runtime/runtime-endpoint-base.js +1 -1
- package/lib/runtime/runtime-endpoint.js +1 -1
- package/lib/runtime/runtime.js +1 -1
- package/lib/tools/browser.js +2 -2
- package/lib/tools/code-interpreter.js +2 -2
- package/package.json +10 -9
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EvaluationLevel = exports.FilterValue = exports.FilterOperator = exports.ExecutionStatus = exports.BuiltinEvaluator = void 0;
|
|
4
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
5
|
+
/**
|
|
6
|
+
* Built-in evaluators provided by Amazon Bedrock AgentCore.
|
|
7
|
+
*
|
|
8
|
+
* These evaluators assess different aspects of agent performance
|
|
9
|
+
* at various levels (session, trace, or tool call).
|
|
10
|
+
*/
|
|
11
|
+
class BuiltinEvaluator {
|
|
12
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.BuiltinEvaluator", version: "2.253.0-alpha.0" };
|
|
13
|
+
/**
|
|
14
|
+
* Evaluates whether the information in the agent's response is factually accurate.
|
|
15
|
+
*/
|
|
16
|
+
static CORRECTNESS = new BuiltinEvaluator('Builtin.Correctness');
|
|
17
|
+
/**
|
|
18
|
+
* Evaluates whether information in the response is supported by provided context/sources.
|
|
19
|
+
*/
|
|
20
|
+
static FAITHFULNESS = new BuiltinEvaluator('Builtin.Faithfulness');
|
|
21
|
+
/**
|
|
22
|
+
* Evaluates from user's perspective how useful and valuable the agent's response is.
|
|
23
|
+
*/
|
|
24
|
+
static HELPFULNESS = new BuiltinEvaluator('Builtin.Helpfulness');
|
|
25
|
+
/**
|
|
26
|
+
* Evaluates whether the response appropriately addresses the user's query.
|
|
27
|
+
*/
|
|
28
|
+
static RESPONSE_RELEVANCE = new BuiltinEvaluator('Builtin.ResponseRelevance');
|
|
29
|
+
/**
|
|
30
|
+
* Evaluates whether the response is appropriately brief without missing key information.
|
|
31
|
+
*/
|
|
32
|
+
static CONCISENESS = new BuiltinEvaluator('Builtin.Conciseness');
|
|
33
|
+
/**
|
|
34
|
+
* Evaluates whether the response is logically structured and coherent.
|
|
35
|
+
*/
|
|
36
|
+
static COHERENCE = new BuiltinEvaluator('Builtin.Coherence');
|
|
37
|
+
/**
|
|
38
|
+
* Measures how well the agent follows the provided system instructions.
|
|
39
|
+
*/
|
|
40
|
+
static INSTRUCTION_FOLLOWING = new BuiltinEvaluator('Builtin.InstructionFollowing');
|
|
41
|
+
/**
|
|
42
|
+
* Detects when agent evades questions or directly refuses to answer.
|
|
43
|
+
*/
|
|
44
|
+
static REFUSAL = new BuiltinEvaluator('Builtin.Refusal');
|
|
45
|
+
/**
|
|
46
|
+
* Evaluates whether the conversation successfully meets the user's goals.
|
|
47
|
+
*/
|
|
48
|
+
static GOAL_SUCCESS_RATE = new BuiltinEvaluator('Builtin.GoalSuccessRate');
|
|
49
|
+
/**
|
|
50
|
+
* Evaluates whether the agent selected the appropriate tool for the task.
|
|
51
|
+
*/
|
|
52
|
+
static TOOL_SELECTION_ACCURACY = new BuiltinEvaluator('Builtin.ToolSelectionAccuracy');
|
|
53
|
+
/**
|
|
54
|
+
* Evaluates how accurately the agent extracts parameters from user queries.
|
|
55
|
+
*/
|
|
56
|
+
static TOOL_PARAMETER_ACCURACY = new BuiltinEvaluator('Builtin.ToolParameterAccuracy');
|
|
57
|
+
/**
|
|
58
|
+
* Evaluates whether the response contains harmful content.
|
|
59
|
+
*/
|
|
60
|
+
static HARMFULNESS = new BuiltinEvaluator('Builtin.Harmfulness');
|
|
61
|
+
/**
|
|
62
|
+
* Detects content that makes generalizations about individuals or groups.
|
|
63
|
+
*/
|
|
64
|
+
static STEREOTYPING = new BuiltinEvaluator('Builtin.Stereotyping');
|
|
65
|
+
/**
|
|
66
|
+
* The string value of the built-in evaluator.
|
|
67
|
+
*/
|
|
68
|
+
value;
|
|
69
|
+
/**
|
|
70
|
+
* @param value - The evaluator identifier string
|
|
71
|
+
*/
|
|
72
|
+
constructor(value) {
|
|
73
|
+
this.value = value;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
exports.BuiltinEvaluator = BuiltinEvaluator;
|
|
77
|
+
/**
|
|
78
|
+
* The execution status of an online evaluation configuration.
|
|
79
|
+
*/
|
|
80
|
+
class ExecutionStatus {
|
|
81
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.ExecutionStatus", version: "2.253.0-alpha.0" };
|
|
82
|
+
/**
|
|
83
|
+
* The evaluation is enabled and actively processing agent traces.
|
|
84
|
+
*/
|
|
85
|
+
static ENABLED = new ExecutionStatus('ENABLED');
|
|
86
|
+
/**
|
|
87
|
+
* The evaluation is disabled and not processing agent traces.
|
|
88
|
+
*/
|
|
89
|
+
static DISABLED = new ExecutionStatus('DISABLED');
|
|
90
|
+
/**
|
|
91
|
+
* The string value of the execution status.
|
|
92
|
+
*/
|
|
93
|
+
value;
|
|
94
|
+
/**
|
|
95
|
+
* @param value - The execution status string
|
|
96
|
+
*/
|
|
97
|
+
constructor(value) {
|
|
98
|
+
this.value = value;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
exports.ExecutionStatus = ExecutionStatus;
|
|
102
|
+
/**
|
|
103
|
+
* Filter operators for online evaluation filtering.
|
|
104
|
+
*/
|
|
105
|
+
class FilterOperator {
|
|
106
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.FilterOperator", version: "2.253.0-alpha.0" };
|
|
107
|
+
/**
|
|
108
|
+
* Exact equality comparison.
|
|
109
|
+
*/
|
|
110
|
+
static EQUAL = new FilterOperator('Equals');
|
|
111
|
+
/**
|
|
112
|
+
* Not equal comparison.
|
|
113
|
+
*/
|
|
114
|
+
static NOT_EQUAL = new FilterOperator('NotEquals');
|
|
115
|
+
/**
|
|
116
|
+
* Greater than comparison (numeric values).
|
|
117
|
+
*/
|
|
118
|
+
static GREATER_THAN = new FilterOperator('GreaterThan');
|
|
119
|
+
/**
|
|
120
|
+
* Less than comparison (numeric values).
|
|
121
|
+
*/
|
|
122
|
+
static LESS_THAN = new FilterOperator('LessThan');
|
|
123
|
+
/**
|
|
124
|
+
* Greater than or equal comparison (numeric values).
|
|
125
|
+
*/
|
|
126
|
+
static GREATER_THAN_OR_EQUAL = new FilterOperator('GreaterThanOrEqual');
|
|
127
|
+
/**
|
|
128
|
+
* Less than or equal comparison (numeric values).
|
|
129
|
+
*/
|
|
130
|
+
static LESS_THAN_OR_EQUAL = new FilterOperator('LessThanOrEqual');
|
|
131
|
+
/**
|
|
132
|
+
* String contains comparison.
|
|
133
|
+
*/
|
|
134
|
+
static CONTAINS = new FilterOperator('Contains');
|
|
135
|
+
/**
|
|
136
|
+
* String does not contain comparison.
|
|
137
|
+
*/
|
|
138
|
+
static NOT_CONTAINS = new FilterOperator('NotContains');
|
|
139
|
+
/**
|
|
140
|
+
* The string value of the filter operator.
|
|
141
|
+
*/
|
|
142
|
+
value;
|
|
143
|
+
/**
|
|
144
|
+
* @param value - The filter operator string
|
|
145
|
+
*/
|
|
146
|
+
constructor(value) {
|
|
147
|
+
this.value = value;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
exports.FilterOperator = FilterOperator;
|
|
151
|
+
/**
|
|
152
|
+
* A typed filter value for online evaluation filtering.
|
|
153
|
+
*
|
|
154
|
+
* Use the static factory methods to create filter values:
|
|
155
|
+
* - `FilterValue.string()` for string comparisons
|
|
156
|
+
* - `FilterValue.number()` for numeric comparisons
|
|
157
|
+
* - `FilterValue.boolean()` for boolean comparisons
|
|
158
|
+
*/
|
|
159
|
+
class FilterValue {
|
|
160
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.FilterValue", version: "2.253.0-alpha.0" };
|
|
161
|
+
/**
|
|
162
|
+
* Creates a string filter value.
|
|
163
|
+
*
|
|
164
|
+
* @param value - The string value to compare against
|
|
165
|
+
*/
|
|
166
|
+
static string(value) {
|
|
167
|
+
return new FilterValue({ stringValue: value });
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Creates a numeric filter value.
|
|
171
|
+
*
|
|
172
|
+
* @param value - The numeric value to compare against
|
|
173
|
+
*/
|
|
174
|
+
static number(value) {
|
|
175
|
+
return new FilterValue({ doubleValue: value });
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Creates a boolean filter value.
|
|
179
|
+
*
|
|
180
|
+
* @param value - The boolean value to compare against
|
|
181
|
+
*/
|
|
182
|
+
static boolean(value) {
|
|
183
|
+
return new FilterValue({ booleanValue: value });
|
|
184
|
+
}
|
|
185
|
+
filterValue;
|
|
186
|
+
constructor(filterValue) {
|
|
187
|
+
this.filterValue = filterValue;
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Binds the filter value to produce the L1 property.
|
|
191
|
+
* @internal
|
|
192
|
+
*/
|
|
193
|
+
_bind() {
|
|
194
|
+
return this.filterValue;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
exports.FilterValue = FilterValue;
|
|
198
|
+
/**
|
|
199
|
+
* The level at which a custom evaluator assesses agent performance.
|
|
200
|
+
*
|
|
201
|
+
* Determines what granularity of data the evaluator operates on.
|
|
202
|
+
*/
|
|
203
|
+
class EvaluationLevel {
|
|
204
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.EvaluationLevel", version: "2.253.0-alpha.0" };
|
|
205
|
+
/**
|
|
206
|
+
* Evaluates individual tool call invocations within a trace.
|
|
207
|
+
*/
|
|
208
|
+
static TOOL_CALL = new EvaluationLevel('TOOL_CALL');
|
|
209
|
+
/**
|
|
210
|
+
* Evaluates a complete agent trace (a single request-response cycle).
|
|
211
|
+
*/
|
|
212
|
+
static TRACE = new EvaluationLevel('TRACE');
|
|
213
|
+
/**
|
|
214
|
+
* Evaluates an entire agent session (multiple traces across a conversation).
|
|
215
|
+
*/
|
|
216
|
+
static SESSION = new EvaluationLevel('SESSION');
|
|
217
|
+
/**
|
|
218
|
+
* The string value of the evaluation level.
|
|
219
|
+
*/
|
|
220
|
+
value;
|
|
221
|
+
/**
|
|
222
|
+
* @param value - The evaluation level string
|
|
223
|
+
*/
|
|
224
|
+
constructor(value) {
|
|
225
|
+
this.value = value;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
exports.EvaluationLevel = EvaluationLevel;
|
|
229
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBZ0JBOzs7OztHQUtHO0FBQ0gsTUFBYSxnQkFBZ0I7O0lBQzNCOztPQUVHO0lBQ0ksTUFBTSxDQUFVLFdBQVcsR0FBRyxJQUFJLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLENBQUM7SUFFakY7O09BRUc7SUFDSSxNQUFNLENBQVUsWUFBWSxHQUFHLElBQUksZ0JBQWdCLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUVuRjs7T0FFRztJQUNJLE1BQU0sQ0FBVSxXQUFXLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBRWpGOztPQUVHO0lBQ0ksTUFBTSxDQUFVLGtCQUFrQixHQUFHLElBQUksZ0JBQWdCLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUU5Rjs7T0FFRztJQUNJLE1BQU0sQ0FBVSxXQUFXLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBRWpGOztPQUVHO0lBQ0ksTUFBTSxDQUFVLFNBQVMsR0FBRyxJQUFJLGdCQUFnQixDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFFN0U7O09BRUc7SUFDSSxNQUFNLENBQVUscUJBQXFCLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO0lBRXBHOztPQUVHO0lBQ0ksTUFBTSxDQUFVLE9BQU8sR0FBRyxJQUFJLGdCQUFnQixDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFFekU7O09BRUc7SUFDSSxNQUFNLENBQVUsaUJBQWlCLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBRTNGOztPQUVHO0lBQ0ksTUFBTSxDQUFVLHVCQUF1QixHQUFHLElBQUksZ0JBQWdCLENBQUMsK0JBQStCLENBQUMsQ0FBQztJQUV2Rzs7T0FFRztJQUNJLE1BQU0sQ0FBVSx1QkFBdUIsR0FBRyxJQUFJLGdCQUFnQixD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UyxHQUFHLElBQUksZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRXBFOztPQUVHO0lBQ0ksTUFBTSxDQUFVLEtBQUssR0FBRyxJQUFJLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUU1RDs7T0FFRztJQUNJLE1BQU0sQ0FBVSxPQUFPLEdBQUcsSUFBSSxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFaEU7O09BRUc7SUFDYSxLQUFLLENBQVM7SUFFOUI7O09BRUc7SUFDSCxZQUFtQixLQUFhO1FBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0tBQ3BCOztBQTFCSCwwQ0EyQkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IER1cmF0aW9uIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHR5cGUgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5cbi8qKlxuICogQnVpbHQtaW4gZXZhbHVhdG9ycyBwcm92aWRlZCBieSBBbWF6b24gQmVkcm9jayBBZ2VudENvcmUuXG4gKlxuICogVGhlc2UgZXZhbHVhdG9ycyBhc3Nlc3MgZGlmZmVyZW50IGFzcGVjdHMgb2YgYWdlbnQgcGVyZm9ybWFuY2VcbiAqIGF0IHZhcmlvdXMgbGV2ZWxzIChzZXNzaW9uLCB0cmFjZSwgb3IgdG9vbCBjYWxsKS5cbiAqL1xuZXhwb3J0IGNsYXNzIEJ1aWx0aW5FdmFsdWF0b3Ige1xuICAvKipcbiAgICogRXZhbHVhdGVzIHdoZXRoZXIgdGhlIGluZm9ybWF0aW9uIGluIHRoZSBhZ2VudCdzIHJlc3BvbnNlIGlzIGZhY3R1YWxseSBhY2N1cmF0ZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQ09SUkVDVE5FU1MgPSBuZXcgQnVpbHRpbkV2YWx1YXRvcignQnVpbHRpbi5Db3JyZWN0bmVzcycpO1xuXG4gIC8qKlxuICAgKiBFdmFsdWF0ZXMgd2hldGhlciBpbmZvcm1hdGlvbiBpbiB0aGUgcmVzcG9uc2UgaXMgc3VwcG9ydGVkIGJ5IHByb3ZpZGVkIGNvbnRleHQvc291cmNlcy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRkFJVEhGVUxORVNTID0gbmV3IEJ1aWx0aW5FdmFsdWF0b3IoJ0J1aWx0aW4uRmFpdGhmdWxuZXNzJyk7XG5cbiAgLyoqXG4gICAqIEV2YWx1YXRlcyBmcm9tIHVzZXIncyBwZXJzcGVjdGl2ZSBob3cgdXNlZnVsIGFuZCB2YWx1YWJsZSB0aGUgYWdlbnQncyByZXNwb25zZSBpcy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgSEVMUEZVTE5FU1MgPSBuZXcgQnVpbHRpbkV2YWx1YXRvcignQnVpbHRpbi5IZWxwZnVsbmVzcycpO1xuXG4gIC8qKlxuICAgKiBFdmFsdWF0ZXMgd2hldGhlciB0aGUgcmVzcG9uc2UgYXBwcm9wcmlhdGVseSBhZGRyZXNzZXMgdGhlIHVzZXIncyBxdWVyeS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUkVTUE9OU0VfUkVMRVZBTkNFID0gbmV3IEJ1aWx0aW5FdmFsdWF0b3IoJ0J1aWx0aW4uUmVzcG9uc2VSZWxldmFuY2UnKTtcblxuICAvKipcbiAgICogRXZhbHVhdGVzIHdoZXRoZXIgdGhlIHJlc3BvbnNlIGlzIGFwcHJvcHJpYXRlbHkgYnJpZWYgd2l0aG91dCBtaXNzaW5nIGtleSBpbmZvcm1hdGlvbi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQ09OQ0lTRU5FU1MgPSBuZXcgQnVpbHRpbkV2YWx1YXRvcignQnVpbHRpbi5Db25jaXNlbmVzcycpO1xuXG4gIC8qKlxuICAgKiBFdmFsdWF0ZXMgd2hldGhlciB0aGUgcmVzcG9uc2UgaXMgbG9naWNhbGx5IHN0cnVjdHVyZWQgYW5kIGNvaGVyZW50LlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBDT0hFUkVOQ0UgPSBuZXcgQnVpbHRpbkV2YWx1YXRvcignQnVpbHRpbi5Db2hlcmVuY2UnKTtcblxuICAvKipcbiAgICogTWVhc3VyZXMgaG93IHdlbGwgdGhlIGFnZW50IGZvbGxvd3MgdGhlIHByb3ZpZGVkIHN5c3RlbSBpbnN0cnVjdGlvbnMuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IElOU1RSVUNUSU9OX0ZPTExPV0lORyA9IG5ldyBCdWlsdGluRXZhbHVhdG9yKCdCdWlsdGluLkluc3RydWN0aW9uRm9sbG93aW5nJyk7XG5cbiAgLyoqXG4gICAqIERldGVjdHMgd2hlbiBhZ2VudCBldmFkZXMgcXVlc3Rpb25zIG9yIGRpcmVjdGx5IHJlZnVzZXMgdG8gYW5zd2VyLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBSRUZVU0FMID0gbmV3IEJ1aWx0aW5FdmFsdWF0b3IoJ0J1aWx0aW4uUmVmdXNhbCcpO1xuXG4gIC8qKlxuICAgKiBFdmFsdWF0ZXMgd2hldGhlciB0aGUgY29udmVyc2F0aW9uIHN1Y2Nlc3NmdWxseSBtZWV0cyB0aGUgdXNlcidzIGdvYWxzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBHT0FMX1NVQ0NFU1NfUkFURSA9IG5ldyBCdWlsdGluRXZhbHVhdG9yKCdCdWlsdGluLkdvYWxTdWNjZXNzUmF0ZScpO1xuXG4gIC8qKlxuICAgKiBFdmFsdWF0ZXMgd2hldGhlciB0aGUgYWdlbnQgc2VsZWN0ZWQgdGhlIGFwcHJvcHJpYXRlIHRvb2wgZm9yIHRoZSB0YXNrLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBUT09MX1NFTEVDVElPTl9BQ0NVUkFDWSA9IG5ldyBCdWlsdGluRXZhbHVhdG9yKCdCdWlsdGluLlRvb2xTZWxlY3Rpb25BY2N1cmFjeScpO1xuXG4gIC8qKlxuICAgKiBFdmFsdWF0ZXMgaG93IGFjY3VyYXRlbHkgdGhlIGFnZW50IGV4dHJhY3RzIHBhcmFtZXRlcnMgZnJvbSB1c2VyIHF1ZXJpZXMuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IFRPT0xfUEFSQU1FVEVSX0FDQ1VSQUNZID0gbmV3IEJ1aWx0aW5FdmFsdWF0b3IoJ0J1aWx0aW4uVG9vbFBhcmFtZXRlckFjY3VyYWN5Jyk7XG5cbiAgLyoqXG4gICAqIEV2YWx1YXRlcyB3aGV0aGVyIHRoZSByZXNwb25zZSBjb250YWlucyBoYXJtZnVsIGNvbnRlbnQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEhBUk1GVUxORVNTID0gbmV3IEJ1aWx0aW5FdmFsdWF0b3IoJ0J1aWx0aW4uSGFybWZ1bG5lc3MnKTtcblxuICAvKipcbiAgICogRGV0ZWN0cyBjb250ZW50IHRoYXQgbWFrZXMgZ2VuZXJhbGl6YXRpb25zIGFib3V0IGluZGl2aWR1YWxzIG9yIGdyb3Vwcy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgU1RFUkVPVFlQSU5HID0gbmV3IEJ1aWx0aW5FdmFsdWF0b3IoJ0J1aWx0aW4uU3RlcmVvdHlwaW5nJyk7XG5cbiAgLyoqXG4gICAqIFRoZSBzdHJpbmcgdmFsdWUgb2YgdGhlIGJ1aWx0LWluIGV2YWx1YXRvci5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB2YWx1ZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgZXZhbHVhdG9yIGlkZW50aWZpZXIgc3RyaW5nXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgfVxufVxuXG4vKipcbiAqIFRoZSBleGVjdXRpb24gc3RhdHVzIG9mIGFuIG9ubGluZSBldmFsdWF0aW9uIGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBFeGVjdXRpb25TdGF0dXMge1xuICAvKipcbiAgICogVGhlIGV2YWx1YXRpb24gaXMgZW5hYmxlZCBhbmQgYWN0aXZlbHkgcHJvY2Vzc2luZyBhZ2VudCB0cmFjZXMuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEVOQUJMRUQgPSBuZXcgRXhlY3V0aW9uU3RhdHVzKCdFTkFCTEVEJyk7XG5cbiAgLyoqXG4gICAqIFRoZSBldmFsdWF0aW9uIGlzIGRpc2FibGVkIGFuZCBub3QgcHJvY2Vzc2luZyBhZ2VudCB0cmFjZXMuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IERJU0FCTEVEID0gbmV3IEV4ZWN1dGlvblN0YXR1cygnRElTQUJMRUQnKTtcblxuICAvKipcbiAgICogVGhlIHN0cmluZyB2YWx1ZSBvZiB0aGUgZXhlY3V0aW9uIHN0YXR1cy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSB2YWx1ZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgZXhlY3V0aW9uIHN0YXR1cyBzdHJpbmdcbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG59XG5cbi8qKlxuICogRmlsdGVyIG9wZXJhdG9ycyBmb3Igb25saW5lIGV2YWx1YXRpb24gZmlsdGVyaW5nLlxuICovXG5leHBvcnQgY2xhc3MgRmlsdGVyT3BlcmF0b3Ige1xuICAvKipcbiAgICogRXhhY3QgZXF1YWxpdHkgY29tcGFyaXNvbi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgRVFVQUwgPSBuZXcgRmlsdGVyT3BlcmF0b3IoJ0VxdWFscycpO1xuXG4gIC8qKlxuICAgKiBOb3QgZXF1YWwgY29tcGFyaXNvbi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTk9UX0VRVUFMID0gbmV3IEZpbHRlck9wZXJhdG9yKCdOb3RFcXVhbHMnKTtcblxuICAvKipcbiAgICogR3JlYXRlciB0aGFuIGNvbXBhcmlzb24gKG51bWVyaWMgdmFsdWVzKS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgR1JFQVRFUl9USEFOID0gbmV3IEZpbHRlck9wZXJhdG9yKCdHcmVhdGVyVGhhbicpO1xuXG4gIC8qKlxuICAgKiBMZXNzIHRoYW4gY29tcGFyaXNvbiAobnVtZXJpYyB2YWx1ZXMpLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBMRVNTX1RIQU4gPSBuZXcgRmlsdGVyT3BlcmF0b3IoJ0xlc3NUaGFuJyk7XG5cbiAgLyoqXG4gICAqIEdyZWF0ZXIgdGhhbiBvciBlcXVhbCBjb21wYXJpc29uIChudW1lcmljIHZhbHVlcykuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEdSRUFURVJfVEhBTl9PUl9FUVVBTCA9IG5ldyBGaWx0ZXJPcGVyYXRvcignR3JlYXRlclRoYW5PckVxdWFsJyk7XG5cbiAgLyoqXG4gICAqIExlc3MgdGhhbiBvciBlcXVhbCBjb21wYXJpc29uIChudW1lcmljIHZhbHVlcykuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IExFU1NfVEhBTl9PUl9FUVVBTCA9IG5ldyBGaWx0ZXJPcGVyYXRvcignTGVzc1RoYW5PckVxdWFsJyk7XG5cbiAgLyoqXG4gICAqIFN0cmluZyBjb250YWlucyBjb21wYXJpc29uLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBDT05UQUlOUyA9IG5ldyBGaWx0ZXJPcGVyYXRvcignQ29udGFpbnMnKTtcblxuICAvKipcbiAgICogU3RyaW5nIGRvZXMgbm90IGNvbnRhaW4gY29tcGFyaXNvbi5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgTk9UX0NPTlRBSU5TID0gbmV3IEZpbHRlck9wZXJhdG9yKCdOb3RDb250YWlucycpO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RyaW5nIHZhbHVlIG9mIHRoZSBmaWx0ZXIgb3BlcmF0b3IuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdmFsdWU6IHN0cmluZztcblxuICAvKipcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIGZpbHRlciBvcGVyYXRvciBzdHJpbmdcbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcih2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG59XG5cbi8qKlxuICogQSB0eXBlZCBmaWx0ZXIgdmFsdWUgZm9yIG9ubGluZSBldmFsdWF0aW9uIGZpbHRlcmluZy5cbiAqXG4gKiBVc2UgdGhlIHN0YXRpYyBmYWN0b3J5IG1ldGhvZHMgdG8gY3JlYXRlIGZpbHRlciB2YWx1ZXM6XG4gKiAtIGBGaWx0ZXJWYWx1ZS5zdHJpbmcoKWAgZm9yIHN0cmluZyBjb21wYXJpc29uc1xuICogLSBgRmlsdGVyVmFsdWUubnVtYmVyKClgIGZvciBudW1lcmljIGNvbXBhcmlzb25zXG4gKiAtIGBGaWx0ZXJWYWx1ZS5ib29sZWFuKClgIGZvciBib29sZWFuIGNvbXBhcmlzb25zXG4gKi9cbmV4cG9ydCBjbGFzcyBGaWx0ZXJWYWx1ZSB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgc3RyaW5nIGZpbHRlciB2YWx1ZS5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHN0cmluZyB2YWx1ZSB0byBjb21wYXJlIGFnYWluc3RcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgc3RyaW5nKHZhbHVlOiBzdHJpbmcpOiBGaWx0ZXJWYWx1ZSB7XG4gICAgcmV0dXJuIG5ldyBGaWx0ZXJWYWx1ZSh7IHN0cmluZ1ZhbHVlOiB2YWx1ZSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbnVtZXJpYyBmaWx0ZXIgdmFsdWUuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBudW1lcmljIHZhbHVlIHRvIGNvbXBhcmUgYWdhaW5zdFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBudW1iZXIodmFsdWU6IG51bWJlcik6IEZpbHRlclZhbHVlIHtcbiAgICByZXR1cm4gbmV3IEZpbHRlclZhbHVlKHsgZG91YmxlVmFsdWU6IHZhbHVlIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBib29sZWFuIGZpbHRlciB2YWx1ZS5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIGJvb2xlYW4gdmFsdWUgdG8gY29tcGFyZSBhZ2FpbnN0XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGJvb2xlYW4odmFsdWU6IGJvb2xlYW4pOiBGaWx0ZXJWYWx1ZSB7XG4gICAgcmV0dXJuIG5ldyBGaWx0ZXJWYWx1ZSh7IGJvb2xlYW5WYWx1ZTogdmFsdWUgfSk7XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IGZpbHRlclZhbHVlOiB7IHN0cmluZ1ZhbHVlPzogc3RyaW5nOyBkb3VibGVWYWx1ZT86IG51bWJlcjsgYm9vbGVhblZhbHVlPzogYm9vbGVhbiB9O1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoZmlsdGVyVmFsdWU6IHsgc3RyaW5nVmFsdWU/OiBzdHJpbmc7IGRvdWJsZVZhbHVlPzogbnVtYmVyOyBib29sZWFuVmFsdWU/OiBib29sZWFuIH0pIHtcbiAgICB0aGlzLmZpbHRlclZhbHVlID0gZmlsdGVyVmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogQmluZHMgdGhlIGZpbHRlciB2YWx1ZSB0byBwcm9kdWNlIHRoZSBMMSBwcm9wZXJ0eS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgX2JpbmQoKTogeyBzdHJpbmdWYWx1ZT86IHN0cmluZzsgZG91YmxlVmFsdWU/OiBudW1iZXI7IGJvb2xlYW5WYWx1ZT86IGJvb2xlYW4gfSB7XG4gICAgcmV0dXJuIHRoaXMuZmlsdGVyVmFsdWU7XG4gIH1cbn1cblxuLyoqXG4gKiBGaWx0ZXIgY29uZmlndXJhdGlvbiBmb3Igb25saW5lIGV2YWx1YXRpb24uXG4gKlxuICogRmlsdGVycyBkZXRlcm1pbmUgd2hpY2ggYWdlbnQgdHJhY2VzIHNob3VsZCBiZSBpbmNsdWRlZCBpbiB0aGUgZXZhbHVhdGlvblxuICogYmFzZWQgb24gdHJhY2UgcHJvcGVydGllcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJDb25maWcge1xuICAvKipcbiAgICogVGhlIGtleSBvciBmaWVsZCBuYW1lIHRvIGZpbHRlciBvbiB3aXRoaW4gdGhlIGFnZW50IHRyYWNlIGRhdGEuXG4gICAqXG4gICAqIEBleGFtcGxlICd1c2VyLnJlZ2lvbidcbiAgICovXG4gIHJlYWRvbmx5IGtleTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgY29tcGFyaXNvbiBvcGVyYXRvciB0byB1c2UgZm9yIGZpbHRlcmluZy5cbiAgICovXG4gIHJlYWRvbmx5IG9wZXJhdG9yOiBGaWx0ZXJPcGVyYXRvcjtcblxuICAvKipcbiAgICogVGhlIHZhbHVlIHRvIGNvbXBhcmUgYWdhaW5zdCB1c2luZyB0aGUgc3BlY2lmaWVkIG9wZXJhdG9yLlxuICAgKlxuICAgKiBVc2UgYEZpbHRlclZhbHVlLnN0cmluZygpYCwgYEZpbHRlclZhbHVlLm51bWJlcigpYCwgb3IgYEZpbHRlclZhbHVlLmJvb2xlYW4oKWBcbiAgICogdG8gY3JlYXRlIHR5cGVkIGZpbHRlciB2YWx1ZXMuXG4gICAqL1xuICByZWFkb25seSB2YWx1ZTogRmlsdGVyVmFsdWU7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgQ2xvdWRXYXRjaCBMb2dzIGRhdGEgc291cmNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENsb3VkV2F0Y2hMb2dzRGF0YVNvdXJjZUNvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgbGlzdCBvZiBDbG91ZFdhdGNoIGxvZyBncm91cCBuYW1lcyB0byBtb25pdG9yIGZvciBhZ2VudCB0cmFjZXMuXG4gICAqXG4gICAqIEBtaW5pbXVtIDFcbiAgICogQG1heGltdW0gNVxuICAgKi9cbiAgcmVhZG9ubHkgbG9nR3JvdXBOYW1lczogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBsaXN0IG9mIHNlcnZpY2UgbmFtZXMgdG8gZmlsdGVyIHRyYWNlcyB3aXRoaW4gdGhlIHNwZWNpZmllZCBsb2cgZ3JvdXBzLlxuICAgKiBVc2VkIHRvIGlkZW50aWZ5IHJlbGV2YW50IGFnZW50IHNlc3Npb25zLlxuICAgKlxuICAgKiBGb3IgYWdlbnRzIGhvc3RlZCBvbiBBZ2VudENvcmUgUnVudGltZSwgc2VydmljZSBuYW1lIGZvbGxvd3MgdGhlIGZvcm1hdDpcbiAgICogYDxhZ2VudC1ydW50aW1lLW5hbWU+LjxhZ2VudC1ydW50aW1lLWVuZHBvaW50LW5hbWU+YFxuICAgKlxuICAgKiBAbWluaW11bSAxXG4gICAqIEBtYXhpbXVtIDFcbiAgICovXG4gIHJlYWRvbmx5IHNlcnZpY2VOYW1lczogc3RyaW5nW107XG59XG5cbi8qKlxuICogQmFzZSBwcm9wZXJ0aWVzIGZvciBjcmVhdGluZyBhbiBPbmxpbmVFdmFsdWF0aW9uQ29uZmlnLlxuICogVGhlIGFjdHVhbCBPbmxpbmVFdmFsdWF0aW9uUHJvcHMgaXMgZGVmaW5lZCBpbiBvbmxpbmUtZXZhbHVhdGlvbi1jb25maWcudHNcbiAqIHRvIGF2b2lkIGNpcmN1bGFyIGRlcGVuZGVuY2llcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPbmxpbmVFdmFsdWF0aW9uQmFzZVByb3BzIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBvbmxpbmUgZXZhbHVhdGlvbiBjb25maWd1cmF0aW9uLlxuICAgKlxuICAgKiBNdXN0IGJlIHVuaXF1ZSB3aXRoaW4geW91ciBhY2NvdW50LiBWYWxpZCBjaGFyYWN0ZXJzIGFyZSBhLXosIEEtWiwgMC05LCBfICh1bmRlcnNjb3JlKS5cbiAgICogTXVzdCBzdGFydCB3aXRoIGEgbGV0dGVyIGFuZCBjYW4gYmUgdXAgdG8gNDggY2hhcmFjdGVycyBsb25nLlxuICAgKlxuICAgKiBAcGF0dGVybiBeW2EtekEtWl1bYS16QS1aMC05X117MCw0N30kXG4gICAqL1xuICByZWFkb25seSBvbmxpbmVFdmFsdWF0aW9uQ29uZmlnTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgSUFNIHJvbGUgdGhhdCBwcm92aWRlcyBwZXJtaXNzaW9ucyBmb3IgdGhlIGV2YWx1YXRpb24gdG8gYWNjZXNzIEFXUyBzZXJ2aWNlcy5cbiAgICpcbiAgICogSWYgbm90IHByb3ZpZGVkLCBhIHJvbGUgd2lsbCBiZSBjcmVhdGVkIGF1dG9tYXRpY2FsbHkgd2l0aCB0aGUgcmVxdWlyZWQgcGVybWlzc2lvbnNcbiAgICogaW5jbHVkaW5nIGNyb3NzLXJlZ2lvbiBCZWRyb2NrIG1vZGVsIGludm9jYXRpb24gKHRvIHN1cHBvcnQgY3Jvc3MtcmVnaW9uIGluZmVyZW5jZVxuICAgKiBwcm9maWxlcykuIEZvciBzdHJpY3QgY29zdCBjb250cm9scyBvciBkYXRhIHJlc2lkZW5jeSBjb21wbGlhbmNlLCBwcm92aWRlIGEgY3VzdG9tXG4gICAqIHJvbGUgd2l0aCByZWdpb24tc2NvcGVkIHBlcm1pc3Npb25zLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIEEgbmV3IHJvbGUgd2lsbCBiZSBjcmVhdGVkXG4gICAqL1xuICByZWFkb25seSBleGVjdXRpb25Sb2xlPzogaWFtLklSb2xlO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVzY3JpcHRpb24gb2YgdGhlIG9ubGluZSBldmFsdWF0aW9uIGNvbmZpZ3VyYXRpb24uXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gZGVzY3JpcHRpb25cbiAgICogQG1heExlbmd0aCAyMDBcbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGVyY2VudGFnZSBvZiBhZ2VudCB0cmFjZXMgdG8gc2FtcGxlIGZvciBldmFsdWF0aW9uLlxuICAgKlxuICAgKiBAZGVmYXVsdCAxMFxuICAgKiBAbWluaW11bSAwLjAxXG4gICAqIEBtYXhpbXVtIDEwMFxuICAgKi9cbiAgcmVhZG9ubHkgc2FtcGxpbmdQZXJjZW50YWdlPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbGlzdCBvZiBmaWx0ZXJzIHRoYXQgZGV0ZXJtaW5lIHdoaWNoIGFnZW50IHRyYWNlcyBzaG91bGQgYmUgZXZhbHVhdGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIGZpbHRlcnMgKGV2YWx1YXRlIGFsbCBzYW1wbGVkIHRyYWNlcylcbiAgICogQG1heGltdW0gNVxuICAgKi9cbiAgcmVhZG9ubHkgZmlsdGVycz86IEZpbHRlckNvbmZpZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgZHVyYXRpb24gb2YgaW5hY3Rpdml0eSBhZnRlciB3aGljaCBhbiBhZ2VudCBzZXNzaW9uXG4gICAqIGlzIGNvbnNpZGVyZWQgY29tcGxldGUgYW5kIHJlYWR5IGZvciBldmFsdWF0aW9uLlxuICAgKlxuICAgKiBNdXN0IGJlIGJldHdlZW4gMSBtaW51dGUgYW5kIDE0NDAgbWludXRlcyAoMjQgaG91cnMpLlxuICAgKlxuICAgKiBAZGVmYXVsdCBEdXJhdGlvbi5taW51dGVzKDE1KVxuICAgKi9cbiAgcmVhZG9ubHkgc2Vzc2lvblRpbWVvdXQ/OiBEdXJhdGlvbjtcblxuICAvKipcbiAgICogVGhlIGV4ZWN1dGlvbiBzdGF0dXMgb2YgdGhlIG9ubGluZSBldmFsdWF0aW9uIGNvbmZpZ3VyYXRpb24uXG4gICAqXG4gICAqIENvbnRyb2xzIHdoZXRoZXIgdGhlIGV2YWx1YXRpb24gYWN0aXZlbHkgcHJvY2Vzc2VzIGFnZW50IHRyYWNlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgRXhlY3V0aW9uU3RhdHVzLkVOQUJMRURcbiAgICovXG4gIHJlYWRvbmx5IGV4ZWN1dGlvblN0YXR1cz86IEV4ZWN1dGlvblN0YXR1cztcbn1cblxuLyoqXG4gKiBUaGUgcmVzdWx0IG9mIGJpbmRpbmcgYW4gRXZhbHVhdG9yUmVmZXJlbmNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV2YWx1YXRvclJlZmVyZW5jZUJpbmRSZXN1bHQge1xuICAvKipcbiAgICogVGhlIGV2YWx1YXRvciBpZGVudGlmaWVyLlxuICAgKi9cbiAgcmVhZG9ubHkgZXZhbHVhdG9ySWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgcmVzdWx0IG9mIGJpbmRpbmcgYSBEYXRhU291cmNlQ29uZmlnLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGFTb3VyY2VDb25maWdCaW5kUmVzdWx0IHtcbiAgLyoqXG4gICAqIFRoZSBDbG91ZFdhdGNoIExvZ3MgZGF0YSBzb3VyY2UgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGNsb3VkV2F0Y2hMb2dzOiBDbG91ZFdhdGNoTG9nc0RhdGFTb3VyY2VDb25maWc7XG59XG5cbi8qKlxuICogVGhlIGxldmVsIGF0IHdoaWNoIGEgY3VzdG9tIGV2YWx1YXRvciBhc3Nlc3NlcyBhZ2VudCBwZXJmb3JtYW5jZS5cbiAqXG4gKiBEZXRlcm1pbmVzIHdoYXQgZ3JhbnVsYXJpdHkgb2YgZGF0YSB0aGUgZXZhbHVhdG9yIG9wZXJhdGVzIG9uLlxuICovXG5leHBvcnQgY2xhc3MgRXZhbHVhdGlvbkxldmVsIHtcbiAgLyoqXG4gICAqIEV2YWx1YXRlcyBpbmRpdmlkdWFsIHRvb2wgY2FsbCBpbnZvY2F0aW9ucyB3aXRoaW4gYSB0cmFjZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVE9PTF9DQUxMID0gbmV3IEV2YWx1YXRpb25MZXZlbCgnVE9PTF9DQUxMJyk7XG5cbiAgLyoqXG4gICAqIEV2YWx1YXRlcyBhIGNvbXBsZXRlIGFnZW50IHRyYWNlIChhIHNpbmdsZSByZXF1ZXN0LXJlc3BvbnNlIGN5Y2xlKS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgVFJBQ0UgPSBuZXcgRXZhbHVhdGlvbkxldmVsKCdUUkFDRScpO1xuXG4gIC8qKlxuICAgKiBFdmFsdWF0ZXMgYW4gZW50aXJlIGFnZW50IHNlc3Npb24gKG11bHRpcGxlIHRyYWNlcyBhY3Jvc3MgYSBjb252ZXJzYXRpb24pLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBTRVNTSU9OID0gbmV3IEV2YWx1YXRpb25MZXZlbCgnU0VTU0lPTicpO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RyaW5nIHZhbHVlIG9mIHRoZSBldmFsdWF0aW9uIGxldmVsLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHZhbHVlOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBldmFsdWF0aW9uIGxldmVsIHN0cmluZ1xuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gIH1cbn1cblxuLyoqXG4gKiBBIGNhdGVnb3JpY2FsIHJhdGluZyBzY2FsZSBvcHRpb24gZm9yIGN1c3RvbSBldmFsdWF0b3JzLlxuICpcbiAqIENhdGVnb3JpY2FsIHNjYWxlcyBkZWZpbmUgZGlzY3JldGUgbGFiZWxzIGZvciBzY29yaW5nIGFnZW50IHBlcmZvcm1hbmNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENhdGVnb3JpY2FsUmF0aW5nT3B0aW9uIHtcbiAgLyoqXG4gICAqIFRoZSBsYWJlbCBmb3IgdGhpcyByYXRpbmcgb3B0aW9uLlxuICAgKlxuICAgKiBAZXhhbXBsZSAnR29vZCdcbiAgICovXG4gIHJlYWRvbmx5IGxhYmVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkZXNjcmlwdGlvbiB0aGF0IGV4cGxhaW5zIHdoYXQgdGhpcyByYXRpbmcgcmVwcmVzZW50cy5cbiAgICpcbiAgICogQGV4YW1wbGUgJ1RoZSByZXNwb25zZSBmdWxseSBhZGRyZXNzZXMgdGhlIHVzZXIgcXVlcnkgd2l0aCBhY2N1cmF0ZSBpbmZvcm1hdGlvbi4nXG4gICAqL1xuICByZWFkb25seSBkZWZpbml0aW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBudW1lcmljYWwgcmF0aW5nIHNjYWxlIG9wdGlvbiBmb3IgY3VzdG9tIGV2YWx1YXRvcnMuXG4gKlxuICogTnVtZXJpY2FsIHNjYWxlcyBkZWZpbmUgbGFiZWxlZCBudW1lcmljIHZhbHVlcyBmb3Igc2NvcmluZyBhZ2VudCBwZXJmb3JtYW5jZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBOdW1lcmljYWxSYXRpbmdPcHRpb24ge1xuICAvKipcbiAgICogVGhlIGxhYmVsIGZvciB0aGlzIHJhdGluZyBvcHRpb24uXG4gICAqXG4gICAqIEBleGFtcGxlICdFeGNlbGxlbnQnXG4gICAqL1xuICByZWFkb25seSBsYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVzY3JpcHRpb24gdGhhdCBleHBsYWlucyB3aGF0IHRoaXMgbnVtZXJpY2FsIHJhdGluZyByZXByZXNlbnRzLlxuICAgKlxuICAgKiBAZXhhbXBsZSAnVGhlIHJlc3BvbnNlIGlzIGNvbXByZWhlbnNpdmUsIGFjY3VyYXRlLCBhbmQgd2VsbC1zdHJ1Y3R1cmVkLidcbiAgICovXG4gIHJlYWRvbmx5IGRlZmluaXRpb246IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG51bWVyaWNhbCB2YWx1ZSBmb3IgdGhpcyByYXRpbmcgc2NhbGUgb3B0aW9uLlxuICAgKlxuICAgKiBAZXhhbXBsZSA1XG4gICAqL1xuICByZWFkb25seSB2YWx1ZTogbnVtYmVyO1xufVxuXG4vKipcbiAqIEluZmVyZW5jZSBjb25maWd1cmF0aW9uIGZvciBhIGN1c3RvbSBMTE0tYXMtYS1KdWRnZSBldmFsdWF0b3IuXG4gKlxuICogQ29udHJvbHMgaG93IHRoZSBmb3VuZGF0aW9uIG1vZGVsIGdlbmVyYXRlcyBldmFsdWF0aW9uIHJlc3BvbnNlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFdmFsdWF0b3JJbmZlcmVuY2VDb25maWcge1xuICAvKipcbiAgICogVGhlIG1heGltdW0gbnVtYmVyIG9mIHRva2VucyB0byBnZW5lcmF0ZSBpbiB0aGUgbW9kZWwgcmVzcG9uc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gVGhlIGZvdW5kYXRpb24gbW9kZWwncyBkZWZhdWx0IG1heGltdW0gdG9rZW4gbGltaXQgaXMgdXNlZFxuICAgKi9cbiAgcmVhZG9ubHkgbWF4VG9rZW5zPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgdGVtcGVyYXR1cmUgdmFsdWUgdGhhdCBjb250cm9scyByYW5kb21uZXNzIGluIHRoZSBtb2RlbCdzIHJlc3BvbnNlcy5cbiAgICpcbiAgICogSGlnaGVyIHZhbHVlcyBwcm9kdWNlIG1vcmUgZGl2ZXJzZSBvdXRwdXRzLiBSYW5nZTogMC4wIHRvIDEuMC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBUaGUgZm91bmRhdGlvbiBtb2RlbCdzIGRlZmF1bHQgdGVtcGVyYXR1cmUgaXMgdXNlZFxuICAgKi9cbiAgcmVhZG9ubHkgdGVtcGVyYXR1cmU/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSB0b3AtcCBzYW1wbGluZyBwYXJhbWV0ZXIgdGhhdCBjb250cm9scyB0aGUgZGl2ZXJzaXR5IG9mIHRoZSBtb2RlbCdzIHJlc3BvbnNlcy5cbiAgICpcbiAgICogUmFuZ2U6IDAuMCB0byAxLjAuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gVGhlIGZvdW5kYXRpb24gbW9kZWwncyBkZWZhdWx0IHRvcC1wIHZhbHVlIGlzIHVzZWRcbiAgICovXG4gIHJlYWRvbmx5IHRvcFA/OiBudW1iZXI7XG59XG5cbi8qKlxuICogQXR0cmlidXRlcyBmb3IgaW1wb3J0aW5nIGFuIGV4aXN0aW5nIEV2YWx1YXRvci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFdmFsdWF0b3JBdHRyaWJ1dGVzIHtcbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIGV2YWx1YXRvci5cbiAgICovXG4gIHJlYWRvbmx5IGV2YWx1YXRvckFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhlIGV2YWx1YXRvci5cbiAgICovXG4gIHJlYWRvbmx5IGV2YWx1YXRvcklkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBldmFsdWF0b3IuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gTm8gbmFtZSBhdmFpbGFibGVcbiAgICovXG4gIHJlYWRvbmx5IGV2YWx1YXRvck5hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQXR0cmlidXRlcyBmb3IgaW1wb3J0aW5nIGFuIGV4aXN0aW5nIE9ubGluZUV2YWx1YXRpb25Db25maWcuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT25saW5lRXZhbHVhdGlvbkNvbmZpZ0F0dHJpYnV0ZXMge1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgb25saW5lIGV2YWx1YXRpb24gY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IG9ubGluZUV2YWx1YXRpb25Db25maWdBcm46IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSBvbmxpbmUgZXZhbHVhdGlvbiBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgb25saW5lRXZhbHVhdGlvbkNvbmZpZ0lkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBvbmxpbmUgZXZhbHVhdGlvbiBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcmVhZG9ubHkgb25saW5lRXZhbHVhdGlvbkNvbmZpZ05hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgSUFNIGV4ZWN1dGlvbiByb2xlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIE5vIHJvbGUgQVJOIHByb3ZpZGVkXG4gICAqL1xuICByZWFkb25seSBleGVjdXRpb25Sb2xlQXJuPzogc3RyaW5nO1xufVxuIl19
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
5
|
+
* with the License. A copy of the License is located at
|
|
6
|
+
*
|
|
7
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
|
|
10
|
+
* OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
|
|
11
|
+
* and limitations under the License.
|
|
12
|
+
*/
|
|
13
|
+
import type { IConstruct } from 'constructs';
|
|
14
|
+
import type { CategoricalRatingOption, FilterConfig, NumericalRatingOption } from './types';
|
|
15
|
+
/**
|
|
16
|
+
* Interface for evaluator references used in validation.
|
|
17
|
+
* @internal
|
|
18
|
+
*/
|
|
19
|
+
interface IEvaluatorReference {
|
|
20
|
+
readonly evaluatorId: string;
|
|
21
|
+
}
|
|
22
|
+
/******************************************************************************
|
|
23
|
+
* TYPES
|
|
24
|
+
*****************************************************************************/
|
|
25
|
+
export type ValidationFn<T> = (param: T, scope?: IConstruct) => string[];
|
|
26
|
+
/******************************************************************************
|
|
27
|
+
* VALIDATION FUNCTIONS
|
|
28
|
+
*****************************************************************************/
|
|
29
|
+
/**
|
|
30
|
+
* Validates the online evaluation configuration name.
|
|
31
|
+
* Must start with a letter and contain only alphanumeric characters and underscores.
|
|
32
|
+
* @param name - The configuration name to validate
|
|
33
|
+
* @param _scope - The construct scope for error reporting (optional)
|
|
34
|
+
* @returns Array of validation error messages, empty if valid
|
|
35
|
+
*/
|
|
36
|
+
export declare function validateConfigName(name: string, _scope?: IConstruct): string[];
|
|
37
|
+
/**
|
|
38
|
+
* Validates the description field.
|
|
39
|
+
* @param description - The description to validate
|
|
40
|
+
* @param _scope - The construct scope for error reporting (optional)
|
|
41
|
+
* @returns Array of validation error messages, empty if valid
|
|
42
|
+
*/
|
|
43
|
+
export declare function validateDescription(description: string | undefined, _scope?: IConstruct): string[];
|
|
44
|
+
/**
|
|
45
|
+
* Validates the evaluators array.
|
|
46
|
+
* @param evaluators - The evaluators array to validate
|
|
47
|
+
* @param _scope - The construct scope for error reporting (optional)
|
|
48
|
+
* @returns Array of validation error messages, empty if valid
|
|
49
|
+
*/
|
|
50
|
+
export declare function validateEvaluators(evaluators: IEvaluatorReference[], _scope?: IConstruct): string[];
|
|
51
|
+
/**
|
|
52
|
+
* Validates the sampling percentage.
|
|
53
|
+
* @param percentage - The sampling percentage to validate
|
|
54
|
+
* @param _scope - The construct scope for error reporting (optional)
|
|
55
|
+
* @returns Array of validation error messages, empty if valid
|
|
56
|
+
*/
|
|
57
|
+
export declare function validateSamplingPercentage(percentage: number | undefined, _scope?: IConstruct): string[];
|
|
58
|
+
/**
|
|
59
|
+
* Validates the filters array.
|
|
60
|
+
* @param filters - The filters array to validate
|
|
61
|
+
* @param _scope - The construct scope for error reporting (optional)
|
|
62
|
+
* @returns Array of validation error messages, empty if valid
|
|
63
|
+
*/
|
|
64
|
+
export declare function validateFilters(filters: FilterConfig[] | undefined, _scope?: IConstruct): string[];
|
|
65
|
+
/**
|
|
66
|
+
* Validates the session timeout in minutes.
|
|
67
|
+
* @param minutes - The session timeout in minutes to validate
|
|
68
|
+
* @param _scope - The construct scope for error reporting (optional)
|
|
69
|
+
* @returns Array of validation error messages, empty if valid
|
|
70
|
+
*/
|
|
71
|
+
export declare function validateSessionTimeout(minutes: number | undefined, _scope?: IConstruct): string[];
|
|
72
|
+
/**
|
|
73
|
+
* Validates the log group names array.
|
|
74
|
+
* @param names - The log group names array to validate
|
|
75
|
+
* @param _scope - The construct scope for error reporting (optional)
|
|
76
|
+
* @returns Array of validation error messages, empty if valid
|
|
77
|
+
*/
|
|
78
|
+
export declare function validateLogGroupNames(names: string[], _scope?: IConstruct): string[];
|
|
79
|
+
/**
|
|
80
|
+
* Validates the service names array.
|
|
81
|
+
* @param names - The service names array to validate
|
|
82
|
+
* @param _scope - The construct scope for error reporting (optional)
|
|
83
|
+
* @returns Array of validation error messages, empty if valid
|
|
84
|
+
*/
|
|
85
|
+
export declare function validateServiceNames(names: string[], _scope?: IConstruct): string[];
|
|
86
|
+
/**
|
|
87
|
+
* Validates the evaluator name.
|
|
88
|
+
* Must start with a letter and contain only alphanumeric characters and underscores.
|
|
89
|
+
* @param name - The evaluator name to validate
|
|
90
|
+
* @param _scope - The construct scope for error reporting (optional)
|
|
91
|
+
* @returns Array of validation error messages, empty if valid
|
|
92
|
+
*/
|
|
93
|
+
export declare function validateEvaluatorName(name: string, _scope?: IConstruct): string[];
|
|
94
|
+
/**
|
|
95
|
+
* Validates that instructions are provided and non-empty.
|
|
96
|
+
* @param instructions - The instructions to validate
|
|
97
|
+
* @param _scope - The construct scope for error reporting (optional)
|
|
98
|
+
* @returns Array of validation error messages, empty if valid
|
|
99
|
+
*/
|
|
100
|
+
export declare function validateInstructions(instructions: string, _scope?: IConstruct): string[];
|
|
101
|
+
/**
|
|
102
|
+
* Validates a categorical rating scale.
|
|
103
|
+
* @param options - The categorical rating options to validate
|
|
104
|
+
* @param _scope - The construct scope for error reporting (optional)
|
|
105
|
+
* @returns Array of validation error messages, empty if valid
|
|
106
|
+
*/
|
|
107
|
+
export declare function validateCategoricalRatingScale(options: CategoricalRatingOption[], _scope?: IConstruct): string[];
|
|
108
|
+
/**
|
|
109
|
+
* Validates a numerical rating scale.
|
|
110
|
+
* @param options - The numerical rating options to validate
|
|
111
|
+
* @param _scope - The construct scope for error reporting (optional)
|
|
112
|
+
* @returns Array of validation error messages, empty if valid
|
|
113
|
+
*/
|
|
114
|
+
export declare function validateNumericalRatingScale(options: NumericalRatingOption[], _scope?: IConstruct): string[];
|
|
115
|
+
/**
|
|
116
|
+
* Validates the Lambda timeout in seconds.
|
|
117
|
+
* @param seconds - The timeout in seconds to validate
|
|
118
|
+
* @param _scope - The construct scope for error reporting (optional)
|
|
119
|
+
* @returns Array of validation error messages, empty if valid
|
|
120
|
+
*/
|
|
121
|
+
export declare function validateLambdaTimeout(seconds: number | undefined, _scope?: IConstruct): string[];
|
|
122
|
+
/******************************************************************************
|
|
123
|
+
* HELPER FUNCTIONS
|
|
124
|
+
*****************************************************************************/
|
|
125
|
+
/**
|
|
126
|
+
* Throws a validation error if the validation function returns any errors.
|
|
127
|
+
* @param validationFn - The validation function to execute
|
|
128
|
+
* @param param - The parameter to validate
|
|
129
|
+
* @param scope - The construct scope for error reporting (optional)
|
|
130
|
+
* @returns The validated parameter
|
|
131
|
+
*/
|
|
132
|
+
export declare function throwIfInvalid<T>(validationFn: ValidationFn<T>, param: T, scope?: IConstruct): T;
|
|
133
|
+
export {};
|