@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.
Files changed (61) hide show
  1. package/.jsii +11191 -7249
  2. package/.jsii.tabl.json.gz +0 -0
  3. package/.warnings.jsii.js +30 -0
  4. package/README.md +422 -0
  5. package/lib/evaluation/custom-evaluator.d.ts +153 -0
  6. package/lib/evaluation/custom-evaluator.js +256 -0
  7. package/lib/evaluation/data-source.d.ts +106 -0
  8. package/lib/evaluation/data-source.js +156 -0
  9. package/lib/evaluation/evaluator-base.d.ts +82 -0
  10. package/lib/evaluation/evaluator-base.js +55 -0
  11. package/lib/evaluation/evaluator-config.d.ts +195 -0
  12. package/lib/evaluation/evaluator-config.js +184 -0
  13. package/lib/evaluation/evaluator.d.ts +68 -0
  14. package/lib/evaluation/evaluator.js +90 -0
  15. package/lib/evaluation/online-evaluation-base.d.ts +96 -0
  16. package/lib/evaluation/online-evaluation-base.js +55 -0
  17. package/lib/evaluation/online-evaluation.d.ts +134 -0
  18. package/lib/evaluation/online-evaluation.js +388 -0
  19. package/lib/evaluation/perms.d.ts +34 -0
  20. package/lib/evaluation/perms.js +53 -0
  21. package/lib/evaluation/types.d.ts +461 -0
  22. package/lib/evaluation/types.js +229 -0
  23. package/lib/evaluation/validation-helpers.d.ts +133 -0
  24. package/lib/evaluation/validation-helpers.js +349 -0
  25. package/lib/gateway/gateway-base.js +1 -1
  26. package/lib/gateway/gateway.js +2 -2
  27. package/lib/gateway/inbound-auth/authorizer.js +4 -4
  28. package/lib/gateway/inbound-auth/custom-claim.js +1 -1
  29. package/lib/gateway/interceptor.js +1 -1
  30. package/lib/gateway/outbound-auth/api-key.js +1 -1
  31. package/lib/gateway/outbound-auth/credential-provider.js +1 -1
  32. package/lib/gateway/protocol.js +2 -2
  33. package/lib/gateway/targets/schema/api-schema.js +4 -4
  34. package/lib/gateway/targets/schema/tool-schema.js +4 -4
  35. package/lib/gateway/targets/target-base.js +1 -1
  36. package/lib/gateway/targets/target-configuration.js +6 -6
  37. package/lib/gateway/targets/target.js +1 -1
  38. package/lib/index.d.ts +9 -0
  39. package/lib/index.js +13 -1
  40. package/lib/memory/memory-strategy.js +1 -1
  41. package/lib/memory/memory.js +2 -2
  42. package/lib/memory/strategies/managed-strategy.js +1 -1
  43. package/lib/memory/strategies/self-managed-strategy.js +8 -5
  44. package/lib/network/network-configuration.js +4 -4
  45. package/lib/policy/policy-base.js +1 -1
  46. package/lib/policy/policy-engine-base.js +1 -1
  47. package/lib/policy/policy-engine.js +1 -1
  48. package/lib/policy/policy-statement.js +5 -5
  49. package/lib/policy/policy-types.js +1 -1
  50. package/lib/policy/policy.js +1 -1
  51. package/lib/runtime/inbound-auth/custom-claim.js +1 -1
  52. package/lib/runtime/inbound-auth/runtime-authorizer-configuration.js +1 -1
  53. package/lib/runtime/observability.js +2 -2
  54. package/lib/runtime/runtime-artifact.js +1 -1
  55. package/lib/runtime/runtime-base.js +1 -1
  56. package/lib/runtime/runtime-endpoint-base.js +1 -1
  57. package/lib/runtime/runtime-endpoint.js +1 -1
  58. package/lib/runtime/runtime.js +1 -1
  59. package/lib/tools/browser.js +2 -2
  60. package/lib/tools/code-interpreter.js +2 -2
  61. package/package.json +10 -9
@@ -0,0 +1,349 @@
1
+ "use strict";
2
+ /**
3
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
6
+ * with the License. A copy of the License is located at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
11
+ * OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
12
+ * and limitations under the License.
13
+ */
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.validateConfigName = validateConfigName;
16
+ exports.validateDescription = validateDescription;
17
+ exports.validateEvaluators = validateEvaluators;
18
+ exports.validateSamplingPercentage = validateSamplingPercentage;
19
+ exports.validateFilters = validateFilters;
20
+ exports.validateSessionTimeout = validateSessionTimeout;
21
+ exports.validateLogGroupNames = validateLogGroupNames;
22
+ exports.validateServiceNames = validateServiceNames;
23
+ exports.validateEvaluatorName = validateEvaluatorName;
24
+ exports.validateInstructions = validateInstructions;
25
+ exports.validateCategoricalRatingScale = validateCategoricalRatingScale;
26
+ exports.validateNumericalRatingScale = validateNumericalRatingScale;
27
+ exports.validateLambdaTimeout = validateLambdaTimeout;
28
+ exports.throwIfInvalid = throwIfInvalid;
29
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
30
+ const errors_1 = require("aws-cdk-lib/core/lib/errors");
31
+ const helpers_internal_1 = require("aws-cdk-lib/core/lib/helpers-internal");
32
+ /******************************************************************************
33
+ * CONSTANTS
34
+ *****************************************************************************/
35
+ const CONFIG_NAME_MIN_LENGTH = 1;
36
+ const CONFIG_NAME_MAX_LENGTH = 48;
37
+ const DESCRIPTION_MAX_LENGTH = 200;
38
+ const EVALUATORS_MIN_COUNT = 1;
39
+ const EVALUATORS_MAX_COUNT = 10;
40
+ const SAMPLING_PERCENTAGE_MIN = 0.01;
41
+ const SAMPLING_PERCENTAGE_MAX = 100;
42
+ const FILTERS_MAX_COUNT = 5;
43
+ const SESSION_TIMEOUT_MIN = 1;
44
+ const SESSION_TIMEOUT_MAX = 1440;
45
+ const LOG_GROUPS_MIN_COUNT = 1;
46
+ const LOG_GROUPS_MAX_COUNT = 5;
47
+ const SERVICE_NAMES_MIN_COUNT = 1;
48
+ const SERVICE_NAMES_MAX_COUNT = 1;
49
+ const EVALUATOR_NAME_MIN_LENGTH = 1;
50
+ const EVALUATOR_NAME_MAX_LENGTH = 48;
51
+ const RATING_SCALE_MIN_OPTIONS = 1;
52
+ /******************************************************************************
53
+ * VALIDATION FUNCTIONS
54
+ *****************************************************************************/
55
+ /**
56
+ * Validates the online evaluation configuration name.
57
+ * Must start with a letter and contain only alphanumeric characters and underscores.
58
+ * @param name - The configuration name to validate
59
+ * @param _scope - The construct scope for error reporting (optional)
60
+ * @returns Array of validation error messages, empty if valid
61
+ */
62
+ function validateConfigName(name, _scope) {
63
+ const errors = [];
64
+ if (name == null) {
65
+ return errors;
66
+ }
67
+ if (aws_cdk_lib_1.Token.isUnresolved(name)) {
68
+ return errors;
69
+ }
70
+ if (name.length < CONFIG_NAME_MIN_LENGTH) {
71
+ errors.push(`Configuration name must be at least ${CONFIG_NAME_MIN_LENGTH} character(s), got ${name.length}`);
72
+ }
73
+ if (name.length > CONFIG_NAME_MAX_LENGTH) {
74
+ errors.push(`Configuration name must be at most ${CONFIG_NAME_MAX_LENGTH} characters, got ${name.length}`);
75
+ }
76
+ // Pattern: ^[a-zA-Z][a-zA-Z0-9_]{0,47}$
77
+ const validNamePattern = /^[a-zA-Z][a-zA-Z0-9_]{0,47}$/;
78
+ if (!validNamePattern.test(name)) {
79
+ errors.push(`Configuration name "${name}" does not match required pattern. Must start with a letter and contain only alphanumeric characters and underscores.`);
80
+ }
81
+ return errors;
82
+ }
83
+ /**
84
+ * Validates the description field.
85
+ * @param description - The description to validate
86
+ * @param _scope - The construct scope for error reporting (optional)
87
+ * @returns Array of validation error messages, empty if valid
88
+ */
89
+ function validateDescription(description, _scope) {
90
+ const errors = [];
91
+ if (description == null) {
92
+ return errors;
93
+ }
94
+ if (aws_cdk_lib_1.Token.isUnresolved(description)) {
95
+ return errors;
96
+ }
97
+ if (description.length > DESCRIPTION_MAX_LENGTH) {
98
+ errors.push(`Description must be at most ${DESCRIPTION_MAX_LENGTH} characters, got ${description.length}`);
99
+ }
100
+ return errors;
101
+ }
102
+ /**
103
+ * Validates the evaluators array.
104
+ * @param evaluators - The evaluators array to validate
105
+ * @param _scope - The construct scope for error reporting (optional)
106
+ * @returns Array of validation error messages, empty if valid
107
+ */
108
+ function validateEvaluators(evaluators, _scope) {
109
+ const errors = [];
110
+ if (evaluators == null) {
111
+ errors.push('Evaluators array is required');
112
+ return errors;
113
+ }
114
+ if (evaluators.length < EVALUATORS_MIN_COUNT) {
115
+ errors.push(`At least ${EVALUATORS_MIN_COUNT} evaluator is required, got ${evaluators.length}`);
116
+ }
117
+ if (evaluators.length > EVALUATORS_MAX_COUNT) {
118
+ errors.push(`At most ${EVALUATORS_MAX_COUNT} evaluators are allowed, got ${evaluators.length}`);
119
+ }
120
+ return errors;
121
+ }
122
+ /**
123
+ * Validates the sampling percentage.
124
+ * @param percentage - The sampling percentage to validate
125
+ * @param _scope - The construct scope for error reporting (optional)
126
+ * @returns Array of validation error messages, empty if valid
127
+ */
128
+ function validateSamplingPercentage(percentage, _scope) {
129
+ const errors = [];
130
+ if (percentage == null) {
131
+ return errors;
132
+ }
133
+ if (aws_cdk_lib_1.Token.isUnresolved(percentage)) {
134
+ return errors;
135
+ }
136
+ if (percentage < SAMPLING_PERCENTAGE_MIN) {
137
+ errors.push(`Sampling percentage must be at least ${SAMPLING_PERCENTAGE_MIN}, got ${percentage}`);
138
+ }
139
+ if (percentage > SAMPLING_PERCENTAGE_MAX) {
140
+ errors.push(`Sampling percentage must be at most ${SAMPLING_PERCENTAGE_MAX}, got ${percentage}`);
141
+ }
142
+ return errors;
143
+ }
144
+ /**
145
+ * Validates the filters array.
146
+ * @param filters - The filters array to validate
147
+ * @param _scope - The construct scope for error reporting (optional)
148
+ * @returns Array of validation error messages, empty if valid
149
+ */
150
+ function validateFilters(filters, _scope) {
151
+ const errors = [];
152
+ if (filters == null) {
153
+ return errors;
154
+ }
155
+ if (filters.length > FILTERS_MAX_COUNT) {
156
+ errors.push(`At most ${FILTERS_MAX_COUNT} filters are allowed, got ${filters.length}`);
157
+ }
158
+ return errors;
159
+ }
160
+ /**
161
+ * Validates the session timeout in minutes.
162
+ * @param minutes - The session timeout in minutes to validate
163
+ * @param _scope - The construct scope for error reporting (optional)
164
+ * @returns Array of validation error messages, empty if valid
165
+ */
166
+ function validateSessionTimeout(minutes, _scope) {
167
+ const errors = [];
168
+ if (minutes == null) {
169
+ return errors;
170
+ }
171
+ if (aws_cdk_lib_1.Token.isUnresolved(minutes)) {
172
+ return errors;
173
+ }
174
+ if (minutes < SESSION_TIMEOUT_MIN) {
175
+ errors.push(`Session timeout must be at least ${SESSION_TIMEOUT_MIN} minute(s), got ${minutes}`);
176
+ }
177
+ if (minutes > SESSION_TIMEOUT_MAX) {
178
+ errors.push(`Session timeout must be at most ${SESSION_TIMEOUT_MAX} minutes, got ${minutes}`);
179
+ }
180
+ return errors;
181
+ }
182
+ /**
183
+ * Validates the log group names array.
184
+ * @param names - The log group names array to validate
185
+ * @param _scope - The construct scope for error reporting (optional)
186
+ * @returns Array of validation error messages, empty if valid
187
+ */
188
+ function validateLogGroupNames(names, _scope) {
189
+ const errors = [];
190
+ if (names == null || names.length < LOG_GROUPS_MIN_COUNT) {
191
+ errors.push(`At least ${LOG_GROUPS_MIN_COUNT} log group name is required, got ${names?.length ?? 0}`);
192
+ return errors;
193
+ }
194
+ if (names.length > LOG_GROUPS_MAX_COUNT) {
195
+ errors.push(`At most ${LOG_GROUPS_MAX_COUNT} log group names are allowed, got ${names.length}`);
196
+ }
197
+ return errors;
198
+ }
199
+ /**
200
+ * Validates the service names array.
201
+ * @param names - The service names array to validate
202
+ * @param _scope - The construct scope for error reporting (optional)
203
+ * @returns Array of validation error messages, empty if valid
204
+ */
205
+ function validateServiceNames(names, _scope) {
206
+ const errors = [];
207
+ if (names == null || names.length < SERVICE_NAMES_MIN_COUNT) {
208
+ errors.push(`At least ${SERVICE_NAMES_MIN_COUNT} service name is required, got ${names?.length ?? 0}`);
209
+ return errors;
210
+ }
211
+ if (names.length > SERVICE_NAMES_MAX_COUNT) {
212
+ errors.push(`At most ${SERVICE_NAMES_MAX_COUNT} service name is allowed, got ${names.length}`);
213
+ }
214
+ return errors;
215
+ }
216
+ /**
217
+ * Validates the evaluator name.
218
+ * Must start with a letter and contain only alphanumeric characters and underscores.
219
+ * @param name - The evaluator name to validate
220
+ * @param _scope - The construct scope for error reporting (optional)
221
+ * @returns Array of validation error messages, empty if valid
222
+ */
223
+ function validateEvaluatorName(name, _scope) {
224
+ const errors = [];
225
+ if (name == null) {
226
+ return errors;
227
+ }
228
+ if (aws_cdk_lib_1.Token.isUnresolved(name)) {
229
+ return errors;
230
+ }
231
+ if (name.length < EVALUATOR_NAME_MIN_LENGTH) {
232
+ errors.push(`Evaluator name must be at least ${EVALUATOR_NAME_MIN_LENGTH} character(s), got ${name.length}`);
233
+ }
234
+ if (name.length > EVALUATOR_NAME_MAX_LENGTH) {
235
+ errors.push(`Evaluator name must be at most ${EVALUATOR_NAME_MAX_LENGTH} characters, got ${name.length}`);
236
+ }
237
+ // Pattern: ^[a-zA-Z][a-zA-Z0-9_]{0,47}$
238
+ const validNamePattern = /^[a-zA-Z][a-zA-Z0-9_]{0,47}$/;
239
+ if (!validNamePattern.test(name)) {
240
+ errors.push(`Evaluator name "${name}" does not match required pattern. Must start with a letter and contain only alphanumeric characters and underscores.`);
241
+ }
242
+ return errors;
243
+ }
244
+ /**
245
+ * Validates that instructions are provided and non-empty.
246
+ * @param instructions - The instructions to validate
247
+ * @param _scope - The construct scope for error reporting (optional)
248
+ * @returns Array of validation error messages, empty if valid
249
+ */
250
+ function validateInstructions(instructions, _scope) {
251
+ const errors = [];
252
+ if (instructions == null) {
253
+ errors.push('Instructions are required for LLM-as-a-Judge evaluators');
254
+ return errors;
255
+ }
256
+ if (aws_cdk_lib_1.Token.isUnresolved(instructions)) {
257
+ return errors;
258
+ }
259
+ if (instructions.trim().length === 0) {
260
+ errors.push('Instructions must not be empty');
261
+ }
262
+ return errors;
263
+ }
264
+ /**
265
+ * Validates a categorical rating scale.
266
+ * @param options - The categorical rating options to validate
267
+ * @param _scope - The construct scope for error reporting (optional)
268
+ * @returns Array of validation error messages, empty if valid
269
+ */
270
+ function validateCategoricalRatingScale(options, _scope) {
271
+ const errors = [];
272
+ if (options == null || options.length < RATING_SCALE_MIN_OPTIONS) {
273
+ errors.push(`At least ${RATING_SCALE_MIN_OPTIONS} categorical rating option is required, got ${options?.length ?? 0}`);
274
+ return errors;
275
+ }
276
+ for (let i = 0; i < options.length; i++) {
277
+ if (!aws_cdk_lib_1.Token.isUnresolved(options[i].label) && (!options[i].label || options[i].label.trim().length === 0)) {
278
+ errors.push(`Categorical rating option at index ${i} must have a non-empty label`);
279
+ }
280
+ if (!aws_cdk_lib_1.Token.isUnresolved(options[i].definition) && (!options[i].definition || options[i].definition.trim().length === 0)) {
281
+ errors.push(`Categorical rating option at index ${i} must have a non-empty definition`);
282
+ }
283
+ }
284
+ return errors;
285
+ }
286
+ /**
287
+ * Validates a numerical rating scale.
288
+ * @param options - The numerical rating options to validate
289
+ * @param _scope - The construct scope for error reporting (optional)
290
+ * @returns Array of validation error messages, empty if valid
291
+ */
292
+ function validateNumericalRatingScale(options, _scope) {
293
+ const errors = [];
294
+ if (options == null || options.length < RATING_SCALE_MIN_OPTIONS) {
295
+ errors.push(`At least ${RATING_SCALE_MIN_OPTIONS} numerical rating option is required, got ${options?.length ?? 0}`);
296
+ return errors;
297
+ }
298
+ for (let i = 0; i < options.length; i++) {
299
+ if (!aws_cdk_lib_1.Token.isUnresolved(options[i].label) && (!options[i].label || options[i].label.trim().length === 0)) {
300
+ errors.push(`Numerical rating option at index ${i} must have a non-empty label`);
301
+ }
302
+ if (!aws_cdk_lib_1.Token.isUnresolved(options[i].definition) && (!options[i].definition || options[i].definition.trim().length === 0)) {
303
+ errors.push(`Numerical rating option at index ${i} must have a non-empty definition`);
304
+ }
305
+ }
306
+ return errors;
307
+ }
308
+ /**
309
+ * Validates the Lambda timeout in seconds.
310
+ * @param seconds - The timeout in seconds to validate
311
+ * @param _scope - The construct scope for error reporting (optional)
312
+ * @returns Array of validation error messages, empty if valid
313
+ */
314
+ function validateLambdaTimeout(seconds, _scope) {
315
+ const errors = [];
316
+ if (seconds == null) {
317
+ return errors;
318
+ }
319
+ if (aws_cdk_lib_1.Token.isUnresolved(seconds)) {
320
+ return errors;
321
+ }
322
+ if (seconds <= 0) {
323
+ errors.push(`Lambda timeout must be a positive number, got ${seconds}`);
324
+ }
325
+ return errors;
326
+ }
327
+ /******************************************************************************
328
+ * HELPER FUNCTIONS
329
+ *****************************************************************************/
330
+ /**
331
+ * Throws a validation error if the validation function returns any errors.
332
+ * @param validationFn - The validation function to execute
333
+ * @param param - The parameter to validate
334
+ * @param scope - The construct scope for error reporting (optional)
335
+ * @returns The validated parameter
336
+ */
337
+ function throwIfInvalid(validationFn, param, scope) {
338
+ const errors = validationFn(param, scope);
339
+ if (errors.length > 0) {
340
+ if (scope) {
341
+ throw new errors_1.ValidationError((0, helpers_internal_1.lit) `ValidationFailed`, errors.join('\n'), scope);
342
+ }
343
+ else {
344
+ throw new errors_1.UnscopedValidationError((0, helpers_internal_1.lit) `ValidationFailed`, errors.join('\n'));
345
+ }
346
+ }
347
+ return param;
348
+ }
349
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidmFsaWRhdGlvbi1oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7QUFxREgsZ0RBZ0NDO0FBUUQsa0RBa0JDO0FBUUQsZ0RBcUJDO0FBUUQsZ0VBd0JDO0FBUUQsMENBY0M7QUFRRCx3REF3QkM7QUFRRCxzREFhQztBQVFELG9EQWFDO0FBU0Qsc0RBZ0NDO0FBUUQsb0RBaUJDO0FBUUQsd0VBa0JDO0FBUUQsb0VBa0JDO0FBUUQsc0RBZ0JDO0FBYUQsd0NBVUM7QUEvYUQsNkNBQW9DO0FBQ3BDLHdEQUF1RjtBQUN2Riw0RUFBNEQ7QUFZNUQ7OytFQUUrRTtBQUMvRSxNQUFNLHNCQUFzQixHQUFHLENBQUMsQ0FBQztBQUNqQyxNQUFNLHNCQUFzQixHQUFHLEVBQUUsQ0FBQztBQUNsQyxNQUFNLHNCQUFzQixHQUFHLEdBQUcsQ0FBQztBQUNuQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsQ0FBQztBQUMvQixNQUFNLG9CQUFvQixHQUFHLEVBQUUsQ0FBQztBQUNoQyxNQUFNLHVCQUF1QixHQUFHLElBQUksQ0FBQztBQUNyQyxNQUFNLHVCQUF1QixHQUFHLEdBQUcsQ0FBQztBQUNwQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsQ0FBQztBQUM1QixNQUFNLG1CQUFtQixHQUFHLENBQUMsQ0FBQztBQUM5QixNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQztBQUNqQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsQ0FBQztBQUMvQixNQUFNLG9CQUFvQixHQUFHLENBQUMsQ0FBQztBQUMvQixNQUFNLHVCQUF1QixHQUFHLENBQUMsQ0FBQztBQUNsQyxNQUFNLHVCQUF1QixHQUFHLENBQUMsQ0FBQztBQUNsQyxNQUFNLHlCQUF5QixHQUFHLENBQUMsQ0FBQztBQUNwQyxNQUFNLHlCQUF5QixHQUFHLEVBQUUsQ0FBQztBQUNyQyxNQUFNLHdC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Q0gsU0FBZ0IsY0FBYyxDQUFJLFlBQTZCLEVBQUUsS0FBUSxFQUFFLEtBQWtCO0lBQzNGLE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDMUMsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3RCLElBQUksS0FBSyxFQUFFLENBQUM7WUFDVixNQUFNLElBQUksd0JBQWUsQ0FBQyxJQUFBLHNCQUFHLEVBQUEsa0JBQWtCLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM3RSxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sSUFBSSxnQ0FBdUIsQ0FBQyxJQUFBLHNCQUFHLEVBQUEsa0JBQWtCLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzlFLENBQUM7SUFDSCxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAgQ29weXJpZ2h0IEFtYXpvbi5jb20sIEluYy4gb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIikuIFlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2VcbiAqICB3aXRoIHRoZSBMaWNlbnNlLiBBIGNvcHkgb2YgdGhlIExpY2Vuc2UgaXMgbG9jYXRlZCBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogIG9yIGluIHRoZSAnbGljZW5zZScgZmlsZSBhY2NvbXBhbnlpbmcgdGhpcyBmaWxlLiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgb24gYW4gJ0FTIElTJyBCQVNJUywgV0lUSE9VVCBXQVJSQU5USUVTXG4gKiAgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZXhwcmVzcyBvciBpbXBsaWVkLiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnNcbiAqICBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgVG9rZW4gfSBmcm9tICdhd3MtY2RrLWxpYic7XG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3IsIFVuc2NvcGVkVmFsaWRhdGlvbkVycm9yIH0gZnJvbSAnYXdzLWNkay1saWIvY29yZS9saWIvZXJyb3JzJztcbmltcG9ydCB7IGxpdCB9IGZyb20gJ2F3cy1jZGstbGliL2NvcmUvbGliL2hlbHBlcnMtaW50ZXJuYWwnO1xuaW1wb3J0IHR5cGUgeyBJQ29uc3RydWN0IH0gZnJvbSAnY29uc3RydWN0cyc7XG5pbXBvcnQgdHlwZSB7IENhdGVnb3JpY2FsUmF0aW5nT3B0aW9uLCBGaWx0ZXJDb25maWcsIE51bWVyaWNhbFJhdGluZ09wdGlvbiB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgZXZhbHVhdG9yIHJlZmVyZW5jZXMgdXNlZCBpbiB2YWxpZGF0aW9uLlxuICogQGludGVybmFsXG4gKi9cbmludGVyZmFjZSBJRXZhbHVhdG9yUmVmZXJlbmNlIHtcbiAgcmVhZG9ubHkgZXZhbHVhdG9ySWQ6IHN0cmluZztcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDT05TVEFOVFNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbmNvbnN0IENPTkZJR19OQU1FX01JTl9MRU5HVEggPSAxO1xuY29uc3QgQ09ORklHX05BTUVfTUFYX0xFTkdUSCA9IDQ4O1xuY29uc3QgREVTQ1JJUFRJT05fTUFYX0xFTkdUSCA9IDIwMDtcbmNvbnN0IEVWQUxVQVRPUlNfTUlOX0NPVU5UID0gMTtcbmNvbnN0IEVWQUxVQVRPUlNfTUFYX0NPVU5UID0gMTA7XG5jb25zdCBTQU1QTElOR19QRVJDRU5UQUdFX01JTiA9IDAuMDE7XG5jb25zdCBTQU1QTElOR19QRVJDRU5UQUdFX01BWCA9IDEwMDtcbmNvbnN0IEZJTFRFUlNfTUFYX0NPVU5UID0gNTtcbmNvbnN0IFNFU1NJT05fVElNRU9VVF9NSU4gPSAxO1xuY29uc3QgU0VTU0lPTl9USU1FT1VUX01BWCA9IDE0NDA7XG5jb25zdCBMT0dfR1JPVVBTX01JTl9DT1VOVCA9IDE7XG5jb25zdCBMT0dfR1JPVVBTX01BWF9DT1VOVCA9IDU7XG5jb25zdCBTRVJWSUNFX05BTUVTX01JTl9DT1VOVCA9IDE7XG5jb25zdCBTRVJWSUNFX05BTUVTX01BWF9DT1VOVCA9IDE7XG5jb25zdCBFVkFMVUFUT1JfTkFNRV9NSU5fTEVOR1RIID0gMTtcbmNvbnN0IEVWQUxVQVRPUl9OQU1FX01BWF9MRU5HVEggPSA0ODtcbmNvbnN0IFJBVElOR19TQ0FMRV9NSU5fT1BUSU9OUyA9IDE7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFlQRVNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbmV4cG9ydCB0eXBlIFZhbGlkYXRpb25GbjxUPiA9IChwYXJhbTogVCwgc2NvcGU/OiBJQ29uc3RydWN0KSA9PiBzdHJpbmdbXTtcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogICAgICAgICAgICAgICAgICAgICAgICAgVkFMSURBVElPTiBGVU5DVElPTlNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyoqXG4gKiBWYWxpZGF0ZXMgdGhlIG9ubGluZSBldmFsdWF0aW9uIGNvbmZpZ3VyYXRpb24gbmFtZS5cbiAqIE11c3Qgc3RhcnQgd2l0aCBhIGxldHRlciBhbmQgY29udGFpbiBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIGFuZCB1bmRlcnNjb3Jlcy5cbiAqIEBwYXJhbSBuYW1lIC0gVGhlIGNvbmZpZ3VyYXRpb24gbmFtZSB0byB2YWxpZGF0ZVxuICogQHBhcmFtIF9zY29wZSAtIFRoZSBjb25zdHJ1Y3Qgc2NvcGUgZm9yIGVycm9yIHJlcG9ydGluZyAob3B0aW9uYWwpXG4gKiBAcmV0dXJucyBBcnJheSBvZiB2YWxpZGF0aW9uIGVycm9yIG1lc3NhZ2VzLCBlbXB0eSBpZiB2YWxpZFxuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVDb25maWdOYW1lKG5hbWU6IHN0cmluZywgX3Njb3BlPzogSUNvbnN0cnVjdCk6IHN0cmluZ1tdIHtcbiAgY29uc3QgZXJyb3JzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGlmIChuYW1lID09IG51bGwpIHtcbiAgICByZXR1cm4gZXJyb3JzO1xuICB9XG5cbiAgaWYgKFRva2VuLmlzVW5yZXNvbHZlZChuYW1lKSkge1xuICAgIHJldHVybiBlcnJvcnM7XG4gIH1cblxuICBpZiAobmFtZS5sZW5ndGggPCBDT05GSUdfTkFNRV9NSU5fTEVOR1RIKSB7XG4gICAgZXJyb3JzLnB1c2goXG4gICAgICBgQ29uZmlndXJhdGlvbiBuYW1lIG11c3QgYmUgYXQgbGVhc3QgJHtDT05GSUdfTkFNRV9NSU5fTEVOR1RIfSBjaGFyYWN0ZXIocyksIGdvdCAke25hbWUubGVuZ3RofWAsXG4gICAgKTtcbiAgfVxuXG4gIGlmIChuYW1lLmxlbmd0aCA+IENPTkZJR19OQU1FX01BWF9MRU5HVEgpIHtcbiAgICBlcnJvcnMucHVzaChcbiAgICAgIGBDb25maWd1cmF0aW9uIG5hbWUgbXVzdCBiZSBhdCBtb3N0ICR7Q09ORklHX05BTUVfTUFYX0xFTkdUSH0gY2hhcmFjdGVycywgZ290ICR7bmFtZS5sZW5ndGh9YCxcbiAgICApO1xuICB9XG5cbiAgLy8gUGF0dGVybjogXlthLXpBLVpdW2EtekEtWjAtOV9dezAsNDd9JFxuICBjb25zdCB2YWxpZE5hbWVQYXR0ZXJuID0gL15bYS16QS1aXVthLXpBLVowLTlfXXswLDQ3fSQvO1xuICBpZiAoIXZhbGlkTmFtZVBhdHRlcm4udGVzdChuYW1lKSkge1xuICAgIGVycm9ycy5wdXNoKFxuICAgICAgYENvbmZpZ3VyYXRpb24gbmFtZSBcIiR7bmFtZX1cIiBkb2VzIG5vdCBtYXRjaCByZXF1aXJlZCBwYXR0ZXJuLiBNdXN0IHN0YXJ0IHdpdGggYSBsZXR0ZXIgYW5kIGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycyBhbmQgdW5kZXJzY29yZXMuYCxcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIGVycm9ycztcbn1cblxuLyoqXG4gKiBWYWxpZGF0ZXMgdGhlIGRlc2NyaXB0aW9uIGZpZWxkLlxuICogQHBhcmFtIGRlc2NyaXB0aW9uIC0gVGhlIGRlc2NyaXB0aW9uIHRvIHZhbGlkYXRlXG4gKiBAcGFyYW0gX3Njb3BlIC0gVGhlIGNvbnN0cnVjdCBzY29wZSBmb3IgZXJyb3IgcmVwb3J0aW5nIChvcHRpb25hbClcbiAqIEByZXR1cm5zIEFycmF5IG9mIHZhbGlkYXRpb24gZXJyb3IgbWVzc2FnZXMsIGVtcHR5IGlmIHZhbGlkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZURlc2NyaXB0aW9uKGRlc2NyaXB0aW9uOiBzdHJpbmcgfCB1bmRlZmluZWQsIF9zY29wZT86IElDb25zdHJ1Y3QpOiBzdHJpbmdbXSB7XG4gIGNvbnN0IGVycm9yczogc3RyaW5nW10gPSBbXTtcblxuICBpZiAoZGVzY3JpcHRpb24gPT0gbnVsbCkge1xuICAgIHJldHVybiBlcnJvcnM7XG4gIH1cblxuICBpZiAoVG9rZW4uaXNVbnJlc29sdmVkKGRlc2NyaXB0aW9uKSkge1xuICAgIHJldHVybiBlcnJvcnM7XG4gIH1cblxuICBpZiAoZGVzY3JpcHRpb24ubGVuZ3RoID4gREVTQ1JJUFRJT05fTUFYX0xFTkdUSCkge1xuICAgIGVycm9ycy5wdXNoKFxuICAgICAgYERlc2NyaXB0aW9uIG11c3QgYmUgYXQgbW9zdCAke0RFU0NSSVBUSU9OX01BWF9MRU5HVEh9IGNoYXJhY3RlcnMsIGdvdCAke2Rlc2NyaXB0aW9uLmxlbmd0aH1gLFxuICAgICk7XG4gIH1cblxuICByZXR1cm4gZXJyb3JzO1xufVxuXG4vKipcbiAqIFZhbGlkYXRlcyB0aGUgZXZhbHVhdG9ycyBhcnJheS5cbiAqIEBwYXJhbSBldmFsdWF0b3JzIC0gVGhlIGV2YWx1YXRvcnMgYXJyYXkgdG8gdmFsaWRhdGVcbiAqIEBwYXJhbSBfc2NvcGUgLSBUaGUgY29uc3RydWN0IHNjb3BlIGZvciBlcnJvciByZXBvcnRpbmcgKG9wdGlvbmFsKVxuICogQHJldHVybnMgQXJyYXkgb2YgdmFsaWRhdGlvbiBlcnJvciBtZXNzYWdlcywgZW1wdHkgaWYgdmFsaWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlRXZhbHVhdG9ycyhldmFsdWF0b3JzOiBJRXZhbHVhdG9yUmVmZXJlbmNlW10sIF9zY29wZT86IElDb25zdHJ1Y3QpOiBzdHJpbmdbXSB7XG4gIGNvbnN0IGVycm9yczogc3RyaW5nW10gPSBbXTtcblxuICBpZiAoZXZhbHVhdG9ycyA9PSBudWxsKSB7XG4gICAgZXJyb3JzLnB1c2goJ0V2YWx1YXRvcnMgYXJyYXkgaXMgcmVxdWlyZWQnKTtcbiAgICByZXR1cm4gZXJyb3JzO1xuICB9XG5cbiAgaWYgKGV2YWx1YXRvcnMubGVuZ3RoIDwgRVZBTFVBVE9SU19NSU5fQ09VTlQpIHtcbiAgICBlcnJvcnMucHVzaChcbiAgICAgIGBBdCBsZWFzdCAke0VWQUxVQVRPUlNfTUlOX0NPVU5UfSBldmFsdWF0b3IgaXMgcmVxdWlyZWQsIGdvdCAke2V2YWx1YXRvcnMubGVuZ3RofWAsXG4gICAgKTtcbiAgfVxuXG4gIGlmIChldmFsdWF0b3JzLmxlbmd0aCA+IEVWQUxVQVRPUlNfTUFYX0NPVU5UKSB7XG4gICAgZXJyb3JzLnB1c2goXG4gICAgICBgQXQgbW9zdCAke0VWQUxVQVRPUlNfTUFYX0NPVU5UfSBldmFsdWF0b3JzIGFyZSBhbGxvd2VkLCBnb3QgJHtldmFsdWF0b3JzLmxlbmd0aH1gLFxuICAgICk7XG4gIH1cblxuICByZXR1cm4gZXJyb3JzO1xufVxuXG4vKipcbiAqIFZhbGlkYXRlcyB0aGUgc2FtcGxpbmcgcGVyY2VudGFnZS5cbiAqIEBwYXJhbSBwZXJjZW50YWdlIC0gVGhlIHNhbXBsaW5nIHBlcmNlbnRhZ2UgdG8gdmFsaWRhdGVcbiAqIEBwYXJhbSBfc2NvcGUgLSBUaGUgY29uc3RydWN0IHNjb3BlIGZvciBlcnJvciByZXBvcnRpbmcgKG9wdGlvbmFsKVxuICogQHJldHVybnMgQXJyYXkgb2YgdmFsaWRhdGlvbiBlcnJvciBtZXNzYWdlcywgZW1wdHkgaWYgdmFsaWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlU2FtcGxpbmdQZXJjZW50YWdlKHBlcmNlbnRhZ2U6IG51bWJlciB8IHVuZGVmaW5lZCwgX3Njb3BlPzogSUNvbnN0cnVjdCk6IHN0cmluZ1tdIHtcbiAgY29uc3QgZXJyb3JzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGlmIChwZXJjZW50YWdlID09IG51bGwpIHtcbiAgICByZXR1cm4gZXJyb3JzO1xuICB9XG5cbiAgaWYgKFRva2VuLmlzVW5yZXNvbHZlZChwZXJjZW50YWdlKSkge1xuICAgIHJldHVybiBlcnJvcnM7XG4gIH1cblxuICBpZiAocGVyY2VudGFnZSA8IFNBTVBMSU5HX1BFUkNFTlRBR0VfTUlOKSB7XG4gICAgZXJyb3JzLnB1c2goXG4gICAgICBgU2FtcGxpbmcgcGVyY2VudGFnZSBtdXN0IGJlIGF0IGxlYXN0ICR7U0FNUExJTkdfUEVSQ0VOVEFHRV9NSU59LCBnb3QgJHtwZXJjZW50YWdlfWAsXG4gICAgKTtcbiAgfVxuXG4gIGlmIChwZXJjZW50YWdlID4gU0FNUExJTkdfUEVSQ0VOVEFHRV9NQVgpIHtcbiAgICBlcnJvcnMucHVzaChcbiAgICAgIGBTYW1wbGluZyBwZXJjZW50YWdlIG11c3QgYmUgYXQgbW9zdCAke1NBTVBMSU5HX1BFUkNFTlRBR0VfTUFYfSwgZ290ICR7cGVyY2VudGFnZX1gLFxuICAgICk7XG4gIH1cblxuICByZXR1cm4gZXJyb3JzO1xufVxuXG4vKipcbiAqIFZhbGlkYXRlcyB0aGUgZmlsdGVycyBhcnJheS5cbiAqIEBwYXJhbSBmaWx0ZXJzIC0gVGhlIGZpbHRlcnMgYXJyYXkgdG8gdmFsaWRhdGVcbiAqIEBwYXJhbSBfc2NvcGUgLSBUaGUgY29uc3RydWN0IHNjb3BlIGZvciBlcnJvciByZXBvcnRpbmcgKG9wdGlvbmFsKVxuICogQHJldHVybnMgQXJyYXkgb2YgdmFsaWRhdGlvbiBlcnJvciBtZXNzYWdlcywgZW1wdHkgaWYgdmFsaWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlRmlsdGVycyhmaWx0ZXJzOiBGaWx0ZXJDb25maWdbXSB8IHVuZGVmaW5lZCwgX3Njb3BlPzogSUNvbnN0cnVjdCk6IHN0cmluZ1tdIHtcbiAgY29uc3QgZXJyb3JzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGlmIChmaWx0ZXJzID09IG51bGwpIHtcbiAgICByZXR1cm4gZXJyb3JzO1xuICB9XG5cbiAgaWYgKGZpbHRlcnMubGVuZ3RoID4gRklMVEVSU19NQVhfQ09VTlQpIHtcbiAgICBlcnJvcnMucHVzaChcbiAgICAgIGBBdCBtb3N0ICR7RklMVEVSU19NQVhfQ09VTlR9IGZpbHRlcnMgYXJlIGFsbG93ZWQsIGdvdCAke2ZpbHRlcnMubGVuZ3RofWAsXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBlcnJvcnM7XG59XG5cbi8qKlxuICogVmFsaWRhdGVzIHRoZSBzZXNzaW9uIHRpbWVvdXQgaW4gbWludXRlcy5cbiAqIEBwYXJhbSBtaW51dGVzIC0gVGhlIHNlc3Npb24gdGltZW91dCBpbiBtaW51dGVzIHRvIHZhbGlkYXRlXG4gKiBAcGFyYW0gX3Njb3BlIC0gVGhlIGNvbnN0cnVjdCBzY29wZSBmb3IgZXJyb3IgcmVwb3J0aW5nIChvcHRpb25hbClcbiAqIEByZXR1cm5zIEFycmF5IG9mIHZhbGlkYXRpb24gZXJyb3IgbWVzc2FnZXMsIGVtcHR5IGlmIHZhbGlkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVNlc3Npb25UaW1lb3V0KG1pbnV0ZXM6IG51bWJlciB8IHVuZGVmaW5lZCwgX3Njb3BlPzogSUNvbnN0cnVjdCk6IHN0cmluZ1tdIHtcbiAgY29uc3QgZXJyb3JzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGlmIChtaW51dGVzID09IG51bGwpIHtcbiAgICByZXR1cm4gZXJyb3JzO1xuICB9XG5cbiAgaWYgKFRva2VuLmlzVW5yZXNvbHZlZChtaW51dGVzKSkge1xuICAgIHJldHVybiBlcnJvcnM7XG4gIH1cblxuICBpZiAobWludXRlcyA8IFNFU1NJT05fVElNRU9VVF9NSU4pIHtcbiAgICBlcnJvcnMucHVzaChcbiAgICAgIGBTZXNzaW9uIHRpbWVvdXQgbXVzdCBiZSBhdCBsZWFzdCAke1NFU1NJT05fVElNRU9VVF9NSU59IG1pbnV0ZShzKSwgZ290ICR7bWludXRlc31gLFxuICAgICk7XG4gIH1cblxuICBpZiAobWludXRlcyA+IFNFU1NJT05fVElNRU9VVF9NQVgpIHtcbiAgICBlcnJvcnMucHVzaChcbiAgICAgIGBTZXNzaW9uIHRpbWVvdXQgbXVzdCBiZSBhdCBtb3N0ICR7U0VTU0lPTl9USU1FT1VUX01BWH0gbWludXRlcywgZ290ICR7bWludXRlc31gLFxuICAgICk7XG4gIH1cblxuICByZXR1cm4gZXJyb3JzO1xufVxuXG4vKipcbiAqIFZhbGlkYXRlcyB0aGUgbG9nIGdyb3VwIG5hbWVzIGFycmF5LlxuICogQHBhcmFtIG5hbWVzIC0gVGhlIGxvZyBncm91cCBuYW1lcyBhcnJheSB0byB2YWxpZGF0ZVxuICogQHBhcmFtIF9zY29wZSAtIFRoZSBjb25zdHJ1Y3Qgc2NvcGUgZm9yIGVycm9yIHJlcG9ydGluZyAob3B0aW9uYWwpXG4gKiBAcmV0dXJucyBBcnJheSBvZiB2YWxpZGF0aW9uIGVycm9yIG1lc3NhZ2VzLCBlbXB0eSBpZiB2YWxpZFxuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVMb2dHcm91cE5hbWVzKG5hbWVzOiBzdHJpbmdbXSwgX3Njb3BlPzogSUNvbnN0cnVjdCk6IHN0cmluZ1tdIHtcbiAgY29uc3QgZXJyb3JzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGlmIChuYW1lcyA9PSBudWxsIHx8IG5hbWVzLmxlbmd0aCA8IExPR19HUk9VUFNfTUlOX0NPVU5UKSB7XG4gICAgZXJyb3JzLnB1c2goYEF0IGxlYXN0ICR7TE9HX0dST1VQU19NSU5fQ09VTlR9IGxvZyBncm91cCBuYW1lIGlzIHJlcXVpcmVkLCBnb3QgJHtuYW1lcz8ubGVuZ3RoID8/IDB9YCk7XG4gICAgcmV0dXJuIGVycm9ycztcbiAgfVxuXG4gIGlmIChuYW1lcy5sZW5ndGggPiBMT0dfR1JPVVBTX01BWF9DT1VOVCkge1xuICAgIGVycm9ycy5wdXNoKGBBdCBtb3N0ICR7TE9HX0dST1VQU19NQVhfQ09VTlR9IGxvZyBncm91cCBuYW1lcyBhcmUgYWxsb3dlZCwgZ290ICR7bmFtZXMubGVuZ3RofWApO1xuICB9XG5cbiAgcmV0dXJuIGVycm9ycztcbn1cblxuLyoqXG4gKiBWYWxpZGF0ZXMgdGhlIHNlcnZpY2UgbmFtZXMgYXJyYXkuXG4gKiBAcGFyYW0gbmFtZXMgLSBUaGUgc2VydmljZSBuYW1lcyBhcnJheSB0byB2YWxpZGF0ZVxuICogQHBhcmFtIF9zY29wZSAtIFRoZSBjb25zdHJ1Y3Qgc2NvcGUgZm9yIGVycm9yIHJlcG9ydGluZyAob3B0aW9uYWwpXG4gKiBAcmV0dXJucyBBcnJheSBvZiB2YWxpZGF0aW9uIGVycm9yIG1lc3NhZ2VzLCBlbXB0eSBpZiB2YWxpZFxuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVTZXJ2aWNlTmFtZXMobmFtZXM6IHN0cmluZ1tdLCBfc2NvcGU/OiBJQ29uc3RydWN0KTogc3RyaW5nW10ge1xuICBjb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG5cbiAgaWYgKG5hbWVzID09IG51bGwgfHwgbmFtZXMubGVuZ3RoIDwgU0VSVklDRV9OQU1FU19NSU5fQ09VTlQpIHtcbiAgICBlcnJvcnMucHVzaChgQXQgbGVhc3QgJHtTRVJWSUNFX05BTUVTX01JTl9DT1VOVH0gc2VydmljZSBuYW1lIGlzIHJlcXVpcmVkLCBnb3QgJHtuYW1lcz8ubGVuZ3RoID8/IDB9YCk7XG4gICAgcmV0dXJuIGVycm9ycztcbiAgfVxuXG4gIGlmIChuYW1lcy5sZW5ndGggPiBTRVJWSUNFX05BTUVTX01BWF9DT1VOVCkge1xuICAgIGVycm9ycy5wdXNoKGBBdCBtb3N0ICR7U0VSVklDRV9OQU1FU19NQVhfQ09VTlR9IHNlcnZpY2UgbmFtZSBpcyBhbGxvd2VkLCBnb3QgJHtuYW1lcy5sZW5ndGh9YCk7XG4gIH1cblxuICByZXR1cm4gZXJyb3JzO1xufVxuXG4vKipcbiAqIFZhbGlkYXRlcyB0aGUgZXZhbHVhdG9yIG5hbWUuXG4gKiBNdXN0IHN0YXJ0IHdpdGggYSBsZXR0ZXIgYW5kIGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycyBhbmQgdW5kZXJzY29yZXMuXG4gKiBAcGFyYW0gbmFtZSAtIFRoZSBldmFsdWF0b3IgbmFtZSB0byB2YWxpZGF0ZVxuICogQHBhcmFtIF9zY29wZSAtIFRoZSBjb25zdHJ1Y3Qgc2NvcGUgZm9yIGVycm9yIHJlcG9ydGluZyAob3B0aW9uYWwpXG4gKiBAcmV0dXJucyBBcnJheSBvZiB2YWxpZGF0aW9uIGVycm9yIG1lc3NhZ2VzLCBlbXB0eSBpZiB2YWxpZFxuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVFdmFsdWF0b3JOYW1lKG5hbWU6IHN0cmluZywgX3Njb3BlPzogSUNvbnN0cnVjdCk6IHN0cmluZ1tdIHtcbiAgY29uc3QgZXJyb3JzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGlmIChuYW1lID09IG51bGwpIHtcbiAgICByZXR1cm4gZXJyb3JzO1xuICB9XG5cbiAgaWYgKFRva2VuLmlzVW5yZXNvbHZlZChuYW1lKSkge1xuICAgIHJldHVybiBlcnJvcnM7XG4gIH1cblxuICBpZiAobmFtZS5sZW5ndGggPCBFVkFMVUFUT1JfTkFNRV9NSU5fTEVOR1RIKSB7XG4gICAgZXJyb3JzLnB1c2goXG4gICAgICBgRXZhbHVhdG9yIG5hbWUgbXVzdCBiZSBhdCBsZWFzdCAke0VWQUxVQVRPUl9OQU1FX01JTl9MRU5HVEh9IGNoYXJhY3RlcihzKSwgZ290ICR7bmFtZS5sZW5ndGh9YCxcbiAgICApO1xuICB9XG5cbiAgaWYgKG5hbWUubGVuZ3RoID4gRVZBTFVBVE9SX05BTUVfTUFYX0xFTkdUSCkge1xuICAgIGVycm9ycy5wdXNoKFxuICAgICAgYEV2YWx1YXRvciBuYW1lIG11c3QgYmUgYXQgbW9zdCAke0VWQUxVQVRPUl9OQU1FX01BWF9MRU5HVEh9IGNoYXJhY3RlcnMsIGdvdCAke25hbWUubGVuZ3RofWAsXG4gICAgKTtcbiAgfVxuXG4gIC8vIFBhdHRlcm46IF5bYS16QS1aXVthLXpBLVowLTlfXXswLDQ3fSRcbiAgY29uc3QgdmFsaWROYW1lUGF0dGVybiA9IC9eW2EtekEtWl1bYS16QS1aMC05X117MCw0N30kLztcbiAgaWYgKCF2YWxpZE5hbWVQYXR0ZXJuLnRlc3QobmFtZSkpIHtcbiAgICBlcnJvcnMucHVzaChcbiAgICAgIGBFdmFsdWF0b3IgbmFtZSBcIiR7bmFtZX1cIiBkb2VzIG5vdCBtYXRjaCByZXF1aXJlZCBwYXR0ZXJuLiBNdXN0IHN0YXJ0IHdpdGggYSBsZXR0ZXIgYW5kIGNvbnRhaW4gb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycyBhbmQgdW5kZXJzY29yZXMuYCxcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIGVycm9ycztcbn1cblxuLyoqXG4gKiBWYWxpZGF0ZXMgdGhhdCBpbnN0cnVjdGlvbnMgYXJlIHByb3ZpZGVkIGFuZCBub24tZW1wdHkuXG4gKiBAcGFyYW0gaW5zdHJ1Y3Rpb25zIC0gVGhlIGluc3RydWN0aW9ucyB0byB2YWxpZGF0ZVxuICogQHBhcmFtIF9zY29wZSAtIFRoZSBjb25zdHJ1Y3Qgc2NvcGUgZm9yIGVycm9yIHJlcG9ydGluZyAob3B0aW9uYWwpXG4gKiBAcmV0dXJucyBBcnJheSBvZiB2YWxpZGF0aW9uIGVycm9yIG1lc3NhZ2VzLCBlbXB0eSBpZiB2YWxpZFxuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVJbnN0cnVjdGlvbnMoaW5zdHJ1Y3Rpb25zOiBzdHJpbmcsIF9zY29wZT86IElDb25zdHJ1Y3QpOiBzdHJpbmdbXSB7XG4gIGNvbnN0IGVycm9yczogc3RyaW5nW10gPSBbXTtcblxuICBpZiAoaW5zdHJ1Y3Rpb25zID09IG51bGwpIHtcbiAgICBlcnJvcnMucHVzaCgnSW5zdHJ1Y3Rpb25zIGFyZSByZXF1aXJlZCBmb3IgTExNLWFzLWEtSnVkZ2UgZXZhbHVhdG9ycycpO1xuICAgIHJldHVybiBlcnJvcnM7XG4gIH1cblxuICBpZiAoVG9rZW4uaXNVbnJlc29sdmVkKGluc3RydWN0aW9ucykpIHtcbiAgICByZXR1cm4gZXJyb3JzO1xuICB9XG5cbiAgaWYgKGluc3RydWN0aW9ucy50cmltKCkubGVuZ3RoID09PSAwKSB7XG4gICAgZXJyb3JzLnB1c2goJ0luc3RydWN0aW9ucyBtdXN0IG5vdCBiZSBlbXB0eScpO1xuICB9XG5cbiAgcmV0dXJuIGVycm9ycztcbn1cblxuLyoqXG4gKiBWYWxpZGF0ZXMgYSBjYXRlZ29yaWNhbCByYXRpbmcgc2NhbGUuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBjYXRlZ29yaWNhbCByYXRpbmcgb3B0aW9ucyB0byB2YWxpZGF0ZVxuICogQHBhcmFtIF9zY29wZSAtIFRoZSBjb25zdHJ1Y3Qgc2NvcGUgZm9yIGVycm9yIHJlcG9ydGluZyAob3B0aW9uYWwpXG4gKiBAcmV0dXJucyBBcnJheSBvZiB2YWxpZGF0aW9uIGVycm9yIG1lc3NhZ2VzLCBlbXB0eSBpZiB2YWxpZFxuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVDYXRlZ29yaWNhbFJhdGluZ1NjYWxlKG9wdGlvbnM6IENhdGVnb3JpY2FsUmF0aW5nT3B0aW9uW10sIF9zY29wZT86IElDb25zdHJ1Y3QpOiBzdHJpbmdbXSB7XG4gIGNvbnN0IGVycm9yczogc3RyaW5nW10gPSBbXTtcblxuICBpZiAob3B0aW9ucyA9PSBudWxsIHx8IG9wdGlvbnMubGVuZ3RoIDwgUkFUSU5HX1NDQUxFX01JTl9PUFRJT05TKSB7XG4gICAgZXJyb3JzLnB1c2goYEF0IGxlYXN0ICR7UkFUSU5HX1NDQUxFX01JTl9PUFRJT05TfSBjYXRlZ29yaWNhbCByYXRpbmcgb3B0aW9uIGlzIHJlcXVpcmVkLCBnb3QgJHtvcHRpb25zPy5sZW5ndGggPz8gMH1gKTtcbiAgICByZXR1cm4gZXJyb3JzO1xuICB9XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBvcHRpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKCFUb2tlbi5pc1VucmVzb2x2ZWQob3B0aW9uc1tpXS5sYWJlbCkgJiYgKCFvcHRpb25zW2ldLmxhYmVsIHx8IG9wdGlvbnNbaV0ubGFiZWwudHJpbSgpLmxlbmd0aCA9PT0gMCkpIHtcbiAgICAgIGVycm9ycy5wdXNoKGBDYXRlZ29yaWNhbCByYXRpbmcgb3B0aW9uIGF0IGluZGV4ICR7aX0gbXVzdCBoYXZlIGEgbm9uLWVtcHR5IGxhYmVsYCk7XG4gICAgfVxuICAgIGlmICghVG9rZW4uaXNVbnJlc29sdmVkKG9wdGlvbnNbaV0uZGVmaW5pdGlvbikgJiYgKCFvcHRpb25zW2ldLmRlZmluaXRpb24gfHwgb3B0aW9uc1tpXS5kZWZpbml0aW9uLnRyaW0oKS5sZW5ndGggPT09IDApKSB7XG4gICAgICBlcnJvcnMucHVzaChgQ2F0ZWdvcmljYWwgcmF0aW5nIG9wdGlvbiBhdCBpbmRleCAke2l9IG11c3QgaGF2ZSBhIG5vbi1lbXB0eSBkZWZpbml0aW9uYCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGVycm9ycztcbn1cblxuLyoqXG4gKiBWYWxpZGF0ZXMgYSBudW1lcmljYWwgcmF0aW5nIHNjYWxlLlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgbnVtZXJpY2FsIHJhdGluZyBvcHRpb25zIHRvIHZhbGlkYXRlXG4gKiBAcGFyYW0gX3Njb3BlIC0gVGhlIGNvbnN0cnVjdCBzY29wZSBmb3IgZXJyb3IgcmVwb3J0aW5nIChvcHRpb25hbClcbiAqIEByZXR1cm5zIEFycmF5IG9mIHZhbGlkYXRpb24gZXJyb3IgbWVzc2FnZXMsIGVtcHR5IGlmIHZhbGlkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZU51bWVyaWNhbFJhdGluZ1NjYWxlKG9wdGlvbnM6IE51bWVyaWNhbFJhdGluZ09wdGlvbltdLCBfc2NvcGU/OiBJQ29uc3RydWN0KTogc3RyaW5nW10ge1xuICBjb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG5cbiAgaWYgKG9wdGlvbnMgPT0gbnVsbCB8fCBvcHRpb25zLmxlbmd0aCA8IFJBVElOR19TQ0FMRV9NSU5fT1BUSU9OUykge1xuICAgIGVycm9ycy5wdXNoKGBBdCBsZWFzdCAke1JBVElOR19TQ0FMRV9NSU5fT1BUSU9OU30gbnVtZXJpY2FsIHJhdGluZyBvcHRpb24gaXMgcmVxdWlyZWQsIGdvdCAke29wdGlvbnM/Lmxlbmd0aCA/PyAwfWApO1xuICAgIHJldHVybiBlcnJvcnM7XG4gIH1cblxuICBmb3IgKGxldCBpID0gMDsgaSA8IG9wdGlvbnMubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoIVRva2VuLmlzVW5yZXNvbHZlZChvcHRpb25zW2ldLmxhYmVsKSAmJiAoIW9wdGlvbnNbaV0ubGFiZWwgfHwgb3B0aW9uc1tpXS5sYWJlbC50cmltKCkubGVuZ3RoID09PSAwKSkge1xuICAgICAgZXJyb3JzLnB1c2goYE51bWVyaWNhbCByYXRpbmcgb3B0aW9uIGF0IGluZGV4ICR7aX0gbXVzdCBoYXZlIGEgbm9uLWVtcHR5IGxhYmVsYCk7XG4gICAgfVxuICAgIGlmICghVG9rZW4uaXNVbnJlc29sdmVkKG9wdGlvbnNbaV0uZGVmaW5pdGlvbikgJiYgKCFvcHRpb25zW2ldLmRlZmluaXRpb24gfHwgb3B0aW9uc1tpXS5kZWZpbml0aW9uLnRyaW0oKS5sZW5ndGggPT09IDApKSB7XG4gICAgICBlcnJvcnMucHVzaChgTnVtZXJpY2FsIHJhdGluZyBvcHRpb24gYXQgaW5kZXggJHtpfSBtdXN0IGhhdmUgYSBub24tZW1wdHkgZGVmaW5pdGlvbmApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBlcnJvcnM7XG59XG5cbi8qKlxuICogVmFsaWRhdGVzIHRoZSBMYW1iZGEgdGltZW91dCBpbiBzZWNvbmRzLlxuICogQHBhcmFtIHNlY29uZHMgLSBUaGUgdGltZW91dCBpbiBzZWNvbmRzIHRvIHZhbGlkYXRlXG4gKiBAcGFyYW0gX3Njb3BlIC0gVGhlIGNvbnN0cnVjdCBzY29wZSBmb3IgZXJyb3IgcmVwb3J0aW5nIChvcHRpb25hbClcbiAqIEByZXR1cm5zIEFycmF5IG9mIHZhbGlkYXRpb24gZXJyb3IgbWVzc2FnZXMsIGVtcHR5IGlmIHZhbGlkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZUxhbWJkYVRpbWVvdXQoc2Vjb25kczogbnVtYmVyIHwgdW5kZWZpbmVkLCBfc2NvcGU/OiBJQ29uc3RydWN0KTogc3RyaW5nW10ge1xuICBjb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG5cbiAgaWYgKHNlY29uZHMgPT0gbnVsbCkge1xuICAgIHJldHVybiBlcnJvcnM7XG4gIH1cblxuICBpZiAoVG9rZW4uaXNVbnJlc29sdmVkKHNlY29uZHMpKSB7XG4gICAgcmV0dXJuIGVycm9ycztcbiAgfVxuXG4gIGlmIChzZWNvbmRzIDw9IDApIHtcbiAgICBlcnJvcnMucHVzaChgTGFtYmRhIHRpbWVvdXQgbXVzdCBiZSBhIHBvc2l0aXZlIG51bWJlciwgZ290ICR7c2Vjb25kc31gKTtcbiAgfVxuXG4gIHJldHVybiBlcnJvcnM7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEVMUEVSIEZVTkNUSU9OU1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKipcbiAqIFRocm93cyBhIHZhbGlkYXRpb24gZXJyb3IgaWYgdGhlIHZhbGlkYXRpb24gZnVuY3Rpb24gcmV0dXJucyBhbnkgZXJyb3JzLlxuICogQHBhcmFtIHZhbGlkYXRpb25GbiAtIFRoZSB2YWxpZGF0aW9uIGZ1bmN0aW9uIHRvIGV4ZWN1dGVcbiAqIEBwYXJhbSBwYXJhbSAtIFRoZSBwYXJhbWV0ZXIgdG8gdmFsaWRhdGVcbiAqIEBwYXJhbSBzY29wZSAtIFRoZSBjb25zdHJ1Y3Qgc2NvcGUgZm9yIGVycm9yIHJlcG9ydGluZyAob3B0aW9uYWwpXG4gKiBAcmV0dXJucyBUaGUgdmFsaWRhdGVkIHBhcmFtZXRlclxuICovXG5leHBvcnQgZnVuY3Rpb24gdGhyb3dJZkludmFsaWQ8VD4odmFsaWRhdGlvbkZuOiBWYWxpZGF0aW9uRm48VD4sIHBhcmFtOiBULCBzY29wZT86IElDb25zdHJ1Y3QpOiBUIHtcbiAgY29uc3QgZXJyb3JzID0gdmFsaWRhdGlvbkZuKHBhcmFtLCBzY29wZSk7XG4gIGlmIChlcnJvcnMubGVuZ3RoID4gMCkge1xuICAgIGlmIChzY29wZSkge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihsaXRgVmFsaWRhdGlvbkZhaWxlZGAsIGVycm9ycy5qb2luKCdcXG4nKSwgc2NvcGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgVW5zY29wZWRWYWxpZGF0aW9uRXJyb3IobGl0YFZhbGlkYXRpb25GYWlsZWRgLCBlcnJvcnMuam9pbignXFxuJykpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcGFyYW07XG59XG4iXX0=
@@ -25,7 +25,7 @@ var GatewayExceptionLevel;
25
25
  * Base Class
26
26
  *****************************************************************************/
27
27
  class GatewayBase extends aws_cdk_lib_1.Resource {
28
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayBase", version: "2.252.0-alpha.0" };
28
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayBase", version: "2.253.0-alpha.0" };
29
29
  /**
30
30
  * A reference to a Gateway resource.
31
31
  */
@@ -58,7 +58,7 @@ const validation_helpers_1 = require("./validation-helpers");
58
58
  *
59
59
  */
60
60
  class PolicyEngineMode {
61
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.PolicyEngineMode", version: "2.252.0-alpha.0" };
61
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.PolicyEngineMode", version: "2.253.0-alpha.0" };
62
62
  /**
63
63
  * Evaluates actions and adds traces but does not enforce decisions.
64
64
  * Use this mode for testing and validation before enabling enforcement.
@@ -120,7 +120,7 @@ let Gateway = (() => {
120
120
  Gateway = _classThis = _classDescriptor.value;
121
121
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
122
122
  }
123
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.Gateway", version: "2.252.0-alpha.0" };
123
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.Gateway", version: "2.253.0-alpha.0" };
124
124
  /** Uniquely identifies this class. */
125
125
  static PROPERTY_INJECTION_ID = '@aws-cdk.aws-bedrock-agentcore-alpha.Gateway';
126
126
  /**
@@ -24,7 +24,7 @@ var GatewayAuthorizerType;
24
24
  * Custom JWT authorizer configuration implementation
25
25
  */
26
26
  class CustomJwtAuthorizer {
27
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.CustomJwtAuthorizer", version: "2.252.0-alpha.0" };
27
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.CustomJwtAuthorizer", version: "2.253.0-alpha.0" };
28
28
  authorizerType = GatewayAuthorizerType.CUSTOM_JWT;
29
29
  discoveryUrl;
30
30
  allowedAudience;
@@ -73,7 +73,7 @@ exports.CustomJwtAuthorizer = CustomJwtAuthorizer;
73
73
  *
74
74
  */
75
75
  class IamAuthorizer {
76
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.IamAuthorizer", version: "2.252.0-alpha.0" };
76
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.IamAuthorizer", version: "2.253.0-alpha.0" };
77
77
  authorizerType = GatewayAuthorizerType.AWS_IAM;
78
78
  /**
79
79
  * @internal
@@ -92,7 +92,7 @@ exports.IamAuthorizer = IamAuthorizer;
92
92
  * No authorization configuration implementation
93
93
  */
94
94
  class NoAuthAuthorizer {
95
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.NoAuthAuthorizer", version: "2.252.0-alpha.0" };
95
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.NoAuthAuthorizer", version: "2.253.0-alpha.0" };
96
96
  authorizerType = GatewayAuthorizerType.NONE;
97
97
  /**
98
98
  * @internal
@@ -106,7 +106,7 @@ exports.NoAuthAuthorizer = NoAuthAuthorizer;
106
106
  * Factory class for creating Gateway Authorizers
107
107
  */
108
108
  class GatewayAuthorizer {
109
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayAuthorizer", version: "2.252.0-alpha.0" };
109
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayAuthorizer", version: "2.253.0-alpha.0" };
110
110
  /**
111
111
  * AWS IAM authorizer instance
112
112
  */
@@ -29,7 +29,7 @@ class GatewayCustomClaim {
29
29
  valueType;
30
30
  operator;
31
31
  value;
32
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayCustomClaim", version: "2.252.0-alpha.0" };
32
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayCustomClaim", version: "2.253.0-alpha.0" };
33
33
  /**
34
34
  * Create a custom claim with a string value.
35
35
  * String claims must use the EQUALS operator.
@@ -34,7 +34,7 @@ var InterceptionPoint;
34
34
  * @see https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/gateway-interceptors.html
35
35
  */
36
36
  class LambdaInterceptor {
37
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.LambdaInterceptor", version: "2.252.0-alpha.0" };
37
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.LambdaInterceptor", version: "2.253.0-alpha.0" };
38
38
  /**
39
39
  * Create a REQUEST interceptor that executes before the gateway calls the target
40
40
  *
@@ -19,7 +19,7 @@ var ApiKeyCredentialLocationType;
19
19
  * API Key location within the request
20
20
  */
21
21
  class ApiKeyCredentialLocation {
22
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.ApiKeyCredentialLocation", version: "2.252.0-alpha.0" };
22
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.ApiKeyCredentialLocation", version: "2.253.0-alpha.0" };
23
23
  /**
24
24
  * Create a header-based API key credential location
25
25
  * @param config - Optional configuration for the credential location
@@ -31,7 +31,7 @@ var CredentialProviderType;
31
31
  * Factory class for creating different Gateway Credential Providers
32
32
  */
33
33
  class GatewayCredentialProvider {
34
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayCredentialProvider", version: "2.252.0-alpha.0" };
34
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayCredentialProvider", version: "2.253.0-alpha.0" };
35
35
  /**
36
36
  * Create an API key credential provider from Identity ARN
37
37
  * Use this method when you have the Identity ARN as a string
@@ -21,7 +21,7 @@ var GatewayProtocolType;
21
21
  * Factory class for instantiating Gateway Protocols
22
22
  */
23
23
  class GatewayProtocol {
24
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayProtocol", version: "2.252.0-alpha.0" };
24
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayProtocol", version: "2.253.0-alpha.0" };
25
25
  /**
26
26
  * Create an MCP protocol configuration
27
27
  * @param props - Optional MCP configuration properties
@@ -75,7 +75,7 @@ var McpGatewaySearchType;
75
75
  * MCP (Model Context Protocol) configuration implementation
76
76
  */
77
77
  class McpProtocolConfiguration {
78
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.McpProtocolConfiguration", version: "2.252.0-alpha.0" };
78
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.McpProtocolConfiguration", version: "2.253.0-alpha.0" };
79
79
  protocolType;
80
80
  /**
81
81
  * The supported MCP protocol versions
@@ -15,7 +15,7 @@ const base_schema_1 = require("./base-schema");
15
15
  * Represents the concept of an API Schema for a Gateway Target.
16
16
  */
17
17
  class ApiSchema extends base_schema_1.TargetSchema {
18
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.ApiSchema", version: "2.252.0-alpha.0" };
18
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.ApiSchema", version: "2.253.0-alpha.0" };
19
19
  /**
20
20
  * Creates an API Schema from a local file.
21
21
  * @param path - the path to the local file containing the OpenAPI schema for the action group
@@ -73,7 +73,7 @@ exports.ApiSchema = ApiSchema;
73
73
  class AssetApiSchema extends ApiSchema {
74
74
  path;
75
75
  options;
76
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.AssetApiSchema", version: "2.252.0-alpha.0" };
76
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.AssetApiSchema", version: "2.253.0-alpha.0" };
77
77
  asset;
78
78
  constructor(path, options = {}) {
79
79
  super();
@@ -135,7 +135,7 @@ exports.AssetApiSchema = AssetApiSchema;
135
135
  */
136
136
  class InlineApiSchema extends ApiSchema {
137
137
  schema;
138
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.InlineApiSchema", version: "2.252.0-alpha.0" };
138
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.InlineApiSchema", version: "2.253.0-alpha.0" };
139
139
  constructor(schema) {
140
140
  super(undefined, undefined, schema);
141
141
  this.schema = schema;
@@ -165,7 +165,7 @@ exports.InlineApiSchema = InlineApiSchema;
165
165
  class S3ApiSchema extends ApiSchema {
166
166
  location;
167
167
  bucketOwnerAccountId;
168
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.S3ApiSchema", version: "2.252.0-alpha.0" };
168
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.S3ApiSchema", version: "2.253.0-alpha.0" };
169
169
  constructor(location, bucketOwnerAccountId) {
170
170
  super(location, bucketOwnerAccountId, undefined);
171
171
  this.location = location;
@@ -30,7 +30,7 @@ var SchemaDefinitionType;
30
30
  * TOOL SCHEMA CLASS
31
31
  *****************************************************************************/
32
32
  class ToolSchema extends base_schema_1.TargetSchema {
33
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.ToolSchema", version: "2.252.0-alpha.0" };
33
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.ToolSchema", version: "2.253.0-alpha.0" };
34
34
  /**
35
35
  * Creates a tool Schema from a local file.
36
36
  * @param path - the path to the local file containing the function schema for the tool
@@ -88,7 +88,7 @@ exports.ToolSchema = ToolSchema;
88
88
  class AssetToolSchema extends ToolSchema {
89
89
  path;
90
90
  options;
91
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.AssetToolSchema", version: "2.252.0-alpha.0" };
91
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.AssetToolSchema", version: "2.253.0-alpha.0" };
92
92
  asset;
93
93
  constructor(path, options = {}) {
94
94
  super();
@@ -141,7 +141,7 @@ exports.AssetToolSchema = AssetToolSchema;
141
141
  */
142
142
  class InlineToolSchema extends ToolSchema {
143
143
  schema;
144
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.InlineToolSchema", version: "2.252.0-alpha.0" };
144
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.InlineToolSchema", version: "2.253.0-alpha.0" };
145
145
  constructor(schema) {
146
146
  super(undefined, undefined, schema);
147
147
  this.schema = schema;
@@ -171,7 +171,7 @@ exports.InlineToolSchema = InlineToolSchema;
171
171
  class S3ToolSchema extends ToolSchema {
172
172
  location;
173
173
  bucketOwnerAccountId;
174
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.S3ToolSchema", version: "2.252.0-alpha.0" };
174
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.S3ToolSchema", version: "2.253.0-alpha.0" };
175
175
  constructor(location, bucketOwnerAccountId) {
176
176
  super(location, bucketOwnerAccountId, undefined);
177
177
  this.location = location;
@@ -41,7 +41,7 @@ var McpTargetType;
41
41
  * permission management and property definitions.
42
42
  */
43
43
  class GatewayTargetBase extends aws_cdk_lib_1.Resource {
44
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayTargetBase", version: "2.252.0-alpha.0" };
44
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayTargetBase", version: "2.253.0-alpha.0" };
45
45
  /**
46
46
  * A reference to a GatewayTarget resource.
47
47
  */