@higher.archi/boe 1.0.10 → 1.0.11

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.
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Scoring Engine Compiler
3
3
  */
4
- import { ScoringRule, ScoringRuleSet, CompiledScoringRule, CompiledScoringRuleSet } from './types';
4
+ import { ScoringRule, ScoringRuleSet, CompiledScoringRule, CompiledScoringRuleSet, TierDefinition } from './types';
5
5
  export declare function compileScoringRule(rule: ScoringRule, index?: number): CompiledScoringRule;
6
- export declare function compileScoringRuleSet(ruleSet: ScoringRuleSet): CompiledScoringRuleSet;
6
+ export declare function compileScoringRuleSet<T extends TierDefinition = TierDefinition>(ruleSet: ScoringRuleSet<T>): CompiledScoringRuleSet<T>;
7
7
  //# sourceMappingURL=compiler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../../src/engines/scoring/compiler.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,OAAO,EACL,WAAW,EACX,cAAc,EAEd,mBAAmB,EACnB,sBAAsB,EAIvB,MAAM,SAAS,CAAC;AAkGjB,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,GAAE,MAAU,GAAG,mBAAmB,CAe5F;AAkBD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,cAAc,GAAG,sBAAsB,CAgFrF"}
1
+ {"version":3,"file":"compiler.d.ts","sourceRoot":"","sources":["../../../src/engines/scoring/compiler.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,OAAO,EACL,WAAW,EACX,cAAc,EAEd,mBAAmB,EACnB,sBAAsB,EAItB,cAAc,EAEf,MAAM,SAAS,CAAC;AAkGjB,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,GAAE,MAAU,GAAG,mBAAmB,CAe5F;AA0DD,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CA0FtI"}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.compileScoringRule = compileScoringRule;
7
7
  exports.compileScoringRuleSet = compileScoringRuleSet;
8
8
  const core_1 = require("../../core");
9
+ const types_1 = require("./types");
9
10
  // ========================================
10
11
  // Helper Functions
11
12
  // ========================================
@@ -115,6 +116,33 @@ function compileOverride(override) {
115
116
  };
116
117
  }
117
118
  // ========================================
119
+ // Style Validation
120
+ // ========================================
121
+ function validateTierStyle(tierId, style) {
122
+ if (style === null || style === undefined)
123
+ return;
124
+ if (typeof style !== 'object' || Array.isArray(style)) {
125
+ throw new core_1.CompilationError(`Tier "${tierId}" has an invalid style: expected an object, got ${Array.isArray(style) ? 'array' : typeof style}.`);
126
+ }
127
+ const styleObj = style;
128
+ // Reject empty style objects — likely a mistake
129
+ if (Object.keys(styleObj).length === 0) {
130
+ throw new core_1.CompilationError(`Tier "${tierId}" has an empty style object. Remove the style field or provide at least one property.`);
131
+ }
132
+ // Validate known keys are non-empty strings when provided
133
+ for (const key of types_1.TIER_STYLE_KNOWN_KEYS) {
134
+ if (key in styleObj) {
135
+ const value = styleObj[key];
136
+ if (typeof value !== 'string') {
137
+ throw new core_1.CompilationError(`Tier "${tierId}" style.${key} must be a string, got ${typeof value}.`);
138
+ }
139
+ if (value.trim() === '') {
140
+ throw new core_1.CompilationError(`Tier "${tierId}" style.${key} must not be empty.`);
141
+ }
142
+ }
143
+ }
144
+ }
145
+ // ========================================
118
146
  // RuleSet Compilation
119
147
  // ========================================
120
148
  function compileScoringRuleSet(ruleSet) {
@@ -140,6 +168,15 @@ function compileScoringRuleSet(ruleSet) {
140
168
  }
141
169
  }
142
170
  }
171
+ // Validate tier styles if present
172
+ const tiers = ruleSet.config?.tiers;
173
+ if (tiers?.length) {
174
+ for (const tierDef of tiers) {
175
+ if ('style' in tierDef && tierDef.style !== undefined) {
176
+ validateTierStyle(tierDef.id, tierDef.style);
177
+ }
178
+ }
179
+ }
143
180
  // Validate and compile overrides if defined
144
181
  const overrides = ruleSet.config?.overrides;
145
182
  let compiledOverrides;
@@ -1 +1 @@
1
- {"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../../src/engines/scoring/compiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compiler.js","sourceRoot":"","sources":["../../../src/engines/scoring/compiler.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * Implements IRuleEngine with strongly-typed ruleset, options, and result.
6
6
  */
7
7
  import { IRuleEngine, WorkingMemory, Fact, FactInput, FactChange } from '../../core';
8
- import { CompiledScoringRuleSet, ScoringOptions, ScoringResult } from './types';
8
+ import { CompiledScoringRuleSet, ScoringOptions, ScoringResult, TierDefinition } from './types';
9
9
  /**
10
10
  * Scoring rule engine.
11
11
  *
@@ -42,11 +42,14 @@ export declare class ScoringEngine implements IRuleEngine<CompiledScoringRuleSet
42
42
  * All matching rules contribute their scores to the total.
43
43
  * Scores can be normalized, weighted, and scaled to output bounds.
44
44
  *
45
+ * Generic over tier type — pass CompiledScoringRuleSet<StyledTierDefinition>
46
+ * to get typed style data in the result's matched tier.
47
+ *
45
48
  * @param ruleSet - Compiled scoring ruleset
46
49
  * @param options - Runtime options (score functions, callbacks)
47
50
  * @returns Result with total score and per-rule contributions
48
51
  */
49
- execute(ruleSet: CompiledScoringRuleSet, options?: ScoringOptions): ScoringResult;
52
+ execute<T extends TierDefinition = TierDefinition>(ruleSet: CompiledScoringRuleSet<T>, options?: ScoringOptions): ScoringResult<T>;
50
53
  getWorkingMemory(): WorkingMemory;
51
54
  }
52
55
  //# sourceMappingURL=engine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/engines/scoring/engine.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,WAAW,EACX,aAAa,EACb,IAAI,EACJ,SAAS,EACT,UAAU,EACX,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,aAAa,EACd,MAAM,SAAS,CAAC;AAIjB;;;;;;;;;;;;;;GAcG;AACH,qBAAa,aAAc,YAAW,WAAW,CAAC,sBAAsB,EAAE,cAAc,EAAE,aAAa,CAAC;IACtG,OAAO,CAAC,EAAE,CAAgB;IAC1B,OAAO,CAAC,QAAQ,CAAkB;gBAEtB,aAAa,CAAC,EAAE,aAAa;IASzC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAI1D,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAIxC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAI7D,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAIrC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE;IAI/B,MAAM,IAAI,IAAI,EAAE;IAIhB,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAI5B,IAAI,IAAI,MAAM;IAId,KAAK,IAAI,IAAI;IAIb,UAAU,IAAI,UAAU,EAAE;IAI1B,YAAY,IAAI,IAAI;IAQpB;;;;;;;;;OASG;IACH,OAAO,CAAC,OAAO,EAAE,sBAAsB,EAAE,OAAO,GAAE,cAAmB,GAAG,aAAa;IAQrF,gBAAgB,IAAI,aAAa;CAGlC"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../../src/engines/scoring/engine.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,WAAW,EACX,aAAa,EACb,IAAI,EACJ,SAAS,EACT,UAAU,EACX,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,sBAAsB,EACtB,cAAc,EACd,aAAa,EACb,cAAc,EACf,MAAM,SAAS,CAAC;AAIjB;;;;;;;;;;;;;;GAcG;AACH,qBAAa,aAAc,YAAW,WAAW,CAAC,sBAAsB,EAAE,cAAc,EAAE,aAAa,CAAC;IACtG,OAAO,CAAC,EAAE,CAAgB;IAC1B,OAAO,CAAC,QAAQ,CAAkB;gBAEtB,aAAa,CAAC,EAAE,aAAa;IASzC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAI1D,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAIxC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAI7D,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS;IAIrC,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE;IAI/B,MAAM,IAAI,IAAI,EAAE;IAIhB,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAI5B,IAAI,IAAI,MAAM;IAId,KAAK,IAAI,IAAI;IAIb,UAAU,IAAI,UAAU,EAAE;IAI1B,YAAY,IAAI,IAAI;IAQpB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAC/C,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,EAClC,OAAO,GAAE,cAAmB,GAC3B,aAAa,CAAC,CAAC,CAAC;IAQnB,gBAAgB,IAAI,aAAa;CAGlC"}
@@ -76,6 +76,9 @@ class ScoringEngine {
76
76
  * All matching rules contribute their scores to the total.
77
77
  * Scores can be normalized, weighted, and scaled to output bounds.
78
78
  *
79
+ * Generic over tier type — pass CompiledScoringRuleSet<StyledTierDefinition>
80
+ * to get typed style data in the result's matched tier.
81
+ *
79
82
  * @param ruleSet - Compiled scoring ruleset
80
83
  * @param options - Runtime options (score functions, callbacks)
81
84
  * @returns Result with total score and per-rule contributions
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/engines/scoring/engine.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,qCAMoB;AAQpB,yCAA6C;AAE7C;;;;;;;;;;;;;;GAcG;AACH,MAAa,aAAa;IAChB,EAAE,CAAgB;IAClB,QAAQ,CAAkB;IAElC,YAAY,aAA6B;QACvC,IAAI,CAAC,EAAE,GAAG,aAAa,IAAI,IAAI,oBAAa,EAAE,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,IAAI,0BAAe,EAAE,CAAC;IACxC,CAAC;IAED,2CAA2C;IAC3C,gCAAgC;IAChC,2CAA2C;IAE3C,GAAG,CAA0B,KAAmB;QAC9C,OAAO,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,MAAc;QACnB,OAAO,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,CAA0B,KAAmB;QACjD,OAAO,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,GAAG,CAAC,MAAc;QAChB,OAAO,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;IAC1B,CAAC;IAED,GAAG,CAAC,MAAc;QAChB,OAAO,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC;IAC9B,CAAC;IAED,YAAY;QACV,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;IACzB,CAAC;IAED,2CAA2C;IAC3C,6BAA6B;IAC7B,2CAA2C;IAE3C;;;;;;;;;OASG;IACH,OAAO,CAAC,OAA+B,EAAE,UAA0B,EAAE;QACnE,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,2CAA2C;IAC3C,kBAAkB;IAClB,2CAA2C;IAE3C,gBAAgB;QACd,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;CACF;AAlFD,sCAkFC"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../../src/engines/scoring/engine.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,qCAMoB;AASpB,yCAA6C;AAE7C;;;;;;;;;;;;;;GAcG;AACH,MAAa,aAAa;IAChB,EAAE,CAAgB;IAClB,QAAQ,CAAkB;IAElC,YAAY,aAA6B;QACvC,IAAI,CAAC,EAAE,GAAG,aAAa,IAAI,IAAI,oBAAa,EAAE,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,IAAI,0BAAe,EAAE,CAAC;IACxC,CAAC;IAED,2CAA2C;IAC3C,gCAAgC;IAChC,2CAA2C;IAE3C,GAAG,CAA0B,KAAmB;QAC9C,OAAO,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,CAAC,MAAc;QACnB,OAAO,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,CAA0B,KAAmB;QACjD,OAAO,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,GAAG,CAAC,MAAc;QAChB,OAAO,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;IAC1B,CAAC;IAED,GAAG,CAAC,MAAc;QAChB,OAAO,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI;QACF,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC;IAC9B,CAAC;IAED,YAAY;QACV,IAAI,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC;IACzB,CAAC;IAED,2CAA2C;IAC3C,6BAA6B;IAC7B,2CAA2C;IAE3C;;;;;;;;;;;;OAYG;IACH,OAAO,CACL,OAAkC,EAClC,UAA0B,EAAE;QAE5B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,2CAA2C;IAC3C,kBAAkB;IAClB,2CAA2C;IAE3C,gBAAgB;QACd,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;CACF;AAxFD,sCAwFC"}
@@ -4,7 +4,7 @@
4
4
  * Provides scoring-based rule execution where rules contribute
5
5
  * scores that are accumulated into a total score.
6
6
  */
7
- export { ScoringMethod, ScoringCaps, OutputBounds, TierDefinition, ScoringTierMatch, ScoringCategory, CategoryResult, OverrideEffect, OverrideDefinition, ForceTierOverride, FloorTierOverride, CapTierOverride, ExcludeOverride, AdjustScoreOverride, ClampScoreOverride, ForceScoreOverride, OverrideResult, CompiledOverrideDefinition, NullHandling, ScoringAction, ScoringRule, ScoringRuleSet, ScoringConfig, CompiledScoringAction, CompiledScoringRule, CompiledScoringRuleSet, ConfidenceConfig, ConfidenceBreakdown, ScoreFunction, ScoreFunctionRegistry, ScoringOptions, ScoringResult, createScoreFunction } from './types';
7
+ export { ScoringMethod, ScoringCaps, OutputBounds, TierDefinition, TierStyle, StyledTierDefinition, TIER_STYLE_KNOWN_KEYS, ScoringTierMatch, ScoringCategory, CategoryResult, OverrideEffect, OverrideDefinition, ForceTierOverride, FloorTierOverride, CapTierOverride, ExcludeOverride, AdjustScoreOverride, ClampScoreOverride, ForceScoreOverride, OverrideResult, CompiledOverrideDefinition, NullHandling, ScoringAction, ScoringRule, ScoringRuleSet, ScoringConfig, CompiledScoringAction, CompiledScoringRule, CompiledScoringRuleSet, ConfidenceConfig, ConfidenceBreakdown, ScoreFunction, ScoreFunctionRegistry, ScoringOptions, ScoringResult, createScoreFunction } from './types';
8
8
  export { compileScoringRule, compileScoringRuleSet } from './compiler';
9
9
  export { ScoringStrategy, scoringStrategy } from './strategy';
10
10
  export { ScoringEngine } from './engine';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/engines/scoring/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAEL,aAAa,EACb,WAAW,EACX,YAAY,EAEZ,cAAc,EACd,gBAAgB,EAEhB,eAAe,EACf,cAAc,EAEd,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,0BAA0B,EAE1B,YAAY,EAEZ,aAAa,EACb,WAAW,EACX,cAAc,EACd,aAAa,EAEb,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EAEtB,gBAAgB,EAChB,mBAAmB,EAEnB,aAAa,EACb,qBAAqB,EACrB,cAAc,EACd,aAAa,EACb,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,eAAe,EACf,eAAe,EAChB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/engines/scoring/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAEL,aAAa,EACb,WAAW,EACX,YAAY,EAEZ,cAAc,EACd,SAAS,EACT,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,EAEhB,eAAe,EACf,cAAc,EAEd,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,EAClB,cAAc,EACd,0BAA0B,EAE1B,YAAY,EAEZ,aAAa,EACb,WAAW,EACX,cAAc,EACd,aAAa,EAEb,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EAEtB,gBAAgB,EAChB,mBAAmB,EAEnB,aAAa,EACb,qBAAqB,EACrB,cAAc,EACd,aAAa,EACb,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAGjB,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,eAAe,EACf,eAAe,EAChB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC"}
@@ -6,9 +6,10 @@
6
6
  * scores that are accumulated into a total score.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.ScoringEngine = exports.scoringStrategy = exports.ScoringStrategy = exports.compileScoringRuleSet = exports.compileScoringRule = exports.createScoreFunction = void 0;
9
+ exports.ScoringEngine = exports.scoringStrategy = exports.ScoringStrategy = exports.compileScoringRuleSet = exports.compileScoringRule = exports.createScoreFunction = exports.TIER_STYLE_KNOWN_KEYS = void 0;
10
10
  // Types
11
11
  var types_1 = require("./types");
12
+ Object.defineProperty(exports, "TIER_STYLE_KNOWN_KEYS", { enumerable: true, get: function () { return types_1.TIER_STYLE_KNOWN_KEYS; } });
12
13
  Object.defineProperty(exports, "createScoreFunction", { enumerable: true, get: function () { return types_1.createScoreFunction; } });
13
14
  // Compiler
14
15
  var compiler_1 = require("./compiler");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/engines/scoring/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,QAAQ;AACR,iCA2CiB;AADf,4GAAA,mBAAmB,OAAA;AAGrB,WAAW;AACX,uCAGoB;AAFlB,8GAAA,kBAAkB,OAAA;AAClB,iHAAA,qBAAqB,OAAA;AAGvB,WAAW;AACX,uCAGoB;AAFlB,2GAAA,eAAe,OAAA;AACf,2GAAA,eAAe,OAAA;AAGjB,SAAS;AACT,mCAAyC;AAAhC,uGAAA,aAAa,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/engines/scoring/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,QAAQ;AACR,iCA8CiB;AArCf,8GAAA,qBAAqB,OAAA;AAoCrB,4GAAA,mBAAmB,OAAA;AAGrB,WAAW;AACX,uCAGoB;AAFlB,8GAAA,kBAAkB,OAAA;AAClB,iHAAA,qBAAqB,OAAA;AAGvB,WAAW;AACX,uCAGoB;AAFlB,2GAAA,eAAe,OAAA;AACf,2GAAA,eAAe,OAAA;AAGjB,SAAS;AACT,mCAAyC;AAAhC,uGAAA,aAAa,OAAA"}
@@ -5,9 +5,9 @@
5
5
  * with individual rule contributions.
6
6
  */
7
7
  import { IWorkingMemory } from '../../core/memory';
8
- import { CompiledScoringRuleSet, ScoringOptions, ScoringResult } from './types';
8
+ import { CompiledScoringRuleSet, ScoringOptions, ScoringResult, TierDefinition } from './types';
9
9
  export declare class ScoringStrategy {
10
- run(ruleSet: CompiledScoringRuleSet, wm: IWorkingMemory, options?: ScoringOptions): ScoringResult;
10
+ run<T extends TierDefinition = TierDefinition>(ruleSet: CompiledScoringRuleSet<T>, wm: IWorkingMemory, options?: ScoringOptions): ScoringResult<T>;
11
11
  }
12
12
  export declare const scoringStrategy: ScoringStrategy;
13
13
  //# sourceMappingURL=strategy.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"strategy.d.ts","sourceRoot":"","sources":["../../../src/engines/scoring/strategy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAQnD,OAAO,EACL,sBAAsB,EAEtB,cAAc,EACd,aAAa,EAOd,MAAM,SAAS,CAAC;AAajB,qBAAa,eAAe;IAC1B,GAAG,CACD,OAAO,EAAE,sBAAsB,EAC/B,EAAE,EAAE,cAAc,EAClB,OAAO,GAAE,cAAmB,GAC3B,aAAa;CAmjBjB;AAGD,eAAO,MAAM,eAAe,iBAAwB,CAAC"}
1
+ {"version":3,"file":"strategy.d.ts","sourceRoot":"","sources":["../../../src/engines/scoring/strategy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAQnD,OAAO,EACL,sBAAsB,EAEtB,cAAc,EACd,aAAa,EAKb,cAAc,EAEf,MAAM,SAAS,CAAC;AAajB,qBAAa,eAAe;IAC1B,GAAG,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAC3C,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,EAClC,EAAE,EAAE,cAAc,EAClB,OAAO,GAAE,cAAmB,GAC3B,aAAa,CAAC,CAAC,CAAC;CA+iBpB;AAGD,eAAO,MAAM,eAAe,iBAAwB,CAAC"}
@@ -360,9 +360,7 @@ class ScoringStrategy {
360
360
  const threshold = resolveThreshold(tierDef.threshold);
361
361
  if (totalScore >= threshold) {
362
362
  tier = {
363
- id: tierDef.id,
364
- name: tierDef.name,
365
- description: tierDef.description,
363
+ ...tierDef,
366
364
  threshold
367
365
  };
368
366
  break;
@@ -403,9 +401,7 @@ class ScoringStrategy {
403
401
  if (!def)
404
402
  return undefined;
405
403
  return {
406
- id: def.id,
407
- name: def.name,
408
- description: def.description,
404
+ ...def,
409
405
  threshold: resolveThreshold(def.threshold)
410
406
  };
411
407
  };
@@ -1 +1 @@
1
- {"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../src/engines/scoring/strategy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../src/engines/scoring/strategy.ts"],"names":[],"mappings":"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"}
@@ -58,13 +58,86 @@ export type TierDefinition = {
58
58
  description?: string;
59
59
  threshold: number | '-Infinity';
60
60
  };
61
+ /**
62
+ * Style slots for tier visual presentation
63
+ *
64
+ * Each field accepts a CSS color value, class name, or any string
65
+ * the consumer's UI stack requires. BOE passes these through untouched.
66
+ *
67
+ * @example Tailwind classes
68
+ * ```typescript
69
+ * const style: TierStyle = {
70
+ * base: 'emerald-500',
71
+ * text: 'text-emerald-700',
72
+ * background: 'bg-emerald-50',
73
+ * border: 'border-emerald-300',
74
+ * hover: 'hover:bg-emerald-100',
75
+ * anchor: 'text-emerald-600 hover:text-emerald-800',
76
+ * icon: 'star'
77
+ * };
78
+ * ```
79
+ *
80
+ * @example Raw CSS values
81
+ * ```typescript
82
+ * const style: TierStyle = {
83
+ * base: '#10B981',
84
+ * text: '#065F46',
85
+ * background: '#ECFDF5',
86
+ * hover: '#059669'
87
+ * };
88
+ * ```
89
+ */
90
+ export type TierStyle = {
91
+ base?: string;
92
+ text?: string;
93
+ background?: string;
94
+ border?: string;
95
+ hover?: string;
96
+ active?: string;
97
+ focus?: string;
98
+ disabled?: string;
99
+ anchor?: string;
100
+ icon?: string;
101
+ badge?: string;
102
+ ring?: string;
103
+ shadow?: string;
104
+ gradient?: string;
105
+ opacity?: string;
106
+ [key: string]: unknown;
107
+ };
108
+ /** Known keys on TierStyle that must be strings when provided */
109
+ export declare const TIER_STYLE_KNOWN_KEYS: readonly string[];
110
+ /**
111
+ * Styled extension of TierDefinition
112
+ *
113
+ * Adds an optional `style` field for visual presentation data.
114
+ * BOE validates the style structure at compile time but passes it
115
+ * through untouched — the consumer's UI layer interprets the values.
116
+ *
117
+ * Use with generics to get typed style data in scoring results:
118
+ * ```typescript
119
+ * const config: ScoringConfig<StyledTierDefinition> = {
120
+ * mode: 'scoring',
121
+ * strategies: ['raw'],
122
+ * tiers: [
123
+ * { id: 'elite', name: 'Elite', threshold: 900, style: { base: '#10B981', icon: 'star' } },
124
+ * { id: 'standard', name: 'Standard', threshold: 0, style: { base: '#6B7280' } }
125
+ * ]
126
+ * };
127
+ * // result.tier?.style is typed as TierStyle
128
+ * ```
129
+ */
130
+ export type StyledTierDefinition = TierDefinition & {
131
+ style?: TierStyle;
132
+ };
61
133
  /**
62
134
  * Matched tier in scoring result
135
+ *
136
+ * Preserves all properties from the original tier definition (including
137
+ * `style` when using StyledTierDefinition) with the threshold resolved
138
+ * to a numeric value.
63
139
  */
64
- export type ScoringTierMatch = {
65
- id: string;
66
- name?: string;
67
- description?: string;
140
+ export type ScoringTierMatch<T extends TierDefinition = TierDefinition> = Omit<T, 'threshold'> & {
68
141
  threshold: number;
69
142
  };
70
143
  /**
@@ -174,11 +247,11 @@ export type OverrideDefinition = ForceTierOverride | FloorTierOverride | CapTier
174
247
  /**
175
248
  * Override result — attached to ScoringResult when an override fires
176
249
  */
177
- export type OverrideResult = {
250
+ export type OverrideResult<T extends TierDefinition = TierDefinition> = {
178
251
  id: string;
179
252
  effect: OverrideEffect;
180
253
  originalScore: number;
181
- originalTier?: ScoringTierMatch;
254
+ originalTier?: ScoringTierMatch<T>;
182
255
  applied: true;
183
256
  };
184
257
  /**
@@ -215,10 +288,10 @@ export type ScoringRule = BaseRule & {
215
288
  /**
216
289
  * Scoring ruleset
217
290
  */
218
- export type ScoringRuleSet = BaseRuleSet & {
291
+ export type ScoringRuleSet<T extends TierDefinition = TierDefinition> = BaseRuleSet & {
219
292
  mode: 'scoring';
220
293
  rules: ScoringRule[];
221
- config?: Partial<ScoringConfig>;
294
+ config?: Partial<ScoringConfig<T>>;
222
295
  };
223
296
  /**
224
297
  * Composite confidence configuration
@@ -243,14 +316,17 @@ export type ConfidenceBreakdown = {
243
316
  };
244
317
  /**
245
318
  * Scoring configuration
319
+ *
320
+ * Generic over tier type — defaults to TierDefinition for backward compatibility.
321
+ * Use ScoringConfig<StyledTierDefinition> to get typed style data flowing through results.
246
322
  */
247
- export type ScoringConfig = {
323
+ export type ScoringConfig<T extends TierDefinition = TierDefinition> = {
248
324
  mode: 'scoring';
249
325
  strategies: ScoringMethod[];
250
326
  caps?: ScoringCaps;
251
327
  outputBounds?: OutputBounds;
252
328
  baseScore?: number;
253
- tiers?: TierDefinition[];
329
+ tiers?: T[];
254
330
  categories?: ScoringCategory[];
255
331
  overrides?: OverrideDefinition[];
256
332
  nullHandling?: NullHandling;
@@ -307,10 +383,10 @@ export type CompiledOverrideDefinition = (Omit<ForceTierOverride, 'condition'> &
307
383
  /**
308
384
  * Compiled scoring ruleset
309
385
  */
310
- export type CompiledScoringRuleSet = CompiledBaseRuleSet & {
386
+ export type CompiledScoringRuleSet<T extends TierDefinition = TierDefinition> = CompiledBaseRuleSet & {
311
387
  mode: 'scoring';
312
388
  rules: CompiledScoringRule[];
313
- config: ScoringConfig;
389
+ config: ScoringConfig<T>;
314
390
  overrides?: CompiledOverrideDefinition[];
315
391
  };
316
392
  /**
@@ -346,17 +422,20 @@ export type ScoringOptions<TContext extends BindingContext = BindingContext> = {
346
422
  };
347
423
  /**
348
424
  * Execution result
425
+ *
426
+ * Generic over tier type — when using StyledTierDefinition, the matched
427
+ * tier in the result preserves the full style data.
349
428
  */
350
- export type ScoringResult = {
429
+ export type ScoringResult<T extends TierDefinition = TierDefinition> = {
351
430
  totalScore: number;
352
431
  confidence: number;
353
432
  contributions: Record<string, number>;
354
433
  contributionPercentages: Record<string, number>;
355
434
  fired: string[];
356
435
  iterations: 1;
357
- tier?: ScoringTierMatch;
436
+ tier?: ScoringTierMatch<T>;
358
437
  categoryBreakdown?: CategoryResult[];
359
- override?: OverrideResult;
438
+ override?: OverrideResult<T>;
360
439
  confidenceBreakdown?: ConfidenceBreakdown;
361
440
  totalScoreBeforeDecay?: number;
362
441
  contributionsBeforeDecay?: Record<string, number>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/engines/scoring/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/engines/scoring/types.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,15 @@
3
3
  * Scoring Engine Types
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.TIER_STYLE_KNOWN_KEYS = void 0;
6
7
  exports.createScoreFunction = createScoreFunction;
8
+ /** Known keys on TierStyle that must be strings when provided */
9
+ exports.TIER_STYLE_KNOWN_KEYS = [
10
+ 'base', 'text', 'background', 'border',
11
+ 'hover', 'active', 'focus', 'disabled',
12
+ 'anchor',
13
+ 'icon', 'badge', 'ring', 'shadow', 'gradient', 'opacity'
14
+ ];
7
15
  /**
8
16
  * Create a typed score function with autocomplete on context keys.
9
17
  *
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/engines/scoring/types.ts"],"names":[],"mappings":";AAAA;;GAEG;;AA+ZH,kDAIC;AAnBD;;;;;;;;;;;;;;GAcG;AACH,SAAgB,mBAAmB,CACjC,EAAiC;IAEjC,OAAO,EAAmB,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/engines/scoring/types.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AA4fH,kDAIC;AAjXD,iEAAiE;AACpD,QAAA,qBAAqB,GAAsB;IACtD,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ;IACtC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU;IACtC,QAAQ;IACR,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS;CACzD,CAAC;AAwVF;;;;;;;;;;;;;;GAcG;AACH,SAAgB,mBAAmB,CACjC,EAAiC;IAEjC,OAAO,EAAmB,CAAC;AAC7B,CAAC"}
package/dist/index.d.ts CHANGED
@@ -30,7 +30,7 @@ export type { ForwardRule, ForwardRuleSet, ForwardConfig, CompiledForwardRuleSet
30
30
  export { BackwardChainingStrategy, compileBackwardRuleSet, backwardStrategy } from './engines/backward';
31
31
  export type { BackwardRule, BackwardRuleSet, BackwardConfig, CompiledBackwardRuleSet, BackwardOptions, BackwardResult, ProofStep, ProofResult } from './engines/backward';
32
32
  export { ScoringStrategy, compileScoringRuleSet, scoringStrategy, createScoreFunction } from './engines/scoring';
33
- export type { ScoringRule, ScoringRuleSet, ScoringConfig, CompiledScoringRuleSet, ScoringOptions, ScoringResult, ScoreFunction, ScoreFunctionRegistry, ScoringMethod, OutputBounds, ScoringCategory, CategoryResult, ConfidenceConfig, ConfidenceBreakdown, OverrideEffect, OverrideDefinition, ForceTierOverride, FloorTierOverride, CapTierOverride, ExcludeOverride, AdjustScoreOverride, ClampScoreOverride, ForceScoreOverride, OverrideResult, CompiledOverrideDefinition, NullHandling } from './engines/scoring';
33
+ export type { ScoringRule, ScoringRuleSet, ScoringConfig, CompiledScoringRuleSet, ScoringOptions, ScoringResult, ScoreFunction, ScoreFunctionRegistry, ScoringMethod, OutputBounds, ScoringCategory, CategoryResult, ConfidenceConfig, ConfidenceBreakdown, OverrideEffect, OverrideDefinition, ForceTierOverride, FloorTierOverride, CapTierOverride, ExcludeOverride, AdjustScoreOverride, ClampScoreOverride, ForceScoreOverride, OverrideResult, CompiledOverrideDefinition, NullHandling, TierDefinition, TierStyle, StyledTierDefinition, ScoringTierMatch } from './engines/scoring';
34
34
  export { SequentialStrategy, compileSequentialRuleSet, sequentialStrategy } from './engines/sequential';
35
35
  export type { SequentialRule, SequentialRuleSet, SequentialConfig, CompiledSequentialRuleSet, SequentialOptions, SequentialResult } from './engines/sequential';
36
36
  export { FuzzyStrategy, compileFuzzyRuleSet, fuzzyStrategy, compileFuzzyVariable, analyzeCoverage, autoAdjustCoverage } from './engines/fuzzy';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@higher.archi/boe",
3
- "version": "1.0.10",
3
+ "version": "1.0.11",
4
4
  "description": "A multi-strategy rule engine supporting forward chaining, backward chaining, scoring, sequential, fuzzy logic, and Bayesian inference",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -17,7 +17,9 @@ import {
17
17
  CompiledScoringRuleSet,
18
18
  CompiledScoringAction,
19
19
  CompiledOverrideDefinition,
20
- OverrideDefinition
20
+ OverrideDefinition,
21
+ TierDefinition,
22
+ TIER_STYLE_KNOWN_KEYS
21
23
  } from './types';
22
24
 
23
25
  // ========================================
@@ -145,11 +147,51 @@ function compileOverride(override: OverrideDefinition): CompiledOverrideDefiniti
145
147
  };
146
148
  }
147
149
 
150
+ // ========================================
151
+ // Style Validation
152
+ // ========================================
153
+
154
+ function validateTierStyle(tierId: string, style: unknown): void {
155
+ if (style === null || style === undefined) return;
156
+
157
+ if (typeof style !== 'object' || Array.isArray(style)) {
158
+ throw new CompilationError(
159
+ `Tier "${tierId}" has an invalid style: expected an object, got ${Array.isArray(style) ? 'array' : typeof style}.`
160
+ );
161
+ }
162
+
163
+ const styleObj = style as Record<string, unknown>;
164
+
165
+ // Reject empty style objects — likely a mistake
166
+ if (Object.keys(styleObj).length === 0) {
167
+ throw new CompilationError(
168
+ `Tier "${tierId}" has an empty style object. Remove the style field or provide at least one property.`
169
+ );
170
+ }
171
+
172
+ // Validate known keys are non-empty strings when provided
173
+ for (const key of TIER_STYLE_KNOWN_KEYS) {
174
+ if (key in styleObj) {
175
+ const value = styleObj[key];
176
+ if (typeof value !== 'string') {
177
+ throw new CompilationError(
178
+ `Tier "${tierId}" style.${key} must be a string, got ${typeof value}.`
179
+ );
180
+ }
181
+ if (value.trim() === '') {
182
+ throw new CompilationError(
183
+ `Tier "${tierId}" style.${key} must not be empty.`
184
+ );
185
+ }
186
+ }
187
+ }
188
+ }
189
+
148
190
  // ========================================
149
191
  // RuleSet Compilation
150
192
  // ========================================
151
193
 
152
- export function compileScoringRuleSet(ruleSet: ScoringRuleSet): CompiledScoringRuleSet {
194
+ export function compileScoringRuleSet<T extends TierDefinition = TierDefinition>(ruleSet: ScoringRuleSet<T>): CompiledScoringRuleSet<T> {
153
195
  const activeRules = ruleSet.rules.filter(r => !r.disabled);
154
196
  const categories = ruleSet.config?.categories;
155
197
 
@@ -180,6 +222,16 @@ export function compileScoringRuleSet(ruleSet: ScoringRuleSet): CompiledScoringR
180
222
  }
181
223
  }
182
224
 
225
+ // Validate tier styles if present
226
+ const tiers = ruleSet.config?.tiers;
227
+ if (tiers?.length) {
228
+ for (const tierDef of tiers) {
229
+ if ('style' in tierDef && (tierDef as any).style !== undefined) {
230
+ validateTierStyle(tierDef.id, (tierDef as any).style);
231
+ }
232
+ }
233
+ }
234
+
183
235
  // Validate and compile overrides if defined
184
236
  const overrides = ruleSet.config?.overrides;
185
237
  let compiledOverrides: CompiledOverrideDefinition[] | undefined;
@@ -206,7 +258,7 @@ export function compileScoringRuleSet(ruleSet: ScoringRuleSet): CompiledScoringR
206
258
  compiledOverrides = overrides.map(compileOverride);
207
259
  }
208
260
 
209
- const config: ScoringConfig = {
261
+ const config: ScoringConfig<T> = {
210
262
  mode: 'scoring',
211
263
  strategies: ruleSet.config?.strategies ?? ['raw'],
212
264
  caps: ruleSet.config?.caps,
@@ -16,7 +16,8 @@ import {
16
16
  import {
17
17
  CompiledScoringRuleSet,
18
18
  ScoringOptions,
19
- ScoringResult
19
+ ScoringResult,
20
+ TierDefinition
20
21
  } from './types';
21
22
 
22
23
  import { ScoringStrategy } from './strategy';
@@ -103,11 +104,17 @@ export class ScoringEngine implements IRuleEngine<CompiledScoringRuleSet, Scorin
103
104
  * All matching rules contribute their scores to the total.
104
105
  * Scores can be normalized, weighted, and scaled to output bounds.
105
106
  *
107
+ * Generic over tier type — pass CompiledScoringRuleSet<StyledTierDefinition>
108
+ * to get typed style data in the result's matched tier.
109
+ *
106
110
  * @param ruleSet - Compiled scoring ruleset
107
111
  * @param options - Runtime options (score functions, callbacks)
108
112
  * @returns Result with total score and per-rule contributions
109
113
  */
110
- execute(ruleSet: CompiledScoringRuleSet, options: ScoringOptions = {}): ScoringResult {
114
+ execute<T extends TierDefinition = TierDefinition>(
115
+ ruleSet: CompiledScoringRuleSet<T>,
116
+ options: ScoringOptions = {}
117
+ ): ScoringResult<T> {
111
118
  return this.strategy.run(ruleSet, this.wm, options);
112
119
  }
113
120
 
@@ -13,6 +13,9 @@ export {
13
13
  OutputBounds,
14
14
  // Tier types
15
15
  TierDefinition,
16
+ TierStyle,
17
+ StyledTierDefinition,
18
+ TIER_STYLE_KNOWN_KEYS,
16
19
  ScoringTierMatch,
17
20
  // Category types
18
21
  ScoringCategory,
@@ -43,11 +43,11 @@ function resolveOutputBounds(bounds: OutputBounds): { min: number; max: number }
43
43
  }
44
44
 
45
45
  export class ScoringStrategy {
46
- run(
47
- ruleSet: CompiledScoringRuleSet,
46
+ run<T extends TierDefinition = TierDefinition>(
47
+ ruleSet: CompiledScoringRuleSet<T>,
48
48
  wm: IWorkingMemory,
49
49
  options: ScoringOptions = {}
50
- ): ScoringResult {
50
+ ): ScoringResult<T> {
51
51
  const startTime = performance.now();
52
52
  const { scoreFunctions = {}, onFire } = options;
53
53
  const config = ruleSet.config;
@@ -410,7 +410,7 @@ export class ScoringStrategy {
410
410
  let totalScore = baseScore + Object.values(contributions).reduce((sum, score) => sum + score, 0);
411
411
 
412
412
  // Match tier if tiers are configured
413
- let tier: ScoringTierMatch | undefined;
413
+ let tier: ScoringTierMatch<T> | undefined;
414
414
  if (config.tiers && config.tiers.length > 0) {
415
415
  // Helper to resolve threshold value (handles '-Infinity' string)
416
416
  const resolveThreshold = (t: number | '-Infinity'): number =>
@@ -425,18 +425,16 @@ export class ScoringStrategy {
425
425
  const threshold = resolveThreshold(tierDef.threshold);
426
426
  if (totalScore >= threshold) {
427
427
  tier = {
428
- id: tierDef.id,
429
- name: tierDef.name,
430
- description: tierDef.description,
428
+ ...tierDef,
431
429
  threshold
432
- };
430
+ } as ScoringTierMatch<T>;
433
431
  break;
434
432
  }
435
433
  }
436
434
  }
437
435
 
438
436
  // Phase 4: Override evaluation
439
- let overrideResult: OverrideResult | undefined;
437
+ let overrideResult: OverrideResult<T> | undefined;
440
438
 
441
439
  if (ruleSet.overrides?.length && ruleSet.overrides.length > 0) {
442
440
  // Build a BindingContext from all facts in working memory (type name -> fact)
@@ -453,7 +451,7 @@ export class ScoringStrategy {
453
451
  t === '-Infinity' ? Number.NEGATIVE_INFINITY : t;
454
452
 
455
453
  // Build tier lookup and ranking
456
- const tierMap = new Map<string, TierDefinition>();
454
+ const tierMap = new Map<string, T>();
457
455
  const sortedTierIds: string[] = [];
458
456
  if (config.tiers?.length) {
459
457
  const sorted = [...config.tiers].sort(
@@ -471,15 +469,13 @@ export class ScoringStrategy {
471
469
  return idx === -1 ? -1 : sortedTierIds.length - idx; // higher rank = higher tier
472
470
  };
473
471
 
474
- const findTier = (tierId: string): ScoringTierMatch | undefined => {
472
+ const findTier = (tierId: string): ScoringTierMatch<T> | undefined => {
475
473
  const def = tierMap.get(tierId);
476
474
  if (!def) return undefined;
477
475
  return {
478
- id: def.id,
479
- name: def.name,
480
- description: def.description,
476
+ ...def,
481
477
  threshold: resolveThreshold(def.threshold)
482
- };
478
+ } as ScoringTierMatch<T>;
483
479
  };
484
480
 
485
481
  // Evaluate overrides in order — first match wins
@@ -86,14 +86,104 @@ export type TierDefinition = {
86
86
  threshold: number | '-Infinity'; // Minimum score to qualify (inclusive), or '-Infinity' for catch-all
87
87
  };
88
88
 
89
+ /**
90
+ * Style slots for tier visual presentation
91
+ *
92
+ * Each field accepts a CSS color value, class name, or any string
93
+ * the consumer's UI stack requires. BOE passes these through untouched.
94
+ *
95
+ * @example Tailwind classes
96
+ * ```typescript
97
+ * const style: TierStyle = {
98
+ * base: 'emerald-500',
99
+ * text: 'text-emerald-700',
100
+ * background: 'bg-emerald-50',
101
+ * border: 'border-emerald-300',
102
+ * hover: 'hover:bg-emerald-100',
103
+ * anchor: 'text-emerald-600 hover:text-emerald-800',
104
+ * icon: 'star'
105
+ * };
106
+ * ```
107
+ *
108
+ * @example Raw CSS values
109
+ * ```typescript
110
+ * const style: TierStyle = {
111
+ * base: '#10B981',
112
+ * text: '#065F46',
113
+ * background: '#ECFDF5',
114
+ * hover: '#059669'
115
+ * };
116
+ * ```
117
+ */
118
+ export type TierStyle = {
119
+ // Core visual
120
+ base?: string; // Primary color value or class
121
+ text?: string; // Text color or class
122
+ background?: string; // Background color or class
123
+ border?: string; // Border color or class
124
+
125
+ // Interactive states
126
+ hover?: string; // Hover state color or class
127
+ active?: string; // Active/pressed state color or class
128
+ focus?: string; // Focus state color or class
129
+ disabled?: string; // Disabled state color or class
130
+
131
+ // Links
132
+ anchor?: string; // Link/anchor color or class
133
+
134
+ // Decorative
135
+ icon?: string; // Icon identifier (e.g., 'star', 'shield-check')
136
+ badge?: string; // Badge/pill styling
137
+ ring?: string; // Ring/outline (focus rings, selection indicators)
138
+ shadow?: string; // Shadow value or class
139
+ gradient?: string; // Gradient value or class
140
+ opacity?: string; // Opacity value or class
141
+
142
+ // Extensible
143
+ [key: string]: unknown;
144
+ };
145
+
146
+ /** Known keys on TierStyle that must be strings when provided */
147
+ export const TIER_STYLE_KNOWN_KEYS: readonly string[] = [
148
+ 'base', 'text', 'background', 'border',
149
+ 'hover', 'active', 'focus', 'disabled',
150
+ 'anchor',
151
+ 'icon', 'badge', 'ring', 'shadow', 'gradient', 'opacity'
152
+ ];
153
+
154
+ /**
155
+ * Styled extension of TierDefinition
156
+ *
157
+ * Adds an optional `style` field for visual presentation data.
158
+ * BOE validates the style structure at compile time but passes it
159
+ * through untouched — the consumer's UI layer interprets the values.
160
+ *
161
+ * Use with generics to get typed style data in scoring results:
162
+ * ```typescript
163
+ * const config: ScoringConfig<StyledTierDefinition> = {
164
+ * mode: 'scoring',
165
+ * strategies: ['raw'],
166
+ * tiers: [
167
+ * { id: 'elite', name: 'Elite', threshold: 900, style: { base: '#10B981', icon: 'star' } },
168
+ * { id: 'standard', name: 'Standard', threshold: 0, style: { base: '#6B7280' } }
169
+ * ]
170
+ * };
171
+ * // result.tier?.style is typed as TierStyle
172
+ * ```
173
+ */
174
+ export type StyledTierDefinition = TierDefinition & {
175
+ style?: TierStyle;
176
+ };
177
+
89
178
  /**
90
179
  * Matched tier in scoring result
180
+ *
181
+ * Preserves all properties from the original tier definition (including
182
+ * `style` when using StyledTierDefinition) with the threshold resolved
183
+ * to a numeric value.
91
184
  */
92
- export type ScoringTierMatch = {
93
- id: string;
94
- name?: string;
95
- description?: string;
96
- threshold: number;
185
+ export type ScoringTierMatch<T extends TierDefinition = TierDefinition> = Omit<T, 'threshold'> & {
186
+ threshold: number; // Resolved numeric value (never '-Infinity' string)
97
187
  };
98
188
 
99
189
  // ========================================
@@ -237,11 +327,11 @@ export type OverrideDefinition =
237
327
  /**
238
328
  * Override result — attached to ScoringResult when an override fires
239
329
  */
240
- export type OverrideResult = {
330
+ export type OverrideResult<T extends TierDefinition = TierDefinition> = {
241
331
  id: string;
242
332
  effect: OverrideEffect;
243
333
  originalScore: number;
244
- originalTier?: ScoringTierMatch;
334
+ originalTier?: ScoringTierMatch<T>;
245
335
  applied: true;
246
336
  };
247
337
 
@@ -287,10 +377,10 @@ export type ScoringRule = BaseRule & {
287
377
  /**
288
378
  * Scoring ruleset
289
379
  */
290
- export type ScoringRuleSet = BaseRuleSet & {
380
+ export type ScoringRuleSet<T extends TierDefinition = TierDefinition> = BaseRuleSet & {
291
381
  mode: 'scoring';
292
382
  rules: ScoringRule[];
293
- config?: Partial<ScoringConfig>;
383
+ config?: Partial<ScoringConfig<T>>;
294
384
  };
295
385
 
296
386
  /**
@@ -315,14 +405,17 @@ export type ConfidenceBreakdown = {
315
405
 
316
406
  /**
317
407
  * Scoring configuration
408
+ *
409
+ * Generic over tier type — defaults to TierDefinition for backward compatibility.
410
+ * Use ScoringConfig<StyledTierDefinition> to get typed style data flowing through results.
318
411
  */
319
- export type ScoringConfig = {
412
+ export type ScoringConfig<T extends TierDefinition = TierDefinition> = {
320
413
  mode: 'scoring';
321
414
  strategies: ScoringMethod[]; // Default: ['raw'] - methods applied in sequence
322
415
  caps?: ScoringCaps; // Optional global caps (used with 'capped' method)
323
416
  outputBounds?: OutputBounds; // Optional output scaling
324
417
  baseScore?: number; // Starting score before rule contributions (default: 0)
325
- tiers?: TierDefinition[]; // Optional tier definitions for score classification
418
+ tiers?: T[]; // Optional tier definitions for score classification
326
419
  categories?: ScoringCategory[]; // Optional category grouping for two-level weight hierarchy
327
420
  overrides?: OverrideDefinition[]; // Optional post-scoring overrides evaluated in order (first match wins)
328
421
  nullHandling?: NullHandling; // Default null handling for all rules (default: 'exclude')
@@ -377,10 +470,10 @@ export type CompiledOverrideDefinition =
377
470
  /**
378
471
  * Compiled scoring ruleset
379
472
  */
380
- export type CompiledScoringRuleSet = CompiledBaseRuleSet & {
473
+ export type CompiledScoringRuleSet<T extends TierDefinition = TierDefinition> = CompiledBaseRuleSet & {
381
474
  mode: 'scoring';
382
475
  rules: CompiledScoringRule[];
383
- config: ScoringConfig;
476
+ config: ScoringConfig<T>;
384
477
  overrides?: CompiledOverrideDefinition[];
385
478
  };
386
479
 
@@ -431,17 +524,20 @@ export type ScoringOptions<TContext extends BindingContext = BindingContext> = {
431
524
 
432
525
  /**
433
526
  * Execution result
527
+ *
528
+ * Generic over tier type — when using StyledTierDefinition, the matched
529
+ * tier in the result preserves the full style data.
434
530
  */
435
- export type ScoringResult = {
531
+ export type ScoringResult<T extends TierDefinition = TierDefinition> = {
436
532
  totalScore: number;
437
533
  confidence: number; // 0-1, signal coverage ratio (weighted if weights present)
438
534
  contributions: Record<string, number>; // Which rules contributed what scores
439
535
  contributionPercentages: Record<string, number>; // Normalized percentages (0-100) per rule
440
536
  fired: string[]; // Rules that matched and contributed
441
537
  iterations: 1; // Scoring is always one-pass
442
- tier?: ScoringTierMatch; // Matched tier (if tiers configured)
538
+ tier?: ScoringTierMatch<T>; // Matched tier (if tiers configured)
443
539
  categoryBreakdown?: CategoryResult[]; // Per-category breakdown (if categories configured)
444
- override?: OverrideResult; // Override that fired (if any)
540
+ override?: OverrideResult<T>; // Override that fired (if any)
445
541
  confidenceBreakdown?: ConfidenceBreakdown; // composite confidence components (if confidenceConfig set)
446
542
  totalScoreBeforeDecay?: number; // undecayed total for comparison
447
543
  contributionsBeforeDecay?: Record<string, number>; // undecayed per-rule contributions
package/src/index.ts CHANGED
@@ -110,7 +110,11 @@ export type {
110
110
  ForceScoreOverride,
111
111
  OverrideResult,
112
112
  CompiledOverrideDefinition,
113
- NullHandling
113
+ NullHandling,
114
+ TierDefinition,
115
+ TierStyle,
116
+ StyledTierDefinition,
117
+ ScoringTierMatch
114
118
  } from './engines/scoring';
115
119
 
116
120
  // Sequential