trigger_system 1.0.1 → 1.0.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 (45) hide show
  1. package/dist/browser/index.browser.js +26 -26
  2. package/dist/browser/index.browser.js.map +15 -13
  3. package/dist/core/base-engine.d.ts +19 -0
  4. package/dist/core/base-engine.d.ts.map +1 -0
  5. package/dist/core/context-adapter.d.ts +8 -4
  6. package/dist/core/context-adapter.d.ts.map +1 -1
  7. package/dist/core/dependency-graph.d.ts.map +1 -1
  8. package/dist/core/engine.d.ts +2 -2
  9. package/dist/core/engine.d.ts.map +1 -1
  10. package/dist/core/expression-engine.d.ts +2 -2
  11. package/dist/core/expression-engine.d.ts.map +1 -1
  12. package/dist/core/index.d.ts +6 -1
  13. package/dist/core/index.d.ts.map +1 -1
  14. package/dist/core/persistence.d.ts +4 -4
  15. package/dist/core/persistence.d.ts.map +1 -1
  16. package/dist/core/rule-engine-new.d.ts +52 -0
  17. package/dist/core/rule-engine-new.d.ts.map +1 -0
  18. package/dist/core/rule-engine.d.ts +1 -1
  19. package/dist/core/rule-engine.d.ts.map +1 -1
  20. package/dist/core/state-manager.d.ts +3 -3
  21. package/dist/core/state-manager.d.ts.map +1 -1
  22. package/dist/core/trigger-engine.d.ts +86 -0
  23. package/dist/core/trigger-engine.d.ts.map +1 -0
  24. package/dist/domain/validator.d.ts +1 -1
  25. package/dist/domain/validator.d.ts.map +1 -1
  26. package/dist/index.browser.d.ts +1 -1
  27. package/dist/index.browser.d.ts.map +1 -1
  28. package/dist/index.d.ts +1 -1
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/lsp/completions.d.ts.map +1 -1
  31. package/dist/lsp/data-context.d.ts +4 -4
  32. package/dist/lsp/data-context.d.ts.map +1 -1
  33. package/dist/node/index.js +120 -120
  34. package/dist/node/index.js.map +16 -14
  35. package/dist/node/node.js +145 -145
  36. package/dist/node/node.js.map +17 -15
  37. package/dist/sdk/builder.d.ts +5 -5
  38. package/dist/sdk/builder.d.ts.map +1 -1
  39. package/dist/types.d.ts +47 -17
  40. package/dist/types.d.ts.map +1 -1
  41. package/dist/utils/emitter.d.ts +9 -3
  42. package/dist/utils/emitter.d.ts.map +1 -1
  43. package/dist/utils/utils.d.ts +3 -3
  44. package/dist/utils/utils.d.ts.map +1 -1
  45. package/package.json +1 -1
@@ -1,9 +1,9 @@
1
- import type { TriggerRule, RuleCondition, Action, ActionGroup, ComparisonOperator, ExecutionMode } from "../types";
1
+ import type { TriggerRule, RuleCondition, Action, ActionGroup, ComparisonOperator, ExecutionMode, ConditionValue, ActionParams } from "../types";
2
2
  export declare class ConditionBuilder {
3
3
  private conditions;
4
4
  private op;
5
5
  constructor(operator?: 'AND' | 'OR');
6
- where(field: string, operator: ComparisonOperator, value: any): this;
6
+ where(field: string, operator: ComparisonOperator, value: ConditionValue): this;
7
7
  and(sub: (builder: ConditionBuilder) => ConditionBuilder): this;
8
8
  or(sub: (builder: ConditionBuilder) => ConditionBuilder): this;
9
9
  build(): RuleCondition;
@@ -12,7 +12,7 @@ export declare class ActionBuilder {
12
12
  private actions;
13
13
  private mode;
14
14
  setMode(mode: ExecutionMode): this;
15
- add(type: string, params?: Record<string, any>, options?: {
15
+ add(type: string, params?: ActionParams, options?: {
16
16
  delay?: number;
17
17
  probability?: number;
18
18
  }): this;
@@ -27,9 +27,9 @@ export declare class RuleBuilder {
27
27
  withCooldown(cooldown: number): this;
28
28
  withTags(tags: string[]): this;
29
29
  on(event: string): this;
30
- if(field: string, operator: ComparisonOperator, value: any): this;
30
+ if(field: string, operator: ComparisonOperator, value: ConditionValue): this;
31
31
  ifComplex(sub: (builder: ConditionBuilder) => ConditionBuilder): this;
32
- do(type: string, params?: Record<string, any>, options?: {
32
+ do(type: string, params?: ActionParams, options?: {
33
33
  delay?: number;
34
34
  probability?: number;
35
35
  }): this;
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/sdk/builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,MAAM,EACN,WAAW,EACX,kBAAkB,EAClB,aAAa,EAGd,MAAM,UAAU,CAAC;AAElB,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,UAAU,CAAsC;IACxD,OAAO,CAAC,EAAE,CAAuB;gBAErB,QAAQ,GAAE,KAAK,GAAG,IAAY;IAI1C,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAKpE,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,gBAAgB,GAAG,IAAI;IAM/D,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,gBAAgB,GAAG,IAAI;IAM9D,KAAK,IAAI,aAAa;CAavB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,IAAI,CAAwB;IAEpC,OAAO,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAKlC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IASzG,KAAK,IAAI,MAAM,GAAG,MAAM,EAAE,GAAG,WAAW;CAgBzC;AAID,qBAAa,WAAW;IACtB,OAAO,CAAC,IAAI,CAGV;IAEF,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKxB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK5B,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAK1C,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKpC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKpC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;IAK9B,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKvB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAWjE,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,gBAAgB,GAAG,IAAI;IAOrE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAcxG,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,aAAa,GAAG,IAAI;IAQ/D,KAAK,IAAI,WAAW;CAOrB"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/sdk/builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,aAAa,EACb,MAAM,EACN,WAAW,EACX,kBAAkB,EAClB,aAAa,EAGb,cAAc,EACd,YAAY,EACb,MAAM,UAAU,CAAC;AAElB,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,UAAU,CAAsC;IACxD,OAAO,CAAC,EAAE,CAAuB;gBAErB,QAAQ,GAAE,KAAK,GAAG,IAAY;IAI1C,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,cAAc,GAAG,IAAI;IAK/E,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,gBAAgB,GAAG,IAAI;IAM/D,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,gBAAgB,GAAG,IAAI;IAM9D,KAAK,IAAI,aAAa;CAavB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,IAAI,CAAwB;IAEpC,OAAO,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAKlC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IASlG,KAAK,IAAI,MAAM,GAAG,MAAM,EAAE,GAAG,WAAW;CAgBzC;AAID,qBAAa,WAAW;IACtB,OAAO,CAAC,IAAI,CAGV;IAEF,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAKxB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK5B,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAK1C,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKpC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKpC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI;IAK9B,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKvB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,cAAc,GAAG,IAAI;IAW5E,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,gBAAgB,GAAG,IAAI;IAOrE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAcjG,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,aAAa,KAAK,aAAa,GAAG,IAAI;IAQ/D,KAAK,IAAI,WAAW;CAOrB"}
package/dist/types.d.ts CHANGED
@@ -12,19 +12,24 @@ export interface RuleMetadata {
12
12
  tags?: string[];
13
13
  }
14
14
  export type ComparisonOperator = 'EQ' | '==' | 'NEQ' | '!=' | 'GT' | '>' | 'GTE' | '>=' | 'LT' | '<' | 'LTE' | '<=' | 'IN' | 'NOT_IN' | 'CONTAINS' | 'MATCHES' | 'SINCE' | 'AFTER' | 'BEFORE' | 'UNTIL' | 'RANGE';
15
+ export type ConditionValue = string | number | boolean | Date | string[] | number[] | null;
15
16
  export interface Condition {
16
17
  field: string;
17
18
  operator: ComparisonOperator;
18
- value: any;
19
+ value: ConditionValue;
19
20
  }
20
21
  export interface ConditionGroup {
21
22
  operator: 'AND' | 'OR';
22
23
  conditions: (Condition | ConditionGroup)[];
23
24
  }
24
25
  export type RuleCondition = Condition | ConditionGroup;
26
+ export interface ActionParams {
27
+ [key: string]: ActionParamValue;
28
+ }
29
+ export type ActionParamValue = string | number | boolean | null | ActionParamValue[] | ActionParams;
25
30
  export interface Action {
26
31
  type: string;
27
- params?: Record<string, any>;
32
+ params?: ActionParams;
28
33
  delay?: number;
29
34
  probability?: number;
30
35
  }
@@ -41,31 +46,56 @@ export interface TriggerRule extends RuleMetadata {
41
46
  export interface TriggerContext {
42
47
  event: string;
43
48
  timestamp: number;
44
- data: Record<string, any>;
49
+ data: Record<string, unknown>;
45
50
  id?: string;
46
- globals?: Record<string, any>;
47
- state?: Record<string, any>;
48
- helpers?: Record<string, Function>;
51
+ globals?: Record<string, unknown>;
52
+ state?: Record<string, unknown>;
53
+ helpers?: Record<string, (...args: unknown[]) => unknown>;
54
+ }
55
+ export interface ExecutedAction {
56
+ type: string;
57
+ result?: unknown;
58
+ error?: unknown;
59
+ timestamp: number;
49
60
  }
50
61
  export interface TriggerResult {
51
62
  ruleId: string;
52
63
  success: boolean;
53
- executedActions: {
54
- type: string;
55
- result?: any;
56
- error?: any;
57
- timestamp: number;
58
- }[];
64
+ executedActions: ExecutedAction[];
59
65
  error?: Error;
60
66
  }
67
+ export interface GlobalSettings {
68
+ debugMode?: boolean;
69
+ evaluateAll?: boolean;
70
+ strictActions?: boolean;
71
+ }
61
72
  export interface RuleEngineConfig {
62
73
  rules: TriggerRule[];
63
- globalSettings: {
64
- debugMode?: boolean;
65
- evaluateAll?: boolean;
66
- strictActions?: boolean;
67
- };
74
+ globalSettings: GlobalSettings;
75
+ }
76
+ export interface RuleUpdateData {
77
+ count: number;
78
+ added: number;
79
+ removed: number;
80
+ unchanged: number;
81
+ timestamp: number;
82
+ }
83
+ export interface RuleAddedData {
84
+ ruleId: string;
85
+ timestamp: number;
86
+ }
87
+ export interface RuleRemovedData {
88
+ ruleId: string;
89
+ timestamp: number;
90
+ }
91
+ export interface RuleParseErrorData {
92
+ filename: string;
93
+ error: string;
94
+ timestamp: number;
68
95
  }
96
+ export type RuleEventData = RuleUpdateData | RuleAddedData | RuleRemovedData | RuleParseErrorData;
97
+ export type EngineActionHandler = (params: ActionParams, context: TriggerContext) => Promise<unknown> | unknown;
69
98
  export type TriggerCondition = Condition;
70
99
  export type TriggerAction = Action;
100
+ export type TriggerConditionGroup = ConditionGroup;
71
101
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -10,15 +10,21 @@ export declare enum EngineEvent {
10
10
  ACTION_SUCCESS = "action:success",
11
11
  ACTION_ERROR = "action:error"
12
12
  }
13
+ export declare enum RuleEvent {
14
+ RULE_ADDED = "rule:added",
15
+ RULE_REMOVED = "rule:removed",
16
+ RULE_UPDATED = "rule:updated"
17
+ }
13
18
  export declare const engineEvents: typeof EngineEvent;
19
+ export declare const ruleEvents: typeof RuleEvent;
14
20
  export declare class TriggerEmitter {
15
21
  private static instance;
16
22
  private handlers;
17
23
  private constructor();
18
24
  static getInstance(): TriggerEmitter;
19
- on<T = any>(event: EngineEvent | string, handler: Handler<T>): () => void;
20
- off(event: EngineEvent | string, handler: Handler): void;
21
- emit<T = any>(event: EngineEvent | string, data: T): void;
25
+ on<T = any>(event: EngineEvent | RuleEvent | string, handler: Handler<T>): () => void;
26
+ off(event: EngineEvent | RuleEvent | string, handler: Handler): void;
27
+ emit<T = any>(event: EngineEvent | RuleEvent | string, data: T): void;
22
28
  }
23
29
  export declare const triggerEmitter: TriggerEmitter;
24
30
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../src/utils/emitter.ts"],"names":[],"mappings":"AAAA,KAAK,OAAO,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;AAE1C;;;GAGG;AACH,oBAAY,WAAW;IACrB,YAAY,iBAAiB;IAC7B,WAAW,gBAAgB;IAC3B,UAAU,eAAe;IACzB,cAAc,mBAAmB;IACjC,YAAY,iBAAiB;CAC9B;AACD,eAAO,MAAM,YAAY,oBAAc,CAAC;AACxC,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAmC;IAEnD,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,cAAc;IAOpC,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,WAAW,GAAG,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI;IAWzE,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAQxD,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,WAAW,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI;CAc1D;AAGD,eAAO,MAAM,cAAc,gBAA+B,CAAC"}
1
+ {"version":3,"file":"emitter.d.ts","sourceRoot":"","sources":["../../src/utils/emitter.ts"],"names":[],"mappings":"AAAA,KAAK,OAAO,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;AAE1C;;;GAGG;AACH,oBAAY,WAAW;IACrB,YAAY,iBAAiB;IAC7B,WAAW,gBAAgB;IAC3B,UAAU,eAAe;IACzB,cAAc,mBAAmB;IACjC,YAAY,iBAAiB;CAC9B;AACD,oBAAY,SAAS;IACnB,UAAU,eAAe;IACzB,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;CAC9B;AAED,eAAO,MAAM,YAAY,oBAAc,CAAC;AACxC,eAAO,MAAM,UAAU,kBAAY,CAAC;AACpC,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAmC;IAEnD,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,cAAc;IAOpC,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI;IAWrF,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAQpE,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI;CActE;AAGD,eAAO,MAAM,cAAc,gBAA+B,CAAC"}
@@ -1,10 +1,10 @@
1
- import type { TriggerContext } from "../types";
1
+ import type { TriggerContext, ConditionValue, ComparisonOperator } from "../types";
2
2
  export declare class TriggerUtils {
3
3
  /**
4
4
  * Retrieves a nested value from the context using dot notation.
5
5
  * supports: data.field, globals.envVal, computed.result
6
6
  */
7
- static getNestedValue(path: string, context: TriggerContext): any;
7
+ static getNestedValue(path: string, context: TriggerContext): unknown;
8
8
  /**
9
9
  * Interpolates a string with values from the context.
10
10
  * Example: "Hello ${data.username}" -> "Hello Steve"
@@ -13,6 +13,6 @@ export declare class TriggerUtils {
13
13
  /**
14
14
  * Checks if a value satisfies a comparison operator against a criteria.
15
15
  */
16
- static compare(actual: any, operator: string, criteria: any): boolean;
16
+ static compare(actual: unknown, operator: ComparisonOperator, criteria: ConditionValue): boolean;
17
17
  }
18
18
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C,qBAAa,YAAY;IACvB;;;OAGG;IACH,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,GAAG;IAcjE;;;OAGG;IACH,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM;IAgBrE;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO;CA2CtE"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAEnF,qBAAa,YAAY;IACvB;;;OAGG;IACH,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO;IAkBrE;;;OAGG;IACH,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM;IAgBrE;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO;CAgDjG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "trigger_system",
3
- "version": "1.0.1",
3
+ "version": "1.0.4",
4
4
  "description": "A powerful rule engine and trigger system for JavaScript/TypeScript applications",
5
5
  "main": "dist/node/index.js",
6
6
  "browser": "dist/browser/index.browser.js",