ppef 1.1.0 → 1.2.1
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/README.md +76 -125
- package/dist/__tests__/cli/evaluate-command.integration.test.d.ts +8 -0
- package/dist/__tests__/cli/evaluate-command.integration.test.d.ts.map +1 -0
- package/dist/__tests__/cli/evaluate-command.integration.test.js +308 -0
- package/dist/__tests__/cli/evaluate-command.integration.test.js.map +1 -0
- package/dist/__tests__/evaluators/claims-evaluator.unit.test.d.ts +8 -0
- package/dist/__tests__/evaluators/claims-evaluator.unit.test.d.ts.map +1 -0
- package/dist/__tests__/evaluators/claims-evaluator.unit.test.js +405 -0
- package/dist/__tests__/evaluators/claims-evaluator.unit.test.js.map +1 -0
- package/dist/__tests__/evaluators/metrics-evaluator.unit.test.d.ts +8 -0
- package/dist/__tests__/evaluators/metrics-evaluator.unit.test.d.ts.map +1 -0
- package/dist/__tests__/evaluators/metrics-evaluator.unit.test.js +424 -0
- package/dist/__tests__/evaluators/metrics-evaluator.unit.test.js.map +1 -0
- package/dist/__tests__/evaluators/registry.unit.test.d.ts +7 -0
- package/dist/__tests__/evaluators/registry.unit.test.d.ts.map +1 -0
- package/dist/__tests__/evaluators/registry.unit.test.js +173 -0
- package/dist/__tests__/evaluators/registry.unit.test.js.map +1 -0
- package/dist/__tests__/evaluators/robustness-evaluator.unit.test.d.ts +8 -0
- package/dist/__tests__/evaluators/robustness-evaluator.unit.test.d.ts.map +1 -0
- package/dist/__tests__/evaluators/robustness-evaluator.unit.test.js +260 -0
- package/dist/__tests__/evaluators/robustness-evaluator.unit.test.js.map +1 -0
- package/dist/__tests__/framework-pipeline.integration.test.js +36 -9
- package/dist/__tests__/framework-pipeline.integration.test.js.map +1 -1
- package/dist/__tests__/index-exports.unit.test.js +9 -12
- package/dist/__tests__/index-exports.unit.test.js.map +1 -1
- package/dist/aggregation/pipeline.d.ts.map +1 -1
- package/dist/aggregation/pipeline.js +40 -3
- package/dist/aggregation/pipeline.js.map +1 -1
- package/dist/claims/index.d.ts +6 -3
- package/dist/claims/index.d.ts.map +1 -1
- package/dist/claims/index.js +6 -3
- package/dist/claims/index.js.map +1 -1
- package/dist/cli/__tests__/aggregate.command.unit.test.js +3 -0
- package/dist/cli/__tests__/aggregate.command.unit.test.js.map +1 -1
- package/dist/cli/__tests__/binary-sut.integration.test.d.ts +8 -0
- package/dist/cli/__tests__/binary-sut.integration.test.d.ts.map +1 -0
- package/dist/cli/__tests__/binary-sut.integration.test.js +165 -0
- package/dist/cli/__tests__/binary-sut.integration.test.js.map +1 -0
- package/dist/cli/__tests__/config-loader.unit.test.d.ts +7 -0
- package/dist/cli/__tests__/config-loader.unit.test.d.ts.map +1 -0
- package/dist/cli/__tests__/config-loader.unit.test.js +611 -0
- package/dist/cli/__tests__/config-loader.unit.test.js.map +1 -0
- package/dist/cli/command-deps.d.ts +13 -1
- package/dist/cli/command-deps.d.ts.map +1 -1
- package/dist/cli/commands/aggregate.d.ts.map +1 -1
- package/dist/cli/commands/aggregate.js +3 -0
- package/dist/cli/commands/aggregate.js.map +1 -1
- package/dist/cli/commands/evaluate.d.ts +41 -0
- package/dist/cli/commands/evaluate.d.ts.map +1 -0
- package/dist/cli/commands/evaluate.js +287 -0
- package/dist/cli/commands/evaluate.js.map +1 -0
- package/dist/cli/commands/run.d.ts.map +1 -1
- package/dist/cli/commands/run.js +93 -1
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/index.d.ts +2 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +3 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/module-loader.d.ts +23 -1
- package/dist/cli/module-loader.d.ts.map +1 -1
- package/dist/cli/module-loader.js +19 -1
- package/dist/cli/module-loader.js.map +1 -1
- package/dist/cli/types.d.ts +19 -0
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/evaluators/claims-evaluator.d.ts +87 -0
- package/dist/evaluators/claims-evaluator.d.ts.map +1 -0
- package/dist/evaluators/claims-evaluator.js +289 -0
- package/dist/evaluators/claims-evaluator.js.map +1 -0
- package/dist/evaluators/exploratory-evaluator.d.ts +136 -0
- package/dist/evaluators/exploratory-evaluator.d.ts.map +1 -0
- package/dist/evaluators/exploratory-evaluator.js +545 -0
- package/dist/evaluators/exploratory-evaluator.js.map +1 -0
- package/dist/evaluators/index.d.ts +13 -0
- package/dist/evaluators/index.d.ts.map +1 -0
- package/dist/evaluators/index.js +14 -0
- package/dist/evaluators/index.js.map +1 -0
- package/dist/evaluators/metrics-evaluator.d.ts +114 -0
- package/dist/evaluators/metrics-evaluator.d.ts.map +1 -0
- package/dist/evaluators/metrics-evaluator.js +433 -0
- package/dist/evaluators/metrics-evaluator.js.map +1 -0
- package/dist/evaluators/registry.d.ts +106 -0
- package/dist/evaluators/registry.d.ts.map +1 -0
- package/dist/evaluators/registry.js +148 -0
- package/dist/evaluators/registry.js.map +1 -0
- package/dist/evaluators/robustness-evaluator.d.ts +57 -0
- package/dist/evaluators/robustness-evaluator.d.ts.map +1 -0
- package/dist/evaluators/robustness-evaluator.js +186 -0
- package/dist/evaluators/robustness-evaluator.js.map +1 -0
- package/dist/executor/__tests__/binary-sut.unit.test.d.ts +8 -0
- package/dist/executor/__tests__/binary-sut.unit.test.d.ts.map +1 -0
- package/dist/executor/__tests__/binary-sut.unit.test.js +313 -0
- package/dist/executor/__tests__/binary-sut.unit.test.js.map +1 -0
- package/dist/executor/__tests__/checkpoint-storage.unit.test.js +43 -0
- package/dist/executor/__tests__/checkpoint-storage.unit.test.js.map +1 -1
- package/dist/executor/__tests__/executor.unit.test.js +56 -9
- package/dist/executor/__tests__/executor.unit.test.js.map +1 -1
- package/dist/executor/__tests__/resource-calculator.unit.test.d.ts +10 -0
- package/dist/executor/__tests__/resource-calculator.unit.test.d.ts.map +1 -0
- package/dist/executor/__tests__/resource-calculator.unit.test.js +104 -0
- package/dist/executor/__tests__/resource-calculator.unit.test.js.map +1 -0
- package/dist/executor/__tests__/worker-threads-executor.unit.test.d.ts +8 -0
- package/dist/executor/__tests__/worker-threads-executor.unit.test.d.ts.map +1 -0
- package/dist/executor/__tests__/worker-threads-executor.unit.test.js +276 -0
- package/dist/executor/__tests__/worker-threads-executor.unit.test.js.map +1 -0
- package/dist/executor/binary-sut.d.ts +105 -0
- package/dist/executor/binary-sut.d.ts.map +1 -0
- package/dist/executor/binary-sut.js +174 -0
- package/dist/executor/binary-sut.js.map +1 -0
- package/dist/executor/checkpoint-storage.d.ts.map +1 -1
- package/dist/executor/checkpoint-storage.js +6 -4
- package/dist/executor/checkpoint-storage.js.map +1 -1
- package/dist/executor/executor.d.ts +28 -0
- package/dist/executor/executor.d.ts.map +1 -1
- package/dist/executor/executor.js +85 -24
- package/dist/executor/executor.js.map +1 -1
- package/dist/executor/index.d.ts +4 -0
- package/dist/executor/index.d.ts.map +1 -1
- package/dist/executor/index.js +4 -0
- package/dist/executor/index.js.map +1 -1
- package/dist/executor/resource-calculator.d.ts +49 -0
- package/dist/executor/resource-calculator.d.ts.map +1 -0
- package/dist/executor/resource-calculator.js +129 -0
- package/dist/executor/resource-calculator.js.map +1 -0
- package/dist/executor/worker-entry.js +26 -10
- package/dist/executor/worker-entry.js.map +1 -1
- package/dist/executor/worker-executor.d.ts +104 -3
- package/dist/executor/worker-executor.d.ts.map +1 -1
- package/dist/executor/worker-executor.js +224 -4
- package/dist/executor/worker-executor.js.map +1 -1
- package/dist/executor/worker-threads-executor.d.ts +245 -0
- package/dist/executor/worker-threads-executor.d.ts.map +1 -0
- package/dist/executor/worker-threads-executor.js +332 -0
- package/dist/executor/worker-threads-executor.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/renderers/latex-renderer.d.ts +60 -0
- package/dist/renderers/latex-renderer.d.ts.map +1 -1
- package/dist/renderers/latex-renderer.js +299 -0
- package/dist/renderers/latex-renderer.js.map +1 -1
- package/dist/renderers/types.d.ts +9 -0
- package/dist/renderers/types.d.ts.map +1 -1
- package/dist/renderers/types.js.map +1 -1
- package/dist/robustness/index.d.ts +5 -2
- package/dist/robustness/index.d.ts.map +1 -1
- package/dist/robustness/index.js +4 -2
- package/dist/robustness/index.js.map +1 -1
- package/dist/types/evaluator.d.ts +449 -0
- package/dist/types/evaluator.d.ts.map +1 -0
- package/dist/types/evaluator.js +9 -0
- package/dist/types/evaluator.js.map +1 -0
- package/dist/types/result.d.ts +2 -0
- package/dist/types/result.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/claims/__tests__/evaluator.unit.test.d.ts +0 -12
- package/dist/claims/__tests__/evaluator.unit.test.d.ts.map +0 -1
- package/dist/claims/__tests__/evaluator.unit.test.js +0 -801
- package/dist/claims/__tests__/evaluator.unit.test.js.map +0 -1
- package/dist/claims/evaluator.d.ts +0 -33
- package/dist/claims/evaluator.d.ts.map +0 -1
- package/dist/claims/evaluator.js +0 -174
- package/dist/claims/evaluator.js.map +0 -1
- package/dist/robustness/__tests__/analyzer.unit.test.d.ts +0 -11
- package/dist/robustness/__tests__/analyzer.unit.test.d.ts.map +0 -1
- package/dist/robustness/__tests__/analyzer.unit.test.js +0 -455
- package/dist/robustness/__tests__/analyzer.unit.test.js.map +0 -1
- package/dist/robustness/analyzer.d.ts +0 -61
- package/dist/robustness/analyzer.d.ts.map +0 -1
- package/dist/robustness/analyzer.js +0 -191
- package/dist/robustness/analyzer.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exploratory-evaluator.js","sourceRoot":"","sources":["../../src/evaluators/exploratory-evaluator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Evaluators Module
|
|
3
|
+
*
|
|
4
|
+
* Exports all evaluators, the registry, and related types.
|
|
5
|
+
* This is the primary entry point for the evaluation system.
|
|
6
|
+
*/
|
|
7
|
+
export { ClaimsEvaluator } from "./claims-evaluator.js";
|
|
8
|
+
export { RobustnessEvaluator } from "./robustness-evaluator.js";
|
|
9
|
+
export { MetricsEvaluator } from "./metrics-evaluator.js";
|
|
10
|
+
export { ExploratoryEvaluator } from "./exploratory-evaluator.js";
|
|
11
|
+
export { EvaluatorRegistry } from "./registry.js";
|
|
12
|
+
export type * from "../types/evaluator.js";
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/evaluators/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGlE,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAGlD,mBAAmB,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Evaluators Module
|
|
3
|
+
*
|
|
4
|
+
* Exports all evaluators, the registry, and related types.
|
|
5
|
+
* This is the primary entry point for the evaluation system.
|
|
6
|
+
*/
|
|
7
|
+
// Built-in evaluators
|
|
8
|
+
export { ClaimsEvaluator } from "./claims-evaluator.js";
|
|
9
|
+
export { RobustnessEvaluator } from "./robustness-evaluator.js";
|
|
10
|
+
export { MetricsEvaluator } from "./metrics-evaluator.js";
|
|
11
|
+
export { ExploratoryEvaluator } from "./exploratory-evaluator.js";
|
|
12
|
+
// Registry
|
|
13
|
+
export { EvaluatorRegistry } from "./registry.js";
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/evaluators/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,sBAAsB;AACtB,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,WAAW;AACX,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Metrics Evaluator
|
|
3
|
+
*
|
|
4
|
+
* Evaluates metrics against threshold, baseline, and target-range criteria.
|
|
5
|
+
* This evaluator enables evaluation without claims by checking if metrics
|
|
6
|
+
* meet specified criteria (thresholds, baselines, or target ranges).
|
|
7
|
+
*/
|
|
8
|
+
import type { IEvaluator, MetricsEvaluatorConfig, MetricsEvaluatorData, EvaluationContext, Evaluator, EvaluationOutput, EvaluationSummary, ValidationResult } from "../types/evaluator.js";
|
|
9
|
+
/**
|
|
10
|
+
* Metrics evaluator - evaluates metrics against criteria.
|
|
11
|
+
*/
|
|
12
|
+
export declare class MetricsEvaluator implements Evaluator<MetricsEvaluatorConfig, EvaluationContext, MetricsEvaluatorData>, IEvaluator {
|
|
13
|
+
/** Type identifier */
|
|
14
|
+
readonly type: "metrics";
|
|
15
|
+
/** Schema version */
|
|
16
|
+
private static readonly VERSION;
|
|
17
|
+
/**
|
|
18
|
+
* Validate metrics evaluator configuration.
|
|
19
|
+
*
|
|
20
|
+
* @param config - Configuration to validate
|
|
21
|
+
* @returns Validation result
|
|
22
|
+
*/
|
|
23
|
+
validateConfig(config: MetricsEvaluatorConfig): ValidationResult;
|
|
24
|
+
/**
|
|
25
|
+
* Validate a single criterion.
|
|
26
|
+
*
|
|
27
|
+
* @param criterion - Criterion to validate
|
|
28
|
+
* @param index - Index in criteria array (for error messages)
|
|
29
|
+
* @returns Array of error messages
|
|
30
|
+
*/
|
|
31
|
+
private validateCriterion;
|
|
32
|
+
/**
|
|
33
|
+
* Evaluate metrics against criteria.
|
|
34
|
+
*
|
|
35
|
+
* @param config - Metrics evaluator configuration
|
|
36
|
+
* @param input - Evaluation context with aggregates
|
|
37
|
+
* @returns Evaluation output
|
|
38
|
+
*/
|
|
39
|
+
evaluate(config: MetricsEvaluatorConfig, input: EvaluationContext): EvaluationOutput<MetricsEvaluatorData>;
|
|
40
|
+
/**
|
|
41
|
+
* Evaluate a single criterion.
|
|
42
|
+
*
|
|
43
|
+
* @param criterion - Criterion to evaluate
|
|
44
|
+
* @param aggregates - Aggregated results
|
|
45
|
+
* @returns Criterion result
|
|
46
|
+
*/
|
|
47
|
+
private evaluateCriterion;
|
|
48
|
+
/**
|
|
49
|
+
* Filter aggregates by SUT.
|
|
50
|
+
*
|
|
51
|
+
* @param aggregates - All aggregates
|
|
52
|
+
* @param sut - SUT identifier or "*" for all
|
|
53
|
+
* @returns Filtered aggregates
|
|
54
|
+
*/
|
|
55
|
+
private filterBySut;
|
|
56
|
+
/**
|
|
57
|
+
* Evaluate criterion by type.
|
|
58
|
+
*
|
|
59
|
+
* @param criterion - Criterion to evaluate
|
|
60
|
+
* @param observed - Observed values
|
|
61
|
+
* @param aggregates - All aggregates (needed for baseline to find baseline SUT)
|
|
62
|
+
* @returns Criterion result
|
|
63
|
+
*/
|
|
64
|
+
private evaluateByType;
|
|
65
|
+
/**
|
|
66
|
+
* Evaluate threshold criterion.
|
|
67
|
+
*
|
|
68
|
+
* @param criterion - Threshold criterion
|
|
69
|
+
* @param observed - Observed values
|
|
70
|
+
* @returns Criterion result
|
|
71
|
+
*/
|
|
72
|
+
private evaluateThreshold;
|
|
73
|
+
/**
|
|
74
|
+
* Evaluate baseline criterion.
|
|
75
|
+
*
|
|
76
|
+
* @param criterion - Baseline criterion
|
|
77
|
+
* @param observed - Observed values
|
|
78
|
+
* @param aggregates - Filtered aggregates
|
|
79
|
+
* @returns Criterion result
|
|
80
|
+
*/
|
|
81
|
+
private evaluateBaseline;
|
|
82
|
+
/**
|
|
83
|
+
* Evaluate target-range criterion.
|
|
84
|
+
*
|
|
85
|
+
* @param criterion - Target-range criterion
|
|
86
|
+
* @param observed - Observed values
|
|
87
|
+
* @returns Criterion result
|
|
88
|
+
*/
|
|
89
|
+
private evaluateTargetRange;
|
|
90
|
+
/**
|
|
91
|
+
* Compare value against threshold using operator.
|
|
92
|
+
*
|
|
93
|
+
* @param value - Value to check
|
|
94
|
+
* @param operator - Comparison operator
|
|
95
|
+
* @param threshold - Threshold value
|
|
96
|
+
* @returns Whether the comparison passes
|
|
97
|
+
*/
|
|
98
|
+
private compareOperator;
|
|
99
|
+
/**
|
|
100
|
+
* Compute summary statistics.
|
|
101
|
+
*
|
|
102
|
+
* @param results - All criterion results
|
|
103
|
+
* @returns Summary statistics
|
|
104
|
+
*/
|
|
105
|
+
private computeSummary;
|
|
106
|
+
/**
|
|
107
|
+
* Summarize evaluation output.
|
|
108
|
+
*
|
|
109
|
+
* @param output - Evaluation output to summarize
|
|
110
|
+
* @returns Summary statistics
|
|
111
|
+
*/
|
|
112
|
+
summarize(output: EvaluationOutput<MetricsEvaluatorData>): EvaluationSummary;
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=metrics-evaluator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics-evaluator.d.ts","sourceRoot":"","sources":["../../src/evaluators/metrics-evaluator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EACX,UAAU,EAIV,sBAAsB,EACtB,oBAAoB,EACpB,iBAAiB,EACjB,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,MAAM,uBAAuB,CAAC;AAE/B;;GAEG;AACH,qBAAa,gBACZ,YAAW,SAAS,CAAC,sBAAsB,EAAE,iBAAiB,EAAE,oBAAoB,CAAC,EAAE,UAAU;IAEjG,sBAAsB;IACtB,QAAQ,CAAC,IAAI,EAAG,SAAS,CAAU;IAEnC,qBAAqB;IACrB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAW;IAE1C;;;;;OAKG;IACH,cAAc,CAAC,MAAM,EAAE,sBAAsB,GAAG,gBAAgB;IAyBhE;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAkEzB;;;;;;OAMG;IACH,QAAQ,CACP,MAAM,EAAE,sBAAsB,EAC9B,KAAK,EAAE,iBAAiB,GACtB,gBAAgB,CAAC,oBAAoB,CAAC;IA4BzC;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAkDzB;;;;;;OAMG;IACH,OAAO,CAAC,WAAW;IAOnB;;;;;;;OAOG;IACH,OAAO,CAAC,cAAc;IAiBtB;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IA8BzB;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;IAsExB;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;IAqC3B;;;;;;;OAOG;IACH,OAAO,CAAC,eAAe;IAiBvB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAkCtB;;;;;OAKG;IACH,SAAS,CAAC,MAAM,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,GAAG,iBAAiB;CAc5E"}
|
|
@@ -0,0 +1,433 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Metrics Evaluator
|
|
3
|
+
*
|
|
4
|
+
* Evaluates metrics against threshold, baseline, and target-range criteria.
|
|
5
|
+
* This evaluator enables evaluation without claims by checking if metrics
|
|
6
|
+
* meet specified criteria (thresholds, baselines, or target ranges).
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Metrics evaluator - evaluates metrics against criteria.
|
|
10
|
+
*/
|
|
11
|
+
export class MetricsEvaluator {
|
|
12
|
+
/** Type identifier */
|
|
13
|
+
type = "metrics";
|
|
14
|
+
/** Schema version */
|
|
15
|
+
static VERSION = "1.0.0";
|
|
16
|
+
/**
|
|
17
|
+
* Validate metrics evaluator configuration.
|
|
18
|
+
*
|
|
19
|
+
* @param config - Configuration to validate
|
|
20
|
+
* @returns Validation result
|
|
21
|
+
*/
|
|
22
|
+
validateConfig(config) {
|
|
23
|
+
const errors = [];
|
|
24
|
+
const warnings = [];
|
|
25
|
+
// Check criteria array
|
|
26
|
+
if (!Array.isArray(config.criteria)) {
|
|
27
|
+
errors.push("criteria must be an array");
|
|
28
|
+
}
|
|
29
|
+
else if (config.criteria.length === 0) {
|
|
30
|
+
warnings.push("No criteria provided - evaluation will produce empty results");
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
// Validate each criterion
|
|
34
|
+
for (let i = 0; i < config.criteria.length; i++) {
|
|
35
|
+
const criterion = config.criteria[i];
|
|
36
|
+
const criterionErrors = this.validateCriterion(criterion, i);
|
|
37
|
+
errors.push(...criterionErrors);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return {
|
|
41
|
+
valid: errors.length === 0,
|
|
42
|
+
errors: errors.length > 0 ? errors : undefined,
|
|
43
|
+
warnings: warnings.length > 0 ? warnings : undefined,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Validate a single criterion.
|
|
48
|
+
*
|
|
49
|
+
* @param criterion - Criterion to validate
|
|
50
|
+
* @param index - Index in criteria array (for error messages)
|
|
51
|
+
* @returns Array of error messages
|
|
52
|
+
*/
|
|
53
|
+
validateCriterion(criterion, index) {
|
|
54
|
+
const errors = [];
|
|
55
|
+
const prefix = `Criterion[${index}]`;
|
|
56
|
+
if (!criterion.criterionId || typeof criterion.criterionId !== "string") {
|
|
57
|
+
errors.push(`${prefix}: criterionId is required`);
|
|
58
|
+
}
|
|
59
|
+
if (!criterion.description || typeof criterion.description !== "string") {
|
|
60
|
+
errors.push(`${prefix}: description is required`);
|
|
61
|
+
}
|
|
62
|
+
if (!criterion.metric || typeof criterion.metric !== "string") {
|
|
63
|
+
errors.push(`${prefix}: metric is required`);
|
|
64
|
+
}
|
|
65
|
+
if (!criterion.sut || typeof criterion.sut !== "string") {
|
|
66
|
+
errors.push(`${prefix}: sut is required`);
|
|
67
|
+
}
|
|
68
|
+
// Validate type-specific fields
|
|
69
|
+
switch (criterion.type) {
|
|
70
|
+
case "threshold":
|
|
71
|
+
if (!criterion.threshold) {
|
|
72
|
+
errors.push(`${prefix}: threshold required for threshold type`);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
if (!["gt", "gte", "lt", "lte", "eq"].includes(criterion.threshold.operator)) {
|
|
76
|
+
errors.push(`${prefix}: threshold.operator must be valid`);
|
|
77
|
+
}
|
|
78
|
+
if (typeof criterion.threshold.value !== "number") {
|
|
79
|
+
errors.push(`${prefix}: threshold.value must be a number`);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
break;
|
|
83
|
+
case "baseline":
|
|
84
|
+
if (!criterion.baseline) {
|
|
85
|
+
errors.push(`${prefix}: baseline required for baseline type`);
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
if (!criterion.baseline.sut || typeof criterion.baseline.sut !== "string") {
|
|
89
|
+
errors.push(`${prefix}: baseline.sut is required`);
|
|
90
|
+
}
|
|
91
|
+
if (!["gt", "gte", "lt", "lte", "eq"].includes(criterion.baseline.operator)) {
|
|
92
|
+
errors.push(`${prefix}: baseline.operator must be valid`);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
break;
|
|
96
|
+
case "target-range":
|
|
97
|
+
if (!criterion.targetRange) {
|
|
98
|
+
errors.push(`${prefix}: targetRange required for target-range type`);
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
if (criterion.targetRange.min === undefined && criterion.targetRange.max === undefined) {
|
|
102
|
+
errors.push(`${prefix}: targetRange must have min or max`);
|
|
103
|
+
}
|
|
104
|
+
if (criterion.targetRange.min !== undefined &&
|
|
105
|
+
criterion.targetRange.max !== undefined &&
|
|
106
|
+
criterion.targetRange.min > criterion.targetRange.max) {
|
|
107
|
+
errors.push(`${prefix}: targetRange.min must be <= targetRange.max`);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
break;
|
|
111
|
+
}
|
|
112
|
+
return errors;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Evaluate metrics against criteria.
|
|
116
|
+
*
|
|
117
|
+
* @param config - Metrics evaluator configuration
|
|
118
|
+
* @param input - Evaluation context with aggregates
|
|
119
|
+
* @returns Evaluation output
|
|
120
|
+
*/
|
|
121
|
+
evaluate(config, input) {
|
|
122
|
+
const { aggregates } = input;
|
|
123
|
+
// Evaluate all criteria
|
|
124
|
+
const results = config.criteria.map((criterion) => this.evaluateCriterion(criterion, aggregates));
|
|
125
|
+
// Compute summary
|
|
126
|
+
const summary = this.computeSummary(results);
|
|
127
|
+
return {
|
|
128
|
+
type: "metrics",
|
|
129
|
+
version: MetricsEvaluator.VERSION,
|
|
130
|
+
timestamp: new Date().toISOString(),
|
|
131
|
+
data: {
|
|
132
|
+
version: "1.0.0",
|
|
133
|
+
timestamp: new Date().toISOString(),
|
|
134
|
+
results,
|
|
135
|
+
summary,
|
|
136
|
+
},
|
|
137
|
+
metadata: {
|
|
138
|
+
inputSource: input.metadata?.source,
|
|
139
|
+
config,
|
|
140
|
+
},
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Evaluate a single criterion.
|
|
145
|
+
*
|
|
146
|
+
* @param criterion - Criterion to evaluate
|
|
147
|
+
* @param aggregates - Aggregated results
|
|
148
|
+
* @returns Criterion result
|
|
149
|
+
*/
|
|
150
|
+
evaluateCriterion(criterion, aggregates) {
|
|
151
|
+
// Filter aggregates by SUT (or get all if "*")
|
|
152
|
+
const relevantAggregates = this.filterBySut(aggregates, criterion.sut);
|
|
153
|
+
if (relevantAggregates.length === 0) {
|
|
154
|
+
return {
|
|
155
|
+
criterion,
|
|
156
|
+
status: "inconclusive",
|
|
157
|
+
observed: [],
|
|
158
|
+
expected: {
|
|
159
|
+
type: criterion.type,
|
|
160
|
+
},
|
|
161
|
+
inconclusiveReason: `No aggregates found for SUT: ${criterion.sut}`,
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
// Collect observed values
|
|
165
|
+
const observed = [];
|
|
166
|
+
for (const agg of relevantAggregates) {
|
|
167
|
+
if (criterion.metric in agg.metrics) {
|
|
168
|
+
const stats = agg.metrics[criterion.metric];
|
|
169
|
+
if (typeof stats.mean === "number") {
|
|
170
|
+
observed.push({
|
|
171
|
+
sut: agg.sut,
|
|
172
|
+
value: stats.mean,
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
if (observed.length === 0) {
|
|
178
|
+
return {
|
|
179
|
+
criterion,
|
|
180
|
+
status: "inconclusive",
|
|
181
|
+
observed: [],
|
|
182
|
+
expected: {
|
|
183
|
+
type: criterion.type,
|
|
184
|
+
},
|
|
185
|
+
inconclusiveReason: `Metric ${criterion.metric} not found in aggregates`,
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
// Evaluate based on criterion type
|
|
189
|
+
// Note: Pass original aggregates for baseline evaluation (needs all SUTs)
|
|
190
|
+
return this.evaluateByType(criterion, observed, aggregates);
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Filter aggregates by SUT.
|
|
194
|
+
*
|
|
195
|
+
* @param aggregates - All aggregates
|
|
196
|
+
* @param sut - SUT identifier or "*" for all
|
|
197
|
+
* @returns Filtered aggregates
|
|
198
|
+
*/
|
|
199
|
+
filterBySut(aggregates, sut) {
|
|
200
|
+
if (sut === "*") {
|
|
201
|
+
return aggregates;
|
|
202
|
+
}
|
|
203
|
+
return aggregates.filter((agg) => agg.sut === sut);
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Evaluate criterion by type.
|
|
207
|
+
*
|
|
208
|
+
* @param criterion - Criterion to evaluate
|
|
209
|
+
* @param observed - Observed values
|
|
210
|
+
* @param aggregates - All aggregates (needed for baseline to find baseline SUT)
|
|
211
|
+
* @returns Criterion result
|
|
212
|
+
*/
|
|
213
|
+
evaluateByType(criterion, observed, aggregates) {
|
|
214
|
+
switch (criterion.type) {
|
|
215
|
+
case "threshold":
|
|
216
|
+
return this.evaluateThreshold(criterion, observed);
|
|
217
|
+
case "baseline":
|
|
218
|
+
return this.evaluateBaseline(criterion, observed, aggregates);
|
|
219
|
+
case "target-range":
|
|
220
|
+
return this.evaluateTargetRange(criterion, observed);
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* Evaluate threshold criterion.
|
|
225
|
+
*
|
|
226
|
+
* @param criterion - Threshold criterion
|
|
227
|
+
* @param observed - Observed values
|
|
228
|
+
* @returns Criterion result
|
|
229
|
+
*/
|
|
230
|
+
evaluateThreshold(criterion, observed) {
|
|
231
|
+
if (!criterion.threshold) {
|
|
232
|
+
throw new Error("Threshold criterion must have threshold property");
|
|
233
|
+
}
|
|
234
|
+
const { operator, value } = criterion.threshold;
|
|
235
|
+
// For single SUT, use that result; for multiple, require all to pass
|
|
236
|
+
const status = criterion.sut === "*"
|
|
237
|
+
? observed.every((obs) => this.compareOperator(obs.value, operator, value))
|
|
238
|
+
? "pass"
|
|
239
|
+
: "fail"
|
|
240
|
+
: observed.some((obs) => this.compareOperator(obs.value, operator, value))
|
|
241
|
+
? "pass"
|
|
242
|
+
: "fail";
|
|
243
|
+
return {
|
|
244
|
+
criterion,
|
|
245
|
+
status,
|
|
246
|
+
observed,
|
|
247
|
+
expected: {
|
|
248
|
+
type: "threshold",
|
|
249
|
+
threshold: value,
|
|
250
|
+
},
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* Evaluate baseline criterion.
|
|
255
|
+
*
|
|
256
|
+
* @param criterion - Baseline criterion
|
|
257
|
+
* @param observed - Observed values
|
|
258
|
+
* @param aggregates - Filtered aggregates
|
|
259
|
+
* @returns Criterion result
|
|
260
|
+
*/
|
|
261
|
+
evaluateBaseline(criterion, observed, aggregates) {
|
|
262
|
+
if (!criterion.baseline) {
|
|
263
|
+
throw new Error("Baseline criterion must have baseline property");
|
|
264
|
+
}
|
|
265
|
+
const { sut: baselineSut, operator } = criterion.baseline;
|
|
266
|
+
// Find baseline aggregate
|
|
267
|
+
const baselineAgg = aggregates.find((agg) => agg.sut === baselineSut);
|
|
268
|
+
if (!baselineAgg) {
|
|
269
|
+
return {
|
|
270
|
+
criterion,
|
|
271
|
+
status: "inconclusive",
|
|
272
|
+
observed,
|
|
273
|
+
expected: {
|
|
274
|
+
type: "baseline",
|
|
275
|
+
},
|
|
276
|
+
inconclusiveReason: `Baseline SUT not found: ${baselineSut}`,
|
|
277
|
+
};
|
|
278
|
+
}
|
|
279
|
+
if (!(criterion.metric in baselineAgg.metrics)) {
|
|
280
|
+
return {
|
|
281
|
+
criterion,
|
|
282
|
+
status: "inconclusive",
|
|
283
|
+
observed,
|
|
284
|
+
expected: {
|
|
285
|
+
type: "baseline",
|
|
286
|
+
},
|
|
287
|
+
inconclusiveReason: `Baseline metric not found: ${criterion.metric}`,
|
|
288
|
+
};
|
|
289
|
+
}
|
|
290
|
+
const baselineStats = baselineAgg.metrics[criterion.metric];
|
|
291
|
+
if (typeof baselineStats.mean !== "number") {
|
|
292
|
+
return {
|
|
293
|
+
criterion,
|
|
294
|
+
status: "inconclusive",
|
|
295
|
+
observed,
|
|
296
|
+
expected: {
|
|
297
|
+
type: "baseline",
|
|
298
|
+
},
|
|
299
|
+
inconclusiveReason: `Baseline metric not found: ${criterion.metric}`,
|
|
300
|
+
};
|
|
301
|
+
}
|
|
302
|
+
const baselineValue = baselineStats.mean;
|
|
303
|
+
// Check primary observed values against baseline
|
|
304
|
+
const primaryObserved = observed.filter((obs) => obs.sut !== baselineSut);
|
|
305
|
+
const status = primaryObserved.some((obs) => this.compareOperator(obs.value, operator, baselineValue))
|
|
306
|
+
? "pass"
|
|
307
|
+
: "fail";
|
|
308
|
+
return {
|
|
309
|
+
criterion,
|
|
310
|
+
status,
|
|
311
|
+
observed,
|
|
312
|
+
expected: {
|
|
313
|
+
type: "baseline",
|
|
314
|
+
baselineValue,
|
|
315
|
+
},
|
|
316
|
+
};
|
|
317
|
+
}
|
|
318
|
+
/**
|
|
319
|
+
* Evaluate target-range criterion.
|
|
320
|
+
*
|
|
321
|
+
* @param criterion - Target-range criterion
|
|
322
|
+
* @param observed - Observed values
|
|
323
|
+
* @returns Criterion result
|
|
324
|
+
*/
|
|
325
|
+
evaluateTargetRange(criterion, observed) {
|
|
326
|
+
if (!criterion.targetRange) {
|
|
327
|
+
throw new Error("Target-range criterion must have targetRange property");
|
|
328
|
+
}
|
|
329
|
+
const { min, max, minInclusive = true, maxInclusive = true } = criterion.targetRange;
|
|
330
|
+
// Check each observed value
|
|
331
|
+
const inRange = (value) => {
|
|
332
|
+
const aboveMin = min === undefined || (minInclusive ? value >= min : value > min);
|
|
333
|
+
const belowMax = max === undefined || (maxInclusive ? value <= max : value < max);
|
|
334
|
+
return aboveMin && belowMax;
|
|
335
|
+
};
|
|
336
|
+
// For single SUT, use that result; for multiple, require all to pass
|
|
337
|
+
const status = criterion.sut === "*"
|
|
338
|
+
? observed.every((obs) => inRange(obs.value))
|
|
339
|
+
? "pass"
|
|
340
|
+
: "fail"
|
|
341
|
+
: observed.some((obs) => inRange(obs.value))
|
|
342
|
+
? "pass"
|
|
343
|
+
: "fail";
|
|
344
|
+
return {
|
|
345
|
+
criterion,
|
|
346
|
+
status,
|
|
347
|
+
observed,
|
|
348
|
+
expected: {
|
|
349
|
+
type: "target-range",
|
|
350
|
+
targetRange: { min, max },
|
|
351
|
+
},
|
|
352
|
+
};
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* Compare value against threshold using operator.
|
|
356
|
+
*
|
|
357
|
+
* @param value - Value to check
|
|
358
|
+
* @param operator - Comparison operator
|
|
359
|
+
* @param threshold - Threshold value
|
|
360
|
+
* @returns Whether the comparison passes
|
|
361
|
+
*/
|
|
362
|
+
compareOperator(value, operator, threshold) {
|
|
363
|
+
switch (operator) {
|
|
364
|
+
case "gt":
|
|
365
|
+
return value > threshold;
|
|
366
|
+
case "gte":
|
|
367
|
+
return value >= threshold;
|
|
368
|
+
case "lt":
|
|
369
|
+
return value < threshold;
|
|
370
|
+
case "lte":
|
|
371
|
+
return value <= threshold;
|
|
372
|
+
case "eq":
|
|
373
|
+
return Math.abs(value - threshold) < 0.0001; // Epsilon for floating point
|
|
374
|
+
default:
|
|
375
|
+
return false;
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
/**
|
|
379
|
+
* Compute summary statistics.
|
|
380
|
+
*
|
|
381
|
+
* @param results - All criterion results
|
|
382
|
+
* @returns Summary statistics
|
|
383
|
+
*/
|
|
384
|
+
computeSummary(results) {
|
|
385
|
+
const total = results.length;
|
|
386
|
+
const passed = results.filter((r) => r.status === "pass").length;
|
|
387
|
+
const failed = results.filter((r) => r.status === "fail").length;
|
|
388
|
+
const inconclusive = results.filter((r) => r.status === "inconclusive").length;
|
|
389
|
+
const passRate = total > 0 ? passed / total : 0;
|
|
390
|
+
// Compute pass rate by SUT
|
|
391
|
+
const passRateBySut = {};
|
|
392
|
+
const sutResults = new Map();
|
|
393
|
+
for (const result of results) {
|
|
394
|
+
for (const obs of result.observed) {
|
|
395
|
+
const existing = sutResults.get(obs.sut) ?? [];
|
|
396
|
+
existing.push(result);
|
|
397
|
+
sutResults.set(obs.sut, existing);
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
for (const [sut, sutResultList] of sutResults) {
|
|
401
|
+
const sutPassed = sutResultList.filter((r) => r.status === "pass").length;
|
|
402
|
+
passRateBySut[sut] = sutPassed / sutResultList.length;
|
|
403
|
+
}
|
|
404
|
+
return {
|
|
405
|
+
total,
|
|
406
|
+
passed,
|
|
407
|
+
failed,
|
|
408
|
+
inconclusive,
|
|
409
|
+
passRate,
|
|
410
|
+
passRateBySut,
|
|
411
|
+
};
|
|
412
|
+
}
|
|
413
|
+
/**
|
|
414
|
+
* Summarize evaluation output.
|
|
415
|
+
*
|
|
416
|
+
* @param output - Evaluation output to summarize
|
|
417
|
+
* @returns Summary statistics
|
|
418
|
+
*/
|
|
419
|
+
summarize(output) {
|
|
420
|
+
const { summary } = output.data;
|
|
421
|
+
return {
|
|
422
|
+
total: summary.total,
|
|
423
|
+
passed: summary.passed,
|
|
424
|
+
failed: summary.failed,
|
|
425
|
+
inconclusive: summary.inconclusive,
|
|
426
|
+
passRate: summary.passRate,
|
|
427
|
+
additional: {
|
|
428
|
+
passRateBySut: JSON.stringify(summary.passRateBySut),
|
|
429
|
+
},
|
|
430
|
+
};
|
|
431
|
+
}
|
|
432
|
+
}
|
|
433
|
+
//# sourceMappingURL=metrics-evaluator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metrics-evaluator.js","sourceRoot":"","sources":["../../src/evaluators/metrics-evaluator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAiBH;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAG5B,sBAAsB;IACb,IAAI,GAAG,SAAkB,CAAC;IAEnC,qBAAqB;IACb,MAAM,CAAU,OAAO,GAAG,OAAO,CAAC;IAE1C;;;;;OAKG;IACH,cAAc,CAAC,MAA8B;QAC5C,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,uBAAuB;QACvB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC1C,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzC,QAAQ,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;QAC/E,CAAC;aAAM,CAAC;YACP,0BAA0B;YAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACjD,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACrC,MAAM,eAAe,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;gBAC7D,MAAM,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,CAAC;YACjC,CAAC;QACF,CAAC;QAED,OAAO;YACN,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;YAC9C,QAAQ,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;SACpD,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,iBAAiB,CAAC,SAA2B,EAAE,KAAa;QACnE,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,aAAa,KAAK,GAAG,CAAC;QAErC,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,OAAO,SAAS,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YACzE,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,2BAA2B,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,OAAO,SAAS,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YACzE,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,2BAA2B,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,OAAO,SAAS,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/D,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,sBAAsB,CAAC,CAAC;QAC9C,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,OAAO,SAAS,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YACzD,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,mBAAmB,CAAC,CAAC;QAC3C,CAAC;QAED,gCAAgC;QAChC,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;YACxB,KAAK,WAAW;gBACf,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;oBAC1B,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,yCAAyC,CAAC,CAAC;gBACjE,CAAC;qBAAM,CAAC;oBACP,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC9E,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,oCAAoC,CAAC,CAAC;oBAC5D,CAAC;oBACD,IAAI,OAAO,SAAS,CAAC,SAAS,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;wBACnD,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,oCAAoC,CAAC,CAAC;oBAC5D,CAAC;gBACF,CAAC;gBACD,MAAM;YAEP,KAAK,UAAU;gBACd,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;oBACzB,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,uCAAuC,CAAC,CAAC;gBAC/D,CAAC;qBAAM,CAAC;oBACP,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,OAAO,SAAS,CAAC,QAAQ,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;wBAC3E,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,4BAA4B,CAAC,CAAC;oBACpD,CAAC;oBACD,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC7E,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,mCAAmC,CAAC,CAAC;oBAC3D,CAAC;gBACF,CAAC;gBACD,MAAM;YAEP,KAAK,cAAc;gBAClB,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;oBAC5B,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,8CAA8C,CAAC,CAAC;gBACtE,CAAC;qBAAM,CAAC;oBACP,IAAI,SAAS,CAAC,WAAW,CAAC,GAAG,KAAK,SAAS,IAAI,SAAS,CAAC,WAAW,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;wBACxF,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,oCAAoC,CAAC,CAAC;oBAC5D,CAAC;oBACD,IACC,SAAS,CAAC,WAAW,CAAC,GAAG,KAAK,SAAS;wBACvC,SAAS,CAAC,WAAW,CAAC,GAAG,KAAK,SAAS;wBACvC,SAAS,CAAC,WAAW,CAAC,GAAG,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,EACpD,CAAC;wBACF,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,8CAA8C,CAAC,CAAC;oBACtE,CAAC;gBACF,CAAC;gBACD,MAAM;QACR,CAAC;QAED,OAAO,MAAM,CAAC;IACf,CAAC;IAED;;;;;;OAMG;IACH,QAAQ,CACP,MAA8B,EAC9B,KAAwB;QAExB,MAAM,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;QAE7B,wBAAwB;QACxB,MAAM,OAAO,GAA6B,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAC3E,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,UAAU,CAAC,CAC7C,CAAC;QAEF,kBAAkB;QAClB,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAE7C,OAAO;YACN,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,gBAAgB,CAAC,OAAO;YACjC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,IAAI,EAAE;gBACL,OAAO,EAAE,OAAO;gBAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,OAAO;gBACP,OAAO;aACP;YACD,QAAQ,EAAE;gBACT,WAAW,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM;gBACnC,MAAM;aACN;SACD,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,iBAAiB,CACxB,SAA2B,EAC3B,UAA8B;QAE9B,+CAA+C;QAC/C,MAAM,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;QAEvE,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrC,OAAO;gBACN,SAAS;gBACT,MAAM,EAAE,cAAc;gBACtB,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE;oBACT,IAAI,EAAE,SAAS,CAAC,IAAI;iBACpB;gBACD,kBAAkB,EAAE,gCAAgC,SAAS,CAAC,GAAG,EAAE;aACnE,CAAC;QACH,CAAC;QAED,0BAA0B;QAC1B,MAAM,QAAQ,GAAqC,EAAE,CAAC;QACtD,KAAK,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;YACtC,IAAI,SAAS,CAAC,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBACrC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBAC5C,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACpC,QAAQ,CAAC,IAAI,CAAC;wBACb,GAAG,EAAE,GAAG,CAAC,GAAG;wBACZ,KAAK,EAAE,KAAK,CAAC,IAAI;qBACjB,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;QACF,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO;gBACN,SAAS;gBACT,MAAM,EAAE,cAAc;gBACtB,QAAQ,EAAE,EAAE;gBACZ,QAAQ,EAAE;oBACT,IAAI,EAAE,SAAS,CAAC,IAAI;iBACpB;gBACD,kBAAkB,EAAE,UAAU,SAAS,CAAC,MAAM,0BAA0B;aACxE,CAAC;QACH,CAAC;QAED,mCAAmC;QACnC,0EAA0E;QAC1E,OAAO,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;OAMG;IACK,WAAW,CAAC,UAA8B,EAAE,GAAW;QAC9D,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;YACjB,OAAO,UAAU,CAAC;QACnB,CAAC;QACD,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;;OAOG;IACK,cAAc,CACrB,SAA2B,EAC3B,QAA0C,EAC1C,UAA8B;QAE9B,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;YACxB,KAAK,WAAW;gBACf,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAEpD,KAAK,UAAU;gBACd,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;YAE/D,KAAK,cAAc;gBAClB,OAAO,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACvD,CAAC;IACF,CAAC;IAED;;;;;;OAMG;IACK,iBAAiB,CACxB,SAA2B,EAC3B,QAA0C;QAE1C,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC;QAEhD,qEAAqE;QACrE,MAAM,MAAM,GACX,SAAS,CAAC,GAAG,KAAK,GAAG;YACpB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAC1E,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,MAAM;YACT,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;gBACzE,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,MAAM,CAAC;QAEZ,OAAO;YACN,SAAS;YACT,MAAM;YACN,QAAQ;YACR,QAAQ,EAAE;gBACT,IAAI,EAAE,WAAW;gBACjB,SAAS,EAAE,KAAK;aAChB;SACD,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,gBAAgB,CACvB,SAA2B,EAC3B,QAA0C,EAC1C,UAA8B;QAE9B,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC,QAAQ,CAAC;QAE1D,0BAA0B;QAC1B,MAAM,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,WAAW,CAAC,CAAC;QACtE,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,OAAO;gBACN,SAAS;gBACT,MAAM,EAAE,cAAc;gBACtB,QAAQ;gBACR,QAAQ,EAAE;oBACT,IAAI,EAAE,UAAU;iBAChB;gBACD,kBAAkB,EAAE,2BAA2B,WAAW,EAAE;aAC5D,CAAC;QACH,CAAC;QAED,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YAChD,OAAO;gBACN,SAAS;gBACT,MAAM,EAAE,cAAc;gBACtB,QAAQ;gBACR,QAAQ,EAAE;oBACT,IAAI,EAAE,UAAU;iBAChB;gBACD,kBAAkB,EAAE,8BAA8B,SAAS,CAAC,MAAM,EAAE;aACpE,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC5D,IAAI,OAAO,aAAa,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5C,OAAO;gBACN,SAAS;gBACT,MAAM,EAAE,cAAc;gBACtB,QAAQ;gBACR,QAAQ,EAAE;oBACT,IAAI,EAAE,UAAU;iBAChB;gBACD,kBAAkB,EAAE,8BAA8B,SAAS,CAAC,MAAM,EAAE;aACpE,CAAC;QACH,CAAC;QAED,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,CAAC;QAEzC,iDAAiD;QACjD,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,WAAW,CAAC,CAAC;QAC1E,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAC3C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,aAAa,CAAC,CACxD;YACA,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,MAAM,CAAC;QAEV,OAAO;YACN,SAAS;YACT,MAAM;YACN,QAAQ;YACR,QAAQ,EAAE;gBACT,IAAI,EAAE,UAAU;gBAChB,aAAa;aACb;SACD,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,mBAAmB,CAC1B,SAA2B,EAC3B,QAA0C;QAE1C,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC1E,CAAC;QACD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,GAAG,IAAI,EAAE,YAAY,GAAG,IAAI,EAAE,GAAG,SAAS,CAAC,WAAW,CAAC;QAErF,4BAA4B;QAC5B,MAAM,OAAO,GAAG,CAAC,KAAa,EAAW,EAAE;YAC1C,MAAM,QAAQ,GAAG,GAAG,KAAK,SAAS,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;YAClF,MAAM,QAAQ,GAAG,GAAG,KAAK,SAAS,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC;YAClF,OAAO,QAAQ,IAAI,QAAQ,CAAC;QAC7B,CAAC,CAAC;QAEF,qEAAqE;QACrE,MAAM,MAAM,GACX,SAAS,CAAC,GAAG,KAAK,GAAG;YACpB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC5C,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,MAAM;YACT,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAC3C,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,MAAM,CAAC;QAEZ,OAAO;YACN,SAAS;YACT,MAAM;YACN,QAAQ;YACR,QAAQ,EAAE;gBACT,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;aACzB;SACD,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACK,eAAe,CAAC,KAAa,EAAE,QAAgB,EAAE,SAAiB;QACzE,QAAQ,QAAQ,EAAE,CAAC;YAClB,KAAK,IAAI;gBACR,OAAO,KAAK,GAAG,SAAS,CAAC;YAC1B,KAAK,KAAK;gBACT,OAAO,KAAK,IAAI,SAAS,CAAC;YAC3B,KAAK,IAAI;gBACR,OAAO,KAAK,GAAG,SAAS,CAAC;YAC1B,KAAK,KAAK;gBACT,OAAO,KAAK,IAAI,SAAS,CAAC;YAC3B,KAAK,IAAI;gBACR,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,SAAS,CAAC,GAAG,MAAM,CAAC,CAAC,6BAA6B;YAC3E;gBACC,OAAO,KAAK,CAAC;QACf,CAAC;IACF,CAAC;IAED;;;;;OAKG;IACK,cAAc,CAAC,OAAiC;QACvD,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;QACjE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;QACjE,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,cAAc,CAAC,CAAC,MAAM,CAAC;QAC/E,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAEhD,2BAA2B;QAC3B,MAAM,aAAa,GAA2B,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoC,CAAC;QAE/D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC9B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACnC,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC/C,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACtB,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACnC,CAAC;QACF,CAAC;QAED,KAAK,MAAM,CAAC,GAAG,EAAE,aAAa,CAAC,IAAI,UAAU,EAAE,CAAC;YAC/C,MAAM,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;YAC1E,aAAa,CAAC,GAAG,CAAC,GAAG,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC;QACvD,CAAC;QAED,OAAO;YACN,KAAK;YACL,MAAM;YACN,MAAM;YACN,YAAY;YACZ,QAAQ;YACR,aAAa;SACb,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,MAA8C;QACvD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;QAEhC,OAAO;YACN,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,YAAY,EAAE,OAAO,CAAC,YAAY;YAClC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,UAAU,EAAE;gBACX,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC;aACpD;SACD,CAAC;IACH,CAAC"}
|