trigger_system 1.2.0 → 1.2.4

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 (123) hide show
  1. package/dist/browser/index.browser.js +185 -42
  2. package/dist/browser/index.browser.js.map +116 -17
  3. package/dist/core/action-registry.d.ts +29 -3
  4. package/dist/core/action-registry.d.ts.map +1 -1
  5. package/dist/core/base-engine.d.ts +3 -3
  6. package/dist/core/constants.d.ts +95 -0
  7. package/dist/core/constants.d.ts.map +1 -0
  8. package/dist/core/dependency-graph/analyzer.d.ts +60 -0
  9. package/dist/core/dependency-graph/analyzer.d.ts.map +1 -0
  10. package/dist/core/dependency-graph/builder.d.ts +28 -0
  11. package/dist/core/dependency-graph/builder.d.ts.map +1 -0
  12. package/dist/core/dependency-graph/cycles.d.ts +28 -0
  13. package/dist/core/dependency-graph/cycles.d.ts.map +1 -0
  14. package/dist/core/dependency-graph/index.d.ts +11 -0
  15. package/dist/core/dependency-graph/index.d.ts.map +1 -0
  16. package/dist/core/dependency-graph/types.d.ts +72 -0
  17. package/dist/core/dependency-graph/types.d.ts.map +1 -0
  18. package/dist/core/dependency-graph/utils.d.ts +39 -0
  19. package/dist/core/dependency-graph/utils.d.ts.map +1 -0
  20. package/dist/core/dependency-graph/validator.d.ts +28 -0
  21. package/dist/core/dependency-graph/validator.d.ts.map +1 -0
  22. package/dist/core/dependency-graph.d.ts +64 -13
  23. package/dist/core/dependency-graph.d.ts.map +1 -1
  24. package/dist/core/engine-utils.d.ts +45 -0
  25. package/dist/core/engine-utils.d.ts.map +1 -0
  26. package/dist/core/engine.d.ts +0 -8
  27. package/dist/core/engine.d.ts.map +1 -1
  28. package/dist/core/expression-engine.d.ts +52 -10
  29. package/dist/core/expression-engine.d.ts.map +1 -1
  30. package/dist/core/index.d.ts +2 -4
  31. package/dist/core/index.d.ts.map +1 -1
  32. package/dist/core/operators.d.ts +48 -0
  33. package/dist/core/operators.d.ts.map +1 -0
  34. package/dist/core/persistence-browser.d.ts +25 -2
  35. package/dist/core/persistence-browser.d.ts.map +1 -1
  36. package/dist/core/persistence.node.d.ts +25 -2
  37. package/dist/core/persistence.node.d.ts.map +1 -1
  38. package/dist/core/rule-engine-new.d.ts +2 -1
  39. package/dist/core/rule-engine-new.d.ts.map +1 -1
  40. package/dist/core/rule-engine.d.ts +22 -35
  41. package/dist/core/rule-engine.d.ts.map +1 -1
  42. package/dist/core/trigger-engine.d.ts +18 -25
  43. package/dist/core/trigger-engine.d.ts.map +1 -1
  44. package/dist/domain/validator.d.ts +36043 -5067
  45. package/dist/domain/validator.d.ts.map +1 -1
  46. package/dist/index.browser.d.ts +1 -0
  47. package/dist/index.browser.d.ts.map +1 -1
  48. package/dist/index.d.ts +1 -0
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/io/index.d.ts +6 -1
  51. package/dist/io/index.d.ts.map +1 -1
  52. package/dist/io/loader/index.d.ts +48 -0
  53. package/dist/io/loader/index.d.ts.map +1 -0
  54. package/dist/io/loader/persistence.d.ts +41 -0
  55. package/dist/io/loader/persistence.d.ts.map +1 -0
  56. package/dist/io/loader/query.d.ts +49 -0
  57. package/dist/io/loader/query.d.ts.map +1 -0
  58. package/dist/io/loader/registry.d.ts +91 -0
  59. package/dist/io/loader/registry.d.ts.map +1 -0
  60. package/dist/io/loader/types.d.ts +32 -0
  61. package/dist/io/loader/types.d.ts.map +1 -0
  62. package/dist/io/loader/watch.d.ts +36 -0
  63. package/dist/io/loader/watch.d.ts.map +1 -0
  64. package/dist/io/loader.node.d.ts +1 -13
  65. package/dist/io/loader.node.d.ts.map +1 -1
  66. package/dist/lsp/hover-constants.d.ts +42 -0
  67. package/dist/lsp/hover-constants.d.ts.map +1 -0
  68. package/dist/lsp/server.bundle.d.ts +2 -0
  69. package/dist/lsp/server.bundle.d.ts.map +1 -0
  70. package/dist/node/index.js +183 -170
  71. package/dist/node/index.js.map +116 -91
  72. package/dist/node/node.js +183 -171
  73. package/dist/node/node.js.map +118 -93
  74. package/dist/sdk/builder.d.ts +177 -21
  75. package/dist/sdk/builder.d.ts.map +1 -1
  76. package/dist/sdk/builders/action-builder.d.ts +24 -0
  77. package/dist/sdk/builders/action-builder.d.ts.map +1 -0
  78. package/dist/sdk/builders/condition-builder.d.ts +26 -0
  79. package/dist/sdk/builders/condition-builder.d.ts.map +1 -0
  80. package/dist/sdk/builders/index.d.ts +5 -0
  81. package/dist/sdk/builders/index.d.ts.map +1 -0
  82. package/dist/sdk/builders/params-builder.d.ts +59 -0
  83. package/dist/sdk/builders/params-builder.d.ts.map +1 -0
  84. package/dist/sdk/constants.d.ts +44 -0
  85. package/dist/sdk/constants.d.ts.map +1 -0
  86. package/dist/sdk/exporter.d.ts +16 -0
  87. package/dist/sdk/exporter.d.ts.map +1 -1
  88. package/dist/sdk/graph/action-resolver.d.ts +103 -0
  89. package/dist/sdk/graph/action-resolver.d.ts.map +1 -0
  90. package/dist/sdk/graph/condition-resolver.d.ts +87 -0
  91. package/dist/sdk/graph/condition-resolver.d.ts.map +1 -0
  92. package/dist/sdk/graph/converters.d.ts +152 -0
  93. package/dist/sdk/graph/converters.d.ts.map +1 -0
  94. package/dist/sdk/graph/index.d.ts +12 -0
  95. package/dist/sdk/graph/index.d.ts.map +1 -0
  96. package/dist/sdk/graph/node-filters.d.ts +96 -0
  97. package/dist/sdk/graph/node-filters.d.ts.map +1 -0
  98. package/dist/sdk/graph/traversal.d.ts +105 -0
  99. package/dist/sdk/graph/traversal.d.ts.map +1 -0
  100. package/dist/sdk/graph/types.d.ts +28 -0
  101. package/dist/sdk/graph/types.d.ts.map +1 -0
  102. package/dist/sdk/graph-parser.d.ts +40 -0
  103. package/dist/sdk/graph-parser.d.ts.map +1 -0
  104. package/dist/sdk/index.d.ts +3 -0
  105. package/dist/sdk/index.d.ts.map +1 -1
  106. package/dist/sdk/optimize.d.ts +27 -0
  107. package/dist/sdk/optimize.d.ts.map +1 -0
  108. package/dist/sdk/yaml/converter.d.ts +81 -0
  109. package/dist/sdk/yaml/converter.d.ts.map +1 -0
  110. package/dist/sdk/yaml/index.d.ts +39 -0
  111. package/dist/sdk/yaml/index.d.ts.map +1 -0
  112. package/dist/sdk/yaml/normalizer.d.ts +44 -0
  113. package/dist/sdk/yaml/normalizer.d.ts.map +1 -0
  114. package/dist/sdk/yaml/types.d.ts +198 -0
  115. package/dist/sdk/yaml/types.d.ts.map +1 -0
  116. package/dist/sdk/yaml/utils.d.ts +131 -0
  117. package/dist/sdk/yaml/utils.d.ts.map +1 -0
  118. package/dist/sdk/yaml-parser.d.ts +18 -0
  119. package/dist/sdk/yaml-parser.d.ts.map +1 -0
  120. package/dist/types.d.ts +40 -2
  121. package/dist/types.d.ts.map +1 -1
  122. package/dist/utils/utils.d.ts.map +1 -1
  123. package/package.json +6 -1
@@ -1,30 +1,72 @@
1
1
  import type { TriggerContext } from "../types";
2
+ /**
3
+ * Context root keys - used to access different parts of the trigger context
4
+ * Avoids magic strings throughout the codebase
5
+ */
6
+ export declare const ContextKeys: {
7
+ readonly DATA: "data";
8
+ readonly VARS: "vars";
9
+ readonly REQUEST: "request";
10
+ readonly COMPUTED: "computed";
11
+ readonly ENV: "env";
12
+ readonly STATE: "state";
13
+ readonly EVENT: "event";
14
+ readonly TIMESTAMP: "timestamp";
15
+ };
16
+ /**
17
+ * Type representing valid context root keys
18
+ */
19
+ export type ContextKey = typeof ContextKeys[keyof typeof ContextKeys];
20
+ /**
21
+ * Built-in Math functions that can be used in expressions
22
+ * Avoids magic strings and provides type safety
23
+ */
24
+ export declare const MathFunctions: {
25
+ readonly RANDOM: "random";
26
+ readonly FLOOR: "floor";
27
+ readonly CEIL: "ceil";
28
+ readonly ROUND: "round";
29
+ readonly SQRT: "sqrt";
30
+ readonly ABS: "abs";
31
+ readonly POW: "pow";
32
+ readonly MIN: "min";
33
+ readonly MAX: "max";
34
+ readonly SIN: "sin";
35
+ readonly COS: "cos";
36
+ readonly TAN: "tan";
37
+ };
2
38
  export declare class ExpressionEngine {
3
39
  /**
4
- * Evalúa una expresión matemática simple o una interpolación de variables
5
- * Soporta operadores: +, -, *, /, %, **, y funciones matemáticas básicas
40
+ * Evaluates a simple mathematical expression or variable interpolation
41
+ * Supports operators: +, -, *, /, %, **, and basic math functions
6
42
  */
7
- static evaluate(expression: string, context: TriggerContext): unknown;
43
+ static evaluate(expression: string | null | undefined, context: TriggerContext): unknown;
8
44
  /**
9
- * Realiza interpolación de variables en una plantilla de texto
10
- * Ejemplo: "Hola ${data.username}, hoy es ${new Date().toLocaleDateString()}"
45
+ * Performs variable interpolation in a text template
46
+ * Example: "Hello ${data.username}, today is ${new Date().toLocaleDateString()}"
11
47
  */
12
48
  static interpolate(template: string, context: TriggerContext): string;
13
49
  /**
14
- * Evalúa una expresión matemática segura usando Function constructor
50
+ * Evaluates a safe mathematical expression using Function constructor
15
51
  */
16
52
  private static evaluateMathExpression;
17
53
  /**
18
- * Evalúa una expresión individual en el contexto
54
+ * Evaluates an individual expression in context
19
55
  */
20
56
  private static evaluateExpression;
21
57
  /**
22
- * Obtiene un valor anidado de un objeto usando notación de puntos
23
- * Ejemplo: getNestedValue("data.user.profile.name", context)
58
+ * Gets a nested value from an object using dot notation
59
+ * Example: getNestedValue("data.user.profile.name", context)
24
60
  */
25
61
  static getNestedValue(path: string, context: TriggerContext): unknown;
26
62
  /**
27
- * Ejecuta una expresión matemática específica (como "1 + 2")
63
+ * Helper to check if a variable name exists anywhere in the context
64
+ * This allows evaluating "x" when context has { vars: { x: 5 } }
65
+ */
66
+ private static findVariableInContext;
67
+ /**
68
+ * Executes a specific mathematical expression (like "1 + 2")
69
+ * Supports variables from context (e.g., data.x, vars.value)
28
70
  */
29
71
  static evaluateMath(expression: string, context: TriggerContext): number;
30
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"expression-engine.d.ts","sourceRoot":"","sources":["../../src/core/expression-engine.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,qBAAa,gBAAgB;IAC3B;;;OAGG;IAEH,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO;IAoBrE;;;OAGG;IACH,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM;IAgBrE;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAUrC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAiCjC;;;OAGG;IACH,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO;IAcrE;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM;CA+CzE"}
1
+ {"version":3,"file":"expression-engine.d.ts","sourceRoot":"","sources":["../../src/core/expression-engine.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;;;;;;CASd,CAAC;AAEX;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,WAAW,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAOtE;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;CAahB,CAAC;AAuCX,qBAAa,gBAAgB;IAC3B;;;OAGG;IAEH,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO;IA0BxF;;;OAGG;IACH,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM;IAerE;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,sBAAsB;IAUrC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IA8BjC;;;OAGG;IACH,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO;IAcrE;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAmBpC;;;OAGG;IACH,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM;CAkDzE"}
@@ -1,15 +1,13 @@
1
+ export * from "./constants";
1
2
  export * from "./expression-engine";
2
3
  export * from "./event-queue";
3
4
  export * from "./persistence";
4
5
  export * from "./persistence-browser";
5
6
  export type { ITriggerEngine, EngineActionHandler } from "./base-engine";
6
7
  export { TriggerEngine } from "./trigger-engine";
7
- export { RuleEngine } from "./rule-engine-new";
8
+ export { RuleEngine } from "./rule-engine";
8
9
  export * from "./action-registry";
9
10
  export * from "./context-adapter";
10
11
  export * from "./state-manager";
11
12
  export { TriggerEngine as Engine } from "./trigger-engine";
12
- export { RuleEngine as AdvancedRuleEngine } from "./rule-engine-new";
13
- export * from "./rule-engine";
14
- export * from "./engine";
15
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAE9B,cAAc,uBAAuB,CAAC;AAGtC,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/C,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAGhC,OAAO,EAAE,aAAa,IAAI,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAGrE,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAE9B,cAAc,uBAAuB,CAAC;AAGtC,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAG3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAGhC,OAAO,EAAE,aAAa,IAAI,MAAM,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * Operator Constants
3
+ * Centralized definitions of all valid operators used in conditions
4
+ */
5
+ export declare const EQUALITY_OPERATORS: readonly ["EQ", "==", "NEQ", "!="];
6
+ export type EqualityOperator = typeof EQUALITY_OPERATORS[number];
7
+ export declare const COMPARISON_OPERATORS: readonly ["GT", ">", "GTE", ">=", "LT", "<", "LTE", "<="];
8
+ export type ComparisonOperator = typeof COMPARISON_OPERATORS[number];
9
+ export declare const LIST_OPERATORS: readonly ["IN", "NOT_IN", "RANGE"];
10
+ export type ListOperator = typeof LIST_OPERATORS[number];
11
+ export declare const STRING_OPERATORS: readonly ["CONTAINS", "NOT_CONTAINS", "STARTS_WITH", "ENDS_WITH"];
12
+ export type StringOperator = typeof STRING_OPERATORS[number];
13
+ export declare const NULL_OPERATORS: readonly ["IS_NULL", "IS_NONE"];
14
+ export type NullOperator = typeof NULL_OPERATORS[number];
15
+ export declare const SPECIAL_OPERATORS: readonly ["IS_EMPTY", "HAS_KEY", "MATCHES", "SINCE", "AFTER", "BEFORE", "UNTIL"];
16
+ export type SpecialOperator = typeof SPECIAL_OPERATORS[number];
17
+ export declare const ALL_OPERATORS: readonly ["EQ", "==", "NEQ", "!=", "GT", ">", "GTE", ">=", "LT", "<", "LTE", "<=", "IN", "NOT_IN", "RANGE", "CONTAINS", "NOT_CONTAINS", "STARTS_WITH", "ENDS_WITH", "IS_NULL", "IS_NONE", "IS_EMPTY", "HAS_KEY", "MATCHES", "SINCE", "AFTER", "BEFORE", "UNTIL"];
18
+ export type AnyOperator = typeof ALL_OPERATORS[number];
19
+ export declare const CONDITION_GROUP_OPERATORS: readonly ["AND", "OR"];
20
+ export type ConditionGroupOperator = typeof CONDITION_GROUP_OPERATORS[number];
21
+ export declare const EXECUTION_MODES: readonly ["ALL", "EITHER", "SEQUENCE"];
22
+ export type ExecutionMode = typeof EXECUTION_MODES[number];
23
+ export declare const OPERATOR_CATEGORIES: {
24
+ readonly equality: readonly ["EQ", "==", "NEQ", "!="];
25
+ readonly comparison: readonly ["GT", ">", "GTE", ">=", "LT", "<", "LTE", "<="];
26
+ readonly list: readonly ["IN", "NOT_IN", "RANGE"];
27
+ readonly string: readonly ["CONTAINS", "NOT_CONTAINS", "STARTS_WITH", "ENDS_WITH"];
28
+ readonly null: readonly ["IS_NULL", "IS_NONE"];
29
+ readonly special: readonly ["IS_EMPTY", "HAS_KEY", "MATCHES", "SINCE", "AFTER", "BEFORE", "UNTIL"];
30
+ readonly group: readonly ["AND", "OR"];
31
+ };
32
+ /**
33
+ * Check if an operator is a list/collection operator
34
+ */
35
+ export declare function isListOperator(op: string): op is ListOperator;
36
+ /**
37
+ * Check if an operator is a string operator
38
+ */
39
+ export declare function isStringOperator(op: string): op is StringOperator;
40
+ /**
41
+ * Check if an operator is a comparison operator
42
+ */
43
+ export declare function isComparisonOperator(op: string): op is ComparisonOperator;
44
+ /**
45
+ * Check if an operator is valid
46
+ */
47
+ export declare function isValidOperator(op: string): op is AnyOperator;
48
+ //# sourceMappingURL=operators.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operators.d.ts","sourceRoot":"","sources":["../../src/core/operators.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,eAAO,MAAM,kBAAkB,oCAAqC,CAAC;AACrE,MAAM,MAAM,gBAAgB,GAAG,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAGjE,eAAO,MAAM,oBAAoB,2DAA4D,CAAC;AAC9F,MAAM,MAAM,kBAAkB,GAAG,OAAO,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAGrE,eAAO,MAAM,cAAc,oCAAqC,CAAC;AACjE,MAAM,MAAM,YAAY,GAAG,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;AAGzD,eAAO,MAAM,gBAAgB,mEAAoE,CAAC;AAClG,MAAM,MAAM,cAAc,GAAG,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAG7D,eAAO,MAAM,cAAc,iCAAkC,CAAC;AAC9D,MAAM,MAAM,YAAY,GAAG,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;AAGzD,eAAO,MAAM,iBAAiB,kFAAmF,CAAC;AAClH,MAAM,MAAM,eAAe,GAAG,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAG/D,eAAO,MAAM,aAAa,kQAOhB,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;AAGvD,eAAO,MAAM,yBAAyB,wBAAyB,CAAC;AAChE,MAAM,MAAM,sBAAsB,GAAG,OAAO,yBAAyB,CAAC,MAAM,CAAC,CAAC;AAG9E,eAAO,MAAM,eAAe,wCAAyC,CAAC;AACtE,MAAM,MAAM,aAAa,GAAG,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AAG3D,eAAO,MAAM,mBAAmB;;;;;;;;CAQtB,CAAC;AAIX;;GAEG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,EAAE,IAAI,YAAY,CAE7D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,EAAE,IAAI,cAAc,CAEjE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,MAAM,GAAG,EAAE,IAAI,kBAAkB,CAEzE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,EAAE,IAAI,WAAW,CAE7D"}
@@ -3,14 +3,37 @@ import { type PersistenceAdapter } from "./persistence";
3
3
  * Browser LocalStorage Persistence Adapter
4
4
  * Uses window.localStorage to save state.
5
5
  * Fallbacks to in-memory if not available (e.g. Node env without polyfill).
6
+ *
7
+ * Optimizations:
8
+ * - Lazy loading: only reads from localStorage when first needed
9
+ * - Optional debounced writes: batches multiple rapid changes (disabled by default)
10
+ * - Manual flush: explicit persist() call for immediate write
6
11
  */
7
12
  export declare class BrowserPersistence implements PersistenceAdapter {
8
13
  private keyPrefix;
9
14
  private cache;
10
15
  private isLoaded;
11
- constructor(prefix?: string);
16
+ private pendingWrite;
17
+ private writeDelay;
18
+ private dirty;
19
+ constructor(prefix?: string, options?: {
20
+ writeDelay?: number;
21
+ });
22
+ /**
23
+ * Force immediate write to localStorage
24
+ */
25
+ flush(): void;
26
+ /**
27
+ * Get the current cache (for debugging)
28
+ */
29
+ getCache(): Map<string, any>;
30
+ /**
31
+ * Check if there are pending writes
32
+ */
33
+ isDirty(): boolean;
12
34
  private isAvailable;
13
- private ensureLoaded;
35
+ ensureLoaded(): void;
36
+ private schedulePersist;
14
37
  private persist;
15
38
  loadState(): Promise<Map<string, any>>;
16
39
  saveState(key: string, value: any): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"persistence-browser.d.ts","sourceRoot":"","sources":["../../src/core/persistence-browser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD;;;;GAIG;AACH,qBAAa,kBAAmB,YAAW,kBAAkB;IAC3D,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,QAAQ,CAAkB;gBAEtB,MAAM,GAAE,MAA0B;IAI9C,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,OAAO;IAWT,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAKtC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAMjD,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAIlC"}
1
+ {"version":3,"file":"persistence-browser.d.ts","sourceRoot":"","sources":["../../src/core/persistence-browser.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD;;;;;;;;;GASG;AACH,qBAAa,kBAAmB,YAAW,kBAAkB;IAC3D,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,YAAY,CAA8C;IAClE,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,KAAK,CAAkB;gBAEnB,MAAM,GAAE,MAA0B,EAAE,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;IAKjF;;OAEG;IACI,KAAK,IAAI,IAAI;IAKpB;;OAEG;IACI,QAAQ,IAAI,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC;IAKnC;;OAEG;IACI,OAAO,IAAI,OAAO;IAIzB,OAAO,CAAC,WAAW;IAIZ,YAAY;IAiBnB,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,OAAO;IAkBT,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAKtC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAMjD,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAIlC"}
@@ -2,14 +2,37 @@ import { type PersistenceAdapter } from "./persistence";
2
2
  /**
3
3
  * FileSystem Persistence Adapter
4
4
  * Saves state to a JSON file on disk.
5
+ *
6
+ * Optimizations:
7
+ * - Lazy loading: only reads file when first needed
8
+ * - Optional debounced writes: batches multiple rapid changes (disabled by default)
9
+ * - Manual flush: explicit persist() call for immediate write
5
10
  */
6
11
  export declare class FilePersistence implements PersistenceAdapter {
7
12
  private filePath;
8
13
  private cache;
9
14
  private isLoaded;
10
- constructor(filePath: string);
15
+ private pendingWrite;
16
+ private writeDelay;
17
+ private dirty;
18
+ constructor(filePath: string, options?: {
19
+ writeDelay?: number;
20
+ });
21
+ /**
22
+ * Force immediate write to disk
23
+ */
24
+ flush(): void;
25
+ /**
26
+ * Get the current cache (for debugging)
27
+ */
28
+ getCache(): Map<string, any>;
29
+ /**
30
+ * Check if there are pending writes
31
+ */
32
+ isDirty(): boolean;
11
33
  private ensureLoaded;
12
- private persist;
34
+ private schedulePersist;
35
+ persist(): void;
13
36
  loadState(): Promise<Map<string, any>>;
14
37
  saveState(key: string, value: any): Promise<void>;
15
38
  deleteState(key: string): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"persistence.node.d.ts","sourceRoot":"","sources":["../../src/core/persistence.node.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAIxD;;;GAGG;AACH,qBAAa,eAAgB,YAAW,kBAAkB;IACxD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,QAAQ,CAAkB;gBAEtB,QAAQ,EAAE,MAAM;IAI5B,OAAO,CAAC,YAAY;IAiBpB,OAAO,CAAC,OAAO;IAcT,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAKtC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAMjD,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAIlC"}
1
+ {"version":3,"file":"persistence.node.d.ts","sourceRoot":"","sources":["../../src/core/persistence.node.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAIxD;;;;;;;;GAQG;AACH,qBAAa,eAAgB,YAAW,kBAAkB;IACxD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,KAAK,CAA+B;IAC5C,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,YAAY,CAA8C;IAClE,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,KAAK,CAAkB;gBAEnB,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;IAK/D;;OAEG;IACI,KAAK,IAAI,IAAI;IAKpB;;OAEG;IACI,QAAQ,IAAI,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC;IAKnC;;OAEG;IACI,OAAO,IAAI,OAAO;IAIzB,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,eAAe;IAkBhB,OAAO;IAqBR,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAKtC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAMjD,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMvC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAIlC"}
@@ -15,8 +15,9 @@ export declare class RuleEngine extends TriggerEngine {
15
15
  processEvent(context: TriggerContext): Promise<TriggerResult[]>;
16
16
  /**
17
17
  * Método convenience para procesar eventos simples
18
+ * Usa el método renombrado del padre
18
19
  */
19
- processEventSimple(eventType: string, data?: Record<string, unknown>, vars?: Record<string, unknown>): Promise<TriggerResult[]>;
20
+ processEventSimple(eventType: string, data?: Record<string, unknown>, globals?: Record<string, unknown>): Promise<TriggerResult[]>;
20
21
  /**
21
22
  * Ejecuta acciones usando el ActionRegistry
22
23
  */
@@ -1 +1 @@
1
- {"version":3,"file":"rule-engine-new.d.ts","sourceRoot":"","sources":["../../src/core/rule-engine-new.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAEV,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,MAAM,EACN,WAAW,EAGZ,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAKjD,qBAAa,UAAW,SAAQ,aAAa;IAC3C,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,YAAY,CAAe;gBAEvB,MAAM,EAAE,gBAAgB;IASpC;;;OAGG;IACY,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAwE9E;;OAEG;IACY,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAWtJ;;OAEG;YACW,8BAA8B;IA+F5C,OAAO,CAAC,aAAa;IAIrB;;OAEG;YACW,+BAA+B;IAwH7C;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAK3B;;OAEG;cACgB,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAIzD;;OAEG;cACgB,iBAAiB,IAAI,OAAO;IAI/C;;OAEG;cACsB,kBAAkB,CACzC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,WAAW,EAC7C,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAI5C;;OAEG;cACsB,mBAAmB,CAC1C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;CAGhD;AAGD,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"rule-engine-new.d.ts","sourceRoot":"","sources":["../../src/core/rule-engine-new.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAEV,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,MAAM,EACN,WAAW,EAEZ,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAKjD,qBAAa,UAAW,SAAQ,aAAa;IAC3C,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,YAAY,CAAe;gBAEvB,MAAM,EAAE,gBAAgB;IASpC;;;OAGG;IACY,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAmE9E;;;OAGG;IACY,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAWzJ;;OAEG;YACW,8BAA8B;IAqD5C,OAAO,CAAC,aAAa;IAIrB;;OAEG;YACW,+BAA+B;IAyE7C;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAK3B;;OAEG;cACgB,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAIzD;;OAEG;cACgB,iBAAiB,IAAI,OAAO;IAI/C;;OAEG;cACsB,kBAAkB,CACzC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,WAAW,EAC7C,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAI5C;;OAEG;cACsB,mBAAmB,CAC1C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;CAGhD;AAGD,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,CAAC"}
@@ -1,48 +1,35 @@
1
- import type { TriggerRule, TriggerContext, TriggerResult, RuleEngineConfig } from "../types";
2
- export declare class RuleEngine {
3
- private rules;
4
- private config;
5
- private lastExecutionTimes;
1
+ /**
2
+ * RuleEngine - Extension of TriggerEngine with advanced features
3
+ * Adds observability, persistent state, and integrated ActionRegistry
4
+ */
5
+ import type { TriggerContext, TriggerResult, RuleEngineConfig } from "../types";
6
+ import { TriggerEngine } from "./trigger-engine";
7
+ import { ActionRegistry } from "./action-registry";
8
+ import { StateManager } from "./state-manager";
9
+ export declare class RuleEngine extends TriggerEngine {
6
10
  private actionRegistry;
11
+ private stateManager;
7
12
  constructor(config: RuleEngineConfig);
8
13
  /**
9
- * Convenience method to process an event with a simple payload
10
- */
11
- processEvent(eventType: string, data?: Record<string, unknown>, vars?: Record<string, unknown>): Promise<TriggerResult[]>;
12
- processEventSimple(eventType: string, data?: Record<string, unknown>, vars?: Record<string, unknown>): Promise<TriggerResult[]>;
13
- /**
14
- * Evalúa todas las reglas contra el contexto proporcionado
14
+ * Evaluates all rules against the provided context
15
+ * This is the main entry point for evaluating rules with state management
15
16
  */
16
17
  evaluateContext(context: TriggerContext): Promise<TriggerResult[]>;
17
- private evaluateRuleConditions;
18
- private evaluateRecursiveCondition;
19
- private evaluateConditionGroup;
20
- /**
21
- * Evalúa una condición individual
22
- */
23
- private evaluateSingleCondition;
24
- private executeRuleActions;
25
- /**
26
- * Evaluate action-level condition (for if/then/else)
27
- */
28
- private evaluateActionCondition;
29
- /**
30
- * Execute nested actions (then/else branches)
31
- */
32
- private executeNestedActions;
33
- private isActionGroup;
34
- private executeSingleAction;
35
18
  /**
36
- * Verifica si una regla está en cooldown
19
+ * Processes an event with full context (overrides parent method)
20
+ * Adds observability and state management
21
+ * Can accept either a full TriggerContext or a string event type with data/vars
37
22
  */
38
- private checkCooldown;
23
+ processEvent(contextOrType: TriggerContext | string, data?: Record<string, unknown>, vars?: Record<string, unknown>): Promise<TriggerResult[]>;
39
24
  /**
40
- * Actualiza las reglas del motor
25
+ * Overrides getStateContext to use StateManager
41
26
  */
42
- updateRules(newRules: TriggerRule[]): void;
27
+ protected getStateContext(): Record<string, any>;
28
+ get ActionRegistry(): ActionRegistry;
43
29
  /**
44
- * Obtiene todas las reglas
30
+ * Get the state manager instance
45
31
  */
46
- getRules(): TriggerRule[];
32
+ get StateManager(): StateManager;
47
33
  }
34
+ export { RuleEngine as AdvancedEngine };
48
35
  //# sourceMappingURL=rule-engine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rule-engine.d.ts","sourceRoot":"","sources":["../../src/core/rule-engine.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,WAAW,EAMX,cAAc,EACd,aAAa,EACb,gBAAgB,EAEjB,MAAM,UAAU,CAAC;AASlB,qBAAa,UAAU;IACrB,OAAO,CAAC,KAAK,CAAqB;IAClC,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,kBAAkB,CAAkC;IAC5D,OAAO,CAAC,cAAc,CAAiB;gBAE3B,MAAM,EAAE,gBAAgB;IAOpC;;OAEG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAIjI,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAY7I;;OAEG;IACG,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IA+ExE,OAAO,CAAC,sBAAsB;IAc9B,OAAO,CAAC,0BAA0B;IAYlC,OAAO,CAAC,sBAAsB;IAU9B;;OAEG;IACH,OAAO,CAAC,uBAAuB;YAgKjB,kBAAkB;IAsFhC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAa/B;;OAEG;YACW,oBAAoB;IAmBlC,OAAO,CAAC,aAAa;YAKP,mBAAmB;IA4IjC;;OAEG;IACH,OAAO,CAAC,aAAa;IAQrB;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI;IAK1C;;OAEG;IACH,QAAQ,IAAI,WAAW,EAAE;CAG1B"}
1
+ {"version":3,"file":"rule-engine.d.ts","sourceRoot":"","sources":["../../src/core/rule-engine.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAEV,cAAc,EACd,aAAa,EACb,gBAAgB,EAKjB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAI/C,qBAAa,UAAW,SAAQ,aAAa;IAC3C,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,YAAY,CAAe;gBAEvB,MAAM,EAAE,gBAAgB;IASpC;;;OAGG;IACG,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IA8BxE;;;;OAIG;IACY,YAAY,CACzB,aAAa,EAAE,cAAc,GAAG,MAAM,EACtC,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAClC,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACjC,OAAO,CAAC,aAAa,EAAE,CAAC;IA0C3B;;OAEG;cACgB,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAIzD,IAAI,cAAc,IAAI,cAAc,CAEnC;IAED;;OAEG;IACH,IAAI,YAAY,IAAI,YAAY,CAE/B;CACF;AAGD,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,CAAC"}
@@ -1,7 +1,7 @@
1
1
  /**
2
- * TriggerEngine - Motor base platform-agnostic
3
- * Proporciona funcionalidad básica de procesamiento de reglas
4
- * Puede ser extendido para agregar características adicionales
2
+ * TriggerEngine - Base platform-agnostic engine
3
+ * Provides basic rule processing functionality
4
+ * Can be extended to add additional features
5
5
  */
6
6
  import type { TriggerRule, TriggerContext, TriggerResult, Action, ActionGroup, RuleCondition, RuleEngineConfig, ActionParams, EngineActionHandler, ExecutedAction } from "../types";
7
7
  export declare class TriggerEngine {
@@ -9,28 +9,25 @@ export declare class TriggerEngine {
9
9
  protected actionHandlers: Map<string, EngineActionHandler>;
10
10
  protected lastExecution: Map<string, number>;
11
11
  protected _config?: RuleEngineConfig;
12
- /**
13
- * Constructor base - puede recibir reglas directamente o config
14
- */
15
12
  constructor(rulesOrConfig?: TriggerRule[] | RuleEngineConfig);
16
13
  /**
17
- * Ordena reglas por prioridad (mayor primero)
14
+ * Sorts rules by priority (highest first)
18
15
  */
19
16
  protected sortRules(): void;
20
17
  /**
21
- * Registra un handler para un tipo de acción específico
18
+ * Registers a handler for a specific action type
22
19
  */
23
20
  registerAction(type: string, handler: EngineActionHandler): void;
24
21
  /**
25
- * Procesa un evento con contexto completo
22
+ * Processes an event with full context
26
23
  */
27
24
  processEvent(context: TriggerContext): Promise<TriggerResult[]>;
28
25
  /**
29
- * Método convenience para procesar eventos simples
26
+ * Convenience method to process simple events
30
27
  */
31
28
  processEventSimple(eventType: string, data?: Record<string, unknown>, vars?: Record<string, unknown>): Promise<TriggerResult[]>;
32
29
  /**
33
- * Actualiza las reglas del motor
30
+ * Updates the engine's rules
34
31
  */
35
32
  updateRules(newRules: TriggerRule[]): void;
36
33
  /**
@@ -38,45 +35,41 @@ export declare class TriggerEngine {
38
35
  */
39
36
  private emitRuleEvent;
40
37
  /**
41
- * Obtiene todas las reglas actuales
38
+ * Gets all current rules
42
39
  */
43
40
  getRules(): TriggerRule[];
44
41
  /**
45
- * Verifica si una regla está en cooldown
42
+ * Checks if a rule is in cooldown
46
43
  */
47
44
  protected checkCooldown(ruleId: string, cooldown: number): boolean;
48
45
  /**
49
- * Determina si se deben evaluar todas las reglas o solo la primera coincidente
46
+ * Determines whether to evaluate all rules or just the first match
50
47
  */
51
48
  protected shouldEvaluateAll(): boolean;
52
49
  /**
53
- * Obtiene el contexto de estado (puede ser sobrescrito por subclases)
50
+ * Gets the state context (can be overridden by subclasses)
54
51
  */
55
52
  protected getStateContext?(): Record<string, any>;
56
53
  /**
57
- * Evalúa condiciones de una regla
54
+ * Evaluates rule conditions (overridable)
58
55
  */
59
56
  protected evaluateConditions(condition: RuleCondition | RuleCondition[] | undefined, context: TriggerContext): boolean;
60
57
  /**
61
- * Evalúa una condición individual
58
+ * Evaluates a single condition (overridable)
62
59
  */
63
60
  protected evaluateSingleCondition(cond: RuleCondition, context: TriggerContext): boolean;
64
61
  /**
65
- * Ejecuta las acciones de una regla
62
+ * Executes the actions of a rule
66
63
  */
67
- protected executeRuleActions(actionConfig: Action | Action[] | ActionGroup, context: TriggerContext): Promise<ExecutedAction[]>;
64
+ protected executeRuleActions(actionConfig: Action | Action[] | ActionGroup | (Action | ActionGroup)[], context: TriggerContext): Promise<ExecutedAction[]>;
68
65
  /**
69
- * Ejecuta una acción individual
66
+ * Executes a single action
70
67
  */
71
68
  protected executeSingleAction(action: Action, context: TriggerContext): Promise<ExecutedAction>;
72
69
  /**
73
- * Interpola parámetros con variables del contexto
70
+ * Interpolates parameters
74
71
  */
75
72
  protected interpolateParams(params: ActionParams, context: TriggerContext): ActionParams;
76
- /**
77
- * Interpolación recursiva para objetos anidados
78
- */
79
- protected interpolateDeep(obj: unknown, context: TriggerContext): unknown;
80
73
  get rules(): TriggerRule[];
81
74
  get config(): RuleEngineConfig | undefined;
82
75
  set rules(newRules: TriggerRule[]);
@@ -1 +1 @@
1
- {"version":3,"file":"trigger-engine.d.ts","sourceRoot":"","sources":["../../src/core/trigger-engine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,aAAa,EACb,MAAM,EACN,WAAW,EACX,aAAa,EAGb,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EAKnB,cAAc,EACf,MAAM,UAAU,CAAC;AAMlB,qBAAa,aAAa;IACxB,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,CAAM;IACrC,SAAS,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAa;IACvE,SAAS,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IACzD,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAErC;;OAEG;gBACS,aAAa,GAAE,WAAW,EAAE,GAAG,gBAAqB;IAYhE;;OAEG;IACH,SAAS,CAAC,SAAS,IAAI,IAAI;IAI3B;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAIhE;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAyCrE;;OAEG;IACG,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAW7I;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI;IAiC1C;;OAEG;IACH,OAAO,CAAC,aAAa;IAcrB;;OAEG;IACH,QAAQ,IAAI,WAAW,EAAE;IAIzB;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAMlE;;OAEG;IACH,SAAS,CAAC,iBAAiB,IAAI,OAAO;IAItC;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAIjD;;OAEG;IACH,SAAS,CAAC,kBAAkB,CAC1B,SAAS,EAAE,aAAa,GAAG,aAAa,EAAE,GAAG,SAAS,EACtD,OAAO,EAAE,cAAc,GACtB,OAAO;IAUV;;OAEG;IACH,SAAS,CAAC,uBAAuB,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO;IAwBxF;;OAEG;cACa,kBAAkB,CAChC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,WAAW,EAC7C,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,cAAc,EAAE,CAAC;IAoG5B;;OAEG;cACa,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,cAAc,CAAC;IAwG1B;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,GAAG,YAAY;IAcxF;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO;IAczE,IAAI,KAAK,IAAI,WAAW,EAAE,CAEzB;IAED,IAAI,MAAM,IAAI,gBAAgB,GAAG,SAAS,CAEzC;IAGD,IAAI,KAAK,CAAC,QAAQ,EAAE,WAAW,EAAE,EAGhC;CACF;AAGD,YAAY,EAAE,aAAa,IAAI,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"trigger-engine.d.ts","sourceRoot":"","sources":["../../src/core/trigger-engine.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,WAAW,EACX,cAAc,EACd,aAAa,EACb,MAAM,EACN,WAAW,EACX,aAAa,EAGb,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EAKnB,cAAc,EACf,MAAM,UAAU,CAAC;AAQlB,qBAAa,aAAa;IACxB,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,CAAM;IACrC,SAAS,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAa;IACvE,SAAS,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IACzD,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC;gBAGzB,aAAa,GAAE,WAAW,EAAE,GAAG,gBAAqB;IAoBhE;;OAEG;IACH,SAAS,CAAC,SAAS,IAAI,IAAI;IAI3B;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,IAAI;IAIhE;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IA2DrE;;OAEG;IACG,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAAE,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAW7I;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI;IAiC1C;;OAEG;IACH,OAAO,CAAC,aAAa;IAcrB;;OAEG;IACH,QAAQ,IAAI,WAAW,EAAE;IAIzB;;OAEG;IACH,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAMlE;;OAEG;IACH,SAAS,CAAC,iBAAiB,IAAI,OAAO;IAItC;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAIjD;;OAEG;IACH,SAAS,CAAC,kBAAkB,CAC1B,SAAS,EAAE,aAAa,GAAG,aAAa,EAAE,GAAG,SAAS,EACtD,OAAO,EAAE,cAAc,GACtB,OAAO;IAIV;;OAEG;IACH,SAAS,CAAC,uBAAuB,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO;IAKxF;;OAEG;cACa,kBAAkB,CAChC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,WAAW,GAAG,CAAC,MAAM,GAAG,WAAW,CAAC,EAAE,EACxE,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,cAAc,EAAE,CAAC;IA0C5B;;OAEG;cACa,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,cAAc,CAAC;IAiD1B;;OAEG;IACH,SAAS,CAAC,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,GAAG,YAAY;IAKxF,IAAI,KAAK,IAAI,WAAW,EAAE,CAEzB;IAED,IAAI,MAAM,IAAI,gBAAgB,GAAG,SAAS,CAEzC;IAGD,IAAI,KAAK,CAAC,QAAQ,EAAE,WAAW,EAAE,EAGhC;CACF;AAGD,YAAY,EAAE,aAAa,IAAI,UAAU,EAAE,CAAC"}