@higher.archi/boe 1.0.20 → 1.0.21

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.
@@ -6,4 +6,6 @@ export { compileEnsembleRuleSet } from './compiler';
6
6
  export { EnsembleStrategy, ensembleStrategy } from './strategy';
7
7
  export { EnsembleEngine } from './engine';
8
8
  export { summarizeEnsemble } from './summary';
9
+ export { bayesianMember, fuzzyMember, monteCarloMember, expertMember, scoringMember } from './members';
10
+ export type { BayesianMemberConfig, FuzzyMemberConfig, MonteCarloMemberConfig, ExpertMemberConfig, ScoringMemberConfig } from './members';
9
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/engines/ensemble/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,YAAY,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,eAAe,EACf,YAAY,EACZ,cAAc,EACd,sBAAsB,EACvB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAGpD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGhE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/engines/ensemble/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,YAAY,EACV,cAAc,EACd,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,eAAe,EACf,YAAY,EACZ,cAAc,EACd,sBAAsB,EACvB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAGpD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGhE,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAG9C,OAAO,EACL,cAAc,EAAE,WAAW,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAC3E,MAAM,WAAW,CAAC;AACnB,YAAY,EACV,oBAAoB,EAAE,iBAAiB,EAAE,sBAAsB,EAC/D,kBAAkB,EAAE,mBAAmB,EACxC,MAAM,WAAW,CAAC"}
@@ -3,7 +3,7 @@
3
3
  * Ensemble Engine — Multi-Model Score Fusion
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.summarizeEnsemble = exports.EnsembleEngine = exports.ensembleStrategy = exports.EnsembleStrategy = exports.compileEnsembleRuleSet = void 0;
6
+ exports.scoringMember = exports.expertMember = exports.monteCarloMember = exports.fuzzyMember = exports.bayesianMember = exports.summarizeEnsemble = exports.EnsembleEngine = exports.ensembleStrategy = exports.EnsembleStrategy = exports.compileEnsembleRuleSet = void 0;
7
7
  // Compiler
8
8
  var compiler_1 = require("./compiler");
9
9
  Object.defineProperty(exports, "compileEnsembleRuleSet", { enumerable: true, get: function () { return compiler_1.compileEnsembleRuleSet; } });
@@ -17,4 +17,11 @@ Object.defineProperty(exports, "EnsembleEngine", { enumerable: true, get: functi
17
17
  // Summary
18
18
  var summary_1 = require("./summary");
19
19
  Object.defineProperty(exports, "summarizeEnsemble", { enumerable: true, get: function () { return summary_1.summarizeEnsemble; } });
20
+ // Member adapter factories
21
+ var members_1 = require("./members");
22
+ Object.defineProperty(exports, "bayesianMember", { enumerable: true, get: function () { return members_1.bayesianMember; } });
23
+ Object.defineProperty(exports, "fuzzyMember", { enumerable: true, get: function () { return members_1.fuzzyMember; } });
24
+ Object.defineProperty(exports, "monteCarloMember", { enumerable: true, get: function () { return members_1.monteCarloMember; } });
25
+ Object.defineProperty(exports, "expertMember", { enumerable: true, get: function () { return members_1.expertMember; } });
26
+ Object.defineProperty(exports, "scoringMember", { enumerable: true, get: function () { return members_1.scoringMember; } });
20
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/engines/ensemble/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAsBH,WAAW;AACX,uCAAoD;AAA3C,kHAAA,sBAAsB,OAAA;AAE/B,WAAW;AACX,uCAAgE;AAAvD,4GAAA,gBAAgB,OAAA;AAAE,4GAAA,gBAAgB,OAAA;AAE3C,SAAS;AACT,mCAA0C;AAAjC,wGAAA,cAAc,OAAA;AAEvB,UAAU;AACV,qCAA8C;AAArC,4GAAA,iBAAiB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/engines/ensemble/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAsBH,WAAW;AACX,uCAAoD;AAA3C,kHAAA,sBAAsB,OAAA;AAE/B,WAAW;AACX,uCAAgE;AAAvD,4GAAA,gBAAgB,OAAA;AAAE,4GAAA,gBAAgB,OAAA;AAE3C,SAAS;AACT,mCAA0C;AAAjC,wGAAA,cAAc,OAAA;AAEvB,UAAU;AACV,qCAA8C;AAArC,4GAAA,iBAAiB,OAAA;AAE1B,2BAA2B;AAC3B,qCAEmB;AADjB,yGAAA,cAAc,OAAA;AAAE,sGAAA,WAAW,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AAAE,uGAAA,YAAY,OAAA;AAAE,wGAAA,aAAa,OAAA"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Ensemble Member Adapter Factories
3
+ *
4
+ * Factory functions that wrap non-scoring engines (Bayesian, Fuzzy, etc.)
5
+ * into CustomMemberDef or ScoringMemberDef for use in ensemble rulesets.
6
+ */
7
+ import type { ScoreExtractor, ConfidenceExtractor, CustomMemberDef, ScoringMemberDef } from './types';
8
+ import type { CompiledBayesianRuleSet, BayesianOptions, BayesianResult } from '../bayesian';
9
+ import type { CompiledFuzzyRuleSet, FuzzyOptions, FuzzyResult } from '../fuzzy';
10
+ import type { CompiledMonteCarloRuleSet, MonteCarloOptions, MonteCarloResult } from '../monte-carlo';
11
+ import type { CompiledExpertRuleSet, ExpertOptions, ExpertResult } from '../expert';
12
+ import type { CompiledScoringRuleSet, ScoringOptions } from '../scoring/types';
13
+ export type BayesianMemberConfig = {
14
+ id: string;
15
+ name?: string;
16
+ weight: number;
17
+ ruleset: CompiledBayesianRuleSet;
18
+ extractScore: ScoreExtractor<BayesianResult>;
19
+ extractConfidence?: ConfidenceExtractor<BayesianResult>;
20
+ options?: BayesianOptions;
21
+ };
22
+ export type FuzzyMemberConfig = {
23
+ id: string;
24
+ name?: string;
25
+ weight: number;
26
+ ruleset: CompiledFuzzyRuleSet;
27
+ extractScore: ScoreExtractor<FuzzyResult>;
28
+ extractConfidence?: ConfidenceExtractor<FuzzyResult>;
29
+ options?: FuzzyOptions;
30
+ };
31
+ export type MonteCarloMemberConfig = {
32
+ id: string;
33
+ name?: string;
34
+ weight: number;
35
+ ruleset: CompiledMonteCarloRuleSet;
36
+ extractScore: ScoreExtractor<MonteCarloResult>;
37
+ extractConfidence?: ConfidenceExtractor<MonteCarloResult>;
38
+ options?: MonteCarloOptions;
39
+ };
40
+ export type ExpertMemberConfig = {
41
+ id: string;
42
+ name?: string;
43
+ weight: number;
44
+ ruleset: CompiledExpertRuleSet;
45
+ extractScore: ScoreExtractor<ExpertResult>;
46
+ extractConfidence?: ConfidenceExtractor<ExpertResult>;
47
+ options?: ExpertOptions;
48
+ };
49
+ export type ScoringMemberConfig = {
50
+ id: string;
51
+ name?: string;
52
+ weight: number;
53
+ ruleset: CompiledScoringRuleSet;
54
+ options?: ScoringOptions;
55
+ };
56
+ /** Wrap a Bayesian engine as an ensemble member. Default confidence uses result.confidence. */
57
+ export declare function bayesianMember(config: BayesianMemberConfig): CustomMemberDef;
58
+ /** Wrap a Fuzzy engine as an ensemble member. Default confidence is 1.0 (outputs are crisp). */
59
+ export declare function fuzzyMember(config: FuzzyMemberConfig): CustomMemberDef;
60
+ /** Wrap a Monte Carlo engine as an ensemble member. Default confidence is 1.0 (domain-specific). */
61
+ export declare function monteCarloMember(config: MonteCarloMemberConfig): CustomMemberDef;
62
+ /** Wrap an Expert engine as an ensemble member. Default confidence is 1.0 (per-conclusion only). */
63
+ export declare function expertMember(config: ExpertMemberConfig): CustomMemberDef;
64
+ /** Shorthand for creating a ScoringMemberDef. Consistency helper, no wrapping needed. */
65
+ export declare function scoringMember(config: ScoringMemberConfig): ScoringMemberDef;
66
+ //# sourceMappingURL=members.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"members.d.ts","sourceRoot":"","sources":["../../../src/engines/ensemble/members.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ /**
3
+ * Ensemble Member Adapter Factories
4
+ *
5
+ * Factory functions that wrap non-scoring engines (Bayesian, Fuzzy, etc.)
6
+ * into CustomMemberDef or ScoringMemberDef for use in ensemble rulesets.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.bayesianMember = bayesianMember;
10
+ exports.fuzzyMember = fuzzyMember;
11
+ exports.monteCarloMember = monteCarloMember;
12
+ exports.expertMember = expertMember;
13
+ exports.scoringMember = scoringMember;
14
+ const bayesian_1 = require("../bayesian");
15
+ const fuzzy_1 = require("../fuzzy");
16
+ const monte_carlo_1 = require("../monte-carlo");
17
+ const expert_1 = require("../expert");
18
+ // ========================================
19
+ // Factory Functions
20
+ // ========================================
21
+ /** Wrap a Bayesian engine as an ensemble member. Default confidence uses result.confidence. */
22
+ function bayesianMember(config) {
23
+ const { id, name, weight, ruleset, extractScore, extractConfidence = (r) => r.confidence, options } = config;
24
+ return {
25
+ id, name, weight,
26
+ execute: (facts) => {
27
+ const engine = new bayesian_1.BayesianEngine();
28
+ for (const f of facts)
29
+ engine.add(f);
30
+ return engine.execute(ruleset, options);
31
+ },
32
+ extractScore,
33
+ extractConfidence
34
+ };
35
+ }
36
+ /** Wrap a Fuzzy engine as an ensemble member. Default confidence is 1.0 (outputs are crisp). */
37
+ function fuzzyMember(config) {
38
+ const { id, name, weight, ruleset, extractScore, extractConfidence = () => 1.0, options } = config;
39
+ return {
40
+ id, name, weight,
41
+ execute: (facts) => {
42
+ const engine = new fuzzy_1.FuzzyEngine();
43
+ for (const f of facts)
44
+ engine.add(f);
45
+ return engine.execute(ruleset, options);
46
+ },
47
+ extractScore,
48
+ extractConfidence
49
+ };
50
+ }
51
+ /** Wrap a Monte Carlo engine as an ensemble member. Default confidence is 1.0 (domain-specific). */
52
+ function monteCarloMember(config) {
53
+ const { id, name, weight, ruleset, extractScore, extractConfidence = () => 1.0, options } = config;
54
+ return {
55
+ id, name, weight,
56
+ execute: (facts) => {
57
+ const engine = new monte_carlo_1.MonteCarloEngine();
58
+ for (const f of facts)
59
+ engine.add(f);
60
+ return engine.execute(ruleset, options);
61
+ },
62
+ extractScore,
63
+ extractConfidence
64
+ };
65
+ }
66
+ /** Wrap an Expert engine as an ensemble member. Default confidence is 1.0 (per-conclusion only). */
67
+ function expertMember(config) {
68
+ const { id, name, weight, ruleset, extractScore, extractConfidence = () => 1.0, options } = config;
69
+ return {
70
+ id, name, weight,
71
+ execute: (facts) => {
72
+ const engine = new expert_1.ExpertEngine();
73
+ for (const f of facts)
74
+ engine.add(f);
75
+ return engine.execute(ruleset, options);
76
+ },
77
+ extractScore,
78
+ extractConfidence
79
+ };
80
+ }
81
+ /** Shorthand for creating a ScoringMemberDef. Consistency helper, no wrapping needed. */
82
+ function scoringMember(config) {
83
+ const { id, name, weight, ruleset, options } = config;
84
+ return { id, name, weight, ruleset, options };
85
+ }
86
+ //# sourceMappingURL=members.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"members.js","sourceRoot":"","sources":["../../../src/engines/ensemble/members.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -53,8 +53,8 @@ export { ExpertEngine, ExpertStrategy, compileExpertRuleSet, expertStrategy, com
53
53
  export type { ExpertRule, ExpertRuleSet, ExpertConfig, ExplainBlock, CompiledExpertRuleSet, CompiledExpertRule, CompiledExplainBlock, CompiledTemplate, ExpertOptions, ExpertResult, ExpertQueryResult, InferenceStep, FactIndex, ResultIndex, InterpolationContext } from './engines/expert';
54
54
  export { PricingStrategy, compilePricingRuleSet, compilePricingRule, pricingStrategy, pricingEngine, calculateFlat, calculateGraduated, calculateVolume, formatCurrency, formatNumber, formatPercent, round, calculateDiscount, applyMinMax, CURRENCIES, getCurrencyInfo } from './engines/pricing';
55
55
  export type { CurrencyCode, CurrencyInfo, PricingRule, PricingRuleSet, PricingConfig, PricingComponent, PricingMode, PricingInput, PricingPackage, FlatPricing, GraduatedTier, GraduatedPricing, VolumeBracket, VolumePricing, Meter, MultiMeterPricing, FormulaPricing, Adjustment, DiscountAdjustment, MinimumAdjustment, MaximumAdjustment, Metric, ScenarioDefinition, ScenarioDefinitions, AttributeSchema, ProductType, ResolvedPricingConfig, CompiledPricingRuleSet, CompiledPricingRule, CompiledPricingComponent, CompiledPricingMode, CompiledAdjustment, CompiledMetric, PricingOptions, PricingResult, ScenarioComparisonResult, ScenarioResult, ComponentResult, AdjustmentResult, TierBreakdown, MeterResult, PricingSummary, CalculatorContext, TierCalculationResult } from './engines/pricing';
56
- export { EnsembleStrategy, compileEnsembleRuleSet, ensembleStrategy, summarizeEnsemble } from './engines/ensemble';
57
- export type { FusionStrategy, AgreementLevel, ScoreExtractor, ConfidenceExtractor, ScoringMemberDef, CustomMemberDef, EnsembleMemberDef, StackingConfig, EnsembleConfig, EnsembleRuleSet, CompiledEnsembleMember, CompiledEnsembleRuleSet, EnsembleOptions, MemberResult, EnsembleResult, EnsembleSummaryOptions } from './engines/ensemble';
56
+ export { EnsembleStrategy, compileEnsembleRuleSet, ensembleStrategy, summarizeEnsemble, bayesianMember, fuzzyMember, monteCarloMember, expertMember, scoringMember } from './engines/ensemble';
57
+ export type { FusionStrategy, AgreementLevel, ScoreExtractor, ConfidenceExtractor, ScoringMemberDef, CustomMemberDef, EnsembleMemberDef, StackingConfig, EnsembleConfig, EnsembleRuleSet, CompiledEnsembleMember, CompiledEnsembleRuleSet, EnsembleOptions, MemberResult, EnsembleResult, EnsembleSummaryOptions, BayesianMemberConfig, FuzzyMemberConfig, MonteCarloMemberConfig, ExpertMemberConfig, ScoringMemberConfig } from './engines/ensemble';
58
58
  export { soundex, nysiis, caverphone2, cosineSimilarity } from './functions';
59
59
  export { BOEError, CompilationError, RuntimeError } from './core/errors';
60
60
  export type { ErrorContext } from './core/errors';
@@ -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 CHANGED
@@ -30,7 +30,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
30
30
  };
31
31
  Object.defineProperty(exports, "__esModule", { value: true });
32
32
  exports.UtilityStrategy = exports.SEMANTIC_WEIGHTS = exports.constraintStrategy = exports.compileConstraintRuleSet = exports.ConstraintStrategy = exports.stateMachineStrategy = exports.compileStateMachineDefinition = exports.compileStateMachine = exports.StateMachineStrategy = exports.monteCarloStrategy = exports.compileMonteCarloRuleSet = exports.MonteCarloStrategy = exports.SEMANTIC_LIKELIHOODS = exports.parseLikelihood = exports.bayesianStrategy = exports.compileBayesianRule = exports.compileBayesianRuleSet = exports.BayesianStrategy = exports.autoAdjustCoverage = exports.analyzeCoverage = exports.compileFuzzyVariable = exports.fuzzyStrategy = exports.compileFuzzyRuleSet = exports.FuzzyStrategy = exports.sequentialStrategy = exports.compileSequentialRuleSet = exports.SequentialStrategy = exports.createScoreFunction = exports.scoringStrategy = exports.compileScoringRuleSet = exports.ScoringStrategy = exports.backwardStrategy = exports.compileBackwardRuleSet = exports.BackwardChainingStrategy = exports.forwardStrategy = exports.compileForwardRule = exports.compileForwardRuleSet = exports.ForwardChainingStrategy = exports.EnsembleEngine = exports.PricingEngine = exports.UtilityEngine = exports.ConstraintEngine = exports.StateMachineEngine = exports.MonteCarloEngine = exports.BayesianEngine = exports.FuzzyEngine = exports.SequentialEngine = exports.ScoringEngine = exports.BackwardEngine = exports.ForwardEngine = void 0;
33
- exports.resolveDecayTimestamp = exports.calculateDecayMultiplier = exports.RuntimeError = exports.CompilationError = exports.BOEError = exports.cosineSimilarity = exports.caverphone2 = exports.nysiis = exports.soundex = exports.summarizeEnsemble = exports.ensembleStrategy = exports.compileEnsembleRuleSet = exports.EnsembleStrategy = exports.getCurrencyInfo = exports.CURRENCIES = exports.applyMinMax = exports.calculateDiscount = exports.round = exports.formatPercent = exports.formatNumber = exports.formatCurrency = exports.calculateVolume = exports.calculateGraduated = exports.calculateFlat = exports.pricingEngine = exports.pricingStrategy = exports.compilePricingRule = exports.compilePricingRuleSet = exports.PricingStrategy = exports.buildAvailableRefs = exports.hasInterpolation = exports.interpolate = exports.compileTemplate = exports.expertStrategy = exports.compileExpertRuleSet = exports.ExpertStrategy = exports.ExpertEngine = exports.compileDefeasibleRuleSet = exports.DefeasibleEngine = exports.utilityStrategy = exports.compileUtilityRule = exports.compileUtilityRuleSet = void 0;
33
+ exports.resolveDecayTimestamp = exports.calculateDecayMultiplier = exports.RuntimeError = exports.CompilationError = exports.BOEError = exports.cosineSimilarity = exports.caverphone2 = exports.nysiis = exports.soundex = exports.scoringMember = exports.expertMember = exports.monteCarloMember = exports.fuzzyMember = exports.bayesianMember = exports.summarizeEnsemble = exports.ensembleStrategy = exports.compileEnsembleRuleSet = exports.EnsembleStrategy = exports.getCurrencyInfo = exports.CURRENCIES = exports.applyMinMax = exports.calculateDiscount = exports.round = exports.formatPercent = exports.formatNumber = exports.formatCurrency = exports.calculateVolume = exports.calculateGraduated = exports.calculateFlat = exports.pricingEngine = exports.pricingStrategy = exports.compilePricingRule = exports.compilePricingRuleSet = exports.PricingStrategy = exports.buildAvailableRefs = exports.hasInterpolation = exports.interpolate = exports.compileTemplate = exports.expertStrategy = exports.compileExpertRuleSet = exports.ExpertStrategy = exports.ExpertEngine = exports.compileDefeasibleRuleSet = exports.DefeasibleEngine = exports.utilityStrategy = exports.compileUtilityRule = exports.compileUtilityRuleSet = void 0;
34
34
  // ========================================
35
35
  // Engines
36
36
  // ========================================
@@ -170,6 +170,11 @@ Object.defineProperty(exports, "EnsembleStrategy", { enumerable: true, get: func
170
170
  Object.defineProperty(exports, "compileEnsembleRuleSet", { enumerable: true, get: function () { return ensemble_2.compileEnsembleRuleSet; } });
171
171
  Object.defineProperty(exports, "ensembleStrategy", { enumerable: true, get: function () { return ensemble_2.ensembleStrategy; } });
172
172
  Object.defineProperty(exports, "summarizeEnsemble", { enumerable: true, get: function () { return ensemble_2.summarizeEnsemble; } });
173
+ Object.defineProperty(exports, "bayesianMember", { enumerable: true, get: function () { return ensemble_2.bayesianMember; } });
174
+ Object.defineProperty(exports, "fuzzyMember", { enumerable: true, get: function () { return ensemble_2.fuzzyMember; } });
175
+ Object.defineProperty(exports, "monteCarloMember", { enumerable: true, get: function () { return ensemble_2.monteCarloMember; } });
176
+ Object.defineProperty(exports, "expertMember", { enumerable: true, get: function () { return ensemble_2.expertMember; } });
177
+ Object.defineProperty(exports, "scoringMember", { enumerable: true, get: function () { return ensemble_2.scoringMember; } });
173
178
  // ========================================
174
179
  // Utility Functions (from old modules, re-exported for convenience)
175
180
  // ========================================
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.20",
3
+ "version": "1.0.21",
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",
@@ -33,3 +33,12 @@ export { EnsembleEngine } from './engine';
33
33
 
34
34
  // Summary
35
35
  export { summarizeEnsemble } from './summary';
36
+
37
+ // Member adapter factories
38
+ export {
39
+ bayesianMember, fuzzyMember, monteCarloMember, expertMember, scoringMember
40
+ } from './members';
41
+ export type {
42
+ BayesianMemberConfig, FuzzyMemberConfig, MonteCarloMemberConfig,
43
+ ExpertMemberConfig, ScoringMemberConfig
44
+ } from './members';
@@ -0,0 +1,156 @@
1
+ /**
2
+ * Ensemble Member Adapter Factories
3
+ *
4
+ * Factory functions that wrap non-scoring engines (Bayesian, Fuzzy, etc.)
5
+ * into CustomMemberDef or ScoringMemberDef for use in ensemble rulesets.
6
+ */
7
+
8
+ import type { FactInput } from '../../core';
9
+ import type { ScoreExtractor, ConfidenceExtractor, CustomMemberDef, ScoringMemberDef } from './types';
10
+ import type { CompiledBayesianRuleSet, BayesianOptions, BayesianResult } from '../bayesian';
11
+ import type { CompiledFuzzyRuleSet, FuzzyOptions, FuzzyResult } from '../fuzzy';
12
+ import type { CompiledMonteCarloRuleSet, MonteCarloOptions, MonteCarloResult } from '../monte-carlo';
13
+ import type { CompiledExpertRuleSet, ExpertOptions, ExpertResult } from '../expert';
14
+ import type { CompiledScoringRuleSet, ScoringOptions } from '../scoring/types';
15
+ import { BayesianEngine } from '../bayesian';
16
+ import { FuzzyEngine } from '../fuzzy';
17
+ import { MonteCarloEngine } from '../monte-carlo';
18
+ import { ExpertEngine } from '../expert';
19
+
20
+ // ========================================
21
+ // Config Types
22
+ // ========================================
23
+
24
+ export type BayesianMemberConfig = {
25
+ id: string;
26
+ name?: string;
27
+ weight: number;
28
+ ruleset: CompiledBayesianRuleSet;
29
+ extractScore: ScoreExtractor<BayesianResult>;
30
+ extractConfidence?: ConfidenceExtractor<BayesianResult>;
31
+ options?: BayesianOptions;
32
+ };
33
+
34
+ export type FuzzyMemberConfig = {
35
+ id: string;
36
+ name?: string;
37
+ weight: number;
38
+ ruleset: CompiledFuzzyRuleSet;
39
+ extractScore: ScoreExtractor<FuzzyResult>;
40
+ extractConfidence?: ConfidenceExtractor<FuzzyResult>;
41
+ options?: FuzzyOptions;
42
+ };
43
+
44
+ export type MonteCarloMemberConfig = {
45
+ id: string;
46
+ name?: string;
47
+ weight: number;
48
+ ruleset: CompiledMonteCarloRuleSet;
49
+ extractScore: ScoreExtractor<MonteCarloResult>;
50
+ extractConfidence?: ConfidenceExtractor<MonteCarloResult>;
51
+ options?: MonteCarloOptions;
52
+ };
53
+
54
+ export type ExpertMemberConfig = {
55
+ id: string;
56
+ name?: string;
57
+ weight: number;
58
+ ruleset: CompiledExpertRuleSet;
59
+ extractScore: ScoreExtractor<ExpertResult>;
60
+ extractConfidence?: ConfidenceExtractor<ExpertResult>;
61
+ options?: ExpertOptions;
62
+ };
63
+
64
+ export type ScoringMemberConfig = {
65
+ id: string;
66
+ name?: string;
67
+ weight: number;
68
+ ruleset: CompiledScoringRuleSet;
69
+ options?: ScoringOptions;
70
+ };
71
+
72
+ // ========================================
73
+ // Factory Functions
74
+ // ========================================
75
+
76
+ /** Wrap a Bayesian engine as an ensemble member. Default confidence uses result.confidence. */
77
+ export function bayesianMember(config: BayesianMemberConfig): CustomMemberDef {
78
+ const {
79
+ id, name, weight, ruleset, extractScore,
80
+ extractConfidence = (r: BayesianResult) => r.confidence,
81
+ options
82
+ } = config;
83
+ return {
84
+ id, name, weight,
85
+ execute: (facts: FactInput[]) => {
86
+ const engine = new BayesianEngine();
87
+ for (const f of facts) engine.add(f);
88
+ return engine.execute(ruleset, options);
89
+ },
90
+ extractScore,
91
+ extractConfidence
92
+ };
93
+ }
94
+
95
+ /** Wrap a Fuzzy engine as an ensemble member. Default confidence is 1.0 (outputs are crisp). */
96
+ export function fuzzyMember(config: FuzzyMemberConfig): CustomMemberDef {
97
+ const {
98
+ id, name, weight, ruleset, extractScore,
99
+ extractConfidence = () => 1.0,
100
+ options
101
+ } = config;
102
+ return {
103
+ id, name, weight,
104
+ execute: (facts: FactInput[]) => {
105
+ const engine = new FuzzyEngine();
106
+ for (const f of facts) engine.add(f);
107
+ return engine.execute(ruleset, options);
108
+ },
109
+ extractScore,
110
+ extractConfidence
111
+ };
112
+ }
113
+
114
+ /** Wrap a Monte Carlo engine as an ensemble member. Default confidence is 1.0 (domain-specific). */
115
+ export function monteCarloMember(config: MonteCarloMemberConfig): CustomMemberDef {
116
+ const {
117
+ id, name, weight, ruleset, extractScore,
118
+ extractConfidence = () => 1.0,
119
+ options
120
+ } = config;
121
+ return {
122
+ id, name, weight,
123
+ execute: (facts: FactInput[]) => {
124
+ const engine = new MonteCarloEngine();
125
+ for (const f of facts) engine.add(f);
126
+ return engine.execute(ruleset, options);
127
+ },
128
+ extractScore,
129
+ extractConfidence
130
+ };
131
+ }
132
+
133
+ /** Wrap an Expert engine as an ensemble member. Default confidence is 1.0 (per-conclusion only). */
134
+ export function expertMember(config: ExpertMemberConfig): CustomMemberDef {
135
+ const {
136
+ id, name, weight, ruleset, extractScore,
137
+ extractConfidence = () => 1.0,
138
+ options
139
+ } = config;
140
+ return {
141
+ id, name, weight,
142
+ execute: (facts: FactInput[]) => {
143
+ const engine = new ExpertEngine();
144
+ for (const f of facts) engine.add(f);
145
+ return engine.execute(ruleset, options);
146
+ },
147
+ extractScore,
148
+ extractConfidence
149
+ };
150
+ }
151
+
152
+ /** Shorthand for creating a ScoringMemberDef. Consistency helper, no wrapping needed. */
153
+ export function scoringMember(config: ScoringMemberConfig): ScoringMemberDef {
154
+ const { id, name, weight, ruleset, options } = config;
155
+ return { id, name, weight, ruleset, options };
156
+ }
package/src/index.ts CHANGED
@@ -385,7 +385,8 @@ export {
385
385
  EnsembleStrategy,
386
386
  compileEnsembleRuleSet,
387
387
  ensembleStrategy,
388
- summarizeEnsemble
388
+ summarizeEnsemble,
389
+ bayesianMember, fuzzyMember, monteCarloMember, expertMember, scoringMember
389
390
  } from './engines/ensemble';
390
391
  export type {
391
392
  FusionStrategy,
@@ -403,7 +404,9 @@ export type {
403
404
  EnsembleOptions,
404
405
  MemberResult,
405
406
  EnsembleResult,
406
- EnsembleSummaryOptions
407
+ EnsembleSummaryOptions,
408
+ BayesianMemberConfig, FuzzyMemberConfig, MonteCarloMemberConfig,
409
+ ExpertMemberConfig, ScoringMemberConfig
407
410
  } from './engines/ensemble';
408
411
 
409
412
  // ========================================