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 @@
|
|
|
1
|
+
{"version":3,"file":"schema-validator.js","sourceRoot":"","sources":["../../src/store/schema-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,585 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Store type definitions
|
|
3
|
+
*
|
|
4
|
+
* Provides comprehensive types for pattern storage, history tracking,
|
|
5
|
+
* and querying. Patterns are stored as JSON in .drift/patterns/ directory.
|
|
6
|
+
*
|
|
7
|
+
* @requirements 4.1 - Patterns SHALL be stored in .drift/patterns/ directory
|
|
8
|
+
* @requirements 4.2 - Pattern files SHALL use JSON format with defined schema
|
|
9
|
+
* @requirements 4.3 - Patterns SHALL be organized by category subdirectories
|
|
10
|
+
* @requirements 4.4 - Pattern history SHALL be tracked in .drift/history/
|
|
11
|
+
* @requirements 4.5 - Pattern schema SHALL be validated on load/save
|
|
12
|
+
* @requirements 4.6 - Patterns SHALL support querying by category, confidence, status
|
|
13
|
+
* @requirements 4.7 - drift.lock SHALL snapshot approved patterns
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Status of a pattern in the system
|
|
17
|
+
*
|
|
18
|
+
* - discovered: Pattern found but not yet reviewed
|
|
19
|
+
* - approved: Pattern approved for enforcement
|
|
20
|
+
* - ignored: Pattern explicitly ignored by user
|
|
21
|
+
*
|
|
22
|
+
* @requirements 4.3 - Patterns organized by status subdirectories
|
|
23
|
+
*/
|
|
24
|
+
export type PatternStatus = 'discovered' | 'approved' | 'ignored';
|
|
25
|
+
/**
|
|
26
|
+
* Valid state transitions for patterns
|
|
27
|
+
*
|
|
28
|
+
* @requirements 4.3 - Pattern state management
|
|
29
|
+
*/
|
|
30
|
+
export declare const VALID_STATUS_TRANSITIONS: Record<PatternStatus, PatternStatus[]>;
|
|
31
|
+
/**
|
|
32
|
+
* Categories of patterns that can be detected
|
|
33
|
+
*
|
|
34
|
+
* Each category corresponds to a detector category and maps to
|
|
35
|
+
* a subdirectory in .drift/patterns/
|
|
36
|
+
*
|
|
37
|
+
* @requirements 4.3 - Patterns organized by category subdirectories
|
|
38
|
+
*/
|
|
39
|
+
export type PatternCategory = 'structural' | 'components' | 'styling' | 'api' | 'auth' | 'errors' | 'data-access' | 'testing' | 'logging' | 'security' | 'config' | 'types' | 'performance' | 'accessibility' | 'documentation';
|
|
40
|
+
/**
|
|
41
|
+
* Array of all valid pattern categories
|
|
42
|
+
*/
|
|
43
|
+
export declare const PATTERN_CATEGORIES: PatternCategory[];
|
|
44
|
+
/**
|
|
45
|
+
* Severity levels for pattern violations
|
|
46
|
+
*
|
|
47
|
+
* - error: Blocks commits and merges
|
|
48
|
+
* - warning: Displayed but doesn't block
|
|
49
|
+
* - info: Informational only
|
|
50
|
+
* - hint: Subtle suggestion
|
|
51
|
+
*/
|
|
52
|
+
export type Severity = 'error' | 'warning' | 'info' | 'hint';
|
|
53
|
+
/**
|
|
54
|
+
* Severity level ordering (higher = more severe)
|
|
55
|
+
*/
|
|
56
|
+
export declare const SEVERITY_ORDER: Record<Severity, number>;
|
|
57
|
+
/**
|
|
58
|
+
* Confidence level classification based on score thresholds
|
|
59
|
+
*
|
|
60
|
+
* @requirements 5.3 - High confidence: score >= 0.85
|
|
61
|
+
* @requirements 5.4 - Medium confidence: score >= 0.65 and < 0.85
|
|
62
|
+
* @requirements 5.5 - Low confidence: score >= 0.45 and < 0.65
|
|
63
|
+
* @requirements 5.6 - Uncertain: score < 0.45
|
|
64
|
+
*/
|
|
65
|
+
export type ConfidenceLevel = 'high' | 'medium' | 'low' | 'uncertain';
|
|
66
|
+
/**
|
|
67
|
+
* Confidence information for a pattern
|
|
68
|
+
*
|
|
69
|
+
* @requirements 5.1 - Confidence scoring with frequency, consistency, age, spread
|
|
70
|
+
* @requirements 5.2 - Confidence score between 0.0 and 1.0
|
|
71
|
+
*/
|
|
72
|
+
export interface ConfidenceInfo {
|
|
73
|
+
/** Frequency score (0.0 to 1.0) - % of applicable locations */
|
|
74
|
+
frequency: number;
|
|
75
|
+
/** Consistency score (0.0 to 1.0) - variance measure */
|
|
76
|
+
consistency: number;
|
|
77
|
+
/** Age in days since first observation */
|
|
78
|
+
age: number;
|
|
79
|
+
/** Spread - number of files containing the pattern */
|
|
80
|
+
spread: number;
|
|
81
|
+
/** Weighted overall score (0.0 to 1.0) */
|
|
82
|
+
score: number;
|
|
83
|
+
/** Confidence level classification */
|
|
84
|
+
level: ConfidenceLevel;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Location of a pattern occurrence in source code
|
|
88
|
+
*/
|
|
89
|
+
export interface PatternLocation {
|
|
90
|
+
/** File path (relative to project root) */
|
|
91
|
+
file: string;
|
|
92
|
+
/** Line number (1-indexed) */
|
|
93
|
+
line: number;
|
|
94
|
+
/** Column number (1-indexed) */
|
|
95
|
+
column: number;
|
|
96
|
+
/** End line number (optional, 1-indexed) */
|
|
97
|
+
endLine?: number;
|
|
98
|
+
/** End column number (optional, 1-indexed) */
|
|
99
|
+
endColumn?: number;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Location of an outlier with reason for deviation
|
|
103
|
+
*/
|
|
104
|
+
export interface OutlierLocation extends PatternLocation {
|
|
105
|
+
/** Reason why this location is an outlier */
|
|
106
|
+
reason: string;
|
|
107
|
+
/** Deviation score (0.0 to 1.0, higher = more deviation) */
|
|
108
|
+
deviationScore?: number;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Type of detection method used by a detector
|
|
112
|
+
*/
|
|
113
|
+
export type DetectorType = 'ast' | 'regex' | 'semantic' | 'structural' | 'custom';
|
|
114
|
+
/**
|
|
115
|
+
* Configuration for a pattern detector
|
|
116
|
+
*/
|
|
117
|
+
export interface DetectorConfig {
|
|
118
|
+
/** Type of detection method */
|
|
119
|
+
type: DetectorType;
|
|
120
|
+
/** Detector-specific configuration */
|
|
121
|
+
config: Record<string, unknown>;
|
|
122
|
+
/** AST-specific configuration (when type is 'ast') */
|
|
123
|
+
ast?: ASTDetectorConfig;
|
|
124
|
+
/** Regex-specific configuration (when type is 'regex') */
|
|
125
|
+
regex?: RegexDetectorConfig;
|
|
126
|
+
/** Structural-specific configuration (when type is 'structural') */
|
|
127
|
+
structural?: StructuralDetectorConfig;
|
|
128
|
+
/** Custom detector configuration (when type is 'custom') */
|
|
129
|
+
custom?: CustomDetectorConfig;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Configuration for AST-based detection
|
|
133
|
+
*/
|
|
134
|
+
export interface ASTDetectorConfig {
|
|
135
|
+
/** AST node type to match */
|
|
136
|
+
nodeType: string;
|
|
137
|
+
/** Tree-sitter query (optional) */
|
|
138
|
+
query?: string;
|
|
139
|
+
/** Properties to match on the node */
|
|
140
|
+
properties?: Record<string, unknown>;
|
|
141
|
+
/** Child patterns to match */
|
|
142
|
+
children?: ASTDetectorConfig[];
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Configuration for regex-based detection
|
|
146
|
+
*/
|
|
147
|
+
export interface RegexDetectorConfig {
|
|
148
|
+
/** Regular expression pattern */
|
|
149
|
+
pattern: string;
|
|
150
|
+
/** Regex flags */
|
|
151
|
+
flags?: string;
|
|
152
|
+
/** Named capture groups */
|
|
153
|
+
captureGroups?: string[];
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Configuration for structural detection
|
|
157
|
+
*/
|
|
158
|
+
export interface StructuralDetectorConfig {
|
|
159
|
+
/** File path pattern (glob) */
|
|
160
|
+
pathPattern?: string;
|
|
161
|
+
/** Directory structure pattern */
|
|
162
|
+
directoryPattern?: string;
|
|
163
|
+
/** File naming convention pattern */
|
|
164
|
+
namingPattern?: string;
|
|
165
|
+
/** Required sibling files */
|
|
166
|
+
requiredSiblings?: string[];
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Configuration for custom detection
|
|
170
|
+
*/
|
|
171
|
+
export interface CustomDetectorConfig {
|
|
172
|
+
/** Custom detector identifier */
|
|
173
|
+
detectorId: string;
|
|
174
|
+
/** Custom configuration options */
|
|
175
|
+
options?: Record<string, unknown>;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Metadata for a pattern
|
|
179
|
+
*/
|
|
180
|
+
export interface PatternMetadata {
|
|
181
|
+
/** ISO timestamp when pattern was first detected */
|
|
182
|
+
firstSeen: string;
|
|
183
|
+
/** ISO timestamp when pattern was last seen */
|
|
184
|
+
lastSeen: string;
|
|
185
|
+
/** ISO timestamp when pattern was approved (if approved) */
|
|
186
|
+
approvedAt?: string;
|
|
187
|
+
/** User who approved the pattern (if approved) */
|
|
188
|
+
approvedBy?: string;
|
|
189
|
+
/** Version of the pattern definition */
|
|
190
|
+
version?: string;
|
|
191
|
+
/** Tags for additional categorization */
|
|
192
|
+
tags?: string[];
|
|
193
|
+
/** Related pattern IDs */
|
|
194
|
+
relatedPatterns?: string[];
|
|
195
|
+
/** Source of the pattern (e.g., 'auto-detected', 'imported', 'cheatcode2026') */
|
|
196
|
+
source?: string;
|
|
197
|
+
/** Custom metadata fields */
|
|
198
|
+
custom?: Record<string, unknown>;
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* A pattern stored in the pattern store
|
|
202
|
+
*
|
|
203
|
+
* This is the primary pattern type used throughout the store module.
|
|
204
|
+
*
|
|
205
|
+
* @requirements 4.2 - Pattern JSON schema
|
|
206
|
+
*/
|
|
207
|
+
export interface Pattern {
|
|
208
|
+
/** Unique pattern identifier */
|
|
209
|
+
id: string;
|
|
210
|
+
/** Pattern category */
|
|
211
|
+
category: PatternCategory;
|
|
212
|
+
/** Pattern subcategory for more specific classification */
|
|
213
|
+
subcategory: string;
|
|
214
|
+
/** Human-readable pattern name */
|
|
215
|
+
name: string;
|
|
216
|
+
/** Detailed pattern description */
|
|
217
|
+
description: string;
|
|
218
|
+
/** Detector configuration */
|
|
219
|
+
detector: DetectorConfig;
|
|
220
|
+
/** Confidence information */
|
|
221
|
+
confidence: ConfidenceInfo;
|
|
222
|
+
/** Locations where pattern is found */
|
|
223
|
+
locations: PatternLocation[];
|
|
224
|
+
/** Outlier locations that deviate from the pattern */
|
|
225
|
+
outliers: OutlierLocation[];
|
|
226
|
+
/** Pattern metadata */
|
|
227
|
+
metadata: PatternMetadata;
|
|
228
|
+
/** Severity level for violations */
|
|
229
|
+
severity: Severity;
|
|
230
|
+
/** Whether the pattern can be auto-fixed */
|
|
231
|
+
autoFixable: boolean;
|
|
232
|
+
/** Current status of the pattern */
|
|
233
|
+
status: PatternStatus;
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Stored pattern format (used in JSON files)
|
|
237
|
+
*
|
|
238
|
+
* Similar to Pattern but with string dates for JSON serialization.
|
|
239
|
+
*
|
|
240
|
+
* @requirements 4.2 - Pattern files use JSON format
|
|
241
|
+
*/
|
|
242
|
+
export interface StoredPattern {
|
|
243
|
+
/** Unique pattern ID */
|
|
244
|
+
id: string;
|
|
245
|
+
/** Pattern subcategory */
|
|
246
|
+
subcategory: string;
|
|
247
|
+
/** Human-readable name */
|
|
248
|
+
name: string;
|
|
249
|
+
/** Pattern description */
|
|
250
|
+
description: string;
|
|
251
|
+
/** Detector configuration */
|
|
252
|
+
detector: DetectorConfig;
|
|
253
|
+
/** Confidence information */
|
|
254
|
+
confidence: ConfidenceInfo;
|
|
255
|
+
/** Locations where pattern is found */
|
|
256
|
+
locations: PatternLocation[];
|
|
257
|
+
/** Outlier locations */
|
|
258
|
+
outliers: OutlierLocation[];
|
|
259
|
+
/** Pattern metadata */
|
|
260
|
+
metadata: PatternMetadata;
|
|
261
|
+
/** Severity level */
|
|
262
|
+
severity: Severity;
|
|
263
|
+
/** Whether auto-fixable */
|
|
264
|
+
autoFixable: boolean;
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Format of a pattern file stored in .drift/patterns/
|
|
268
|
+
*
|
|
269
|
+
* Each category has its own JSON file containing all patterns
|
|
270
|
+
* of that category.
|
|
271
|
+
*
|
|
272
|
+
* @requirements 4.2 - Pattern files use JSON format with defined schema
|
|
273
|
+
*/
|
|
274
|
+
export interface PatternFile {
|
|
275
|
+
/** Schema version for migration support */
|
|
276
|
+
version: string;
|
|
277
|
+
/** Pattern category this file contains */
|
|
278
|
+
category: PatternCategory;
|
|
279
|
+
/** Patterns in this file */
|
|
280
|
+
patterns: StoredPattern[];
|
|
281
|
+
/** ISO timestamp of last update */
|
|
282
|
+
lastUpdated: string;
|
|
283
|
+
/** Checksum for integrity verification */
|
|
284
|
+
checksum?: string;
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Current schema version for pattern files
|
|
288
|
+
*/
|
|
289
|
+
export declare const PATTERN_FILE_VERSION = "1.0.0";
|
|
290
|
+
/**
|
|
291
|
+
* Type of history event
|
|
292
|
+
*/
|
|
293
|
+
export type HistoryEventType = 'created' | 'approved' | 'ignored' | 'updated' | 'deleted' | 'confidence_changed' | 'locations_changed' | 'severity_changed';
|
|
294
|
+
/**
|
|
295
|
+
* A single history event for a pattern
|
|
296
|
+
*
|
|
297
|
+
* @requirements 4.4 - Pattern history tracked in .drift/history/
|
|
298
|
+
*/
|
|
299
|
+
export interface PatternHistoryEvent {
|
|
300
|
+
/** ISO timestamp of the event */
|
|
301
|
+
timestamp: string;
|
|
302
|
+
/** Type of event */
|
|
303
|
+
type: HistoryEventType;
|
|
304
|
+
/** Pattern ID this event relates to */
|
|
305
|
+
patternId: string;
|
|
306
|
+
/** User who triggered the event (if applicable) */
|
|
307
|
+
user?: string;
|
|
308
|
+
/** Previous value (for updates) */
|
|
309
|
+
previousValue?: unknown;
|
|
310
|
+
/** New value (for updates) */
|
|
311
|
+
newValue?: unknown;
|
|
312
|
+
/** Additional event details */
|
|
313
|
+
details?: Record<string, unknown>;
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* History record for a pattern
|
|
317
|
+
*
|
|
318
|
+
* @requirements 4.4 - Pattern history tracking
|
|
319
|
+
*/
|
|
320
|
+
export interface PatternHistory {
|
|
321
|
+
/** Pattern ID */
|
|
322
|
+
patternId: string;
|
|
323
|
+
/** Pattern category */
|
|
324
|
+
category: PatternCategory;
|
|
325
|
+
/** All history events for this pattern */
|
|
326
|
+
events: PatternHistoryEvent[];
|
|
327
|
+
/** ISO timestamp of first event */
|
|
328
|
+
createdAt: string;
|
|
329
|
+
/** ISO timestamp of last event */
|
|
330
|
+
lastModified: string;
|
|
331
|
+
}
|
|
332
|
+
/**
|
|
333
|
+
* Format of the history file stored in .drift/history/
|
|
334
|
+
*/
|
|
335
|
+
export interface HistoryFile {
|
|
336
|
+
/** Schema version */
|
|
337
|
+
version: string;
|
|
338
|
+
/** All pattern histories */
|
|
339
|
+
patterns: PatternHistory[];
|
|
340
|
+
/** ISO timestamp of last update */
|
|
341
|
+
lastUpdated: string;
|
|
342
|
+
}
|
|
343
|
+
/**
|
|
344
|
+
* Current schema version for history files
|
|
345
|
+
*/
|
|
346
|
+
export declare const HISTORY_FILE_VERSION = "1.0.0";
|
|
347
|
+
/**
|
|
348
|
+
* Query options for filtering patterns
|
|
349
|
+
*
|
|
350
|
+
* @requirements 4.6 - Patterns support querying by category, confidence, status
|
|
351
|
+
*/
|
|
352
|
+
export interface PatternQuery {
|
|
353
|
+
/** Filter by pattern IDs */
|
|
354
|
+
ids?: string[];
|
|
355
|
+
/** Filter by category */
|
|
356
|
+
category?: PatternCategory | PatternCategory[];
|
|
357
|
+
/** Filter by subcategory */
|
|
358
|
+
subcategory?: string | string[];
|
|
359
|
+
/** Filter by status */
|
|
360
|
+
status?: PatternStatus | PatternStatus[];
|
|
361
|
+
/** Filter by minimum confidence score */
|
|
362
|
+
minConfidence?: number;
|
|
363
|
+
/** Filter by maximum confidence score */
|
|
364
|
+
maxConfidence?: number;
|
|
365
|
+
/** Filter by confidence level */
|
|
366
|
+
confidenceLevel?: ConfidenceLevel | ConfidenceLevel[];
|
|
367
|
+
/** Filter by severity */
|
|
368
|
+
severity?: Severity | Severity[];
|
|
369
|
+
/** Filter by auto-fixable */
|
|
370
|
+
autoFixable?: boolean;
|
|
371
|
+
/** Filter by file path (patterns that have locations in this file) */
|
|
372
|
+
file?: string;
|
|
373
|
+
/** Filter by files (patterns that have locations in any of these files) */
|
|
374
|
+
files?: string[];
|
|
375
|
+
/** Filter patterns with outliers */
|
|
376
|
+
hasOutliers?: boolean;
|
|
377
|
+
/** Filter by minimum outlier count */
|
|
378
|
+
minOutliers?: number;
|
|
379
|
+
/** Filter by tag */
|
|
380
|
+
tags?: string[];
|
|
381
|
+
/** Filter by source */
|
|
382
|
+
source?: string;
|
|
383
|
+
/** Search in name and description */
|
|
384
|
+
search?: string;
|
|
385
|
+
/** Filter by date range (firstSeen) */
|
|
386
|
+
createdAfter?: string;
|
|
387
|
+
/** Filter by date range (firstSeen) */
|
|
388
|
+
createdBefore?: string;
|
|
389
|
+
/** Filter by date range (lastSeen) */
|
|
390
|
+
seenAfter?: string;
|
|
391
|
+
/** Filter by date range (lastSeen) */
|
|
392
|
+
seenBefore?: string;
|
|
393
|
+
}
|
|
394
|
+
/**
|
|
395
|
+
* Sort options for pattern queries
|
|
396
|
+
*/
|
|
397
|
+
export interface PatternSortOptions {
|
|
398
|
+
/** Field to sort by */
|
|
399
|
+
field: 'name' | 'confidence' | 'severity' | 'firstSeen' | 'lastSeen' | 'outlierCount' | 'locationCount';
|
|
400
|
+
/** Sort direction */
|
|
401
|
+
direction: 'asc' | 'desc';
|
|
402
|
+
}
|
|
403
|
+
/**
|
|
404
|
+
* Pagination options for pattern queries
|
|
405
|
+
*/
|
|
406
|
+
export interface PatternPaginationOptions {
|
|
407
|
+
/** Number of results to skip */
|
|
408
|
+
offset?: number;
|
|
409
|
+
/** Maximum number of results to return */
|
|
410
|
+
limit?: number;
|
|
411
|
+
}
|
|
412
|
+
/**
|
|
413
|
+
* Complete query options including filtering, sorting, and pagination
|
|
414
|
+
*/
|
|
415
|
+
export interface PatternQueryOptions {
|
|
416
|
+
/** Filter criteria */
|
|
417
|
+
filter?: PatternQuery;
|
|
418
|
+
/** Sort options */
|
|
419
|
+
sort?: PatternSortOptions;
|
|
420
|
+
/** Pagination options */
|
|
421
|
+
pagination?: PatternPaginationOptions;
|
|
422
|
+
}
|
|
423
|
+
/**
|
|
424
|
+
* Result of a pattern query
|
|
425
|
+
*/
|
|
426
|
+
export interface PatternQueryResult {
|
|
427
|
+
/** Matching patterns */
|
|
428
|
+
patterns: Pattern[];
|
|
429
|
+
/** Total count (before pagination) */
|
|
430
|
+
total: number;
|
|
431
|
+
/** Whether there are more results */
|
|
432
|
+
hasMore: boolean;
|
|
433
|
+
/** Query execution time in milliseconds */
|
|
434
|
+
executionTime: number;
|
|
435
|
+
}
|
|
436
|
+
/**
|
|
437
|
+
* Scope of a variant
|
|
438
|
+
*/
|
|
439
|
+
export type VariantScope = 'global' | 'directory' | 'file';
|
|
440
|
+
/**
|
|
441
|
+
* An intentional deviation from a pattern
|
|
442
|
+
*
|
|
443
|
+
* @requirements 26.1 - Variant system for intentional deviations
|
|
444
|
+
*/
|
|
445
|
+
export interface PatternVariant {
|
|
446
|
+
/** Unique variant identifier */
|
|
447
|
+
id: string;
|
|
448
|
+
/** Pattern ID this variant applies to */
|
|
449
|
+
patternId: string;
|
|
450
|
+
/** Human-readable name for the variant */
|
|
451
|
+
name: string;
|
|
452
|
+
/** Reason explaining why this deviation is intentional */
|
|
453
|
+
reason: string;
|
|
454
|
+
/** Scope of the variant */
|
|
455
|
+
scope: VariantScope;
|
|
456
|
+
/** Scope value (directory path or file path, depending on scope) */
|
|
457
|
+
scopeValue?: string;
|
|
458
|
+
/** Locations covered by this variant */
|
|
459
|
+
locations: PatternLocation[];
|
|
460
|
+
/** ISO timestamp when variant was created */
|
|
461
|
+
createdAt: string;
|
|
462
|
+
/** User who created the variant */
|
|
463
|
+
createdBy?: string;
|
|
464
|
+
/** Whether the variant is active */
|
|
465
|
+
active: boolean;
|
|
466
|
+
}
|
|
467
|
+
/**
|
|
468
|
+
* Format of the variants file stored in .drift/patterns/variants/
|
|
469
|
+
*/
|
|
470
|
+
export interface VariantsFile {
|
|
471
|
+
/** Schema version */
|
|
472
|
+
version: string;
|
|
473
|
+
/** All variants */
|
|
474
|
+
variants: PatternVariant[];
|
|
475
|
+
/** ISO timestamp of last update */
|
|
476
|
+
lastUpdated: string;
|
|
477
|
+
}
|
|
478
|
+
/**
|
|
479
|
+
* Current schema version for variants files
|
|
480
|
+
*/
|
|
481
|
+
export declare const VARIANTS_FILE_VERSION = "1.0.0";
|
|
482
|
+
/**
|
|
483
|
+
* Snapshot of an approved pattern for the lock file
|
|
484
|
+
*
|
|
485
|
+
* @requirements 4.7 - drift.lock snapshots approved patterns
|
|
486
|
+
*/
|
|
487
|
+
export interface LockedPattern {
|
|
488
|
+
/** Pattern ID */
|
|
489
|
+
id: string;
|
|
490
|
+
/** Pattern category */
|
|
491
|
+
category: PatternCategory;
|
|
492
|
+
/** Pattern name */
|
|
493
|
+
name: string;
|
|
494
|
+
/** Confidence score at time of lock */
|
|
495
|
+
confidenceScore: number;
|
|
496
|
+
/** Severity level */
|
|
497
|
+
severity: Severity;
|
|
498
|
+
/** Hash of the pattern definition for change detection */
|
|
499
|
+
definitionHash: string;
|
|
500
|
+
/** ISO timestamp when locked */
|
|
501
|
+
lockedAt: string;
|
|
502
|
+
}
|
|
503
|
+
/**
|
|
504
|
+
* Format of the drift.lock file
|
|
505
|
+
*
|
|
506
|
+
* @requirements 4.7 - drift.lock for version control
|
|
507
|
+
*/
|
|
508
|
+
export interface LockFile {
|
|
509
|
+
/** Schema version */
|
|
510
|
+
version: string;
|
|
511
|
+
/** Locked patterns */
|
|
512
|
+
patterns: LockedPattern[];
|
|
513
|
+
/** ISO timestamp when lock file was generated */
|
|
514
|
+
generatedAt: string;
|
|
515
|
+
/** Hash of the entire lock file for integrity */
|
|
516
|
+
checksum: string;
|
|
517
|
+
}
|
|
518
|
+
/**
|
|
519
|
+
* Current schema version for lock files
|
|
520
|
+
*/
|
|
521
|
+
export declare const LOCK_FILE_VERSION = "1.0.0";
|
|
522
|
+
/**
|
|
523
|
+
* Configuration options for the pattern store
|
|
524
|
+
*/
|
|
525
|
+
export interface PatternStoreConfig {
|
|
526
|
+
/** Root directory for .drift folder (defaults to project root) */
|
|
527
|
+
rootDir: string;
|
|
528
|
+
/** Whether to validate schemas on load/save */
|
|
529
|
+
validateSchema: boolean;
|
|
530
|
+
/** Whether to track history */
|
|
531
|
+
trackHistory: boolean;
|
|
532
|
+
/** Whether to auto-save changes */
|
|
533
|
+
autoSave: boolean;
|
|
534
|
+
/** Debounce time for auto-save in milliseconds */
|
|
535
|
+
autoSaveDebounce: number;
|
|
536
|
+
/** Whether to create backup before save */
|
|
537
|
+
createBackup: boolean;
|
|
538
|
+
/** Maximum number of backups to keep */
|
|
539
|
+
maxBackups: number;
|
|
540
|
+
}
|
|
541
|
+
/**
|
|
542
|
+
* Default pattern store configuration
|
|
543
|
+
*/
|
|
544
|
+
export declare const DEFAULT_PATTERN_STORE_CONFIG: PatternStoreConfig;
|
|
545
|
+
/**
|
|
546
|
+
* Events emitted by the pattern store
|
|
547
|
+
*/
|
|
548
|
+
export type PatternStoreEventType = 'pattern:created' | 'pattern:updated' | 'pattern:deleted' | 'pattern:approved' | 'pattern:ignored' | 'file:loaded' | 'file:saved' | 'error';
|
|
549
|
+
/**
|
|
550
|
+
* Event payload for pattern store events
|
|
551
|
+
*/
|
|
552
|
+
export interface PatternStoreEvent {
|
|
553
|
+
/** Event type */
|
|
554
|
+
type: PatternStoreEventType;
|
|
555
|
+
/** Pattern ID (if applicable) */
|
|
556
|
+
patternId?: string;
|
|
557
|
+
/** Pattern category (if applicable) */
|
|
558
|
+
category?: PatternCategory;
|
|
559
|
+
/** Additional event data */
|
|
560
|
+
data?: Record<string, unknown>;
|
|
561
|
+
/** ISO timestamp of the event */
|
|
562
|
+
timestamp: string;
|
|
563
|
+
}
|
|
564
|
+
/**
|
|
565
|
+
* Statistics about the pattern store
|
|
566
|
+
*/
|
|
567
|
+
export interface PatternStoreStats {
|
|
568
|
+
/** Total number of patterns */
|
|
569
|
+
totalPatterns: number;
|
|
570
|
+
/** Patterns by status */
|
|
571
|
+
byStatus: Record<PatternStatus, number>;
|
|
572
|
+
/** Patterns by category */
|
|
573
|
+
byCategory: Record<PatternCategory, number>;
|
|
574
|
+
/** Patterns by confidence level */
|
|
575
|
+
byConfidenceLevel: Record<ConfidenceLevel, number>;
|
|
576
|
+
/** Total number of locations */
|
|
577
|
+
totalLocations: number;
|
|
578
|
+
/** Total number of outliers */
|
|
579
|
+
totalOutliers: number;
|
|
580
|
+
/** Total number of variants */
|
|
581
|
+
totalVariants: number;
|
|
582
|
+
/** ISO timestamp of last update */
|
|
583
|
+
lastUpdated: string;
|
|
584
|
+
}
|
|
585
|
+
//# sourceMappingURL=types.d.ts.map
|