@higher.archi/boe 1.0.7 → 1.0.9
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/dist/core/errors.d.ts +48 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +63 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/evaluation/decay.d.ts +60 -0
- package/dist/core/evaluation/decay.d.ts.map +1 -0
- package/dist/core/evaluation/decay.js +111 -0
- package/dist/core/evaluation/decay.js.map +1 -0
- package/dist/core/evaluation/index.d.ts +2 -0
- package/dist/core/evaluation/index.d.ts.map +1 -1
- package/dist/core/evaluation/index.js +5 -1
- package/dist/core/evaluation/index.js.map +1 -1
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +6 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/types/rule.d.ts +1 -0
- package/dist/core/types/rule.d.ts.map +1 -1
- package/dist/engines/backward/compiler.js +1 -1
- package/dist/engines/backward/compiler.js.map +1 -1
- package/dist/engines/bayesian/compiler.d.ts.map +1 -1
- package/dist/engines/bayesian/compiler.js +21 -9
- package/dist/engines/bayesian/compiler.js.map +1 -1
- package/dist/engines/bayesian/strategy.d.ts.map +1 -1
- package/dist/engines/bayesian/strategy.js +46 -9
- package/dist/engines/bayesian/strategy.js.map +1 -1
- package/dist/engines/bayesian/types.d.ts +16 -0
- package/dist/engines/bayesian/types.d.ts.map +1 -1
- package/dist/engines/bayesian/types.js.map +1 -1
- package/dist/engines/constraint/compiler.d.ts.map +1 -1
- package/dist/engines/constraint/compiler.js +10 -10
- package/dist/engines/constraint/compiler.js.map +1 -1
- package/dist/engines/defeasible/compiler.d.ts.map +1 -1
- package/dist/engines/defeasible/compiler.js +17 -3
- package/dist/engines/defeasible/compiler.js.map +1 -1
- package/dist/engines/defeasible/strategy.d.ts.map +1 -1
- package/dist/engines/defeasible/strategy.js +47 -2
- package/dist/engines/defeasible/strategy.js.map +1 -1
- package/dist/engines/defeasible/types.d.ts +29 -1
- package/dist/engines/defeasible/types.d.ts.map +1 -1
- package/dist/engines/defeasible/types.js.map +1 -1
- package/dist/engines/expert/compiler.d.ts.map +1 -1
- package/dist/engines/expert/compiler.js +6 -6
- package/dist/engines/expert/compiler.js.map +1 -1
- package/dist/engines/forward/compiler.d.ts.map +1 -1
- package/dist/engines/forward/compiler.js +4 -4
- package/dist/engines/forward/compiler.js.map +1 -1
- package/dist/engines/forward/strategy.d.ts.map +1 -1
- package/dist/engines/forward/strategy.js +4 -4
- package/dist/engines/forward/strategy.js.map +1 -1
- package/dist/engines/fuzzy/compiler.js +1 -1
- package/dist/engines/fuzzy/compiler.js.map +1 -1
- package/dist/engines/fuzzy/strategy.d.ts.map +1 -1
- package/dist/engines/fuzzy/strategy.js +8 -8
- package/dist/engines/fuzzy/strategy.js.map +1 -1
- package/dist/engines/monte-carlo/compiler.d.ts.map +1 -1
- package/dist/engines/monte-carlo/compiler.js +8 -8
- package/dist/engines/monte-carlo/compiler.js.map +1 -1
- package/dist/engines/monte-carlo/strategy.js +1 -1
- package/dist/engines/monte-carlo/strategy.js.map +1 -1
- package/dist/engines/pricing/compiler.d.ts.map +1 -1
- package/dist/engines/pricing/compiler.js +9 -9
- package/dist/engines/pricing/compiler.js.map +1 -1
- package/dist/engines/pricing/strategy.js +7 -6
- package/dist/engines/pricing/strategy.js.map +1 -1
- package/dist/engines/pricing/types.d.ts +2 -0
- package/dist/engines/pricing/types.d.ts.map +1 -1
- package/dist/engines/scoring/compiler.d.ts.map +1 -1
- package/dist/engines/scoring/compiler.js +24 -10
- package/dist/engines/scoring/compiler.js.map +1 -1
- package/dist/engines/scoring/strategy.d.ts.map +1 -1
- package/dist/engines/scoring/strategy.js +51 -2
- package/dist/engines/scoring/strategy.js.map +1 -1
- package/dist/engines/scoring/types.d.ts +16 -0
- package/dist/engines/scoring/types.d.ts.map +1 -1
- package/dist/engines/sequential/compiler.d.ts.map +1 -1
- package/dist/engines/sequential/compiler.js +4 -4
- package/dist/engines/sequential/compiler.js.map +1 -1
- package/dist/engines/sequential/strategy.js +1 -1
- package/dist/engines/sequential/strategy.js.map +1 -1
- package/dist/engines/state-machine/compiler.js +4 -4
- package/dist/engines/state-machine/compiler.js.map +1 -1
- package/dist/engines/state-machine/strategy.d.ts.map +1 -1
- package/dist/engines/state-machine/strategy.js +2 -1
- package/dist/engines/state-machine/strategy.js.map +1 -1
- package/dist/engines/utility/compiler.d.ts.map +1 -1
- package/dist/engines/utility/compiler.js +7 -7
- package/dist/engines/utility/compiler.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/core/errors.ts +69 -0
- package/src/core/evaluation/decay.ts +165 -0
- package/src/core/evaluation/index.ts +13 -0
- package/src/core/index.ts +4 -0
- package/src/core/types/rule.ts +1 -0
- package/src/engines/backward/compiler.ts +1 -1
- package/src/engines/bayesian/compiler.ts +24 -10
- package/src/engines/bayesian/strategy.ts +61 -10
- package/src/engines/bayesian/types.ts +17 -0
- package/src/engines/constraint/compiler.ts +12 -11
- package/src/engines/defeasible/compiler.ts +18 -3
- package/src/engines/defeasible/strategy.ts +62 -2
- package/src/engines/defeasible/types.ts +33 -0
- package/src/engines/expert/compiler.ts +8 -7
- package/src/engines/forward/compiler.ts +6 -5
- package/src/engines/forward/strategy.ts +6 -5
- package/src/engines/fuzzy/compiler.ts +1 -1
- package/src/engines/fuzzy/strategy.ts +9 -9
- package/src/engines/monte-carlo/compiler.ts +10 -9
- package/src/engines/monte-carlo/strategy.ts +2 -2
- package/src/engines/pricing/compiler.ts +11 -10
- package/src/engines/pricing/strategy.ts +7 -7
- package/src/engines/pricing/types.ts +2 -0
- package/src/engines/scoring/compiler.ts +27 -11
- package/src/engines/scoring/strategy.ts +67 -3
- package/src/engines/scoring/types.ts +17 -0
- package/src/engines/sequential/compiler.ts +6 -5
- package/src/engines/sequential/strategy.ts +2 -2
- package/src/engines/state-machine/compiler.ts +5 -5
- package/src/engines/state-machine/strategy.ts +3 -1
- package/src/engines/utility/compiler.ts +9 -8
- package/src/index.ts +16 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* BOE Typed Error Hierarchy
|
|
3
|
+
*
|
|
4
|
+
* Distinguishes compilation errors (fix your ruleset) from runtime errors
|
|
5
|
+
* (fix your data or environment). Enables downstream consumers to use
|
|
6
|
+
* `instanceof` checks instead of string-parsing error messages.
|
|
7
|
+
*/
|
|
8
|
+
export type ErrorContext = {
|
|
9
|
+
engine?: string;
|
|
10
|
+
ruleId?: string;
|
|
11
|
+
ruleSetId?: string;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Base error class for all BOE errors.
|
|
15
|
+
*
|
|
16
|
+
* Carries optional structured context (engine name, rule ID, ruleset ID)
|
|
17
|
+
* and a `phase` discriminant for catch-all handlers.
|
|
18
|
+
*/
|
|
19
|
+
export declare class BOEError extends Error {
|
|
20
|
+
readonly engine?: string;
|
|
21
|
+
readonly ruleId?: string;
|
|
22
|
+
readonly ruleSetId?: string;
|
|
23
|
+
readonly phase: 'compilation' | 'runtime';
|
|
24
|
+
constructor(message: string, context?: ErrorContext & {
|
|
25
|
+
phase?: 'compilation' | 'runtime';
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Thrown during ruleset compilation.
|
|
30
|
+
*
|
|
31
|
+
* Indicates a configuration or ruleset authoring problem:
|
|
32
|
+
* invalid rule references, missing categories, malformed conditions, etc.
|
|
33
|
+
* Fix the ruleset definition to resolve.
|
|
34
|
+
*/
|
|
35
|
+
export declare class CompilationError extends BOEError {
|
|
36
|
+
constructor(message: string, context?: ErrorContext);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Thrown during engine execution.
|
|
40
|
+
*
|
|
41
|
+
* Indicates a data or environment problem:
|
|
42
|
+
* missing facts, type mismatches, unresolvable references, etc.
|
|
43
|
+
* Fix the input data or engine configuration to resolve.
|
|
44
|
+
*/
|
|
45
|
+
export declare class RuntimeError extends BOEError {
|
|
46
|
+
constructor(message: string, context?: ErrorContext);
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;;GAKG;AACH,qBAAa,QAAS,SAAQ,KAAK;IACjC,SAAgB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChC,SAAgB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChC,SAAgB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnC,SAAgB,KAAK,EAAE,aAAa,GAAG,SAAS,CAAC;gBAG/C,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,YAAY,GAAG;QAAE,KAAK,CAAC,EAAE,aAAa,GAAG,SAAS,CAAA;KAAE;CAUjE;AAED;;;;;;GAMG;AACH,qBAAa,gBAAiB,SAAQ,QAAQ;gBAChC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAKpD;AAED;;;;;;GAMG;AACH,qBAAa,YAAa,SAAQ,QAAQ;gBAC5B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAKpD"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* BOE Typed Error Hierarchy
|
|
4
|
+
*
|
|
5
|
+
* Distinguishes compilation errors (fix your ruleset) from runtime errors
|
|
6
|
+
* (fix your data or environment). Enables downstream consumers to use
|
|
7
|
+
* `instanceof` checks instead of string-parsing error messages.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.RuntimeError = exports.CompilationError = exports.BOEError = void 0;
|
|
11
|
+
/**
|
|
12
|
+
* Base error class for all BOE errors.
|
|
13
|
+
*
|
|
14
|
+
* Carries optional structured context (engine name, rule ID, ruleset ID)
|
|
15
|
+
* and a `phase` discriminant for catch-all handlers.
|
|
16
|
+
*/
|
|
17
|
+
class BOEError extends Error {
|
|
18
|
+
engine;
|
|
19
|
+
ruleId;
|
|
20
|
+
ruleSetId;
|
|
21
|
+
phase;
|
|
22
|
+
constructor(message, context) {
|
|
23
|
+
super(message);
|
|
24
|
+
this.name = 'BOEError';
|
|
25
|
+
this.engine = context?.engine;
|
|
26
|
+
this.ruleId = context?.ruleId;
|
|
27
|
+
this.ruleSetId = context?.ruleSetId;
|
|
28
|
+
this.phase = context?.phase ?? 'runtime';
|
|
29
|
+
Object.setPrototypeOf(this, BOEError.prototype);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.BOEError = BOEError;
|
|
33
|
+
/**
|
|
34
|
+
* Thrown during ruleset compilation.
|
|
35
|
+
*
|
|
36
|
+
* Indicates a configuration or ruleset authoring problem:
|
|
37
|
+
* invalid rule references, missing categories, malformed conditions, etc.
|
|
38
|
+
* Fix the ruleset definition to resolve.
|
|
39
|
+
*/
|
|
40
|
+
class CompilationError extends BOEError {
|
|
41
|
+
constructor(message, context) {
|
|
42
|
+
super(message, { ...context, phase: 'compilation' });
|
|
43
|
+
this.name = 'CompilationError';
|
|
44
|
+
Object.setPrototypeOf(this, CompilationError.prototype);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
exports.CompilationError = CompilationError;
|
|
48
|
+
/**
|
|
49
|
+
* Thrown during engine execution.
|
|
50
|
+
*
|
|
51
|
+
* Indicates a data or environment problem:
|
|
52
|
+
* missing facts, type mismatches, unresolvable references, etc.
|
|
53
|
+
* Fix the input data or engine configuration to resolve.
|
|
54
|
+
*/
|
|
55
|
+
class RuntimeError extends BOEError {
|
|
56
|
+
constructor(message, context) {
|
|
57
|
+
super(message, { ...context, phase: 'runtime' });
|
|
58
|
+
this.name = 'RuntimeError';
|
|
59
|
+
Object.setPrototypeOf(this, RuntimeError.prototype);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
exports.RuntimeError = RuntimeError;
|
|
63
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/core/errors.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAQH;;;;;GAKG;AACH,MAAa,QAAS,SAAQ,KAAK;IACjB,MAAM,CAAU;IAChB,MAAM,CAAU;IAChB,SAAS,CAAU;IACnB,KAAK,CAA4B;IAEjD,YACE,OAAe,EACf,OAA8D;QAE9D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;QAC9B,IAAI,CAAC,MAAM,GAAG,OAAO,EAAE,MAAM,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,SAAS,CAAC;QACzC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC;CACF;AAlBD,4BAkBC;AAED;;;;;;GAMG;AACH,MAAa,gBAAiB,SAAQ,QAAQ;IAC5C,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC1D,CAAC;CACF;AAND,4CAMC;AAED;;;;;;GAMG;AACH,MAAa,YAAa,SAAQ,QAAQ;IACxC,YAAY,OAAe,EAAE,OAAsB;QACjD,KAAK,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;QAC3B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IACtD,CAAC;CACF;AAND,oCAMC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Temporal Decay Utilities
|
|
3
|
+
*
|
|
4
|
+
* Provides continuous decay multipliers (0→1) that degrade a rule's
|
|
5
|
+
* contribution based on how old its underlying data is.
|
|
6
|
+
*
|
|
7
|
+
* Complementary to temporal validity (binary gate) — validity runs first,
|
|
8
|
+
* decay modifies strength continuously.
|
|
9
|
+
*/
|
|
10
|
+
import { BindingContext } from '../types';
|
|
11
|
+
/**
|
|
12
|
+
* Decay curve shape
|
|
13
|
+
* - exponential: e^(-ln(2)/halfLife * age), smooth asymptotic decay
|
|
14
|
+
* - linear: 1 - age/maxAge, straight-line to zero
|
|
15
|
+
* - step: binary cutoff at threshold age
|
|
16
|
+
*/
|
|
17
|
+
export type DecayCurve = 'exponential' | 'linear' | 'step';
|
|
18
|
+
/**
|
|
19
|
+
* Time unit for decay calculations
|
|
20
|
+
*/
|
|
21
|
+
export type DecayTimeUnit = 'hours' | 'days' | 'weeks' | 'months';
|
|
22
|
+
/**
|
|
23
|
+
* Configuration for temporal decay
|
|
24
|
+
*/
|
|
25
|
+
export type DecayConfig = {
|
|
26
|
+
curve: DecayCurve;
|
|
27
|
+
timeUnit: DecayTimeUnit;
|
|
28
|
+
halfLife?: number;
|
|
29
|
+
maxAge?: number;
|
|
30
|
+
threshold?: number;
|
|
31
|
+
floor?: number;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Decay calculation result with audit trail
|
|
35
|
+
*/
|
|
36
|
+
export type DecayInfo = {
|
|
37
|
+
multiplier: number;
|
|
38
|
+
ageInUnits: number;
|
|
39
|
+
curve: DecayCurve;
|
|
40
|
+
timestamp: string;
|
|
41
|
+
fullyDecayed: boolean;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Calculate a decay multiplier based on age and configuration
|
|
45
|
+
*
|
|
46
|
+
* @param dataTimestamp - When the data was collected/created
|
|
47
|
+
* @param now - Current time reference point
|
|
48
|
+
* @param config - Decay configuration
|
|
49
|
+
* @returns DecayInfo with multiplier and audit data
|
|
50
|
+
*/
|
|
51
|
+
export declare function calculateDecayMultiplier(dataTimestamp: Date, now: Date, config: DecayConfig): DecayInfo;
|
|
52
|
+
/**
|
|
53
|
+
* Resolve a decay timestamp from a $-prefixed path in the binding context
|
|
54
|
+
*
|
|
55
|
+
* @param ref - A $-prefixed path like '$inspection.date'
|
|
56
|
+
* @param context - The current binding context
|
|
57
|
+
* @returns Resolved Date, or null if path is missing/invalid
|
|
58
|
+
*/
|
|
59
|
+
export declare function resolveDecayTimestamp(ref: string, context: BindingContext): Date | null;
|
|
60
|
+
//# sourceMappingURL=decay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decay.d.ts","sourceRoot":"","sources":["../../../src/core/evaluation/decay.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,cAAc,EAAQ,MAAM,UAAU,CAAC;AAMhD;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,UAAU,CAAC;IAClB,QAAQ,EAAE,aAAa,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,OAAO,CAAC;CACvB,CAAC;AAwBF;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,aAAa,EAAE,IAAI,EACnB,GAAG,EAAE,IAAI,EACT,MAAM,EAAE,WAAW,GAClB,SAAS,CAsCX;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI,CA+BvF"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Temporal Decay Utilities
|
|
4
|
+
*
|
|
5
|
+
* Provides continuous decay multipliers (0→1) that degrade a rule's
|
|
6
|
+
* contribution based on how old its underlying data is.
|
|
7
|
+
*
|
|
8
|
+
* Complementary to temporal validity (binary gate) — validity runs first,
|
|
9
|
+
* decay modifies strength continuously.
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.calculateDecayMultiplier = calculateDecayMultiplier;
|
|
13
|
+
exports.resolveDecayTimestamp = resolveDecayTimestamp;
|
|
14
|
+
// ========================================
|
|
15
|
+
// Time Unit Conversion
|
|
16
|
+
// ========================================
|
|
17
|
+
const MS_PER_HOUR = 3_600_000;
|
|
18
|
+
const MS_PER_DAY = 86_400_000;
|
|
19
|
+
const MS_PER_WEEK = 604_800_000;
|
|
20
|
+
const MS_PER_MONTH = 2_592_000_000; // 30 days
|
|
21
|
+
function msPerUnit(unit) {
|
|
22
|
+
switch (unit) {
|
|
23
|
+
case 'hours': return MS_PER_HOUR;
|
|
24
|
+
case 'days': return MS_PER_DAY;
|
|
25
|
+
case 'weeks': return MS_PER_WEEK;
|
|
26
|
+
case 'months': return MS_PER_MONTH;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
// ========================================
|
|
30
|
+
// Core Calculation
|
|
31
|
+
// ========================================
|
|
32
|
+
/**
|
|
33
|
+
* Calculate a decay multiplier based on age and configuration
|
|
34
|
+
*
|
|
35
|
+
* @param dataTimestamp - When the data was collected/created
|
|
36
|
+
* @param now - Current time reference point
|
|
37
|
+
* @param config - Decay configuration
|
|
38
|
+
* @returns DecayInfo with multiplier and audit data
|
|
39
|
+
*/
|
|
40
|
+
function calculateDecayMultiplier(dataTimestamp, now, config) {
|
|
41
|
+
const ageMs = now.getTime() - dataTimestamp.getTime();
|
|
42
|
+
const ageInUnits = ageMs / msPerUnit(config.timeUnit);
|
|
43
|
+
const floor = config.floor ?? 0;
|
|
44
|
+
let rawMultiplier;
|
|
45
|
+
switch (config.curve) {
|
|
46
|
+
case 'exponential': {
|
|
47
|
+
const halfLife = config.halfLife ?? 1;
|
|
48
|
+
// e^(-ln(2)/halfLife * age)
|
|
49
|
+
rawMultiplier = Math.exp(-Math.LN2 / halfLife * ageInUnits);
|
|
50
|
+
break;
|
|
51
|
+
}
|
|
52
|
+
case 'linear': {
|
|
53
|
+
const maxAge = config.maxAge ?? 1;
|
|
54
|
+
rawMultiplier = 1 - ageInUnits / maxAge;
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
case 'step': {
|
|
58
|
+
const threshold = config.threshold ?? 1;
|
|
59
|
+
rawMultiplier = ageInUnits < threshold ? 1.0 : 0.0;
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
// Clamp to [floor, 1]
|
|
64
|
+
const multiplier = Math.max(floor, Math.min(1, rawMultiplier));
|
|
65
|
+
return {
|
|
66
|
+
multiplier,
|
|
67
|
+
ageInUnits,
|
|
68
|
+
curve: config.curve,
|
|
69
|
+
timestamp: dataTimestamp.toISOString(),
|
|
70
|
+
fullyDecayed: multiplier <= floor
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Resolve a decay timestamp from a $-prefixed path in the binding context
|
|
75
|
+
*
|
|
76
|
+
* @param ref - A $-prefixed path like '$inspection.date'
|
|
77
|
+
* @param context - The current binding context
|
|
78
|
+
* @returns Resolved Date, or null if path is missing/invalid
|
|
79
|
+
*/
|
|
80
|
+
function resolveDecayTimestamp(ref, context) {
|
|
81
|
+
if (!ref.startsWith('$'))
|
|
82
|
+
return null;
|
|
83
|
+
const stripped = ref.slice(1);
|
|
84
|
+
const parts = stripped.split('.');
|
|
85
|
+
const param = parts[0];
|
|
86
|
+
const path = parts.slice(1);
|
|
87
|
+
const fact = context[param];
|
|
88
|
+
if (!fact)
|
|
89
|
+
return null;
|
|
90
|
+
let value = fact.data;
|
|
91
|
+
for (const key of path) {
|
|
92
|
+
if (value === null || value === undefined)
|
|
93
|
+
return null;
|
|
94
|
+
value = value[key];
|
|
95
|
+
}
|
|
96
|
+
if (value === null || value === undefined)
|
|
97
|
+
return null;
|
|
98
|
+
// Accept Date objects, ISO strings, or numeric timestamps
|
|
99
|
+
if (value instanceof Date)
|
|
100
|
+
return value;
|
|
101
|
+
if (typeof value === 'string') {
|
|
102
|
+
const parsed = new Date(value);
|
|
103
|
+
return isNaN(parsed.getTime()) ? null : parsed;
|
|
104
|
+
}
|
|
105
|
+
if (typeof value === 'number') {
|
|
106
|
+
const parsed = new Date(value);
|
|
107
|
+
return isNaN(parsed.getTime()) ? null : parsed;
|
|
108
|
+
}
|
|
109
|
+
return null;
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=decay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"decay.js","sourceRoot":"","sources":["../../../src/core/evaluation/decay.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,4 +4,6 @@
|
|
|
4
4
|
export { evaluateCondition, evaluateExpression, resolveOperand, setValueAtPath } from './condition.evaluator';
|
|
5
5
|
export { injectRulesetContext, injectTemporalContext, // deprecated, use injectRulesetContext
|
|
6
6
|
isRuleTemporallyValid, filterTemporallyValidRules, getRuleTemporalInfo, RulesetMetadata } from './temporal';
|
|
7
|
+
export { calculateDecayMultiplier, resolveDecayTimestamp } from './decay';
|
|
8
|
+
export type { DecayCurve, DecayTimeUnit, DecayConfig, DecayInfo } from './decay';
|
|
7
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/evaluation/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACf,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EAAG,uCAAuC;AAC/D,qBAAqB,EACrB,0BAA0B,EAC1B,mBAAmB,EACnB,eAAe,EAChB,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/evaluation/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,cAAc,EACf,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EAAG,uCAAuC;AAC/D,qBAAqB,EACrB,0BAA0B,EAC1B,mBAAmB,EACnB,eAAe,EAChB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,wBAAwB,EACxB,qBAAqB,EACtB,MAAM,SAAS,CAAC;AAEjB,YAAY,EACV,UAAU,EACV,aAAa,EACb,WAAW,EACX,SAAS,EACV,MAAM,SAAS,CAAC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Core evaluation module - shared across all engines
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getRuleTemporalInfo = exports.filterTemporallyValidRules = exports.isRuleTemporallyValid = exports.injectTemporalContext = exports.injectRulesetContext = exports.setValueAtPath = exports.resolveOperand = exports.evaluateExpression = exports.evaluateCondition = void 0;
|
|
6
|
+
exports.resolveDecayTimestamp = exports.calculateDecayMultiplier = exports.getRuleTemporalInfo = exports.filterTemporallyValidRules = exports.isRuleTemporallyValid = exports.injectTemporalContext = exports.injectRulesetContext = exports.setValueAtPath = exports.resolveOperand = exports.evaluateExpression = exports.evaluateCondition = void 0;
|
|
7
7
|
var condition_evaluator_1 = require("./condition.evaluator");
|
|
8
8
|
Object.defineProperty(exports, "evaluateCondition", { enumerable: true, get: function () { return condition_evaluator_1.evaluateCondition; } });
|
|
9
9
|
Object.defineProperty(exports, "evaluateExpression", { enumerable: true, get: function () { return condition_evaluator_1.evaluateExpression; } });
|
|
@@ -16,4 +16,8 @@ Object.defineProperty(exports, "injectTemporalContext", { enumerable: true, get:
|
|
|
16
16
|
Object.defineProperty(exports, "isRuleTemporallyValid", { enumerable: true, get: function () { return temporal_1.isRuleTemporallyValid; } });
|
|
17
17
|
Object.defineProperty(exports, "filterTemporallyValidRules", { enumerable: true, get: function () { return temporal_1.filterTemporallyValidRules; } });
|
|
18
18
|
Object.defineProperty(exports, "getRuleTemporalInfo", { enumerable: true, get: function () { return temporal_1.getRuleTemporalInfo; } });
|
|
19
|
+
// Temporal decay utilities
|
|
20
|
+
var decay_1 = require("./decay");
|
|
21
|
+
Object.defineProperty(exports, "calculateDecayMultiplier", { enumerable: true, get: function () { return decay_1.calculateDecayMultiplier; } });
|
|
22
|
+
Object.defineProperty(exports, "resolveDecayTimestamp", { enumerable: true, get: function () { return decay_1.resolveDecayTimestamp; } });
|
|
19
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/evaluation/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,6DAK+B;AAJ7B,wHAAA,iBAAiB,OAAA;AACjB,yHAAA,kBAAkB,OAAA;AAClB,qHAAA,cAAc,OAAA;AACd,qHAAA,cAAc,OAAA;AAGhB,8BAA8B;AAC9B,uCAOoB;AANlB,gHAAA,oBAAoB,OAAA;AACpB,iHAAA,qBAAqB,OAAA;AACrB,iHAAA,qBAAqB,OAAA;AACrB,sHAAA,0BAA0B,OAAA;AAC1B,+GAAA,mBAAmB,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/evaluation/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,6DAK+B;AAJ7B,wHAAA,iBAAiB,OAAA;AACjB,yHAAA,kBAAkB,OAAA;AAClB,qHAAA,cAAc,OAAA;AACd,qHAAA,cAAc,OAAA;AAGhB,8BAA8B;AAC9B,uCAOoB;AANlB,gHAAA,oBAAoB,OAAA;AACpB,iHAAA,qBAAqB,OAAA;AACrB,iHAAA,qBAAqB,OAAA;AACrB,sHAAA,0BAA0B,OAAA;AAC1B,+GAAA,mBAAmB,OAAA;AAIrB,2BAA2B;AAC3B,iCAGiB;AAFf,iHAAA,wBAAwB,OAAA;AACxB,8GAAA,qBAAqB,OAAA"}
|
package/dist/core/index.d.ts
CHANGED
|
@@ -21,5 +21,7 @@ export * from './compilers';
|
|
|
21
21
|
export { parseExpression, isExpressionTuple, processConditionInput, tokenize, ParseError, TokenizeError, SyntaxError, createDefaultOperatorTable, buildOperatorTable, OPERATOR_DEFINITIONS, resolveAlias } from './parser';
|
|
22
22
|
export type { Token, TokenType, OperatorInfo, OperatorTable } from './parser';
|
|
23
23
|
export * from './refraction';
|
|
24
|
+
export { BOEError, CompilationError, RuntimeError } from './errors';
|
|
25
|
+
export type { ErrorContext } from './errors';
|
|
24
26
|
export * from './engine';
|
|
25
27
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,cAAc,SAAS,CAAC;AAGxB,cAAc,UAAU,CAAC;AAGzB,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,UAAU,GACX,MAAM,aAAa,CAAC;AAGrB,cAAc,cAAc,CAAC;AAG7B,cAAc,YAAY,CAAC;AAG3B,cAAc,cAAc,CAAC;AAG7B,cAAc,UAAU,CAAC;AAGzB,cAAc,aAAa,CAAC;AAG5B,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,QAAQ,EACR,UAAU,EACV,aAAa,EACb,WAAW,EACX,0BAA0B,EAC1B,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACb,MAAM,UAAU,CAAC;AAElB,YAAY,EACV,KAAK,EACL,SAAS,EACT,YAAY,EACZ,aAAa,EACd,MAAM,UAAU,CAAC;AAGlB,cAAc,cAAc,CAAC;AAG7B,cAAc,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,cAAc,SAAS,CAAC;AAGxB,cAAc,UAAU,CAAC;AAGzB,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,qBAAqB,EACrB,eAAe,EACf,iBAAiB,EACjB,UAAU,GACX,MAAM,aAAa,CAAC;AAGrB,cAAc,cAAc,CAAC;AAG7B,cAAc,YAAY,CAAC;AAG3B,cAAc,cAAc,CAAC;AAG7B,cAAc,UAAU,CAAC;AAGzB,cAAc,aAAa,CAAC;AAG5B,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,QAAQ,EACR,UAAU,EACV,aAAa,EACb,WAAW,EACX,0BAA0B,EAC1B,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACb,MAAM,UAAU,CAAC;AAElB,YAAY,EACV,KAAK,EACL,SAAS,EACT,YAAY,EACZ,aAAa,EACd,MAAM,UAAU,CAAC;AAGlB,cAAc,cAAc,CAAC;AAG7B,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACpE,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG7C,cAAc,UAAU,CAAC"}
|
package/dist/core/index.js
CHANGED
|
@@ -26,7 +26,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
26
26
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.resolveAlias = exports.OPERATOR_DEFINITIONS = exports.buildOperatorTable = exports.createDefaultOperatorTable = exports.SyntaxError = exports.TokenizeError = exports.ParseError = exports.tokenize = exports.processConditionInput = exports.isExpressionTuple = exports.parseExpression = exports.getTypedOp = exports.OperatorEvaluator = exports.createEvaluator = exports.createDefaultRegistry = exports.createAdapter = exports.getDefaultAdapter = exports.OperatorAdapter = exports.getArithmeticOperator = exports.getOperator = exports.OperatorRegistry = void 0;
|
|
29
|
+
exports.RuntimeError = exports.CompilationError = exports.BOEError = exports.resolveAlias = exports.OPERATOR_DEFINITIONS = exports.buildOperatorTable = exports.createDefaultOperatorTable = exports.SyntaxError = exports.TokenizeError = exports.ParseError = exports.tokenize = exports.processConditionInput = exports.isExpressionTuple = exports.parseExpression = exports.getTypedOp = exports.OperatorEvaluator = exports.createEvaluator = exports.createDefaultRegistry = exports.createAdapter = exports.getDefaultAdapter = exports.OperatorAdapter = exports.getArithmeticOperator = exports.getOperator = exports.OperatorRegistry = void 0;
|
|
30
30
|
// Types
|
|
31
31
|
__exportStar(require("./types"), exports);
|
|
32
32
|
// Memory
|
|
@@ -68,6 +68,11 @@ Object.defineProperty(exports, "OPERATOR_DEFINITIONS", { enumerable: true, get:
|
|
|
68
68
|
Object.defineProperty(exports, "resolveAlias", { enumerable: true, get: function () { return parser_1.resolveAlias; } });
|
|
69
69
|
// Refraction
|
|
70
70
|
__exportStar(require("./refraction"), exports);
|
|
71
|
+
// Errors
|
|
72
|
+
var errors_1 = require("./errors");
|
|
73
|
+
Object.defineProperty(exports, "BOEError", { enumerable: true, get: function () { return errors_1.BOEError; } });
|
|
74
|
+
Object.defineProperty(exports, "CompilationError", { enumerable: true, get: function () { return errors_1.CompilationError; } });
|
|
75
|
+
Object.defineProperty(exports, "RuntimeError", { enumerable: true, get: function () { return errors_1.RuntimeError; } });
|
|
71
76
|
// Engine interface
|
|
72
77
|
__exportStar(require("./engine"), exports);
|
|
73
78
|
//# sourceMappingURL=index.js.map
|
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;;;;;;;;;;;;;;;AAEH,QAAQ;AACR,0CAAwB;AAExB,SAAS;AACT,2CAAyB;AAEzB,8CAA8C;AAC9C,yCAWqB;AAVnB,6GAAA,gBAAgB,OAAA;AAChB,wGAAA,WAAW,OAAA;AACX,kHAAA,qBAAqB,OAAA;AACrB,4GAAA,eAAe,OAAA;AACf,8GAAA,iBAAiB,OAAA;AACjB,0GAAA,aAAa,OAAA;AACb,kHAAA,qBAAqB,OAAA;AACrB,4GAAA,eAAe,OAAA;AACf,8GAAA,iBAAiB,OAAA;AACjB,uGAAA,UAAU,OAAA;AAGZ,aAAa;AACb,+CAA6B;AAE7B,WAAW;AACX,6CAA2B;AAE3B,aAAa;AACb,+CAA6B;AAE7B,SAAS;AACT,2CAAyB;AAEzB,YAAY;AACZ,8CAA4B;AAE5B,6CAA6C;AAC7C,mCAYkB;AAXhB,yGAAA,eAAe,OAAA;AACf,2GAAA,iBAAiB,OAAA;AACjB,+GAAA,qBAAqB,OAAA;AACrB,kGAAA,QAAQ,OAAA;AACR,oGAAA,UAAU,OAAA;AACV,uGAAA,aAAa,OAAA;AACb,qGAAA,WAAW,OAAA;AACX,oHAAA,0BAA0B,OAAA;AAC1B,4GAAA,kBAAkB,OAAA;AAClB,8GAAA,oBAAoB,OAAA;AACpB,sGAAA,YAAY,OAAA;AAUd,aAAa;AACb,+CAA6B;AAE7B,mBAAmB;AACnB,2CAAyB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;;;;;;;;;;;;;;;AAEH,QAAQ;AACR,0CAAwB;AAExB,SAAS;AACT,2CAAyB;AAEzB,8CAA8C;AAC9C,yCAWqB;AAVnB,6GAAA,gBAAgB,OAAA;AAChB,wGAAA,WAAW,OAAA;AACX,kHAAA,qBAAqB,OAAA;AACrB,4GAAA,eAAe,OAAA;AACf,8GAAA,iBAAiB,OAAA;AACjB,0GAAA,aAAa,OAAA;AACb,kHAAA,qBAAqB,OAAA;AACrB,4GAAA,eAAe,OAAA;AACf,8GAAA,iBAAiB,OAAA;AACjB,uGAAA,UAAU,OAAA;AAGZ,aAAa;AACb,+CAA6B;AAE7B,WAAW;AACX,6CAA2B;AAE3B,aAAa;AACb,+CAA6B;AAE7B,SAAS;AACT,2CAAyB;AAEzB,YAAY;AACZ,8CAA4B;AAE5B,6CAA6C;AAC7C,mCAYkB;AAXhB,yGAAA,eAAe,OAAA;AACf,2GAAA,iBAAiB,OAAA;AACjB,+GAAA,qBAAqB,OAAA;AACrB,kGAAA,QAAQ,OAAA;AACR,oGAAA,UAAU,OAAA;AACV,uGAAA,aAAa,OAAA;AACb,qGAAA,WAAW,OAAA;AACX,oHAAA,0BAA0B,OAAA;AAC1B,4GAAA,kBAAkB,OAAA;AAClB,8GAAA,oBAAoB,OAAA;AACpB,sGAAA,YAAY,OAAA;AAUd,aAAa;AACb,+CAA6B;AAE7B,SAAS;AACT,mCAAoE;AAA3D,kGAAA,QAAQ,OAAA;AAAE,0GAAA,gBAAgB,OAAA;AAAE,sGAAA,YAAY,OAAA;AAGjD,mBAAmB;AACnB,2CAAyB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../src/core/types/rule.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAM7C,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAMF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAMF,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,GAAG,OAAO,GAAG,UAAU,GAAG,aAAa,GAAG,eAAe,GAAG,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEtM,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,SAAS,CAAC;IAGjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC;IAGd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAMF,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,IAAI,CAAC,EAAE,YAAY,CAAC;CACrB,CAAC;AAMF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,sBAAsB,EAAE,CAAC;IACjC,IAAI,CAAC,EAAE,iBAAiB,CAAC;IAGzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;IAGnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC"}
|
|
1
|
+
{"version":3,"file":"rule.d.ts","sourceRoot":"","sources":["../../../src/core/types/rule.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAM7C,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAMF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAMF,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,YAAY,GAAG,OAAO,GAAG,UAAU,GAAG,aAAa,GAAG,eAAe,GAAG,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEtM,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,cAAc,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,SAAS,CAAC;IAGjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC;IAGd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAMF,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,iBAAiB,CAAC;IAC1B,IAAI,CAAC,EAAE,YAAY,CAAC;CACrB,CAAC;AAMF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,sBAAsB,EAAE,CAAC;IACjC,IAAI,CAAC,EAAE,iBAAiB,CAAC;IAGzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,gBAAgB,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,WAAW,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;IAGnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC"}
|
|
@@ -87,7 +87,7 @@ function compileBackwardRuleSet(ruleSet) {
|
|
|
87
87
|
name: ruleSet.name,
|
|
88
88
|
mode: 'backward',
|
|
89
89
|
schema: ruleSet.shape ? (0, core_1.normalizeShape)(ruleSet.shape) : { type: 'object' },
|
|
90
|
-
rules: ruleSet.rules.map((rule, index) => compileBackwardRule(rule, index)),
|
|
90
|
+
rules: ruleSet.rules.filter(r => !r.disabled).map((rule, index) => compileBackwardRule(rule, index)),
|
|
91
91
|
config
|
|
92
92
|
};
|
|
93
93
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../../src/engines/backward/compiler.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../../src/engines/backward/compiler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../../src/engines/bayesian/compiler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../../src/engines/bayesian/compiler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,OAAO,EACL,YAAY,EACZ,eAAe,EAEf,oBAAoB,EACpB,uBAAuB,EAIvB,eAAe,EAKhB,MAAM,SAAS,CAAC;AA2DjB;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAmC9D;AA+MD,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,GAC3B,oBAAoB,CA0BtB;AAMD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,eAAe,GAAG,uBAAuB,CAsCxF"}
|
|
@@ -88,7 +88,7 @@ function parseLikelihood(value) {
|
|
|
88
88
|
const n = parseFloat(num);
|
|
89
89
|
return sign === '+' ? n : 1 / n;
|
|
90
90
|
}
|
|
91
|
-
throw new
|
|
91
|
+
throw new core_1.CompilationError(`Invalid likelihood string: ${value}`);
|
|
92
92
|
}
|
|
93
93
|
// Object format
|
|
94
94
|
if (typeof value === 'object' && value !== null) {
|
|
@@ -99,7 +99,7 @@ function parseLikelihood(value) {
|
|
|
99
99
|
return 1 / value.against;
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
|
-
throw new
|
|
102
|
+
throw new core_1.CompilationError(`Invalid likelihood format: ${JSON.stringify(value)}`);
|
|
103
103
|
}
|
|
104
104
|
/**
|
|
105
105
|
* Compile a likelihood map, converting all values to numbers
|
|
@@ -109,7 +109,7 @@ function compileLikelihoodMap(likelihood, hypothesisNames, ruleId) {
|
|
|
109
109
|
for (const [hypothesis, value] of Object.entries(likelihood)) {
|
|
110
110
|
// Validate hypothesis exists
|
|
111
111
|
if (!hypothesisNames.has(hypothesis)) {
|
|
112
|
-
throw new
|
|
112
|
+
throw new core_1.CompilationError(`Rule "${ruleId}" references unknown hypothesis "${hypothesis}". ` +
|
|
113
113
|
`Available: ${Array.from(hypothesisNames).join(', ')}`);
|
|
114
114
|
}
|
|
115
115
|
compiled[hypothesis] = parseLikelihood(value);
|
|
@@ -144,7 +144,7 @@ function compilePrior(prior) {
|
|
|
144
144
|
if (Array.isArray(prior)) {
|
|
145
145
|
return (0, core_1.compileCondition)(prior);
|
|
146
146
|
}
|
|
147
|
-
throw new
|
|
147
|
+
throw new core_1.CompilationError(`Invalid prior value: ${JSON.stringify(prior)}`);
|
|
148
148
|
}
|
|
149
149
|
/**
|
|
150
150
|
* Compile hypotheses and auto-fill missing priors
|
|
@@ -213,7 +213,7 @@ function compileHypotheses(hypotheses, priorDefault) {
|
|
|
213
213
|
break;
|
|
214
214
|
}
|
|
215
215
|
default:
|
|
216
|
-
throw new
|
|
216
|
+
throw new core_1.CompilationError(`Unknown priorDefault strategy: ${priorDefault}`);
|
|
217
217
|
}
|
|
218
218
|
}
|
|
219
219
|
return compiled;
|
|
@@ -254,7 +254,7 @@ function validatePriorInputs(hypotheses, inputs, ruleSetId) {
|
|
|
254
254
|
const declaredNames = new Set((inputs ?? []).map((i) => i.name));
|
|
255
255
|
for (const ref of priorRefs) {
|
|
256
256
|
if (!declaredNames.has(ref)) {
|
|
257
|
-
throw new
|
|
257
|
+
throw new core_1.CompilationError(`RuleSet "${ruleSetId}": Hypothesis prior references '$${ref}' but no input declared. ` +
|
|
258
258
|
`Add: inputs: [{ name: '${ref}', type: '...' }]`);
|
|
259
259
|
}
|
|
260
260
|
}
|
|
@@ -265,6 +265,16 @@ function validatePriorInputs(hypotheses, inputs, ruleSetId) {
|
|
|
265
265
|
function compileBayesianRule(rule, index, hypothesisNames) {
|
|
266
266
|
const inputs = rule.inputs.map(compileInputParameter);
|
|
267
267
|
const when = rule.when ? (0, core_1.compileCondition)(rule.when) : undefined;
|
|
268
|
+
// Compile decay — only pass through $-prefixed string timestamps
|
|
269
|
+
let compiledDecay;
|
|
270
|
+
if (rule.decay) {
|
|
271
|
+
const ts = rule.decay.timestamp;
|
|
272
|
+
if (typeof ts === 'string') {
|
|
273
|
+
compiledDecay = { timestamp: ts, config: rule.decay.config };
|
|
274
|
+
}
|
|
275
|
+
// Expression timestamps for Bayesian are not supported (would need runtime eval);
|
|
276
|
+
// only $-prefixed paths are supported
|
|
277
|
+
}
|
|
268
278
|
return {
|
|
269
279
|
id: rule.id,
|
|
270
280
|
name: rule.name,
|
|
@@ -273,7 +283,8 @@ function compileBayesianRule(rule, index, hypothesisNames) {
|
|
|
273
283
|
index,
|
|
274
284
|
inputs,
|
|
275
285
|
when,
|
|
276
|
-
likelihood: compileLikelihoodMap(rule.likelihood, hypothesisNames, rule.id)
|
|
286
|
+
likelihood: compileLikelihoodMap(rule.likelihood, hypothesisNames, rule.id),
|
|
287
|
+
decay: compiledDecay
|
|
277
288
|
};
|
|
278
289
|
}
|
|
279
290
|
// ========================================
|
|
@@ -286,14 +297,15 @@ function compileBayesianRuleSet(ruleSet) {
|
|
|
286
297
|
const config = {
|
|
287
298
|
mode: 'bayesian',
|
|
288
299
|
threshold: ruleSet.config?.threshold,
|
|
289
|
-
priorDefault: ruleSet.config?.priorDefault ?? 'uniform'
|
|
300
|
+
priorDefault: ruleSet.config?.priorDefault ?? 'uniform',
|
|
301
|
+
decay: ruleSet.config?.decay
|
|
290
302
|
};
|
|
291
303
|
// Get hypothesis names for validation
|
|
292
304
|
const hypothesisNames = new Set(ruleSet.hypotheses.map(h => typeof h === 'string' ? h : h.name));
|
|
293
305
|
// Compile hypotheses
|
|
294
306
|
const hypotheses = compileHypotheses(ruleSet.hypotheses, config.priorDefault);
|
|
295
307
|
// Compile rules
|
|
296
|
-
const rules = ruleSet.rules.map((rule, index) => compileBayesianRule(rule, index, hypothesisNames));
|
|
308
|
+
const rules = ruleSet.rules.filter(r => !r.disabled).map((rule, index) => compileBayesianRule(rule, index, hypothesisNames));
|
|
297
309
|
return {
|
|
298
310
|
id: ruleSet.id,
|
|
299
311
|
name: ruleSet.name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../../src/engines/bayesian/compiler.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;
|
|
1
|
+
{"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../../src/engines/bayesian/compiler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strategy.d.ts","sourceRoot":"","sources":["../../../src/engines/bayesian/strategy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"strategy.d.ts","sourceRoot":"","sources":["../../../src/engines/bayesian/strategy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAQnD,OAAO,EACL,uBAAuB,EAGvB,eAAe,EACf,cAAc,EAEf,MAAM,SAAS,CAAC;AAgJjB,qBAAa,gBAAgB;IAC3B,GAAG,CACD,OAAO,EAAE,uBAAuB,EAChC,EAAE,EAAE,cAAc,EAClB,OAAO,GAAE,eAAoB,GAC5B,cAAc;CA6IlB;AAGD,eAAO,MAAM,gBAAgB,kBAAyB,CAAC"}
|