driftdetect-core 0.1.0
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/analyzers/ast-analyzer.d.ts +251 -0
- package/dist/analyzers/ast-analyzer.d.ts.map +1 -0
- package/dist/analyzers/ast-analyzer.js +548 -0
- package/dist/analyzers/ast-analyzer.js.map +1 -0
- package/dist/analyzers/flow-analyzer.d.ts +241 -0
- package/dist/analyzers/flow-analyzer.d.ts.map +1 -0
- package/dist/analyzers/flow-analyzer.js +1219 -0
- package/dist/analyzers/flow-analyzer.js.map +1 -0
- package/dist/analyzers/index.d.ts +18 -0
- package/dist/analyzers/index.d.ts.map +1 -0
- package/dist/analyzers/index.js +19 -0
- package/dist/analyzers/index.js.map +1 -0
- package/dist/analyzers/semantic-analyzer.d.ts +252 -0
- package/dist/analyzers/semantic-analyzer.d.ts.map +1 -0
- package/dist/analyzers/semantic-analyzer.js +1182 -0
- package/dist/analyzers/semantic-analyzer.js.map +1 -0
- package/dist/analyzers/type-analyzer.d.ts +289 -0
- package/dist/analyzers/type-analyzer.d.ts.map +1 -0
- package/dist/analyzers/type-analyzer.js +1269 -0
- package/dist/analyzers/type-analyzer.js.map +1 -0
- package/dist/analyzers/types.d.ts +537 -0
- package/dist/analyzers/types.d.ts.map +1 -0
- package/dist/analyzers/types.js +11 -0
- package/dist/analyzers/types.js.map +1 -0
- package/dist/config/config-loader.d.ts +166 -0
- package/dist/config/config-loader.d.ts.map +1 -0
- package/dist/config/config-loader.js +429 -0
- package/dist/config/config-loader.js.map +1 -0
- package/dist/config/config-validator.d.ts +204 -0
- package/dist/config/config-validator.d.ts.map +1 -0
- package/dist/config/config-validator.js +632 -0
- package/dist/config/config-validator.js.map +1 -0
- package/dist/config/defaults.d.ts +8 -0
- package/dist/config/defaults.d.ts.map +1 -0
- package/dist/config/defaults.js +26 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/config/index.d.ts +10 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +10 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/types.d.ts +47 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +7 -0
- package/dist/config/types.js.map +1 -0
- package/dist/index.d.ts +37 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +39 -0
- package/dist/index.js.map +1 -0
- package/dist/manifest/exporter.d.ts +21 -0
- package/dist/manifest/exporter.d.ts.map +1 -0
- package/dist/manifest/exporter.js +339 -0
- package/dist/manifest/exporter.js.map +1 -0
- package/dist/manifest/index.d.ts +14 -0
- package/dist/manifest/index.d.ts.map +1 -0
- package/dist/manifest/index.js +15 -0
- package/dist/manifest/index.js.map +1 -0
- package/dist/manifest/manifest-store.d.ts +111 -0
- package/dist/manifest/manifest-store.d.ts.map +1 -0
- package/dist/manifest/manifest-store.js +418 -0
- package/dist/manifest/manifest-store.js.map +1 -0
- package/dist/manifest/types.d.ts +238 -0
- package/dist/manifest/types.d.ts.map +1 -0
- package/dist/manifest/types.js +11 -0
- package/dist/manifest/types.js.map +1 -0
- package/dist/matcher/confidence-scorer.d.ts +188 -0
- package/dist/matcher/confidence-scorer.d.ts.map +1 -0
- package/dist/matcher/confidence-scorer.js +302 -0
- package/dist/matcher/confidence-scorer.js.map +1 -0
- package/dist/matcher/index.d.ts +24 -0
- package/dist/matcher/index.d.ts.map +1 -0
- package/dist/matcher/index.js +26 -0
- package/dist/matcher/index.js.map +1 -0
- package/dist/matcher/outlier-detector.d.ts +252 -0
- package/dist/matcher/outlier-detector.d.ts.map +1 -0
- package/dist/matcher/outlier-detector.js +544 -0
- package/dist/matcher/outlier-detector.js.map +1 -0
- package/dist/matcher/pattern-matcher.d.ts +169 -0
- package/dist/matcher/pattern-matcher.d.ts.map +1 -0
- package/dist/matcher/pattern-matcher.js +692 -0
- package/dist/matcher/pattern-matcher.js.map +1 -0
- package/dist/matcher/types.d.ts +476 -0
- package/dist/matcher/types.d.ts.map +1 -0
- package/dist/matcher/types.js +36 -0
- package/dist/matcher/types.js.map +1 -0
- package/dist/parsers/base-parser.d.ts +282 -0
- package/dist/parsers/base-parser.d.ts.map +1 -0
- package/dist/parsers/base-parser.js +421 -0
- package/dist/parsers/base-parser.js.map +1 -0
- package/dist/parsers/css-parser.d.ts +225 -0
- package/dist/parsers/css-parser.d.ts.map +1 -0
- package/dist/parsers/css-parser.js +477 -0
- package/dist/parsers/css-parser.js.map +1 -0
- package/dist/parsers/index.d.ts +15 -0
- package/dist/parsers/index.d.ts.map +1 -0
- package/dist/parsers/index.js +15 -0
- package/dist/parsers/index.js.map +1 -0
- package/dist/parsers/json-parser.d.ts +219 -0
- package/dist/parsers/json-parser.d.ts.map +1 -0
- package/dist/parsers/json-parser.js +602 -0
- package/dist/parsers/json-parser.js.map +1 -0
- package/dist/parsers/markdown-parser.d.ts +276 -0
- package/dist/parsers/markdown-parser.d.ts.map +1 -0
- package/dist/parsers/markdown-parser.js +731 -0
- package/dist/parsers/markdown-parser.js.map +1 -0
- package/dist/parsers/parser-manager.d.ts +294 -0
- package/dist/parsers/parser-manager.d.ts.map +1 -0
- package/dist/parsers/parser-manager.js +738 -0
- package/dist/parsers/parser-manager.js.map +1 -0
- package/dist/parsers/python-parser.d.ts +204 -0
- package/dist/parsers/python-parser.d.ts.map +1 -0
- package/dist/parsers/python-parser.js +517 -0
- package/dist/parsers/python-parser.js.map +1 -0
- package/dist/parsers/types.d.ts +43 -0
- package/dist/parsers/types.d.ts.map +1 -0
- package/dist/parsers/types.js +7 -0
- package/dist/parsers/types.js.map +1 -0
- package/dist/parsers/typescript-parser.d.ts +264 -0
- package/dist/parsers/typescript-parser.d.ts.map +1 -0
- package/dist/parsers/typescript-parser.js +658 -0
- package/dist/parsers/typescript-parser.js.map +1 -0
- package/dist/rules/evaluator.d.ts +305 -0
- package/dist/rules/evaluator.d.ts.map +1 -0
- package/dist/rules/evaluator.js +579 -0
- package/dist/rules/evaluator.js.map +1 -0
- package/dist/rules/index.d.ts +13 -0
- package/dist/rules/index.d.ts.map +1 -0
- package/dist/rules/index.js +13 -0
- package/dist/rules/index.js.map +1 -0
- package/dist/rules/quick-fix-generator.d.ts +334 -0
- package/dist/rules/quick-fix-generator.d.ts.map +1 -0
- package/dist/rules/quick-fix-generator.js +1075 -0
- package/dist/rules/quick-fix-generator.js.map +1 -0
- package/dist/rules/rule-engine.d.ts +241 -0
- package/dist/rules/rule-engine.d.ts.map +1 -0
- package/dist/rules/rule-engine.js +585 -0
- package/dist/rules/rule-engine.js.map +1 -0
- package/dist/rules/severity-manager.d.ts +394 -0
- package/dist/rules/severity-manager.d.ts.map +1 -0
- package/dist/rules/severity-manager.js +619 -0
- package/dist/rules/severity-manager.js.map +1 -0
- package/dist/rules/types.d.ts +370 -0
- package/dist/rules/types.d.ts.map +1 -0
- package/dist/rules/types.js +133 -0
- package/dist/rules/types.js.map +1 -0
- package/dist/rules/variant-manager.d.ts +388 -0
- package/dist/rules/variant-manager.d.ts.map +1 -0
- package/dist/rules/variant-manager.js +777 -0
- package/dist/rules/variant-manager.js.map +1 -0
- package/dist/scanner/change-detector.d.ts +164 -0
- package/dist/scanner/change-detector.d.ts.map +1 -0
- package/dist/scanner/change-detector.js +263 -0
- package/dist/scanner/change-detector.js.map +1 -0
- package/dist/scanner/dependency-graph.d.ts +270 -0
- package/dist/scanner/dependency-graph.d.ts.map +1 -0
- package/dist/scanner/dependency-graph.js +436 -0
- package/dist/scanner/dependency-graph.js.map +1 -0
- package/dist/scanner/file-walker.d.ts +127 -0
- package/dist/scanner/file-walker.d.ts.map +1 -0
- package/dist/scanner/file-walker.js +526 -0
- package/dist/scanner/file-walker.js.map +1 -0
- package/dist/scanner/index.d.ts +12 -0
- package/dist/scanner/index.d.ts.map +1 -0
- package/dist/scanner/index.js +12 -0
- package/dist/scanner/index.js.map +1 -0
- package/dist/scanner/types.d.ts +218 -0
- package/dist/scanner/types.d.ts.map +1 -0
- package/dist/scanner/types.js +10 -0
- package/dist/scanner/types.js.map +1 -0
- package/dist/scanner/worker-pool.d.ts +317 -0
- package/dist/scanner/worker-pool.d.ts.map +1 -0
- package/dist/scanner/worker-pool.js +571 -0
- package/dist/scanner/worker-pool.js.map +1 -0
- package/dist/store/cache-manager.d.ts +179 -0
- package/dist/store/cache-manager.d.ts.map +1 -0
- package/dist/store/cache-manager.js +391 -0
- package/dist/store/cache-manager.js.map +1 -0
- package/dist/store/history-store.d.ts +314 -0
- package/dist/store/history-store.d.ts.map +1 -0
- package/dist/store/history-store.js +707 -0
- package/dist/store/history-store.js.map +1 -0
- package/dist/store/index.d.ts +20 -0
- package/dist/store/index.d.ts.map +1 -0
- package/dist/store/index.js +26 -0
- package/dist/store/index.js.map +1 -0
- package/dist/store/lock-file-manager.d.ts +202 -0
- package/dist/store/lock-file-manager.d.ts.map +1 -0
- package/dist/store/lock-file-manager.js +475 -0
- package/dist/store/lock-file-manager.js.map +1 -0
- package/dist/store/pattern-store.d.ts +289 -0
- package/dist/store/pattern-store.d.ts.map +1 -0
- package/dist/store/pattern-store.js +936 -0
- package/dist/store/pattern-store.js.map +1 -0
- package/dist/store/schema-validator.d.ts +159 -0
- package/dist/store/schema-validator.d.ts.map +1 -0
- package/dist/store/schema-validator.js +1096 -0
- package/dist/store/schema-validator.js.map +1 -0
- package/dist/store/types.d.ts +585 -0
- package/dist/store/types.d.ts.map +1 -0
- package/dist/store/types.js +82 -0
- package/dist/store/types.js.map +1 -0
- package/dist/types/analysis.d.ts +19 -0
- package/dist/types/analysis.d.ts.map +1 -0
- package/dist/types/analysis.js +5 -0
- package/dist/types/analysis.js.map +1 -0
- package/dist/types/common.d.ts +7 -0
- package/dist/types/common.d.ts.map +1 -0
- package/dist/types/common.js +5 -0
- package/dist/types/common.js.map +1 -0
- package/dist/types/index.d.ts +12 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +10 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/patterns.d.ts +40 -0
- package/dist/types/patterns.d.ts.map +1 -0
- package/dist/types/patterns.js +7 -0
- package/dist/types/patterns.js.map +1 -0
- package/dist/types/violations.d.ts +7 -0
- package/dist/types/violations.d.ts.map +1 -0
- package/dist/types/violations.js +7 -0
- package/dist/types/violations.js.map +1 -0
- package/package.json +46 -0
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* History Store - Pattern change tracking and approval history
|
|
3
|
+
*
|
|
4
|
+
* Tracks pattern changes over time and stores approval history.
|
|
5
|
+
* History entries are stored in .drift/history/ directory.
|
|
6
|
+
*
|
|
7
|
+
* @requirements 4.4 - THE Pattern_Store SHALL maintain history of pattern changes in .drift/history/
|
|
8
|
+
*/
|
|
9
|
+
import { EventEmitter } from 'node:events';
|
|
10
|
+
import type { PatternCategory, PatternHistoryEvent, PatternHistory, HistoryEventType, Pattern } from './types.js';
|
|
11
|
+
/**
|
|
12
|
+
* Error thrown when a history operation fails
|
|
13
|
+
*/
|
|
14
|
+
export declare class HistoryStoreError extends Error {
|
|
15
|
+
readonly errorCause: Error | undefined;
|
|
16
|
+
constructor(message: string, errorCause?: Error);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Error thrown when a pattern history is not found
|
|
20
|
+
*/
|
|
21
|
+
export declare class PatternHistoryNotFoundError extends Error {
|
|
22
|
+
readonly patternId: string;
|
|
23
|
+
constructor(patternId: string);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Configuration options for the history store
|
|
27
|
+
*/
|
|
28
|
+
export interface HistoryStoreConfig {
|
|
29
|
+
/** Root directory for .drift folder (defaults to project root) */
|
|
30
|
+
rootDir: string;
|
|
31
|
+
/** Maximum number of history entries per pattern */
|
|
32
|
+
maxEntriesPerPattern: number;
|
|
33
|
+
/** Maximum age for history entries in days */
|
|
34
|
+
maxAgeDays: number;
|
|
35
|
+
/** Whether to auto-save changes */
|
|
36
|
+
autoSave: boolean;
|
|
37
|
+
/** Debounce time for auto-save in milliseconds */
|
|
38
|
+
autoSaveDebounce: number;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Default history store configuration
|
|
42
|
+
*/
|
|
43
|
+
export declare const DEFAULT_HISTORY_STORE_CONFIG: HistoryStoreConfig;
|
|
44
|
+
/**
|
|
45
|
+
* Query options for filtering history events
|
|
46
|
+
*/
|
|
47
|
+
export interface HistoryQuery {
|
|
48
|
+
/** Filter by pattern ID */
|
|
49
|
+
patternId?: string;
|
|
50
|
+
/** Filter by pattern IDs */
|
|
51
|
+
patternIds?: string[];
|
|
52
|
+
/** Filter by event type */
|
|
53
|
+
eventType?: HistoryEventType | HistoryEventType[];
|
|
54
|
+
/** Filter by category */
|
|
55
|
+
category?: PatternCategory | PatternCategory[];
|
|
56
|
+
/** Filter by user */
|
|
57
|
+
user?: string;
|
|
58
|
+
/** Filter events after this date (ISO string) */
|
|
59
|
+
after?: string;
|
|
60
|
+
/** Filter events before this date (ISO string) */
|
|
61
|
+
before?: string;
|
|
62
|
+
/** Maximum number of results */
|
|
63
|
+
limit?: number;
|
|
64
|
+
/** Number of results to skip */
|
|
65
|
+
offset?: number;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Result of a history query
|
|
69
|
+
*/
|
|
70
|
+
export interface HistoryQueryResult {
|
|
71
|
+
/** Matching history events */
|
|
72
|
+
events: PatternHistoryEvent[];
|
|
73
|
+
/** Total count (before pagination) */
|
|
74
|
+
total: number;
|
|
75
|
+
/** Whether there are more results */
|
|
76
|
+
hasMore: boolean;
|
|
77
|
+
/** Query execution time in milliseconds */
|
|
78
|
+
executionTime: number;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Events emitted by the history store
|
|
82
|
+
*/
|
|
83
|
+
export type HistoryStoreEventType = 'event:recorded' | 'history:pruned' | 'file:loaded' | 'file:saved' | 'error';
|
|
84
|
+
/**
|
|
85
|
+
* Event payload for history store events
|
|
86
|
+
*/
|
|
87
|
+
export interface HistoryStoreEvent {
|
|
88
|
+
/** Event type */
|
|
89
|
+
type: HistoryStoreEventType;
|
|
90
|
+
/** Pattern ID (if applicable) */
|
|
91
|
+
patternId?: string;
|
|
92
|
+
/** Additional event data */
|
|
93
|
+
data?: Record<string, unknown>;
|
|
94
|
+
/** ISO timestamp of the event */
|
|
95
|
+
timestamp: string;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* History Store - Manages pattern change history
|
|
99
|
+
*
|
|
100
|
+
* Tracks all pattern changes including:
|
|
101
|
+
* - Pattern created
|
|
102
|
+
* - Pattern updated
|
|
103
|
+
* - Pattern approved
|
|
104
|
+
* - Pattern ignored
|
|
105
|
+
* - Pattern deleted
|
|
106
|
+
* - Confidence changed
|
|
107
|
+
* - Locations changed
|
|
108
|
+
* - Severity changed
|
|
109
|
+
*
|
|
110
|
+
* History is stored in .drift/history/patterns.json
|
|
111
|
+
*
|
|
112
|
+
* @requirements 4.4 - Pattern history tracked in .drift/history/
|
|
113
|
+
*/
|
|
114
|
+
export declare class HistoryStore extends EventEmitter {
|
|
115
|
+
private readonly config;
|
|
116
|
+
private readonly historyDir;
|
|
117
|
+
private readonly historyFilePath;
|
|
118
|
+
private histories;
|
|
119
|
+
private loaded;
|
|
120
|
+
private dirty;
|
|
121
|
+
private saveTimeout;
|
|
122
|
+
constructor(config?: Partial<HistoryStoreConfig>);
|
|
123
|
+
/**
|
|
124
|
+
* Initialize the history store
|
|
125
|
+
*
|
|
126
|
+
* Creates necessary directories and loads existing history.
|
|
127
|
+
*/
|
|
128
|
+
initialize(): Promise<void>;
|
|
129
|
+
/**
|
|
130
|
+
* Load history from disk
|
|
131
|
+
*
|
|
132
|
+
* @requirements 4.4 - Load history from .drift/history/
|
|
133
|
+
*/
|
|
134
|
+
load(): Promise<void>;
|
|
135
|
+
/**
|
|
136
|
+
* Save history to disk
|
|
137
|
+
*
|
|
138
|
+
* @requirements 4.4 - Persist history in .drift/history/
|
|
139
|
+
*/
|
|
140
|
+
save(): Promise<void>;
|
|
141
|
+
/**
|
|
142
|
+
* Schedule an auto-save if enabled
|
|
143
|
+
*/
|
|
144
|
+
private scheduleAutoSave;
|
|
145
|
+
/**
|
|
146
|
+
* Record a history event for a pattern
|
|
147
|
+
*
|
|
148
|
+
* @param patternId - Pattern ID
|
|
149
|
+
* @param category - Pattern category
|
|
150
|
+
* @param eventType - Type of event
|
|
151
|
+
* @param options - Additional event options
|
|
152
|
+
*/
|
|
153
|
+
recordEvent(patternId: string, category: PatternCategory, eventType: HistoryEventType, options?: {
|
|
154
|
+
user?: string;
|
|
155
|
+
previousValue?: unknown;
|
|
156
|
+
newValue?: unknown;
|
|
157
|
+
details?: Record<string, unknown>;
|
|
158
|
+
}): PatternHistoryEvent;
|
|
159
|
+
/**
|
|
160
|
+
* Record a pattern creation event
|
|
161
|
+
*/
|
|
162
|
+
recordCreated(pattern: Pattern, user?: string): PatternHistoryEvent;
|
|
163
|
+
/**
|
|
164
|
+
* Record a pattern update event
|
|
165
|
+
*/
|
|
166
|
+
recordUpdated(pattern: Pattern, previousPattern: Pattern, user?: string): PatternHistoryEvent;
|
|
167
|
+
/**
|
|
168
|
+
* Record a pattern approval event
|
|
169
|
+
*/
|
|
170
|
+
recordApproved(pattern: Pattern, user?: string): PatternHistoryEvent;
|
|
171
|
+
/**
|
|
172
|
+
* Record a pattern ignore event
|
|
173
|
+
*/
|
|
174
|
+
recordIgnored(pattern: Pattern, user?: string): PatternHistoryEvent;
|
|
175
|
+
/**
|
|
176
|
+
* Record a pattern deletion event
|
|
177
|
+
*/
|
|
178
|
+
recordDeleted(pattern: Pattern, user?: string): PatternHistoryEvent;
|
|
179
|
+
/**
|
|
180
|
+
* Record a confidence change event
|
|
181
|
+
*/
|
|
182
|
+
recordConfidenceChanged(pattern: Pattern, previousScore: number, user?: string): PatternHistoryEvent;
|
|
183
|
+
/**
|
|
184
|
+
* Record a locations change event
|
|
185
|
+
*/
|
|
186
|
+
recordLocationsChanged(pattern: Pattern, previousCount: number, user?: string): PatternHistoryEvent;
|
|
187
|
+
/**
|
|
188
|
+
* Record a severity change event
|
|
189
|
+
*/
|
|
190
|
+
recordSeverityChanged(pattern: Pattern, previousSeverity: string, user?: string): PatternHistoryEvent;
|
|
191
|
+
/**
|
|
192
|
+
* Get history for a specific pattern
|
|
193
|
+
*
|
|
194
|
+
* @param patternId - Pattern ID
|
|
195
|
+
* @returns Pattern history or undefined if not found
|
|
196
|
+
*/
|
|
197
|
+
getPatternHistory(patternId: string): PatternHistory | undefined;
|
|
198
|
+
/**
|
|
199
|
+
* Get history for a specific pattern, throwing if not found
|
|
200
|
+
*
|
|
201
|
+
* @param patternId - Pattern ID
|
|
202
|
+
* @returns Pattern history
|
|
203
|
+
* @throws PatternHistoryNotFoundError if not found
|
|
204
|
+
*/
|
|
205
|
+
getPatternHistoryOrThrow(patternId: string): PatternHistory;
|
|
206
|
+
/**
|
|
207
|
+
* Check if history exists for a pattern
|
|
208
|
+
*
|
|
209
|
+
* @param patternId - Pattern ID
|
|
210
|
+
* @returns True if history exists
|
|
211
|
+
*/
|
|
212
|
+
hasPatternHistory(patternId: string): boolean;
|
|
213
|
+
/**
|
|
214
|
+
* Query history events with filtering and pagination
|
|
215
|
+
*
|
|
216
|
+
* @param query - Query options
|
|
217
|
+
* @returns Query result with matching events
|
|
218
|
+
*/
|
|
219
|
+
query(query?: HistoryQuery): HistoryQueryResult;
|
|
220
|
+
/**
|
|
221
|
+
* Apply filters to events
|
|
222
|
+
*/
|
|
223
|
+
private applyFilters;
|
|
224
|
+
/**
|
|
225
|
+
* Get all history events
|
|
226
|
+
*/
|
|
227
|
+
getAllEvents(): PatternHistoryEvent[];
|
|
228
|
+
/**
|
|
229
|
+
* Get events by type
|
|
230
|
+
*/
|
|
231
|
+
getEventsByType(eventType: HistoryEventType): PatternHistoryEvent[];
|
|
232
|
+
/**
|
|
233
|
+
* Get events by category
|
|
234
|
+
*/
|
|
235
|
+
getEventsByCategory(category: PatternCategory): PatternHistoryEvent[];
|
|
236
|
+
/**
|
|
237
|
+
* Get events in date range
|
|
238
|
+
*/
|
|
239
|
+
getEventsInDateRange(after: string, before: string): PatternHistoryEvent[];
|
|
240
|
+
/**
|
|
241
|
+
* Get recent events
|
|
242
|
+
*
|
|
243
|
+
* @param limit - Maximum number of events to return
|
|
244
|
+
*/
|
|
245
|
+
getRecentEvents(limit?: number): PatternHistoryEvent[];
|
|
246
|
+
/**
|
|
247
|
+
* Get approval history
|
|
248
|
+
*/
|
|
249
|
+
getApprovalHistory(): PatternHistoryEvent[];
|
|
250
|
+
/**
|
|
251
|
+
* Get events by user
|
|
252
|
+
*/
|
|
253
|
+
getEventsByUser(user: string): PatternHistoryEvent[];
|
|
254
|
+
/**
|
|
255
|
+
* Prune history for a specific pattern
|
|
256
|
+
*
|
|
257
|
+
* Removes old entries based on maxEntriesPerPattern and maxAgeDays config.
|
|
258
|
+
*
|
|
259
|
+
* @param patternId - Pattern ID to prune
|
|
260
|
+
*/
|
|
261
|
+
private prunePatternHistory;
|
|
262
|
+
/**
|
|
263
|
+
* Prune all history
|
|
264
|
+
*
|
|
265
|
+
* Removes old entries based on maxEntriesPerPattern and maxAgeDays config.
|
|
266
|
+
*/
|
|
267
|
+
prune(): void;
|
|
268
|
+
/**
|
|
269
|
+
* Delete history for a specific pattern
|
|
270
|
+
*
|
|
271
|
+
* @param patternId - Pattern ID
|
|
272
|
+
* @returns True if history was deleted
|
|
273
|
+
*/
|
|
274
|
+
deletePatternHistory(patternId: string): boolean;
|
|
275
|
+
/**
|
|
276
|
+
* Get statistics about the history store
|
|
277
|
+
*/
|
|
278
|
+
getStats(): {
|
|
279
|
+
totalPatterns: number;
|
|
280
|
+
totalEvents: number;
|
|
281
|
+
eventsByType: Record<HistoryEventType, number>;
|
|
282
|
+
oldestEvent: string | null;
|
|
283
|
+
newestEvent: string | null;
|
|
284
|
+
};
|
|
285
|
+
/**
|
|
286
|
+
* Emit a history store event
|
|
287
|
+
*/
|
|
288
|
+
private emitEvent;
|
|
289
|
+
/**
|
|
290
|
+
* Get the number of patterns with history
|
|
291
|
+
*/
|
|
292
|
+
get size(): number;
|
|
293
|
+
/**
|
|
294
|
+
* Check if the store has been loaded
|
|
295
|
+
*/
|
|
296
|
+
get isLoaded(): boolean;
|
|
297
|
+
/**
|
|
298
|
+
* Check if there are unsaved changes
|
|
299
|
+
*/
|
|
300
|
+
get isDirty(): boolean;
|
|
301
|
+
/**
|
|
302
|
+
* Get the history directory path
|
|
303
|
+
*/
|
|
304
|
+
get path(): string;
|
|
305
|
+
/**
|
|
306
|
+
* Clear all history from memory (does not affect disk)
|
|
307
|
+
*/
|
|
308
|
+
clear(): void;
|
|
309
|
+
/**
|
|
310
|
+
* Dispose of the history store
|
|
311
|
+
*/
|
|
312
|
+
dispose(): void;
|
|
313
|
+
}
|
|
314
|
+
//# sourceMappingURL=history-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"history-store.d.ts","sourceRoot":"","sources":["../../src/store/history-store.ts"],"names":[],"mappings":"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"}
|