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,106 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Evaluator Registry
|
|
3
|
+
*
|
|
4
|
+
* Central registry for all evaluator types. Enables the plugin
|
|
5
|
+
* architecture by allowing custom evaluators to be registered
|
|
6
|
+
* alongside built-in evaluators.
|
|
7
|
+
*/
|
|
8
|
+
import type { IEvaluator, Evaluator, EvaluationType, EvaluatorConfig } from "../types/evaluator.js";
|
|
9
|
+
/**
|
|
10
|
+
* Registry of all available evaluators.
|
|
11
|
+
*
|
|
12
|
+
* Evaluators are stored by their type identifier. The registry
|
|
13
|
+
* provides methods to register new evaluators, retrieve evaluators
|
|
14
|
+
* by type, and list all registered types.
|
|
15
|
+
*/
|
|
16
|
+
export declare const EvaluatorRegistry: {
|
|
17
|
+
/**
|
|
18
|
+
* Register an evaluator.
|
|
19
|
+
*
|
|
20
|
+
* If an evaluator with the same type already exists, it will
|
|
21
|
+
* be replaced with the new evaluator.
|
|
22
|
+
*
|
|
23
|
+
* @param evaluator - Evaluator to register
|
|
24
|
+
*/
|
|
25
|
+
readonly register: <TConfig extends EvaluatorConfig, TInput, TOutput>(evaluator: Evaluator<TConfig, TInput, TOutput>) => void;
|
|
26
|
+
/**
|
|
27
|
+
* Get an evaluator by type (returns base IEvaluator).
|
|
28
|
+
*
|
|
29
|
+
* For type-safe retrieval, use the getAs() method instead.
|
|
30
|
+
*
|
|
31
|
+
* @param type - Evaluation type identifier
|
|
32
|
+
* @returns Evaluator instance or undefined if not found
|
|
33
|
+
*/
|
|
34
|
+
readonly get: (type: EvaluationType) => IEvaluator | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* Get an evaluator by type with runtime type checking.
|
|
37
|
+
*
|
|
38
|
+
* Uses instanceof to verify the evaluator is of the expected class.
|
|
39
|
+
* Returns undefined if the evaluator doesn't exist or isn't of the expected type.
|
|
40
|
+
*
|
|
41
|
+
* @param type - Evaluation type identifier
|
|
42
|
+
* @param clazz - Constructor of the expected evaluator class
|
|
43
|
+
* @returns Typed evaluator instance or undefined
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```ts
|
|
47
|
+
* const claimsEvaluator = EvaluatorRegistry.getAs("claims", ClaimsEvaluator);
|
|
48
|
+
* if (claimsEvaluator) {
|
|
49
|
+
* // Full type safety - claimsEvaluator is ClaimsEvaluator
|
|
50
|
+
* const validation = claimsEvaluator.validateConfig(config);
|
|
51
|
+
* }
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
readonly getAs: <T extends IEvaluator>(type: EvaluationType, clazz: new () => T) => T | undefined;
|
|
55
|
+
/**
|
|
56
|
+
* Get an evaluator by type, throwing if not found.
|
|
57
|
+
*
|
|
58
|
+
* @param type - Evaluation type identifier
|
|
59
|
+
* @param clazz - Constructor of the expected evaluator class
|
|
60
|
+
* @returns Evaluator instance
|
|
61
|
+
* @throws Error if evaluator type not found or wrong type
|
|
62
|
+
*/
|
|
63
|
+
readonly getOrThrow: <T extends IEvaluator>(type: EvaluationType, clazz: new () => T) => T;
|
|
64
|
+
/**
|
|
65
|
+
* List all registered evaluator types.
|
|
66
|
+
*
|
|
67
|
+
* @returns Array of registered evaluation type identifiers
|
|
68
|
+
*/
|
|
69
|
+
readonly types: () => EvaluationType[];
|
|
70
|
+
/**
|
|
71
|
+
* Check if an evaluator type is registered.
|
|
72
|
+
*
|
|
73
|
+
* @param type - Evaluation type identifier
|
|
74
|
+
* @returns True if evaluator is registered
|
|
75
|
+
*/
|
|
76
|
+
readonly has: (type: EvaluationType) => boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Unregister an evaluator by type.
|
|
79
|
+
*
|
|
80
|
+
* This is primarily useful for testing.
|
|
81
|
+
*
|
|
82
|
+
* @param type - Evaluation type identifier
|
|
83
|
+
* @returns True if evaluator was unregistered
|
|
84
|
+
*/
|
|
85
|
+
readonly unregister: (type: EvaluationType) => boolean;
|
|
86
|
+
/**
|
|
87
|
+
* Clear all registered evaluators.
|
|
88
|
+
*
|
|
89
|
+
* This is primarily useful for testing.
|
|
90
|
+
*/
|
|
91
|
+
readonly clear: () => void;
|
|
92
|
+
/**
|
|
93
|
+
* Get the number of registered evaluators.
|
|
94
|
+
*
|
|
95
|
+
* @returns Count of registered evaluators
|
|
96
|
+
*/
|
|
97
|
+
readonly size: number;
|
|
98
|
+
};
|
|
99
|
+
/**
|
|
100
|
+
* Auto-register built-in evaluators on module load.
|
|
101
|
+
*
|
|
102
|
+
* This ensures that the standard evaluators (claims, robustness, metrics, exploratory)
|
|
103
|
+
* are always available without requiring explicit registration.
|
|
104
|
+
*/
|
|
105
|
+
export declare function registerBuiltInEvaluators(): void;
|
|
106
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/evaluators/registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAKpG;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB;IAC7B;;;;;;;OAOG;wBACM,OAAO,SAAS,eAAe,EAAE,MAAM,EAAE,OAAO,aAC7C,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,KAC5C,IAAI;IAQP;;;;;;;OAOG;yBACO,cAAc,KAAG,UAAU,GAAG,SAAS;IAIjD;;;;;;;;;;;;;;;;;;OAkBG;qBACG,CAAC,SAAS,UAAU,QAAQ,cAAc,SAAS,UAAU,CAAC,KAAG,CAAC,GAAG,SAAS;IAKpF;;;;;;;OAOG;0BACQ,CAAC,SAAS,UAAU,QAAQ,cAAc,SAAS,UAAU,CAAC,KAAG,CAAC;IAQ7E;;;;OAIG;0BACM,cAAc,EAAE;IAIzB;;;;;OAKG;yBACO,cAAc,KAAG,OAAO;IAIlC;;;;;;;OAOG;gCACc,cAAc,KAAG,OAAO;IAIzC;;;;OAIG;0BACM,IAAI;IAIb;;;;OAIG;mBACS,MAAM;CAGT,CAAC;AAWX;;;;;GAKG;AACH,wBAAgB,yBAAyB,IAAI,IAAI,CAKhD"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Evaluator Registry
|
|
3
|
+
*
|
|
4
|
+
* Central registry for all evaluator types. Enables the plugin
|
|
5
|
+
* architecture by allowing custom evaluators to be registered
|
|
6
|
+
* alongside built-in evaluators.
|
|
7
|
+
*/
|
|
8
|
+
/** Private storage for evaluators */
|
|
9
|
+
const evaluators = new Map();
|
|
10
|
+
/**
|
|
11
|
+
* Registry of all available evaluators.
|
|
12
|
+
*
|
|
13
|
+
* Evaluators are stored by their type identifier. The registry
|
|
14
|
+
* provides methods to register new evaluators, retrieve evaluators
|
|
15
|
+
* by type, and list all registered types.
|
|
16
|
+
*/
|
|
17
|
+
export const EvaluatorRegistry = {
|
|
18
|
+
/**
|
|
19
|
+
* Register an evaluator.
|
|
20
|
+
*
|
|
21
|
+
* If an evaluator with the same type already exists, it will
|
|
22
|
+
* be replaced with the new evaluator.
|
|
23
|
+
*
|
|
24
|
+
* @param evaluator - Evaluator to register
|
|
25
|
+
*/
|
|
26
|
+
register(evaluator) {
|
|
27
|
+
const existing = evaluators.get(evaluator.type);
|
|
28
|
+
if (existing) {
|
|
29
|
+
console.warn(`Replacing existing evaluator for type: ${evaluator.type}`);
|
|
30
|
+
}
|
|
31
|
+
evaluators.set(evaluator.type, evaluator);
|
|
32
|
+
},
|
|
33
|
+
/**
|
|
34
|
+
* Get an evaluator by type (returns base IEvaluator).
|
|
35
|
+
*
|
|
36
|
+
* For type-safe retrieval, use the getAs() method instead.
|
|
37
|
+
*
|
|
38
|
+
* @param type - Evaluation type identifier
|
|
39
|
+
* @returns Evaluator instance or undefined if not found
|
|
40
|
+
*/
|
|
41
|
+
get(type) {
|
|
42
|
+
return evaluators.get(type);
|
|
43
|
+
},
|
|
44
|
+
/**
|
|
45
|
+
* Get an evaluator by type with runtime type checking.
|
|
46
|
+
*
|
|
47
|
+
* Uses instanceof to verify the evaluator is of the expected class.
|
|
48
|
+
* Returns undefined if the evaluator doesn't exist or isn't of the expected type.
|
|
49
|
+
*
|
|
50
|
+
* @param type - Evaluation type identifier
|
|
51
|
+
* @param clazz - Constructor of the expected evaluator class
|
|
52
|
+
* @returns Typed evaluator instance or undefined
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* ```ts
|
|
56
|
+
* const claimsEvaluator = EvaluatorRegistry.getAs("claims", ClaimsEvaluator);
|
|
57
|
+
* if (claimsEvaluator) {
|
|
58
|
+
* // Full type safety - claimsEvaluator is ClaimsEvaluator
|
|
59
|
+
* const validation = claimsEvaluator.validateConfig(config);
|
|
60
|
+
* }
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
getAs(type, clazz) {
|
|
64
|
+
const evaluator = evaluators.get(type);
|
|
65
|
+
return evaluator instanceof clazz ? evaluator : undefined;
|
|
66
|
+
},
|
|
67
|
+
/**
|
|
68
|
+
* Get an evaluator by type, throwing if not found.
|
|
69
|
+
*
|
|
70
|
+
* @param type - Evaluation type identifier
|
|
71
|
+
* @param clazz - Constructor of the expected evaluator class
|
|
72
|
+
* @returns Evaluator instance
|
|
73
|
+
* @throws Error if evaluator type not found or wrong type
|
|
74
|
+
*/
|
|
75
|
+
getOrThrow(type, clazz) {
|
|
76
|
+
const evaluator = EvaluatorRegistry.getAs(type, clazz);
|
|
77
|
+
if (!evaluator) {
|
|
78
|
+
throw new Error(`Evaluator not found for type: ${type}`);
|
|
79
|
+
}
|
|
80
|
+
return evaluator;
|
|
81
|
+
},
|
|
82
|
+
/**
|
|
83
|
+
* List all registered evaluator types.
|
|
84
|
+
*
|
|
85
|
+
* @returns Array of registered evaluation type identifiers
|
|
86
|
+
*/
|
|
87
|
+
types() {
|
|
88
|
+
return Array.from(evaluators.keys());
|
|
89
|
+
},
|
|
90
|
+
/**
|
|
91
|
+
* Check if an evaluator type is registered.
|
|
92
|
+
*
|
|
93
|
+
* @param type - Evaluation type identifier
|
|
94
|
+
* @returns True if evaluator is registered
|
|
95
|
+
*/
|
|
96
|
+
has(type) {
|
|
97
|
+
return evaluators.has(type);
|
|
98
|
+
},
|
|
99
|
+
/**
|
|
100
|
+
* Unregister an evaluator by type.
|
|
101
|
+
*
|
|
102
|
+
* This is primarily useful for testing.
|
|
103
|
+
*
|
|
104
|
+
* @param type - Evaluation type identifier
|
|
105
|
+
* @returns True if evaluator was unregistered
|
|
106
|
+
*/
|
|
107
|
+
unregister(type) {
|
|
108
|
+
return evaluators.delete(type);
|
|
109
|
+
},
|
|
110
|
+
/**
|
|
111
|
+
* Clear all registered evaluators.
|
|
112
|
+
*
|
|
113
|
+
* This is primarily useful for testing.
|
|
114
|
+
*/
|
|
115
|
+
clear() {
|
|
116
|
+
evaluators.clear();
|
|
117
|
+
},
|
|
118
|
+
/**
|
|
119
|
+
* Get the number of registered evaluators.
|
|
120
|
+
*
|
|
121
|
+
* @returns Count of registered evaluators
|
|
122
|
+
*/
|
|
123
|
+
get size() {
|
|
124
|
+
return evaluators.size;
|
|
125
|
+
},
|
|
126
|
+
};
|
|
127
|
+
// ============================================================================
|
|
128
|
+
// Built-in Evaluator Imports and Auto-Registration
|
|
129
|
+
// ============================================================================
|
|
130
|
+
import { ClaimsEvaluator } from "./claims-evaluator.js";
|
|
131
|
+
import { RobustnessEvaluator } from "./robustness-evaluator.js";
|
|
132
|
+
import { MetricsEvaluator } from "./metrics-evaluator.js";
|
|
133
|
+
import { ExploratoryEvaluator } from "./exploratory-evaluator.js";
|
|
134
|
+
/**
|
|
135
|
+
* Auto-register built-in evaluators on module load.
|
|
136
|
+
*
|
|
137
|
+
* This ensures that the standard evaluators (claims, robustness, metrics, exploratory)
|
|
138
|
+
* are always available without requiring explicit registration.
|
|
139
|
+
*/
|
|
140
|
+
export function registerBuiltInEvaluators() {
|
|
141
|
+
EvaluatorRegistry.register(new ClaimsEvaluator());
|
|
142
|
+
EvaluatorRegistry.register(new RobustnessEvaluator());
|
|
143
|
+
EvaluatorRegistry.register(new MetricsEvaluator());
|
|
144
|
+
EvaluatorRegistry.register(new ExploratoryEvaluator());
|
|
145
|
+
}
|
|
146
|
+
// Register built-in evaluators when this module is loaded
|
|
147
|
+
registerBuiltInEvaluators();
|
|
148
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/evaluators/registry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,qCAAqC;AACrC,MAAM,UAAU,GAAG,IAAI,GAAG,EAA8B,CAAC;AAEzD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAChC;;;;;;;OAOG;IACH,QAAQ,CACP,SAA8C;QAE9C,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,0CAA0C,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1E,CAAC;QACD,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED;;;;;;;OAOG;IACH,GAAG,CAAC,IAAoB;QACvB,OAAO,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAuB,IAAoB,EAAE,KAAkB;QACnE,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,OAAO,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3D,CAAC;IAED;;;;;;;OAOG;IACH,UAAU,CAAuB,IAAoB,EAAE,KAAkB;QACxE,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACH,KAAK;QACJ,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,IAAoB;QACvB,OAAO,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;;;OAOG;IACH,UAAU,CAAC,IAAoB;QAC9B,OAAO,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED;;;;OAIG;IACH,KAAK;QACJ,UAAU,CAAC,KAAK,EAAE,CAAC;IACpB,CAAC;IAED;;;;OAIG;IACH,IAAI,IAAI;QACP,OAAO,UAAU,CAAC,IAAI,CAAC;IACxB,CAAC;CACQ,CAAC;AAEX,+EAA+E;AAC/E,mDAAmD;AACnD,+EAA+E;AAE/E,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;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB;IACxC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,eAAe,EAAE,CAAC,CAAC;IAClD,iBAAiB,CAAC,QAAQ,CAAC,IAAI,mBAAmB,EAAE,CAAC,CAAC;IACtD,iBAAiB,CAAC,QAAQ,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;IACnD,iBAAiB,CAAC,QAAQ,CAAC,IAAI,oBAAoB,EAAE,CAAC,CAAC;AACxD,CAAC;AAED,0DAA0D;AAC1D,yBAAyB,EAAE,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Robustness Evaluator
|
|
3
|
+
*
|
|
4
|
+
* Analyzes algorithm robustness under perturbations.
|
|
5
|
+
* Refactored from src/robustness/analyzer.ts into a class-based design
|
|
6
|
+
* that implements the Evaluator interface.
|
|
7
|
+
*/
|
|
8
|
+
import type { EvaluationResult } from "../types/result.js";
|
|
9
|
+
import type { IEvaluator, RobustnessEvaluatorConfig, RobustnessEvaluatorData, Evaluator, EvaluationOutput, EvaluationSummary, ValidationResult } from "../types/evaluator.js";
|
|
10
|
+
/**
|
|
11
|
+
* Robustness evaluator - analyzes variance under perturbations.
|
|
12
|
+
*/
|
|
13
|
+
export declare class RobustnessEvaluator implements Evaluator<RobustnessEvaluatorConfig, EvaluationResult[], RobustnessEvaluatorData>, IEvaluator {
|
|
14
|
+
/** Type identifier */
|
|
15
|
+
readonly type: "robustness";
|
|
16
|
+
/** Schema version */
|
|
17
|
+
private static readonly VERSION;
|
|
18
|
+
/**
|
|
19
|
+
* Validate robustness evaluator configuration.
|
|
20
|
+
*
|
|
21
|
+
* @param config - Configuration to validate
|
|
22
|
+
* @returns Validation result
|
|
23
|
+
*/
|
|
24
|
+
validateConfig(config: RobustnessEvaluatorConfig): ValidationResult;
|
|
25
|
+
/**
|
|
26
|
+
* Evaluate robustness from raw results.
|
|
27
|
+
*
|
|
28
|
+
* @param config - Robustness evaluator configuration
|
|
29
|
+
* @param input - Raw evaluation results
|
|
30
|
+
* @returns Evaluation output
|
|
31
|
+
*/
|
|
32
|
+
evaluate(config: RobustnessEvaluatorConfig, input: EvaluationResult[]): EvaluationOutput<RobustnessEvaluatorData>;
|
|
33
|
+
/**
|
|
34
|
+
* Create a full robustness analysis output.
|
|
35
|
+
*
|
|
36
|
+
* @param results - All evaluation results (base and perturbed)
|
|
37
|
+
* @param options - Analysis options
|
|
38
|
+
* @returns Complete robustness analysis output
|
|
39
|
+
*/
|
|
40
|
+
private createRobustnessAnalysis;
|
|
41
|
+
/**
|
|
42
|
+
* Analyze robustness of a SUT under perturbation.
|
|
43
|
+
*
|
|
44
|
+
* @param perturbedResults - Results with perturbation
|
|
45
|
+
* @param metric - Metric to analyze
|
|
46
|
+
* @returns Robustness metrics
|
|
47
|
+
*/
|
|
48
|
+
private analyzeRobustnessForMetric;
|
|
49
|
+
/**
|
|
50
|
+
* Summarize evaluation output.
|
|
51
|
+
*
|
|
52
|
+
* @param output - Evaluation output to summarize
|
|
53
|
+
* @returns Summary statistics
|
|
54
|
+
*/
|
|
55
|
+
summarize(output: EvaluationOutput<RobustnessEvaluatorData>): EvaluationSummary;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=robustness-evaluator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"robustness-evaluator.d.ts","sourceRoot":"","sources":["../../src/evaluators/robustness-evaluator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EACX,UAAU,EACV,yBAAyB,EACzB,uBAAuB,EACvB,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,MAAM,uBAAuB,CAAC;AAY/B;;GAEG;AACH,qBAAa,mBACZ,YACC,SAAS,CAAC,yBAAyB,EAAE,gBAAgB,EAAE,EAAE,uBAAuB,CAAC,EACjF,UAAU;IAEX,sBAAsB;IACtB,QAAQ,CAAC,IAAI,EAAG,YAAY,CAAU;IAEtC,qBAAqB;IACrB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAW;IAE1C;;;;;OAKG;IACH,cAAc,CAAC,MAAM,EAAE,yBAAyB,GAAG,gBAAgB;IAuCnE;;;;;;OAMG;IACH,QAAQ,CACP,MAAM,EAAE,yBAAyB,EACjC,KAAK,EAAE,gBAAgB,EAAE,GACvB,gBAAgB,CAAC,uBAAuB,CAAC;IAuB5C;;;;;;OAMG;IACH,OAAO,CAAC,wBAAwB;IA2DhC;;;;;;OAMG;IACH,OAAO,CAAC,0BAA0B;IAiClC;;;;;OAKG;IACH,SAAS,CAAC,MAAM,EAAE,gBAAgB,CAAC,uBAAuB,CAAC,GAAG,iBAAiB;CAY/E"}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Robustness Evaluator
|
|
3
|
+
*
|
|
4
|
+
* Analyzes algorithm robustness under perturbations.
|
|
5
|
+
* Refactored from src/robustness/analyzer.ts into a class-based design
|
|
6
|
+
* that implements the Evaluator interface.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Robustness evaluator - analyzes variance under perturbations.
|
|
10
|
+
*/
|
|
11
|
+
export class RobustnessEvaluator {
|
|
12
|
+
/** Type identifier */
|
|
13
|
+
type = "robustness";
|
|
14
|
+
/** Schema version */
|
|
15
|
+
static VERSION = "1.0.0";
|
|
16
|
+
/**
|
|
17
|
+
* Validate robustness 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 metrics array
|
|
26
|
+
if (!Array.isArray(config.metrics)) {
|
|
27
|
+
errors.push("metrics must be an array");
|
|
28
|
+
}
|
|
29
|
+
else if (config.metrics.length === 0) {
|
|
30
|
+
errors.push("metrics cannot be empty");
|
|
31
|
+
}
|
|
32
|
+
// Check perturbations array
|
|
33
|
+
if (!Array.isArray(config.perturbations)) {
|
|
34
|
+
errors.push("perturbations must be an array");
|
|
35
|
+
}
|
|
36
|
+
else if (config.perturbations.length === 0) {
|
|
37
|
+
errors.push("perturbations cannot be empty");
|
|
38
|
+
}
|
|
39
|
+
// Validate intensity levels if provided
|
|
40
|
+
if (config.intensityLevels !== undefined) {
|
|
41
|
+
if (!Array.isArray(config.intensityLevels)) {
|
|
42
|
+
errors.push("intensityLevels must be an array");
|
|
43
|
+
}
|
|
44
|
+
else if (!config.intensityLevels.every((level) => typeof level === "number")) {
|
|
45
|
+
errors.push("intensityLevels must contain only numbers");
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
// Validate runsPerLevel if provided
|
|
49
|
+
if (config.runsPerLevel !== undefined && typeof config.runsPerLevel !== "number") {
|
|
50
|
+
errors.push("runsPerLevel must be a number");
|
|
51
|
+
}
|
|
52
|
+
return {
|
|
53
|
+
valid: errors.length === 0,
|
|
54
|
+
errors: errors.length > 0 ? errors : undefined,
|
|
55
|
+
warnings: warnings.length > 0 ? warnings : undefined,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Evaluate robustness from raw results.
|
|
60
|
+
*
|
|
61
|
+
* @param config - Robustness evaluator configuration
|
|
62
|
+
* @param input - Raw evaluation results
|
|
63
|
+
* @returns Evaluation output
|
|
64
|
+
*/
|
|
65
|
+
evaluate(config, input) {
|
|
66
|
+
// Convert config to options format
|
|
67
|
+
const options = {
|
|
68
|
+
metrics: config.metrics,
|
|
69
|
+
perturbations: config.perturbations,
|
|
70
|
+
intensityLevels: config.intensityLevels,
|
|
71
|
+
runsPerLevel: config.runsPerLevel,
|
|
72
|
+
};
|
|
73
|
+
// Create robustness analysis
|
|
74
|
+
const analysis = this.createRobustnessAnalysis(input, options);
|
|
75
|
+
return {
|
|
76
|
+
type: "robustness",
|
|
77
|
+
version: RobustnessEvaluator.VERSION,
|
|
78
|
+
timestamp: new Date().toISOString(),
|
|
79
|
+
data: analysis,
|
|
80
|
+
metadata: {
|
|
81
|
+
config,
|
|
82
|
+
},
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Create a full robustness analysis output.
|
|
87
|
+
*
|
|
88
|
+
* @param results - All evaluation results (base and perturbed)
|
|
89
|
+
* @param options - Analysis options
|
|
90
|
+
* @returns Complete robustness analysis output
|
|
91
|
+
*/
|
|
92
|
+
createRobustnessAnalysis(results, options) {
|
|
93
|
+
const analysisResults = [];
|
|
94
|
+
// Group results by SUT
|
|
95
|
+
const bySut = new Map();
|
|
96
|
+
for (const result of results) {
|
|
97
|
+
const existing = bySut.get(result.run.sut) ?? [];
|
|
98
|
+
existing.push(result);
|
|
99
|
+
bySut.set(result.run.sut, existing);
|
|
100
|
+
}
|
|
101
|
+
// Analyze each SUT for each metric and perturbation
|
|
102
|
+
for (const [sut, sutResults] of bySut) {
|
|
103
|
+
for (const metric of options.metrics) {
|
|
104
|
+
for (const perturbation of options.perturbations) {
|
|
105
|
+
// Filter to this perturbation
|
|
106
|
+
const perturbedResults = sutResults.filter((r) => r.run.config?.perturbation === perturbation);
|
|
107
|
+
const robustness = this.analyzeRobustnessForMetric(perturbedResults, metric);
|
|
108
|
+
// Get baseline value
|
|
109
|
+
const baseValues = sutResults
|
|
110
|
+
.filter((r) => !r.run.config?.perturbation)
|
|
111
|
+
.map((r) => r.metrics.numeric[metric]);
|
|
112
|
+
const baselineValue = baseValues.length > 0
|
|
113
|
+
? baseValues.reduce((a, b) => a + b, 0) / baseValues.length
|
|
114
|
+
: Number.NaN;
|
|
115
|
+
analysisResults.push({
|
|
116
|
+
sut,
|
|
117
|
+
perturbation,
|
|
118
|
+
metric,
|
|
119
|
+
robustness,
|
|
120
|
+
baselineValue,
|
|
121
|
+
runCount: perturbedResults.length,
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
return {
|
|
127
|
+
version: "1.0.0",
|
|
128
|
+
timestamp: new Date().toISOString(),
|
|
129
|
+
results: analysisResults,
|
|
130
|
+
config: {
|
|
131
|
+
perturbations: options.perturbations,
|
|
132
|
+
metrics: options.metrics,
|
|
133
|
+
intensityLevels: options.intensityLevels,
|
|
134
|
+
runsPerLevel: options.runsPerLevel ?? 1,
|
|
135
|
+
},
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Analyze robustness of a SUT under perturbation.
|
|
140
|
+
*
|
|
141
|
+
* @param perturbedResults - Results with perturbation
|
|
142
|
+
* @param metric - Metric to analyze
|
|
143
|
+
* @returns Robustness metrics
|
|
144
|
+
*/
|
|
145
|
+
analyzeRobustnessForMetric(perturbedResults, metric) {
|
|
146
|
+
const extractValues = (results, metricName) => results.map((r) => r.metrics.numeric[metricName]).filter((v) => !Number.isNaN(v));
|
|
147
|
+
const perturbedValues = extractValues(perturbedResults, metric);
|
|
148
|
+
if (perturbedValues.length === 0) {
|
|
149
|
+
return {
|
|
150
|
+
varianceUnderPerturbation: Number.NaN,
|
|
151
|
+
stdUnderPerturbation: Number.NaN,
|
|
152
|
+
coefficientOfVariation: Number.NaN,
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
// Compute statistics for perturbed results
|
|
156
|
+
const n = perturbedValues.length;
|
|
157
|
+
const mean = perturbedValues.reduce((a, b) => a + b, 0) / n;
|
|
158
|
+
const variance = perturbedValues.reduce((sum, v) => sum + (v - mean) ** 2, 0) / (n - 1);
|
|
159
|
+
const std = Math.sqrt(variance);
|
|
160
|
+
// Coefficient of variation (relative variance)
|
|
161
|
+
const coefficientOfVariation = mean !== 0 ? std / Math.abs(mean) : Number.NaN;
|
|
162
|
+
return {
|
|
163
|
+
varianceUnderPerturbation: variance,
|
|
164
|
+
stdUnderPerturbation: std,
|
|
165
|
+
coefficientOfVariation,
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Summarize evaluation output.
|
|
170
|
+
*
|
|
171
|
+
* @param output - Evaluation output to summarize
|
|
172
|
+
* @returns Summary statistics
|
|
173
|
+
*/
|
|
174
|
+
summarize(output) {
|
|
175
|
+
const { results } = output.data;
|
|
176
|
+
return {
|
|
177
|
+
total: results.length,
|
|
178
|
+
additional: {
|
|
179
|
+
sutsAnalyzed: new Set(results.map((r) => r.sut)).size,
|
|
180
|
+
metricsAnalyzed: output.data.config.metrics.length,
|
|
181
|
+
perturbationsTested: output.data.config.perturbations.length,
|
|
182
|
+
},
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
//# sourceMappingURL=robustness-evaluator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"robustness-evaluator.js","sourceRoot":"","sources":["../../src/evaluators/robustness-evaluator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binary-sut.unit.test.d.ts","sourceRoot":"","sources":["../../../src/executor/__tests__/binary-sut.unit.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|