trigger_system 1.2.4 → 1.2.6
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.
- package/dist/io/loader/index.d.ts +2 -1
- package/dist/io/loader/index.d.ts.map +1 -1
- package/dist/io/loader/persistence.d.ts +13 -2
- package/dist/io/loader/persistence.d.ts.map +1 -1
- package/dist/io/loader/registry.d.ts +46 -3
- package/dist/io/loader/registry.d.ts.map +1 -1
- package/dist/io/loader/types.d.ts +12 -0
- package/dist/io/loader/types.d.ts.map +1 -1
- package/dist/node/node.js +92 -92
- package/dist/node/node.js.map +8 -4
- package/dist/node.d.ts +1 -1
- package/dist/node.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -28,7 +28,7 @@ export { RuleRegistry } from "./registry";
|
|
|
28
28
|
export { RulePersistence } from "./persistence";
|
|
29
29
|
export { RuleQuery } from "./query";
|
|
30
30
|
export { RuleWatcher } from "./watch";
|
|
31
|
-
export type { RegistryEntry, LoaderOptions, RuleFileInfo } from "./types";
|
|
31
|
+
export type { RegistryEntry, FileEntry, LoaderOptions, RuleFileInfo } from "./types";
|
|
32
32
|
export declare class TriggerLoader {
|
|
33
33
|
private static defaultDir;
|
|
34
34
|
private static watcher;
|
|
@@ -40,6 +40,7 @@ export declare class TriggerLoader {
|
|
|
40
40
|
static loadRulesFromDir(dirPath: string): Promise<TriggerRule[]>;
|
|
41
41
|
/**
|
|
42
42
|
* Loads rules from a YAML file (supports multi-document)
|
|
43
|
+
* Assigns ruleIndex for multi-rule files
|
|
43
44
|
*/
|
|
44
45
|
static loadRule(filePath: string, debug?: (_err: YamlParserError | unknown) => void): Promise<TriggerRule[]>;
|
|
45
46
|
static watchRules(dirPath: string, onUpdate: (rules: TriggerRule[]) => void): fs.FSWatcher;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/io/loader/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG7E,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/io/loader/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG7E,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAMrF,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,UAAU,CAAqB;IAC9C,OAAO,CAAC,MAAM,CAAC,OAAO,CAA6B;IAMnD,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQ3C,MAAM,CAAC,aAAa,IAAI,MAAM;IAQ9B;;OAEG;WACU,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAoCtE;;;OAGG;WACU,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,IAAI,MAAM,eAAe,GAAG,OAAO,SAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAkChH,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,IAAI,GAAG,EAAE,CAAC,SAAS;IAkB1F,MAAM,CAAC,YAAY,IAAI,IAAI;CAO5B"}
|
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
* TriggerLoader Persistence
|
|
3
3
|
*
|
|
4
4
|
* File system operations for loading and saving rules.
|
|
5
|
+
* Supports multiple rules per file.
|
|
5
6
|
*/
|
|
6
7
|
import type { TriggerRule } from "../../types";
|
|
7
8
|
import { type YamlParserError } from "../../sdk/yaml-parser";
|
|
8
9
|
/**
|
|
9
10
|
* Persistence operations for rules
|
|
11
|
+
* Supports grouping rules by file
|
|
10
12
|
*/
|
|
11
13
|
export declare class RulePersistence {
|
|
12
14
|
/**
|
|
@@ -18,13 +20,22 @@ export declare class RulePersistence {
|
|
|
18
20
|
*/
|
|
19
21
|
static loadFile(filePath: string, debug?: (err: YamlParserError | unknown) => void): Promise<TriggerRule[]>;
|
|
20
22
|
/**
|
|
21
|
-
* Save a rule to file
|
|
23
|
+
* Save a single rule to file (overwrites existing file)
|
|
22
24
|
*/
|
|
23
25
|
static saveRule(rule: TriggerRule, filePath: string): Promise<void>;
|
|
24
26
|
/**
|
|
25
|
-
* Save multiple rules
|
|
27
|
+
* Save multiple rules to a single file
|
|
28
|
+
*/
|
|
29
|
+
static saveRulesToFile(rules: TriggerRule[], filePath: string): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* Save multiple rules, grouping by file path
|
|
32
|
+
* Rules with the same filePath are saved together in one file
|
|
26
33
|
*/
|
|
27
34
|
static saveAll(rules: TriggerRule[], baseDir: string, getFilePath?: (ruleId: string) => string): Promise<string[]>;
|
|
35
|
+
/**
|
|
36
|
+
* Save all rules from a file entry
|
|
37
|
+
*/
|
|
38
|
+
static saveFile(rules: TriggerRule[], filePath: string): Promise<void>;
|
|
28
39
|
/**
|
|
29
40
|
* Delete a rule file
|
|
30
41
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../../src/io/loader/persistence.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../../src/io/loader/persistence.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG7E;;;GAGG;AACH,qBAAa,eAAe;IAC1B;;OAEG;WACU,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAoCjE;;OAEG;WACU,QAAQ,CACnB,QAAQ,EAAE,MAAM,EAChB,KAAK,GAAE,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,KAAK,IAAe,GACzD,OAAO,CAAC,WAAW,EAAE,CAAC;IAqBzB;;OAEG;WACU,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUzE;;OAEG;WACU,eAAe,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcnF;;;OAGG;WACU,OAAO,CAClB,KAAK,EAAE,WAAW,EAAE,EACpB,OAAO,EAAE,MAAM,EACf,WAAW,GAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAwC,GACxE,OAAO,CAAC,MAAM,EAAE,CAAC;IA0BpB;;OAEG;WACU,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5E;;OAEG;WACU,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAS3D;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAI5C;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;CAKxC"}
|
|
@@ -2,14 +2,17 @@
|
|
|
2
2
|
* TriggerLoader Registry
|
|
3
3
|
*
|
|
4
4
|
* In-memory registry for managing rules.
|
|
5
|
+
* Supports multiple rules per file.
|
|
5
6
|
*/
|
|
6
7
|
import type { TriggerRule } from "../../types";
|
|
7
|
-
import type { RegistryEntry } from "./types";
|
|
8
|
+
import type { RegistryEntry, FileEntry } from "./types";
|
|
8
9
|
/**
|
|
9
10
|
* Registry class for managing rules in memory
|
|
11
|
+
* Supports grouping rules by file
|
|
10
12
|
*/
|
|
11
13
|
export declare class RuleRegistry {
|
|
12
14
|
private registry;
|
|
15
|
+
private fileRegistry;
|
|
13
16
|
private defaultDir;
|
|
14
17
|
/**
|
|
15
18
|
* Clear the registry
|
|
@@ -26,11 +29,15 @@ export declare class RuleRegistry {
|
|
|
26
29
|
/**
|
|
27
30
|
* Register a rule
|
|
28
31
|
*/
|
|
29
|
-
register(rule: TriggerRule, filePath?: string): void;
|
|
32
|
+
register(rule: TriggerRule, filePath?: string, ruleIndex?: number): void;
|
|
30
33
|
/**
|
|
31
34
|
* Register multiple rules
|
|
35
|
+
* Groups rules by file when they share the same filePath
|
|
36
|
+
* @param rules - Array of rules to register
|
|
37
|
+
* @param sourceFilePath - Optional: The actual file path where these rules came from
|
|
38
|
+
* If provided, all rules will be grouped under this file path
|
|
32
39
|
*/
|
|
33
|
-
registerAll(rules: TriggerRule[],
|
|
40
|
+
registerAll(rules: TriggerRule[], sourceFilePath?: string): void;
|
|
34
41
|
/**
|
|
35
42
|
* Get a rule by ID
|
|
36
43
|
*/
|
|
@@ -51,6 +58,26 @@ export declare class RuleRegistry {
|
|
|
51
58
|
* Get registry entry
|
|
52
59
|
*/
|
|
53
60
|
getEntry(ruleId: string): RegistryEntry | undefined;
|
|
61
|
+
/**
|
|
62
|
+
* Get file entry by file path
|
|
63
|
+
*/
|
|
64
|
+
getFileEntry(filePath: string): FileEntry | undefined;
|
|
65
|
+
/**
|
|
66
|
+
* Get all rules from a specific file
|
|
67
|
+
*/
|
|
68
|
+
getRulesByFile(filePath: string): TriggerRule[];
|
|
69
|
+
/**
|
|
70
|
+
* Get all file entries
|
|
71
|
+
*/
|
|
72
|
+
getAllFileEntries(): FileEntry[];
|
|
73
|
+
/**
|
|
74
|
+
* Get file path for a rule
|
|
75
|
+
*/
|
|
76
|
+
getFilePath(ruleId: string): string | undefined;
|
|
77
|
+
/**
|
|
78
|
+
* Check if a file has multiple rules
|
|
79
|
+
*/
|
|
80
|
+
isMultiRuleFile(filePath: string): boolean;
|
|
54
81
|
/**
|
|
55
82
|
* Add a new rule
|
|
56
83
|
*/
|
|
@@ -75,6 +102,14 @@ export declare class RuleRegistry {
|
|
|
75
102
|
* Mark as saved
|
|
76
103
|
*/
|
|
77
104
|
markAsSaved(ruleId: string, filePath?: string): void;
|
|
105
|
+
/**
|
|
106
|
+
* Mark all rules in a file as saved
|
|
107
|
+
*/
|
|
108
|
+
markFileAsSaved(filePath: string): void;
|
|
109
|
+
/**
|
|
110
|
+
* Mark a file as modified
|
|
111
|
+
*/
|
|
112
|
+
markFileAsModified(filePath: string): void;
|
|
78
113
|
/**
|
|
79
114
|
* Generate unique ID
|
|
80
115
|
*/
|
|
@@ -87,5 +122,13 @@ export declare class RuleRegistry {
|
|
|
87
122
|
* Get values iterator
|
|
88
123
|
*/
|
|
89
124
|
values(): IterableIterator<RegistryEntry>;
|
|
125
|
+
/**
|
|
126
|
+
* Get file registry entries iterator
|
|
127
|
+
*/
|
|
128
|
+
fileEntries(): IterableIterator<FileEntry>;
|
|
129
|
+
/**
|
|
130
|
+
* Get file registry size
|
|
131
|
+
*/
|
|
132
|
+
fileCount(): number;
|
|
90
133
|
}
|
|
91
134
|
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/io/loader/registry.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/io/loader/registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAExD;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAyC;IACzD,OAAO,CAAC,YAAY,CAAqC;IACzD,OAAO,CAAC,UAAU,CAAqB;IAEvC;;OAEG;IACH,KAAK,IAAI,IAAI;IAMb;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIpC;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAuCxE;;;;;;OAMG;IACH,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI;IA8ChE;;OAEG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAI5C;;OAEG;IACH,MAAM,IAAI,WAAW,EAAE;IAIvB;;OAEG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAI5B;;OAEG;IACH,IAAI,IAAI,MAAM;IAId;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAInD;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAIrD;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,EAAE;IAK/C;;OAEG;IACH,iBAAiB,IAAI,SAAS,EAAE;IAIhC;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI/C;;OAEG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAK1C;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW;IAetD;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW;IAoBlE;;OAEG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAI/B;;OAEG;IACH,WAAW,IAAI,WAAW,EAAE;IAM5B;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAoBpD;;OAEG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAevC;;OAEG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAO1C;;OAEG;IACH,OAAO,CAAC,UAAU;IAIlB;;OAEG;IACH,OAAO,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAIpD;;OAEG;IACH,MAAM,IAAI,gBAAgB,CAAC,aAAa,CAAC;IAIzC;;OAEG;IACH,WAAW,IAAI,gBAAgB,CAAC,SAAS,CAAC;IAI1C;;OAEG;IACH,SAAS,IAAI,MAAM;CAGpB"}
|
|
@@ -6,12 +6,24 @@
|
|
|
6
6
|
import type { TriggerRule } from "../../types";
|
|
7
7
|
/**
|
|
8
8
|
* Registry entry containing a rule and its metadata
|
|
9
|
+
* Supports multiple rules per file
|
|
9
10
|
*/
|
|
10
11
|
export interface RegistryEntry {
|
|
11
12
|
rule: TriggerRule;
|
|
12
13
|
filePath?: string;
|
|
13
14
|
loadedAt: number;
|
|
14
15
|
modified: boolean;
|
|
16
|
+
/** Index of this rule within the file (for multi-rule files) */
|
|
17
|
+
ruleIndex?: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* File entry containing all rules from a single file
|
|
21
|
+
*/
|
|
22
|
+
export interface FileEntry {
|
|
23
|
+
filePath: string;
|
|
24
|
+
rules: TriggerRule[];
|
|
25
|
+
loadedAt: number;
|
|
26
|
+
modified: boolean;
|
|
15
27
|
}
|
|
16
28
|
/**
|
|
17
29
|
* Loader configuration options
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/io/loader/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/io/loader/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,gEAAgE;IAChE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;CACjB"}
|