@aws-cdk/aws-bedrock-agentcore-alpha 2.252.0-alpha.0 → 2.253.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/.jsii +11191 -7249
  2. package/.jsii.tabl.json.gz +0 -0
  3. package/.warnings.jsii.js +30 -0
  4. package/README.md +422 -0
  5. package/lib/evaluation/custom-evaluator.d.ts +153 -0
  6. package/lib/evaluation/custom-evaluator.js +256 -0
  7. package/lib/evaluation/data-source.d.ts +106 -0
  8. package/lib/evaluation/data-source.js +156 -0
  9. package/lib/evaluation/evaluator-base.d.ts +82 -0
  10. package/lib/evaluation/evaluator-base.js +55 -0
  11. package/lib/evaluation/evaluator-config.d.ts +195 -0
  12. package/lib/evaluation/evaluator-config.js +184 -0
  13. package/lib/evaluation/evaluator.d.ts +68 -0
  14. package/lib/evaluation/evaluator.js +90 -0
  15. package/lib/evaluation/online-evaluation-base.d.ts +96 -0
  16. package/lib/evaluation/online-evaluation-base.js +55 -0
  17. package/lib/evaluation/online-evaluation.d.ts +134 -0
  18. package/lib/evaluation/online-evaluation.js +388 -0
  19. package/lib/evaluation/perms.d.ts +34 -0
  20. package/lib/evaluation/perms.js +53 -0
  21. package/lib/evaluation/types.d.ts +461 -0
  22. package/lib/evaluation/types.js +229 -0
  23. package/lib/evaluation/validation-helpers.d.ts +133 -0
  24. package/lib/evaluation/validation-helpers.js +349 -0
  25. package/lib/gateway/gateway-base.js +1 -1
  26. package/lib/gateway/gateway.js +2 -2
  27. package/lib/gateway/inbound-auth/authorizer.js +4 -4
  28. package/lib/gateway/inbound-auth/custom-claim.js +1 -1
  29. package/lib/gateway/interceptor.js +1 -1
  30. package/lib/gateway/outbound-auth/api-key.js +1 -1
  31. package/lib/gateway/outbound-auth/credential-provider.js +1 -1
  32. package/lib/gateway/protocol.js +2 -2
  33. package/lib/gateway/targets/schema/api-schema.js +4 -4
  34. package/lib/gateway/targets/schema/tool-schema.js +4 -4
  35. package/lib/gateway/targets/target-base.js +1 -1
  36. package/lib/gateway/targets/target-configuration.js +6 -6
  37. package/lib/gateway/targets/target.js +1 -1
  38. package/lib/index.d.ts +9 -0
  39. package/lib/index.js +13 -1
  40. package/lib/memory/memory-strategy.js +1 -1
  41. package/lib/memory/memory.js +2 -2
  42. package/lib/memory/strategies/managed-strategy.js +1 -1
  43. package/lib/memory/strategies/self-managed-strategy.js +8 -5
  44. package/lib/network/network-configuration.js +4 -4
  45. package/lib/policy/policy-base.js +1 -1
  46. package/lib/policy/policy-engine-base.js +1 -1
  47. package/lib/policy/policy-engine.js +1 -1
  48. package/lib/policy/policy-statement.js +5 -5
  49. package/lib/policy/policy-types.js +1 -1
  50. package/lib/policy/policy.js +1 -1
  51. package/lib/runtime/inbound-auth/custom-claim.js +1 -1
  52. package/lib/runtime/inbound-auth/runtime-authorizer-configuration.js +1 -1
  53. package/lib/runtime/observability.js +2 -2
  54. package/lib/runtime/runtime-artifact.js +1 -1
  55. package/lib/runtime/runtime-base.js +1 -1
  56. package/lib/runtime/runtime-endpoint-base.js +1 -1
  57. package/lib/runtime/runtime-endpoint.js +1 -1
  58. package/lib/runtime/runtime.js +1 -1
  59. package/lib/tools/browser.js +2 -2
  60. package/lib/tools/code-interpreter.js +2 -2
  61. package/package.json +10 -9
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EvaluatorBase = void 0;
4
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
5
+ /**
6
+ * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
7
+ *
8
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance
9
+ * with the License. A copy of the License is located at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES
14
+ * OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions
15
+ * and limitations under the License.
16
+ */
17
+ const aws_cdk_lib_1 = require("aws-cdk-lib");
18
+ const iam = require("aws-cdk-lib/aws-iam");
19
+ /**
20
+ * Abstract base class for Evaluator.
21
+ * Contains methods and attributes valid for evaluators either created with CDK or imported.
22
+ */
23
+ class EvaluatorBase extends aws_cdk_lib_1.Resource {
24
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.EvaluatorBase", version: "2.253.0-alpha.0" };
25
+ constructor(scope, id, props = {}) {
26
+ super(scope, id, props);
27
+ }
28
+ /**
29
+ * A reference to this Evaluator resource.
30
+ */
31
+ get evaluatorRef() {
32
+ return {
33
+ evaluatorArn: this.evaluatorArn,
34
+ };
35
+ }
36
+ /**
37
+ * Grants IAM actions to the IAM Principal.
38
+ *
39
+ * [disable-awslint:no-grants]
40
+ *
41
+ * @param grantee - The IAM principal to grant permissions to
42
+ * @param actions - The actions to grant
43
+ * @returns An IAM Grant object representing the granted permissions
44
+ */
45
+ grant(grantee, ...actions) {
46
+ return iam.Grant.addToPrincipal({
47
+ grantee,
48
+ actions,
49
+ resourceArns: [this.evaluatorArn],
50
+ scope: this,
51
+ });
52
+ }
53
+ }
54
+ exports.EvaluatorBase = EvaluatorBase;
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZhbHVhdG9yLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJldmFsdWF0b3ItYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUE7Ozs7Ozs7Ozs7O0dBV0c7QUFFSCw2Q0FBMkU7QUFFM0UsMkNBQTJDO0FBaUQzQzs7O0dBR0c7QUFDSCxNQUFzQixhQUFjLFNBQVEsc0JBQVE7O0lBUWxELFlBQVksS0FBZ0IsRUFBRSxFQUFVLEVBQUUsUUFBdUIsRUFBRTtRQUNqRSxLQUFLLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztLQUN6QjtJQUVEOztPQUVHO0lBQ0gsSUFBVyxZQUFZO1FBQ3JCLE9BQU87WUFDTCxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7U0FDaEMsQ0FBQztLQUNIO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSSxLQUFLLENBQUMsT0FBdUIsRUFBRSxHQUFHLE9BQWlCO1FBQ3hELE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUM7WUFDOUIsT0FBTztZQUNQLE9BQU87WUFDUCxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO1lBQ2pDLEtBQUssRUFBRSxJQUFJO1NBQ1osQ0FBQyxDQUFDO0tBQ0o7O0FBckNILHNDQXNDQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7IFJlc291cmNlLCB0eXBlIElSZXNvdXJjZSwgdHlwZSBSZXNvdXJjZVByb3BzIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHR5cGUgeyBJRXZhbHVhdG9yUmVmLCBFdmFsdWF0b3JSZWZlcmVuY2UgYXMgTDFFdmFsdWF0b3JSZWZlcmVuY2UgfSBmcm9tICdhd3MtY2RrLWxpYi9hd3MtYmVkcm9ja2FnZW50Y29yZSc7XG5pbXBvcnQgKiBhcyBpYW0gZnJvbSAnYXdzLWNkay1saWIvYXdzLWlhbSc7XG5pbXBvcnQgdHlwZSB7IENvbnN0cnVjdCB9IGZyb20gJ2NvbnN0cnVjdHMnO1xuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgRXZhbHVhdG9yIHJlc291cmNlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJRXZhbHVhdG9yIGV4dGVuZHMgSVJlc291cmNlLCBJRXZhbHVhdG9yUmVmIHtcbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIGV2YWx1YXRvci5cbiAgICogQGF0dHJpYnV0ZVxuICAgKi9cbiAgcmVhZG9ubHkgZXZhbHVhdG9yQXJuOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgZXZhbHVhdG9yLlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBldmFsdWF0b3JJZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgZXZhbHVhdG9yLlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBldmFsdWF0b3JOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBsaWZlY3ljbGUgc3RhdHVzIG9mIHRoZSBldmFsdWF0b3IgKENSRUFUSU5HLCBBQ1RJVkUsIEZBSUxFRCwgREVMRVRJTkcpLlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBzdGF0dXM/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0aW1lc3RhbXAgd2hlbiB0aGUgZXZhbHVhdG9yIHdhcyBjcmVhdGVkLlxuICAgKiBAYXR0cmlidXRlXG4gICAqL1xuICByZWFkb25seSBjcmVhdGVkQXQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0aW1lc3RhbXAgd2hlbiB0aGUgZXZhbHVhdG9yIHdhcyBsYXN0IHVwZGF0ZWQuXG4gICAqIEBhdHRyaWJ1dGVcbiAgICovXG4gIHJlYWRvbmx5IHVwZGF0ZWRBdD86IHN0cmluZztcblxuICAvKipcbiAgICogR3JhbnQgdGhlIGdpdmVuIHByaW5jaXBhbCBpZGVudGl0eSBwZXJtaXNzaW9ucyB0byBwZXJmb3JtIGFjdGlvbnMgb24gdGhpcyBldmFsdWF0b3IuXG4gICAqL1xuICBncmFudChncmFudGVlOiBpYW0uSUdyYW50YWJsZSwgLi4uYWN0aW9uczogc3RyaW5nW10pOiBpYW0uR3JhbnQ7XG59XG5cbi8qKlxuICogQWJzdHJhY3QgYmFzZSBjbGFzcyBmb3IgRXZhbHVhdG9yLlxuICogQ29udGFpbnMgbWV0aG9kcyBhbmQgYXR0cmlidXRlcyB2YWxpZCBmb3IgZXZhbHVhdG9ycyBlaXRoZXIgY3JlYXRlZCB3aXRoIENESyBvciBpbXBvcnRlZC5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEV2YWx1YXRvckJhc2UgZXh0ZW5kcyBSZXNvdXJjZSBpbXBsZW1lbnRzIElFdmFsdWF0b3Ige1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgZXZhbHVhdG9yQXJuOiBzdHJpbmc7XG4gIHB1YmxpYyBhYnN0cmFjdCByZWFkb25seSBldmFsdWF0b3JJZDogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgZXZhbHVhdG9yTmFtZTogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgc3RhdHVzPzogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgY3JlYXRlZEF0Pzogc3RyaW5nO1xuICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgdXBkYXRlZEF0Pzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBDb25zdHJ1Y3QsIGlkOiBzdHJpbmcsIHByb3BzOiBSZXNvdXJjZVByb3BzID0ge30pIHtcbiAgICBzdXBlcihzY29wZSwgaWQsIHByb3BzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIHJlZmVyZW5jZSB0byB0aGlzIEV2YWx1YXRvciByZXNvdXJjZS5cbiAgICovXG4gIHB1YmxpYyBnZXQgZXZhbHVhdG9yUmVmKCk6IEwxRXZhbHVhdG9yUmVmZXJlbmNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgZXZhbHVhdG9yQXJuOiB0aGlzLmV2YWx1YXRvckFybixcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdyYW50cyBJQU0gYWN0aW9ucyB0byB0aGUgSUFNIFByaW5jaXBhbC5cbiAgICpcbiAgICogW2Rpc2FibGUtYXdzbGludDpuby1ncmFudHNdXG4gICAqXG4gICAqIEBwYXJhbSBncmFudGVlIC0gVGhlIElBTSBwcmluY2lwYWwgdG8gZ3JhbnQgcGVybWlzc2lvbnMgdG9cbiAgICogQHBhcmFtIGFjdGlvbnMgLSBUaGUgYWN0aW9ucyB0byBncmFudFxuICAgKiBAcmV0dXJucyBBbiBJQU0gR3JhbnQgb2JqZWN0IHJlcHJlc2VudGluZyB0aGUgZ3JhbnRlZCBwZXJtaXNzaW9uc1xuICAgKi9cbiAgcHVibGljIGdyYW50KGdyYW50ZWU6IGlhbS5JR3JhbnRhYmxlLCAuLi5hY3Rpb25zOiBzdHJpbmdbXSk6IGlhbS5HcmFudCB7XG4gICAgcmV0dXJuIGlhbS5HcmFudC5hZGRUb1ByaW5jaXBhbCh7XG4gICAgICBncmFudGVlLFxuICAgICAgYWN0aW9ucyxcbiAgICAgIHJlc291cmNlQXJuczogW3RoaXMuZXZhbHVhdG9yQXJuXSxcbiAgICAgIHNjb3BlOiB0aGlzLFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,195 @@
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 { Duration } from 'aws-cdk-lib';
14
+ import type * as bedrockagentcore from 'aws-cdk-lib/aws-bedrockagentcore';
15
+ import type * as lambda from 'aws-cdk-lib/aws-lambda';
16
+ import type { CategoricalRatingOption, EvaluatorInferenceConfig, NumericalRatingOption } from './types';
17
+ /**
18
+ * Options for configuring an LLM-as-a-Judge custom evaluator.
19
+ *
20
+ * Uses a foundation model to assess agent performance based on
21
+ * custom instructions and a rating scale.
22
+ */
23
+ export interface LlmAsAJudgeOptions {
24
+ /**
25
+ * The evaluation instructions that guide the language model in assessing agent performance.
26
+ *
27
+ * These instructions define the evaluation criteria, context, and expected behavior.
28
+ * Instructions must contain placeholders appropriate for the evaluation level
29
+ * (e.g., `{context}`, `{available_tools}` for SESSION level).
30
+ *
31
+ * Note: Evaluators using reference-input placeholders (e.g., `{expected_tool_trajectory}`,
32
+ * `{assertions}`, `{expected_response}`) are only compatible with on-demand evaluation,
33
+ * not online evaluation.
34
+ *
35
+ * @see https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/custom-evaluators.html
36
+ */
37
+ readonly instructions: string;
38
+ /**
39
+ * The identifier of the Amazon Bedrock model to use for evaluation.
40
+ *
41
+ * Accepts standard model IDs (e.g., `'anthropic.claude-sonnet-4-6'`)
42
+ * and cross-region inference profile IDs with region prefixes
43
+ * (e.g., `'us.anthropic.claude-sonnet-4-6'`, `'eu.anthropic.claude-sonnet-4-6'`).
44
+ */
45
+ readonly modelId: string;
46
+ /**
47
+ * The rating scale that defines how the evaluator should score agent performance.
48
+ */
49
+ readonly ratingScale: EvaluatorRatingScale;
50
+ /**
51
+ * Optional inference configuration parameters that control model behavior during evaluation.
52
+ *
53
+ * When not specified, the foundation model uses its own default values for
54
+ * maxTokens, temperature, and topP.
55
+ *
56
+ * @default - The foundation model's default inference parameters are used
57
+ * @see https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/custom-evaluators.html
58
+ */
59
+ readonly inferenceConfig?: EvaluatorInferenceConfig;
60
+ /**
61
+ * Additional model-specific request fields.
62
+ *
63
+ * @default - No additional fields
64
+ */
65
+ readonly additionalModelRequestFields?: {
66
+ [key: string]: any;
67
+ };
68
+ }
69
+ /**
70
+ * Options for configuring a code-based custom evaluator using a Lambda function.
71
+ *
72
+ * Uses a Lambda function to implement custom evaluation logic.
73
+ */
74
+ export interface CodeBasedOptions {
75
+ /**
76
+ * The Lambda function used for evaluation.
77
+ *
78
+ * The function will be granted invoke permissions for the
79
+ * `bedrock-agentcore.amazonaws.com` service principal, scoped
80
+ * to this specific evaluator resource.
81
+ */
82
+ readonly lambdaFunction: lambda.IFunction;
83
+ /**
84
+ * The timeout for the Lambda function invocation during evaluation.
85
+ *
86
+ * When not specified, the AgentCore evaluation service uses its default
87
+ * timeout for Lambda-based evaluators.
88
+ *
89
+ * @default - The AgentCore evaluation service's default Lambda timeout is used
90
+ * @see https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/custom-evaluators.html
91
+ */
92
+ readonly timeout?: Duration;
93
+ }
94
+ /**
95
+ * Represents a rating scale for custom LLM-as-a-Judge evaluators.
96
+ *
97
+ * Rating scales define how the evaluator scores agent performance.
98
+ * Use either categorical (discrete labels) or numerical (labeled numeric values) scales.
99
+ *
100
+ * @example
101
+ * // Categorical rating scale
102
+ * const categorical = agentcore.EvaluatorRatingScale.categorical([
103
+ * { label: 'Good', definition: 'The response fully addresses the query.' },
104
+ * { label: 'Bad', definition: 'The response fails to address the query.' },
105
+ * ]);
106
+ *
107
+ * // Numerical rating scale
108
+ * const numerical = agentcore.EvaluatorRatingScale.numerical([
109
+ * { label: 'Poor', definition: 'Inadequate response.', value: 1 },
110
+ * { label: 'Good', definition: 'Adequate response.', value: 3 },
111
+ * { label: 'Excellent', definition: 'Outstanding response.', value: 5 },
112
+ * ]);
113
+ */
114
+ export declare class EvaluatorRatingScale {
115
+ /**
116
+ * Creates a categorical rating scale.
117
+ *
118
+ * Categorical scales define discrete labels for scoring, such as "Good" / "Bad"
119
+ * or "Pass" / "Fail".
120
+ *
121
+ * @param options - The categorical rating options (at least 1 required)
122
+ */
123
+ static categorical(options: CategoricalRatingOption[]): EvaluatorRatingScale;
124
+ /**
125
+ * Creates a numerical rating scale.
126
+ *
127
+ * Numerical scales define labeled numeric values for scoring, such as
128
+ * 1 (Poor) through 5 (Excellent).
129
+ *
130
+ * @param options - The numerical rating options (at least 1 required)
131
+ */
132
+ static numerical(options: NumericalRatingOption[]): EvaluatorRatingScale;
133
+ private readonly config;
134
+ private constructor();
135
+ /**
136
+ * Binds the rating scale to produce the L1 property.
137
+ * @internal
138
+ */
139
+ _bind(): bedrockagentcore.CfnEvaluator.RatingScaleProperty;
140
+ }
141
+ /**
142
+ * Configuration for a custom evaluator.
143
+ *
144
+ * Defines how an evaluator assesses agent performance. Supports two strategies:
145
+ * - **LLM-as-a-Judge**: Uses a foundation model with custom instructions and a rating scale.
146
+ * - **Code-based**: Uses a Lambda function for custom evaluation logic.
147
+ *
148
+ * @example
149
+ * // LLM-as-a-Judge evaluator
150
+ * const llmConfig = agentcore.EvaluatorConfig.llmAsAJudge({
151
+ * instructions: 'Evaluate whether the agent response is helpful.',
152
+ * modelId: 'us.anthropic.claude-sonnet-4-6',
153
+ * ratingScale: agentcore.EvaluatorRatingScale.categorical([
154
+ * { label: 'Good', definition: 'The response is helpful.' },
155
+ * { label: 'Bad', definition: 'The response is not helpful.' },
156
+ * ]),
157
+ * });
158
+ *
159
+ * // Code-based evaluator
160
+ * declare const myEvalFunction: lambda.IFunction;
161
+ * const codeConfig = agentcore.EvaluatorConfig.codeBased({
162
+ * lambdaFunction: myEvalFunction,
163
+ * });
164
+ */
165
+ export declare class EvaluatorConfig {
166
+ /**
167
+ * Creates an LLM-as-a-Judge evaluator configuration.
168
+ *
169
+ * Uses a foundation model to assess agent performance based on custom
170
+ * instructions and a rating scale.
171
+ *
172
+ * @param options - The LLM-as-a-Judge configuration options
173
+ */
174
+ static llmAsAJudge(options: LlmAsAJudgeOptions): EvaluatorConfig;
175
+ /**
176
+ * Creates a code-based evaluator configuration using a Lambda function.
177
+ *
178
+ * The Lambda function implements custom evaluation logic. The function will
179
+ * automatically be granted invoke permissions for the bedrock-agentcore service.
180
+ *
181
+ * @param options - The code-based configuration options
182
+ */
183
+ static codeBased(options: CodeBasedOptions): EvaluatorConfig;
184
+ /**
185
+ * The Lambda function used for code-based evaluation, if applicable.
186
+ */
187
+ readonly lambdaFunction?: lambda.IFunction;
188
+ private readonly cfnConfig;
189
+ private constructor();
190
+ /**
191
+ * Binds the evaluator configuration to produce the L1 property.
192
+ * @internal
193
+ */
194
+ _bind(): bedrockagentcore.CfnEvaluator.EvaluatorConfigProperty;
195
+ }
@@ -0,0 +1,184 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EvaluatorConfig = exports.EvaluatorRatingScale = 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
+ * Represents a rating scale for custom LLM-as-a-Judge evaluators.
9
+ *
10
+ * Rating scales define how the evaluator scores agent performance.
11
+ * Use either categorical (discrete labels) or numerical (labeled numeric values) scales.
12
+ *
13
+ * @example
14
+ * // Categorical rating scale
15
+ * const categorical = agentcore.EvaluatorRatingScale.categorical([
16
+ * { label: 'Good', definition: 'The response fully addresses the query.' },
17
+ * { label: 'Bad', definition: 'The response fails to address the query.' },
18
+ * ]);
19
+ *
20
+ * // Numerical rating scale
21
+ * const numerical = agentcore.EvaluatorRatingScale.numerical([
22
+ * { label: 'Poor', definition: 'Inadequate response.', value: 1 },
23
+ * { label: 'Good', definition: 'Adequate response.', value: 3 },
24
+ * { label: 'Excellent', definition: 'Outstanding response.', value: 5 },
25
+ * ]);
26
+ */
27
+ class EvaluatorRatingScale {
28
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.EvaluatorRatingScale", version: "2.253.0-alpha.0" };
29
+ /**
30
+ * Creates a categorical rating scale.
31
+ *
32
+ * Categorical scales define discrete labels for scoring, such as "Good" / "Bad"
33
+ * or "Pass" / "Fail".
34
+ *
35
+ * @param options - The categorical rating options (at least 1 required)
36
+ */
37
+ static categorical(options) {
38
+ (0, validation_helpers_1.throwIfInvalid)(validation_helpers_1.validateCategoricalRatingScale, options);
39
+ return new EvaluatorRatingScale({ categorical: options });
40
+ }
41
+ /**
42
+ * Creates a numerical rating scale.
43
+ *
44
+ * Numerical scales define labeled numeric values for scoring, such as
45
+ * 1 (Poor) through 5 (Excellent).
46
+ *
47
+ * @param options - The numerical rating options (at least 1 required)
48
+ */
49
+ static numerical(options) {
50
+ (0, validation_helpers_1.throwIfInvalid)(validation_helpers_1.validateNumericalRatingScale, options);
51
+ return new EvaluatorRatingScale({ numerical: options });
52
+ }
53
+ config;
54
+ constructor(config) {
55
+ this.config = config;
56
+ }
57
+ /**
58
+ * Binds the rating scale to produce the L1 property.
59
+ * @internal
60
+ */
61
+ _bind() {
62
+ return this.config;
63
+ }
64
+ }
65
+ exports.EvaluatorRatingScale = EvaluatorRatingScale;
66
+ /**
67
+ * Configuration for a custom evaluator.
68
+ *
69
+ * Defines how an evaluator assesses agent performance. Supports two strategies:
70
+ * - **LLM-as-a-Judge**: Uses a foundation model with custom instructions and a rating scale.
71
+ * - **Code-based**: Uses a Lambda function for custom evaluation logic.
72
+ *
73
+ * @example
74
+ * // LLM-as-a-Judge evaluator
75
+ * const llmConfig = agentcore.EvaluatorConfig.llmAsAJudge({
76
+ * instructions: 'Evaluate whether the agent response is helpful.',
77
+ * modelId: 'us.anthropic.claude-sonnet-4-6',
78
+ * ratingScale: agentcore.EvaluatorRatingScale.categorical([
79
+ * { label: 'Good', definition: 'The response is helpful.' },
80
+ * { label: 'Bad', definition: 'The response is not helpful.' },
81
+ * ]),
82
+ * });
83
+ *
84
+ * // Code-based evaluator
85
+ * declare const myEvalFunction: lambda.IFunction;
86
+ * const codeConfig = agentcore.EvaluatorConfig.codeBased({
87
+ * lambdaFunction: myEvalFunction,
88
+ * });
89
+ */
90
+ class EvaluatorConfig {
91
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.EvaluatorConfig", version: "2.253.0-alpha.0" };
92
+ /**
93
+ * Creates an LLM-as-a-Judge evaluator configuration.
94
+ *
95
+ * Uses a foundation model to assess agent performance based on custom
96
+ * instructions and a rating scale.
97
+ *
98
+ * @param options - The LLM-as-a-Judge configuration options
99
+ */
100
+ static llmAsAJudge(options) {
101
+ try {
102
+ jsiiDeprecationWarnings._aws_cdk_aws_bedrock_agentcore_alpha_LlmAsAJudgeOptions(options);
103
+ }
104
+ catch (error) {
105
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
106
+ Error.captureStackTrace(error, this.llmAsAJudge);
107
+ }
108
+ throw error;
109
+ }
110
+ (0, validation_helpers_1.throwIfInvalid)(validation_helpers_1.validateInstructions, options.instructions);
111
+ const modelConfig = {
112
+ bedrockEvaluatorModelConfig: {
113
+ modelId: options.modelId,
114
+ ...(options.inferenceConfig !== undefined ? {
115
+ inferenceConfig: {
116
+ maxTokens: options.inferenceConfig.maxTokens,
117
+ temperature: options.inferenceConfig.temperature,
118
+ topP: options.inferenceConfig.topP,
119
+ },
120
+ } : {}),
121
+ ...(options.additionalModelRequestFields !== undefined ? {
122
+ additionalModelRequestFields: options.additionalModelRequestFields,
123
+ } : {}),
124
+ },
125
+ };
126
+ const cfnConfig = {
127
+ llmAsAJudge: {
128
+ instructions: options.instructions,
129
+ modelConfig,
130
+ ratingScale: options.ratingScale._bind(),
131
+ },
132
+ };
133
+ return new EvaluatorConfig(cfnConfig);
134
+ }
135
+ /**
136
+ * Creates a code-based evaluator configuration using a Lambda function.
137
+ *
138
+ * The Lambda function implements custom evaluation logic. The function will
139
+ * automatically be granted invoke permissions for the bedrock-agentcore service.
140
+ *
141
+ * @param options - The code-based configuration options
142
+ */
143
+ static codeBased(options) {
144
+ try {
145
+ jsiiDeprecationWarnings._aws_cdk_aws_bedrock_agentcore_alpha_CodeBasedOptions(options);
146
+ }
147
+ catch (error) {
148
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
149
+ Error.captureStackTrace(error, this.codeBased);
150
+ }
151
+ throw error;
152
+ }
153
+ const timeoutInSeconds = options.timeout?.toSeconds();
154
+ const cfnConfig = {
155
+ codeBased: {
156
+ lambdaConfig: {
157
+ lambdaArn: options.lambdaFunction.functionArn,
158
+ ...(timeoutInSeconds !== undefined ? {
159
+ lambdaTimeoutInSeconds: timeoutInSeconds,
160
+ } : {}),
161
+ },
162
+ },
163
+ };
164
+ return new EvaluatorConfig(cfnConfig, options.lambdaFunction);
165
+ }
166
+ /**
167
+ * The Lambda function used for code-based evaluation, if applicable.
168
+ */
169
+ lambdaFunction;
170
+ cfnConfig;
171
+ constructor(cfnConfig, lambdaFunction) {
172
+ this.cfnConfig = cfnConfig;
173
+ this.lambdaFunction = lambdaFunction;
174
+ }
175
+ /**
176
+ * Binds the evaluator configuration to produce the L1 property.
177
+ * @internal
178
+ */
179
+ _bind() {
180
+ return this.cfnConfig;
181
+ }
182
+ }
183
+ exports.EvaluatorConfig = EvaluatorConfig;
184
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZhbHVhdG9yLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbImV2YWx1YXRvci1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFpQkEsNkRBSzhCO0FBb0Y5Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1CRztBQUNILE1BQWEsb0JBQW9COztJQUMvQjs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFrQztRQUMxRCxJQUFBLG1DQUFjLEVBQUMsbURBQThCLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDeEQsT0FBTyxJQUFJLG9CQUFvQixDQUFDLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7S0FDM0Q7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFnQztRQUN0RCxJQUFBLG1DQUFjLEVBQUMsaURBQTRCLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDdEQsT0FBTyxJQUFJLG9CQUFvQixDQUFDLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7S0FDekQ7SUFFZ0IsTUFBTSxDQUFvRDtJQUUzRSxZQUFvQixNQUF5RDtRQUMzRSxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztLQUN0QjtJQUVEOzs7T0FHRztJQUNJLEtBQUs7UUFDVixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7S0FDcEI7O0FBdkNILG9EQXdDQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCRztBQUNILE1BQWEsZUFBZTs7SUFDMUI7Ozs7Ozs7T0FPRztJQUNJLE1BQU0sQ0FBQyxXQUFXLENBQUMsT0FBMkI7Ozs7Ozs7Ozs7UUFDbkQsSUFBQSxtQ0FBYyxFQUFDLHlDQUFvQixFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUUzRCxNQUFNLFdBQVcsR0FBK0Q7WUFDOUUsMkJBQTJCLEVBQUU7Z0JBQzNCLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztnQkFDeEIsR0FBRyxDQUFDLE9BQU8sQ0FBQyxlQUFlLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQztvQkFDMUMsZUFBZSxFQUFFO3dCQUNmLFNBQVMsRUFBRSxPQUFPLENBQUMsZUFBZSxDQUFDLFNBQVM7d0JBQzVDLFdBQVcsRUFBRSxPQUFPLENBQUMsZUFBZSxDQUFDLFdBQVc7d0JBQ2hELElBQUksRUFBRSxPQUFPLENBQUMsZUFBZSxDQUFDLElBQUk7cUJBQ25DO2lCQUNGLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDUCxHQUFHLENBQUMsT0FBTyxDQUFDLDRCQUE0QixLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUM7b0JBQ3ZELDRCQUE0QixFQUFFLE9BQU8sQ0FBQyw0QkFBNEI7aUJBQ25FLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQzthQUNSO1NBQ0YsQ0FBQztRQUVGLE1BQU0sU0FBUyxHQUEwRDtZQUN2RSxXQUFXLEVBQUU7Z0JBQ1gsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZO2dCQUNsQyxXQUFXO2dCQUNYLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRTthQUN6QztTQUNGLENBQUM7UUFFRixPQUFPLElBQUksZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0tBQ3ZDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLE1BQU0sQ0FBQyxTQUFTLENBQUMsT0FBeUI7Ozs7Ozs7Ozs7UUFDL0MsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxDQUFDO1FBRXRELE1BQU0sU0FBUyxHQUEwRDtZQUN2RSxTQUFTLEVBQUU7Z0JBQ1QsWUFBWSxFQUFFO29CQUNaLFNBQVMsRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFDLFdBQVc7b0JBQzdDLEdBQUcsQ0FBQyxnQkFBZ0IsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDO3dCQUNuQyxzQkFBc0IsRUFBRSxnQkFBZ0I7cUJBQ3pDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztpQkFDUjthQUNGO1NBQ0YsQ0FBQztRQUVGLE9BQU8sSUFBSSxlQUFlLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQztLQUMvRDtJQUVEOztPQUVHO0lBQ2EsY0FBYyxDQUFvQjtJQUVqQyxTQUFTLENBQXdEO0lBRWxGLFlBQ0UsU0FBZ0UsRUFDaEUsY0FBaUM7UUFFakMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7S0FDdEM7SUFFRDs7O09BR0c7SUFDSSxLQUFLO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0tBQ3ZCOztBQXJGSCwwQ0FzRkMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqICBDb3B5cmlnaHQgQW1hem9uLmNvbSwgSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKS4gWW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZVxuICogIHdpdGggdGhlIExpY2Vuc2UuIEEgY29weSBvZiB0aGUgTGljZW5zZSBpcyBsb2NhdGVkIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiAgb3IgaW4gdGhlICdsaWNlbnNlJyBmaWxlIGFjY29tcGFueWluZyB0aGlzIGZpbGUuIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAnQVMgSVMnIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVNcbiAqICBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBleHByZXNzIG9yIGltcGxpZWQuIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9uc1xuICogIGFuZCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IER1cmF0aW9uIH0gZnJvbSAnYXdzLWNkay1saWInO1xuaW1wb3J0IHR5cGUgKiBhcyBiZWRyb2NrYWdlbnRjb3JlIGZyb20gJ2F3cy1jZGstbGliL2F3cy1iZWRyb2NrYWdlbnRjb3JlJztcbmltcG9ydCB0eXBlICogYXMgbGFtYmRhIGZyb20gJ2F3cy1jZGstbGliL2F3cy1sYW1iZGEnO1xuaW1wb3J0IHR5cGUgeyBDYXRlZ29yaWNhbFJhdGluZ09wdGlvbiwgRXZhbHVhdG9ySW5mZXJlbmNlQ29uZmlnLCBOdW1lcmljYWxSYXRpbmdPcHRpb24gfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7XG4gIHRocm93SWZJbnZhbGlkLFxuICB2YWxpZGF0ZUNhdGVnb3JpY2FsUmF0aW5nU2NhbGUsXG4gIHZhbGlkYXRlSW5zdHJ1Y3Rpb25zLFxuICB2YWxpZGF0ZU51bWVyaWNhbFJhdGluZ1NjYWxlLFxufSBmcm9tICcuL3ZhbGlkYXRpb24taGVscGVycyc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgY29uZmlndXJpbmcgYW4gTExNLWFzLWEtSnVkZ2UgY3VzdG9tIGV2YWx1YXRvci5cbiAqXG4gKiBVc2VzIGEgZm91bmRhdGlvbiBtb2RlbCB0byBhc3Nlc3MgYWdlbnQgcGVyZm9ybWFuY2UgYmFzZWQgb25cbiAqIGN1c3RvbSBpbnN0cnVjdGlvbnMgYW5kIGEgcmF0aW5nIHNjYWxlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExsbUFzQUp1ZGdlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgZXZhbHVhdGlvbiBpbnN0cnVjdGlvbnMgdGhhdCBndWlkZSB0aGUgbGFuZ3VhZ2UgbW9kZWwgaW4gYXNzZXNzaW5nIGFnZW50IHBlcmZvcm1hbmNlLlxuICAgKlxuICAgKiBUaGVzZSBpbnN0cnVjdGlvbnMgZGVmaW5lIHRoZSBldmFsdWF0aW9uIGNyaXRlcmlhLCBjb250ZXh0LCBhbmQgZXhwZWN0ZWQgYmVoYXZpb3IuXG4gICAqIEluc3RydWN0aW9ucyBtdXN0IGNvbnRhaW4gcGxhY2Vob2xkZXJzIGFwcHJvcHJpYXRlIGZvciB0aGUgZXZhbHVhdGlvbiBsZXZlbFxuICAgKiAoZS5nLiwgYHtjb250ZXh0fWAsIGB7YXZhaWxhYmxlX3Rvb2xzfWAgZm9yIFNFU1NJT04gbGV2ZWwpLlxuICAgKlxuICAgKiBOb3RlOiBFdmFsdWF0b3JzIHVzaW5nIHJlZmVyZW5jZS1pbnB1dCBwbGFjZWhvbGRlcnMgKGUuZy4sIGB7ZXhwZWN0ZWRfdG9vbF90cmFqZWN0b3J5fWAsXG4gICAqIGB7YXNzZXJ0aW9uc31gLCBge2V4cGVjdGVkX3Jlc3BvbnNlfWApIGFyZSBvbmx5IGNvbXBhdGlibGUgd2l0aCBvbi1kZW1hbmQgZXZhbHVhdGlvbixcbiAgICogbm90IG9ubGluZSBldmFsdWF0aW9uLlxuICAgKlxuICAgKiBAc2VlIGh0dHBzOi8vZG9jcy5hd3MuYW1hem9uLmNvbS9iZWRyb2NrLWFnZW50Y29yZS9sYXRlc3QvZGV2Z3VpZGUvY3VzdG9tLWV2YWx1YXRvcnMuaHRtbFxuICAgKi9cbiAgcmVhZG9ubHkgaW5zdHJ1Y3Rpb25zOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBpZGVudGlmaWVyIG9mIHRoZSBBbWF6b24gQmVkcm9jayBtb2RlbCB0byB1c2UgZm9yIGV2YWx1YXRpb24uXG4gICAqXG4gICAqIEFjY2VwdHMgc3RhbmRhcmQgbW9kZWwgSURzIChlLmcuLCBgJ2FudGhyb3BpYy5jbGF1ZGUtc29ubmV0LTQtNidgKVxuICAgKiBhbmQgY3Jvc3MtcmVnaW9uIGluZmVyZW5jZSBwcm9maWxlIElEcyB3aXRoIHJlZ2lvbiBwcmVmaXhlc1xuICAgKiAoZS5nLiwgYCd1cy5hbnRocm9waWMuY2xhdWRlLXNvbm5ldC00LTYnYCwgYCdldS5hbnRocm9waWMuY2xhdWRlLXNvbm5ldC00LTYnYCkuXG4gICAqL1xuICByZWFkb25seSBtb2RlbElkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSByYXRpbmcgc2NhbGUgdGhhdCBkZWZpbmVzIGhvdyB0aGUgZXZhbHVhdG9yIHNob3VsZCBzY29yZSBhZ2VudCBwZXJmb3JtYW5jZS5cbiAgICovXG4gIHJlYWRvbmx5IHJhdGluZ1NjYWxlOiBFdmFsdWF0b3JSYXRpbmdTY2FsZTtcblxuICAvKipcbiAgICogT3B0aW9uYWwgaW5mZXJlbmNlIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVycyB0aGF0IGNvbnRyb2wgbW9kZWwgYmVoYXZpb3IgZHVyaW5nIGV2YWx1YXRpb24uXG4gICAqXG4gICAqIFdoZW4gbm90IHNwZWNpZmllZCwgdGhlIGZvdW5kYXRpb24gbW9kZWwgdXNlcyBpdHMgb3duIGRlZmF1bHQgdmFsdWVzIGZvclxuICAgKiBtYXhUb2tlbnMsIHRlbXBlcmF0dXJlLCBhbmQgdG9wUC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBUaGUgZm91bmRhdGlvbiBtb2RlbCdzIGRlZmF1bHQgaW5mZXJlbmNlIHBhcmFtZXRlcnMgYXJlIHVzZWRcbiAgICogQHNlZSBodHRwczovL2RvY3MuYXdzLmFtYXpvbi5jb20vYmVkcm9jay1hZ2VudGNvcmUvbGF0ZXN0L2Rldmd1aWRlL2N1c3RvbS1ldmFsdWF0b3JzLmh0bWxcbiAgICovXG4gIHJlYWRvbmx5IGluZmVyZW5jZUNvbmZpZz86IEV2YWx1YXRvckluZmVyZW5jZUNvbmZpZztcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBtb2RlbC1zcGVjaWZpYyByZXF1ZXN0IGZpZWxkcy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBObyBhZGRpdGlvbmFsIGZpZWxkc1xuICAgKi9cbiAgcmVhZG9ubHkgYWRkaXRpb25hbE1vZGVsUmVxdWVzdEZpZWxkcz86IHsgW2tleTogc3RyaW5nXTogYW55IH07XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgY29uZmlndXJpbmcgYSBjb2RlLWJhc2VkIGN1c3RvbSBldmFsdWF0b3IgdXNpbmcgYSBMYW1iZGEgZnVuY3Rpb24uXG4gKlxuICogVXNlcyBhIExhbWJkYSBmdW5jdGlvbiB0byBpbXBsZW1lbnQgY3VzdG9tIGV2YWx1YXRpb24gbG9naWMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29kZUJhc2VkT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgTGFtYmRhIGZ1bmN0aW9uIHVzZWQgZm9yIGV2YWx1YXRpb24uXG4gICAqXG4gICAqIFRoZSBmdW5jdGlvbiB3aWxsIGJlIGdyYW50ZWQgaW52b2tlIHBlcm1pc3Npb25zIGZvciB0aGVcbiAgICogYGJlZHJvY2stYWdlbnRjb3JlLmFtYXpvbmF3cy5jb21gIHNlcnZpY2UgcHJpbmNpcGFsLCBzY29wZWRcbiAgICogdG8gdGhpcyBzcGVjaWZpYyBldmFsdWF0b3IgcmVzb3VyY2UuXG4gICAqL1xuICByZWFkb25seSBsYW1iZGFGdW5jdGlvbjogbGFtYmRhLklGdW5jdGlvbjtcblxuICAvKipcbiAgICogVGhlIHRpbWVvdXQgZm9yIHRoZSBMYW1iZGEgZnVuY3Rpb24gaW52b2NhdGlvbiBkdXJpbmcgZXZhbHVhdGlvbi5cbiAgICpcbiAgICogV2hlbiBub3Qgc3BlY2lmaWVkLCB0aGUgQWdlbnRDb3JlIGV2YWx1YXRpb24gc2VydmljZSB1c2VzIGl0cyBkZWZhdWx0XG4gICAqIHRpbWVvdXQgZm9yIExhbWJkYS1iYXNlZCBldmFsdWF0b3JzLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIFRoZSBBZ2VudENvcmUgZXZhbHVhdGlvbiBzZXJ2aWNlJ3MgZGVmYXVsdCBMYW1iZGEgdGltZW91dCBpcyB1c2VkXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLmF3cy5hbWF6b24uY29tL2JlZHJvY2stYWdlbnRjb3JlL2xhdGVzdC9kZXZndWlkZS9jdXN0b20tZXZhbHVhdG9ycy5odG1sXG4gICAqL1xuICByZWFkb25seSB0aW1lb3V0PzogRHVyYXRpb247XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHJhdGluZyBzY2FsZSBmb3IgY3VzdG9tIExMTS1hcy1hLUp1ZGdlIGV2YWx1YXRvcnMuXG4gKlxuICogUmF0aW5nIHNjYWxlcyBkZWZpbmUgaG93IHRoZSBldmFsdWF0b3Igc2NvcmVzIGFnZW50IHBlcmZvcm1hbmNlLlxuICogVXNlIGVpdGhlciBjYXRlZ29yaWNhbCAoZGlzY3JldGUgbGFiZWxzKSBvciBudW1lcmljYWwgKGxhYmVsZWQgbnVtZXJpYyB2YWx1ZXMpIHNjYWxlcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gQ2F0ZWdvcmljYWwgcmF0aW5nIHNjYWxlXG4gKiBjb25zdCBjYXRlZ29yaWNhbCA9IGFnZW50Y29yZS5FdmFsdWF0b3JSYXRpbmdTY2FsZS5jYXRlZ29yaWNhbChbXG4gKiAgIHsgbGFiZWw6ICdHb29kJywgZGVmaW5pdGlvbjogJ1RoZSByZXNwb25zZSBmdWxseSBhZGRyZXNzZXMgdGhlIHF1ZXJ5LicgfSxcbiAqICAgeyBsYWJlbDogJ0JhZCcsIGRlZmluaXRpb246ICdUaGUgcmVzcG9uc2UgZmFpbHMgdG8gYWRkcmVzcyB0aGUgcXVlcnkuJyB9LFxuICogXSk7XG4gKlxuICogLy8gTnVtZXJpY2FsIHJhdGluZyBzY2FsZVxuICogY29uc3QgbnVtZXJpY2FsID0gYWdlbnRjb3JlLkV2YWx1YXRvclJhdGluZ1NjYWxlLm51bWVyaWNhbChbXG4gKiAgIHsgbGFiZWw6ICdQb29yJywgZGVmaW5pdGlvbjogJ0luYWRlcXVhdGUgcmVzcG9uc2UuJywgdmFsdWU6IDEgfSxcbiAqICAgeyBsYWJlbDogJ0dvb2QnLCBkZWZpbml0aW9uOiAnQWRlcXVhdGUgcmVzcG9uc2UuJywgdmFsdWU6IDMgfSxcbiAqICAgeyBsYWJlbDogJ0V4Y2VsbGVudCcsIGRlZmluaXRpb246ICdPdXRzdGFuZGluZyByZXNwb25zZS4nLCB2YWx1ZTogNSB9LFxuICogXSk7XG4gKi9cbmV4cG9ydCBjbGFzcyBFdmFsdWF0b3JSYXRpbmdTY2FsZSB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgY2F0ZWdvcmljYWwgcmF0aW5nIHNjYWxlLlxuICAgKlxuICAgKiBDYXRlZ29yaWNhbCBzY2FsZXMgZGVmaW5lIGRpc2NyZXRlIGxhYmVscyBmb3Igc2NvcmluZywgc3VjaCBhcyBcIkdvb2RcIiAvIFwiQmFkXCJcbiAgICogb3IgXCJQYXNzXCIgLyBcIkZhaWxcIi5cbiAgICpcbiAgICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgY2F0ZWdvcmljYWwgcmF0aW5nIG9wdGlvbnMgKGF0IGxlYXN0IDEgcmVxdWlyZWQpXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGNhdGVnb3JpY2FsKG9wdGlvbnM6IENhdGVnb3JpY2FsUmF0aW5nT3B0aW9uW10pOiBFdmFsdWF0b3JSYXRpbmdTY2FsZSB7XG4gICAgdGhyb3dJZkludmFsaWQodmFsaWRhdGVDYXRlZ29yaWNhbFJhdGluZ1NjYWxlLCBvcHRpb25zKTtcbiAgICByZXR1cm4gbmV3IEV2YWx1YXRvclJhdGluZ1NjYWxlKHsgY2F0ZWdvcmljYWw6IG9wdGlvbnMgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG51bWVyaWNhbCByYXRpbmcgc2NhbGUuXG4gICAqXG4gICAqIE51bWVyaWNhbCBzY2FsZXMgZGVmaW5lIGxhYmVsZWQgbnVtZXJpYyB2YWx1ZXMgZm9yIHNjb3JpbmcsIHN1Y2ggYXNcbiAgICogMSAoUG9vcikgdGhyb3VnaCA1IChFeGNlbGxlbnQpLlxuICAgKlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBudW1lcmljYWwgcmF0aW5nIG9wdGlvbnMgKGF0IGxlYXN0IDEgcmVxdWlyZWQpXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIG51bWVyaWNhbChvcHRpb25zOiBOdW1lcmljYWxSYXRpbmdPcHRpb25bXSk6IEV2YWx1YXRvclJhdGluZ1NjYWxlIHtcbiAgICB0aHJvd0lmSW52YWxpZCh2YWxpZGF0ZU51bWVyaWNhbFJhdGluZ1NjYWxlLCBvcHRpb25zKTtcbiAgICByZXR1cm4gbmV3IEV2YWx1YXRvclJhdGluZ1NjYWxlKHsgbnVtZXJpY2FsOiBvcHRpb25zIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IGJlZHJvY2thZ2VudGNvcmUuQ2ZuRXZhbHVhdG9yLlJhdGluZ1NjYWxlUHJvcGVydHk7XG5cbiAgcHJpdmF0ZSBjb25zdHJ1Y3Rvcihjb25maWc6IGJlZHJvY2thZ2VudGNvcmUuQ2ZuRXZhbHVhdG9yLlJhdGluZ1NjYWxlUHJvcGVydHkpIHtcbiAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcbiAgfVxuXG4gIC8qKlxuICAgKiBCaW5kcyB0aGUgcmF0aW5nIHNjYWxlIHRvIHByb2R1Y2UgdGhlIEwxIHByb3BlcnR5LlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHB1YmxpYyBfYmluZCgpOiBiZWRyb2NrYWdlbnRjb3JlLkNmbkV2YWx1YXRvci5SYXRpbmdTY2FsZVByb3BlcnR5IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWc7XG4gIH1cbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBhIGN1c3RvbSBldmFsdWF0b3IuXG4gKlxuICogRGVmaW5lcyBob3cgYW4gZXZhbHVhdG9yIGFzc2Vzc2VzIGFnZW50IHBlcmZvcm1hbmNlLiBTdXBwb3J0cyB0d28gc3RyYXRlZ2llczpcbiAqIC0gKipMTE0tYXMtYS1KdWRnZSoqOiBVc2VzIGEgZm91bmRhdGlvbiBtb2RlbCB3aXRoIGN1c3RvbSBpbnN0cnVjdGlvbnMgYW5kIGEgcmF0aW5nIHNjYWxlLlxuICogLSAqKkNvZGUtYmFzZWQqKjogVXNlcyBhIExhbWJkYSBmdW5jdGlvbiBmb3IgY3VzdG9tIGV2YWx1YXRpb24gbG9naWMuXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIExMTS1hcy1hLUp1ZGdlIGV2YWx1YXRvclxuICogY29uc3QgbGxtQ29uZmlnID0gYWdlbnRjb3JlLkV2YWx1YXRvckNvbmZpZy5sbG1Bc0FKdWRnZSh7XG4gKiAgIGluc3RydWN0aW9uczogJ0V2YWx1YXRlIHdoZXRoZXIgdGhlIGFnZW50IHJlc3BvbnNlIGlzIGhlbHBmdWwuJyxcbiAqICAgbW9kZWxJZDogJ3VzLmFudGhyb3BpYy5jbGF1ZGUtc29ubmV0LTQtNicsXG4gKiAgIHJhdGluZ1NjYWxlOiBhZ2VudGNvcmUuRXZhbHVhdG9yUmF0aW5nU2NhbGUuY2F0ZWdvcmljYWwoW1xuICogICAgIHsgbGFiZWw6ICdHb29kJywgZGVmaW5pdGlvbjogJ1RoZSByZXNwb25zZSBpcyBoZWxwZnVsLicgfSxcbiAqICAgICB7IGxhYmVsOiAnQmFkJywgZGVmaW5pdGlvbjogJ1RoZSByZXNwb25zZSBpcyBub3QgaGVscGZ1bC4nIH0sXG4gKiAgIF0pLFxuICogfSk7XG4gKlxuICogLy8gQ29kZS1iYXNlZCBldmFsdWF0b3JcbiAqIGRlY2xhcmUgY29uc3QgbXlFdmFsRnVuY3Rpb246IGxhbWJkYS5JRnVuY3Rpb247XG4gKiBjb25zdCBjb2RlQ29uZmlnID0gYWdlbnRjb3JlLkV2YWx1YXRvckNvbmZpZy5jb2RlQmFzZWQoe1xuICogICBsYW1iZGFGdW5jdGlvbjogbXlFdmFsRnVuY3Rpb24sXG4gKiB9KTtcbiAqL1xuZXhwb3J0IGNsYXNzIEV2YWx1YXRvckNvbmZpZyB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuIExMTS1hcy1hLUp1ZGdlIGV2YWx1YXRvciBjb25maWd1cmF0aW9uLlxuICAgKlxuICAgKiBVc2VzIGEgZm91bmRhdGlvbiBtb2RlbCB0byBhc3Nlc3MgYWdlbnQgcGVyZm9ybWFuY2UgYmFzZWQgb24gY3VzdG9tXG4gICAqIGluc3RydWN0aW9ucyBhbmQgYSByYXRpbmcgc2NhbGUuXG4gICAqXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIExMTS1hcy1hLUp1ZGdlIGNvbmZpZ3VyYXRpb24gb3B0aW9uc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBsbG1Bc0FKdWRnZShvcHRpb25zOiBMbG1Bc0FKdWRnZU9wdGlvbnMpOiBFdmFsdWF0b3JDb25maWcge1xuICAgIHRocm93SWZJbnZhbGlkKHZhbGlkYXRlSW5zdHJ1Y3Rpb25zLCBvcHRpb25zLmluc3RydWN0aW9ucyk7XG5cbiAgICBjb25zdCBtb2RlbENvbmZpZzogYmVkcm9ja2FnZW50Y29yZS5DZm5FdmFsdWF0b3IuRXZhbHVhdG9yTW9kZWxDb25maWdQcm9wZXJ0eSA9IHtcbiAgICAgIGJlZHJvY2tFdmFsdWF0b3JNb2RlbENvbmZpZzoge1xuICAgICAgICBtb2RlbElkOiBvcHRpb25zLm1vZGVsSWQsXG4gICAgICAgIC4uLihvcHRpb25zLmluZmVyZW5jZUNvbmZpZyAhPT0gdW5kZWZpbmVkID8ge1xuICAgICAgICAgIGluZmVyZW5jZUNvbmZpZzoge1xuICAgICAgICAgICAgbWF4VG9rZW5zOiBvcHRpb25zLmluZmVyZW5jZUNvbmZpZy5tYXhUb2tlbnMsXG4gICAgICAgICAgICB0ZW1wZXJhdHVyZTogb3B0aW9ucy5pbmZlcmVuY2VDb25maWcudGVtcGVyYXR1cmUsXG4gICAgICAgICAgICB0b3BQOiBvcHRpb25zLmluZmVyZW5jZUNvbmZpZy50b3BQLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0gOiB7fSksXG4gICAgICAgIC4uLihvcHRpb25zLmFkZGl0aW9uYWxNb2RlbFJlcXVlc3RGaWVsZHMgIT09IHVuZGVmaW5lZCA/IHtcbiAgICAgICAgICBhZGRpdGlvbmFsTW9kZWxSZXF1ZXN0RmllbGRzOiBvcHRpb25zLmFkZGl0aW9uYWxNb2RlbFJlcXVlc3RGaWVsZHMsXG4gICAgICAgIH0gOiB7fSksXG4gICAgICB9LFxuICAgIH07XG5cbiAgICBjb25zdCBjZm5Db25maWc6IGJlZHJvY2thZ2VudGNvcmUuQ2ZuRXZhbHVhdG9yLkV2YWx1YXRvckNvbmZpZ1Byb3BlcnR5ID0ge1xuICAgICAgbGxtQXNBSnVkZ2U6IHtcbiAgICAgICAgaW5zdHJ1Y3Rpb25zOiBvcHRpb25zLmluc3RydWN0aW9ucyxcbiAgICAgICAgbW9kZWxDb25maWcsXG4gICAgICAgIHJhdGluZ1NjYWxlOiBvcHRpb25zLnJhdGluZ1NjYWxlLl9iaW5kKCksXG4gICAgICB9LFxuICAgIH07XG5cbiAgICByZXR1cm4gbmV3IEV2YWx1YXRvckNvbmZpZyhjZm5Db25maWcpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBjb2RlLWJhc2VkIGV2YWx1YXRvciBjb25maWd1cmF0aW9uIHVzaW5nIGEgTGFtYmRhIGZ1bmN0aW9uLlxuICAgKlxuICAgKiBUaGUgTGFtYmRhIGZ1bmN0aW9uIGltcGxlbWVudHMgY3VzdG9tIGV2YWx1YXRpb24gbG9naWMuIFRoZSBmdW5jdGlvbiB3aWxsXG4gICAqIGF1dG9tYXRpY2FsbHkgYmUgZ3JhbnRlZCBpbnZva2UgcGVybWlzc2lvbnMgZm9yIHRoZSBiZWRyb2NrLWFnZW50Y29yZSBzZXJ2aWNlLlxuICAgKlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBjb2RlLWJhc2VkIGNvbmZpZ3VyYXRpb24gb3B0aW9uc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBjb2RlQmFzZWQob3B0aW9uczogQ29kZUJhc2VkT3B0aW9ucyk6IEV2YWx1YXRvckNvbmZpZyB7XG4gICAgY29uc3QgdGltZW91dEluU2Vjb25kcyA9IG9wdGlvbnMudGltZW91dD8udG9TZWNvbmRzKCk7XG5cbiAgICBjb25zdCBjZm5Db25maWc6IGJlZHJvY2thZ2VudGNvcmUuQ2ZuRXZhbHVhdG9yLkV2YWx1YXRvckNvbmZpZ1Byb3BlcnR5ID0ge1xuICAgICAgY29kZUJhc2VkOiB7XG4gICAgICAgIGxhbWJkYUNvbmZpZzoge1xuICAgICAgICAgIGxhbWJkYUFybjogb3B0aW9ucy5sYW1iZGFGdW5jdGlvbi5mdW5jdGlvbkFybixcbiAgICAgICAgICAuLi4odGltZW91dEluU2Vjb25kcyAhPT0gdW5kZWZpbmVkID8ge1xuICAgICAgICAgICAgbGFtYmRhVGltZW91dEluU2Vjb25kczogdGltZW91dEluU2Vjb25kcyxcbiAgICAgICAgICB9IDoge30pLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIG5ldyBFdmFsdWF0b3JDb25maWcoY2ZuQ29uZmlnLCBvcHRpb25zLmxhbWJkYUZ1bmN0aW9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgTGFtYmRhIGZ1bmN0aW9uIHVzZWQgZm9yIGNvZGUtYmFzZWQgZXZhbHVhdGlvbiwgaWYgYXBwbGljYWJsZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBsYW1iZGFGdW5jdGlvbj86IGxhbWJkYS5JRnVuY3Rpb247XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjZm5Db25maWc6IGJlZHJvY2thZ2VudGNvcmUuQ2ZuRXZhbHVhdG9yLkV2YWx1YXRvckNvbmZpZ1Byb3BlcnR5O1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoXG4gICAgY2ZuQ29uZmlnOiBiZWRyb2NrYWdlbnRjb3JlLkNmbkV2YWx1YXRvci5FdmFsdWF0b3JDb25maWdQcm9wZXJ0eSxcbiAgICBsYW1iZGFGdW5jdGlvbj86IGxhbWJkYS5JRnVuY3Rpb24sXG4gICkge1xuICAgIHRoaXMuY2ZuQ29uZmlnID0gY2ZuQ29uZmlnO1xuICAgIHRoaXMubGFtYmRhRnVuY3Rpb24gPSBsYW1iZGFGdW5jdGlvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBCaW5kcyB0aGUgZXZhbHVhdG9yIGNvbmZpZ3VyYXRpb24gdG8gcHJvZHVjZSB0aGUgTDEgcHJvcGVydHkuXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcHVibGljIF9iaW5kKCk6IGJlZHJvY2thZ2VudGNvcmUuQ2ZuRXZhbHVhdG9yLkV2YWx1YXRvckNvbmZpZ1Byb3BlcnR5IHtcbiAgICByZXR1cm4gdGhpcy5jZm5Db25maWc7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,68 @@
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 { IEvaluator } from './evaluator-base';
14
+ import type { BuiltinEvaluator, EvaluatorReferenceBindResult } from './types';
15
+ /**
16
+ * Represents a reference to an evaluator for online evaluation.
17
+ *
18
+ * Use the static factory methods to create evaluator references:
19
+ * - `EvaluatorReference.builtin()` for built-in evaluators
20
+ * - `EvaluatorReference.custom()` for custom evaluators
21
+ *
22
+ * @example
23
+ * // Using built-in evaluators
24
+ * const helpfulness = agentcore.EvaluatorReference.builtin(agentcore.BuiltinEvaluator.HELPFULNESS);
25
+ *
26
+ * // Using custom evaluators
27
+ * declare const myCustomEvaluator: agentcore.IEvaluator;
28
+ * const custom = agentcore.EvaluatorReference.custom(myCustomEvaluator);
29
+ */
30
+ export declare class EvaluatorReference {
31
+ /**
32
+ * Creates a reference to a built-in evaluator.
33
+ *
34
+ * Built-in evaluators are provided by Amazon Bedrock AgentCore and assess
35
+ * different aspects of agent performance at various levels (session, trace, or tool call).
36
+ *
37
+ * @param evaluator - The built-in evaluator to reference
38
+ * @returns An EvaluatorReference instance
39
+ *
40
+ * @example
41
+ * const helpfulness = agentcore.EvaluatorReference.builtin(agentcore.BuiltinEvaluator.HELPFULNESS);
42
+ * const goalSuccess = agentcore.EvaluatorReference.builtin(agentcore.BuiltinEvaluator.GOAL_SUCCESS_RATE);
43
+ */
44
+ static builtin(evaluator: BuiltinEvaluator): EvaluatorReference;
45
+ /**
46
+ * Creates a reference to a custom evaluator.
47
+ *
48
+ * Custom evaluators are created using the `Evaluator` construct and can be
49
+ * LLM-as-a-Judge or code-based (Lambda) evaluators.
50
+ *
51
+ * @param evaluator - The custom evaluator construct to reference
52
+ * @returns An EvaluatorReference instance
53
+ *
54
+ * @example
55
+ * declare const myCustomEvaluator: agentcore.IEvaluator;
56
+ * const ref = agentcore.EvaluatorReference.custom(myCustomEvaluator);
57
+ */
58
+ static custom(evaluator: IEvaluator): EvaluatorReference;
59
+ /**
60
+ * The evaluator identifier.
61
+ */
62
+ readonly evaluatorId: string;
63
+ private constructor();
64
+ /**
65
+ * Binds the evaluator reference to produce the L1 property.
66
+ */
67
+ bind(): EvaluatorReferenceBindResult;
68
+ }
@@ -0,0 +1,90 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EvaluatorReference = void 0;
4
+ const jsiiDeprecationWarnings = require("../../.warnings.jsii.js");
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ /**
7
+ * Represents a reference to an evaluator for online evaluation.
8
+ *
9
+ * Use the static factory methods to create evaluator references:
10
+ * - `EvaluatorReference.builtin()` for built-in evaluators
11
+ * - `EvaluatorReference.custom()` for custom evaluators
12
+ *
13
+ * @example
14
+ * // Using built-in evaluators
15
+ * const helpfulness = agentcore.EvaluatorReference.builtin(agentcore.BuiltinEvaluator.HELPFULNESS);
16
+ *
17
+ * // Using custom evaluators
18
+ * declare const myCustomEvaluator: agentcore.IEvaluator;
19
+ * const custom = agentcore.EvaluatorReference.custom(myCustomEvaluator);
20
+ */
21
+ class EvaluatorReference {
22
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@aws-cdk/aws-bedrock-agentcore-alpha.EvaluatorReference", version: "2.253.0-alpha.0" };
23
+ /**
24
+ * Creates a reference to a built-in evaluator.
25
+ *
26
+ * Built-in evaluators are provided by Amazon Bedrock AgentCore and assess
27
+ * different aspects of agent performance at various levels (session, trace, or tool call).
28
+ *
29
+ * @param evaluator - The built-in evaluator to reference
30
+ * @returns An EvaluatorReference instance
31
+ *
32
+ * @example
33
+ * const helpfulness = agentcore.EvaluatorReference.builtin(agentcore.BuiltinEvaluator.HELPFULNESS);
34
+ * const goalSuccess = agentcore.EvaluatorReference.builtin(agentcore.BuiltinEvaluator.GOAL_SUCCESS_RATE);
35
+ */
36
+ static builtin(evaluator) {
37
+ try {
38
+ jsiiDeprecationWarnings._aws_cdk_aws_bedrock_agentcore_alpha_BuiltinEvaluator(evaluator);
39
+ }
40
+ catch (error) {
41
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
42
+ Error.captureStackTrace(error, this.builtin);
43
+ }
44
+ throw error;
45
+ }
46
+ return new EvaluatorReference(evaluator.value);
47
+ }
48
+ /**
49
+ * Creates a reference to a custom evaluator.
50
+ *
51
+ * Custom evaluators are created using the `Evaluator` construct and can be
52
+ * LLM-as-a-Judge or code-based (Lambda) evaluators.
53
+ *
54
+ * @param evaluator - The custom evaluator construct to reference
55
+ * @returns An EvaluatorReference instance
56
+ *
57
+ * @example
58
+ * declare const myCustomEvaluator: agentcore.IEvaluator;
59
+ * const ref = agentcore.EvaluatorReference.custom(myCustomEvaluator);
60
+ */
61
+ static custom(evaluator) {
62
+ try {
63
+ jsiiDeprecationWarnings._aws_cdk_aws_bedrock_agentcore_alpha_IEvaluator(evaluator);
64
+ }
65
+ catch (error) {
66
+ if (process.env.JSII_DEBUG !== "1" && error.name === "DeprecationError") {
67
+ Error.captureStackTrace(error, this.custom);
68
+ }
69
+ throw error;
70
+ }
71
+ return new EvaluatorReference(evaluator.evaluatorId);
72
+ }
73
+ /**
74
+ * The evaluator identifier.
75
+ */
76
+ evaluatorId;
77
+ constructor(evaluatorId) {
78
+ this.evaluatorId = evaluatorId;
79
+ }
80
+ /**
81
+ * Binds the evaluator reference to produce the L1 property.
82
+ */
83
+ bind() {
84
+ return {
85
+ evaluatorId: this.evaluatorId,
86
+ };
87
+ }
88
+ }
89
+ exports.EvaluatorReference = EvaluatorReference;
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZhbHVhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiZXZhbHVhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBZ0JBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBQ0gsTUFBYSxrQkFBa0I7O0lBQzdCOzs7Ozs7Ozs7Ozs7T0FZRztJQUNJLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBMkI7Ozs7Ozs7Ozs7UUFDL0MsT0FBTyxJQUFJLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUNoRDtJQUVEOzs7Ozs7Ozs7Ozs7T0FZRztJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQUMsU0FBcUI7Ozs7Ozs7Ozs7UUFDeEMsT0FBTyxJQUFJLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztLQUN0RDtJQUVEOztPQUVHO0lBQ2EsV0FBVyxDQUFTO0lBRXBDLFlBQW9CLFdBQW1CO1FBQ3JDLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0tBQ2hDO0lBRUQ7O09BRUc7SUFDSSxJQUFJO1FBQ1QsT0FBTztZQUNMLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztTQUM5QixDQUFDO0tBQ0g7O0FBbkRILGdEQW9EQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogIENvcHlyaWdodCBBbWF6b24uY29tLCBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpLiBZb3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlXG4gKiAgd2l0aCB0aGUgTGljZW5zZS4gQSBjb3B5IG9mIHRoZSBMaWNlbnNlIGlzIGxvY2F0ZWQgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqICBvciBpbiB0aGUgJ2xpY2Vuc2UnIGZpbGUgYWNjb21wYW55aW5nIHRoaXMgZmlsZS4gVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICdBUyBJUycgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFU1xuICogIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGV4cHJlc3Mgb3IgaW1wbGllZC4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zXG4gKiAgYW5kIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB0eXBlIHsgSUV2YWx1YXRvciB9IGZyb20gJy4vZXZhbHVhdG9yLWJhc2UnO1xuaW1wb3J0IHR5cGUgeyBCdWlsdGluRXZhbHVhdG9yLCBFdmFsdWF0b3JSZWZlcmVuY2VCaW5kUmVzdWx0IH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHJlZmVyZW5jZSB0byBhbiBldmFsdWF0b3IgZm9yIG9ubGluZSBldmFsdWF0aW9uLlxuICpcbiAqIFVzZSB0aGUgc3RhdGljIGZhY3RvcnkgbWV0aG9kcyB0byBjcmVhdGUgZXZhbHVhdG9yIHJlZmVyZW5jZXM6XG4gKiAtIGBFdmFsdWF0b3JSZWZlcmVuY2UuYnVpbHRpbigpYCBmb3IgYnVpbHQtaW4gZXZhbHVhdG9yc1xuICogLSBgRXZhbHVhdG9yUmVmZXJlbmNlLmN1c3RvbSgpYCBmb3IgY3VzdG9tIGV2YWx1YXRvcnNcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gVXNpbmcgYnVpbHQtaW4gZXZhbHVhdG9yc1xuICogY29uc3QgaGVscGZ1bG5lc3MgPSBhZ2VudGNvcmUuRXZhbHVhdG9yUmVmZXJlbmNlLmJ1aWx0aW4oYWdlbnRjb3JlLkJ1aWx0aW5FdmFsdWF0b3IuSEVMUEZVTE5FU1MpO1xuICpcbiAqIC8vIFVzaW5nIGN1c3RvbSBldmFsdWF0b3JzXG4gKiBkZWNsYXJlIGNvbnN0IG15Q3VzdG9tRXZhbHVhdG9yOiBhZ2VudGNvcmUuSUV2YWx1YXRvcjtcbiAqIGNvbnN0IGN1c3RvbSA9IGFnZW50Y29yZS5FdmFsdWF0b3JSZWZlcmVuY2UuY3VzdG9tKG15Q3VzdG9tRXZhbHVhdG9yKTtcbiAqL1xuZXhwb3J0IGNsYXNzIEV2YWx1YXRvclJlZmVyZW5jZSB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgcmVmZXJlbmNlIHRvIGEgYnVpbHQtaW4gZXZhbHVhdG9yLlxuICAgKlxuICAgKiBCdWlsdC1pbiBldmFsdWF0b3JzIGFyZSBwcm92aWRlZCBieSBBbWF6b24gQmVkcm9jayBBZ2VudENvcmUgYW5kIGFzc2Vzc1xuICAgKiBkaWZmZXJlbnQgYXNwZWN0cyBvZiBhZ2VudCBwZXJmb3JtYW5jZSBhdCB2YXJpb3VzIGxldmVscyAoc2Vzc2lvbiwgdHJhY2UsIG9yIHRvb2wgY2FsbCkuXG4gICAqXG4gICAqIEBwYXJhbSBldmFsdWF0b3IgLSBUaGUgYnVpbHQtaW4gZXZhbHVhdG9yIHRvIHJlZmVyZW5jZVxuICAgKiBAcmV0dXJucyBBbiBFdmFsdWF0b3JSZWZlcmVuY2UgaW5zdGFuY2VcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogY29uc3QgaGVscGZ1bG5lc3MgPSBhZ2VudGNvcmUuRXZhbHVhdG9yUmVmZXJlbmNlLmJ1aWx0aW4oYWdlbnRjb3JlLkJ1aWx0aW5FdmFsdWF0b3IuSEVMUEZVTE5FU1MpO1xuICAgKiBjb25zdCBnb2FsU3VjY2VzcyA9IGFnZW50Y29yZS5FdmFsdWF0b3JSZWZlcmVuY2UuYnVpbHRpbihhZ2VudGNvcmUuQnVpbHRpbkV2YWx1YXRvci5HT0FMX1NVQ0NFU1NfUkFURSk7XG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGJ1aWx0aW4oZXZhbHVhdG9yOiBCdWlsdGluRXZhbHVhdG9yKTogRXZhbHVhdG9yUmVmZXJlbmNlIHtcbiAgICByZXR1cm4gbmV3IEV2YWx1YXRvclJlZmVyZW5jZShldmFsdWF0b3IudmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSByZWZlcmVuY2UgdG8gYSBjdXN0b20gZXZhbHVhdG9yLlxuICAgKlxuICAgKiBDdXN0b20gZXZhbHVhdG9ycyBhcmUgY3JlYXRlZCB1c2luZyB0aGUgYEV2YWx1YXRvcmAgY29uc3RydWN0IGFuZCBjYW4gYmVcbiAgICogTExNLWFzLWEtSnVkZ2Ugb3IgY29kZS1iYXNlZCAoTGFtYmRhKSBldmFsdWF0b3JzLlxuICAgKlxuICAgKiBAcGFyYW0gZXZhbHVhdG9yIC0gVGhlIGN1c3RvbSBldmFsdWF0b3IgY29uc3RydWN0IHRvIHJlZmVyZW5jZVxuICAgKiBAcmV0dXJucyBBbiBFdmFsdWF0b3JSZWZlcmVuY2UgaW5zdGFuY2VcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogZGVjbGFyZSBjb25zdCBteUN1c3RvbUV2YWx1YXRvcjogYWdlbnRjb3JlLklFdmFsdWF0b3I7XG4gICAqIGNvbnN0IHJlZiA9IGFnZW50Y29yZS5FdmFsdWF0b3JSZWZlcmVuY2UuY3VzdG9tKG15Q3VzdG9tRXZhbHVhdG9yKTtcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgY3VzdG9tKGV2YWx1YXRvcjogSUV2YWx1YXRvcik6IEV2YWx1YXRvclJlZmVyZW5jZSB7XG4gICAgcmV0dXJuIG5ldyBFdmFsdWF0b3JSZWZlcmVuY2UoZXZhbHVhdG9yLmV2YWx1YXRvcklkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgZXZhbHVhdG9yIGlkZW50aWZpZXIuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgZXZhbHVhdG9ySWQ6IHN0cmluZztcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKGV2YWx1YXRvcklkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmV2YWx1YXRvcklkID0gZXZhbHVhdG9ySWQ7XG4gIH1cblxuICAvKipcbiAgICogQmluZHMgdGhlIGV2YWx1YXRvciByZWZlcmVuY2UgdG8gcHJvZHVjZSB0aGUgTDEgcHJvcGVydHkuXG4gICAqL1xuICBwdWJsaWMgYmluZCgpOiBFdmFsdWF0b3JSZWZlcmVuY2VCaW5kUmVzdWx0IHtcbiAgICByZXR1cm4ge1xuICAgICAgZXZhbHVhdG9ySWQ6IHRoaXMuZXZhbHVhdG9ySWQsXG4gICAgfTtcbiAgfVxufVxuIl19