@aws-cdk/aws-bedrock-agentcore-alpha 2.253.0-alpha.0 → 2.254.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 (78) hide show
  1. package/.jsii +17116 -11830
  2. package/.jsii.tabl.json.gz +0 -0
  3. package/README.md +140 -10
  4. package/lib/evaluation/custom-evaluator.d.ts +9 -0
  5. package/lib/evaluation/custom-evaluator.js +8 -2
  6. package/lib/evaluation/data-source.js +1 -1
  7. package/lib/evaluation/evaluator-base.js +1 -1
  8. package/lib/evaluation/evaluator-config.js +2 -2
  9. package/lib/evaluation/evaluator.js +1 -1
  10. package/lib/evaluation/online-evaluation-base.js +1 -1
  11. package/lib/evaluation/online-evaluation.d.ts +9 -0
  12. package/lib/evaluation/online-evaluation.js +8 -2
  13. package/lib/evaluation/types.js +5 -5
  14. package/lib/evaluation/validation-helpers.d.ts +8 -0
  15. package/lib/evaluation/validation-helpers.js +62 -1
  16. package/lib/gateway/gateway-base.js +1 -1
  17. package/lib/gateway/gateway.d.ts +3 -2
  18. package/lib/gateway/gateway.js +3 -3
  19. package/lib/gateway/inbound-auth/authorizer.js +4 -4
  20. package/lib/gateway/inbound-auth/custom-claim.js +1 -1
  21. package/lib/gateway/interceptor.js +1 -1
  22. package/lib/gateway/outbound-auth/api-key.d.ts +13 -4
  23. package/lib/gateway/outbound-auth/api-key.js +63 -21
  24. package/lib/gateway/outbound-auth/credential-provider.d.ts +48 -4
  25. package/lib/gateway/outbound-auth/credential-provider.js +49 -2
  26. package/lib/gateway/outbound-auth/iam-role.d.ts +4 -3
  27. package/lib/gateway/outbound-auth/iam-role.js +3 -5
  28. package/lib/gateway/outbound-auth/oauth.d.ts +11 -3
  29. package/lib/gateway/outbound-auth/oauth.js +70 -20
  30. package/lib/gateway/perms.d.ts +15 -3
  31. package/lib/gateway/perms.js +24 -9
  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 +3 -3
  38. package/lib/identity/api-key-credential-provider.d.ts +217 -0
  39. package/lib/identity/api-key-credential-provider.js +249 -0
  40. package/lib/identity/grant-helpers.d.ts +74 -0
  41. package/lib/identity/grant-helpers.js +132 -0
  42. package/lib/identity/oauth2-credential-provider.d.ts +679 -0
  43. package/lib/identity/oauth2-credential-provider.js +863 -0
  44. package/lib/identity/perms.d.ts +119 -0
  45. package/lib/identity/perms.js +178 -0
  46. package/lib/identity/validation-helpers.d.ts +61 -0
  47. package/lib/identity/validation-helpers.js +156 -0
  48. package/lib/identity/workload-identity.d.ts +186 -0
  49. package/lib/identity/workload-identity.js +212 -0
  50. package/lib/index.d.ts +4 -0
  51. package/lib/index.js +8 -1
  52. package/lib/memory/memory-strategy.js +1 -1
  53. package/lib/memory/memory.js +2 -2
  54. package/lib/memory/strategies/managed-strategy.js +1 -1
  55. package/lib/memory/strategies/self-managed-strategy.js +1 -1
  56. package/lib/memory/validation-helpers.js +2 -2
  57. package/lib/network/network-configuration.js +4 -4
  58. package/lib/policy/policy-base.js +1 -1
  59. package/lib/policy/policy-engine-base.js +1 -1
  60. package/lib/policy/policy-engine.js +1 -1
  61. package/lib/policy/policy-statement.d.ts +2 -1
  62. package/lib/policy/policy-statement.js +14 -12
  63. package/lib/policy/policy-types.js +1 -1
  64. package/lib/policy/policy.js +1 -1
  65. package/lib/runtime/inbound-auth/custom-claim.js +1 -1
  66. package/lib/runtime/inbound-auth/runtime-authorizer-configuration.js +1 -1
  67. package/lib/runtime/observability.js +2 -2
  68. package/lib/runtime/runtime-artifact.d.ts +11 -3
  69. package/lib/runtime/runtime-artifact.js +12 -4
  70. package/lib/runtime/runtime-base.js +1 -1
  71. package/lib/runtime/runtime-endpoint-base.js +1 -1
  72. package/lib/runtime/runtime-endpoint.js +1 -1
  73. package/lib/runtime/runtime.js +1 -1
  74. package/lib/runtime/types.d.ts +7 -1
  75. package/lib/runtime/types.js +7 -1
  76. package/lib/tools/browser.js +2 -2
  77. package/lib/tools/code-interpreter.js +2 -2
  78. package/package.json +18 -10
@@ -1,8 +1,11 @@
1
1
  import type { IResolvable } from 'aws-cdk-lib';
2
2
  import type { CfnGatewayTarget } from 'aws-cdk-lib/aws-bedrockagentcore';
3
- import type { Grant, IRole } from 'aws-cdk-lib/aws-iam';
4
- import type { ApiKeyCredentialProviderProps } from './api-key';
3
+ import type { Grant } from 'aws-cdk-lib/aws-iam';
4
+ import type { ApiKeyCredentialLocation, ApiKeyCredentialProviderProps } from './api-key';
5
5
  import type { OAuthConfiguration } from './oauth';
6
+ import type { IApiKeyCredentialProvider } from '../../identity/api-key-credential-provider';
7
+ import type { IOAuth2CredentialProvider } from '../../identity/oauth2-credential-provider';
8
+ import type { IGateway } from '../gateway-base';
6
9
  /******************************************************************************
7
10
  * Enums
8
11
  *****************************************************************************/
@@ -40,14 +43,49 @@ export interface ICredentialProviderConfig {
40
43
  */
41
44
  _render(): CfnGatewayTarget.CredentialProviderConfigurationProperty | IResolvable;
42
45
  /**
43
- * Grant the role the permissions
46
+ * Grant the gateway's execution role the permissions needed for outbound authentication.
47
+ * @param gateway The gateway whose role needs outbound auth permissions [disable-awslint:prefer-ref-interface]
44
48
  */
45
- grantNeededPermissionsToRole(role: IRole): Grant | undefined;
49
+ grantNeededPermissionsToRole(gateway: IGateway): Grant | undefined;
50
+ }
51
+ /**
52
+ * Optional gateway settings when binding an {@link IApiKeyCredentialProvider} to a target.
53
+ */
54
+ export interface FromApiKeyIdentityOptions {
55
+ /**
56
+ * Where to place the API key on outbound requests.
57
+ *
58
+ * @default header `Authorization` with `Bearer ` prefix
59
+ */
60
+ readonly credentialLocation?: ApiKeyCredentialLocation;
61
+ }
62
+ /**
63
+ * OAuth scopes (and optional custom parameters) when binding an {@link IOAuth2CredentialProvider} to a gateway target.
64
+ */
65
+ export interface FromOauthIdentityOptions {
66
+ /**
67
+ * OAuth scopes the gateway should request for this target.
68
+ */
69
+ readonly scopes: string[];
70
+ /**
71
+ * Additional OAuth parameters for the provider.
72
+ *
73
+ * @default - none
74
+ */
75
+ readonly customParameters?: {
76
+ [key: string]: string;
77
+ };
46
78
  }
47
79
  /**
48
80
  * Factory class for creating different Gateway Credential Providers
49
81
  */
50
82
  export declare abstract class GatewayCredentialProvider {
83
+ /**
84
+ * Create an API key outbound auth configuration from a Token Vault {@link IApiKeyCredentialProvider} construct.
85
+ *
86
+ * Prefer this over {@link GatewayCredentialProvider.fromApiKeyIdentityArn} when the provider is defined in CDK.
87
+ */
88
+ static fromApiKeyIdentity(provider: IApiKeyCredentialProvider, options?: FromApiKeyIdentityOptions): ICredentialProviderConfig;
51
89
  /**
52
90
  * Create an API key credential provider from Identity ARN
53
91
  * Use this method when you have the Identity ARN as a string
@@ -55,6 +93,12 @@ export declare abstract class GatewayCredentialProvider {
55
93
  * @returns ICredentialProviderConfig configured for API key authentication
56
94
  */
57
95
  static fromApiKeyIdentityArn(props: ApiKeyCredentialProviderProps): ICredentialProviderConfig;
96
+ /**
97
+ * Create an OAuth outbound auth configuration from a Token Vault {@link IOAuth2CredentialProvider} construct.
98
+ *
99
+ * Prefer this over {@link GatewayCredentialProvider.fromOauthIdentityArn} when the provider is defined in CDK.
100
+ */
101
+ static fromOauthIdentity(provider: IOAuth2CredentialProvider, options: FromOauthIdentityOptions): ICredentialProviderConfig;
58
102
  /**
59
103
  * Create an OAuth credential provider from Identity ARN
60
104
  * Use this method when you have the Identity ARN as a string
@@ -31,7 +31,30 @@ 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.253.0-alpha.0" };
34
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayCredentialProvider", version: "2.254.0-alpha.0" };
35
+ /**
36
+ * Create an API key outbound auth configuration from a Token Vault {@link IApiKeyCredentialProvider} construct.
37
+ *
38
+ * Prefer this over {@link GatewayCredentialProvider.fromApiKeyIdentityArn} when the provider is defined in CDK.
39
+ */
40
+ static fromApiKeyIdentity(provider, options = {}) {
41
+ try {
42
+ jsiiDeprecationWarnings._aws_cdk_aws_bedrock_agentcore_alpha_IApiKeyCredentialProvider(provider);
43
+ jsiiDeprecationWarnings._aws_cdk_aws_bedrock_agentcore_alpha_FromApiKeyIdentityOptions(options);
44
+ }
45
+ catch (error) {
46
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
47
+ Error.captureStackTrace(error, this.fromApiKeyIdentity);
48
+ }
49
+ throw error;
50
+ }
51
+ const binding = provider.bindForGatewayApiKeyTarget();
52
+ return new api_key_1.ApiKeyCredentialProviderConfiguration({
53
+ providerArn: binding.providerArn,
54
+ secretArn: binding.secretArn,
55
+ credentialLocation: options.credentialLocation,
56
+ });
57
+ }
35
58
  /**
36
59
  * Create an API key credential provider from Identity ARN
37
60
  * Use this method when you have the Identity ARN as a string
@@ -50,6 +73,30 @@ class GatewayCredentialProvider {
50
73
  }
51
74
  return new api_key_1.ApiKeyCredentialProviderConfiguration(props);
52
75
  }
76
+ /**
77
+ * Create an OAuth outbound auth configuration from a Token Vault {@link IOAuth2CredentialProvider} construct.
78
+ *
79
+ * Prefer this over {@link GatewayCredentialProvider.fromOauthIdentityArn} when the provider is defined in CDK.
80
+ */
81
+ static fromOauthIdentity(provider, options) {
82
+ try {
83
+ jsiiDeprecationWarnings._aws_cdk_aws_bedrock_agentcore_alpha_IOAuth2CredentialProvider(provider);
84
+ jsiiDeprecationWarnings._aws_cdk_aws_bedrock_agentcore_alpha_FromOauthIdentityOptions(options);
85
+ }
86
+ catch (error) {
87
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
88
+ Error.captureStackTrace(error, this.fromOauthIdentity);
89
+ }
90
+ throw error;
91
+ }
92
+ const binding = provider.bindForGatewayOAuthTarget(options.scopes, options.customParameters);
93
+ return new oauth_1.OAuthCredentialProviderConfiguration({
94
+ providerArn: binding.providerArn,
95
+ secretArn: binding.secretArn,
96
+ scopes: binding.scopes,
97
+ customParameters: binding.customParameters,
98
+ });
99
+ }
53
100
  /**
54
101
  * Create an OAuth credential provider from Identity ARN
55
102
  * Use this method when you have the Identity ARN as a string
@@ -77,4 +124,4 @@ class GatewayCredentialProvider {
77
124
  }
78
125
  }
79
126
  exports.GatewayCredentialProvider = GatewayCredentialProvider;
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGVudGlhbC1wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNyZWRlbnRpYWwtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFJQSx1Q0FBa0U7QUFDbEUseUNBQW9FO0FBRXBFLG1DQUErRDtBQUUvRDs7K0VBRStFO0FBQy9FOztHQUVHO0FBQ0gsSUFBWSxzQkFlWDtBQWZELFdBQVksc0JBQXNCO0lBQ2hDOztPQUVHO0lBQ0gsNkNBQW1CLENBQUE7SUFFbkI7O09BRUc7SUFDSCx5Q0FBZSxDQUFBO0lBRWY7O09BRUc7SUFDSCwrREFBcUMsQ0FBQTtBQUN2QyxDQUFDLEVBZlcsc0JBQXNCLHNDQUF0QixzQkFBc0IsUUFlakM7QUEyQkQ7O0dBRUc7QUFDSCxNQUFzQix5QkFBeUI7O0lBQzdDOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLHFCQUFxQixDQUFDLEtBQW9DOzs7Ozs7Ozs7O1FBQ3RFLE9BQU8sSUFBSSwrQ0FBcUMsQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUN6RDtJQUVEOzs7OztPQUtHO0lBQ0ksTUFBTSxDQUFDLG9CQUFvQixDQUFDLEtBQXlCOzs7Ozs7Ozs7O1FBQzFELE9BQU8sSUFBSSw0Q0FBb0MsQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUN4RDtJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxXQUFXO1FBQ3ZCLE9BQU8sSUFBSSxpREFBc0MsRUFBRSxDQUFDO0tBQ3JEOztBQTNCSCw4REE0QkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IElSZXNvbHZhYmxlIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHR5cGUgeyBDZm5HYXRld2F5VGFyZ2V0IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWJlZHJvY2thZ2VudGNvcmUnO1xuaW1wb3J0IHR5cGUgeyBHcmFudCwgSVJvbGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB0eXBlIHsgQXBpS2V5Q3JlZGVudGlhbFByb3ZpZGVyUHJvcHMgfSBmcm9tICcuL2FwaS1rZXknO1xuaW1wb3J0IHsgQXBpS2V5Q3JlZGVudGlhbFByb3ZpZGVyQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vYXBpLWtleSc7XG5pbXBvcnQgeyBHYXRld2F5SWFtUm9sZUNyZWRlbnRpYWxQcm92aWRlckNvbmZpZyB9IGZyb20gJy4vaWFtLXJvbGUnO1xuaW1wb3J0IHR5cGUgeyBPQXV0aENvbmZpZ3VyYXRpb24gfSBmcm9tICcuL29hdXRoJztcbmltcG9ydCB7IE9BdXRoQ3JlZGVudGlhbFByb3ZpZGVyQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vb2F1dGgnO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudW1zXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKipcbiAqIENyZWRlbnRpYWwgcHJvdmlkZXIgdHlwZXMgc3VwcG9ydGVkIGJ5IGdhdGV3YXkgdGFyZ2V0XG4gKi9cbmV4cG9ydCBlbnVtIENyZWRlbnRpYWxQcm92aWRlclR5cGUge1xuICAvKipcbiAgICogQVBJIEtleSBhdXRoZW50aWNhdGlvblxuICAgKi9cbiAgQVBJX0tFWSA9ICdBUElfS0VZJyxcblxuICAvKipcbiAgICogT0F1dGggYXV0aGVudGljYXRpb25cbiAgICovXG4gIE9BVVRIID0gJ09BVVRIJyxcblxuICAvKipcbiAgICogSUFNIHJvbGUgYXV0aGVudGljYXRpb25cbiAgICovXG4gIEdBVEVXQVlfSUFNX1JPTEUgPSAnR0FURVdBWV9JQU1fUk9MRScsXG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICBDcmVkZW50aWFsIFByb3ZpZGVyXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qKlxuICogQWJzdHJhY3QgaW50ZXJmYWNlIGZvciBnYXRld2F5IGNyZWRlbnRpYWwgcHJvdmlkZXIgY29uZmlndXJhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIElDcmVkZW50aWFsUHJvdmlkZXJDb25maWcge1xuICAvKipcbiAgICogVGhlIGNyZWRlbnRpYWwgcHJvdmlkZXIgdHlwZVxuICAgKi9cbiAgcmVhZG9ubHkgY3JlZGVudGlhbFByb3ZpZGVyVHlwZTogQ3JlZGVudGlhbFByb3ZpZGVyVHlwZTtcblxuICAvKipcbiAgICogUmVuZGVycyBhcyBDRk4gUHJvcGVydHlcbiAgICogIEBpbnRlcm5hbFxuICAgKi9cbiAgX3JlbmRlcigpOiBDZm5HYXRld2F5VGFyZ2V0LkNyZWRlbnRpYWxQcm92aWRlckNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSB8IElSZXNvbHZhYmxlO1xuXG4gIC8qKlxuICAgKiBHcmFudCB0aGUgcm9sZSB0aGUgcGVybWlzc2lvbnNcbiAgICovXG4gIGdyYW50TmVlZGVkUGVybWlzc2lvbnNUb1JvbGUocm9sZTogSVJvbGUpOiBHcmFudCB8IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBGYWN0b3J5IGNsYXNzIGZvciBjcmVhdGluZyBkaWZmZXJlbnQgR2F0ZXdheSBDcmVkZW50aWFsIFByb3ZpZGVyc1xuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgR2F0ZXdheUNyZWRlbnRpYWxQcm92aWRlciB7XG4gIC8qKlxuICAgKiBDcmVhdGUgYW4gQVBJIGtleSBjcmVkZW50aWFsIHByb3ZpZGVyIGZyb20gSWRlbnRpdHkgQVJOXG4gICAqIFVzZSB0aGlzIG1ldGhvZCB3aGVuIHlvdSBoYXZlIHRoZSBJZGVudGl0eSBBUk4gYXMgYSBzdHJpbmdcbiAgICogQHBhcmFtIHByb3BzIC0gVGhlIGNvbmZpZ3VyYXRpb24gcHJvcGVydGllcyBmb3IgdGhlIEFQSSBrZXkgY3JlZGVudGlhbCBwcm92aWRlclxuICAgKiBAcmV0dXJucyBJQ3JlZGVudGlhbFByb3ZpZGVyQ29uZmlnIGNvbmZpZ3VyZWQgZm9yIEFQSSBrZXkgYXV0aGVudGljYXRpb25cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUFwaUtleUlkZW50aXR5QXJuKHByb3BzOiBBcGlLZXlDcmVkZW50aWFsUHJvdmlkZXJQcm9wcyk6IElDcmVkZW50aWFsUHJvdmlkZXJDb25maWcge1xuICAgIHJldHVybiBuZXcgQXBpS2V5Q3JlZGVudGlhbFByb3ZpZGVyQ29uZmlndXJhdGlvbihwcm9wcyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFuIE9BdXRoIGNyZWRlbnRpYWwgcHJvdmlkZXIgZnJvbSBJZGVudGl0eSBBUk5cbiAgICogVXNlIHRoaXMgbWV0aG9kIHdoZW4geW91IGhhdmUgdGhlIElkZW50aXR5IEFSTiBhcyBhIHN0cmluZ1xuICAgKiBAcGFyYW0gcHJvcHMgLSBUaGUgY29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzIGZvciB0aGUgT0F1dGggY3JlZGVudGlhbCBwcm92aWRlclxuICAgKiBAcmV0dXJucyBJQ3JlZGVudGlhbFByb3ZpZGVyQ29uZmlnIGNvbmZpZ3VyZWQgZm9yIE9BdXRoIGF1dGhlbnRpY2F0aW9uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21PYXV0aElkZW50aXR5QXJuKHByb3BzOiBPQXV0aENvbmZpZ3VyYXRpb24pOiBJQ3JlZGVudGlhbFByb3ZpZGVyQ29uZmlnIHtcbiAgICByZXR1cm4gbmV3IE9BdXRoQ3JlZGVudGlhbFByb3ZpZGVyQ29uZmlndXJhdGlvbihwcm9wcyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFuIElBTSByb2xlIGNyZWRlbnRpYWwgcHJvdmlkZXJcbiAgICogQHJldHVybnMgSUlhbVJvbGVDcmVkZW50aWFsUHJvdmlkZXIgY29uZmlndXJlZCBmb3IgSUFNIHJvbGUgYXV0aGVudGljYXRpb25cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUlhbVJvbGUoKTogSUNyZWRlbnRpYWxQcm92aWRlckNvbmZpZyB7XG4gICAgcmV0dXJuIG5ldyBHYXRld2F5SWFtUm9sZUNyZWRlbnRpYWxQcm92aWRlckNvbmZpZygpO1xuICB9XG59XG4iXX0=
127
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGVudGlhbC1wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImNyZWRlbnRpYWwtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFJQSx1Q0FBa0U7QUFDbEUseUNBQW9FO0FBRXBFLG1DQUErRDtBQUsvRDs7K0VBRStFO0FBQy9FOztHQUVHO0FBQ0gsSUFBWSxzQkFlWDtBQWZELFdBQVksc0JBQXNCO0lBQ2hDOztPQUVHO0lBQ0gsNkNBQW1CLENBQUE7SUFFbkI7O09BRUc7SUFDSCx5Q0FBZSxDQUFBO0lBRWY7O09BRUc7SUFDSCwrREFBcUMsQ0FBQTtBQUN2QyxDQUFDLEVBZlcsc0JBQXNCLHNDQUF0QixzQkFBc0IsUUFlakM7QUF5REQ7O0dBRUc7QUFDSCxNQUFzQix5QkFBeUI7O0lBQzdDOzs7O09BSUc7SUFDSSxNQUFNLENBQUMsa0JBQWtCLENBQzlCLFFBQW1DLEVBQ25DLFVBQXFDLEVBQUU7Ozs7Ozs7Ozs7O1FBRXZDLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ3RELE9BQU8sSUFBSSwrQ0FBcUMsQ0FBQztZQUMvQyxXQUFXLEVBQUUsT0FBTyxDQUFDLFdBQVc7WUFDaEMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxTQUFTO1lBQzVCLGtCQUFrQixFQUFFLE9BQU8sQ0FBQyxrQkFBa0I7U0FDL0MsQ0FBQyxDQUFDO0tBQ0o7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxLQUFvQzs7Ozs7Ozs7OztRQUN0RSxPQUFPLElBQUksK0NBQXFDLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDekQ7SUFFRDs7OztPQUlHO0lBQ0ksTUFBTSxDQUFDLGlCQUFpQixDQUM3QixRQUFtQyxFQUNuQyxPQUFpQzs7Ozs7Ozs7Ozs7UUFFakMsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLHlCQUF5QixDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDN0YsT0FBTyxJQUFJLDRDQUFvQyxDQUFDO1lBQzlDLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVztZQUNoQyxTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVM7WUFDNUIsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO1lBQ3RCLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxnQkFBZ0I7U0FDM0MsQ0FBQyxDQUFDO0tBQ0o7SUFFRDs7Ozs7T0FLRztJQUNJLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxLQUF5Qjs7Ozs7Ozs7OztRQUMxRCxPQUFPLElBQUksNENBQW9DLENBQUMsS0FBSyxDQUFDLENBQUM7S0FDeEQ7SUFFRDs7O09BR0c7SUFDSSxNQUFNLENBQUMsV0FBVztRQUN2QixPQUFPLElBQUksaURBQXNDLEVBQUUsQ0FBQztLQUNyRDs7QUE5REgsOERBK0RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBJUmVzb2x2YWJsZSB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB0eXBlIHsgQ2ZuR2F0ZXdheVRhcmdldCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1iZWRyb2NrYWdlbnRjb3JlJztcbmltcG9ydCB0eXBlIHsgR3JhbnQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB0eXBlIHsgQXBpS2V5Q3JlZGVudGlhbExvY2F0aW9uLCBBcGlLZXlDcmVkZW50aWFsUHJvdmlkZXJQcm9wcyB9IGZyb20gJy4vYXBpLWtleSc7XG5pbXBvcnQgeyBBcGlLZXlDcmVkZW50aWFsUHJvdmlkZXJDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9hcGkta2V5JztcbmltcG9ydCB7IEdhdGV3YXlJYW1Sb2xlQ3JlZGVudGlhbFByb3ZpZGVyQ29uZmlnIH0gZnJvbSAnLi9pYW0tcm9sZSc7XG5pbXBvcnQgdHlwZSB7IE9BdXRoQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vb2F1dGgnO1xuaW1wb3J0IHsgT0F1dGhDcmVkZW50aWFsUHJvdmlkZXJDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9vYXV0aCc7XG5pbXBvcnQgdHlwZSB7IElBcGlLZXlDcmVkZW50aWFsUHJvdmlkZXIgfSBmcm9tICcuLi8uLi9pZGVudGl0eS9hcGkta2V5LWNyZWRlbnRpYWwtcHJvdmlkZXInO1xuaW1wb3J0IHR5cGUgeyBJT0F1dGgyQ3JlZGVudGlhbFByb3ZpZGVyIH0gZnJvbSAnLi4vLi4vaWRlbnRpdHkvb2F1dGgyLWNyZWRlbnRpYWwtcHJvdmlkZXInO1xuaW1wb3J0IHR5cGUgeyBJR2F0ZXdheSB9IGZyb20gJy4uL2dhdGV3YXktYmFzZSc7XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRW51bXNcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qKlxuICogQ3JlZGVudGlhbCBwcm92aWRlciB0eXBlcyBzdXBwb3J0ZWQgYnkgZ2F0ZXdheSB0YXJnZXRcbiAqL1xuZXhwb3J0IGVudW0gQ3JlZGVudGlhbFByb3ZpZGVyVHlwZSB7XG4gIC8qKlxuICAgKiBBUEkgS2V5IGF1dGhlbnRpY2F0aW9uXG4gICAqL1xuICBBUElfS0VZID0gJ0FQSV9LRVknLFxuXG4gIC8qKlxuICAgKiBPQXV0aCBhdXRoZW50aWNhdGlvblxuICAgKi9cbiAgT0FVVEggPSAnT0FVVEgnLFxuXG4gIC8qKlxuICAgKiBJQU0gcm9sZSBhdXRoZW50aWNhdGlvblxuICAgKi9cbiAgR0FURVdBWV9JQU1fUk9MRSA9ICdHQVRFV0FZX0lBTV9ST0xFJyxcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogICAgICAgICAgICAgICAgICAgICAgIENyZWRlbnRpYWwgUHJvdmlkZXJcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyoqXG4gKiBBYnN0cmFjdCBpbnRlcmZhY2UgZm9yIGdhdGV3YXkgY3JlZGVudGlhbCBwcm92aWRlciBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNyZWRlbnRpYWxQcm92aWRlckNvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgY3JlZGVudGlhbCBwcm92aWRlciB0eXBlXG4gICAqL1xuICByZWFkb25seSBjcmVkZW50aWFsUHJvdmlkZXJUeXBlOiBDcmVkZW50aWFsUHJvdmlkZXJUeXBlO1xuXG4gIC8qKlxuICAgKiBSZW5kZXJzIGFzIENGTiBQcm9wZXJ0eVxuICAgKiAgQGludGVybmFsXG4gICAqL1xuICBfcmVuZGVyKCk6IENmbkdhdGV3YXlUYXJnZXQuQ3JlZGVudGlhbFByb3ZpZGVyQ29uZmlndXJhdGlvblByb3BlcnR5IHwgSVJlc29sdmFibGU7XG5cbiAgLyoqXG4gICAqIEdyYW50IHRoZSBnYXRld2F5J3MgZXhlY3V0aW9uIHJvbGUgdGhlIHBlcm1pc3Npb25zIG5lZWRlZCBmb3Igb3V0Ym91bmQgYXV0aGVudGljYXRpb24uXG4gICAqIEBwYXJhbSBnYXRld2F5IFRoZSBnYXRld2F5IHdob3NlIHJvbGUgbmVlZHMgb3V0Ym91bmQgYXV0aCBwZXJtaXNzaW9ucyBbZGlzYWJsZS1hd3NsaW50OnByZWZlci1yZWYtaW50ZXJmYWNlXVxuICAgKi9cbiAgZ3JhbnROZWVkZWRQZXJtaXNzaW9uc1RvUm9sZShnYXRld2F5OiBJR2F0ZXdheSk6IEdyYW50IHwgdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIE9wdGlvbmFsIGdhdGV3YXkgc2V0dGluZ3Mgd2hlbiBiaW5kaW5nIGFuIHtAbGluayBJQXBpS2V5Q3JlZGVudGlhbFByb3ZpZGVyfSB0byBhIHRhcmdldC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGcm9tQXBpS2V5SWRlbnRpdHlPcHRpb25zIHtcbiAgLyoqXG4gICAqIFdoZXJlIHRvIHBsYWNlIHRoZSBBUEkga2V5IG9uIG91dGJvdW5kIHJlcXVlc3RzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBoZWFkZXIgYEF1dGhvcml6YXRpb25gIHdpdGggYEJlYXJlciBgIHByZWZpeFxuICAgKi9cbiAgcmVhZG9ubHkgY3JlZGVudGlhbExvY2F0aW9uPzogQXBpS2V5Q3JlZGVudGlhbExvY2F0aW9uO1xufVxuXG4vKipcbiAqIE9BdXRoIHNjb3BlcyAoYW5kIG9wdGlvbmFsIGN1c3RvbSBwYXJhbWV0ZXJzKSB3aGVuIGJpbmRpbmcgYW4ge0BsaW5rIElPQXV0aDJDcmVkZW50aWFsUHJvdmlkZXJ9IHRvIGEgZ2F0ZXdheSB0YXJnZXQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRnJvbU9hdXRoSWRlbnRpdHlPcHRpb25zIHtcbiAgLyoqXG4gICAqIE9BdXRoIHNjb3BlcyB0aGUgZ2F0ZXdheSBzaG91bGQgcmVxdWVzdCBmb3IgdGhpcyB0YXJnZXQuXG4gICAqL1xuICByZWFkb25seSBzY29wZXM6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIE9BdXRoIHBhcmFtZXRlcnMgZm9yIHRoZSBwcm92aWRlci5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBub25lXG4gICAqL1xuICByZWFkb25seSBjdXN0b21QYXJhbWV0ZXJzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbn1cblxuLyoqXG4gKiBGYWN0b3J5IGNsYXNzIGZvciBjcmVhdGluZyBkaWZmZXJlbnQgR2F0ZXdheSBDcmVkZW50aWFsIFByb3ZpZGVyc1xuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgR2F0ZXdheUNyZWRlbnRpYWxQcm92aWRlciB7XG4gIC8qKlxuICAgKiBDcmVhdGUgYW4gQVBJIGtleSBvdXRib3VuZCBhdXRoIGNvbmZpZ3VyYXRpb24gZnJvbSBhIFRva2VuIFZhdWx0IHtAbGluayBJQXBpS2V5Q3JlZGVudGlhbFByb3ZpZGVyfSBjb25zdHJ1Y3QuXG4gICAqXG4gICAqIFByZWZlciB0aGlzIG92ZXIge0BsaW5rIEdhdGV3YXlDcmVkZW50aWFsUHJvdmlkZXIuZnJvbUFwaUtleUlkZW50aXR5QXJufSB3aGVuIHRoZSBwcm92aWRlciBpcyBkZWZpbmVkIGluIENESy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUFwaUtleUlkZW50aXR5KFxuICAgIHByb3ZpZGVyOiBJQXBpS2V5Q3JlZGVudGlhbFByb3ZpZGVyLFxuICAgIG9wdGlvbnM6IEZyb21BcGlLZXlJZGVudGl0eU9wdGlvbnMgPSB7fSxcbiAgKTogSUNyZWRlbnRpYWxQcm92aWRlckNvbmZpZyB7XG4gICAgY29uc3QgYmluZGluZyA9IHByb3ZpZGVyLmJpbmRGb3JHYXRld2F5QXBpS2V5VGFyZ2V0KCk7XG4gICAgcmV0dXJuIG5ldyBBcGlLZXlDcmVkZW50aWFsUHJvdmlkZXJDb25maWd1cmF0aW9uKHtcbiAgICAgIHByb3ZpZGVyQXJuOiBiaW5kaW5nLnByb3ZpZGVyQXJuLFxuICAgICAgc2VjcmV0QXJuOiBiaW5kaW5nLnNlY3JldEFybixcbiAgICAgIGNyZWRlbnRpYWxMb2NhdGlvbjogb3B0aW9ucy5jcmVkZW50aWFsTG9jYXRpb24sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFuIEFQSSBrZXkgY3JlZGVudGlhbCBwcm92aWRlciBmcm9tIElkZW50aXR5IEFSTlxuICAgKiBVc2UgdGhpcyBtZXRob2Qgd2hlbiB5b3UgaGF2ZSB0aGUgSWRlbnRpdHkgQVJOIGFzIGEgc3RyaW5nXG4gICAqIEBwYXJhbSBwcm9wcyAtIFRoZSBjb25maWd1cmF0aW9uIHByb3BlcnRpZXMgZm9yIHRoZSBBUEkga2V5IGNyZWRlbnRpYWwgcHJvdmlkZXJcbiAgICogQHJldHVybnMgSUNyZWRlbnRpYWxQcm92aWRlckNvbmZpZyBjb25maWd1cmVkIGZvciBBUEkga2V5IGF1dGhlbnRpY2F0aW9uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21BcGlLZXlJZGVudGl0eUFybihwcm9wczogQXBpS2V5Q3JlZGVudGlhbFByb3ZpZGVyUHJvcHMpOiBJQ3JlZGVudGlhbFByb3ZpZGVyQ29uZmlnIHtcbiAgICByZXR1cm4gbmV3IEFwaUtleUNyZWRlbnRpYWxQcm92aWRlckNvbmZpZ3VyYXRpb24ocHJvcHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhbiBPQXV0aCBvdXRib3VuZCBhdXRoIGNvbmZpZ3VyYXRpb24gZnJvbSBhIFRva2VuIFZhdWx0IHtAbGluayBJT0F1dGgyQ3JlZGVudGlhbFByb3ZpZGVyfSBjb25zdHJ1Y3QuXG4gICAqXG4gICAqIFByZWZlciB0aGlzIG92ZXIge0BsaW5rIEdhdGV3YXlDcmVkZW50aWFsUHJvdmlkZXIuZnJvbU9hdXRoSWRlbnRpdHlBcm59IHdoZW4gdGhlIHByb3ZpZGVyIGlzIGRlZmluZWQgaW4gQ0RLLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tT2F1dGhJZGVudGl0eShcbiAgICBwcm92aWRlcjogSU9BdXRoMkNyZWRlbnRpYWxQcm92aWRlcixcbiAgICBvcHRpb25zOiBGcm9tT2F1dGhJZGVudGl0eU9wdGlvbnMsXG4gICk6IElDcmVkZW50aWFsUHJvdmlkZXJDb25maWcge1xuICAgIGNvbnN0IGJpbmRpbmcgPSBwcm92aWRlci5iaW5kRm9yR2F0ZXdheU9BdXRoVGFyZ2V0KG9wdGlvbnMuc2NvcGVzLCBvcHRpb25zLmN1c3RvbVBhcmFtZXRlcnMpO1xuICAgIHJldHVybiBuZXcgT0F1dGhDcmVkZW50aWFsUHJvdmlkZXJDb25maWd1cmF0aW9uKHtcbiAgICAgIHByb3ZpZGVyQXJuOiBiaW5kaW5nLnByb3ZpZGVyQXJuLFxuICAgICAgc2VjcmV0QXJuOiBiaW5kaW5nLnNlY3JldEFybixcbiAgICAgIHNjb3BlczogYmluZGluZy5zY29wZXMsXG4gICAgICBjdXN0b21QYXJhbWV0ZXJzOiBiaW5kaW5nLmN1c3RvbVBhcmFtZXRlcnMsXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFuIE9BdXRoIGNyZWRlbnRpYWwgcHJvdmlkZXIgZnJvbSBJZGVudGl0eSBBUk5cbiAgICogVXNlIHRoaXMgbWV0aG9kIHdoZW4geW91IGhhdmUgdGhlIElkZW50aXR5IEFSTiBhcyBhIHN0cmluZ1xuICAgKiBAcGFyYW0gcHJvcHMgLSBUaGUgY29uZmlndXJhdGlvbiBwcm9wZXJ0aWVzIGZvciB0aGUgT0F1dGggY3JlZGVudGlhbCBwcm92aWRlclxuICAgKiBAcmV0dXJucyBJQ3JlZGVudGlhbFByb3ZpZGVyQ29uZmlnIGNvbmZpZ3VyZWQgZm9yIE9BdXRoIGF1dGhlbnRpY2F0aW9uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGZyb21PYXV0aElkZW50aXR5QXJuKHByb3BzOiBPQXV0aENvbmZpZ3VyYXRpb24pOiBJQ3JlZGVudGlhbFByb3ZpZGVyQ29uZmlnIHtcbiAgICByZXR1cm4gbmV3IE9BdXRoQ3JlZGVudGlhbFByb3ZpZGVyQ29uZmlndXJhdGlvbihwcm9wcyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGFuIElBTSByb2xlIGNyZWRlbnRpYWwgcHJvdmlkZXJcbiAgICogQHJldHVybnMgSUlhbVJvbGVDcmVkZW50aWFsUHJvdmlkZXIgY29uZmlndXJlZCBmb3IgSUFNIHJvbGUgYXV0aGVudGljYXRpb25cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUlhbVJvbGUoKTogSUNyZWRlbnRpYWxQcm92aWRlckNvbmZpZyB7XG4gICAgcmV0dXJuIG5ldyBHYXRld2F5SWFtUm9sZUNyZWRlbnRpYWxQcm92aWRlckNvbmZpZygpO1xuICB9XG59XG4iXX0=
@@ -1,9 +1,10 @@
1
1
  /******************************************************************************
2
2
  * IAM Role
3
3
  *****************************************************************************/
4
- import type { Grant, IRole } from 'aws-cdk-lib/aws-iam';
4
+ import type { Grant } from 'aws-cdk-lib/aws-iam';
5
5
  import type { ICredentialProviderConfig } from './credential-provider';
6
6
  import { CredentialProviderType } from './credential-provider';
7
+ import type { IGateway } from '../gateway-base';
7
8
  /**
8
9
  * Gateway IAM Role credential provider configuration implementation
9
10
  * Can be used with Lambda and Smithy targets
@@ -22,8 +23,8 @@ export declare class GatewayIamRoleCredentialProviderConfig implements ICredenti
22
23
  * role to authenticate with the target endpoint. Unlike API Key and OAuth credential providers
23
24
  * which require permissions to access external credential stores (Secrets Manager, Token Vault),
24
25
  * IAM role authentication leverages AWS IAM's native authentication without additional resources.
25
- * @param role The gateway's execution role (unused - no credential provider permissions needed)
26
+ * @param _gateway The gateway (unused - no credential provider permissions needed)
26
27
  * @returns undefined - no additional credential provider permissions to grant
27
28
  */
28
- grantNeededPermissionsToRole(role: IRole): Grant | undefined;
29
+ grantNeededPermissionsToRole(_gateway: IGateway): Grant | undefined;
29
30
  }
@@ -27,14 +27,12 @@ class GatewayIamRoleCredentialProviderConfig {
27
27
  * role to authenticate with the target endpoint. Unlike API Key and OAuth credential providers
28
28
  * which require permissions to access external credential stores (Secrets Manager, Token Vault),
29
29
  * IAM role authentication leverages AWS IAM's native authentication without additional resources.
30
- * @param role The gateway's execution role (unused - no credential provider permissions needed)
30
+ * @param _gateway The gateway (unused - no credential provider permissions needed)
31
31
  * @returns undefined - no additional credential provider permissions to grant
32
32
  */
33
- grantNeededPermissionsToRole(role) {
34
- if (role) {
35
- }
33
+ grantNeededPermissionsToRole(_gateway) {
36
34
  return undefined;
37
35
  }
38
36
  }
39
37
  exports.GatewayIamRoleCredentialProviderConfig = GatewayIamRoleCredentialProviderConfig;
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWFtLXJvbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpYW0tcm9sZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0E7OytFQUUrRTs7O0FBSS9FLCtEQUErRDtBQUUvRDs7OztHQUlHO0FBQ0gsTUFBYSxzQ0FBc0M7SUFDakMsc0JBQXNCLEdBQUcsNENBQXNCLENBQUMsZ0JBQWdCLENBQUM7SUFFakYsaUJBQWdCO0lBRWhCOztPQUVHO0lBQ0gsT0FBTztRQUNMLE9BQU87WUFDTCxzQkFBc0IsRUFBRSxJQUFJLENBQUMsc0JBQXNCO1NBQ3BELENBQUM7S0FDSDtJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsNEJBQTRCLENBQUMsSUFBVztRQUN0QyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ1gsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0tBQ2xCO0NBQ0Y7QUE1QkQsd0ZBNEJDIiwic291cmNlc0NvbnRlbnQiOlsiXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElBTSBSb2xlXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbmltcG9ydCB0eXBlIHsgR3JhbnQsIElSb2xlIH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgdHlwZSB7IElDcmVkZW50aWFsUHJvdmlkZXJDb25maWcgfSBmcm9tICcuL2NyZWRlbnRpYWwtcHJvdmlkZXInO1xuaW1wb3J0IHsgQ3JlZGVudGlhbFByb3ZpZGVyVHlwZSB9IGZyb20gJy4vY3JlZGVudGlhbC1wcm92aWRlcic7XG5cbi8qKlxuICogR2F0ZXdheSBJQU0gUm9sZSBjcmVkZW50aWFsIHByb3ZpZGVyIGNvbmZpZ3VyYXRpb24gaW1wbGVtZW50YXRpb25cbiAqIENhbiBiZSB1c2VkIHdpdGggTGFtYmRhIGFuZCBTbWl0aHkgdGFyZ2V0c1xuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBHYXRld2F5SWFtUm9sZUNyZWRlbnRpYWxQcm92aWRlckNvbmZpZyBpbXBsZW1lbnRzIElDcmVkZW50aWFsUHJvdmlkZXJDb25maWcge1xuICBwdWJsaWMgcmVhZG9ubHkgY3JlZGVudGlhbFByb3ZpZGVyVHlwZSA9IENyZWRlbnRpYWxQcm92aWRlclR5cGUuR0FURVdBWV9JQU1fUk9MRTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgX3JlbmRlcigpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBjcmVkZW50aWFsUHJvdmlkZXJUeXBlOiB0aGlzLmNyZWRlbnRpYWxQcm92aWRlclR5cGUsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBOby1vcCBmb3IgSUFNIHJvbGUgYXV0aGVudGljYXRpb24gLSBubyBhZGRpdGlvbmFsIHBlcm1pc3Npb25zIGFyZSByZXF1aXJlZC5cbiAgICogV2hlbiB1c2luZyBJQU0gcm9sZSBhdXRoZW50aWNhdGlvbiBmb3Igb3V0Ym91bmQgY2FsbHMsIHRoZSBnYXRld2F5IHVzZXMgaXRzIG93biBleGVjdXRpb25cbiAgICogcm9sZSB0byBhdXRoZW50aWNhdGUgd2l0aCB0aGUgdGFyZ2V0IGVuZHBvaW50LiBVbmxpa2UgQVBJIEtleSBhbmQgT0F1dGggY3JlZGVudGlhbCBwcm92aWRlcnNcbiAgICogd2hpY2ggcmVxdWlyZSBwZXJtaXNzaW9ucyB0byBhY2Nlc3MgZXh0ZXJuYWwgY3JlZGVudGlhbCBzdG9yZXMgKFNlY3JldHMgTWFuYWdlciwgVG9rZW4gVmF1bHQpLFxuICAgKiBJQU0gcm9sZSBhdXRoZW50aWNhdGlvbiBsZXZlcmFnZXMgQVdTIElBTSdzIG5hdGl2ZSBhdXRoZW50aWNhdGlvbiB3aXRob3V0IGFkZGl0aW9uYWwgcmVzb3VyY2VzLlxuICAgKiBAcGFyYW0gcm9sZSBUaGUgZ2F0ZXdheSdzIGV4ZWN1dGlvbiByb2xlICh1bnVzZWQgLSBubyBjcmVkZW50aWFsIHByb3ZpZGVyIHBlcm1pc3Npb25zIG5lZWRlZClcbiAgICogQHJldHVybnMgdW5kZWZpbmVkIC0gbm8gYWRkaXRpb25hbCBjcmVkZW50aWFsIHByb3ZpZGVyIHBlcm1pc3Npb25zIHRvIGdyYW50XG4gICAqL1xuICBncmFudE5lZWRlZFBlcm1pc3Npb25zVG9Sb2xlKHJvbGU6IElSb2xlKTogR3JhbnQgfCB1bmRlZmluZWQge1xuICAgIGlmIChyb2xlKSB7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWFtLXJvbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpYW0tcm9sZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0E7OytFQUUrRTs7O0FBSS9FLCtEQUErRDtBQUcvRDs7OztHQUlHO0FBQ0gsTUFBYSxzQ0FBc0M7SUFDakMsc0JBQXNCLEdBQUcsNENBQXNCLENBQUMsZ0JBQWdCLENBQUM7SUFFakYsaUJBQWdCO0lBRWhCOztPQUVHO0lBQ0gsT0FBTztRQUNMLE9BQU87WUFDTCxzQkFBc0IsRUFBRSxJQUFJLENBQUMsc0JBQXNCO1NBQ3BELENBQUM7S0FDSDtJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsNEJBQTRCLENBQUMsUUFBa0I7UUFDN0MsT0FBTyxTQUFTLENBQUM7S0FDbEI7Q0FDRjtBQTFCRCx3RkEwQkMiLCJzb3VyY2VzQ29udGVudCI6WyJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSUFNIFJvbGVcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuaW1wb3J0IHR5cGUgeyBHcmFudCB9IGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHR5cGUgeyBJQ3JlZGVudGlhbFByb3ZpZGVyQ29uZmlnIH0gZnJvbSAnLi9jcmVkZW50aWFsLXByb3ZpZGVyJztcbmltcG9ydCB7IENyZWRlbnRpYWxQcm92aWRlclR5cGUgfSBmcm9tICcuL2NyZWRlbnRpYWwtcHJvdmlkZXInO1xuaW1wb3J0IHR5cGUgeyBJR2F0ZXdheSB9IGZyb20gJy4uL2dhdGV3YXktYmFzZSc7XG5cbi8qKlxuICogR2F0ZXdheSBJQU0gUm9sZSBjcmVkZW50aWFsIHByb3ZpZGVyIGNvbmZpZ3VyYXRpb24gaW1wbGVtZW50YXRpb25cbiAqIENhbiBiZSB1c2VkIHdpdGggTGFtYmRhIGFuZCBTbWl0aHkgdGFyZ2V0c1xuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBHYXRld2F5SWFtUm9sZUNyZWRlbnRpYWxQcm92aWRlckNvbmZpZyBpbXBsZW1lbnRzIElDcmVkZW50aWFsUHJvdmlkZXJDb25maWcge1xuICBwdWJsaWMgcmVhZG9ubHkgY3JlZGVudGlhbFByb3ZpZGVyVHlwZSA9IENyZWRlbnRpYWxQcm92aWRlclR5cGUuR0FURVdBWV9JQU1fUk9MRTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgX3JlbmRlcigpOiBhbnkge1xuICAgIHJldHVybiB7XG4gICAgICBjcmVkZW50aWFsUHJvdmlkZXJUeXBlOiB0aGlzLmNyZWRlbnRpYWxQcm92aWRlclR5cGUsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBOby1vcCBmb3IgSUFNIHJvbGUgYXV0aGVudGljYXRpb24gLSBubyBhZGRpdGlvbmFsIHBlcm1pc3Npb25zIGFyZSByZXF1aXJlZC5cbiAgICogV2hlbiB1c2luZyBJQU0gcm9sZSBhdXRoZW50aWNhdGlvbiBmb3Igb3V0Ym91bmQgY2FsbHMsIHRoZSBnYXRld2F5IHVzZXMgaXRzIG93biBleGVjdXRpb25cbiAgICogcm9sZSB0byBhdXRoZW50aWNhdGUgd2l0aCB0aGUgdGFyZ2V0IGVuZHBvaW50LiBVbmxpa2UgQVBJIEtleSBhbmQgT0F1dGggY3JlZGVudGlhbCBwcm92aWRlcnNcbiAgICogd2hpY2ggcmVxdWlyZSBwZXJtaXNzaW9ucyB0byBhY2Nlc3MgZXh0ZXJuYWwgY3JlZGVudGlhbCBzdG9yZXMgKFNlY3JldHMgTWFuYWdlciwgVG9rZW4gVmF1bHQpLFxuICAgKiBJQU0gcm9sZSBhdXRoZW50aWNhdGlvbiBsZXZlcmFnZXMgQVdTIElBTSdzIG5hdGl2ZSBhdXRoZW50aWNhdGlvbiB3aXRob3V0IGFkZGl0aW9uYWwgcmVzb3VyY2VzLlxuICAgKiBAcGFyYW0gX2dhdGV3YXkgVGhlIGdhdGV3YXkgKHVudXNlZCAtIG5vIGNyZWRlbnRpYWwgcHJvdmlkZXIgcGVybWlzc2lvbnMgbmVlZGVkKVxuICAgKiBAcmV0dXJucyB1bmRlZmluZWQgLSBubyBhZGRpdGlvbmFsIGNyZWRlbnRpYWwgcHJvdmlkZXIgcGVybWlzc2lvbnMgdG8gZ3JhbnRcbiAgICovXG4gIGdyYW50TmVlZGVkUGVybWlzc2lvbnNUb1JvbGUoX2dhdGV3YXk6IElHYXRld2F5KTogR3JhbnQgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cbiJdfQ==
@@ -1,7 +1,7 @@
1
- import type { IRole } from 'aws-cdk-lib/aws-iam';
2
1
  import { Grant } from 'aws-cdk-lib/aws-iam';
3
2
  import type { ICredentialProviderConfig } from './credential-provider';
4
3
  import { CredentialProviderType } from './credential-provider';
4
+ import type { IGateway } from '../gateway-base';
5
5
  /******************************************************************************
6
6
  * OAuth
7
7
  *****************************************************************************/
@@ -72,9 +72,17 @@ export declare class OAuthCredentialProviderConfiguration implements ICredential
72
72
  readonly customParameters?: Record<string, string>;
73
73
  constructor(configuration: OAuthConfiguration);
74
74
  /**
75
- * Grant the needed permissions to the role for OAuth authentication
75
+ * Grant the needed permissions to the gateway role for OAuth authentication.
76
+ *
77
+ * Produces four scoped IAM statements matching the console-generated policy:
78
+ * 1. `GetWorkloadAccessToken[ForJWT|ForUserId]` on the workload identity directory ARNs
79
+ * 2. `CompleteResourceTokenAuth` on the token vault, credential provider, directory, and identity ARNs
80
+ * 3. `GetResourceOauth2Token` on the token vault, credential provider, directory, and identity ARNs
81
+ * 4. `secretsmanager:GetSecretValue` on the specific credential secret ARN
82
+ *
83
+ * @see https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/gateway-outbound-auth.html
76
84
  */
77
- grantNeededPermissionsToRole(role: IRole): Grant | undefined;
85
+ grantNeededPermissionsToRole(gateway: IGateway): Grant | undefined;
78
86
  /**
79
87
  * @internal
80
88
  */
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.OAuthCredentialProviderConfiguration = void 0;
4
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
4
5
  const aws_iam_1 = require("aws-cdk-lib/aws-iam");
5
6
  const credential_provider_1 = require("./credential-provider");
6
7
  const perms_1 = require("../perms");
@@ -34,27 +35,76 @@ class OAuthCredentialProviderConfiguration {
34
35
  this.customParameters = configuration.customParameters;
35
36
  }
36
37
  /**
37
- * Grant the needed permissions to the role for OAuth authentication
38
+ * Grant the needed permissions to the gateway role for OAuth authentication.
39
+ *
40
+ * Produces four scoped IAM statements matching the console-generated policy:
41
+ * 1. `GetWorkloadAccessToken[ForJWT|ForUserId]` on the workload identity directory ARNs
42
+ * 2. `CompleteResourceTokenAuth` on the token vault, credential provider, directory, and identity ARNs
43
+ * 3. `GetResourceOauth2Token` on the token vault, credential provider, directory, and identity ARNs
44
+ * 4. `secretsmanager:GetSecretValue` on the specific credential secret ARN
45
+ *
46
+ * @see https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/gateway-outbound-auth.html
38
47
  */
39
- grantNeededPermissionsToRole(role) {
40
- const statements = [
41
- new aws_iam_1.PolicyStatement({
42
- actions: [
43
- ...perms_1.GATEWAY_OAUTH_PERMS,
44
- ...perms_1.GATEWAY_WORKLOAD_IDENTITY_PERMS,
45
- ],
46
- resources: [this.providerArn],
47
- }),
48
- new aws_iam_1.PolicyStatement({
49
- actions: perms_1.GATEWAY_SECRETS_PERMS,
50
- resources: [this.secretArn],
51
- }),
52
- ];
53
- return aws_iam_1.Grant.addToPrincipal({
54
- grantee: role,
55
- actions: statements.flatMap(s => s.actions),
56
- resourceArns: statements.flatMap(s => s.resources),
48
+ grantNeededPermissionsToRole(gateway) {
49
+ const stack = aws_cdk_lib_1.Stack.of(gateway);
50
+ const directoryArn = stack.formatArn({
51
+ service: 'bedrock-agentcore',
52
+ resource: 'workload-identity-directory',
53
+ resourceName: 'default',
54
+ arnFormat: aws_cdk_lib_1.ArnFormat.SLASH_RESOURCE_NAME,
57
55
  });
56
+ const identityWildcardArn = `${directoryArn}/workload-identity/${gateway.name}-*`;
57
+ const tokenVaultArn = stack.formatArn({
58
+ service: 'bedrock-agentcore',
59
+ resource: 'token-vault',
60
+ resourceName: 'default',
61
+ arnFormat: aws_cdk_lib_1.ArnFormat.SLASH_RESOURCE_NAME,
62
+ });
63
+ const credentialAndIdentityArns = [tokenVaultArn, this.providerArn, directoryArn, identityWildcardArn];
64
+ const workloadIdentityGrant = aws_iam_1.Grant.addToPrincipal({
65
+ grantee: gateway.role,
66
+ actions: [...perms_1.GATEWAY_WORKLOAD_IDENTITY_OAUTH_PERMS],
67
+ resourceArns: [directoryArn, identityWildcardArn],
68
+ scope: gateway,
69
+ });
70
+ const completeAuthGrant = aws_iam_1.Grant.addToPrincipal({
71
+ grantee: gateway.role,
72
+ actions: [...perms_1.GATEWAY_OAUTH_COMPLETE_AUTH_PERMS],
73
+ resourceArns: credentialAndIdentityArns,
74
+ scope: gateway,
75
+ });
76
+ const oauthGrant = aws_iam_1.Grant.addToPrincipal({
77
+ grantee: gateway.role,
78
+ actions: [...perms_1.GATEWAY_OAUTH_PERMS],
79
+ resourceArns: credentialAndIdentityArns,
80
+ scope: gateway,
81
+ });
82
+ // The CFN attribute ClientSecretArn is an object { SecretArn: string }, not a
83
+ // plain string, so the Token resolves to an object which cannot be placed in
84
+ // IAM Resource fields. When the caller supplies a literal ARN string (e.g. via
85
+ // fromOauthIdentityArn) we can scope tightly; otherwise fall back to a
86
+ // service-managed prefix wildcard.
87
+ let secretResourceArns;
88
+ if (aws_cdk_lib_1.Token.isUnresolved(this.secretArn)) {
89
+ aws_cdk_lib_1.Annotations.of(gateway).addWarningV2('@aws-cdk/aws-bedrock-agentcore-alpha:wildcardSecretArnGrant', 'The secret ARN is an unresolved token. Granting access using a wildcard prefix (bedrock-agentcore-identity!*). ' +
90
+ 'To scope the grant to a specific secret, supply a literal secret ARN via fromOauthIdentityArn.');
91
+ secretResourceArns = [stack.formatArn({
92
+ service: 'secretsmanager',
93
+ resource: 'secret',
94
+ resourceName: 'bedrock-agentcore-identity!*',
95
+ arnFormat: aws_cdk_lib_1.ArnFormat.COLON_RESOURCE_NAME,
96
+ })];
97
+ }
98
+ else {
99
+ secretResourceArns = [this.secretArn];
100
+ }
101
+ const secretGrant = aws_iam_1.Grant.addToPrincipal({
102
+ grantee: gateway.role,
103
+ actions: [...perms_1.GATEWAY_SECRETS_PERMS],
104
+ resourceArns: secretResourceArns,
105
+ scope: gateway,
106
+ });
107
+ return workloadIdentityGrant.combine(completeAuthGrant).combine(oauthGrant).combine(secretGrant);
58
108
  }
59
109
  /**
60
110
  * @internal
@@ -73,4 +123,4 @@ class OAuthCredentialProviderConfiguration {
73
123
  }
74
124
  }
75
125
  exports.OAuthCredentialProviderConfiguration = OAuthCredentialProviderConfiguration;
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2F1dGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJvYXV0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxpREFBNkQ7QUFFN0QsK0RBQStEO0FBQy9ELG9DQUF1RztBQW9Edkc7Ozs7R0FJRztBQUNILE1BQWEsb0NBQW9DO0lBQy9CLHNCQUFzQixHQUFHLDRDQUFzQixDQUFDLEtBQUssQ0FBQztJQUN0RTs7T0FFRztJQUNhLFdBQVcsQ0FBUztJQUNwQzs7T0FFRztJQUNhLFNBQVMsQ0FBUztJQUNsQzs7T0FFRztJQUNhLE1BQU0sQ0FBVztJQUNqQzs7T0FFRztJQUNhLGdCQUFnQixDQUEwQjtJQUUxRCxZQUFZLGFBQWlDO1FBQzNDLElBQUksQ0FBQyxXQUFXLEdBQUcsYUFBYSxDQUFDLFdBQVcsQ0FBQztRQUM3QyxJQUFJLENBQUMsU0FBUyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUM7UUFDekMsSUFBSSxDQUFDLE1BQU0sR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDO1FBQ25DLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxhQUFhLENBQUMsZ0JBQWdCLENBQUM7S0FDeEQ7SUFFRDs7T0FFRztJQUNILDRCQUE0QixDQUFDLElBQVc7UUFDdEMsTUFBTSxVQUFVLEdBQUc7WUFDakIsSUFBSSx5QkFBZSxDQUFDO2dCQUNsQixPQUFPLEVBQUU7b0JBQ1AsR0FBRywyQkFBbUI7b0JBQ3RCLEdBQUcsdUNBQStCO2lCQUNuQztnQkFDRCxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO2FBQzlCLENBQUM7WUFDRixJQUFJLHlCQUFlLENBQUM7Z0JBQ2xCLE9BQU8sRUFBRSw2QkFBcUI7Z0JBQzlCLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7YUFDNUIsQ0FBQztTQUNILENBQUM7UUFFRixPQUFPLGVBQUssQ0FBQyxjQUFjLENBQUM7WUFDMUIsT0FBTyxFQUFFLElBQUk7WUFDYixPQUFPLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7WUFDM0MsWUFBWSxFQUFFLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1NBQ25ELENBQUMsQ0FBQztLQUNKO0lBRUQ7O09BRUc7SUFDSCxPQUFPO1FBQ0wsT0FBTztZQUNMLHNCQUFzQixFQUFFLElBQUksQ0FBQyxzQkFBc0I7WUFDbkQsa0JBQWtCLEVBQUU7Z0JBQ2xCLHVCQUF1QixFQUFFO29CQUN2QixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7b0JBQzdCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtvQkFDbkIsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtpQkFDeEM7YUFDRjtTQUNGLENBQUM7S0FDSDtDQUNGO0FBbEVELG9GQWtFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSVJvbGUgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB7IEdyYW50LCBQb2xpY3lTdGF0ZW1lbnQgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtaWFtJztcbmltcG9ydCB0eXBlIHsgSUNyZWRlbnRpYWxQcm92aWRlckNvbmZpZyB9IGZyb20gJy4vY3JlZGVudGlhbC1wcm92aWRlcic7XG5pbXBvcnQgeyBDcmVkZW50aWFsUHJvdmlkZXJUeXBlIH0gZnJvbSAnLi9jcmVkZW50aWFsLXByb3ZpZGVyJztcbmltcG9ydCB7IEdBVEVXQVlfT0FVVEhfUEVSTVMsIEdBVEVXQVlfV09SS0xPQURfSURFTlRJVFlfUEVSTVMsIEdBVEVXQVlfU0VDUkVUU19QRVJNUyB9IGZyb20gJy4uL3Blcm1zJztcblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9BdXRoXG4gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qKlxuICogT0F1dGggY29uZmlndXJhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9BdXRoQ29uZmlndXJhdGlvbiB7XG4gIC8qKlxuICAgKiBUaGUgT0F1dGggY3JlZGVudGlhbCBwcm92aWRlciBBUk4uXG4gICAqIFRoaXMgaXMgcmV0dXJuZWQgd2hlbiBjcmVhdGluZyB0aGUgT0F1dGggY3JlZGVudGlhbCBwcm92aWRlciB2aWEgQ29uc29sZSBvciBBUEkuXG4gICAqIEZvcm1hdDogYXJuOmF3czpiZWRyb2NrLWFnZW50Y29yZTpyZWdpb246YWNjb3VudDp0b2tlbi12YXVsdC9pZC9vYXV0aDJjcmVkZW50aWFscHJvdmlkZXIvbmFtZVxuICAgKiBSZXF1aXJlZDogWWVzXG4gICAqL1xuICByZWFkb25seSBwcm92aWRlckFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQVJOIG9mIHRoZSBTZWNyZXRzIE1hbmFnZXIgc2VjcmV0IGNvbnRhaW5pbmcgT0F1dGggY3JlZGVudGlhbHMgKGNsaWVudCBJRCBhbmQgc2VjcmV0KS5cbiAgICogVGhpcyBpcyByZXR1cm5lZCB3aGVuIGNyZWF0aW5nIHRoZSBPQXV0aCBjcmVkZW50aWFsIHByb3ZpZGVyIHZpYSBDb25zb2xlIG9yIEFQSS5cbiAgICogRm9ybWF0OiBhcm46YXdzOnNlY3JldHNtYW5hZ2VyOnJlZ2lvbjphY2NvdW50OnNlY3JldDpuYW1lXG4gICAqIFJlcXVpcmVkOiBZZXNcbiAgICovXG4gIHJlYWRvbmx5IHNlY3JldEFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgT0F1dGggc2NvcGVzIGZvciB0aGUgY3JlZGVudGlhbCBwcm92aWRlci5cbiAgICogVGhlc2Ugc2NvcGVzIGRlZmluZSB0aGUgbGV2ZWwgb2YgYWNjZXNzIHJlcXVlc3RlZCBmcm9tIHRoZSBPQXV0aCBwcm92aWRlci5cbiAgICpcbiAgICogQXJyYXkgTWVtYmVyczogTWluaW11bSBudW1iZXIgb2YgMCBpdGVtcy4gTWF4aW11bSBudW1iZXIgb2YgMTAwIGl0ZW1zLlxuICAgKiBMZW5ndGggQ29uc3RyYWludHM6IE1pbmltdW0gbGVuZ3RoIG9mIDEuIE1heGltdW0gbGVuZ3RoIG9mIDY0LlxuICAgKiBSZXF1aXJlZDogWWVzXG4gICAqL1xuICByZWFkb25seSBzY29wZXM6IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBUaGUgY3VzdG9tIHBhcmFtZXRlcnMgZm9yIHRoZSBPQXV0aCBjcmVkZW50aWFsIHByb3ZpZGVyLlxuICAgKiBUaGVzZSBwYXJhbWV0ZXJzIHByb3ZpZGUgYWRkaXRpb25hbCBjb25maWd1cmF0aW9uIGZvciB0aGUgT0F1dGggYXV0aGVudGljYXRpb24gcHJvY2Vzcy5cbiAgICpcbiAgICogTWFwIEVudHJpZXM6IE1heGltdW0gbnVtYmVyIG9mIDEwIGl0ZW1zLlxuICAgKiBLZXkgTGVuZ3RoIENvbnN0cmFpbnRzOiBNaW5pbXVtIGxlbmd0aCBvZiAxLiBNYXhpbXVtIGxlbmd0aCBvZiAyNTYuXG4gICAqIFZhbHVlIExlbmd0aCBDb25zdHJhaW50czogTWluaW11bSBsZW5ndGggb2YgMS4gTWF4aW11bSBsZW5ndGggb2YgMjA0OC5cbiAgICogUmVxdWlyZWQ6IE5vXG4gICAqL1xuICAvKipcbiAgICogQ3VzdG9tIHBhcmFtZXRlcnMgZm9yIHRoZSBPQXV0aCBmbG93XG4gICAqIEBkZWZhdWx0IC0gTm8gY3VzdG9tIHBhcmFtZXRlcnNcbiAgICovXG4gIHJlYWRvbmx5IGN1c3RvbVBhcmFtZXRlcnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufVxuXG4vKipcbiAqIE9BdXRoIGNyZWRlbnRpYWwgcHJvdmlkZXIgY29uZmlndXJhdGlvbiBpbXBsZW1lbnRhdGlvblxuICogQ2FuIGJlIHVzZWQgd2l0aCBPcGVuQVBJIHRhcmdldHNcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY2xhc3MgT0F1dGhDcmVkZW50aWFsUHJvdmlkZXJDb25maWd1cmF0aW9uIGltcGxlbWVudHMgSUNyZWRlbnRpYWxQcm92aWRlckNvbmZpZyB7XG4gIHB1YmxpYyByZWFkb25seSBjcmVkZW50aWFsUHJvdmlkZXJUeXBlID0gQ3JlZGVudGlhbFByb3ZpZGVyVHlwZS5PQVVUSDtcbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIE9BdXRoIHByb3ZpZGVyXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgcHJvdmlkZXJBcm46IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIFNlY3JldHMgTWFuYWdlciBzZWNyZXRcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzZWNyZXRBcm46IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBPQXV0aCBzY29wZXMgdG8gcmVxdWVzdFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHNjb3Blczogc3RyaW5nW107XG4gIC8qKlxuICAgKiBDdXN0b20gcGFyYW1ldGVycyBmb3IgdGhlIE9BdXRoIGZsb3dcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjdXN0b21QYXJhbWV0ZXJzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcblxuICBjb25zdHJ1Y3Rvcihjb25maWd1cmF0aW9uOiBPQXV0aENvbmZpZ3VyYXRpb24pIHtcbiAgICB0aGlzLnByb3ZpZGVyQXJuID0gY29uZmlndXJhdGlvbi5wcm92aWRlckFybjtcbiAgICB0aGlzLnNlY3JldEFybiA9IGNvbmZpZ3VyYXRpb24uc2VjcmV0QXJuO1xuICAgIHRoaXMuc2NvcGVzID0gY29uZmlndXJhdGlvbi5zY29wZXM7XG4gICAgdGhpcy5jdXN0b21QYXJhbWV0ZXJzID0gY29uZmlndXJhdGlvbi5jdXN0b21QYXJhbWV0ZXJzO1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50IHRoZSBuZWVkZWQgcGVybWlzc2lvbnMgdG8gdGhlIHJvbGUgZm9yIE9BdXRoIGF1dGhlbnRpY2F0aW9uXG4gICAqL1xuICBncmFudE5lZWRlZFBlcm1pc3Npb25zVG9Sb2xlKHJvbGU6IElSb2xlKTogR3JhbnQgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHN0YXRlbWVudHMgPSBbXG4gICAgICBuZXcgUG9saWN5U3RhdGVtZW50KHtcbiAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgIC4uLkdBVEVXQVlfT0FVVEhfUEVSTVMsXG4gICAgICAgICAgLi4uR0FURVdBWV9XT1JLTE9BRF9JREVOVElUWV9QRVJNUyxcbiAgICAgICAgXSxcbiAgICAgICAgcmVzb3VyY2VzOiBbdGhpcy5wcm92aWRlckFybl0sXG4gICAgICB9KSxcbiAgICAgIG5ldyBQb2xpY3lTdGF0ZW1lbnQoe1xuICAgICAgICBhY3Rpb25zOiBHQVRFV0FZX1NFQ1JFVFNfUEVSTVMsXG4gICAgICAgIHJlc291cmNlczogW3RoaXMuc2VjcmV0QXJuXSxcbiAgICAgIH0pLFxuICAgIF07XG5cbiAgICByZXR1cm4gR3JhbnQuYWRkVG9QcmluY2lwYWwoe1xuICAgICAgZ3JhbnRlZTogcm9sZSxcbiAgICAgIGFjdGlvbnM6IHN0YXRlbWVudHMuZmxhdE1hcChzID0+IHMuYWN0aW9ucyksXG4gICAgICByZXNvdXJjZUFybnM6IHN0YXRlbWVudHMuZmxhdE1hcChzID0+IHMucmVzb3VyY2VzKSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIF9yZW5kZXIoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgY3JlZGVudGlhbFByb3ZpZGVyVHlwZTogdGhpcy5jcmVkZW50aWFsUHJvdmlkZXJUeXBlLFxuICAgICAgY3JlZGVudGlhbFByb3ZpZGVyOiB7XG4gICAgICAgIG9hdXRoQ3JlZGVudGlhbFByb3ZpZGVyOiB7XG4gICAgICAgICAgcHJvdmlkZXJBcm46IHRoaXMucHJvdmlkZXJBcm4sXG4gICAgICAgICAgc2NvcGVzOiB0aGlzLnNjb3BlcyxcbiAgICAgICAgICBjdXN0b21QYXJhbWV0ZXJzOiB0aGlzLmN1c3RvbVBhcmFtZXRlcnMsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
126
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2F1dGguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJvYXV0aC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2Q0FBbUU7QUFDbkUsaURBQTRDO0FBRTVDLCtEQUErRDtBQUUvRCxvQ0FBZ0o7QUFvRGhKOzs7O0dBSUc7QUFDSCxNQUFhLG9DQUFvQztJQUMvQixzQkFBc0IsR0FBRyw0Q0FBc0IsQ0FBQyxLQUFLLENBQUM7SUFDdEU7O09BRUc7SUFDYSxXQUFXLENBQVM7SUFDcEM7O09BRUc7SUFDYSxTQUFTLENBQVM7SUFDbEM7O09BRUc7SUFDYSxNQUFNLENBQVc7SUFDakM7O09BRUc7SUFDYSxnQkFBZ0IsQ0FBMEI7SUFFMUQsWUFBWSxhQUFpQztRQUMzQyxJQUFJLENBQUMsV0FBVyxHQUFHLGFBQWEsQ0FBQyxXQUFXLENBQUM7UUFDN0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQztRQUNuQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsYUFBYSxDQUFDLGdCQUFnQixDQUFDO0tBQ3hEO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNILDRCQUE0QixDQUFDLE9BQWlCO1FBQzVDLE1BQU0sS0FBSyxHQUFHLG1CQUFLLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hDLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7WUFDbkMsT0FBTyxFQUFFLG1CQUFtQjtZQUM1QixRQUFRLEVBQUUsNkJBQTZCO1lBQ3ZDLFlBQVksRUFBRSxTQUFTO1lBQ3ZCLFNBQVMsRUFBRSx1QkFBUyxDQUFDLG1CQUFtQjtTQUN6QyxDQUFDLENBQUM7UUFDSCxNQUFNLG1CQUFtQixHQUFHLEdBQUcsWUFBWSxzQkFBc0IsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDO1FBQ2xGLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUM7WUFDcEMsT0FBTyxFQUFFLG1CQUFtQjtZQUM1QixRQUFRLEVBQUUsYUFBYTtZQUN2QixZQUFZLEVBQUUsU0FBUztZQUN2QixTQUFTLEVBQUUsdUJBQVMsQ0FBQyxtQkFBbUI7U0FDekMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLFlBQVksRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1FBRXZHLE1BQU0scUJBQXFCLEdBQUcsZUFBSyxDQUFDLGNBQWMsQ0FBQztZQUNqRCxPQUFPLEVBQUUsT0FBTyxDQUFDLElBQUk7WUFDckIsT0FBTyxFQUFFLENBQUMsR0FBRyw2Q0FBcUMsQ0FBQztZQUNuRCxZQUFZLEVBQUUsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLENBQUM7WUFDakQsS0FBSyxFQUFFLE9BQU87U0FDZixDQUFDLENBQUM7UUFDSCxNQUFNLGlCQUFpQixHQUFHLGVBQUssQ0FBQyxjQUFjLENBQUM7WUFDN0MsT0FBTyxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ3JCLE9BQU8sRUFBRSxDQUFDLEdBQUcseUNBQWlDLENBQUM7WUFDL0MsWUFBWSxFQUFFLHlCQUF5QjtZQUN2QyxLQUFLLEVBQUUsT0FBTztTQUNmLENBQUMsQ0FBQztRQUNILE1BQU0sVUFBVSxHQUFHLGVBQUssQ0FBQyxjQUFjLENBQUM7WUFDdEMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ3JCLE9BQU8sRUFBRSxDQUFDLEdBQUcsMkJBQW1CLENBQUM7WUFDakMsWUFBWSxFQUFFLHlCQUF5QjtZQUN2QyxLQUFLLEVBQUUsT0FBTztTQUNmLENBQUMsQ0FBQztRQUNILDhFQUE4RTtRQUM5RSw2RUFBNkU7UUFDN0UsK0VBQStFO1FBQy9FLHVFQUF1RTtRQUN2RSxtQ0FBbUM7UUFDbkMsSUFBSSxrQkFBNEIsQ0FBQztRQUNqQyxJQUFJLG1CQUFLLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLHlCQUFXLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FDbEMsNkRBQTZELEVBQzdELGlIQUFpSDtnQkFDakgsZ0dBQWdHLENBQ2pHLENBQUM7WUFDRixrQkFBa0IsR0FBRyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7b0JBQ3BDLE9BQU8sRUFBRSxnQkFBZ0I7b0JBQ3pCLFFBQVEsRUFBRSxRQUFRO29CQUNsQixZQUFZLEVBQUUsOEJBQThCO29CQUM1QyxTQUFTLEVBQUUsdUJBQVMsQ0FBQyxtQkFBbUI7aUJBQ3pDLENBQUMsQ0FBQyxDQUFDO1FBQ04sQ0FBQzthQUFNLENBQUM7WUFDTixrQkFBa0IsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN4QyxDQUFDO1FBQ0QsTUFBTSxXQUFXLEdBQUcsZUFBSyxDQUFDLGNBQWMsQ0FBQztZQUN2QyxPQUFPLEVBQUUsT0FBTyxDQUFDLElBQUk7WUFDckIsT0FBTyxFQUFFLENBQUMsR0FBRyw2QkFBcUIsQ0FBQztZQUNuQyxZQUFZLEVBQUUsa0JBQWtCO1lBQ2hDLEtBQUssRUFBRSxPQUFPO1NBQ2YsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0tBQ2xHO0lBRUQ7O09BRUc7SUFDSCxPQUFPO1FBQ0wsT0FBTztZQUNMLHNCQUFzQixFQUFFLElBQUksQ0FBQyxzQkFBc0I7WUFDbkQsa0JBQWtCLEVBQUU7Z0JBQ2xCLHVCQUF1QixFQUFFO29CQUN2QixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7b0JBQzdCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtvQkFDbkIsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLGdCQUFnQjtpQkFDeEM7YUFDRjtTQUNGLENBQUM7S0FDSDtDQUNGO0FBckhELG9GQXFIQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFubm90YXRpb25zLCBBcm5Gb3JtYXQsIFN0YWNrLCBUb2tlbiB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCB7IEdyYW50IH0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgdHlwZSB7IElDcmVkZW50aWFsUHJvdmlkZXJDb25maWcgfSBmcm9tICcuL2NyZWRlbnRpYWwtcHJvdmlkZXInO1xuaW1wb3J0IHsgQ3JlZGVudGlhbFByb3ZpZGVyVHlwZSB9IGZyb20gJy4vY3JlZGVudGlhbC1wcm92aWRlcic7XG5pbXBvcnQgdHlwZSB7IElHYXRld2F5IH0gZnJvbSAnLi4vZ2F0ZXdheS1iYXNlJztcbmltcG9ydCB7IEdBVEVXQVlfT0FVVEhfUEVSTVMsIEdBVEVXQVlfT0FVVEhfQ09NUExFVEVfQVVUSF9QRVJNUywgR0FURVdBWV9XT1JLTE9BRF9JREVOVElUWV9PQVVUSF9QRVJNUywgR0FURVdBWV9TRUNSRVRTX1BFUk1TIH0gZnJvbSAnLi4vcGVybXMnO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT0F1dGhcbiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLyoqXG4gKiBPQXV0aCBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT0F1dGhDb25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIFRoZSBPQXV0aCBjcmVkZW50aWFsIHByb3ZpZGVyIEFSTi5cbiAgICogVGhpcyBpcyByZXR1cm5lZCB3aGVuIGNyZWF0aW5nIHRoZSBPQXV0aCBjcmVkZW50aWFsIHByb3ZpZGVyIHZpYSBDb25zb2xlIG9yIEFQSS5cbiAgICogRm9ybWF0OiBhcm46YXdzOmJlZHJvY2stYWdlbnRjb3JlOnJlZ2lvbjphY2NvdW50OnRva2VuLXZhdWx0L2lkL29hdXRoMmNyZWRlbnRpYWxwcm92aWRlci9uYW1lXG4gICAqIFJlcXVpcmVkOiBZZXNcbiAgICovXG4gIHJlYWRvbmx5IHByb3ZpZGVyQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIFNlY3JldHMgTWFuYWdlciBzZWNyZXQgY29udGFpbmluZyBPQXV0aCBjcmVkZW50aWFscyAoY2xpZW50IElEIGFuZCBzZWNyZXQpLlxuICAgKiBUaGlzIGlzIHJldHVybmVkIHdoZW4gY3JlYXRpbmcgdGhlIE9BdXRoIGNyZWRlbnRpYWwgcHJvdmlkZXIgdmlhIENvbnNvbGUgb3IgQVBJLlxuICAgKiBGb3JtYXQ6IGFybjphd3M6c2VjcmV0c21hbmFnZXI6cmVnaW9uOmFjY291bnQ6c2VjcmV0Om5hbWVcbiAgICogUmVxdWlyZWQ6IFllc1xuICAgKi9cbiAgcmVhZG9ubHkgc2VjcmV0QXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBPQXV0aCBzY29wZXMgZm9yIHRoZSBjcmVkZW50aWFsIHByb3ZpZGVyLlxuICAgKiBUaGVzZSBzY29wZXMgZGVmaW5lIHRoZSBsZXZlbCBvZiBhY2Nlc3MgcmVxdWVzdGVkIGZyb20gdGhlIE9BdXRoIHByb3ZpZGVyLlxuICAgKlxuICAgKiBBcnJheSBNZW1iZXJzOiBNaW5pbXVtIG51bWJlciBvZiAwIGl0ZW1zLiBNYXhpbXVtIG51bWJlciBvZiAxMDAgaXRlbXMuXG4gICAqIExlbmd0aCBDb25zdHJhaW50czogTWluaW11bSBsZW5ndGggb2YgMS4gTWF4aW11bSBsZW5ndGggb2YgNjQuXG4gICAqIFJlcXVpcmVkOiBZZXNcbiAgICovXG4gIHJlYWRvbmx5IHNjb3Blczogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBjdXN0b20gcGFyYW1ldGVycyBmb3IgdGhlIE9BdXRoIGNyZWRlbnRpYWwgcHJvdmlkZXIuXG4gICAqIFRoZXNlIHBhcmFtZXRlcnMgcHJvdmlkZSBhZGRpdGlvbmFsIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBPQXV0aCBhdXRoZW50aWNhdGlvbiBwcm9jZXNzLlxuICAgKlxuICAgKiBNYXAgRW50cmllczogTWF4aW11bSBudW1iZXIgb2YgMTAgaXRlbXMuXG4gICAqIEtleSBMZW5ndGggQ29uc3RyYWludHM6IE1pbmltdW0gbGVuZ3RoIG9mIDEuIE1heGltdW0gbGVuZ3RoIG9mIDI1Ni5cbiAgICogVmFsdWUgTGVuZ3RoIENvbnN0cmFpbnRzOiBNaW5pbXVtIGxlbmd0aCBvZiAxLiBNYXhpbXVtIGxlbmd0aCBvZiAyMDQ4LlxuICAgKiBSZXF1aXJlZDogTm9cbiAgICovXG4gIC8qKlxuICAgKiBDdXN0b20gcGFyYW1ldGVycyBmb3IgdGhlIE9BdXRoIGZsb3dcbiAgICogQGRlZmF1bHQgLSBObyBjdXN0b20gcGFyYW1ldGVyc1xuICAgKi9cbiAgcmVhZG9ubHkgY3VzdG9tUGFyYW1ldGVycz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59XG5cbi8qKlxuICogT0F1dGggY3JlZGVudGlhbCBwcm92aWRlciBjb25maWd1cmF0aW9uIGltcGxlbWVudGF0aW9uXG4gKiBDYW4gYmUgdXNlZCB3aXRoIE9wZW5BUEkgdGFyZ2V0c1xuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjbGFzcyBPQXV0aENyZWRlbnRpYWxQcm92aWRlckNvbmZpZ3VyYXRpb24gaW1wbGVtZW50cyBJQ3JlZGVudGlhbFByb3ZpZGVyQ29uZmlnIHtcbiAgcHVibGljIHJlYWRvbmx5IGNyZWRlbnRpYWxQcm92aWRlclR5cGUgPSBDcmVkZW50aWFsUHJvdmlkZXJUeXBlLk9BVVRIO1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgT0F1dGggcHJvdmlkZXJcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBwcm92aWRlckFybjogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIEFSTiBvZiB0aGUgU2VjcmV0cyBNYW5hZ2VyIHNlY3JldFxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IHNlY3JldEFybjogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIE9BdXRoIHNjb3BlcyB0byByZXF1ZXN0XG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc2NvcGVzOiBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIEN1c3RvbSBwYXJhbWV0ZXJzIGZvciB0aGUgT0F1dGggZmxvd1xuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGN1c3RvbVBhcmFtZXRlcnM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZ3VyYXRpb246IE9BdXRoQ29uZmlndXJhdGlvbikge1xuICAgIHRoaXMucHJvdmlkZXJBcm4gPSBjb25maWd1cmF0aW9uLnByb3ZpZGVyQXJuO1xuICAgIHRoaXMuc2VjcmV0QXJuID0gY29uZmlndXJhdGlvbi5zZWNyZXRBcm47XG4gICAgdGhpcy5zY29wZXMgPSBjb25maWd1cmF0aW9uLnNjb3BlcztcbiAgICB0aGlzLmN1c3RvbVBhcmFtZXRlcnMgPSBjb25maWd1cmF0aW9uLmN1c3RvbVBhcmFtZXRlcnM7XG4gIH1cblxuICAvKipcbiAgICogR3JhbnQgdGhlIG5lZWRlZCBwZXJtaXNzaW9ucyB0byB0aGUgZ2F0ZXdheSByb2xlIGZvciBPQXV0aCBhdXRoZW50aWNhdGlvbi5cbiAgICpcbiAgICogUHJvZHVjZXMgZm91ciBzY29wZWQgSUFNIHN0YXRlbWVudHMgbWF0Y2hpbmcgdGhlIGNvbnNvbGUtZ2VuZXJhdGVkIHBvbGljeTpcbiAgICogMS4gYEdldFdvcmtsb2FkQWNjZXNzVG9rZW5bRm9ySldUfEZvclVzZXJJZF1gIG9uIHRoZSB3b3JrbG9hZCBpZGVudGl0eSBkaXJlY3RvcnkgQVJOc1xuICAgKiAyLiBgQ29tcGxldGVSZXNvdXJjZVRva2VuQXV0aGAgb24gdGhlIHRva2VuIHZhdWx0LCBjcmVkZW50aWFsIHByb3ZpZGVyLCBkaXJlY3RvcnksIGFuZCBpZGVudGl0eSBBUk5zXG4gICAqIDMuIGBHZXRSZXNvdXJjZU9hdXRoMlRva2VuYCBvbiB0aGUgdG9rZW4gdmF1bHQsIGNyZWRlbnRpYWwgcHJvdmlkZXIsIGRpcmVjdG9yeSwgYW5kIGlkZW50aXR5IEFSTnNcbiAgICogNC4gYHNlY3JldHNtYW5hZ2VyOkdldFNlY3JldFZhbHVlYCBvbiB0aGUgc3BlY2lmaWMgY3JlZGVudGlhbCBzZWNyZXQgQVJOXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2JlZHJvY2stYWdlbnRjb3JlL2xhdGVzdC9kZXZndWlkZS9nYXRld2F5LW91dGJvdW5kLWF1dGguaHRtbFxuICAgKi9cbiAgZ3JhbnROZWVkZWRQZXJtaXNzaW9uc1RvUm9sZShnYXRld2F5OiBJR2F0ZXdheSk6IEdyYW50IHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBzdGFjayA9IFN0YWNrLm9mKGdhdGV3YXkpO1xuICAgIGNvbnN0IGRpcmVjdG9yeUFybiA9IHN0YWNrLmZvcm1hdEFybih7XG4gICAgICBzZXJ2aWNlOiAnYmVkcm9jay1hZ2VudGNvcmUnLFxuICAgICAgcmVzb3VyY2U6ICd3b3JrbG9hZC1pZGVudGl0eS1kaXJlY3RvcnknLFxuICAgICAgcmVzb3VyY2VOYW1lOiAnZGVmYXVsdCcsXG4gICAgICBhcm5Gb3JtYXQ6IEFybkZvcm1hdC5TTEFTSF9SRVNPVVJDRV9OQU1FLFxuICAgIH0pO1xuICAgIGNvbnN0IGlkZW50aXR5V2lsZGNhcmRBcm4gPSBgJHtkaXJlY3RvcnlBcm59L3dvcmtsb2FkLWlkZW50aXR5LyR7Z2F0ZXdheS5uYW1lfS0qYDtcbiAgICBjb25zdCB0b2tlblZhdWx0QXJuID0gc3RhY2suZm9ybWF0QXJuKHtcbiAgICAgIHNlcnZpY2U6ICdiZWRyb2NrLWFnZW50Y29yZScsXG4gICAgICByZXNvdXJjZTogJ3Rva2VuLXZhdWx0JyxcbiAgICAgIHJlc291cmNlTmFtZTogJ2RlZmF1bHQnLFxuICAgICAgYXJuRm9ybWF0OiBBcm5Gb3JtYXQuU0xBU0hfUkVTT1VSQ0VfTkFNRSxcbiAgICB9KTtcbiAgICBjb25zdCBjcmVkZW50aWFsQW5kSWRlbnRpdHlBcm5zID0gW3Rva2VuVmF1bHRBcm4sIHRoaXMucHJvdmlkZXJBcm4sIGRpcmVjdG9yeUFybiwgaWRlbnRpdHlXaWxkY2FyZEFybl07XG5cbiAgICBjb25zdCB3b3JrbG9hZElkZW50aXR5R3JhbnQgPSBHcmFudC5hZGRUb1ByaW5jaXBhbCh7XG4gICAgICBncmFudGVlOiBnYXRld2F5LnJvbGUsXG4gICAgICBhY3Rpb25zOiBbLi4uR0FURVdBWV9XT1JLTE9BRF9JREVOVElUWV9PQVVUSF9QRVJNU10sXG4gICAgICByZXNvdXJjZUFybnM6IFtkaXJlY3RvcnlBcm4sIGlkZW50aXR5V2lsZGNhcmRBcm5dLFxuICAgICAgc2NvcGU6IGdhdGV3YXksXG4gICAgfSk7XG4gICAgY29uc3QgY29tcGxldGVBdXRoR3JhbnQgPSBHcmFudC5hZGRUb1ByaW5jaXBhbCh7XG4gICAgICBncmFudGVlOiBnYXRld2F5LnJvbGUsXG4gICAgICBhY3Rpb25zOiBbLi4uR0FURVdBWV9PQVVUSF9DT01QTEVURV9BVVRIX1BFUk1TXSxcbiAgICAgIHJlc291cmNlQXJuczogY3JlZGVudGlhbEFuZElkZW50aXR5QXJucyxcbiAgICAgIHNjb3BlOiBnYXRld2F5LFxuICAgIH0pO1xuICAgIGNvbnN0IG9hdXRoR3JhbnQgPSBHcmFudC5hZGRUb1ByaW5jaXBhbCh7XG4gICAgICBncmFudGVlOiBnYXRld2F5LnJvbGUsXG4gICAgICBhY3Rpb25zOiBbLi4uR0FURVdBWV9PQVVUSF9QRVJNU10sXG4gICAgICByZXNvdXJjZUFybnM6IGNyZWRlbnRpYWxBbmRJZGVudGl0eUFybnMsXG4gICAgICBzY29wZTogZ2F0ZXdheSxcbiAgICB9KTtcbiAgICAvLyBUaGUgQ0ZOIGF0dHJpYnV0ZSBDbGllbnRTZWNyZXRBcm4gaXMgYW4gb2JqZWN0IHsgU2VjcmV0QXJuOiBzdHJpbmcgfSwgbm90IGFcbiAgICAvLyBwbGFpbiBzdHJpbmcsIHNvIHRoZSBUb2tlbiByZXNvbHZlcyB0byBhbiBvYmplY3Qgd2hpY2ggY2Fubm90IGJlIHBsYWNlZCBpblxuICAgIC8vIElBTSBSZXNvdXJjZSBmaWVsZHMuIFdoZW4gdGhlIGNhbGxlciBzdXBwbGllcyBhIGxpdGVyYWwgQVJOIHN0cmluZyAoZS5nLiB2aWFcbiAgICAvLyBmcm9tT2F1dGhJZGVudGl0eUFybikgd2UgY2FuIHNjb3BlIHRpZ2h0bHk7IG90aGVyd2lzZSBmYWxsIGJhY2sgdG8gYVxuICAgIC8vIHNlcnZpY2UtbWFuYWdlZCBwcmVmaXggd2lsZGNhcmQuXG4gICAgbGV0IHNlY3JldFJlc291cmNlQXJuczogc3RyaW5nW107XG4gICAgaWYgKFRva2VuLmlzVW5yZXNvbHZlZCh0aGlzLnNlY3JldEFybikpIHtcbiAgICAgIEFubm90YXRpb25zLm9mKGdhdGV3YXkpLmFkZFdhcm5pbmdWMihcbiAgICAgICAgJ0Bhd3MtY2RrL2F3cy1iZWRyb2NrLWFnZW50Y29yZS1hbHBoYTp3aWxkY2FyZFNlY3JldEFybkdyYW50JyxcbiAgICAgICAgJ1RoZSBzZWNyZXQgQVJOIGlzIGFuIHVucmVzb2x2ZWQgdG9rZW4uIEdyYW50aW5nIGFjY2VzcyB1c2luZyBhIHdpbGRjYXJkIHByZWZpeCAoYmVkcm9jay1hZ2VudGNvcmUtaWRlbnRpdHkhKikuICcgK1xuICAgICAgICAnVG8gc2NvcGUgdGhlIGdyYW50IHRvIGEgc3BlY2lmaWMgc2VjcmV0LCBzdXBwbHkgYSBsaXRlcmFsIHNlY3JldCBBUk4gdmlhIGZyb21PYXV0aElkZW50aXR5QXJuLicsXG4gICAgICApO1xuICAgICAgc2VjcmV0UmVzb3VyY2VBcm5zID0gW3N0YWNrLmZvcm1hdEFybih7XG4gICAgICAgIHNlcnZpY2U6ICdzZWNyZXRzbWFuYWdlcicsXG4gICAgICAgIHJlc291cmNlOiAnc2VjcmV0JyxcbiAgICAgICAgcmVzb3VyY2VOYW1lOiAnYmVkcm9jay1hZ2VudGNvcmUtaWRlbnRpdHkhKicsXG4gICAgICAgIGFybkZvcm1hdDogQXJuRm9ybWF0LkNPTE9OX1JFU09VUkNFX05BTUUsXG4gICAgICB9KV07XG4gICAgfSBlbHNlIHtcbiAgICAgIHNlY3JldFJlc291cmNlQXJucyA9IFt0aGlzLnNlY3JldEFybl07XG4gICAgfVxuICAgIGNvbnN0IHNlY3JldEdyYW50ID0gR3JhbnQuYWRkVG9QcmluY2lwYWwoe1xuICAgICAgZ3JhbnRlZTogZ2F0ZXdheS5yb2xlLFxuICAgICAgYWN0aW9uczogWy4uLkdBVEVXQVlfU0VDUkVUU19QRVJNU10sXG4gICAgICByZXNvdXJjZUFybnM6IHNlY3JldFJlc291cmNlQXJucyxcbiAgICAgIHNjb3BlOiBnYXRld2F5LFxuICAgIH0pO1xuICAgIHJldHVybiB3b3JrbG9hZElkZW50aXR5R3JhbnQuY29tYmluZShjb21wbGV0ZUF1dGhHcmFudCkuY29tYmluZShvYXV0aEdyYW50KS5jb21iaW5lKHNlY3JldEdyYW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIF9yZW5kZXIoKTogYW55IHtcbiAgICByZXR1cm4ge1xuICAgICAgY3JlZGVudGlhbFByb3ZpZGVyVHlwZTogdGhpcy5jcmVkZW50aWFsUHJvdmlkZXJUeXBlLFxuICAgICAgY3JlZGVudGlhbFByb3ZpZGVyOiB7XG4gICAgICAgIG9hdXRoQ3JlZGVudGlhbFByb3ZpZGVyOiB7XG4gICAgICAgICAgcHJvdmlkZXJBcm46IHRoaXMucHJvdmlkZXJBcm4sXG4gICAgICAgICAgc2NvcGVzOiB0aGlzLnNjb3BlcyxcbiAgICAgICAgICBjdXN0b21QYXJhbWV0ZXJzOiB0aGlzLmN1c3RvbVBhcmFtZXRlcnMsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -20,15 +20,25 @@ export declare const GATEWAY_KMS_KEY_PERMS: string[];
20
20
  */
21
21
  export declare const GATEWAY_ASSUME_ROLE: string[];
22
22
  /**
23
- * Outbound auth - Workload identity permissions
23
+ * Outbound auth - Workload identity permissions (API key targets)
24
24
  * Used to obtain access tokens for workload identity
25
25
  */
26
26
  export declare const GATEWAY_WORKLOAD_IDENTITY_PERMS: string[];
27
+ /**
28
+ * Outbound auth - Workload identity permissions (OAuth targets)
29
+ * OAuth flows additionally require JWT-based and user-ID-based token exchange
30
+ */
31
+ export declare const GATEWAY_WORKLOAD_IDENTITY_OAUTH_PERMS: string[];
27
32
  /**
28
33
  * Outbound auth - OAuth permissions
29
- * Used to obtain OAuth tokens for target authentication
34
+ * Used to obtain OAuth tokens and complete token auth for target authentication
30
35
  */
31
36
  export declare const GATEWAY_OAUTH_PERMS: string[];
37
+ /**
38
+ * Outbound auth - OAuth complete token auth permissions
39
+ * Used to complete the OAuth token authorization flow
40
+ */
41
+ export declare const GATEWAY_OAUTH_COMPLETE_AUTH_PERMS: string[];
32
42
  /**
33
43
  * Outbound auth - API Key permissions
34
44
  * Used to retrieve API keys for target authentication
@@ -36,7 +46,9 @@ export declare const GATEWAY_OAUTH_PERMS: string[];
36
46
  export declare const GATEWAY_API_KEY_PERMS: string[];
37
47
  /**
38
48
  * Secrets Manager permissions
39
- * Required for storing and retrieving API keys and OAuth credentials
49
+ * Required for reading credential secrets backing Token Vault providers.
50
+ *
51
+ * @see https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/gateway-outbound-auth.html
40
52
  */
41
53
  export declare const GATEWAY_SECRETS_PERMS: string[];
42
54
  /******************************************************************************
@@ -3,7 +3,7 @@
3
3
  * Data Plane Permissions
4
4
  *****************************************************************************/
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.GATEWAY_SYNC_PERMS = exports.GATEWAY_MANAGE_PERMS = exports.GATEWAY_DELETE_PERMS = exports.GATEWAY_UPDATE_PERMS = exports.GATEWAY_CREATE_PERMS = exports.GATEWAY_LIST_PERMS = exports.GATEWAY_GET_PERMS = exports.GATEWAY_SECRETS_PERMS = exports.GATEWAY_API_KEY_PERMS = exports.GATEWAY_OAUTH_PERMS = exports.GATEWAY_WORKLOAD_IDENTITY_PERMS = exports.GATEWAY_ASSUME_ROLE = exports.GATEWAY_KMS_KEY_PERMS = exports.GATEWAY_INVOKE_PERMS = void 0;
6
+ exports.GATEWAY_SYNC_PERMS = exports.GATEWAY_MANAGE_PERMS = exports.GATEWAY_DELETE_PERMS = exports.GATEWAY_UPDATE_PERMS = exports.GATEWAY_CREATE_PERMS = exports.GATEWAY_LIST_PERMS = exports.GATEWAY_GET_PERMS = exports.GATEWAY_SECRETS_PERMS = exports.GATEWAY_API_KEY_PERMS = exports.GATEWAY_OAUTH_COMPLETE_AUTH_PERMS = exports.GATEWAY_OAUTH_PERMS = exports.GATEWAY_WORKLOAD_IDENTITY_OAUTH_PERMS = exports.GATEWAY_WORKLOAD_IDENTITY_PERMS = exports.GATEWAY_ASSUME_ROLE = exports.GATEWAY_KMS_KEY_PERMS = exports.GATEWAY_INVOKE_PERMS = void 0;
7
7
  /**
8
8
  * Permissions to invoke the gateway
9
9
  * Used by agents or other services that need to call the gateway
@@ -34,19 +34,35 @@ exports.GATEWAY_KMS_KEY_PERMS = [
34
34
  */
35
35
  exports.GATEWAY_ASSUME_ROLE = ['sts:AssumeRole'];
36
36
  /**
37
- * Outbound auth - Workload identity permissions
37
+ * Outbound auth - Workload identity permissions (API key targets)
38
38
  * Used to obtain access tokens for workload identity
39
39
  */
40
40
  exports.GATEWAY_WORKLOAD_IDENTITY_PERMS = [
41
41
  'bedrock-agentcore:GetWorkloadAccessToken',
42
42
  ];
43
+ /**
44
+ * Outbound auth - Workload identity permissions (OAuth targets)
45
+ * OAuth flows additionally require JWT-based and user-ID-based token exchange
46
+ */
47
+ exports.GATEWAY_WORKLOAD_IDENTITY_OAUTH_PERMS = [
48
+ 'bedrock-agentcore:GetWorkloadAccessToken',
49
+ 'bedrock-agentcore:GetWorkloadAccessTokenForJWT',
50
+ 'bedrock-agentcore:GetWorkloadAccessTokenForUserId',
51
+ ];
43
52
  /**
44
53
  * Outbound auth - OAuth permissions
45
- * Used to obtain OAuth tokens for target authentication
54
+ * Used to obtain OAuth tokens and complete token auth for target authentication
46
55
  */
47
56
  exports.GATEWAY_OAUTH_PERMS = [
48
57
  'bedrock-agentcore:GetResourceOauth2Token',
49
58
  ];
59
+ /**
60
+ * Outbound auth - OAuth complete token auth permissions
61
+ * Used to complete the OAuth token authorization flow
62
+ */
63
+ exports.GATEWAY_OAUTH_COMPLETE_AUTH_PERMS = [
64
+ 'bedrock-agentcore:CompleteResourceTokenAuth',
65
+ ];
50
66
  /**
51
67
  * Outbound auth - API Key permissions
52
68
  * Used to retrieve API keys for target authentication
@@ -56,12 +72,11 @@ exports.GATEWAY_API_KEY_PERMS = [
56
72
  ];
57
73
  /**
58
74
  * Secrets Manager permissions
59
- * Required for storing and retrieving API keys and OAuth credentials
75
+ * Required for reading credential secrets backing Token Vault providers.
76
+ *
77
+ * @see https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/gateway-outbound-auth.html
60
78
  */
61
- exports.GATEWAY_SECRETS_PERMS = [
62
- 'secretsmanager:GetSecretValue',
63
- 'secretsmanager:DescribeSecret',
64
- ];
79
+ exports.GATEWAY_SECRETS_PERMS = ['secretsmanager:GetSecretValue'];
65
80
  /******************************************************************************
66
81
  * Control Plane Permissions
67
82
  *****************************************************************************/
@@ -106,4 +121,4 @@ exports.GATEWAY_MANAGE_PERMS = [...new Set([...exports.GATEWAY_CREATE_PERMS, ...
106
121
  * Used to refresh tool catalogs when MCP server tools change
107
122
  */
108
123
  exports.GATEWAY_SYNC_PERMS = ['bedrock-agentcore:SynchronizeGatewayTargets'];
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJwZXJtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7O2lGQUVpRjs7O0FBRWpGOzs7R0FHRztBQUNVLFFBQUEsb0JBQW9CLEdBQUcsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO0FBRXhFOztpRkFFaUY7QUFFakY7OztHQUdHO0FBQ1UsUUFBQSxxQkFBcUIsR0FBRztJQUNuQyxxQkFBcUI7SUFDckIscUNBQXFDO0lBQ3JDLHlCQUF5QjtJQUN6Qix5Q0FBeUM7SUFDekMsYUFBYTtJQUNiLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQixpQkFBaUI7Q0FDbEIsQ0FBQztBQUVGOzs7R0FHRztBQUNVLFFBQUEsbUJBQW1CLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0FBRXREOzs7R0FHRztBQUNVLFFBQUEsK0JBQStCLEdBQUc7SUFDN0MsMENBQTBDO0NBQzNDLENBQUM7QUFFRjs7O0dBR0c7QUFDVSxRQUFBLG1CQUFtQixHQUFHO0lBQ2pDLDBDQUEwQztDQUMzQyxDQUFDO0FBRUY7OztHQUdHO0FBQ1UsUUFBQSxxQkFBcUIsR0FBRztJQUNuQyxxQ0FBcUM7Q0FDdEMsQ0FBQztBQUVGOzs7R0FHRztBQUNVLFFBQUEscUJBQXFCLEdBQUc7SUFDbkMsK0JBQStCO0lBQy9CLCtCQUErQjtDQUNoQyxDQUFDO0FBRUY7O2lGQUVpRjtBQUVqRjs7R0FFRztBQUNVLFFBQUEsaUJBQWlCLEdBQUcsQ0FBQyxvQ0FBb0MsRUFBRSw4QkFBOEIsQ0FBQyxDQUFDO0FBRXhHOztHQUVHO0FBQ1UsUUFBQSxrQkFBa0IsR0FBRztJQUNoQyxnQ0FBZ0M7SUFDaEMsc0NBQXNDO0NBQ3ZDLENBQUM7QUFFRjs7R0FFRztBQUNVLFFBQUEsb0JBQW9CLEdBQUc7SUFDbEMsaUNBQWlDO0lBQ2pDLHVDQUF1QztDQUN4QyxDQUFDO0FBRUY7O0dBRUc7QUFDVSxRQUFBLG9CQUFvQixHQUFHO0lBQ2xDLGlDQUFpQztJQUNqQyx1Q0FBdUM7Q0FDeEMsQ0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSxvQkFBb0IsR0FBRztJQUNsQyxpQ0FBaUM7SUFDakMsdUNBQXVDO0NBQ3hDLENBQUM7QUFFRjs7R0FFRztBQUNVLFFBQUEsb0JBQW9CLEdBQUcsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsR0FBRyw0QkFBb0IsRUFBRSxHQUFHLDRCQUFvQixFQUFFLEdBQUcsNEJBQW9CLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFFOUg7OztHQUdHO0FBQ1UsUUFBQSxrQkFBa0IsR0FBRyxDQUFDLDZDQUE2QyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqIERhdGEgUGxhbmUgUGVybWlzc2lvbnNcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKipcbiAqIFBlcm1pc3Npb25zIHRvIGludm9rZSB0aGUgZ2F0ZXdheVxuICogVXNlZCBieSBhZ2VudHMgb3Igb3RoZXIgc2VydmljZXMgdGhhdCBuZWVkIHRvIGNhbGwgdGhlIGdhdGV3YXlcbiAqL1xuZXhwb3J0IGNvbnN0IEdBVEVXQVlfSU5WT0tFX1BFUk1TID0gWydiZWRyb2NrLWFnZW50Y29yZTpJbnZva2VHYXRld2F5J107XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogRXhlY3V0aW9uIFJvbGUgUGVybWlzc2lvbnNcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKipcbiAqIEtNUyBwZXJtaXNzaW9ucyBmb3IgZW5jcnlwdGlvblxuICogUmVxdWlyZWQgd2hlbiB1c2luZyBLTVMga2V5cyBmb3IgZW5jcnlwdGlvblxuICovXG5leHBvcnQgY29uc3QgR0FURVdBWV9LTVNfS0VZX1BFUk1TID0gW1xuICAna21zOkdlbmVyYXRlRGF0YUtleScsXG4gICdrbXM6R2VuZXJhdGVEYXRhS2V5V2l0aG91dFBsYWludGV4dCcsXG4gICdrbXM6R2VuZXJhdGVEYXRhS2V5UGFpcicsXG4gICdrbXM6R2VuZXJhdGVEYXRhS2V5UGFpcldpdGhvdXRQbGFpbnRleHQnLFxuICAna21zOkRlY3J5cHQnLFxuICAna21zOkVuY3J5cHQnLFxuICAna21zOlJlRW5jcnlwdEZyb20nLFxuICAna21zOlJlRW5jcnlwdFRvJyxcbiAgJ2ttczpDcmVhdGVHcmFudCcsXG4gICdrbXM6RGVzY3JpYmVLZXknLFxuXTtcblxuLyoqXG4gKiBBc3N1bWUgcm9sZSBwZXJtaXNzaW9uXG4gKiBSZXF1aXJlZCBmb3IgdGhlIGdhdGV3YXkgc2VydmljZSB0byBhc3N1bWUgdGhlIGV4ZWN1dGlvbiByb2xlXG4gKi9cbmV4cG9ydCBjb25zdCBHQVRFV0FZX0FTU1VNRV9ST0xFID0gWydzdHM6QXNzdW1lUm9sZSddO1xuXG4vKipcbiAqIE91dGJvdW5kIGF1dGggLSBXb3JrbG9hZCBpZGVudGl0eSBwZXJtaXNzaW9uc1xuICogVXNlZCB0byBvYnRhaW4gYWNjZXNzIHRva2VucyBmb3Igd29ya2xvYWQgaWRlbnRpdHlcbiAqL1xuZXhwb3J0IGNvbnN0IEdBVEVXQVlfV09SS0xPQURfSURFTlRJVFlfUEVSTVMgPSBbXG4gICdiZWRyb2NrLWFnZW50Y29yZTpHZXRXb3JrbG9hZEFjY2Vzc1Rva2VuJyxcbl07XG5cbi8qKlxuICogT3V0Ym91bmQgYXV0aCAtIE9BdXRoIHBlcm1pc3Npb25zXG4gKiBVc2VkIHRvIG9idGFpbiBPQXV0aCB0b2tlbnMgZm9yIHRhcmdldCBhdXRoZW50aWNhdGlvblxuICovXG5leHBvcnQgY29uc3QgR0FURVdBWV9PQVVUSF9QRVJNUyA9IFtcbiAgJ2JlZHJvY2stYWdlbnRjb3JlOkdldFJlc291cmNlT2F1dGgyVG9rZW4nLFxuXTtcblxuLyoqXG4gKiBPdXRib3VuZCBhdXRoIC0gQVBJIEtleSBwZXJtaXNzaW9uc1xuICogVXNlZCB0byByZXRyaWV2ZSBBUEkga2V5cyBmb3IgdGFyZ2V0IGF1dGhlbnRpY2F0aW9uXG4gKi9cbmV4cG9ydCBjb25zdCBHQVRFV0FZX0FQSV9LRVlfUEVSTVMgPSBbXG4gICdiZWRyb2NrLWFnZW50Y29yZTpHZXRSZXNvdXJjZUFwaUtleScsXG5dO1xuXG4vKipcbiAqIFNlY3JldHMgTWFuYWdlciBwZXJtaXNzaW9uc1xuICogUmVxdWlyZWQgZm9yIHN0b3JpbmcgYW5kIHJldHJpZXZpbmcgQVBJIGtleXMgYW5kIE9BdXRoIGNyZWRlbnRpYWxzXG4gKi9cbmV4cG9ydCBjb25zdCBHQVRFV0FZX1NFQ1JFVFNfUEVSTVMgPSBbXG4gICdzZWNyZXRzbWFuYWdlcjpHZXRTZWNyZXRWYWx1ZScsXG4gICdzZWNyZXRzbWFuYWdlcjpEZXNjcmliZVNlY3JldCcsXG5dO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqIENvbnRyb2wgUGxhbmUgUGVybWlzc2lvbnNcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKipcbiAqIEdldCBwZXJtaXNzaW9ucyBmb3IgZ2F0ZXdheSByZXNvdXJjZXNcbiAqL1xuZXhwb3J0IGNvbnN0IEdBVEVXQVlfR0VUX1BFUk1TID0gWydiZWRyb2NrLWFnZW50Y29yZTpHZXRHYXRld2F5VGFyZ2V0JywgJ2JlZHJvY2stYWdlbnRjb3JlOkdldEdhdGV3YXknXTtcblxuLyoqXG4gKiBMaXN0IHBlcm1pc3Npb25zIGZvciBnYXRld2F5IHJlc291cmNlc1xuICovXG5leHBvcnQgY29uc3QgR0FURVdBWV9MSVNUX1BFUk1TID0gW1xuICAnYmVkcm9jay1hZ2VudGNvcmU6TGlzdEdhdGV3YXlzJyxcbiAgJ2JlZHJvY2stYWdlbnRjb3JlOkxpc3RHYXRld2F5VGFyZ2V0cycsXG5dO1xuXG4vKipcbiAqIENyZWF0ZSBwZXJtaXNzaW9ucyBmb3IgZ2F0ZXdheSByZXNvdXJjZXNcbiAqL1xuZXhwb3J0IGNvbnN0IEdBVEVXQVlfQ1JFQVRFX1BFUk1TID0gW1xuICAnYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlR2F0ZXdheScsXG4gICdiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVHYXRld2F5VGFyZ2V0Jyxcbl07XG5cbi8qKlxuICogVXBkYXRlIHBlcm1pc3Npb25zIGZvciBnYXRld2F5IHJlc291cmNlc1xuICovXG5leHBvcnQgY29uc3QgR0FURVdBWV9VUERBVEVfUEVSTVMgPSBbXG4gICdiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVHYXRld2F5JyxcbiAgJ2JlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZUdhdGV3YXlUYXJnZXQnLFxuXTtcblxuLyoqXG4gKiBEZWxldGUgcGVybWlzc2lvbnMgZm9yIGdhdGV3YXkgcmVzb3VyY2VzXG4gKi9cbmV4cG9ydCBjb25zdCBHQVRFV0FZX0RFTEVURV9QRVJNUyA9IFtcbiAgJ2JlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZUdhdGV3YXknLFxuICAnYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlR2F0ZXdheVRhcmdldCcsXG5dO1xuXG4vKipcbiAqIENvbWJpbmVkIG1hbmFnZSBwZXJtaXNzaW9ucyAoY3JlYXRlLCB1cGRhdGUsIGRlbGV0ZSlcbiAqL1xuZXhwb3J0IGNvbnN0IEdBVEVXQVlfTUFOQUdFX1BFUk1TID0gWy4uLm5ldyBTZXQoWy4uLkdBVEVXQVlfQ1JFQVRFX1BFUk1TLCAuLi5HQVRFV0FZX1VQREFURV9QRVJNUywgLi4uR0FURVdBWV9ERUxFVEVfUEVSTVNdKV07XG5cbi8qKlxuICogU3luY2hyb25pemF0aW9uIHBlcm1pc3Npb25zIGZvciBNQ1Agc2VydmVyIHRhcmdldHNcbiAqIFVzZWQgdG8gcmVmcmVzaCB0b29sIGNhdGFsb2dzIHdoZW4gTUNQIHNlcnZlciB0b29scyBjaGFuZ2VcbiAqL1xuZXhwb3J0IGNvbnN0IEdBVEVXQVlfU1lOQ19QRVJNUyA9IFsnYmVkcm9jay1hZ2VudGNvcmU6U3luY2hyb25pemVHYXRld2F5VGFyZ2V0cyddO1xuIl19
124
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJwZXJtcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0E7O2lGQUVpRjs7O0FBRWpGOzs7R0FHRztBQUNVLFFBQUEsb0JBQW9CLEdBQUcsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO0FBRXhFOztpRkFFaUY7QUFFakY7OztHQUdHO0FBQ1UsUUFBQSxxQkFBcUIsR0FBRztJQUNuQyxxQkFBcUI7SUFDckIscUNBQXFDO0lBQ3JDLHlCQUF5QjtJQUN6Qix5Q0FBeUM7SUFDekMsYUFBYTtJQUNiLGFBQWE7SUFDYixtQkFBbUI7SUFDbkIsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQixpQkFBaUI7Q0FDbEIsQ0FBQztBQUVGOzs7R0FHRztBQUNVLFFBQUEsbUJBQW1CLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0FBRXREOzs7R0FHRztBQUNVLFFBQUEsK0JBQStCLEdBQUc7SUFDN0MsMENBQTBDO0NBQzNDLENBQUM7QUFFRjs7O0dBR0c7QUFDVSxRQUFBLHFDQUFxQyxHQUFHO0lBQ25ELDBDQUEwQztJQUMxQyxnREFBZ0Q7SUFDaEQsbURBQW1EO0NBQ3BELENBQUM7QUFFRjs7O0dBR0c7QUFDVSxRQUFBLG1CQUFtQixHQUFHO0lBQ2pDLDBDQUEwQztDQUMzQyxDQUFDO0FBRUY7OztHQUdHO0FBQ1UsUUFBQSxpQ0FBaUMsR0FBRztJQUMvQyw2Q0FBNkM7Q0FDOUMsQ0FBQztBQUVGOzs7R0FHRztBQUNVLFFBQUEscUJBQXFCLEdBQUc7SUFDbkMscUNBQXFDO0NBQ3RDLENBQUM7QUFFRjs7Ozs7R0FLRztBQUNVLFFBQUEscUJBQXFCLEdBQUcsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO0FBRXZFOztpRkFFaUY7QUFFakY7O0dBRUc7QUFDVSxRQUFBLGlCQUFpQixHQUFHLENBQUMsb0NBQW9DLEVBQUUsOEJBQThCLENBQUMsQ0FBQztBQUV4Rzs7R0FFRztBQUNVLFFBQUEsa0JBQWtCLEdBQUc7SUFDaEMsZ0NBQWdDO0lBQ2hDLHNDQUFzQztDQUN2QyxDQUFDO0FBRUY7O0dBRUc7QUFDVSxRQUFBLG9CQUFvQixHQUFHO0lBQ2xDLGlDQUFpQztJQUNqQyx1Q0FBdUM7Q0FDeEMsQ0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSxvQkFBb0IsR0FBRztJQUNsQyxpQ0FBaUM7SUFDakMsdUNBQXVDO0NBQ3hDLENBQUM7QUFFRjs7R0FFRztBQUNVLFFBQUEsb0JBQW9CLEdBQUc7SUFDbEMsaUNBQWlDO0lBQ2pDLHVDQUF1QztDQUN4QyxDQUFDO0FBRUY7O0dBRUc7QUFDVSxRQUFBLG9CQUFvQixHQUFHLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEdBQUcsNEJBQW9CLEVBQUUsR0FBRyw0QkFBb0IsRUFBRSxHQUFHLDRCQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDO0FBRTlIOzs7R0FHRztBQUNVLFFBQUEsa0JBQWtCLEdBQUcsQ0FBQyw2Q0FBNkMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqIERhdGEgUGxhbmUgUGVybWlzc2lvbnNcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKipcbiAqIFBlcm1pc3Npb25zIHRvIGludm9rZSB0aGUgZ2F0ZXdheVxuICogVXNlZCBieSBhZ2VudHMgb3Igb3RoZXIgc2VydmljZXMgdGhhdCBuZWVkIHRvIGNhbGwgdGhlIGdhdGV3YXlcbiAqL1xuZXhwb3J0IGNvbnN0IEdBVEVXQVlfSU5WT0tFX1BFUk1TID0gWydiZWRyb2NrLWFnZW50Y29yZTpJbnZva2VHYXRld2F5J107XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogRXhlY3V0aW9uIFJvbGUgUGVybWlzc2lvbnNcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKipcbiAqIEtNUyBwZXJtaXNzaW9ucyBmb3IgZW5jcnlwdGlvblxuICogUmVxdWlyZWQgd2hlbiB1c2luZyBLTVMga2V5cyBmb3IgZW5jcnlwdGlvblxuICovXG5leHBvcnQgY29uc3QgR0FURVdBWV9LTVNfS0VZX1BFUk1TID0gW1xuICAna21zOkdlbmVyYXRlRGF0YUtleScsXG4gICdrbXM6R2VuZXJhdGVEYXRhS2V5V2l0aG91dFBsYWludGV4dCcsXG4gICdrbXM6R2VuZXJhdGVEYXRhS2V5UGFpcicsXG4gICdrbXM6R2VuZXJhdGVEYXRhS2V5UGFpcldpdGhvdXRQbGFpbnRleHQnLFxuICAna21zOkRlY3J5cHQnLFxuICAna21zOkVuY3J5cHQnLFxuICAna21zOlJlRW5jcnlwdEZyb20nLFxuICAna21zOlJlRW5jcnlwdFRvJyxcbiAgJ2ttczpDcmVhdGVHcmFudCcsXG4gICdrbXM6RGVzY3JpYmVLZXknLFxuXTtcblxuLyoqXG4gKiBBc3N1bWUgcm9sZSBwZXJtaXNzaW9uXG4gKiBSZXF1aXJlZCBmb3IgdGhlIGdhdGV3YXkgc2VydmljZSB0byBhc3N1bWUgdGhlIGV4ZWN1dGlvbiByb2xlXG4gKi9cbmV4cG9ydCBjb25zdCBHQVRFV0FZX0FTU1VNRV9ST0xFID0gWydzdHM6QXNzdW1lUm9sZSddO1xuXG4vKipcbiAqIE91dGJvdW5kIGF1dGggLSBXb3JrbG9hZCBpZGVudGl0eSBwZXJtaXNzaW9ucyAoQVBJIGtleSB0YXJnZXRzKVxuICogVXNlZCB0byBvYnRhaW4gYWNjZXNzIHRva2VucyBmb3Igd29ya2xvYWQgaWRlbnRpdHlcbiAqL1xuZXhwb3J0IGNvbnN0IEdBVEVXQVlfV09SS0xPQURfSURFTlRJVFlfUEVSTVMgPSBbXG4gICdiZWRyb2NrLWFnZW50Y29yZTpHZXRXb3JrbG9hZEFjY2Vzc1Rva2VuJyxcbl07XG5cbi8qKlxuICogT3V0Ym91bmQgYXV0aCAtIFdvcmtsb2FkIGlkZW50aXR5IHBlcm1pc3Npb25zIChPQXV0aCB0YXJnZXRzKVxuICogT0F1dGggZmxvd3MgYWRkaXRpb25hbGx5IHJlcXVpcmUgSldULWJhc2VkIGFuZCB1c2VyLUlELWJhc2VkIHRva2VuIGV4Y2hhbmdlXG4gKi9cbmV4cG9ydCBjb25zdCBHQVRFV0FZX1dPUktMT0FEX0lERU5USVRZX09BVVRIX1BFUk1TID0gW1xuICAnYmVkcm9jay1hZ2VudGNvcmU6R2V0V29ya2xvYWRBY2Nlc3NUb2tlbicsXG4gICdiZWRyb2NrLWFnZW50Y29yZTpHZXRXb3JrbG9hZEFjY2Vzc1Rva2VuRm9ySldUJyxcbiAgJ2JlZHJvY2stYWdlbnRjb3JlOkdldFdvcmtsb2FkQWNjZXNzVG9rZW5Gb3JVc2VySWQnLFxuXTtcblxuLyoqXG4gKiBPdXRib3VuZCBhdXRoIC0gT0F1dGggcGVybWlzc2lvbnNcbiAqIFVzZWQgdG8gb2J0YWluIE9BdXRoIHRva2VucyBhbmQgY29tcGxldGUgdG9rZW4gYXV0aCBmb3IgdGFyZ2V0IGF1dGhlbnRpY2F0aW9uXG4gKi9cbmV4cG9ydCBjb25zdCBHQVRFV0FZX09BVVRIX1BFUk1TID0gW1xuICAnYmVkcm9jay1hZ2VudGNvcmU6R2V0UmVzb3VyY2VPYXV0aDJUb2tlbicsXG5dO1xuXG4vKipcbiAqIE91dGJvdW5kIGF1dGggLSBPQXV0aCBjb21wbGV0ZSB0b2tlbiBhdXRoIHBlcm1pc3Npb25zXG4gKiBVc2VkIHRvIGNvbXBsZXRlIHRoZSBPQXV0aCB0b2tlbiBhdXRob3JpemF0aW9uIGZsb3dcbiAqL1xuZXhwb3J0IGNvbnN0IEdBVEVXQVlfT0FVVEhfQ09NUExFVEVfQVVUSF9QRVJNUyA9IFtcbiAgJ2JlZHJvY2stYWdlbnRjb3JlOkNvbXBsZXRlUmVzb3VyY2VUb2tlbkF1dGgnLFxuXTtcblxuLyoqXG4gKiBPdXRib3VuZCBhdXRoIC0gQVBJIEtleSBwZXJtaXNzaW9uc1xuICogVXNlZCB0byByZXRyaWV2ZSBBUEkga2V5cyBmb3IgdGFyZ2V0IGF1dGhlbnRpY2F0aW9uXG4gKi9cbmV4cG9ydCBjb25zdCBHQVRFV0FZX0FQSV9LRVlfUEVSTVMgPSBbXG4gICdiZWRyb2NrLWFnZW50Y29yZTpHZXRSZXNvdXJjZUFwaUtleScsXG5dO1xuXG4vKipcbiAqIFNlY3JldHMgTWFuYWdlciBwZXJtaXNzaW9uc1xuICogUmVxdWlyZWQgZm9yIHJlYWRpbmcgY3JlZGVudGlhbCBzZWNyZXRzIGJhY2tpbmcgVG9rZW4gVmF1bHQgcHJvdmlkZXJzLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2JlZHJvY2stYWdlbnRjb3JlL2xhdGVzdC9kZXZndWlkZS9nYXRld2F5LW91dGJvdW5kLWF1dGguaHRtbFxuICovXG5leHBvcnQgY29uc3QgR0FURVdBWV9TRUNSRVRTX1BFUk1TID0gWydzZWNyZXRzbWFuYWdlcjpHZXRTZWNyZXRWYWx1ZSddO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqIENvbnRyb2wgUGxhbmUgUGVybWlzc2lvbnNcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4vKipcbiAqIEdldCBwZXJtaXNzaW9ucyBmb3IgZ2F0ZXdheSByZXNvdXJjZXNcbiAqL1xuZXhwb3J0IGNvbnN0IEdBVEVXQVlfR0VUX1BFUk1TID0gWydiZWRyb2NrLWFnZW50Y29yZTpHZXRHYXRld2F5VGFyZ2V0JywgJ2JlZHJvY2stYWdlbnRjb3JlOkdldEdhdGV3YXknXTtcblxuLyoqXG4gKiBMaXN0IHBlcm1pc3Npb25zIGZvciBnYXRld2F5IHJlc291cmNlc1xuICovXG5leHBvcnQgY29uc3QgR0FURVdBWV9MSVNUX1BFUk1TID0gW1xuICAnYmVkcm9jay1hZ2VudGNvcmU6TGlzdEdhdGV3YXlzJyxcbiAgJ2JlZHJvY2stYWdlbnRjb3JlOkxpc3RHYXRld2F5VGFyZ2V0cycsXG5dO1xuXG4vKipcbiAqIENyZWF0ZSBwZXJtaXNzaW9ucyBmb3IgZ2F0ZXdheSByZXNvdXJjZXNcbiAqL1xuZXhwb3J0IGNvbnN0IEdBVEVXQVlfQ1JFQVRFX1BFUk1TID0gW1xuICAnYmVkcm9jay1hZ2VudGNvcmU6Q3JlYXRlR2F0ZXdheScsXG4gICdiZWRyb2NrLWFnZW50Y29yZTpDcmVhdGVHYXRld2F5VGFyZ2V0Jyxcbl07XG5cbi8qKlxuICogVXBkYXRlIHBlcm1pc3Npb25zIGZvciBnYXRld2F5IHJlc291cmNlc1xuICovXG5leHBvcnQgY29uc3QgR0FURVdBWV9VUERBVEVfUEVSTVMgPSBbXG4gICdiZWRyb2NrLWFnZW50Y29yZTpVcGRhdGVHYXRld2F5JyxcbiAgJ2JlZHJvY2stYWdlbnRjb3JlOlVwZGF0ZUdhdGV3YXlUYXJnZXQnLFxuXTtcblxuLyoqXG4gKiBEZWxldGUgcGVybWlzc2lvbnMgZm9yIGdhdGV3YXkgcmVzb3VyY2VzXG4gKi9cbmV4cG9ydCBjb25zdCBHQVRFV0FZX0RFTEVURV9QRVJNUyA9IFtcbiAgJ2JlZHJvY2stYWdlbnRjb3JlOkRlbGV0ZUdhdGV3YXknLFxuICAnYmVkcm9jay1hZ2VudGNvcmU6RGVsZXRlR2F0ZXdheVRhcmdldCcsXG5dO1xuXG4vKipcbiAqIENvbWJpbmVkIG1hbmFnZSBwZXJtaXNzaW9ucyAoY3JlYXRlLCB1cGRhdGUsIGRlbGV0ZSlcbiAqL1xuZXhwb3J0IGNvbnN0IEdBVEVXQVlfTUFOQUdFX1BFUk1TID0gWy4uLm5ldyBTZXQoWy4uLkdBVEVXQVlfQ1JFQVRFX1BFUk1TLCAuLi5HQVRFV0FZX1VQREFURV9QRVJNUywgLi4uR0FURVdBWV9ERUxFVEVfUEVSTVNdKV07XG5cbi8qKlxuICogU3luY2hyb25pemF0aW9uIHBlcm1pc3Npb25zIGZvciBNQ1Agc2VydmVyIHRhcmdldHNcbiAqIFVzZWQgdG8gcmVmcmVzaCB0b29sIGNhdGFsb2dzIHdoZW4gTUNQIHNlcnZlciB0b29scyBjaGFuZ2VcbiAqL1xuZXhwb3J0IGNvbnN0IEdBVEVXQVlfU1lOQ19QRVJNUyA9IFsnYmVkcm9jay1hZ2VudGNvcmU6U3luY2hyb25pemVHYXRld2F5VGFyZ2V0cyddO1xuIl19
@@ -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.253.0-alpha.0" };
24
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.GatewayProtocol", version: "2.254.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.253.0-alpha.0" };
78
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.McpProtocolConfiguration", version: "2.254.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.253.0-alpha.0" };
18
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.ApiSchema", version: "2.254.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.253.0-alpha.0" };
76
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.AssetApiSchema", version: "2.254.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.253.0-alpha.0" };
138
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.InlineApiSchema", version: "2.254.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.253.0-alpha.0" };
168
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.S3ApiSchema", version: "2.254.0-alpha.0" };
169
169
  constructor(location, bucketOwnerAccountId) {
170
170
  super(location, bucketOwnerAccountId, undefined);
171
171
  this.location = location;