@higher.archi/boe 1.0.30 → 1.0.31

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.
Files changed (226) hide show
  1. package/dist/core/evaluation/decay.d.ts +13 -2
  2. package/dist/core/evaluation/decay.d.ts.map +1 -1
  3. package/dist/core/evaluation/decay.js +24 -0
  4. package/dist/core/evaluation/decay.js.map +1 -1
  5. package/dist/core/types/rule.d.ts +25 -1
  6. package/dist/core/types/rule.d.ts.map +1 -1
  7. package/dist/core/types/rule.js +28 -0
  8. package/dist/core/types/rule.js.map +1 -1
  9. package/dist/engines/bayesian/index.d.ts +1 -1
  10. package/dist/engines/bayesian/index.d.ts.map +1 -1
  11. package/dist/engines/bayesian/index.js +2 -1
  12. package/dist/engines/bayesian/index.js.map +1 -1
  13. package/dist/engines/bayesian/types.d.ts +10 -1
  14. package/dist/engines/bayesian/types.d.ts.map +1 -1
  15. package/dist/engines/bayesian/types.js +16 -1
  16. package/dist/engines/bayesian/types.js.map +1 -1
  17. package/dist/engines/constraint/types.d.ts +36 -5
  18. package/dist/engines/constraint/types.d.ts.map +1 -1
  19. package/dist/engines/constraint/types.js +44 -1
  20. package/dist/engines/constraint/types.js.map +1 -1
  21. package/dist/engines/decay/index.d.ts +1 -1
  22. package/dist/engines/decay/index.d.ts.map +1 -1
  23. package/dist/engines/decay/index.js +5 -1
  24. package/dist/engines/decay/index.js.map +1 -1
  25. package/dist/engines/decay/types.d.ts +26 -4
  26. package/dist/engines/decay/types.d.ts.map +1 -1
  27. package/dist/engines/decay/types.js +30 -1
  28. package/dist/engines/decay/types.js.map +1 -1
  29. package/dist/engines/defeasible/index.d.ts +1 -1
  30. package/dist/engines/defeasible/index.d.ts.map +1 -1
  31. package/dist/engines/defeasible/index.js +8 -1
  32. package/dist/engines/defeasible/index.js.map +1 -1
  33. package/dist/engines/defeasible/types.d.ts +40 -5
  34. package/dist/engines/defeasible/types.d.ts.map +1 -1
  35. package/dist/engines/defeasible/types.js +56 -1
  36. package/dist/engines/defeasible/types.js.map +1 -1
  37. package/dist/engines/ensemble/index.d.ts +1 -0
  38. package/dist/engines/ensemble/index.d.ts.map +1 -1
  39. package/dist/engines/ensemble/index.js +5 -1
  40. package/dist/engines/ensemble/index.js.map +1 -1
  41. package/dist/engines/ensemble/types.d.ts +17 -2
  42. package/dist/engines/ensemble/types.d.ts.map +1 -1
  43. package/dist/engines/ensemble/types.js +23 -0
  44. package/dist/engines/ensemble/types.js.map +1 -1
  45. package/dist/engines/expert/index.d.ts +1 -1
  46. package/dist/engines/expert/index.d.ts.map +1 -1
  47. package/dist/engines/expert/index.js +3 -1
  48. package/dist/engines/expert/index.js.map +1 -1
  49. package/dist/engines/expert/types.d.ts +11 -1
  50. package/dist/engines/expert/types.d.ts.map +1 -1
  51. package/dist/engines/expert/types.js +18 -1
  52. package/dist/engines/expert/types.js.map +1 -1
  53. package/dist/engines/fuzzy/fuzzy.types.d.ts +65 -8
  54. package/dist/engines/fuzzy/fuzzy.types.d.ts.map +1 -1
  55. package/dist/engines/fuzzy/fuzzy.types.js +89 -1
  56. package/dist/engines/fuzzy/fuzzy.types.js.map +1 -1
  57. package/dist/engines/loyalty/index.d.ts +1 -0
  58. package/dist/engines/loyalty/index.d.ts.map +1 -1
  59. package/dist/engines/loyalty/index.js +8 -1
  60. package/dist/engines/loyalty/index.js.map +1 -1
  61. package/dist/engines/loyalty/types.d.ts +36 -5
  62. package/dist/engines/loyalty/types.d.ts.map +1 -1
  63. package/dist/engines/loyalty/types.js +40 -0
  64. package/dist/engines/loyalty/types.js.map +1 -1
  65. package/dist/engines/menu-engineering/compiler.d.ts +11 -0
  66. package/dist/engines/menu-engineering/compiler.d.ts.map +1 -0
  67. package/dist/engines/menu-engineering/compiler.js +119 -0
  68. package/dist/engines/menu-engineering/compiler.js.map +1 -0
  69. package/dist/engines/menu-engineering/engine.d.ts +32 -0
  70. package/dist/engines/menu-engineering/engine.d.ts.map +1 -0
  71. package/dist/engines/menu-engineering/engine.js +40 -0
  72. package/dist/engines/menu-engineering/engine.js.map +1 -0
  73. package/dist/engines/menu-engineering/index.d.ts +9 -0
  74. package/dist/engines/menu-engineering/index.d.ts.map +1 -0
  75. package/dist/engines/menu-engineering/index.js +21 -0
  76. package/dist/engines/menu-engineering/index.js.map +1 -0
  77. package/dist/engines/menu-engineering/strategy.d.ts +18 -0
  78. package/dist/engines/menu-engineering/strategy.d.ts.map +1 -0
  79. package/dist/engines/menu-engineering/strategy.js +318 -0
  80. package/dist/engines/menu-engineering/strategy.js.map +1 -0
  81. package/dist/engines/menu-engineering/types.d.ts +187 -0
  82. package/dist/engines/menu-engineering/types.d.ts.map +1 -0
  83. package/dist/engines/menu-engineering/types.js +27 -0
  84. package/dist/engines/menu-engineering/types.js.map +1 -0
  85. package/dist/engines/monte-carlo/index.d.ts +1 -1
  86. package/dist/engines/monte-carlo/index.d.ts.map +1 -1
  87. package/dist/engines/monte-carlo/index.js +5 -1
  88. package/dist/engines/monte-carlo/index.js.map +1 -1
  89. package/dist/engines/monte-carlo/types.d.ts +16 -1
  90. package/dist/engines/monte-carlo/types.d.ts.map +1 -1
  91. package/dist/engines/monte-carlo/types.js +23 -1
  92. package/dist/engines/monte-carlo/types.js.map +1 -1
  93. package/dist/engines/negotiation/index.d.ts +1 -0
  94. package/dist/engines/negotiation/index.d.ts.map +1 -1
  95. package/dist/engines/negotiation/index.js +7 -1
  96. package/dist/engines/negotiation/index.js.map +1 -1
  97. package/dist/engines/negotiation/types.d.ts +23 -4
  98. package/dist/engines/negotiation/types.d.ts.map +1 -1
  99. package/dist/engines/negotiation/types.js +27 -0
  100. package/dist/engines/negotiation/types.js.map +1 -1
  101. package/dist/engines/prediction/index.d.ts +1 -1
  102. package/dist/engines/prediction/index.d.ts.map +1 -1
  103. package/dist/engines/prediction/index.js +6 -1
  104. package/dist/engines/prediction/index.js.map +1 -1
  105. package/dist/engines/prediction/types.d.ts +35 -5
  106. package/dist/engines/prediction/types.d.ts.map +1 -1
  107. package/dist/engines/prediction/types.js +39 -1
  108. package/dist/engines/prediction/types.js.map +1 -1
  109. package/dist/engines/pricing/index.d.ts +2 -2
  110. package/dist/engines/pricing/index.d.ts.map +1 -1
  111. package/dist/engines/pricing/index.js +3 -1
  112. package/dist/engines/pricing/index.js.map +1 -1
  113. package/dist/engines/pricing/types.d.ts +15 -1
  114. package/dist/engines/pricing/types.d.ts.map +1 -1
  115. package/dist/engines/pricing/types.js +16 -1
  116. package/dist/engines/pricing/types.js.map +1 -1
  117. package/dist/engines/ranking/index.d.ts +1 -1
  118. package/dist/engines/ranking/index.d.ts.map +1 -1
  119. package/dist/engines/ranking/index.js +6 -1
  120. package/dist/engines/ranking/index.js.map +1 -1
  121. package/dist/engines/ranking/types.d.ts +32 -5
  122. package/dist/engines/ranking/types.d.ts.map +1 -1
  123. package/dist/engines/ranking/types.js +36 -1
  124. package/dist/engines/ranking/types.js.map +1 -1
  125. package/dist/engines/recipe-costing/compiler.d.ts +11 -0
  126. package/dist/engines/recipe-costing/compiler.d.ts.map +1 -0
  127. package/dist/engines/recipe-costing/compiler.js +177 -0
  128. package/dist/engines/recipe-costing/compiler.js.map +1 -0
  129. package/dist/engines/recipe-costing/engine.d.ts +32 -0
  130. package/dist/engines/recipe-costing/engine.d.ts.map +1 -0
  131. package/dist/engines/recipe-costing/engine.js +40 -0
  132. package/dist/engines/recipe-costing/engine.js.map +1 -0
  133. package/dist/engines/recipe-costing/index.d.ts +9 -0
  134. package/dist/engines/recipe-costing/index.d.ts.map +1 -0
  135. package/dist/engines/recipe-costing/index.js +21 -0
  136. package/dist/engines/recipe-costing/index.js.map +1 -0
  137. package/dist/engines/recipe-costing/strategy.d.ts +20 -0
  138. package/dist/engines/recipe-costing/strategy.d.ts.map +1 -0
  139. package/dist/engines/recipe-costing/strategy.js +265 -0
  140. package/dist/engines/recipe-costing/strategy.js.map +1 -0
  141. package/dist/engines/recipe-costing/types.d.ts +213 -0
  142. package/dist/engines/recipe-costing/types.d.ts.map +1 -0
  143. package/dist/engines/recipe-costing/types.js +36 -0
  144. package/dist/engines/recipe-costing/types.js.map +1 -0
  145. package/dist/engines/scoring/index.d.ts +1 -1
  146. package/dist/engines/scoring/index.d.ts.map +1 -1
  147. package/dist/engines/scoring/index.js +3 -1
  148. package/dist/engines/scoring/index.js.map +1 -1
  149. package/dist/engines/scoring/types.d.ts +8 -1
  150. package/dist/engines/scoring/types.d.ts.map +1 -1
  151. package/dist/engines/scoring/types.js +18 -1
  152. package/dist/engines/scoring/types.js.map +1 -1
  153. package/dist/engines/sentiment/index.d.ts +1 -1
  154. package/dist/engines/sentiment/index.d.ts.map +1 -1
  155. package/dist/engines/sentiment/index.js +3 -1
  156. package/dist/engines/sentiment/index.js.map +1 -1
  157. package/dist/engines/sentiment/types.d.ts +13 -2
  158. package/dist/engines/sentiment/types.d.ts.map +1 -1
  159. package/dist/engines/sentiment/types.js +17 -1
  160. package/dist/engines/sentiment/types.js.map +1 -1
  161. package/dist/engines/state-machine/index.d.ts +1 -1
  162. package/dist/engines/state-machine/index.d.ts.map +1 -1
  163. package/dist/engines/state-machine/index.js +5 -1
  164. package/dist/engines/state-machine/index.js.map +1 -1
  165. package/dist/engines/state-machine/types.d.ts +7 -0
  166. package/dist/engines/state-machine/types.d.ts.map +1 -1
  167. package/dist/engines/state-machine/types.js +14 -0
  168. package/dist/engines/state-machine/types.js.map +1 -1
  169. package/dist/engines/utility/index.d.ts +2 -2
  170. package/dist/engines/utility/index.d.ts.map +1 -1
  171. package/dist/engines/utility/index.js +4 -1
  172. package/dist/engines/utility/index.js.map +1 -1
  173. package/dist/engines/utility/types.d.ts +21 -3
  174. package/dist/engines/utility/types.d.ts.map +1 -1
  175. package/dist/engines/utility/types.js +37 -1
  176. package/dist/engines/utility/types.js.map +1 -1
  177. package/dist/index.d.ts +28 -22
  178. package/dist/index.d.ts.map +1 -1
  179. package/dist/index.js +73 -3
  180. package/dist/index.js.map +1 -1
  181. package/package.json +1 -1
  182. package/src/core/evaluation/decay.ts +13 -2
  183. package/src/core/types/rule.ts +25 -1
  184. package/src/engines/bayesian/index.ts +1 -0
  185. package/src/engines/bayesian/types.ts +10 -8
  186. package/src/engines/constraint/types.ts +40 -11
  187. package/src/engines/decay/index.ts +4 -0
  188. package/src/engines/decay/types.ts +26 -4
  189. package/src/engines/defeasible/index.ts +7 -0
  190. package/src/engines/defeasible/types.ts +42 -18
  191. package/src/engines/ensemble/index.ts +6 -0
  192. package/src/engines/ensemble/types.ts +17 -13
  193. package/src/engines/expert/index.ts +1 -0
  194. package/src/engines/expert/types.ts +11 -9
  195. package/src/engines/fuzzy/fuzzy.types.ts +65 -31
  196. package/src/engines/loyalty/index.ts +9 -0
  197. package/src/engines/loyalty/types.ts +36 -5
  198. package/src/engines/menu-engineering/compiler.ts +145 -0
  199. package/src/engines/menu-engineering/engine.ts +48 -0
  200. package/src/engines/menu-engineering/index.ts +47 -0
  201. package/src/engines/menu-engineering/strategy.ts +414 -0
  202. package/src/engines/menu-engineering/types.ts +242 -0
  203. package/src/engines/monte-carlo/index.ts +1 -0
  204. package/src/engines/monte-carlo/types.ts +16 -21
  205. package/src/engines/negotiation/index.ts +8 -0
  206. package/src/engines/negotiation/types.ts +23 -4
  207. package/src/engines/prediction/index.ts +5 -0
  208. package/src/engines/prediction/types.ts +35 -5
  209. package/src/engines/pricing/index.ts +3 -1
  210. package/src/engines/pricing/types.ts +17 -1
  211. package/src/engines/ranking/index.ts +5 -0
  212. package/src/engines/ranking/types.ts +32 -11
  213. package/src/engines/recipe-costing/compiler.ts +219 -0
  214. package/src/engines/recipe-costing/engine.ts +48 -0
  215. package/src/engines/recipe-costing/index.ts +48 -0
  216. package/src/engines/recipe-costing/strategy.ts +357 -0
  217. package/src/engines/recipe-costing/types.ts +269 -0
  218. package/src/engines/scoring/index.ts +2 -0
  219. package/src/engines/scoring/types.ts +8 -6
  220. package/src/engines/sentiment/index.ts +2 -0
  221. package/src/engines/sentiment/types.ts +13 -2
  222. package/src/engines/state-machine/index.ts +3 -0
  223. package/src/engines/state-machine/types.ts +8 -0
  224. package/src/engines/utility/index.ts +5 -0
  225. package/src/engines/utility/types.ts +23 -3
  226. package/src/index.ts +146 -8
@@ -17,6 +17,14 @@ import {
17
17
  * Action to execute on state entry, exit, or during transition.
18
18
  * Uses the same familiar syntax as forward chaining actions.
19
19
  */
20
+ export const ActionTypes = {
21
+ set: 'set',
22
+ emit: 'emit',
23
+ call: 'call',
24
+ log: 'log',
25
+ } as const;
26
+ export type ActionType = typeof ActionTypes[keyof typeof ActionTypes];
27
+
20
28
  export type StateMachineActionItem =
21
29
  | { set: Record<string, any> } // Set context properties: { set: { paidAt: '$now' } }
22
30
  | { emit: string; data?: Record<string, any> } // Emit event: { emit: 'OrderPaid', data: { orderId: '$context.orderId' } }
@@ -14,6 +14,8 @@
14
14
  export type {
15
15
  // Semantic priority types
16
16
  SemanticPriority,
17
+ NormalizationMethod,
18
+ UtilityAggregation,
17
19
  // Criterion types
18
20
  UtilityCriterion,
19
21
  CompiledUtilityCriterion,
@@ -33,6 +35,9 @@ export type {
33
35
 
34
36
  // Semantic priority utilities
35
37
  export {
38
+ SemanticPriorities,
39
+ NormalizationMethods,
40
+ UtilityAggregations,
36
41
  SEMANTIC_PRIORITY_VALUES,
37
42
  isSemanticPriority
38
43
  } from './types';
@@ -33,7 +33,14 @@ import {
33
33
  * }
34
34
  * ```
35
35
  */
36
- export type SemanticPriority = 'critical' | 'high' | 'medium' | 'low' | 'not-important';
36
+ export const SemanticPriorities = {
37
+ critical: 'critical',
38
+ high: 'high',
39
+ medium: 'medium',
40
+ low: 'low',
41
+ notImportant: 'not-important',
42
+ } as const;
43
+ export type SemanticPriority = typeof SemanticPriorities[keyof typeof SemanticPriorities];
37
44
 
38
45
  /**
39
46
  * Base numeric values for semantic priorities (before normalization).
@@ -133,10 +140,23 @@ export type UtilityRule = BaseRule & {
133
140
  /**
134
141
  * Utility ruleset configuration
135
142
  */
143
+ export const NormalizationMethods = {
144
+ minMax: 'min-max',
145
+ zScore: 'z-score',
146
+ none: 'none',
147
+ } as const;
148
+ export type NormalizationMethod = typeof NormalizationMethods[keyof typeof NormalizationMethods];
149
+
150
+ export const UtilityAggregations = {
151
+ weightedSum: 'weighted-sum',
152
+ weightedProduct: 'weighted-product',
153
+ } as const;
154
+ export type UtilityAggregation = typeof UtilityAggregations[keyof typeof UtilityAggregations];
155
+
136
156
  export type UtilityConfig = {
137
157
  mode: 'utility';
138
- normalization: 'min-max' | 'z-score' | 'none';
139
- aggregation: 'weighted-sum' | 'weighted-product';
158
+ normalization: NormalizationMethod;
159
+ aggregation: UtilityAggregation;
140
160
  };
141
161
 
142
162
  /**
package/src/index.ts CHANGED
@@ -35,6 +35,8 @@ export { SentimentEngine } from './engines/sentiment';
35
35
  export { NegotiationEngine } from './engines/negotiation';
36
36
  export { DecayEngine } from './engines/decay';
37
37
  export { LoyaltyEngine } from './engines/loyalty';
38
+ export { MenuEngineeringEngine } from './engines/menu-engineering';
39
+ export { RecipeCostingEngine } from './engines/recipe-costing';
38
40
 
39
41
  // ========================================
40
42
  // Core Types & Utilities
@@ -87,7 +89,8 @@ export {
87
89
  ScoringStrategy,
88
90
  compileScoringRuleSet,
89
91
  scoringStrategy,
90
- createScoreFunction
92
+ createScoreFunction,
93
+ ScoringMethods
91
94
  } from './engines/scoring';
92
95
  export type {
93
96
  ScoringRule,
@@ -166,6 +169,7 @@ export {
166
169
  compileBayesianRule,
167
170
  bayesianStrategy,
168
171
  parseLikelihood,
172
+ SemanticLikelihoods,
169
173
  SEMANTIC_LIKELIHOODS
170
174
  } from './engines/bayesian';
171
175
  export type {
@@ -189,7 +193,8 @@ export type {
189
193
  export {
190
194
  MonteCarloStrategy,
191
195
  compileMonteCarloRuleSet,
192
- monteCarloStrategy
196
+ monteCarloStrategy,
197
+ EstimateTypes
193
198
  } from './engines/monte-carlo';
194
199
  export type {
195
200
  MonteCarloVariable,
@@ -207,9 +212,11 @@ export {
207
212
  StateMachineStrategy,
208
213
  compileStateMachine,
209
214
  compileStateMachineDefinition,
210
- stateMachineStrategy
215
+ stateMachineStrategy,
216
+ ActionTypes
211
217
  } from './engines/state-machine';
212
218
  export type {
219
+ ActionType,
213
220
  StateMachineDefinition,
214
221
  StateMachineConfig,
215
222
  StateDefinition,
@@ -232,6 +239,10 @@ export type {
232
239
  Preference,
233
240
  PreferenceWeight,
234
241
  SemanticWeight,
242
+ ConstraintStrategyType,
243
+ VariableOrdering,
244
+ ValueOrdering,
245
+ OptimizeMode,
235
246
  ConstraintRuleSet,
236
247
  ConstraintConfig,
237
248
  CompiledConstraintRuleSet,
@@ -241,17 +252,29 @@ export type {
241
252
  ConstraintAllResult,
242
253
  ScoredSolution
243
254
  } from './engines/constraint';
244
- export { SEMANTIC_WEIGHTS } from './engines/constraint';
255
+ export {
256
+ SEMANTIC_WEIGHTS,
257
+ SemanticConstraintWeights,
258
+ ConstraintStrategies,
259
+ VariableOrderings,
260
+ ValueOrderings,
261
+ OptimizeModes
262
+ } from './engines/constraint';
245
263
 
246
264
  // Utility/MCDM
247
265
  export {
248
266
  UtilityStrategy,
249
267
  compileUtilityRuleSet,
250
268
  compileUtilityRule,
251
- utilityStrategy
269
+ utilityStrategy,
270
+ SemanticPriorities,
271
+ NormalizationMethods,
272
+ UtilityAggregations
252
273
  } from './engines/utility';
253
274
  export type {
254
275
  UtilityCriterion,
276
+ NormalizationMethod,
277
+ UtilityAggregation,
255
278
  UtilityRule,
256
279
  UtilityRuleSet,
257
280
  UtilityConfig,
@@ -269,9 +292,16 @@ export type {
269
292
  // Defeasible
270
293
  export {
271
294
  DefeasibleEngine,
272
- compileDefeasibleRuleSet
295
+ compileDefeasibleRuleSet,
296
+ RuleStrengths,
297
+ ConclusionStatuses,
298
+ SemanticDefeatStrengths,
299
+ SemanticCredibilityLevels,
300
+ DefeasibleAggregations,
301
+ ConflictResolutions
273
302
  } from './engines/defeasible';
274
303
  export type {
304
+ ConflictResolution,
275
305
  DefeasibleRule,
276
306
  DefeasibleRuleSet,
277
307
  DefeasibleConfig,
@@ -286,6 +316,7 @@ export {
286
316
  ExpertStrategy,
287
317
  compileExpertRuleSet,
288
318
  expertStrategy,
319
+ SemanticConfidences,
289
320
  compileTemplate,
290
321
  interpolate,
291
322
  hasInterpolation,
@@ -329,6 +360,9 @@ export {
329
360
  round,
330
361
  calculateDiscount,
331
362
  applyMinMax,
363
+ // Constants
364
+ PricingModeNames,
365
+ MetricFormats,
332
366
  // Currency utilities
333
367
  CURRENCIES,
334
368
  getCurrencyInfo
@@ -337,6 +371,8 @@ export type {
337
371
  // Currency types
338
372
  CurrencyCode,
339
373
  CurrencyInfo,
374
+ PricingModeName,
375
+ MetricFormat,
340
376
  // Rule types
341
377
  PricingRule,
342
378
  PricingRuleSet,
@@ -390,6 +426,8 @@ export {
390
426
  compileEnsembleRuleSet,
391
427
  ensembleStrategy,
392
428
  summarizeEnsemble,
429
+ FusionStrategies,
430
+ AgreementLevels,
393
431
  bayesianMember, fuzzyMember, monteCarloMember, expertMember, scoringMember
394
432
  } from './engines/ensemble';
395
433
  export type {
@@ -419,6 +457,11 @@ export {
419
457
  RankingExecutor,
420
458
  compileRankingRuleSet,
421
459
  rankingStrategy,
460
+ RankingStrategies,
461
+ RankingDirections,
462
+ PercentileLabels,
463
+ Movements,
464
+ KFactorPresets,
422
465
  K_FACTOR_VALUES,
423
466
  isKFactorPreset,
424
467
  resolvePercentileLabel,
@@ -455,6 +498,11 @@ export {
455
498
  PredictionExecutor,
456
499
  compilePredictionRuleSet,
457
500
  predictionStrategy,
501
+ PredictionStrategies,
502
+ TrendDirections,
503
+ SmoothingPresets,
504
+ HorizonPresets,
505
+ ConfidenceBrackets,
458
506
  SMOOTHING_PRESET_VALUES,
459
507
  HORIZON_PRESET_VALUES,
460
508
  isSmoothingPreset,
@@ -493,6 +541,8 @@ export {
493
541
  SentimentExecutor,
494
542
  compileSentimentRuleSet,
495
543
  sentimentStrategy,
544
+ SentimentStrategies,
545
+ SentimentLabels,
496
546
  SENTIMENT_DEFAULTS,
497
547
  resolveSentimentLabel
498
548
  } from './engines/sentiment';
@@ -523,7 +573,11 @@ export type {
523
573
  export {
524
574
  NegotiationExecutor,
525
575
  compileNegotiationRuleSet,
526
- negotiationStrategy
576
+ negotiationStrategy,
577
+ NegotiationStrategies,
578
+ ConcessionStyles,
579
+ DealOutcomes,
580
+ DimensionDirections
527
581
  } from './engines/negotiation';
528
582
  export type {
529
583
  NegotiationStrategy,
@@ -559,6 +613,10 @@ export {
559
613
  DecayExecutor,
560
614
  compileDecayRuleSet,
561
615
  decayStrategy,
616
+ DecayStrategies,
617
+ UrgencyTiers,
618
+ ReEngagementEffects,
619
+ DecayAggregations,
562
620
  URGENCY_THRESHOLDS,
563
621
  resolveUrgencyTier
564
622
  } from './engines/decay';
@@ -590,7 +648,12 @@ export type {
590
648
  export {
591
649
  LoyaltyExecutor,
592
650
  compileLoyaltyRuleSet,
593
- loyaltyStrategy
651
+ loyaltyStrategy,
652
+ LoyaltyStrategies,
653
+ PointTransactionTypes,
654
+ TierStatuses,
655
+ QualifyingMetrics,
656
+ EvaluationPeriods
594
657
  } from './engines/loyalty';
595
658
  export type {
596
659
  LoyaltyStrategy,
@@ -622,6 +685,79 @@ export type {
622
685
  LoyaltyIngestResult
623
686
  } from './engines/loyalty';
624
687
 
688
+ // Menu Engineering
689
+ export {
690
+ MenuEngineeringExecutor,
691
+ compileMenuEngineeringRuleSet,
692
+ menuEngineeringStrategy,
693
+ MenuEngineeringStrategies,
694
+ MenuClassifications
695
+ } from './engines/menu-engineering';
696
+ export type {
697
+ MenuEngineeringStrategy,
698
+ MenuClassification,
699
+ MenuItem,
700
+ PriceElasticity,
701
+ PriceChange,
702
+ ClassifyConfig,
703
+ PriceOptimizationConfig,
704
+ MixAnalysisConfig,
705
+ ClassifyRuleSet,
706
+ PriceOptimizationRuleSet,
707
+ MixAnalysisRuleSet,
708
+ MenuEngineeringRuleSet,
709
+ CompiledClassifyRuleSet,
710
+ CompiledPriceOptimizationRuleSet,
711
+ CompiledMixAnalysisRuleSet,
712
+ CompiledMenuEngineeringRuleSet,
713
+ ClassifiedItem,
714
+ MenuSummary,
715
+ PriceOptimizationItem,
716
+ CategoryMixResult,
717
+ ClassifyResult,
718
+ PriceOptimizationResult,
719
+ MixAnalysisResult,
720
+ MenuEngineeringResult,
721
+ MenuEngineeringOptions
722
+ } from './engines/menu-engineering';
723
+
724
+ // Recipe Costing
725
+ export {
726
+ RecipeCostingExecutor,
727
+ compileRecipeCostingRuleSet,
728
+ recipeCostingStrategy,
729
+ RecipeCostingStrategies,
730
+ MeasurementUnits
731
+ } from './engines/recipe-costing';
732
+ export type {
733
+ RecipeCostingStrategy,
734
+ MeasurementUnit,
735
+ Ingredient,
736
+ RecipeComponent,
737
+ Recipe,
738
+ CostChange,
739
+ PlateCostConfig,
740
+ MarginAnalysisConfig,
741
+ CostImpactConfig,
742
+ PlateCostRuleSet,
743
+ MarginAnalysisRuleSet,
744
+ CostImpactRuleSet,
745
+ RecipeCostingRuleSet,
746
+ CompiledPlateCostRuleSet,
747
+ CompiledMarginAnalysisRuleSet,
748
+ CompiledCostImpactRuleSet,
749
+ CompiledRecipeCostingRuleSet,
750
+ IngredientCostBreakdown,
751
+ SubRecipeCostBreakdown,
752
+ RecipeCostResult,
753
+ CostImpactItem,
754
+ PlateCostResult,
755
+ MarginAnalysisResult as RecipeMarginAnalysisResult,
756
+ CostImpactResult,
757
+ RecipeCostingResult,
758
+ RecipeCostingOptions
759
+ } from './engines/recipe-costing';
760
+
625
761
  // ========================================
626
762
  // Utility Functions (from old modules, re-exported for convenience)
627
763
  // ========================================
@@ -634,6 +770,8 @@ export type { ErrorContext } from './core/errors';
634
770
 
635
771
  // Temporal Decay (re-exported from core for convenience)
636
772
  export {
773
+ DecayCurves,
774
+ DecayTimeUnits,
637
775
  calculateDecayMultiplier,
638
776
  resolveDecayTimestamp
639
777
  } from './core/evaluation/decay';