@aws-cdk/aws-bedrock-agentcore-alpha 2.235.1-alpha.0 → 2.237.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 (54) hide show
  1. package/.jsii +1709 -625
  2. package/.jsii.tabl.json.gz +0 -0
  3. package/.warnings.jsii.js +41 -1
  4. package/README.md +275 -14
  5. package/lib/common/types.d.ts +35 -0
  6. package/lib/common/types.js +41 -0
  7. package/lib/gateway/gateway-base.d.ts +2 -2
  8. package/lib/gateway/gateway-base.js +4 -4
  9. package/lib/gateway/gateway.d.ts +59 -7
  10. package/lib/gateway/gateway.js +103 -7
  11. package/lib/gateway/inbound-auth/authorizer.d.ts +25 -0
  12. package/lib/gateway/inbound-auth/authorizer.js +17 -7
  13. package/lib/gateway/inbound-auth/custom-claim.d.ts +50 -0
  14. package/lib/gateway/inbound-auth/custom-claim.js +127 -0
  15. package/lib/gateway/interceptor.d.ts +137 -0
  16. package/lib/gateway/interceptor.js +143 -0
  17. package/lib/gateway/outbound-auth/api-key.js +1 -1
  18. package/lib/gateway/outbound-auth/credential-provider.js +1 -1
  19. package/lib/gateway/protocol.js +2 -2
  20. package/lib/gateway/targets/schema/api-schema.js +7 -6
  21. package/lib/gateway/targets/schema/tool-schema.js +7 -6
  22. package/lib/gateway/targets/target-base.js +1 -1
  23. package/lib/gateway/targets/target-configuration.js +5 -5
  24. package/lib/gateway/targets/target.d.ts +2 -1
  25. package/lib/gateway/targets/target.js +11 -4
  26. package/lib/index.d.ts +5 -1
  27. package/lib/index.js +9 -2
  28. package/lib/memory/memory-strategy.d.ts +19 -0
  29. package/lib/memory/memory-strategy.js +41 -2
  30. package/lib/memory/memory.d.ts +5 -4
  31. package/lib/memory/memory.js +16 -9
  32. package/lib/memory/strategies/managed-strategy.d.ts +26 -0
  33. package/lib/memory/strategies/managed-strategy.js +46 -4
  34. package/lib/memory/strategies/self-managed-strategy.js +1 -1
  35. package/lib/network/network-configuration.js +4 -4
  36. package/lib/runtime/inbound-auth/custom-claim.d.ts +50 -0
  37. package/lib/runtime/inbound-auth/custom-claim.js +127 -0
  38. package/lib/runtime/{runtime-authorizer-configuration.d.ts → inbound-auth/runtime-authorizer-configuration.d.ts} +10 -3
  39. package/lib/runtime/inbound-auth/runtime-authorizer-configuration.js +183 -0
  40. package/lib/runtime/runtime-artifact.js +1 -1
  41. package/lib/runtime/runtime-base.d.ts +2 -2
  42. package/lib/runtime/runtime-base.js +4 -4
  43. package/lib/runtime/runtime-endpoint-base.d.ts +2 -2
  44. package/lib/runtime/runtime-endpoint-base.js +4 -4
  45. package/lib/runtime/runtime-endpoint.d.ts +2 -1
  46. package/lib/runtime/runtime-endpoint.js +11 -4
  47. package/lib/runtime/runtime.d.ts +3 -2
  48. package/lib/runtime/runtime.js +11 -4
  49. package/lib/tools/browser.d.ts +5 -5
  50. package/lib/tools/browser.js +22 -14
  51. package/lib/tools/code-interpreter.d.ts +5 -5
  52. package/lib/tools/code-interpreter.js +16 -8
  53. package/package.json +19 -11
  54. package/lib/runtime/runtime-authorizer-configuration.js +0 -159
@@ -0,0 +1,50 @@
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 { CfnGateway } from 'aws-cdk-lib/aws-bedrockagentcore';
14
+ import { CustomClaimOperator } from '../../common/types';
15
+ /**
16
+ * Represents a custom claim validation configuration for Gateway JWT authorizers.
17
+ * Custom claims allow you to validate additional fields in JWT tokens beyond
18
+ * the standard audience, client, and scope validations.
19
+ */
20
+ export declare class GatewayCustomClaim {
21
+ private readonly name;
22
+ private readonly valueType;
23
+ private readonly operator;
24
+ private readonly value;
25
+ /**
26
+ * Create a custom claim with a string value.
27
+ * String claims must use the EQUALS operator.
28
+ *
29
+ * @param name The name of the claim in the JWT token
30
+ * @param value The string value to match (must exactly equal)
31
+ * @returns A GatewayCustomClaim configured for string validation
32
+ */
33
+ static withStringValue(name: string, value: string): GatewayCustomClaim;
34
+ /**
35
+ * Create a custom claim with a string array value.
36
+ * String array claims can use CONTAINS (default) or CONTAINS_ANY operator.
37
+ *
38
+ * @param name The name of the claim in the JWT token
39
+ * @param values The array of string values to match. For CONTAINS operator, must contain exactly one value.
40
+ * @param operator The match operator (defaults to CONTAINS)
41
+ * @returns A GatewayCustomClaim configured for string array validation
42
+ */
43
+ static withStringArrayValue(name: string, values: string[], operator?: CustomClaimOperator): GatewayCustomClaim;
44
+ private constructor();
45
+ /**
46
+ * Render the custom claim as a CloudFormation property
47
+ * @internal
48
+ */
49
+ _render(): CfnGateway.CustomClaimValidationTypeProperty;
50
+ }
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GatewayCustomClaim = void 0;
4
+ const jsiiDeprecationWarnings = require("../../../.warnings.jsii.js");
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ /**
7
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
8
+ *
9
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
10
+ * with the License. A copy of the License is located at
11
+ *
12
+ * http://www.apache.org/licenses/LICENSE-2.0
13
+ *
14
+ * or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
15
+ * OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
16
+ * and limitations under the License.
17
+ */
18
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
19
+ const types_1 = require("../../common/types");
20
+ const validation_helpers_1 = require("../validation-helpers");
21
+ /**
22
+ * Represents a custom claim validation configuration for Gateway JWT authorizers.
23
+ * Custom claims allow you to validate additional fields in JWT tokens beyond
24
+ * the standard audience, client, and scope validations.
25
+ */
26
+ class GatewayCustomClaim {
27
+ name;
28
+ valueType;
29
+ operator;
30
+ value;
31
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayCustomClaim", version: "2.237.0-alpha.0" };
32
+ /**
33
+ * Create a custom claim with a string value.
34
+ * String claims must use the EQUALS operator.
35
+ *
36
+ * @param name The name of the claim in the JWT token
37
+ * @param value The string value to match (must exactly equal)
38
+ * @returns A GatewayCustomClaim configured for string validation
39
+ */
40
+ static withStringValue(name, value) {
41
+ return new GatewayCustomClaim(name, types_1.CustomClaimValueType.STRING, types_1.CustomClaimOperator.EQUALS, value);
42
+ }
43
+ /**
44
+ * Create a custom claim with a string array value.
45
+ * String array claims can use CONTAINS (default) or CONTAINS_ANY operator.
46
+ *
47
+ * @param name The name of the claim in the JWT token
48
+ * @param values The array of string values to match. For CONTAINS operator, must contain exactly one value.
49
+ * @param operator The match operator (defaults to CONTAINS)
50
+ * @returns A GatewayCustomClaim configured for string array validation
51
+ */
52
+ static withStringArrayValue(name, values, operator = types_1.CustomClaimOperator.CONTAINS) {
53
+ try {
54
+ jsiiDeprecationWarnings._aws_cdk_aws_bedrock_agentcore_alpha_CustomClaimOperator(operator);
55
+ }
56
+ catch (error) {
57
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
58
+ Error.captureStackTrace(error, this.withStringArrayValue);
59
+ }
60
+ throw error;
61
+ }
62
+ // Validate operator is valid for STRING_ARRAY type
63
+ if (operator !== types_1.CustomClaimOperator.CONTAINS && operator !== types_1.CustomClaimOperator.CONTAINS_ANY) {
64
+ throw new validation_helpers_1.ValidationError(`Custom claim '${name}': STRING_ARRAY type only supports CONTAINS or CONTAINS_ANY operators, got ${operator}`);
65
+ }
66
+ return new GatewayCustomClaim(name, types_1.CustomClaimValueType.STRING_ARRAY, operator, values);
67
+ }
68
+ constructor(name, valueType, operator, value) {
69
+ this.name = name;
70
+ this.valueType = valueType;
71
+ this.operator = operator;
72
+ this.value = value;
73
+ if (aws_cdk_lib_1.Token.isUnresolved(value)) {
74
+ return;
75
+ }
76
+ // Validate that value matches the valueType
77
+ if (valueType === types_1.CustomClaimValueType.STRING && typeof value !== 'string') {
78
+ throw new validation_helpers_1.ValidationError(`Custom claim '${name}': STRING type requires a string value, got ${typeof value}`);
79
+ }
80
+ if (valueType === types_1.CustomClaimValueType.STRING_ARRAY && !Array.isArray(value)) {
81
+ throw new validation_helpers_1.ValidationError(`Custom claim '${name}': STRING_ARRAY type requires an array value, got ${typeof value}`);
82
+ }
83
+ }
84
+ /**
85
+ * Render the custom claim as a CloudFormation property
86
+ * @internal
87
+ */
88
+ _render() {
89
+ // Build the claim match value based on operator and value type
90
+ let claimMatchValue;
91
+ if (this.valueType === types_1.CustomClaimValueType.STRING) {
92
+ // STRING type always uses matchValueString with EQUALS operator
93
+ claimMatchValue = {
94
+ matchValueString: this.value,
95
+ };
96
+ }
97
+ else {
98
+ // STRING_ARRAY type: CONTAINS uses matchValueString, CONTAINS_ANY uses matchValueStringList
99
+ if (this.operator === types_1.CustomClaimOperator.CONTAINS) {
100
+ // CONTAINS requires a single string value (check if claim array contains this string)
101
+ const values = this.value;
102
+ if (!aws_cdk_lib_1.Token.isUnresolved(values[0]) && values.length !== 1) {
103
+ throw new validation_helpers_1.ValidationError(`Custom claim '${this.name}': CONTAINS operator requires exactly one value, got ${values.length} values`);
104
+ }
105
+ claimMatchValue = {
106
+ matchValueString: values[0],
107
+ };
108
+ }
109
+ else {
110
+ // CONTAINS_ANY uses matchValueStringList
111
+ claimMatchValue = {
112
+ matchValueStringList: this.value,
113
+ };
114
+ }
115
+ }
116
+ return {
117
+ inboundTokenClaimName: this.name,
118
+ inboundTokenClaimValueType: this.valueType,
119
+ authorizingClaimMatchValue: {
120
+ claimMatchOperator: this.operator,
121
+ claimMatchValue: claimMatchValue,
122
+ },
123
+ };
124
+ }
125
+ }
126
+ exports.GatewayCustomClaim = GatewayCustomClaim;
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWNsYWltLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiY3VzdG9tLWNsYWltLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7QUFFSCw2Q0FBb0M7QUFFcEMsOENBQStFO0FBQy9FLDhEQUF3RDtBQUV4RDs7OztHQUlHO0FBQ0gsTUFBYSxrQkFBa0I7SUFxQ1Y7SUFDQTtJQUNBO0lBQ0E7O0lBdkNuQjs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLGVBQWUsQ0FBQyxJQUFZLEVBQUUsS0FBYTtRQUN2RCxPQUFPLElBQUksa0JBQWtCLENBQUMsSUFBSSxFQUFFLDRCQUFvQixDQUFDLE1BQU0sRUFBRSwyQkFBbUIsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7S0FDckc7SUFFRDs7Ozs7Ozs7T0FRRztJQUNJLE1BQU0sQ0FBQyxvQkFBb0IsQ0FDaEMsSUFBWSxFQUNaLE1BQWdCLEVBQ2hCLFdBQWdDLDJCQUFtQixDQUFDLFFBQVE7Ozs7Ozs7Ozs7UUFFNUQsbURBQW1EO1FBQ25ELElBQUksUUFBUSxLQUFLLDJCQUFtQixDQUFDLFFBQVEsSUFBSSxRQUFRLEtBQUssMkJBQW1CLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDL0YsTUFBTSxJQUFJLG9DQUFlLENBQ3ZCLGlCQUFpQixJQUFJLDhFQUE4RSxRQUFRLEVBQUUsQ0FDOUcsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLElBQUksa0JBQWtCLENBQUMsSUFBSSxFQUFFLDRCQUFvQixDQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7S0FDMUY7SUFFRCxZQUNtQixJQUFZLEVBQ1osU0FBK0IsRUFDL0IsUUFBNkIsRUFDN0IsS0FBd0I7UUFIeEIsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLGNBQVMsR0FBVCxTQUFTLENBQXNCO1FBQy9CLGFBQVEsR0FBUixRQUFRLENBQXFCO1FBQzdCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBRXpDLElBQUksbUJBQUssQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM5QixPQUFPO1FBQ1QsQ0FBQztRQUNELDRDQUE0QztRQUM1QyxJQUFJLFNBQVMsS0FBSyw0QkFBb0IsQ0FBQyxNQUFNLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDM0UsTUFBTSxJQUFJLG9DQUFlLENBQUMsaUJBQWlCLElBQUksK0NBQStDLE9BQU8sS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNoSCxDQUFDO1FBQ0QsSUFBSSxTQUFTLEtBQUssNEJBQW9CLENBQUMsWUFBWSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzdFLE1BQU0sSUFBSSxvQ0FBZSxDQUFDLGlCQUFpQixJQUFJLHFEQUFxRCxPQUFPLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDdEgsQ0FBQztLQUNGO0lBRUQ7OztPQUdHO0lBQ0ksT0FBTztRQUNaLCtEQUErRDtRQUMvRCxJQUFJLGVBQXVELENBQUM7UUFDNUQsSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLDRCQUFvQixDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ25ELGdFQUFnRTtZQUNoRSxlQUFlLEdBQUc7Z0JBQ2hCLGdCQUFnQixFQUFFLElBQUksQ0FBQyxLQUFlO2FBQ3ZDLENBQUM7UUFDSixDQUFDO2FBQU0sQ0FBQztZQUNOLDRGQUE0RjtZQUM1RixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssMkJBQW1CLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ25ELHNGQUFzRjtnQkFDdEYsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQWlCLENBQUM7Z0JBQ3RDLElBQUksQ0FBQyxtQkFBSyxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO29CQUMxRCxNQUFNLElBQUksb0NBQWUsQ0FDdkIsaUJBQWlCLElBQUksQ0FBQyxJQUFJLHdEQUF3RCxNQUFNLENBQUMsTUFBTSxTQUFTLENBQ3pHLENBQUM7Z0JBQ0osQ0FBQztnQkFDRCxlQUFlLEdBQUc7b0JBQ2hCLGdCQUFnQixFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7aUJBQzVCLENBQUM7WUFDSixDQUFDO2lCQUFNLENBQUM7Z0JBQ04seUNBQXlDO2dCQUN6QyxlQUFlLEdBQUc7b0JBQ2hCLG9CQUFvQixFQUFFLElBQUksQ0FBQyxLQUFpQjtpQkFDN0MsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTztZQUNMLHFCQUFxQixFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2hDLDBCQUEwQixFQUFFLElBQUksQ0FBQyxTQUFTO1lBQzFDLDBCQUEwQixFQUFFO2dCQUMxQixrQkFBa0IsRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDakMsZUFBZSxFQUFFLGVBQWU7YUFDakM7U0FDRixDQUFDO0tBQ0g7O0FBL0ZILGdEQWdHQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IFRva2VuIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHsgQ2ZuR2F0ZXdheSB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1iZWRyb2NrYWdlbnRjb3JlJztcbmltcG9ydCB7IEN1c3RvbUNsYWltT3BlcmF0b3IsIEN1c3RvbUNsYWltVmFsdWVUeXBlIH0gZnJvbSAnLi4vLi4vY29tbW9uL3R5cGVzJztcbmltcG9ydCB7IFZhbGlkYXRpb25FcnJvciB9IGZyb20gJy4uL3ZhbGlkYXRpb24taGVscGVycyc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGN1c3RvbSBjbGFpbSB2YWxpZGF0aW9uIGNvbmZpZ3VyYXRpb24gZm9yIEdhdGV3YXkgSldUIGF1dGhvcml6ZXJzLlxuICogQ3VzdG9tIGNsYWltcyBhbGxvdyB5b3UgdG8gdmFsaWRhdGUgYWRkaXRpb25hbCBmaWVsZHMgaW4gSldUIHRva2VucyBiZXlvbmRcbiAqIHRoZSBzdGFuZGFyZCBhdWRpZW5jZSwgY2xpZW50LCBhbmQgc2NvcGUgdmFsaWRhdGlvbnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBHYXRld2F5Q3VzdG9tQ2xhaW0ge1xuICAvKipcbiAgICogQ3JlYXRlIGEgY3VzdG9tIGNsYWltIHdpdGggYSBzdHJpbmcgdmFsdWUuXG4gICAqIFN0cmluZyBjbGFpbXMgbXVzdCB1c2UgdGhlIEVRVUFMUyBvcGVyYXRvci5cbiAgICpcbiAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdG9rZW5cbiAgICogQHBhcmFtIHZhbHVlIFRoZSBzdHJpbmcgdmFsdWUgdG8gbWF0Y2ggKG11c3QgZXhhY3RseSBlcXVhbClcbiAgICogQHJldHVybnMgQSBHYXRld2F5Q3VzdG9tQ2xhaW0gY29uZmlndXJlZCBmb3Igc3RyaW5nIHZhbGlkYXRpb25cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgd2l0aFN0cmluZ1ZhbHVlKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IEdhdGV3YXlDdXN0b21DbGFpbSB7XG4gICAgcmV0dXJuIG5ldyBHYXRld2F5Q3VzdG9tQ2xhaW0obmFtZSwgQ3VzdG9tQ2xhaW1WYWx1ZVR5cGUuU1RSSU5HLCBDdXN0b21DbGFpbU9wZXJhdG9yLkVRVUFMUywgdmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIGN1c3RvbSBjbGFpbSB3aXRoIGEgc3RyaW5nIGFycmF5IHZhbHVlLlxuICAgKiBTdHJpbmcgYXJyYXkgY2xhaW1zIGNhbiB1c2UgQ09OVEFJTlMgKGRlZmF1bHQpIG9yIENPTlRBSU5TX0FOWSBvcGVyYXRvci5cbiAgICpcbiAgICogQHBhcmFtIG5hbWUgVGhlIG5hbWUgb2YgdGhlIGNsYWltIGluIHRoZSBKV1QgdG9rZW5cbiAgICogQHBhcmFtIHZhbHVlcyBUaGUgYXJyYXkgb2Ygc3RyaW5nIHZhbHVlcyB0byBtYXRjaC4gRm9yIENPTlRBSU5TIG9wZXJhdG9yLCBtdXN0IGNvbnRhaW4gZXhhY3RseSBvbmUgdmFsdWUuXG4gICAqIEBwYXJhbSBvcGVyYXRvciBUaGUgbWF0Y2ggb3BlcmF0b3IgKGRlZmF1bHRzIHRvIENPTlRBSU5TKVxuICAgKiBAcmV0dXJucyBBIEdhdGV3YXlDdXN0b21DbGFpbSBjb25maWd1cmVkIGZvciBzdHJpbmcgYXJyYXkgdmFsaWRhdGlvblxuICAgKi9cbiAgcHVibGljIHN0YXRpYyB3aXRoU3RyaW5nQXJyYXlWYWx1ZShcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgdmFsdWVzOiBzdHJpbmdbXSxcbiAgICBvcGVyYXRvcjogQ3VzdG9tQ2xhaW1PcGVyYXRvciA9IEN1c3RvbUNsYWltT3BlcmF0b3IuQ09OVEFJTlMsXG4gICk6IEdhdGV3YXlDdXN0b21DbGFpbSB7XG4gICAgLy8gVmFsaWRhdGUgb3BlcmF0b3IgaXMgdmFsaWQgZm9yIFNUUklOR19BUlJBWSB0eXBlXG4gICAgaWYgKG9wZXJhdG9yICE9PSBDdXN0b21DbGFpbU9wZXJhdG9yLkNPTlRBSU5TICYmIG9wZXJhdG9yICE9PSBDdXN0b21DbGFpbU9wZXJhdG9yLkNPTlRBSU5TX0FOWSkge1xuICAgICAgdGhyb3cgbmV3IFZhbGlkYXRpb25FcnJvcihcbiAgICAgICAgYEN1c3RvbSBjbGFpbSAnJHtuYW1lfSc6IFNUUklOR19BUlJBWSB0eXBlIG9ubHkgc3VwcG9ydHMgQ09OVEFJTlMgb3IgQ09OVEFJTlNfQU5ZIG9wZXJhdG9ycywgZ290ICR7b3BlcmF0b3J9YCxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBuZXcgR2F0ZXdheUN1c3RvbUNsYWltKG5hbWUsIEN1c3RvbUNsYWltVmFsdWVUeXBlLlNUUklOR19BUlJBWSwgb3BlcmF0b3IsIHZhbHVlcyk7XG4gIH1cblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbmFtZTogc3RyaW5nLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmFsdWVUeXBlOiBDdXN0b21DbGFpbVZhbHVlVHlwZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wZXJhdG9yOiBDdXN0b21DbGFpbU9wZXJhdG9yLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmFsdWU6IHN0cmluZyB8IHN0cmluZ1tdLFxuICApIHtcbiAgICBpZiAoVG9rZW4uaXNVbnJlc29sdmVkKHZhbHVlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBWYWxpZGF0ZSB0aGF0IHZhbHVlIG1hdGNoZXMgdGhlIHZhbHVlVHlwZVxuICAgIGlmICh2YWx1ZVR5cGUgPT09IEN1c3RvbUNsYWltVmFsdWVUeXBlLlNUUklORyAmJiB0eXBlb2YgdmFsdWUgIT09ICdzdHJpbmcnKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGBDdXN0b20gY2xhaW0gJyR7bmFtZX0nOiBTVFJJTkcgdHlwZSByZXF1aXJlcyBhIHN0cmluZyB2YWx1ZSwgZ290ICR7dHlwZW9mIHZhbHVlfWApO1xuICAgIH1cbiAgICBpZiAodmFsdWVUeXBlID09PSBDdXN0b21DbGFpbVZhbHVlVHlwZS5TVFJJTkdfQVJSQVkgJiYgIUFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICB0aHJvdyBuZXcgVmFsaWRhdGlvbkVycm9yKGBDdXN0b20gY2xhaW0gJyR7bmFtZX0nOiBTVFJJTkdfQVJSQVkgdHlwZSByZXF1aXJlcyBhbiBhcnJheSB2YWx1ZSwgZ290ICR7dHlwZW9mIHZhbHVlfWApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5kZXIgdGhlIGN1c3RvbSBjbGFpbSBhcyBhIENsb3VkRm9ybWF0aW9uIHByb3BlcnR5XG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIF9yZW5kZXIoKTogQ2ZuR2F0ZXdheS5DdXN0b21DbGFpbVZhbGlkYXRpb25UeXBlUHJvcGVydHkge1xuICAgIC8vIEJ1aWxkIHRoZSBjbGFpbSBtYXRjaCB2YWx1ZSBiYXNlZCBvbiBvcGVyYXRvciBhbmQgdmFsdWUgdHlwZVxuICAgIGxldCBjbGFpbU1hdGNoVmFsdWU6IENmbkdhdGV3YXkuQ2xhaW1NYXRjaFZhbHVlVHlwZVByb3BlcnR5O1xuICAgIGlmICh0aGlzLnZhbHVlVHlwZSA9PT0gQ3VzdG9tQ2xhaW1WYWx1ZVR5cGUuU1RSSU5HKSB7XG4gICAgICAvLyBTVFJJTkcgdHlwZSBhbHdheXMgdXNlcyBtYXRjaFZhbHVlU3RyaW5nIHdpdGggRVFVQUxTIG9wZXJhdG9yXG4gICAgICBjbGFpbU1hdGNoVmFsdWUgPSB7XG4gICAgICAgIG1hdGNoVmFsdWVTdHJpbmc6IHRoaXMudmFsdWUgYXMgc3RyaW5nLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gU1RSSU5HX0FSUkFZIHR5cGU6IENPTlRBSU5TIHVzZXMgbWF0Y2hWYWx1ZVN0cmluZywgQ09OVEFJTlNfQU5ZIHVzZXMgbWF0Y2hWYWx1ZVN0cmluZ0xpc3RcbiAgICAgIGlmICh0aGlzLm9wZXJhdG9yID09PSBDdXN0b21DbGFpbU9wZXJhdG9yLkNPTlRBSU5TKSB7XG4gICAgICAgIC8vIENPTlRBSU5TIHJlcXVpcmVzIGEgc2luZ2xlIHN0cmluZyB2YWx1ZSAoY2hlY2sgaWYgY2xhaW0gYXJyYXkgY29udGFpbnMgdGhpcyBzdHJpbmcpXG4gICAgICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMudmFsdWUgYXMgc3RyaW5nW107XG4gICAgICAgIGlmICghVG9rZW4uaXNVbnJlc29sdmVkKHZhbHVlc1swXSkgJiYgdmFsdWVzLmxlbmd0aCAhPT0gMSkge1xuICAgICAgICAgIHRocm93IG5ldyBWYWxpZGF0aW9uRXJyb3IoXG4gICAgICAgICAgICBgQ3VzdG9tIGNsYWltICcke3RoaXMubmFtZX0nOiBDT05UQUlOUyBvcGVyYXRvciByZXF1aXJlcyBleGFjdGx5IG9uZSB2YWx1ZSwgZ290ICR7dmFsdWVzLmxlbmd0aH0gdmFsdWVzYCxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGNsYWltTWF0Y2hWYWx1ZSA9IHtcbiAgICAgICAgICBtYXRjaFZhbHVlU3RyaW5nOiB2YWx1ZXNbMF0sXG4gICAgICAgIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBDT05UQUlOU19BTlkgdXNlcyBtYXRjaFZhbHVlU3RyaW5nTGlzdFxuICAgICAgICBjbGFpbU1hdGNoVmFsdWUgPSB7XG4gICAgICAgICAgbWF0Y2hWYWx1ZVN0cmluZ0xpc3Q6IHRoaXMudmFsdWUgYXMgc3RyaW5nW10sXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGluYm91bmRUb2tlbkNsYWltTmFtZTogdGhpcy5uYW1lLFxuICAgICAgaW5ib3VuZFRva2VuQ2xhaW1WYWx1ZVR5cGU6IHRoaXMudmFsdWVUeXBlLFxuICAgICAgYXV0aG9yaXppbmdDbGFpbU1hdGNoVmFsdWU6IHtcbiAgICAgICAgY2xhaW1NYXRjaE9wZXJhdG9yOiB0aGlzLm9wZXJhdG9yLFxuICAgICAgICBjbGFpbU1hdGNoVmFsdWU6IGNsYWltTWF0Y2hWYWx1ZSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -0,0 +1,137 @@
1
+ import { IFunction } from 'aws-cdk-lib/aws-lambda';
2
+ import { Construct } from 'constructs';
3
+ import { IGateway } from './gateway-base';
4
+ /******************************************************************************
5
+ * Enums
6
+ *****************************************************************************/
7
+ /**
8
+ * The interception point where the interceptor will be invoked
9
+ */
10
+ export declare enum InterceptionPoint {
11
+ /**
12
+ * Execute before the gateway makes a call to the target
13
+ * Useful for request validation, transformation, or custom authorization
14
+ */
15
+ REQUEST = "REQUEST",
16
+ /**
17
+ * Execute after the target responds but before the gateway sends the response back
18
+ * Useful for response transformation, filtering, or adding custom headers
19
+ */
20
+ RESPONSE = "RESPONSE"
21
+ }
22
+ /******************************************************************************
23
+ * Interfaces
24
+ *****************************************************************************/
25
+ /**
26
+ * Options for configuring an interceptor
27
+ */
28
+ export interface InterceptorOptions {
29
+ /**
30
+ * Whether to pass request headers to the interceptor Lambda function
31
+ *
32
+ * **Security Warning**: Request headers can contain sensitive information such as
33
+ * authentication tokens and credentials. Only enable this if your interceptor needs
34
+ * access to headers and you have verified that sensitive information is not logged
35
+ * or exposed.
36
+ *
37
+ * @default false - Headers are not passed to interceptor for security
38
+ */
39
+ readonly passRequestHeaders?: boolean;
40
+ }
41
+ /**
42
+ * Represents an interceptor that can be bound to a Gateway
43
+ *
44
+ * Interceptors allow custom code execution at specific points in the gateway request/response flow.
45
+ */
46
+ export interface IInterceptor {
47
+ /**
48
+ * The interception point where this interceptor will be invoked
49
+ */
50
+ readonly interceptionPoint: InterceptionPoint;
51
+ /**
52
+ * Binds this interceptor to a Gateway
53
+ *
54
+ * This method is called when the interceptor is added to a gateway. It should:
55
+ * 1. Grant any necessary permissions (e.g., Lambda invoke permissions)
56
+ * 2. Perform any required setup
57
+ * 3. Return the CloudFormation configuration
58
+ *
59
+ * @param scope The construct scope for creating any required resources
60
+ * @param gateway The gateway this interceptor is being bound to [disable-awslint:prefer-ref-interface]
61
+ * @returns Configuration that will be rendered to CloudFormation
62
+ */
63
+ bind(scope: Construct, gateway: IGateway): InterceptorBindConfig;
64
+ }
65
+ /**
66
+ * Configuration returned from binding an interceptor to a Gateway
67
+ */
68
+ export interface InterceptorBindConfig {
69
+ /**
70
+ * The CloudFormation configuration for this interceptor
71
+ */
72
+ readonly configuration: any;
73
+ }
74
+ /******************************************************************************
75
+ * Classes
76
+ *****************************************************************************/
77
+ /**
78
+ * A Lambda-based interceptor for Gateway
79
+ *
80
+ * Interceptors allow you to run custom code during each invocation of your gateway:
81
+ * - REQUEST interceptors execute before calling the target
82
+ * - RESPONSE interceptors execute after the target responds
83
+ * @see https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/gateway-interceptors.html
84
+ */
85
+ export declare class LambdaInterceptor implements IInterceptor {
86
+ /**
87
+ * Create a REQUEST interceptor that executes before the gateway calls the target
88
+ *
89
+ * **Important:** When this interceptor is added to a gateway, the gateway's IAM role
90
+ * will automatically be granted `lambda:InvokeFunction` permission on the specified
91
+ * Lambda function.
92
+ *
93
+ * @param lambdaFunction The Lambda function to invoke
94
+ * @param options Optional configuration for the interceptor
95
+ * @returns A configured LambdaInterceptor for request interception
96
+ */
97
+ static forRequest(lambdaFunction: IFunction, options?: InterceptorOptions): LambdaInterceptor;
98
+ /**
99
+ * Create a RESPONSE interceptor that executes after the target responds
100
+ *
101
+ * **Important:** When this interceptor is added to a gateway, the gateway's IAM role
102
+ * will automatically be granted `lambda:InvokeFunction` permission on the specified
103
+ * Lambda function.
104
+ *
105
+ * @param lambdaFunction The Lambda function to invoke
106
+ * @param options Optional configuration for the interceptor
107
+ * @returns A configured LambdaInterceptor for response interception
108
+ */
109
+ static forResponse(lambdaFunction: IFunction, options?: InterceptorOptions): LambdaInterceptor;
110
+ /**
111
+ * The interception point (REQUEST or RESPONSE)
112
+ */
113
+ readonly interceptionPoint: InterceptionPoint;
114
+ /**
115
+ * The Lambda function to invoke for this interceptor
116
+ */
117
+ private readonly lambdaFunction;
118
+ /**
119
+ * Whether to pass request headers to the interceptor
120
+ *
121
+ * @default false - Headers are not passed for security
122
+ */
123
+ private readonly passRequestHeaders;
124
+ private constructor();
125
+ /**
126
+ * Binds this Lambda interceptor to a Gateway
127
+ *
128
+ * This method:
129
+ * 1. Grants the Gateway's IAM role permission to invoke the Lambda function
130
+ * 2. Returns the CloudFormation configuration for this interceptor
131
+ *
132
+ * @param _scope The construct scope (currently unused, reserved for future extensions)
133
+ * @param gateway The gateway this interceptor is being bound to
134
+ * @returns Configuration for CloudFormation rendering
135
+ */
136
+ bind(_scope: Construct, gateway: IGateway): InterceptorBindConfig;
137
+ }
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LambdaInterceptor = exports.InterceptionPoint = void 0;
4
+ const jsiiDeprecationWarnings = require("../../.warnings.jsii.js");
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ /******************************************************************************
7
+ * Enums
8
+ *****************************************************************************/
9
+ /**
10
+ * The interception point where the interceptor will be invoked
11
+ */
12
+ var InterceptionPoint;
13
+ (function (InterceptionPoint) {
14
+ /**
15
+ * Execute before the gateway makes a call to the target
16
+ * Useful for request validation, transformation, or custom authorization
17
+ */
18
+ InterceptionPoint["REQUEST"] = "REQUEST";
19
+ /**
20
+ * Execute after the target responds but before the gateway sends the response back
21
+ * Useful for response transformation, filtering, or adding custom headers
22
+ */
23
+ InterceptionPoint["RESPONSE"] = "RESPONSE";
24
+ })(InterceptionPoint || (exports.InterceptionPoint = InterceptionPoint = {}));
25
+ /******************************************************************************
26
+ * Classes
27
+ *****************************************************************************/
28
+ /**
29
+ * A Lambda-based interceptor for Gateway
30
+ *
31
+ * Interceptors allow you to run custom code during each invocation of your gateway:
32
+ * - REQUEST interceptors execute before calling the target
33
+ * - RESPONSE interceptors execute after the target responds
34
+ * @see https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/gateway-interceptors.html
35
+ */
36
+ class LambdaInterceptor {
37
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.LambdaInterceptor", version: "2.237.0-alpha.0" };
38
+ /**
39
+ * Create a REQUEST interceptor that executes before the gateway calls the target
40
+ *
41
+ * **Important:** When this interceptor is added to a gateway, the gateway's IAM role
42
+ * will automatically be granted `lambda:InvokeFunction` permission on the specified
43
+ * Lambda function.
44
+ *
45
+ * @param lambdaFunction The Lambda function to invoke
46
+ * @param options Optional configuration for the interceptor
47
+ * @returns A configured LambdaInterceptor for request interception
48
+ */
49
+ static forRequest(lambdaFunction, options) {
50
+ try {
51
+ jsiiDeprecationWarnings._aws_cdk_aws_bedrock_agentcore_alpha_InterceptorOptions(options);
52
+ }
53
+ catch (error) {
54
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
55
+ Error.captureStackTrace(error, this.forRequest);
56
+ }
57
+ throw error;
58
+ }
59
+ return new LambdaInterceptor(InterceptionPoint.REQUEST, lambdaFunction, options);
60
+ }
61
+ /**
62
+ * Create a RESPONSE interceptor that executes after the target responds
63
+ *
64
+ * **Important:** When this interceptor is added to a gateway, the gateway's IAM role
65
+ * will automatically be granted `lambda:InvokeFunction` permission on the specified
66
+ * Lambda function.
67
+ *
68
+ * @param lambdaFunction The Lambda function to invoke
69
+ * @param options Optional configuration for the interceptor
70
+ * @returns A configured LambdaInterceptor for response interception
71
+ */
72
+ static forResponse(lambdaFunction, options) {
73
+ try {
74
+ jsiiDeprecationWarnings._aws_cdk_aws_bedrock_agentcore_alpha_InterceptorOptions(options);
75
+ }
76
+ catch (error) {
77
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
78
+ Error.captureStackTrace(error, this.forResponse);
79
+ }
80
+ throw error;
81
+ }
82
+ return new LambdaInterceptor(InterceptionPoint.RESPONSE, lambdaFunction, options);
83
+ }
84
+ /**
85
+ * The interception point (REQUEST or RESPONSE)
86
+ */
87
+ interceptionPoint;
88
+ /**
89
+ * The Lambda function to invoke for this interceptor
90
+ */
91
+ lambdaFunction;
92
+ /**
93
+ * Whether to pass request headers to the interceptor
94
+ *
95
+ * @default false - Headers are not passed for security
96
+ */
97
+ passRequestHeaders;
98
+ constructor(interceptionPoint, lambdaFunction, options) {
99
+ this.interceptionPoint = interceptionPoint;
100
+ this.lambdaFunction = lambdaFunction;
101
+ this.passRequestHeaders = options?.passRequestHeaders ?? false;
102
+ }
103
+ /**
104
+ * Binds this Lambda interceptor to a Gateway
105
+ *
106
+ * This method:
107
+ * 1. Grants the Gateway's IAM role permission to invoke the Lambda function
108
+ * 2. Returns the CloudFormation configuration for this interceptor
109
+ *
110
+ * @param _scope The construct scope (currently unused, reserved for future extensions)
111
+ * @param gateway The gateway this interceptor is being bound to
112
+ * @returns Configuration for CloudFormation rendering
113
+ */
114
+ bind(_scope, gateway) {
115
+ try {
116
+ jsiiDeprecationWarnings._aws_cdk_aws_bedrock_agentcore_alpha_IGateway(gateway);
117
+ }
118
+ catch (error) {
119
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
120
+ Error.captureStackTrace(error, this.bind);
121
+ }
122
+ throw error;
123
+ }
124
+ // Grant Lambda invoke permission to the Gateway's role
125
+ this.lambdaFunction.grantInvoke(gateway.role);
126
+ // Return CloudFormation configuration
127
+ return {
128
+ configuration: {
129
+ interceptionPoints: [this.interceptionPoint],
130
+ interceptor: {
131
+ lambda: {
132
+ arn: this.lambdaFunction.functionArn,
133
+ },
134
+ },
135
+ inputConfiguration: {
136
+ passRequestHeaders: this.passRequestHeaders,
137
+ },
138
+ },
139
+ };
140
+ }
141
+ }
142
+ exports.LambdaInterceptor = LambdaInterceptor;
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUlBOzsrRUFFK0U7QUFFL0U7O0dBRUc7QUFDSCxJQUFZLGlCQVlYO0FBWkQsV0FBWSxpQkFBaUI7SUFDM0I7OztPQUdHO0lBQ0gsd0NBQW1CLENBQUE7SUFFbkI7OztPQUdHO0lBQ0gsMENBQXFCLENBQUE7QUFDdkIsQ0FBQyxFQVpXLGlCQUFpQixpQ0FBakIsaUJBQWlCLFFBWTVCO0FBMkREOzsrRUFFK0U7QUFFL0U7Ozs7Ozs7R0FPRztBQUNILE1BQWEsaUJBQWlCOztJQUM1Qjs7Ozs7Ozs7OztPQVVHO0lBQ0ksTUFBTSxDQUFDLFVBQVUsQ0FDdEIsY0FBeUIsRUFDekIsT0FBNEI7Ozs7Ozs7Ozs7UUFFNUIsT0FBTyxJQUFJLGlCQUFpQixDQUMxQixpQkFBaUIsQ0FBQyxPQUFPLEVBQ3pCLGNBQWMsRUFDZCxPQUFPLENBQ1IsQ0FBQztLQUNIO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNJLE1BQU0sQ0FBQyxXQUFXLENBQ3ZCLGNBQXlCLEVBQ3pCLE9BQTRCOzs7Ozs7Ozs7O1FBRTVCLE9BQU8sSUFBSSxpQkFBaUIsQ0FDMUIsaUJBQWlCLENBQUMsUUFBUSxFQUMxQixjQUFjLEVBQ2QsT0FBTyxDQUNSLENBQUM7S0FDSDtJQUVEOztPQUVHO0lBQ2EsaUJBQWlCLENBQW9CO0lBRXJEOztPQUVHO0lBQ2MsY0FBYyxDQUFZO0lBRTNDOzs7O09BSUc7SUFDYyxrQkFBa0IsQ0FBVTtJQUU3QyxZQUNFLGlCQUFvQyxFQUNwQyxjQUF5QixFQUN6QixPQUE0QjtRQUU1QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUM7UUFDM0MsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7UUFDckMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE9BQU8sRUFBRSxrQkFBa0IsSUFBSSxLQUFLLENBQUM7S0FDaEU7SUFFRDs7Ozs7Ozs7OztPQVVHO0lBQ0ksSUFBSSxDQUFDLE1BQWlCLEVBQUUsT0FBaUI7Ozs7Ozs7Ozs7UUFDOUMsdURBQXVEO1FBQ3ZELElBQUksQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU5QyxzQ0FBc0M7UUFDdEMsT0FBTztZQUNMLGFBQWEsRUFBRTtnQkFDYixrQkFBa0IsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztnQkFDNUMsV0FBVyxFQUFFO29CQUNYLE1BQU0sRUFBRTt3QkFDTixHQUFHLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXO3FCQUNyQztpQkFDRjtnQkFDRCxrQkFBa0IsRUFBRTtvQkFDbEIsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGtCQUFrQjtpQkFDNUM7YUFDRjtTQUNGLENBQUM7S0FDSDs7QUFyR0gsOENBc0dDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSUZ1bmN0aW9uIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWxhbWJkYSc7XG5pbXBvcnQgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IElHYXRld2F5IH0gZnJvbSAnLi9nYXRld2F5LWJhc2UnO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW51bXNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyoqXG4gKiBUaGUgaW50ZXJjZXB0aW9uIHBvaW50IHdoZXJlIHRoZSBpbnRlcmNlcHRvciB3aWxsIGJlIGludm9rZWRcbiAqL1xuZXhwb3J0IGVudW0gSW50ZXJjZXB0aW9uUG9pbnQge1xuICAvKipcbiAgICogRXhlY3V0ZSBiZWZvcmUgdGhlIGdhdGV3YXkgbWFrZXMgYSBjYWxsIHRvIHRoZSB0YXJnZXRcbiAgICogVXNlZnVsIGZvciByZXF1ZXN0IHZhbGlkYXRpb24sIHRyYW5zZm9ybWF0aW9uLCBvciBjdXN0b20gYXV0aG9yaXphdGlvblxuICAgKi9cbiAgUkVRVUVTVCA9ICdSRVFVRVNUJyxcblxuICAvKipcbiAgICogRXhlY3V0ZSBhZnRlciB0aGUgdGFyZ2V0IHJlc3BvbmRzIGJ1dCBiZWZvcmUgdGhlIGdhdGV3YXkgc2VuZHMgdGhlIHJlc3BvbnNlIGJhY2tcbiAgICogVXNlZnVsIGZvciByZXNwb25zZSB0cmFuc2Zvcm1hdGlvbiwgZmlsdGVyaW5nLCBvciBhZGRpbmcgY3VzdG9tIGhlYWRlcnNcbiAgICovXG4gIFJFU1BPTlNFID0gJ1JFU1BPTlNFJyxcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludGVyZmFjZXNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyoqXG4gKiBPcHRpb25zIGZvciBjb25maWd1cmluZyBhbiBpbnRlcmNlcHRvclxuICovXG5leHBvcnQgaW50ZXJmYWNlIEludGVyY2VwdG9yT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHBhc3MgcmVxdWVzdCBoZWFkZXJzIHRvIHRoZSBpbnRlcmNlcHRvciBMYW1iZGEgZnVuY3Rpb25cbiAgICpcbiAgICogKipTZWN1cml0eSBXYXJuaW5nKio6IFJlcXVlc3QgaGVhZGVycyBjYW4gY29udGFpbiBzZW5zaXRpdmUgaW5mb3JtYXRpb24gc3VjaCBhc1xuICAgKiBhdXRoZW50aWNhdGlvbiB0b2tlbnMgYW5kIGNyZWRlbnRpYWxzLiBPbmx5IGVuYWJsZSB0aGlzIGlmIHlvdXIgaW50ZXJjZXB0b3IgbmVlZHNcbiAgICogYWNjZXNzIHRvIGhlYWRlcnMgYW5kIHlvdSBoYXZlIHZlcmlmaWVkIHRoYXQgc2Vuc2l0aXZlIGluZm9ybWF0aW9uIGlzIG5vdCBsb2dnZWRcbiAgICogb3IgZXhwb3NlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2UgLSBIZWFkZXJzIGFyZSBub3QgcGFzc2VkIHRvIGludGVyY2VwdG9yIGZvciBzZWN1cml0eVxuICAgKi9cbiAgcmVhZG9ubHkgcGFzc1JlcXVlc3RIZWFkZXJzPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIGludGVyY2VwdG9yIHRoYXQgY2FuIGJlIGJvdW5kIHRvIGEgR2F0ZXdheVxuICpcbiAqIEludGVyY2VwdG9ycyBhbGxvdyBjdXN0b20gY29kZSBleGVjdXRpb24gYXQgc3BlY2lmaWMgcG9pbnRzIGluIHRoZSBnYXRld2F5IHJlcXVlc3QvcmVzcG9uc2UgZmxvdy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJSW50ZXJjZXB0b3Ige1xuICAvKipcbiAgICogVGhlIGludGVyY2VwdGlvbiBwb2ludCB3aGVyZSB0aGlzIGludGVyY2VwdG9yIHdpbGwgYmUgaW52b2tlZFxuICAgKi9cbiAgcmVhZG9ubHkgaW50ZXJjZXB0aW9uUG9pbnQ6IEludGVyY2VwdGlvblBvaW50O1xuXG4gIC8qKlxuICAgKiBCaW5kcyB0aGlzIGludGVyY2VwdG9yIHRvIGEgR2F0ZXdheVxuICAgKlxuICAgKiBUaGlzIG1ldGhvZCBpcyBjYWxsZWQgd2hlbiB0aGUgaW50ZXJjZXB0b3IgaXMgYWRkZWQgdG8gYSBnYXRld2F5LiBJdCBzaG91bGQ6XG4gICAqIDEuIEdyYW50IGFueSBuZWNlc3NhcnkgcGVybWlzc2lvbnMgKGUuZy4sIExhbWJkYSBpbnZva2UgcGVybWlzc2lvbnMpXG4gICAqIDIuIFBlcmZvcm0gYW55IHJlcXVpcmVkIHNldHVwXG4gICAqIDMuIFJldHVybiB0aGUgQ2xvdWRGb3JtYXRpb24gY29uZmlndXJhdGlvblxuICAgKlxuICAgKiBAcGFyYW0gc2NvcGUgVGhlIGNvbnN0cnVjdCBzY29wZSBmb3IgY3JlYXRpbmcgYW55IHJlcXVpcmVkIHJlc291cmNlc1xuICAgKiBAcGFyYW0gZ2F0ZXdheSBUaGUgZ2F0ZXdheSB0aGlzIGludGVyY2VwdG9yIGlzIGJlaW5nIGJvdW5kIHRvIFtkaXNhYmxlLWF3c2xpbnQ6cHJlZmVyLXJlZi1pbnRlcmZhY2VdXG4gICAqIEByZXR1cm5zIENvbmZpZ3VyYXRpb24gdGhhdCB3aWxsIGJlIHJlbmRlcmVkIHRvIENsb3VkRm9ybWF0aW9uXG4gICAqL1xuICBiaW5kKHNjb3BlOiBDb25zdHJ1Y3QsIGdhdGV3YXk6IElHYXRld2F5KTogSW50ZXJjZXB0b3JCaW5kQ29uZmlnO1xufVxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gcmV0dXJuZWQgZnJvbSBiaW5kaW5nIGFuIGludGVyY2VwdG9yIHRvIGEgR2F0ZXdheVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEludGVyY2VwdG9yQmluZENvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgQ2xvdWRGb3JtYXRpb24gY29uZmlndXJhdGlvbiBmb3IgdGhpcyBpbnRlcmNlcHRvclxuICAgKi9cbiAgcmVhZG9ubHkgY29uZmlndXJhdGlvbjogYW55O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xhc3Nlc1xuICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKipcbiAqIEEgTGFtYmRhLWJhc2VkIGludGVyY2VwdG9yIGZvciBHYXRld2F5XG4gKlxuICogSW50ZXJjZXB0b3JzIGFsbG93IHlvdSB0byBydW4gY3VzdG9tIGNvZGUgZHVyaW5nIGVhY2ggaW52b2NhdGlvbiBvZiB5b3VyIGdhdGV3YXk6XG4gKiAtIFJFUVVFU1QgaW50ZXJjZXB0b3JzIGV4ZWN1dGUgYmVmb3JlIGNhbGxpbmcgdGhlIHRhcmdldFxuICogLSBSRVNQT05TRSBpbnRlcmNlcHRvcnMgZXhlY3V0ZSBhZnRlciB0aGUgdGFyZ2V0IHJlc3BvbmRzXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9iZWRyb2NrLWFnZW50Y29yZS9sYXRlc3QvZGV2Z3VpZGUvZ2F0ZXdheS1pbnRlcmNlcHRvcnMuaHRtbFxuICovXG5leHBvcnQgY2xhc3MgTGFtYmRhSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBJSW50ZXJjZXB0b3Ige1xuICAvKipcbiAgICogQ3JlYXRlIGEgUkVRVUVTVCBpbnRlcmNlcHRvciB0aGF0IGV4ZWN1dGVzIGJlZm9yZSB0aGUgZ2F0ZXdheSBjYWxscyB0aGUgdGFyZ2V0XG4gICAqXG4gICAqICoqSW1wb3J0YW50OioqIFdoZW4gdGhpcyBpbnRlcmNlcHRvciBpcyBhZGRlZCB0byBhIGdhdGV3YXksIHRoZSBnYXRld2F5J3MgSUFNIHJvbGVcbiAgICogd2lsbCBhdXRvbWF0aWNhbGx5IGJlIGdyYW50ZWQgYGxhbWJkYTpJbnZva2VGdW5jdGlvbmAgcGVybWlzc2lvbiBvbiB0aGUgc3BlY2lmaWVkXG4gICAqIExhbWJkYSBmdW5jdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIGxhbWJkYUZ1bmN0aW9uIFRoZSBMYW1iZGEgZnVuY3Rpb24gdG8gaW52b2tlXG4gICAqIEBwYXJhbSBvcHRpb25zIE9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBpbnRlcmNlcHRvclxuICAgKiBAcmV0dXJucyBBIGNvbmZpZ3VyZWQgTGFtYmRhSW50ZXJjZXB0b3IgZm9yIHJlcXVlc3QgaW50ZXJjZXB0aW9uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZvclJlcXVlc3QoXG4gICAgbGFtYmRhRnVuY3Rpb246IElGdW5jdGlvbixcbiAgICBvcHRpb25zPzogSW50ZXJjZXB0b3JPcHRpb25zLFxuICApOiBMYW1iZGFJbnRlcmNlcHRvciB7XG4gICAgcmV0dXJuIG5ldyBMYW1iZGFJbnRlcmNlcHRvcihcbiAgICAgIEludGVyY2VwdGlvblBvaW50LlJFUVVFU1QsXG4gICAgICBsYW1iZGFGdW5jdGlvbixcbiAgICAgIG9wdGlvbnMsXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBSRVNQT05TRSBpbnRlcmNlcHRvciB0aGF0IGV4ZWN1dGVzIGFmdGVyIHRoZSB0YXJnZXQgcmVzcG9uZHNcbiAgICpcbiAgICogKipJbXBvcnRhbnQ6KiogV2hlbiB0aGlzIGludGVyY2VwdG9yIGlzIGFkZGVkIHRvIGEgZ2F0ZXdheSwgdGhlIGdhdGV3YXkncyBJQU0gcm9sZVxuICAgKiB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgZ3JhbnRlZCBgbGFtYmRhOkludm9rZUZ1bmN0aW9uYCBwZXJtaXNzaW9uIG9uIHRoZSBzcGVjaWZpZWRcbiAgICogTGFtYmRhIGZ1bmN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gbGFtYmRhRnVuY3Rpb24gVGhlIExhbWJkYSBmdW5jdGlvbiB0byBpbnZva2VcbiAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9uYWwgY29uZmlndXJhdGlvbiBmb3IgdGhlIGludGVyY2VwdG9yXG4gICAqIEByZXR1cm5zIEEgY29uZmlndXJlZCBMYW1iZGFJbnRlcmNlcHRvciBmb3IgcmVzcG9uc2UgaW50ZXJjZXB0aW9uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZvclJlc3BvbnNlKFxuICAgIGxhbWJkYUZ1bmN0aW9uOiBJRnVuY3Rpb24sXG4gICAgb3B0aW9ucz86IEludGVyY2VwdG9yT3B0aW9ucyxcbiAgKTogTGFtYmRhSW50ZXJjZXB0b3Ige1xuICAgIHJldHVybiBuZXcgTGFtYmRhSW50ZXJjZXB0b3IoXG4gICAgICBJbnRlcmNlcHRpb25Qb2ludC5SRVNQT05TRSxcbiAgICAgIGxhbWJkYUZ1bmN0aW9uLFxuICAgICAgb3B0aW9ucyxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBpbnRlcmNlcHRpb24gcG9pbnQgKFJFUVVFU1Qgb3IgUkVTUE9OU0UpXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgaW50ZXJjZXB0aW9uUG9pbnQ6IEludGVyY2VwdGlvblBvaW50O1xuXG4gIC8qKlxuICAgKiBUaGUgTGFtYmRhIGZ1bmN0aW9uIHRvIGludm9rZSBmb3IgdGhpcyBpbnRlcmNlcHRvclxuICAgKi9cbiAgcHJpdmF0ZSByZWFkb25seSBsYW1iZGFGdW5jdGlvbjogSUZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHBhc3MgcmVxdWVzdCBoZWFkZXJzIHRvIHRoZSBpbnRlcmNlcHRvclxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZSAtIEhlYWRlcnMgYXJlIG5vdCBwYXNzZWQgZm9yIHNlY3VyaXR5XG4gICAqL1xuICBwcml2YXRlIHJlYWRvbmx5IHBhc3NSZXF1ZXN0SGVhZGVyczogYm9vbGVhbjtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKFxuICAgIGludGVyY2VwdGlvblBvaW50OiBJbnRlcmNlcHRpb25Qb2ludCxcbiAgICBsYW1iZGFGdW5jdGlvbjogSUZ1bmN0aW9uLFxuICAgIG9wdGlvbnM/OiBJbnRlcmNlcHRvck9wdGlvbnMsXG4gICkge1xuICAgIHRoaXMuaW50ZXJjZXB0aW9uUG9pbnQgPSBpbnRlcmNlcHRpb25Qb2ludDtcbiAgICB0aGlzLmxhbWJkYUZ1bmN0aW9uID0gbGFtYmRhRnVuY3Rpb247XG4gICAgdGhpcy5wYXNzUmVxdWVzdEhlYWRlcnMgPSBvcHRpb25zPy5wYXNzUmVxdWVzdEhlYWRlcnMgPz8gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogQmluZHMgdGhpcyBMYW1iZGEgaW50ZXJjZXB0b3IgdG8gYSBHYXRld2F5XG4gICAqXG4gICAqIFRoaXMgbWV0aG9kOlxuICAgKiAxLiBHcmFudHMgdGhlIEdhdGV3YXkncyBJQU0gcm9sZSBwZXJtaXNzaW9uIHRvIGludm9rZSB0aGUgTGFtYmRhIGZ1bmN0aW9uXG4gICAqIDIuIFJldHVybnMgdGhlIENsb3VkRm9ybWF0aW9uIGNvbmZpZ3VyYXRpb24gZm9yIHRoaXMgaW50ZXJjZXB0b3JcbiAgICpcbiAgICogQHBhcmFtIF9zY29wZSBUaGUgY29uc3RydWN0IHNjb3BlIChjdXJyZW50bHkgdW51c2VkLCByZXNlcnZlZCBmb3IgZnV0dXJlIGV4dGVuc2lvbnMpXG4gICAqIEBwYXJhbSBnYXRld2F5IFRoZSBnYXRld2F5IHRoaXMgaW50ZXJjZXB0b3IgaXMgYmVpbmcgYm91bmQgdG9cbiAgICogQHJldHVybnMgQ29uZmlndXJhdGlvbiBmb3IgQ2xvdWRGb3JtYXRpb24gcmVuZGVyaW5nXG4gICAqL1xuICBwdWJsaWMgYmluZChfc2NvcGU6IENvbnN0cnVjdCwgZ2F0ZXdheTogSUdhdGV3YXkpOiBJbnRlcmNlcHRvckJpbmRDb25maWcge1xuICAgIC8vIEdyYW50IExhbWJkYSBpbnZva2UgcGVybWlzc2lvbiB0byB0aGUgR2F0ZXdheSdzIHJvbGVcbiAgICB0aGlzLmxhbWJkYUZ1bmN0aW9uLmdyYW50SW52b2tlKGdhdGV3YXkucm9sZSk7XG5cbiAgICAvLyBSZXR1cm4gQ2xvdWRGb3JtYXRpb24gY29uZmlndXJhdGlvblxuICAgIHJldHVybiB7XG4gICAgICBjb25maWd1cmF0aW9uOiB7XG4gICAgICAgIGludGVyY2VwdGlvblBvaW50czogW3RoaXMuaW50ZXJjZXB0aW9uUG9pbnRdLFxuICAgICAgICBpbnRlcmNlcHRvcjoge1xuICAgICAgICAgIGxhbWJkYToge1xuICAgICAgICAgICAgYXJuOiB0aGlzLmxhbWJkYUZ1bmN0aW9uLmZ1bmN0aW9uQXJuLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIGlucHV0Q29uZmlndXJhdGlvbjoge1xuICAgICAgICAgIHBhc3NSZXF1ZXN0SGVhZGVyczogdGhpcy5wYXNzUmVxdWVzdEhlYWRlcnMsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -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.235.1-alpha.0" };
22
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.ApiKeyCredentialLocation", version: "2.237.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.235.1-alpha.0" };
34
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayCredentialProvider", version: "2.237.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.235.1-alpha.0" };
24
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayProtocol", version: "2.237.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.235.1-alpha.0" };
78
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.McpProtocolConfiguration", version: "2.237.0-alpha.0" };
79
79
  protocolType;
80
80
  /**
81
81
  * The supported MCP protocol versions