@aws-cdk/aws-bedrock-agentcore-alpha 2.252.0-alpha.0 → 2.253.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +11191 -7249
- package/.jsii.tabl.json.gz +0 -0
- package/.warnings.jsii.js +30 -0
- package/README.md +422 -0
- package/lib/evaluation/custom-evaluator.d.ts +153 -0
- package/lib/evaluation/custom-evaluator.js +256 -0
- package/lib/evaluation/data-source.d.ts +106 -0
- package/lib/evaluation/data-source.js +156 -0
- package/lib/evaluation/evaluator-base.d.ts +82 -0
- package/lib/evaluation/evaluator-base.js +55 -0
- package/lib/evaluation/evaluator-config.d.ts +195 -0
- package/lib/evaluation/evaluator-config.js +184 -0
- package/lib/evaluation/evaluator.d.ts +68 -0
- package/lib/evaluation/evaluator.js +90 -0
- package/lib/evaluation/online-evaluation-base.d.ts +96 -0
- package/lib/evaluation/online-evaluation-base.js +55 -0
- package/lib/evaluation/online-evaluation.d.ts +134 -0
- package/lib/evaluation/online-evaluation.js +388 -0
- package/lib/evaluation/perms.d.ts +34 -0
- package/lib/evaluation/perms.js +53 -0
- package/lib/evaluation/types.d.ts +461 -0
- package/lib/evaluation/types.js +229 -0
- package/lib/evaluation/validation-helpers.d.ts +133 -0
- package/lib/evaluation/validation-helpers.js +349 -0
- package/lib/gateway/gateway-base.js +1 -1
- package/lib/gateway/gateway.js +2 -2
- package/lib/gateway/inbound-auth/authorizer.js +4 -4
- package/lib/gateway/inbound-auth/custom-claim.js +1 -1
- package/lib/gateway/interceptor.js +1 -1
- package/lib/gateway/outbound-auth/api-key.js +1 -1
- package/lib/gateway/outbound-auth/credential-provider.js +1 -1
- package/lib/gateway/protocol.js +2 -2
- package/lib/gateway/targets/schema/api-schema.js +4 -4
- package/lib/gateway/targets/schema/tool-schema.js +4 -4
- package/lib/gateway/targets/target-base.js +1 -1
- package/lib/gateway/targets/target-configuration.js +6 -6
- package/lib/gateway/targets/target.js +1 -1
- package/lib/index.d.ts +9 -0
- package/lib/index.js +13 -1
- package/lib/memory/memory-strategy.js +1 -1
- package/lib/memory/memory.js +2 -2
- package/lib/memory/strategies/managed-strategy.js +1 -1
- package/lib/memory/strategies/self-managed-strategy.js +8 -5
- package/lib/network/network-configuration.js +4 -4
- package/lib/policy/policy-base.js +1 -1
- package/lib/policy/policy-engine-base.js +1 -1
- package/lib/policy/policy-engine.js +1 -1
- package/lib/policy/policy-statement.js +5 -5
- package/lib/policy/policy-types.js +1 -1
- package/lib/policy/policy.js +1 -1
- package/lib/runtime/inbound-auth/custom-claim.js +1 -1
- package/lib/runtime/inbound-auth/runtime-authorizer-configuration.js +1 -1
- package/lib/runtime/observability.js +2 -2
- package/lib/runtime/runtime-artifact.js +1 -1
- package/lib/runtime/runtime-base.js +1 -1
- package/lib/runtime/runtime-endpoint-base.js +1 -1
- package/lib/runtime/runtime-endpoint.js +1 -1
- package/lib/runtime/runtime.js +1 -1
- package/lib/tools/browser.js +2 -2
- package/lib/tools/code-interpreter.js +2 -2
- package/package.json +10 -9
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
3
|
+
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
4
|
+
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
5
|
+
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
6
|
+
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
7
|
+
var _, done = false;
|
|
8
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
9
|
+
var context = {};
|
|
10
|
+
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
11
|
+
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
12
|
+
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
13
|
+
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
14
|
+
if (kind === "accessor") {
|
|
15
|
+
if (result === void 0) continue;
|
|
16
|
+
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
17
|
+
if (_ = accept(result.get)) descriptor.get = _;
|
|
18
|
+
if (_ = accept(result.set)) descriptor.set = _;
|
|
19
|
+
if (_ = accept(result.init)) initializers.unshift(_);
|
|
20
|
+
}
|
|
21
|
+
else if (_ = accept(result)) {
|
|
22
|
+
if (kind === "field") initializers.unshift(_);
|
|
23
|
+
else descriptor[key] = _;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
27
|
+
done = true;
|
|
28
|
+
};
|
|
29
|
+
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
30
|
+
var useValue = arguments.length > 2;
|
|
31
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
32
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
33
|
+
}
|
|
34
|
+
return useValue ? value : void 0;
|
|
35
|
+
};
|
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
exports.Evaluator = void 0;
|
|
38
|
+
const jsiiDeprecationWarnings = require("../../.warnings.jsii.js");
|
|
39
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
40
|
+
/**
|
|
41
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
42
|
+
*
|
|
43
|
+
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
44
|
+
* with the License. A copy of the License is located at
|
|
45
|
+
*
|
|
46
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
47
|
+
*
|
|
48
|
+
* or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
|
|
49
|
+
* OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
|
|
50
|
+
* and limitations under the License.
|
|
51
|
+
*/
|
|
52
|
+
const aws_cdk_lib_1 = require("aws-cdk-lib");
|
|
53
|
+
const bedrockagentcore = require("aws-cdk-lib/aws-bedrockagentcore");
|
|
54
|
+
const iam = require("aws-cdk-lib/aws-iam");
|
|
55
|
+
const metadata_resource_1 = require("aws-cdk-lib/core/lib/metadata-resource");
|
|
56
|
+
const prop_injectable_1 = require("aws-cdk-lib/core/lib/prop-injectable");
|
|
57
|
+
const evaluator_base_1 = require("./evaluator-base");
|
|
58
|
+
const validation_helpers_1 = require("./validation-helpers");
|
|
59
|
+
/**
|
|
60
|
+
* A custom evaluator for Amazon Bedrock AgentCore.
|
|
61
|
+
*
|
|
62
|
+
* Custom evaluators enable you to define evaluation logic tailored to your specific
|
|
63
|
+
* use cases. Supports two evaluation strategies:
|
|
64
|
+
* - **LLM-as-a-Judge**: Uses a foundation model with custom instructions and a rating scale.
|
|
65
|
+
* - **Code-based**: Uses a Lambda function for custom evaluation logic.
|
|
66
|
+
*
|
|
67
|
+
* Custom evaluators are used with `OnlineEvaluationConfig` via `EvaluatorReference.custom()`.
|
|
68
|
+
*
|
|
69
|
+
* @resource AWS::BedrockAgentCore::Evaluator
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* // Create a custom LLM-as-a-Judge evaluator
|
|
73
|
+
* const evaluator = new agentcore.Evaluator(this, 'MyEvaluator', {
|
|
74
|
+
* evaluatorName: 'my_custom_evaluator',
|
|
75
|
+
* level: agentcore.EvaluationLevel.SESSION,
|
|
76
|
+
* evaluatorConfig: agentcore.EvaluatorConfig.llmAsAJudge({
|
|
77
|
+
* instructions: 'Evaluate whether the agent response is helpful and accurate.',
|
|
78
|
+
* modelId: 'us.anthropic.claude-sonnet-4-6',
|
|
79
|
+
* ratingScale: agentcore.EvaluatorRatingScale.categorical([
|
|
80
|
+
* { label: 'Good', definition: 'The response is helpful and accurate.' },
|
|
81
|
+
* { label: 'Bad', definition: 'The response is not helpful or contains errors.' },
|
|
82
|
+
* ]),
|
|
83
|
+
* }),
|
|
84
|
+
* });
|
|
85
|
+
*
|
|
86
|
+
* // Use the custom evaluator in an online evaluation configuration
|
|
87
|
+
* new agentcore.OnlineEvaluationConfig(this, 'MyEvaluation', {
|
|
88
|
+
* onlineEvaluationConfigName: 'my_evaluation',
|
|
89
|
+
* evaluators: [
|
|
90
|
+
* agentcore.EvaluatorReference.builtin(agentcore.BuiltinEvaluator.HELPFULNESS),
|
|
91
|
+
* agentcore.EvaluatorReference.custom(evaluator),
|
|
92
|
+
* ],
|
|
93
|
+
* dataSource: agentcore.DataSourceConfig.fromCloudWatchLogs({
|
|
94
|
+
* logGroupNames: ['/aws/bedrock-agentcore/my-agent'],
|
|
95
|
+
* serviceNames: ['my-agent.default'],
|
|
96
|
+
* }),
|
|
97
|
+
* });
|
|
98
|
+
*/
|
|
99
|
+
let Evaluator = (() => {
|
|
100
|
+
let _classDecorators = [prop_injectable_1.propertyInjectable];
|
|
101
|
+
let _classDescriptor;
|
|
102
|
+
let _classExtraInitializers = [];
|
|
103
|
+
let _classThis;
|
|
104
|
+
let _classSuper = evaluator_base_1.EvaluatorBase;
|
|
105
|
+
var Evaluator = class extends _classSuper {
|
|
106
|
+
static { _classThis = this; }
|
|
107
|
+
static {
|
|
108
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
109
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
110
|
+
Evaluator = _classThis = _classDescriptor.value;
|
|
111
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
112
|
+
}
|
|
113
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.Evaluator", version: "2.253.0-alpha.0" };
|
|
114
|
+
/** Uniquely identifies this class. */
|
|
115
|
+
static PROPERTY_INJECTION_ID = '@aws-cdk.aws-bedrock-agentcore-alpha.Evaluator';
|
|
116
|
+
/**
|
|
117
|
+
* Import an existing Evaluator by its ID.
|
|
118
|
+
*
|
|
119
|
+
* @param scope - The construct scope
|
|
120
|
+
* @param id - Construct identifier
|
|
121
|
+
* @param evaluatorId - The evaluator ID to import
|
|
122
|
+
* @returns An IEvaluator reference
|
|
123
|
+
*/
|
|
124
|
+
static fromEvaluatorId(scope, id, evaluatorId) {
|
|
125
|
+
const stack = aws_cdk_lib_1.Stack.of(scope);
|
|
126
|
+
const evaluatorArn = aws_cdk_lib_1.Arn.format({
|
|
127
|
+
service: 'bedrock-agentcore',
|
|
128
|
+
resource: 'evaluator',
|
|
129
|
+
resourceName: evaluatorId,
|
|
130
|
+
}, stack);
|
|
131
|
+
return Evaluator.fromEvaluatorAttributes(scope, id, {
|
|
132
|
+
evaluatorArn,
|
|
133
|
+
evaluatorId,
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Import an existing Evaluator by its ARN.
|
|
138
|
+
*
|
|
139
|
+
* @param scope - The construct scope
|
|
140
|
+
* @param id - Construct identifier
|
|
141
|
+
* @param evaluatorArn - The evaluator ARN to import
|
|
142
|
+
* @returns An IEvaluator reference
|
|
143
|
+
*/
|
|
144
|
+
static fromEvaluatorArn(scope, id, evaluatorArn) {
|
|
145
|
+
const arnParts = aws_cdk_lib_1.Arn.split(evaluatorArn, aws_cdk_lib_1.ArnFormat.SLASH_RESOURCE_NAME);
|
|
146
|
+
const evaluatorId = arnParts.resourceName;
|
|
147
|
+
return Evaluator.fromEvaluatorAttributes(scope, id, {
|
|
148
|
+
evaluatorArn,
|
|
149
|
+
evaluatorId,
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Import an existing Evaluator from its attributes.
|
|
154
|
+
*
|
|
155
|
+
* @param scope - The construct scope
|
|
156
|
+
* @param id - Construct identifier
|
|
157
|
+
* @param attrs - The evaluator attributes
|
|
158
|
+
* @returns An IEvaluator reference
|
|
159
|
+
*/
|
|
160
|
+
static fromEvaluatorAttributes(scope, id, attrs) {
|
|
161
|
+
try {
|
|
162
|
+
jsiiDeprecationWarnings._aws_cdk_aws_bedrock_agentcore_alpha_EvaluatorAttributes(attrs);
|
|
163
|
+
}
|
|
164
|
+
catch (error) {
|
|
165
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
166
|
+
Error.captureStackTrace(error, this.fromEvaluatorAttributes);
|
|
167
|
+
}
|
|
168
|
+
throw error;
|
|
169
|
+
}
|
|
170
|
+
class Import extends evaluator_base_1.EvaluatorBase {
|
|
171
|
+
evaluatorArn = attrs.evaluatorArn;
|
|
172
|
+
evaluatorId = attrs.evaluatorId;
|
|
173
|
+
evaluatorName = attrs.evaluatorName ?? attrs.evaluatorId;
|
|
174
|
+
status = undefined;
|
|
175
|
+
createdAt = undefined;
|
|
176
|
+
updatedAt = undefined;
|
|
177
|
+
}
|
|
178
|
+
return new Import(scope, id);
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* The ARN of the evaluator.
|
|
182
|
+
* @attribute
|
|
183
|
+
*/
|
|
184
|
+
evaluatorArn;
|
|
185
|
+
/**
|
|
186
|
+
* The unique identifier of the evaluator.
|
|
187
|
+
* @attribute
|
|
188
|
+
*/
|
|
189
|
+
evaluatorId;
|
|
190
|
+
/**
|
|
191
|
+
* The name of the evaluator.
|
|
192
|
+
* @attribute
|
|
193
|
+
*/
|
|
194
|
+
evaluatorName;
|
|
195
|
+
/**
|
|
196
|
+
* The lifecycle status of the evaluator.
|
|
197
|
+
* @attribute
|
|
198
|
+
*/
|
|
199
|
+
status;
|
|
200
|
+
/**
|
|
201
|
+
* The timestamp when the evaluator was created.
|
|
202
|
+
* @attribute
|
|
203
|
+
*/
|
|
204
|
+
createdAt;
|
|
205
|
+
/**
|
|
206
|
+
* The timestamp when the evaluator was last updated.
|
|
207
|
+
* @attribute
|
|
208
|
+
*/
|
|
209
|
+
updatedAt;
|
|
210
|
+
constructor(scope, id, props) {
|
|
211
|
+
super(scope, id, {
|
|
212
|
+
physicalName: props.evaluatorName,
|
|
213
|
+
});
|
|
214
|
+
try {
|
|
215
|
+
jsiiDeprecationWarnings._aws_cdk_aws_bedrock_agentcore_alpha_EvaluatorProps(props);
|
|
216
|
+
}
|
|
217
|
+
catch (error) {
|
|
218
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
219
|
+
Error.captureStackTrace(error, Evaluator);
|
|
220
|
+
}
|
|
221
|
+
throw error;
|
|
222
|
+
}
|
|
223
|
+
(0, metadata_resource_1.addConstructMetadata)(this, props);
|
|
224
|
+
(0, validation_helpers_1.throwIfInvalid)(validation_helpers_1.validateEvaluatorName, props.evaluatorName, this);
|
|
225
|
+
(0, validation_helpers_1.throwIfInvalid)(validation_helpers_1.validateDescription, props.description, this);
|
|
226
|
+
this.evaluatorName = this.physicalName;
|
|
227
|
+
const resource = new bedrockagentcore.CfnEvaluator(this, 'Resource', {
|
|
228
|
+
evaluatorName: this.physicalName,
|
|
229
|
+
evaluatorConfig: props.evaluatorConfig._bind(),
|
|
230
|
+
level: props.level.value,
|
|
231
|
+
description: props.description,
|
|
232
|
+
});
|
|
233
|
+
// If code-based, grant the bedrock-agentcore service permission to invoke
|
|
234
|
+
// the Lambda function, scoped to this specific evaluator for confused deputy prevention.
|
|
235
|
+
if (props.evaluatorConfig.lambdaFunction) {
|
|
236
|
+
const stack = aws_cdk_lib_1.Stack.of(this);
|
|
237
|
+
props.evaluatorConfig.lambdaFunction.addPermission('BedrockAgentCoreEvaluatorInvoke', {
|
|
238
|
+
principal: new iam.ServicePrincipal('bedrock-agentcore.amazonaws.com'),
|
|
239
|
+
sourceAccount: stack.account,
|
|
240
|
+
sourceArn: resource.attrEvaluatorArn,
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
this.evaluatorArn = resource.attrEvaluatorArn;
|
|
244
|
+
this.evaluatorId = resource.attrEvaluatorId;
|
|
245
|
+
this.status = resource.attrStatus;
|
|
246
|
+
this.createdAt = resource.attrCreatedAt;
|
|
247
|
+
this.updatedAt = resource.attrUpdatedAt;
|
|
248
|
+
}
|
|
249
|
+
static {
|
|
250
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
251
|
+
}
|
|
252
|
+
};
|
|
253
|
+
return Evaluator = _classThis;
|
|
254
|
+
})();
|
|
255
|
+
exports.Evaluator = Evaluator;
|
|
256
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWV2YWx1YXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImN1c3RvbS1ldmFsdWF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7QUFFSCw2Q0FBb0Q7QUFDcEQscUVBQXFFO0FBQ3JFLDJDQUEyQztBQUMzQyw4RUFBOEU7QUFDOUUsMEVBQTBFO0FBRTFFLHFEQUFrRTtBQUdsRSw2REFJOEI7QUF5QzlCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F1Q0c7SUFFVSxTQUFTOzRCQURyQixvQ0FBa0I7Ozs7c0JBQ1ksOEJBQWE7eUJBQXJCLFNBQVEsV0FBYTs7OztZQUE1Qyw2S0F5SkM7Ozs7O1FBeEpDLHNDQUFzQztRQUMvQixNQUFNLENBQVUscUJBQXFCLEdBQzFDLGdEQUFnRCxDQUFDO1FBRW5EOzs7Ozs7O1dBT0c7UUFDSSxNQUFNLENBQUMsZUFBZSxDQUMzQixLQUFnQixFQUNoQixFQUFVLEVBQ1YsV0FBbUI7WUFFbkIsTUFBTSxLQUFLLEdBQUcsbUJBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUIsTUFBTSxZQUFZLEdBQUcsaUJBQUcsQ0FBQyxNQUFNLENBQzdCO2dCQUNFLE9BQU8sRUFBRSxtQkFBbUI7Z0JBQzVCLFFBQVEsRUFBRSxXQUFXO2dCQUNyQixZQUFZLEVBQUUsV0FBVzthQUMxQixFQUNELEtBQUssQ0FDTixDQUFDO1lBRUYsT0FBTyxTQUFTLENBQUMsdUJBQXVCLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRTtnQkFDbEQsWUFBWTtnQkFDWixXQUFXO2FBQ1osQ0FBQyxDQUFDO1NBQ0o7UUFFRDs7Ozs7OztXQU9HO1FBQ0ksTUFBTSxDQUFDLGdCQUFnQixDQUM1QixLQUFnQixFQUNoQixFQUFVLEVBQ1YsWUFBb0I7WUFFcEIsTUFBTSxRQUFRLEdBQUcsaUJB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QUFNLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQztZQUNsQyxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUM7WUFDeEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDO1NBQ3pDOztZQXhKVSx1REFBUzs7Ozs7QUFBVCw4QkFBUyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IEFybiwgQXJuRm9ybWF0LCBTdGFjayB9IGZyb20gJ2F3cy1jZGstbGliJztcbmltcG9ydCAqIGFzIGJlZHJvY2thZ2VudGNvcmUgZnJvbSAnYXdzLWNkay1saWIvYXdzLWJlZHJvY2thZ2VudGNvcmUnO1xuaW1wb3J0ICogYXMgaWFtIGZyb20gJ2F3cy1jZGstbGliL2F3cy1pYW0nO1xuaW1wb3J0IHsgYWRkQ29uc3RydWN0TWV0YWRhdGEgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9tZXRhZGF0YS1yZXNvdXJjZSc7XG5pbXBvcnQgeyBwcm9wZXJ0eUluamVjdGFibGUgfSBmcm9tICdhd3MtY2RrLWxpYi9jb3JlL2xpYi9wcm9wLWluamVjdGFibGUnO1xuaW1wb3J0IHR5cGUgeyBDb25zdHJ1Y3QgfSBmcm9tICdjb25zdHJ1Y3RzJztcbmltcG9ydCB7IHR5cGUgSUV2YWx1YXRvciwgRXZhbHVhdG9yQmFzZSB9IGZyb20gJy4vZXZhbHVhdG9yLWJhc2UnO1xuaW1wb3J0IHR5cGUgeyBFdmFsdWF0b3JDb25maWcgfSBmcm9tICcuL2V2YWx1YXRvci1jb25maWcnO1xuaW1wb3J0IHR5cGUgeyBFdmFsdWF0aW9uTGV2ZWwsIEV2YWx1YXRvckF0dHJpYnV0ZXMgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7XG4gIHRocm93SWZJbnZhbGlkLFxuICB2YWxpZGF0ZURlc2NyaXB0aW9uLFxuICB2YWxpZGF0ZUV2YWx1YXRvck5hbWUsXG59IGZyb20gJy4vdmFsaWRhdGlvbi1oZWxwZXJzJztcblxuLyoqXG4gKiBQcm9wZXJ0aWVzIGZvciBjcmVhdGluZyBhbiBFdmFsdWF0b3IuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRXZhbHVhdG9yUHJvcHMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGV2YWx1YXRvci5cbiAgICpcbiAgICogTXVzdCBiZSB1bmlxdWUgd2l0aGluIHlvdXIgYWNjb3VudC4gVmFsaWQgY2hhcmFjdGVycyBhcmUgYS16LCBBLVosIDAtOSwgXyAodW5kZXJzY29yZSkuXG4gICAqIE11c3Qgc3RhcnQgd2l0aCBhIGxldHRlciBhbmQgY2FuIGJlIHVwIHRvIDQ4IGNoYXJhY3RlcnMgbG9uZy5cbiAgICpcbiAgICogQHBhdHRlcm4gXlthLXpBLVpdW2EtekEtWjAtOV9dezAsNDd9JFxuICAgKi9cbiAgcmVhZG9ubHkgZXZhbHVhdG9yTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgY29uZmlndXJhdGlvbiB0aGF0IGRlZmluZXMgaG93IHRoZSBldmFsdWF0b3IgYXNzZXNzZXMgYWdlbnQgcGVyZm9ybWFuY2UuXG4gICAqXG4gICAqIFVzZSBgRXZhbHVhdG9yQ29uZmlnLmxsbUFzQUp1ZGdlKClgIGZvciBtb2RlbC1iYXNlZCBldmFsdWF0aW9uIG9yXG4gICAqIGBFdmFsdWF0b3JDb25maWcuY29kZUJhc2VkKClgIGZvciBMYW1iZGEtYmFzZWQgZXZhbHVhdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IGV2YWx1YXRvckNvbmZpZzogRXZhbHVhdG9yQ29uZmlnO1xuXG4gIC8qKlxuICAgKiBUaGUgbGV2ZWwgYXQgd2hpY2ggdGhlIGV2YWx1YXRvciBhc3Nlc3NlcyBhZ2VudCBwZXJmb3JtYW5jZS5cbiAgICpcbiAgICogRGV0ZXJtaW5lcyB3aGF0IGdyYW51bGFyaXR5IG9mIGRhdGEgdGhlIGV2YWx1YXRvciBvcGVyYXRlcyBvbjpcbiAgICogdG9vbCBjYWxsLCB0cmFjZSAoc2luZ2xlIHJlcXVlc3QtcmVzcG9uc2UpLCBvciBzZXNzaW9uIChmdWxsIGNvbnZlcnNhdGlvbikuXG4gICAqL1xuICByZWFkb25seSBsZXZlbDogRXZhbHVhdGlvbkxldmVsO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVzY3JpcHRpb24gb2YgdGhlIGV2YWx1YXRvci5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBkZXNjcmlwdGlvblxuICAgKiBAbWF4TGVuZ3RoIDIwMFxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBjdXN0b20gZXZhbHVhdG9yIGZvciBBbWF6b24gQmVkcm9jayBBZ2VudENvcmUuXG4gKlxuICogQ3VzdG9tIGV2YWx1YXRvcnMgZW5hYmxlIHlvdSB0byBkZWZpbmUgZXZhbHVhdGlvbiBsb2dpYyB0YWlsb3JlZCB0byB5b3VyIHNwZWNpZmljXG4gKiB1c2UgY2FzZXMuIFN1cHBvcnRzIHR3byBldmFsdWF0aW9uIHN0cmF0ZWdpZXM6XG4gKiAtICoqTExNLWFzLWEtSnVkZ2UqKjogVXNlcyBhIGZvdW5kYXRpb24gbW9kZWwgd2l0aCBjdXN0b20gaW5zdHJ1Y3Rpb25zIGFuZCBhIHJhdGluZyBzY2FsZS5cbiAqIC0gKipDb2RlLWJhc2VkKio6IFVzZXMgYSBMYW1iZGEgZnVuY3Rpb24gZm9yIGN1c3RvbSBldmFsdWF0aW9uIGxvZ2ljLlxuICpcbiAqIEN1c3RvbSBldmFsdWF0b3JzIGFyZSB1c2VkIHdpdGggYE9ubGluZUV2YWx1YXRpb25Db25maWdgIHZpYSBgRXZhbHVhdG9yUmVmZXJlbmNlLmN1c3RvbSgpYC5cbiAqXG4gKiBAcmVzb3VyY2UgQVdTOjpCZWRyb2NrQWdlbnRDb3JlOjpFdmFsdWF0b3JcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQ3JlYXRlIGEgY3VzdG9tIExMTS1hcy1hLUp1ZGdlIGV2YWx1YXRvclxuICogY29uc3QgZXZhbHVhdG9yID0gbmV3IGFnZW50Y29yZS5FdmFsdWF0b3IodGhpcywgJ015RXZhbHVhdG9yJywge1xuICogICBldmFsdWF0b3JOYW1lOiAnbXlfY3VzdG9tX2V2YWx1YXRvcicsXG4gKiAgIGxldmVsOiBhZ2VudGNvcmUuRXZhbHVhdGlvbkxldmVsLlNFU1NJT04sXG4gKiAgIGV2YWx1YXRvckNvbmZpZzogYWdlbnRjb3JlLkV2YWx1YXRvckNvbmZpZy5sbG1Bc0FKdWRnZSh7XG4gKiAgICAgaW5zdHJ1Y3Rpb25zOiAnRXZhbHVhdGUgd2hldGhlciB0aGUgYWdlbnQgcmVzcG9uc2UgaXMgaGVscGZ1bCBhbmQgYWNjdXJhdGUuJyxcbiAqICAgICBtb2RlbElkOiAndXMuYW50aHJvcGljLmNsYXVkZS1zb25uZXQtNC02JyxcbiAqICAgICByYXRpbmdTY2FsZTogYWdlbnRjb3JlLkV2YWx1YXRvclJhdGluZ1NjYWxlLmNhdGVnb3JpY2FsKFtcbiAqICAgICAgIHsgbGFiZWw6ICdHb29kJywgZGVmaW5pdGlvbjogJ1RoZSByZXNwb25zZSBpcyBoZWxwZnVsIGFuZCBhY2N1cmF0ZS4nIH0sXG4gKiAgICAgICB7IGxhYmVsOiAnQmFkJywgZGVmaW5pdGlvbjogJ1RoZSByZXNwb25zZSBpcyBub3QgaGVscGZ1bCBvciBjb250YWlucyBlcnJvcnMuJyB9LFxuICogICAgIF0pLFxuICogICB9KSxcbiAqIH0pO1xuICpcbiAqIC8vIFVzZSB0aGUgY3VzdG9tIGV2YWx1YXRvciBpbiBhbiBvbmxpbmUgZXZhbHVhdGlvbiBjb25maWd1cmF0aW9uXG4gKiBuZXcgYWdlbnRjb3JlLk9ubGluZUV2YWx1YXRpb25Db25maWcodGhpcywgJ015RXZhbHVhdGlvbicsIHtcbiAqICAgb25saW5lRXZhbHVhdGlvbkNvbmZpZ05hbWU6ICdteV9ldmFsdWF0aW9uJyxcbiAqICAgZXZhbHVhdG9yczogW1xuICogICAgIGFnZW50Y29yZS5FdmFsdWF0b3JSZWZlcmVuY2UuYnVpbHRpbihhZ2VudGNvcmUuQnVpbHRpbkV2YWx1YXRvci5IRUxQRlVMTkVTUyksXG4gKiAgICAgYWdlbnRjb3JlLkV2YWx1YXRvclJlZmVyZW5jZS5jdXN0b20oZXZhbHVhdG9yKSxcbiAqICAgXSxcbiAqICAgZGF0YVNvdXJjZTogYWdlbnRjb3JlLkRhdGFTb3VyY2VDb25maWcuZnJvbUNsb3VkV2F0Y2hMb2dzKHtcbiAqICAgICBsb2dHcm91cE5hbWVzOiBbJy9hd3MvYmVkcm9jay1hZ2VudGNvcmUvbXktYWdlbnQnXSxcbiAqICAgICBzZXJ2aWNlTmFtZXM6IFsnbXktYWdlbnQuZGVmYXVsdCddLFxuICogICB9KSxcbiAqIH0pO1xuICovXG5AcHJvcGVydHlJbmplY3RhYmxlXG5leHBvcnQgY2xhc3MgRXZhbHVhdG9yIGV4dGVuZHMgRXZhbHVhdG9yQmFzZSB7XG4gIC8qKiBVbmlxdWVseSBpZGVudGlmaWVzIHRoaXMgY2xhc3MuICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgUFJPUEVSVFlfSU5KRUNUSU9OX0lEOiBzdHJpbmcgPVxuICAgICdAYXdzLWNkay5hd3MtYmVkcm9jay1hZ2VudGNvcmUtYWxwaGEuRXZhbHVhdG9yJztcblxuICAvKipcbiAgICogSW1wb3J0IGFuIGV4aXN0aW5nIEV2YWx1YXRvciBieSBpdHMgSUQuXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSAtIFRoZSBjb25zdHJ1Y3Qgc2NvcGVcbiAgICogQHBhcmFtIGlkIC0gQ29uc3RydWN0IGlkZW50aWZpZXJcbiAgICogQHBhcmFtIGV2YWx1YXRvcklkIC0gVGhlIGV2YWx1YXRvciBJRCB0byBpbXBvcnRcbiAgICogQHJldHVybnMgQW4gSUV2YWx1YXRvciByZWZlcmVuY2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUV2YWx1YXRvcklkKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBldmFsdWF0b3JJZDogc3RyaW5nLFxuICApOiBJRXZhbHVhdG9yIHtcbiAgICBjb25zdCBzdGFjayA9IFN0YWNrLm9mKHNjb3BlKTtcbiAgICBjb25zdCBldmFsdWF0b3JBcm4gPSBBcm4uZm9ybWF0KFxuICAgICAge1xuICAgICAgICBzZXJ2aWNlOiAnYmVkcm9jay1hZ2VudGNvcmUnLFxuICAgICAgICByZXNvdXJjZTogJ2V2YWx1YXRvcicsXG4gICAgICAgIHJlc291cmNlTmFtZTogZXZhbHVhdG9ySWQsXG4gICAgICB9LFxuICAgICAgc3RhY2ssXG4gICAgKTtcblxuICAgIHJldHVybiBFdmFsdWF0b3IuZnJvbUV2YWx1YXRvckF0dHJpYnV0ZXMoc2NvcGUsIGlkLCB7XG4gICAgICBldmFsdWF0b3JBcm4sXG4gICAgICBldmFsdWF0b3JJZCxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnQgYW4gZXhpc3RpbmcgRXZhbHVhdG9yIGJ5IGl0cyBBUk4uXG4gICAqXG4gICAqIEBwYXJhbSBzY29wZSAtIFRoZSBjb25zdHJ1Y3Qgc2NvcGVcbiAgICogQHBhcmFtIGlkIC0gQ29uc3RydWN0IGlkZW50aWZpZXJcbiAgICogQHBhcmFtIGV2YWx1YXRvckFybiAtIFRoZSBldmFsdWF0b3IgQVJOIHRvIGltcG9ydFxuICAgKiBAcmV0dXJucyBBbiBJRXZhbHVhdG9yIHJlZmVyZW5jZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmcm9tRXZhbHVhdG9yQXJuKFxuICAgIHNjb3BlOiBDb25zdHJ1Y3QsXG4gICAgaWQ6IHN0cmluZyxcbiAgICBldmFsdWF0b3JBcm46IHN0cmluZyxcbiAgKTogSUV2YWx1YXRvciB7XG4gICAgY29uc3QgYXJuUGFydHMgPSBBcm4uc3BsaXQoZXZhbHVhdG9yQXJuLCBBcm5Gb3JtYXQuU0xBU0hfUkVTT1VSQ0VfTkFNRSk7XG4gICAgY29uc3QgZXZhbHVhdG9ySWQgPSBhcm5QYXJ0cy5yZXNvdXJjZU5hbWUhO1xuXG4gICAgcmV0dXJuIEV2YWx1YXRvci5mcm9tRXZhbHVhdG9yQXR0cmlidXRlcyhzY29wZSwgaWQsIHtcbiAgICAgIGV2YWx1YXRvckFybixcbiAgICAgIGV2YWx1YXRvcklkLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydCBhbiBleGlzdGluZyBFdmFsdWF0b3IgZnJvbSBpdHMgYXR0cmlidXRlcy5cbiAgICpcbiAgICogQHBhcmFtIHNjb3BlIC0gVGhlIGNvbnN0cnVjdCBzY29wZVxuICAgKiBAcGFyYW0gaWQgLSBDb25zdHJ1Y3QgaWRlbnRpZmllclxuICAgKiBAcGFyYW0gYXR0cnMgLSBUaGUgZXZhbHVhdG9yIGF0dHJpYnV0ZXNcbiAgICogQHJldHVybnMgQW4gSUV2YWx1YXRvciByZWZlcmVuY2VcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUV2YWx1YXRvckF0dHJpYnV0ZXMoXG4gICAgc2NvcGU6IENvbnN0cnVjdCxcbiAgICBpZDogc3RyaW5nLFxuICAgIGF0dHJzOiBFdmFsdWF0b3JBdHRyaWJ1dGVzLFxuICApOiBJRXZhbHVhdG9yIHtcbiAgICBjbGFzcyBJbXBvcnQgZXh0ZW5kcyBFdmFsdWF0b3JCYXNlIHtcbiAgICAgIHB1YmxpYyByZWFkb25seSBldmFsdWF0b3JBcm4gPSBhdHRycy5ldmFsdWF0b3JBcm47XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgZXZhbHVhdG9ySWQgPSBhdHRycy5ldmFsdWF0b3JJZDtcbiAgICAgIHB1YmxpYyByZWFkb25seSBldmFsdWF0b3JOYW1lID0gYXR0cnMuZXZhbHVhdG9yTmFtZSA/PyBhdHRycy5ldmFsdWF0b3JJZDtcbiAgICAgIHB1YmxpYyByZWFkb25seSBzdGF0dXMgPSB1bmRlZmluZWQ7XG4gICAgICBwdWJsaWMgcmVhZG9ubHkgY3JlYXRlZEF0ID0gdW5kZWZpbmVkO1xuICAgICAgcHVibGljIHJlYWRvbmx5IHVwZGF0ZWRBdCA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEltcG9ydChzY29wZSwgaWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIGV2YWx1YXRvci5cbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGV2YWx1YXRvckFybjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGV2YWx1YXRvci5cbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGV2YWx1YXRvcklkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBldmFsdWF0b3IuXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBldmFsdWF0b3JOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBsaWZlY3ljbGUgc3RhdHVzIG9mIHRoZSBldmFsdWF0b3IuXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBzdGF0dXM/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0aW1lc3RhbXAgd2hlbiB0aGUgZXZhbHVhdG9yIHdhcyBjcmVhdGVkLlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgY3JlYXRlZEF0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdGltZXN0YW1wIHdoZW4gdGhlIGV2YWx1YXRvciB3YXMgbGFzdCB1cGRhdGVkLlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdXBkYXRlZEF0Pzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBFdmFsdWF0b3JQcm9wcykge1xuICAgIHN1cGVyKHNjb3BlLCBpZCwge1xuICAgICAgcGh5c2ljYWxOYW1lOiBwcm9wcy5ldmFsdWF0b3JOYW1lLFxuICAgIH0pO1xuXG4gICAgYWRkQ29uc3RydWN0TWV0YWRhdGEodGhpcywgcHJvcHMpO1xuXG4gICAgdGhyb3dJZkludmFsaWQodmFsaWRhdGVFdmFsdWF0b3JOYW1lLCBwcm9wcy5ldmFsdWF0b3JOYW1lLCB0aGlzKTtcbiAgICB0aHJvd0lmSW52YWxpZCh2YWxpZGF0ZURlc2NyaXB0aW9uLCBwcm9wcy5kZXNjcmlwdGlvbiwgdGhpcyk7XG5cbiAgICB0aGlzLmV2YWx1YXRvck5hbWUgPSB0aGlzLnBoeXNpY2FsTmFtZTtcblxuICAgIGNvbnN0IHJlc291cmNlID0gbmV3IGJlZHJvY2thZ2VudGNvcmUuQ2ZuRXZhbHVhdG9yKHRoaXMsICdSZXNvdXJjZScsIHtcbiAgICAgIGV2YWx1YXRvck5hbWU6IHRoaXMucGh5c2ljYWxOYW1lLFxuICAgICAgZXZhbHVhdG9yQ29uZmlnOiBwcm9wcy5ldmFsdWF0b3JDb25maWcuX2JpbmQoKSxcbiAgICAgIGxldmVsOiBwcm9wcy5sZXZlbC52YWx1ZSxcbiAgICAgIGRlc2NyaXB0aW9uOiBwcm9wcy5kZXNjcmlwdGlvbixcbiAgICB9KTtcblxuICAgIC8vIElmIGNvZGUtYmFzZWQsIGdyYW50IHRoZSBiZWRyb2NrLWFnZW50Y29yZSBzZXJ2aWNlIHBlcm1pc3Npb24gdG8gaW52b2tlXG4gICAgLy8gdGhlIExhbWJkYSBmdW5jdGlvbiwgc2NvcGVkIHRvIHRoaXMgc3BlY2lmaWMgZXZhbHVhdG9yIGZvciBjb25mdXNlZCBkZXB1dHkgcHJldmVudGlvbi5cbiAgICBpZiAocHJvcHMuZXZhbHVhdG9yQ29uZmlnLmxhbWJkYUZ1bmN0aW9uKSB7XG4gICAgICBjb25zdCBzdGFjayA9IFN0YWNrLm9mKHRoaXMpO1xuICAgICAgcHJvcHMuZXZhbHVhdG9yQ29uZmlnLmxhbWJkYUZ1bmN0aW9uLmFkZFBlcm1pc3Npb24oJ0JlZHJvY2tBZ2VudENvcmVFdmFsdWF0b3JJbnZva2UnLCB7XG4gICAgICAgIHByaW5jaXBhbDogbmV3IGlhbS5TZXJ2aWNlUHJpbmNpcGFsKCdiZWRyb2NrLWFnZW50Y29yZS5hbWF6b25hd3MuY29tJyksXG4gICAgICAgIHNvdXJjZUFjY291bnQ6IHN0YWNrLmFjY291bnQsXG4gICAgICAgIHNvdXJjZUFybjogcmVzb3VyY2UuYXR0ckV2YWx1YXRvckFybixcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMuZXZhbHVhdG9yQXJuID0gcmVzb3VyY2UuYXR0ckV2YWx1YXRvckFybjtcbiAgICB0aGlzLmV2YWx1YXRvcklkID0gcmVzb3VyY2UuYXR0ckV2YWx1YXRvcklkO1xuICAgIHRoaXMuc3RhdHVzID0gcmVzb3VyY2UuYXR0clN0YXR1cztcbiAgICB0aGlzLmNyZWF0ZWRBdCA9IHJlc291cmNlLmF0dHJDcmVhdGVkQXQ7XG4gICAgdGhpcy51cGRhdGVkQXQgPSByZXNvdXJjZS5hdHRyVXBkYXRlZEF0O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
|
|
5
|
+
* with the License. A copy of the License is located at
|
|
6
|
+
*
|
|
7
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
|
|
10
|
+
* OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
|
|
11
|
+
* and limitations under the License.
|
|
12
|
+
*/
|
|
13
|
+
import type { CloudWatchLogsDataSourceConfig, DataSourceConfigBindResult } from './types';
|
|
14
|
+
import type { IBedrockAgentRuntime } from '../runtime/runtime-base';
|
|
15
|
+
import type { IRuntimeEndpoint } from '../runtime/runtime-endpoint-base';
|
|
16
|
+
/**
|
|
17
|
+
* Configuration for the data source used in online evaluation.
|
|
18
|
+
*
|
|
19
|
+
* Use the static factory methods to create data source configurations:
|
|
20
|
+
* - `DataSourceConfig.fromAgentRuntimeEndpoint()` for AgentCore Runtime (recommended)
|
|
21
|
+
* - `DataSourceConfig.fromAgentRuntimeEndpointName()` for AgentCore Runtime using endpoint name string
|
|
22
|
+
* - `DataSourceConfig.fromCloudWatchLogs()` for external agents or custom log groups
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* // AgentCore Runtime with default endpoint
|
|
26
|
+
* declare const runtime: agentcore.Runtime;
|
|
27
|
+
* const dataSource = agentcore.DataSourceConfig.fromAgentRuntimeEndpoint(runtime);
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* // AgentCore Runtime with specific endpoint
|
|
31
|
+
* declare const runtime: agentcore.Runtime;
|
|
32
|
+
* const endpoint = runtime.addEndpoint('PROD');
|
|
33
|
+
* const dataSource = agentcore.DataSourceConfig.fromAgentRuntimeEndpoint(runtime, endpoint);
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* // CloudWatch Logs data source (for external agents)
|
|
37
|
+
* const dataSource = agentcore.DataSourceConfig.fromCloudWatchLogs({
|
|
38
|
+
* logGroupNames: ['/aws/my-external-agent/logs'],
|
|
39
|
+
* serviceNames: ['my-external-agent'],
|
|
40
|
+
* });
|
|
41
|
+
*/
|
|
42
|
+
export declare class DataSourceConfig {
|
|
43
|
+
/**
|
|
44
|
+
* Creates a CloudWatch Logs data source configuration.
|
|
45
|
+
*
|
|
46
|
+
* Use this when your agent traces are stored in CloudWatch Logs,
|
|
47
|
+
* such as for external agents or when you need to specify log groups directly.
|
|
48
|
+
*
|
|
49
|
+
* @param config - The CloudWatch Logs data source configuration
|
|
50
|
+
* @returns A DataSourceConfig instance
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* const dataSource = agentcore.DataSourceConfig.fromCloudWatchLogs({
|
|
54
|
+
* logGroupNames: ['/aws/bedrock-agentcore/runtimes/myRuntime-abc123-DEFAULT'],
|
|
55
|
+
* serviceNames: ['myRuntime.DEFAULT'],
|
|
56
|
+
* });
|
|
57
|
+
*/
|
|
58
|
+
static fromCloudWatchLogs(config: CloudWatchLogsDataSourceConfig): DataSourceConfig;
|
|
59
|
+
/**
|
|
60
|
+
* Creates a data source configuration from an AgentCore Runtime and optional endpoint.
|
|
61
|
+
*
|
|
62
|
+
* This is the recommended way to configure evaluation for AgentCore Runtime agents.
|
|
63
|
+
* It automatically derives the CloudWatch log group and service name from the runtime and endpoint.
|
|
64
|
+
*
|
|
65
|
+
* @param runtime - The AgentCore Runtime construct
|
|
66
|
+
* @param endpoint - The RuntimeEndpoint construct. Defaults to 'DEFAULT' endpoint if not provided.
|
|
67
|
+
* @returns A DataSourceConfig instance
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* // Using default endpoint
|
|
71
|
+
* declare const runtime: agentcore.Runtime;
|
|
72
|
+
* const dataSource = agentcore.DataSourceConfig.fromAgentRuntimeEndpoint(runtime);
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* // Using a specific endpoint
|
|
76
|
+
* declare const runtime: agentcore.Runtime;
|
|
77
|
+
* const endpoint = runtime.addEndpoint('PROD');
|
|
78
|
+
* const dataSource = agentcore.DataSourceConfig.fromAgentRuntimeEndpoint(runtime, endpoint);
|
|
79
|
+
*/
|
|
80
|
+
static fromAgentRuntimeEndpoint(runtime: IBedrockAgentRuntime, endpoint?: IRuntimeEndpoint): DataSourceConfig;
|
|
81
|
+
/**
|
|
82
|
+
* Creates a data source configuration from an AgentCore Runtime and an endpoint name string.
|
|
83
|
+
*
|
|
84
|
+
* Use this method when you want to reference an endpoint by name without
|
|
85
|
+
* having a construct reference. For construct references, prefer `fromAgentRuntimeEndpoint()`.
|
|
86
|
+
*
|
|
87
|
+
* @param runtime - The AgentCore Runtime construct
|
|
88
|
+
* @param endpointName - The name of the runtime endpoint
|
|
89
|
+
* @returns A DataSourceConfig instance
|
|
90
|
+
*
|
|
91
|
+
* @example
|
|
92
|
+
* declare const runtime: agentcore.Runtime;
|
|
93
|
+
* const dataSource = agentcore.DataSourceConfig.fromAgentRuntimeEndpointName(runtime, 'PROD');
|
|
94
|
+
*/
|
|
95
|
+
static fromAgentRuntimeEndpointName(runtime: IBedrockAgentRuntime, endpointName: string): DataSourceConfig;
|
|
96
|
+
private static buildFromRuntime;
|
|
97
|
+
/**
|
|
98
|
+
* The CloudWatch Logs configuration.
|
|
99
|
+
*/
|
|
100
|
+
readonly cloudWatchLogsConfig: CloudWatchLogsDataSourceConfig;
|
|
101
|
+
private constructor();
|
|
102
|
+
/**
|
|
103
|
+
* Binds the data source configuration to produce the L1 property.
|
|
104
|
+
*/
|
|
105
|
+
bind(): DataSourceConfigBindResult;
|
|
106
|
+
}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DataSourceConfig = void 0;
|
|
4
|
+
const jsiiDeprecationWarnings = require("../../.warnings.jsii.js");
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
const validation_helpers_1 = require("./validation-helpers");
|
|
7
|
+
/**
|
|
8
|
+
* Configuration for the data source used in online evaluation.
|
|
9
|
+
*
|
|
10
|
+
* Use the static factory methods to create data source configurations:
|
|
11
|
+
* - `DataSourceConfig.fromAgentRuntimeEndpoint()` for AgentCore Runtime (recommended)
|
|
12
|
+
* - `DataSourceConfig.fromAgentRuntimeEndpointName()` for AgentCore Runtime using endpoint name string
|
|
13
|
+
* - `DataSourceConfig.fromCloudWatchLogs()` for external agents or custom log groups
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* // AgentCore Runtime with default endpoint
|
|
17
|
+
* declare const runtime: agentcore.Runtime;
|
|
18
|
+
* const dataSource = agentcore.DataSourceConfig.fromAgentRuntimeEndpoint(runtime);
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* // AgentCore Runtime with specific endpoint
|
|
22
|
+
* declare const runtime: agentcore.Runtime;
|
|
23
|
+
* const endpoint = runtime.addEndpoint('PROD');
|
|
24
|
+
* const dataSource = agentcore.DataSourceConfig.fromAgentRuntimeEndpoint(runtime, endpoint);
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* // CloudWatch Logs data source (for external agents)
|
|
28
|
+
* const dataSource = agentcore.DataSourceConfig.fromCloudWatchLogs({
|
|
29
|
+
* logGroupNames: ['/aws/my-external-agent/logs'],
|
|
30
|
+
* serviceNames: ['my-external-agent'],
|
|
31
|
+
* });
|
|
32
|
+
*/
|
|
33
|
+
class DataSourceConfig {
|
|
34
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.DataSourceConfig", version: "2.253.0-alpha.0" };
|
|
35
|
+
/**
|
|
36
|
+
* Creates a CloudWatch Logs data source configuration.
|
|
37
|
+
*
|
|
38
|
+
* Use this when your agent traces are stored in CloudWatch Logs,
|
|
39
|
+
* such as for external agents or when you need to specify log groups directly.
|
|
40
|
+
*
|
|
41
|
+
* @param config - The CloudWatch Logs data source configuration
|
|
42
|
+
* @returns A DataSourceConfig instance
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* const dataSource = agentcore.DataSourceConfig.fromCloudWatchLogs({
|
|
46
|
+
* logGroupNames: ['/aws/bedrock-agentcore/runtimes/myRuntime-abc123-DEFAULT'],
|
|
47
|
+
* serviceNames: ['myRuntime.DEFAULT'],
|
|
48
|
+
* });
|
|
49
|
+
*/
|
|
50
|
+
static fromCloudWatchLogs(config) {
|
|
51
|
+
try {
|
|
52
|
+
jsiiDeprecationWarnings._aws_cdk_aws_bedrock_agentcore_alpha_CloudWatchLogsDataSourceConfig(config);
|
|
53
|
+
}
|
|
54
|
+
catch (error) {
|
|
55
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
56
|
+
Error.captureStackTrace(error, this.fromCloudWatchLogs);
|
|
57
|
+
}
|
|
58
|
+
throw error;
|
|
59
|
+
}
|
|
60
|
+
(0, validation_helpers_1.throwIfInvalid)(validation_helpers_1.validateLogGroupNames, config.logGroupNames);
|
|
61
|
+
(0, validation_helpers_1.throwIfInvalid)(validation_helpers_1.validateServiceNames, config.serviceNames);
|
|
62
|
+
return new DataSourceConfig({
|
|
63
|
+
logGroupNames: config.logGroupNames,
|
|
64
|
+
serviceNames: config.serviceNames,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Creates a data source configuration from an AgentCore Runtime and optional endpoint.
|
|
69
|
+
*
|
|
70
|
+
* This is the recommended way to configure evaluation for AgentCore Runtime agents.
|
|
71
|
+
* It automatically derives the CloudWatch log group and service name from the runtime and endpoint.
|
|
72
|
+
*
|
|
73
|
+
* @param runtime - The AgentCore Runtime construct
|
|
74
|
+
* @param endpoint - The RuntimeEndpoint construct. Defaults to 'DEFAULT' endpoint if not provided.
|
|
75
|
+
* @returns A DataSourceConfig instance
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* // Using default endpoint
|
|
79
|
+
* declare const runtime: agentcore.Runtime;
|
|
80
|
+
* const dataSource = agentcore.DataSourceConfig.fromAgentRuntimeEndpoint(runtime);
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* // Using a specific endpoint
|
|
84
|
+
* declare const runtime: agentcore.Runtime;
|
|
85
|
+
* const endpoint = runtime.addEndpoint('PROD');
|
|
86
|
+
* const dataSource = agentcore.DataSourceConfig.fromAgentRuntimeEndpoint(runtime, endpoint);
|
|
87
|
+
*/
|
|
88
|
+
static fromAgentRuntimeEndpoint(runtime, endpoint) {
|
|
89
|
+
try {
|
|
90
|
+
jsiiDeprecationWarnings._aws_cdk_aws_bedrock_agentcore_alpha_IBedrockAgentRuntime(runtime);
|
|
91
|
+
jsiiDeprecationWarnings._aws_cdk_aws_bedrock_agentcore_alpha_IRuntimeEndpoint(endpoint);
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
95
|
+
Error.captureStackTrace(error, this.fromAgentRuntimeEndpoint);
|
|
96
|
+
}
|
|
97
|
+
throw error;
|
|
98
|
+
}
|
|
99
|
+
const endpointName = endpoint?.endpointName ?? 'DEFAULT';
|
|
100
|
+
return DataSourceConfig.buildFromRuntime(runtime, endpointName);
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Creates a data source configuration from an AgentCore Runtime and an endpoint name string.
|
|
104
|
+
*
|
|
105
|
+
* Use this method when you want to reference an endpoint by name without
|
|
106
|
+
* having a construct reference. For construct references, prefer `fromAgentRuntimeEndpoint()`.
|
|
107
|
+
*
|
|
108
|
+
* @param runtime - The AgentCore Runtime construct
|
|
109
|
+
* @param endpointName - The name of the runtime endpoint
|
|
110
|
+
* @returns A DataSourceConfig instance
|
|
111
|
+
*
|
|
112
|
+
* @example
|
|
113
|
+
* declare const runtime: agentcore.Runtime;
|
|
114
|
+
* const dataSource = agentcore.DataSourceConfig.fromAgentRuntimeEndpointName(runtime, 'PROD');
|
|
115
|
+
*/
|
|
116
|
+
static fromAgentRuntimeEndpointName(runtime, endpointName) {
|
|
117
|
+
try {
|
|
118
|
+
jsiiDeprecationWarnings._aws_cdk_aws_bedrock_agentcore_alpha_IBedrockAgentRuntime(runtime);
|
|
119
|
+
}
|
|
120
|
+
catch (error) {
|
|
121
|
+
if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
|
|
122
|
+
Error.captureStackTrace(error, this.fromAgentRuntimeEndpointName);
|
|
123
|
+
}
|
|
124
|
+
throw error;
|
|
125
|
+
}
|
|
126
|
+
return DataSourceConfig.buildFromRuntime(runtime, endpointName);
|
|
127
|
+
}
|
|
128
|
+
static buildFromRuntime(runtime, endpointName) {
|
|
129
|
+
const logGroupName = `/aws/bedrock-agentcore/runtimes/${runtime.agentRuntimeId}-${endpointName}`;
|
|
130
|
+
const serviceName = `${runtime.agentRuntimeName}.${endpointName}`;
|
|
131
|
+
return new DataSourceConfig({
|
|
132
|
+
logGroupNames: [logGroupName],
|
|
133
|
+
serviceNames: [serviceName],
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* The CloudWatch Logs configuration.
|
|
138
|
+
*/
|
|
139
|
+
cloudWatchLogsConfig;
|
|
140
|
+
constructor(config) {
|
|
141
|
+
this.cloudWatchLogsConfig = config;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Binds the data source configuration to produce the L1 property.
|
|
145
|
+
*/
|
|
146
|
+
bind() {
|
|
147
|
+
return {
|
|
148
|
+
cloudWatchLogs: {
|
|
149
|
+
logGroupNames: this.cloudWatchLogsConfig.logGroupNames,
|
|
150
|
+
serviceNames: this.cloudWatchLogsConfig.serviceNames,
|
|
151
|
+
},
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
exports.DataSourceConfig = DataSourceConfig;
|
|
156
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJkYXRhLXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQWNBLDZEQUFtRztBQUluRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlCRztBQUNILE1BQWEsZ0JBQWdCOztJQUMzQjs7Ozs7Ozs7Ozs7Ozs7T0FjRztJQUNJLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxNQUFzQzs7Ozs7Ozs7OztRQUNyRSxJQUFBLG1DQUFjLEVBQUMsMENBQXFCLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzVELElBQUEsbUNBQWMsRUFBQyx5Q0FBb0IsRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDMUQsT0FBTyxJQUFJLGdCQUFnQixDQUFDO1lBQzFCLGFBQWEsRUFBRSxNQUFNLENBQUMsYUFBYTtZQUNuQyxZQUFZLEVBQUUsTUFBTSxDQUFDLFlBQVk7U0FDbEMsQ0FBQyxDQUFDO0tBQ0o7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FvQkc7SUFDSSxNQUFNLENBQUMsd0JBQXdCLENBQ3BDLE9BQTZCLEVBQzdCLFFBQTJCOzs7Ozs7Ozs7OztRQUUzQixNQUFNLFlBQVksR0FBRyxRQUFRLEVBQUUsWUFBWSxJQUFJLFNBQVMsQ0FBQztRQUV6RCxPQUFPLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztLQUNqRTtJQUVEOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSSxNQUFNLENBQUMsNEJBQTRCLENBQ3hDLE9BQTZCLEVBQzdCLFlBQW9COzs7Ozs7Ozs7O1FBRXBCLE9BQU8sZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO0tBQ2pFO0lBRU8sTUFBTSxDQUFDLGdCQUFnQixDQUM3QixPQUE2QixFQUM3QixZQUFvQjtRQUVwQixNQUFNLFlBQVksR0FBRyxtQ0FBbUMsT0FBTyxDQUFDLGNBQWMsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqRyxNQUFNLFdBQVcsR0FBRyxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUVsRSxPQUFPLElBQUksZ0JBQWdCLENBQUM7WUFDMUIsYUFBYSxFQUFFLENBQUMsWUFBWSxDQUFDO1lBQzdCLFlBQVksRUFBRSxDQUFDLFdBQVcsQ0FBQztTQUM1QixDQUFDLENBQUM7S0FDSjtJQUVEOztPQUVHO0lBQ2Esb0JBQW9CLENBQWlDO0lBRXJFLFlBQW9CLE1BQXNDO1FBQ3hELElBQUksQ0FBQyxvQkFBb0IsR0FBRyxNQUFNLENBQUM7S0FDcEM7SUFFRDs7T0FFRztJQUNJLElBQUk7UUFDVCxPQUFPO1lBQ0wsY0FBYyxFQUFFO2dCQUNkLGFBQWEsRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsYUFBYTtnQkFDdEQsWUFBWSxFQUFFLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZO2FBQ3JEO1NBQ0YsQ0FBQztLQUNIOztBQTVHSCw0Q0E2R0MiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IENsb3VkV2F0Y2hMb2dzRGF0YVNvdXJjZUNvbmZpZywgRGF0YVNvdXJjZUNvbmZpZ0JpbmRSZXN1bHQgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IHRocm93SWZJbnZhbGlkLCB2YWxpZGF0ZUxvZ0dyb3VwTmFtZXMsIHZhbGlkYXRlU2VydmljZU5hbWVzIH0gZnJvbSAnLi92YWxpZGF0aW9uLWhlbHBlcnMnO1xuaW1wb3J0IHR5cGUgeyBJQmVkcm9ja0FnZW50UnVudGltZSB9IGZyb20gJy4uL3J1bnRpbWUvcnVudGltZS1iYXNlJztcbmltcG9ydCB0eXBlIHsgSVJ1bnRpbWVFbmRwb2ludCB9IGZyb20gJy4uL3J1bnRpbWUvcnVudGltZS1lbmRwb2ludC1iYXNlJztcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciB0aGUgZGF0YSBzb3VyY2UgdXNlZCBpbiBvbmxpbmUgZXZhbHVhdGlvbi5cbiAqXG4gKiBVc2UgdGhlIHN0YXRpYyBmYWN0b3J5IG1ldGhvZHMgdG8gY3JlYXRlIGRhdGEgc291cmNlIGNvbmZpZ3VyYXRpb25zOlxuICogLSBgRGF0YVNvdXJjZUNvbmZpZy5mcm9tQWdlbnRSdW50aW1lRW5kcG9pbnQoKWAgZm9yIEFnZW50Q29yZSBSdW50aW1lIChyZWNvbW1lbmRlZClcbiAqIC0gYERhdGFTb3VyY2VDb25maWcuZnJvbUFnZW50UnVudGltZUVuZHBvaW50TmFtZSgpYCBmb3IgQWdlbnRDb3JlIFJ1bnRpbWUgdXNpbmcgZW5kcG9pbnQgbmFtZSBzdHJpbmdcbiAqIC0gYERhdGFTb3VyY2VDb25maWcuZnJvbUNsb3VkV2F0Y2hMb2dzKClgIGZvciBleHRlcm5hbCBhZ2VudHMgb3IgY3VzdG9tIGxvZyBncm91cHNcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQWdlbnRDb3JlIFJ1bnRpbWUgd2l0aCBkZWZhdWx0IGVuZHBvaW50XG4gKiBkZWNsYXJlIGNvbnN0IHJ1bnRpbWU6IGFnZW50Y29yZS5SdW50aW1lO1xuICogY29uc3QgZGF0YVNvdXJjZSA9IGFnZW50Y29yZS5EYXRhU291cmNlQ29uZmlnLmZyb21BZ2VudFJ1bnRpbWVFbmRwb2ludChydW50aW1lKTtcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQWdlbnRDb3JlIFJ1bnRpbWUgd2l0aCBzcGVjaWZpYyBlbmRwb2ludFxuICogZGVjbGFyZSBjb25zdCBydW50aW1lOiBhZ2VudGNvcmUuUnVudGltZTtcbiAqIGNvbnN0IGVuZHBvaW50ID0gcnVudGltZS5hZGRFbmRwb2ludCgnUFJPRCcpO1xuICogY29uc3QgZGF0YVNvdXJjZSA9IGFnZW50Y29yZS5EYXRhU291cmNlQ29uZmlnLmZyb21BZ2VudFJ1bnRpbWVFbmRwb2ludChydW50aW1lLCBlbmRwb2ludCk7XG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIENsb3VkV2F0Y2ggTG9ncyBkYXRhIHNvdXJjZSAoZm9yIGV4dGVybmFsIGFnZW50cylcbiAqIGNvbnN0IGRhdGFTb3VyY2UgPSBhZ2VudGNvcmUuRGF0YVNvdXJjZUNvbmZpZy5mcm9tQ2xvdWRXYXRjaExvZ3Moe1xuICogICBsb2dHcm91cE5hbWVzOiBbJy9hd3MvbXktZXh0ZXJuYWwtYWdlbnQvbG9ncyddLFxuICogICBzZXJ2aWNlTmFtZXM6IFsnbXktZXh0ZXJuYWwtYWdlbnQnXSxcbiAqIH0pO1xuICovXG5leHBvcnQgY2xhc3MgRGF0YVNvdXJjZUNvbmZpZyB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgQ2xvdWRXYXRjaCBMb2dzIGRhdGEgc291cmNlIGNvbmZpZ3VyYXRpb24uXG4gICAqXG4gICAqIFVzZSB0aGlzIHdoZW4geW91ciBhZ2VudCB0cmFjZXMgYXJlIHN0b3JlZCBpbiBDbG91ZFdhdGNoIExvZ3MsXG4gICAqIHN1Y2ggYXMgZm9yIGV4dGVybmFsIGFnZW50cyBvciB3aGVuIHlvdSBuZWVkIHRvIHNwZWNpZnkgbG9nIGdyb3VwcyBkaXJlY3RseS5cbiAgICpcbiAgICogQHBhcmFtIGNvbmZpZyAtIFRoZSBDbG91ZFdhdGNoIExvZ3MgZGF0YSBzb3VyY2UgY29uZmlndXJhdGlvblxuICAgKiBAcmV0dXJucyBBIERhdGFTb3VyY2VDb25maWcgaW5zdGFuY2VcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogY29uc3QgZGF0YVNvdXJjZSA9IGFnZW50Y29yZS5EYXRhU291cmNlQ29uZmlnLmZyb21DbG91ZFdhdGNoTG9ncyh7XG4gICAqICAgbG9nR3JvdXBOYW1lczogWycvYXdzL2JlZHJvY2stYWdlbnRjb3JlL3J1bnRpbWVzL215UnVudGltZS1hYmMxMjMtREVGQVVMVCddLFxuICAgKiAgIHNlcnZpY2VOYW1lczogWydteVJ1bnRpbWUuREVGQVVMVCddLFxuICAgKiB9KTtcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUNsb3VkV2F0Y2hMb2dzKGNvbmZpZzogQ2xvdWRXYXRjaExvZ3NEYXRhU291cmNlQ29uZmlnKTogRGF0YVNvdXJjZUNvbmZpZyB7XG4gICAgdGhyb3dJZkludmFsaWQodmFsaWRhdGVMb2dHcm91cE5hbWVzLCBjb25maWcubG9nR3JvdXBOYW1lcyk7XG4gICAgdGhyb3dJZkludmFsaWQodmFsaWRhdGVTZXJ2aWNlTmFtZXMsIGNvbmZpZy5zZXJ2aWNlTmFtZXMpO1xuICAgIHJldHVybiBuZXcgRGF0YVNvdXJjZUNvbmZpZyh7XG4gICAgICBsb2dHcm91cE5hbWVzOiBjb25maWcubG9nR3JvdXBOYW1lcyxcbiAgICAgIHNlcnZpY2VOYW1lczogY29uZmlnLnNlcnZpY2VOYW1lcyxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgZGF0YSBzb3VyY2UgY29uZmlndXJhdGlvbiBmcm9tIGFuIEFnZW50Q29yZSBSdW50aW1lIGFuZCBvcHRpb25hbCBlbmRwb2ludC5cbiAgICpcbiAgICogVGhpcyBpcyB0aGUgcmVjb21tZW5kZWQgd2F5IHRvIGNvbmZpZ3VyZSBldmFsdWF0aW9uIGZvciBBZ2VudENvcmUgUnVudGltZSBhZ2VudHMuXG4gICAqIEl0IGF1dG9tYXRpY2FsbHkgZGVyaXZlcyB0aGUgQ2xvdWRXYXRjaCBsb2cgZ3JvdXAgYW5kIHNlcnZpY2UgbmFtZSBmcm9tIHRoZSBydW50aW1lIGFuZCBlbmRwb2ludC5cbiAgICpcbiAgICogQHBhcmFtIHJ1bnRpbWUgLSBUaGUgQWdlbnRDb3JlIFJ1bnRpbWUgY29uc3RydWN0XG4gICAqIEBwYXJhbSBlbmRwb2ludCAtIFRoZSBSdW50aW1lRW5kcG9pbnQgY29uc3RydWN0LiBEZWZhdWx0cyB0byAnREVGQVVMVCcgZW5kcG9pbnQgaWYgbm90IHByb3ZpZGVkLlxuICAgKiBAcmV0dXJucyBBIERhdGFTb3VyY2VDb25maWcgaW5zdGFuY2VcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogLy8gVXNpbmcgZGVmYXVsdCBlbmRwb2ludFxuICAgKiBkZWNsYXJlIGNvbnN0IHJ1bnRpbWU6IGFnZW50Y29yZS5SdW50aW1lO1xuICAgKiBjb25zdCBkYXRhU291cmNlID0gYWdlbnRjb3JlLkRhdGFTb3VyY2VDb25maWcuZnJvbUFnZW50UnVudGltZUVuZHBvaW50KHJ1bnRpbWUpO1xuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiAvLyBVc2luZyBhIHNwZWNpZmljIGVuZHBvaW50XG4gICAqIGRlY2xhcmUgY29uc3QgcnVudGltZTogYWdlbnRjb3JlLlJ1bnRpbWU7XG4gICAqIGNvbnN0IGVuZHBvaW50ID0gcnVudGltZS5hZGRFbmRwb2ludCgnUFJPRCcpO1xuICAgKiBjb25zdCBkYXRhU291cmNlID0gYWdlbnRjb3JlLkRhdGFTb3VyY2VDb25maWcuZnJvbUFnZW50UnVudGltZUVuZHBvaW50KHJ1bnRpbWUsIGVuZHBvaW50KTtcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUFnZW50UnVudGltZUVuZHBvaW50KFxuICAgIHJ1bnRpbWU6IElCZWRyb2NrQWdlbnRSdW50aW1lLFxuICAgIGVuZHBvaW50PzogSVJ1bnRpbWVFbmRwb2ludCxcbiAgKTogRGF0YVNvdXJjZUNvbmZpZyB7XG4gICAgY29uc3QgZW5kcG9pbnROYW1lID0gZW5kcG9pbnQ/LmVuZHBvaW50TmFtZSA/PyAnREVGQVVMVCc7XG5cbiAgICByZXR1cm4gRGF0YVNvdXJjZUNvbmZpZy5idWlsZEZyb21SdW50aW1lKHJ1bnRpbWUsIGVuZHBvaW50TmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGRhdGEgc291cmNlIGNvbmZpZ3VyYXRpb24gZnJvbSBhbiBBZ2VudENvcmUgUnVudGltZSBhbmQgYW4gZW5kcG9pbnQgbmFtZSBzdHJpbmcuXG4gICAqXG4gICAqIFVzZSB0aGlzIG1ldGhvZCB3aGVuIHlvdSB3YW50IHRvIHJlZmVyZW5jZSBhbiBlbmRwb2ludCBieSBuYW1lIHdpdGhvdXRcbiAgICogaGF2aW5nIGEgY29uc3RydWN0IHJlZmVyZW5jZS4gRm9yIGNvbnN0cnVjdCByZWZlcmVuY2VzLCBwcmVmZXIgYGZyb21BZ2VudFJ1bnRpbWVFbmRwb2ludCgpYC5cbiAgICpcbiAgICogQHBhcmFtIHJ1bnRpbWUgLSBUaGUgQWdlbnRDb3JlIFJ1bnRpbWUgY29uc3RydWN0XG4gICAqIEBwYXJhbSBlbmRwb2ludE5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgcnVudGltZSBlbmRwb2ludFxuICAgKiBAcmV0dXJucyBBIERhdGFTb3VyY2VDb25maWcgaW5zdGFuY2VcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogZGVjbGFyZSBjb25zdCBydW50aW1lOiBhZ2VudGNvcmUuUnVudGltZTtcbiAgICogY29uc3QgZGF0YVNvdXJjZSA9IGFnZW50Y29yZS5EYXRhU291cmNlQ29uZmlnLmZyb21BZ2VudFJ1bnRpbWVFbmRwb2ludE5hbWUocnVudGltZSwgJ1BST0QnKTtcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZnJvbUFnZW50UnVudGltZUVuZHBvaW50TmFtZShcbiAgICBydW50aW1lOiBJQmVkcm9ja0FnZW50UnVudGltZSxcbiAgICBlbmRwb2ludE5hbWU6IHN0cmluZyxcbiAgKTogRGF0YVNvdXJjZUNvbmZpZyB7XG4gICAgcmV0dXJuIERhdGFTb3VyY2VDb25maWcuYnVpbGRGcm9tUnVudGltZShydW50aW1lLCBlbmRwb2ludE5hbWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgYnVpbGRGcm9tUnVudGltZShcbiAgICBydW50aW1lOiBJQmVkcm9ja0FnZW50UnVudGltZSxcbiAgICBlbmRwb2ludE5hbWU6IHN0cmluZyxcbiAgKTogRGF0YVNvdXJjZUNvbmZpZyB7XG4gICAgY29uc3QgbG9nR3JvdXBOYW1lID0gYC9hd3MvYmVkcm9jay1hZ2VudGNvcmUvcnVudGltZXMvJHtydW50aW1lLmFnZW50UnVudGltZUlkfS0ke2VuZHBvaW50TmFtZX1gO1xuICAgIGNvbnN0IHNlcnZpY2VOYW1lID0gYCR7cnVudGltZS5hZ2VudFJ1bnRpbWVOYW1lfS4ke2VuZHBvaW50TmFtZX1gO1xuXG4gICAgcmV0dXJuIG5ldyBEYXRhU291cmNlQ29uZmlnKHtcbiAgICAgIGxvZ0dyb3VwTmFtZXM6IFtsb2dHcm91cE5hbWVdLFxuICAgICAgc2VydmljZU5hbWVzOiBbc2VydmljZU5hbWVdLFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBDbG91ZFdhdGNoIExvZ3MgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjbG91ZFdhdGNoTG9nc0NvbmZpZzogQ2xvdWRXYXRjaExvZ3NEYXRhU291cmNlQ29uZmlnO1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoY29uZmlnOiBDbG91ZFdhdGNoTG9nc0RhdGFTb3VyY2VDb25maWcpIHtcbiAgICB0aGlzLmNsb3VkV2F0Y2hMb2dzQ29uZmlnID0gY29uZmlnO1xuICB9XG5cbiAgLyoqXG4gICAqIEJpbmRzIHRoZSBkYXRhIHNvdXJjZSBjb25maWd1cmF0aW9uIHRvIHByb2R1Y2UgdGhlIEwxIHByb3BlcnR5LlxuICAgKi9cbiAgcHVibGljIGJpbmQoKTogRGF0YVNvdXJjZUNvbmZpZ0JpbmRSZXN1bHQge1xuICAgIHJldHVybiB7XG4gICAgICBjbG91ZFdhdGNoTG9nczoge1xuICAgICAgICBsb2dHcm91cE5hbWVzOiB0aGlzLmNsb3VkV2F0Y2hMb2dzQ29uZmlnLmxvZ0dyb3VwTmFtZXMsXG4gICAgICAgIHNlcnZpY2VOYW1lczogdGhpcy5jbG91ZFdhdGNoTG9nc0NvbmZpZy5zZXJ2aWNlTmFtZXMsXG4gICAgICB9LFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,82 @@
|
|
|
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 { Resource, type IResource, type ResourceProps } from 'aws-cdk-lib';
|
|
14
|
+
import type { IEvaluatorRef, EvaluatorReference as L1EvaluatorReference } from 'aws-cdk-lib/aws-bedrockagentcore';
|
|
15
|
+
import * as iam from 'aws-cdk-lib/aws-iam';
|
|
16
|
+
import type { Construct } from 'constructs';
|
|
17
|
+
/**
|
|
18
|
+
* Interface for Evaluator resources.
|
|
19
|
+
*/
|
|
20
|
+
export interface IEvaluator extends IResource, IEvaluatorRef {
|
|
21
|
+
/**
|
|
22
|
+
* The ARN of the evaluator.
|
|
23
|
+
* @attribute
|
|
24
|
+
*/
|
|
25
|
+
readonly evaluatorArn: string;
|
|
26
|
+
/**
|
|
27
|
+
* The unique identifier of the evaluator.
|
|
28
|
+
* @attribute
|
|
29
|
+
*/
|
|
30
|
+
readonly evaluatorId: string;
|
|
31
|
+
/**
|
|
32
|
+
* The name of the evaluator.
|
|
33
|
+
* @attribute
|
|
34
|
+
*/
|
|
35
|
+
readonly evaluatorName: string;
|
|
36
|
+
/**
|
|
37
|
+
* The lifecycle status of the evaluator (CREATING, ACTIVE, FAILED, DELETING).
|
|
38
|
+
* @attribute
|
|
39
|
+
*/
|
|
40
|
+
readonly status?: string;
|
|
41
|
+
/**
|
|
42
|
+
* The timestamp when the evaluator was created.
|
|
43
|
+
* @attribute
|
|
44
|
+
*/
|
|
45
|
+
readonly createdAt?: string;
|
|
46
|
+
/**
|
|
47
|
+
* The timestamp when the evaluator was last updated.
|
|
48
|
+
* @attribute
|
|
49
|
+
*/
|
|
50
|
+
readonly updatedAt?: string;
|
|
51
|
+
/**
|
|
52
|
+
* Grant the given principal identity permissions to perform actions on this evaluator.
|
|
53
|
+
*/
|
|
54
|
+
grant(grantee: iam.IGrantable, ...actions: string[]): iam.Grant;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Abstract base class for Evaluator.
|
|
58
|
+
* Contains methods and attributes valid for evaluators either created with CDK or imported.
|
|
59
|
+
*/
|
|
60
|
+
export declare abstract class EvaluatorBase extends Resource implements IEvaluator {
|
|
61
|
+
abstract readonly evaluatorArn: string;
|
|
62
|
+
abstract readonly evaluatorId: string;
|
|
63
|
+
abstract readonly evaluatorName: string;
|
|
64
|
+
abstract readonly status?: string;
|
|
65
|
+
abstract readonly createdAt?: string;
|
|
66
|
+
abstract readonly updatedAt?: string;
|
|
67
|
+
constructor(scope: Construct, id: string, props?: ResourceProps);
|
|
68
|
+
/**
|
|
69
|
+
* A reference to this Evaluator resource.
|
|
70
|
+
*/
|
|
71
|
+
get evaluatorRef(): L1EvaluatorReference;
|
|
72
|
+
/**
|
|
73
|
+
* Grants IAM actions to the IAM Principal.
|
|
74
|
+
*
|
|
75
|
+
* [disable-awslint:no-grants]
|
|
76
|
+
*
|
|
77
|
+
* @param grantee - The IAM principal to grant permissions to
|
|
78
|
+
* @param actions - The actions to grant
|
|
79
|
+
* @returns An IAM Grant object representing the granted permissions
|
|
80
|
+
*/
|
|
81
|
+
grant(grantee: iam.IGrantable, ...actions: string[]): iam.Grant;
|
|
82
|
+
}
|