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.
Files changed (221) hide show
  1. package/dist/analyzers/ast-analyzer.d.ts +251 -0
  2. package/dist/analyzers/ast-analyzer.d.ts.map +1 -0
  3. package/dist/analyzers/ast-analyzer.js +548 -0
  4. package/dist/analyzers/ast-analyzer.js.map +1 -0
  5. package/dist/analyzers/flow-analyzer.d.ts +241 -0
  6. package/dist/analyzers/flow-analyzer.d.ts.map +1 -0
  7. package/dist/analyzers/flow-analyzer.js +1219 -0
  8. package/dist/analyzers/flow-analyzer.js.map +1 -0
  9. package/dist/analyzers/index.d.ts +18 -0
  10. package/dist/analyzers/index.d.ts.map +1 -0
  11. package/dist/analyzers/index.js +19 -0
  12. package/dist/analyzers/index.js.map +1 -0
  13. package/dist/analyzers/semantic-analyzer.d.ts +252 -0
  14. package/dist/analyzers/semantic-analyzer.d.ts.map +1 -0
  15. package/dist/analyzers/semantic-analyzer.js +1182 -0
  16. package/dist/analyzers/semantic-analyzer.js.map +1 -0
  17. package/dist/analyzers/type-analyzer.d.ts +289 -0
  18. package/dist/analyzers/type-analyzer.d.ts.map +1 -0
  19. package/dist/analyzers/type-analyzer.js +1269 -0
  20. package/dist/analyzers/type-analyzer.js.map +1 -0
  21. package/dist/analyzers/types.d.ts +537 -0
  22. package/dist/analyzers/types.d.ts.map +1 -0
  23. package/dist/analyzers/types.js +11 -0
  24. package/dist/analyzers/types.js.map +1 -0
  25. package/dist/config/config-loader.d.ts +166 -0
  26. package/dist/config/config-loader.d.ts.map +1 -0
  27. package/dist/config/config-loader.js +429 -0
  28. package/dist/config/config-loader.js.map +1 -0
  29. package/dist/config/config-validator.d.ts +204 -0
  30. package/dist/config/config-validator.d.ts.map +1 -0
  31. package/dist/config/config-validator.js +632 -0
  32. package/dist/config/config-validator.js.map +1 -0
  33. package/dist/config/defaults.d.ts +8 -0
  34. package/dist/config/defaults.d.ts.map +1 -0
  35. package/dist/config/defaults.js +26 -0
  36. package/dist/config/defaults.js.map +1 -0
  37. package/dist/config/index.d.ts +10 -0
  38. package/dist/config/index.d.ts.map +1 -0
  39. package/dist/config/index.js +10 -0
  40. package/dist/config/index.js.map +1 -0
  41. package/dist/config/types.d.ts +47 -0
  42. package/dist/config/types.d.ts.map +1 -0
  43. package/dist/config/types.js +7 -0
  44. package/dist/config/types.js.map +1 -0
  45. package/dist/index.d.ts +37 -0
  46. package/dist/index.d.ts.map +1 -0
  47. package/dist/index.js +39 -0
  48. package/dist/index.js.map +1 -0
  49. package/dist/manifest/exporter.d.ts +21 -0
  50. package/dist/manifest/exporter.d.ts.map +1 -0
  51. package/dist/manifest/exporter.js +339 -0
  52. package/dist/manifest/exporter.js.map +1 -0
  53. package/dist/manifest/index.d.ts +14 -0
  54. package/dist/manifest/index.d.ts.map +1 -0
  55. package/dist/manifest/index.js +15 -0
  56. package/dist/manifest/index.js.map +1 -0
  57. package/dist/manifest/manifest-store.d.ts +111 -0
  58. package/dist/manifest/manifest-store.d.ts.map +1 -0
  59. package/dist/manifest/manifest-store.js +418 -0
  60. package/dist/manifest/manifest-store.js.map +1 -0
  61. package/dist/manifest/types.d.ts +238 -0
  62. package/dist/manifest/types.d.ts.map +1 -0
  63. package/dist/manifest/types.js +11 -0
  64. package/dist/manifest/types.js.map +1 -0
  65. package/dist/matcher/confidence-scorer.d.ts +188 -0
  66. package/dist/matcher/confidence-scorer.d.ts.map +1 -0
  67. package/dist/matcher/confidence-scorer.js +302 -0
  68. package/dist/matcher/confidence-scorer.js.map +1 -0
  69. package/dist/matcher/index.d.ts +24 -0
  70. package/dist/matcher/index.d.ts.map +1 -0
  71. package/dist/matcher/index.js +26 -0
  72. package/dist/matcher/index.js.map +1 -0
  73. package/dist/matcher/outlier-detector.d.ts +252 -0
  74. package/dist/matcher/outlier-detector.d.ts.map +1 -0
  75. package/dist/matcher/outlier-detector.js +544 -0
  76. package/dist/matcher/outlier-detector.js.map +1 -0
  77. package/dist/matcher/pattern-matcher.d.ts +169 -0
  78. package/dist/matcher/pattern-matcher.d.ts.map +1 -0
  79. package/dist/matcher/pattern-matcher.js +692 -0
  80. package/dist/matcher/pattern-matcher.js.map +1 -0
  81. package/dist/matcher/types.d.ts +476 -0
  82. package/dist/matcher/types.d.ts.map +1 -0
  83. package/dist/matcher/types.js +36 -0
  84. package/dist/matcher/types.js.map +1 -0
  85. package/dist/parsers/base-parser.d.ts +282 -0
  86. package/dist/parsers/base-parser.d.ts.map +1 -0
  87. package/dist/parsers/base-parser.js +421 -0
  88. package/dist/parsers/base-parser.js.map +1 -0
  89. package/dist/parsers/css-parser.d.ts +225 -0
  90. package/dist/parsers/css-parser.d.ts.map +1 -0
  91. package/dist/parsers/css-parser.js +477 -0
  92. package/dist/parsers/css-parser.js.map +1 -0
  93. package/dist/parsers/index.d.ts +15 -0
  94. package/dist/parsers/index.d.ts.map +1 -0
  95. package/dist/parsers/index.js +15 -0
  96. package/dist/parsers/index.js.map +1 -0
  97. package/dist/parsers/json-parser.d.ts +219 -0
  98. package/dist/parsers/json-parser.d.ts.map +1 -0
  99. package/dist/parsers/json-parser.js +602 -0
  100. package/dist/parsers/json-parser.js.map +1 -0
  101. package/dist/parsers/markdown-parser.d.ts +276 -0
  102. package/dist/parsers/markdown-parser.d.ts.map +1 -0
  103. package/dist/parsers/markdown-parser.js +731 -0
  104. package/dist/parsers/markdown-parser.js.map +1 -0
  105. package/dist/parsers/parser-manager.d.ts +294 -0
  106. package/dist/parsers/parser-manager.d.ts.map +1 -0
  107. package/dist/parsers/parser-manager.js +738 -0
  108. package/dist/parsers/parser-manager.js.map +1 -0
  109. package/dist/parsers/python-parser.d.ts +204 -0
  110. package/dist/parsers/python-parser.d.ts.map +1 -0
  111. package/dist/parsers/python-parser.js +517 -0
  112. package/dist/parsers/python-parser.js.map +1 -0
  113. package/dist/parsers/types.d.ts +43 -0
  114. package/dist/parsers/types.d.ts.map +1 -0
  115. package/dist/parsers/types.js +7 -0
  116. package/dist/parsers/types.js.map +1 -0
  117. package/dist/parsers/typescript-parser.d.ts +264 -0
  118. package/dist/parsers/typescript-parser.d.ts.map +1 -0
  119. package/dist/parsers/typescript-parser.js +658 -0
  120. package/dist/parsers/typescript-parser.js.map +1 -0
  121. package/dist/rules/evaluator.d.ts +305 -0
  122. package/dist/rules/evaluator.d.ts.map +1 -0
  123. package/dist/rules/evaluator.js +579 -0
  124. package/dist/rules/evaluator.js.map +1 -0
  125. package/dist/rules/index.d.ts +13 -0
  126. package/dist/rules/index.d.ts.map +1 -0
  127. package/dist/rules/index.js +13 -0
  128. package/dist/rules/index.js.map +1 -0
  129. package/dist/rules/quick-fix-generator.d.ts +334 -0
  130. package/dist/rules/quick-fix-generator.d.ts.map +1 -0
  131. package/dist/rules/quick-fix-generator.js +1075 -0
  132. package/dist/rules/quick-fix-generator.js.map +1 -0
  133. package/dist/rules/rule-engine.d.ts +241 -0
  134. package/dist/rules/rule-engine.d.ts.map +1 -0
  135. package/dist/rules/rule-engine.js +585 -0
  136. package/dist/rules/rule-engine.js.map +1 -0
  137. package/dist/rules/severity-manager.d.ts +394 -0
  138. package/dist/rules/severity-manager.d.ts.map +1 -0
  139. package/dist/rules/severity-manager.js +619 -0
  140. package/dist/rules/severity-manager.js.map +1 -0
  141. package/dist/rules/types.d.ts +370 -0
  142. package/dist/rules/types.d.ts.map +1 -0
  143. package/dist/rules/types.js +133 -0
  144. package/dist/rules/types.js.map +1 -0
  145. package/dist/rules/variant-manager.d.ts +388 -0
  146. package/dist/rules/variant-manager.d.ts.map +1 -0
  147. package/dist/rules/variant-manager.js +777 -0
  148. package/dist/rules/variant-manager.js.map +1 -0
  149. package/dist/scanner/change-detector.d.ts +164 -0
  150. package/dist/scanner/change-detector.d.ts.map +1 -0
  151. package/dist/scanner/change-detector.js +263 -0
  152. package/dist/scanner/change-detector.js.map +1 -0
  153. package/dist/scanner/dependency-graph.d.ts +270 -0
  154. package/dist/scanner/dependency-graph.d.ts.map +1 -0
  155. package/dist/scanner/dependency-graph.js +436 -0
  156. package/dist/scanner/dependency-graph.js.map +1 -0
  157. package/dist/scanner/file-walker.d.ts +127 -0
  158. package/dist/scanner/file-walker.d.ts.map +1 -0
  159. package/dist/scanner/file-walker.js +526 -0
  160. package/dist/scanner/file-walker.js.map +1 -0
  161. package/dist/scanner/index.d.ts +12 -0
  162. package/dist/scanner/index.d.ts.map +1 -0
  163. package/dist/scanner/index.js +12 -0
  164. package/dist/scanner/index.js.map +1 -0
  165. package/dist/scanner/types.d.ts +218 -0
  166. package/dist/scanner/types.d.ts.map +1 -0
  167. package/dist/scanner/types.js +10 -0
  168. package/dist/scanner/types.js.map +1 -0
  169. package/dist/scanner/worker-pool.d.ts +317 -0
  170. package/dist/scanner/worker-pool.d.ts.map +1 -0
  171. package/dist/scanner/worker-pool.js +571 -0
  172. package/dist/scanner/worker-pool.js.map +1 -0
  173. package/dist/store/cache-manager.d.ts +179 -0
  174. package/dist/store/cache-manager.d.ts.map +1 -0
  175. package/dist/store/cache-manager.js +391 -0
  176. package/dist/store/cache-manager.js.map +1 -0
  177. package/dist/store/history-store.d.ts +314 -0
  178. package/dist/store/history-store.d.ts.map +1 -0
  179. package/dist/store/history-store.js +707 -0
  180. package/dist/store/history-store.js.map +1 -0
  181. package/dist/store/index.d.ts +20 -0
  182. package/dist/store/index.d.ts.map +1 -0
  183. package/dist/store/index.js +26 -0
  184. package/dist/store/index.js.map +1 -0
  185. package/dist/store/lock-file-manager.d.ts +202 -0
  186. package/dist/store/lock-file-manager.d.ts.map +1 -0
  187. package/dist/store/lock-file-manager.js +475 -0
  188. package/dist/store/lock-file-manager.js.map +1 -0
  189. package/dist/store/pattern-store.d.ts +289 -0
  190. package/dist/store/pattern-store.d.ts.map +1 -0
  191. package/dist/store/pattern-store.js +936 -0
  192. package/dist/store/pattern-store.js.map +1 -0
  193. package/dist/store/schema-validator.d.ts +159 -0
  194. package/dist/store/schema-validator.d.ts.map +1 -0
  195. package/dist/store/schema-validator.js +1096 -0
  196. package/dist/store/schema-validator.js.map +1 -0
  197. package/dist/store/types.d.ts +585 -0
  198. package/dist/store/types.d.ts.map +1 -0
  199. package/dist/store/types.js +82 -0
  200. package/dist/store/types.js.map +1 -0
  201. package/dist/types/analysis.d.ts +19 -0
  202. package/dist/types/analysis.d.ts.map +1 -0
  203. package/dist/types/analysis.js +5 -0
  204. package/dist/types/analysis.js.map +1 -0
  205. package/dist/types/common.d.ts +7 -0
  206. package/dist/types/common.d.ts.map +1 -0
  207. package/dist/types/common.js +5 -0
  208. package/dist/types/common.js.map +1 -0
  209. package/dist/types/index.d.ts +12 -0
  210. package/dist/types/index.d.ts.map +1 -0
  211. package/dist/types/index.js +10 -0
  212. package/dist/types/index.js.map +1 -0
  213. package/dist/types/patterns.d.ts +40 -0
  214. package/dist/types/patterns.d.ts.map +1 -0
  215. package/dist/types/patterns.js +7 -0
  216. package/dist/types/patterns.js.map +1 -0
  217. package/dist/types/violations.d.ts +7 -0
  218. package/dist/types/violations.d.ts.map +1 -0
  219. package/dist/types/violations.js +7 -0
  220. package/dist/types/violations.js.map +1 -0
  221. package/package.json +46 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pattern-matcher.js","sourceRoot":"","sources":["../../src/matcher/pattern-matcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,476 @@
1
+ /**
2
+ * Matcher type definitions
3
+ *
4
+ * Provides types for pattern matching, confidence scoring, and outlier detection.
5
+ * These types support the pattern matching engine that identifies code patterns
6
+ * and calculates confidence scores based on frequency, consistency, age, and spread.
7
+ *
8
+ * @requirements 5.1 - Pattern confidence scoring with frequency, consistency, age, spread factors
9
+ * @requirements 5.2 - Confidence score SHALL be a decimal value between 0.0 and 1.0
10
+ * @requirements 5.3 - High confidence: score >= 0.85
11
+ * @requirements 5.4 - Medium confidence: score >= 0.70 and < 0.85
12
+ * @requirements 5.5 - Low confidence: score >= 0.50 and < 0.70
13
+ * @requirements 5.6 - Uncertain: score < 0.50
14
+ * @requirements 5.7 - Outlier detection for code that deviates from patterns
15
+ */
16
+ import type { AST, ASTNode, Position } from '../parsers/types.js';
17
+ /**
18
+ * Location in source code for pattern matches
19
+ */
20
+ export interface Location {
21
+ /** File path (relative to project root) */
22
+ file: string;
23
+ /** Line number (1-indexed) */
24
+ line: number;
25
+ /** Column number (1-indexed) */
26
+ column: number;
27
+ /** End line number (1-indexed) */
28
+ endLine?: number;
29
+ /** End column number (1-indexed) */
30
+ endColumn?: number;
31
+ }
32
+ /**
33
+ * Range in source code with start and end positions
34
+ */
35
+ export interface SourceRange {
36
+ /** Start position */
37
+ start: Position;
38
+ /** End position */
39
+ end: Position;
40
+ }
41
+ /**
42
+ * Types of pattern matching methods supported by the matcher
43
+ *
44
+ * @requirements 5.1 - Pattern matching supports multiple detection methods
45
+ */
46
+ export type MatchType = 'ast' | 'regex' | 'structural';
47
+ /**
48
+ * Extended match type including semantic and custom matching
49
+ */
50
+ export type ExtendedMatchType = MatchType | 'semantic' | 'custom';
51
+ /**
52
+ * Confidence level classification based on score thresholds
53
+ *
54
+ * @requirements 5.3 - High confidence: score >= 0.85
55
+ * @requirements 5.4 - Medium confidence: score >= 0.70 and < 0.85
56
+ * @requirements 5.5 - Low confidence: score >= 0.50 and < 0.70
57
+ * @requirements 5.6 - Uncertain: score < 0.50
58
+ */
59
+ export type ConfidenceLevel = 'high' | 'medium' | 'low' | 'uncertain';
60
+ /**
61
+ * Confidence level thresholds
62
+ */
63
+ export declare const CONFIDENCE_THRESHOLDS: {
64
+ /** Threshold for high confidence (>= 0.85) */
65
+ readonly HIGH: 0.85;
66
+ /** Threshold for medium confidence (>= 0.70) */
67
+ readonly MEDIUM: 0.7;
68
+ /** Threshold for low confidence (>= 0.50) */
69
+ readonly LOW: 0.5;
70
+ };
71
+ /**
72
+ * Confidence score with component factors
73
+ *
74
+ * The confidence score is calculated from multiple factors:
75
+ * - frequency: How often the pattern appears relative to applicable locations
76
+ * - consistency: How consistent the pattern implementation is across occurrences
77
+ * - age: How long the pattern has been observed (in days)
78
+ * - spread: How many files contain the pattern
79
+ *
80
+ * @requirements 5.1 - Pattern confidence scoring with frequency, consistency, age, spread factors
81
+ * @requirements 5.2 - Confidence score SHALL be a decimal value between 0.0 and 1.0
82
+ */
83
+ export interface ConfidenceScore {
84
+ /**
85
+ * Frequency score (0.0 to 1.0)
86
+ * Percentage of applicable locations where the pattern is found
87
+ */
88
+ frequency: number;
89
+ /**
90
+ * Consistency score (0.0 to 1.0)
91
+ * Measure of variance in pattern implementation
92
+ */
93
+ consistency: number;
94
+ /**
95
+ * Age in days since pattern was first observed
96
+ */
97
+ age: number;
98
+ /**
99
+ * Spread count - number of files containing the pattern
100
+ */
101
+ spread: number;
102
+ /**
103
+ * Weighted overall score (0.0 to 1.0)
104
+ * Combined score from all factors
105
+ */
106
+ score: number;
107
+ /**
108
+ * Confidence level classification
109
+ * @requirements 5.3, 5.4, 5.5, 5.6
110
+ */
111
+ level: ConfidenceLevel;
112
+ }
113
+ /**
114
+ * Weights for confidence score calculation
115
+ */
116
+ export interface ConfidenceWeights {
117
+ /** Weight for frequency factor (default: 0.4) */
118
+ frequency: number;
119
+ /** Weight for consistency factor (default: 0.3) */
120
+ consistency: number;
121
+ /** Weight for age factor (default: 0.15) */
122
+ age: number;
123
+ /** Weight for spread factor (default: 0.15) */
124
+ spread: number;
125
+ }
126
+ /**
127
+ * Default weights for confidence calculation
128
+ */
129
+ export declare const DEFAULT_CONFIDENCE_WEIGHTS: ConfidenceWeights;
130
+ /**
131
+ * Input data for confidence score calculation
132
+ */
133
+ export interface ConfidenceInput {
134
+ /** Number of pattern occurrences */
135
+ occurrences: number;
136
+ /** Total applicable locations */
137
+ totalLocations: number;
138
+ /** Variance in pattern implementation (0 = perfectly consistent) */
139
+ variance: number;
140
+ /** Days since first observation */
141
+ daysSinceFirstSeen: number;
142
+ /** Number of files containing the pattern */
143
+ fileCount: number;
144
+ /** Total files in scope */
145
+ totalFiles: number;
146
+ }
147
+ /**
148
+ * Basic pattern match result
149
+ *
150
+ * @requirements 5.1 - Pattern matching with confidence scoring
151
+ */
152
+ export interface PatternMatch {
153
+ /** ID of the matched pattern */
154
+ patternId: string;
155
+ /** Location of the match in source code */
156
+ location: Location;
157
+ /** Confidence score for this specific match (0.0 to 1.0) */
158
+ confidence: number;
159
+ /** Whether this match is an outlier (deviates from pattern) */
160
+ isOutlier: boolean;
161
+ }
162
+ /**
163
+ * Extended pattern match result with additional metadata
164
+ *
165
+ * @requirements 5.1 - Pattern matching with detailed results
166
+ */
167
+ export interface PatternMatchResult extends PatternMatch {
168
+ /** Type of matching method used */
169
+ matchType: MatchType;
170
+ /** AST node that matched (for AST-based matching) */
171
+ matchedNode?: ASTNode;
172
+ /** Matched text content */
173
+ matchedText?: string;
174
+ /** Captured groups (for regex matching) */
175
+ captures?: Record<string, string>;
176
+ /** Reason for outlier classification (if isOutlier is true) */
177
+ outlierReason?: string;
178
+ /** Similarity score to the canonical pattern (0.0 to 1.0) */
179
+ similarity?: number;
180
+ /** Additional match metadata */
181
+ metadata?: Record<string, unknown>;
182
+ /** Timestamp of when the match was found */
183
+ timestamp: Date;
184
+ }
185
+ /**
186
+ * Aggregated match results for a pattern across multiple files
187
+ */
188
+ export interface AggregatedMatchResult {
189
+ /** Pattern ID */
190
+ patternId: string;
191
+ /** All matches found */
192
+ matches: PatternMatchResult[];
193
+ /** Overall confidence score for the pattern */
194
+ confidence: ConfidenceScore;
195
+ /** Total number of matches */
196
+ matchCount: number;
197
+ /** Number of outliers */
198
+ outlierCount: number;
199
+ /** Files containing matches */
200
+ files: string[];
201
+ }
202
+ /**
203
+ * Definition of a pattern to match against code
204
+ *
205
+ * @requirements 5.1 - Pattern definitions for matching
206
+ */
207
+ export interface PatternDefinition {
208
+ /** Unique pattern identifier */
209
+ id: string;
210
+ /** Human-readable pattern name */
211
+ name: string;
212
+ /** Pattern description */
213
+ description: string;
214
+ /** Category of the pattern */
215
+ category: string;
216
+ /** Subcategory for more specific classification */
217
+ subcategory?: string;
218
+ /** Type of matching to use */
219
+ matchType: ExtendedMatchType;
220
+ /** AST matching configuration */
221
+ astConfig?: ASTMatchConfig;
222
+ /** Regex matching configuration */
223
+ regexConfig?: RegexMatchConfig;
224
+ /** Structural matching configuration */
225
+ structuralConfig?: StructuralMatchConfig;
226
+ /** Languages this pattern applies to */
227
+ languages?: string[];
228
+ /** File patterns to include (glob patterns) */
229
+ includePatterns?: string[];
230
+ /** File patterns to exclude (glob patterns) */
231
+ excludePatterns?: string[];
232
+ /** Whether the pattern is enabled */
233
+ enabled: boolean;
234
+ /** Pattern metadata */
235
+ metadata?: PatternMetadata;
236
+ }
237
+ /**
238
+ * Configuration for AST-based pattern matching
239
+ */
240
+ export interface ASTMatchConfig {
241
+ /** AST node type to match */
242
+ nodeType: string;
243
+ /** Query to run against the AST (tree-sitter query syntax) */
244
+ query?: string;
245
+ /** Properties to match on the node */
246
+ properties?: Record<string, unknown>;
247
+ /** Child node patterns to match */
248
+ children?: ASTMatchConfig[];
249
+ /** Whether to match descendants (not just direct children) */
250
+ matchDescendants?: boolean;
251
+ /** Minimum depth in AST tree */
252
+ minDepth?: number;
253
+ /** Maximum depth in AST tree */
254
+ maxDepth?: number;
255
+ }
256
+ /**
257
+ * Configuration for regex-based pattern matching
258
+ */
259
+ export interface RegexMatchConfig {
260
+ /** Regular expression pattern */
261
+ pattern: string;
262
+ /** Regex flags (e.g., 'gi' for global, case-insensitive) */
263
+ flags?: string;
264
+ /** Named capture groups to extract */
265
+ captureGroups?: string[];
266
+ /** Whether to match across multiple lines */
267
+ multiline?: boolean;
268
+ /** Context lines to include around match */
269
+ contextLines?: number;
270
+ }
271
+ /**
272
+ * Configuration for structural pattern matching
273
+ */
274
+ export interface StructuralMatchConfig {
275
+ /** File path pattern (glob) */
276
+ pathPattern?: string;
277
+ /** Directory structure pattern */
278
+ directoryPattern?: string;
279
+ /** File naming convention pattern */
280
+ namingPattern?: string;
281
+ /** Required sibling files */
282
+ requiredSiblings?: string[];
283
+ /** Required parent directory structure */
284
+ parentStructure?: string[];
285
+ /** File extension to match */
286
+ extension?: string;
287
+ }
288
+ /**
289
+ * Pattern metadata for tracking and management
290
+ */
291
+ export interface PatternMetadata {
292
+ /** When the pattern was first observed */
293
+ firstSeen?: Date;
294
+ /** When the pattern was last seen */
295
+ lastSeen?: Date;
296
+ /** Who created/approved the pattern */
297
+ author?: string;
298
+ /** Version of the pattern definition */
299
+ version?: string;
300
+ /** Tags for categorization */
301
+ tags?: string[];
302
+ /** Related pattern IDs */
303
+ relatedPatterns?: string[];
304
+ /** Custom metadata fields */
305
+ custom?: Record<string, unknown>;
306
+ }
307
+ /**
308
+ * Information about a detected outlier
309
+ *
310
+ * @requirements 5.7 - Outlier detection for code that deviates from patterns
311
+ */
312
+ export interface OutlierInfo {
313
+ /** Location of the outlier */
314
+ location: Location;
315
+ /** Pattern ID this outlier deviates from */
316
+ patternId: string;
317
+ /** Reason for outlier classification */
318
+ reason: string;
319
+ /** Deviation score (how far from the pattern norm, 0.0 to 1.0) */
320
+ deviationScore: number;
321
+ /** Type of deviation */
322
+ deviationType: OutlierType;
323
+ /** Expected value/structure based on pattern */
324
+ expected?: string;
325
+ /** Actual value/structure found */
326
+ actual?: string;
327
+ /** Suggested fix for the outlier */
328
+ suggestedFix?: string;
329
+ /** Statistical significance of the deviation */
330
+ significance: OutlierSignificance;
331
+ /** Additional context about the outlier */
332
+ context?: OutlierContext;
333
+ }
334
+ /**
335
+ * Types of outlier deviations
336
+ *
337
+ * @requirements 5.7 - Outlier detection categories
338
+ */
339
+ export type OutlierType = 'structural' | 'syntactic' | 'semantic' | 'stylistic' | 'missing' | 'extra' | 'inconsistent';
340
+ /**
341
+ * Statistical significance of an outlier
342
+ */
343
+ export type OutlierSignificance = 'high' | 'medium' | 'low';
344
+ /**
345
+ * Additional context for outlier analysis
346
+ */
347
+ export interface OutlierContext {
348
+ /** Nearby pattern matches for comparison */
349
+ nearbyMatches?: PatternMatch[];
350
+ /** Statistical metrics about the deviation */
351
+ statistics?: OutlierStatistics;
352
+ /** AST context around the outlier */
353
+ astContext?: ASTNode;
354
+ /** Code snippet showing the outlier */
355
+ codeSnippet?: string;
356
+ }
357
+ /**
358
+ * Statistical metrics for outlier analysis
359
+ */
360
+ export interface OutlierStatistics {
361
+ /** Mean value for the pattern metric */
362
+ mean: number;
363
+ /** Standard deviation */
364
+ standardDeviation: number;
365
+ /** Z-score of this outlier */
366
+ zScore: number;
367
+ /** Percentile rank */
368
+ percentile: number;
369
+ /** Sample size used for statistics */
370
+ sampleSize: number;
371
+ }
372
+ /**
373
+ * Result of outlier detection for a file or pattern
374
+ */
375
+ export interface OutlierDetectionResult {
376
+ /** Pattern ID analyzed */
377
+ patternId: string;
378
+ /** File analyzed (if file-specific) */
379
+ file?: string;
380
+ /** Detected outliers */
381
+ outliers: OutlierInfo[];
382
+ /** Total items analyzed */
383
+ totalAnalyzed: number;
384
+ /** Outlier rate (outliers / total) */
385
+ outlierRate: number;
386
+ /** Detection timestamp */
387
+ timestamp: Date;
388
+ /** Detection method used */
389
+ method: OutlierDetectionMethod;
390
+ }
391
+ /**
392
+ * Methods for outlier detection
393
+ */
394
+ export type OutlierDetectionMethod = 'statistical' | 'clustering' | 'rule-based' | 'ml-based';
395
+ /**
396
+ * Configuration options for the pattern matcher
397
+ */
398
+ export interface MatcherConfig {
399
+ /** Confidence weights for score calculation */
400
+ confidenceWeights?: Partial<ConfidenceWeights>;
401
+ /** Minimum confidence threshold for matches */
402
+ minConfidence?: number;
403
+ /** Whether to detect outliers */
404
+ detectOutliers?: boolean;
405
+ /** Outlier detection sensitivity (0.0 to 1.0) */
406
+ outlierSensitivity?: number;
407
+ /** Maximum matches to return per pattern */
408
+ maxMatchesPerPattern?: number;
409
+ /** Whether to include AST nodes in results */
410
+ includeAstNodes?: boolean;
411
+ /** Whether to include matched text in results */
412
+ includeMatchedText?: boolean;
413
+ /** Timeout for matching operations (ms) */
414
+ timeout?: number;
415
+ /** Cache configuration */
416
+ cache?: MatcherCacheConfig;
417
+ }
418
+ /**
419
+ * Cache configuration for the matcher
420
+ */
421
+ export interface MatcherCacheConfig {
422
+ /** Whether caching is enabled */
423
+ enabled: boolean;
424
+ /** Maximum cache size (number of entries) */
425
+ maxSize?: number;
426
+ /** Cache TTL in milliseconds */
427
+ ttl?: number;
428
+ }
429
+ /**
430
+ * Context provided to the matcher for pattern matching
431
+ */
432
+ export interface MatcherContext {
433
+ /** File being matched */
434
+ file: string;
435
+ /** File content */
436
+ content: string;
437
+ /** Parsed AST (null if parsing failed) */
438
+ ast: AST | null;
439
+ /** Language of the file */
440
+ language: string;
441
+ /** Project root directory */
442
+ projectRoot: string;
443
+ /** Additional context data */
444
+ metadata?: Record<string, unknown>;
445
+ }
446
+ /**
447
+ * Result of a matching operation
448
+ */
449
+ export interface MatchingResult {
450
+ /** File that was matched */
451
+ file: string;
452
+ /** Pattern matches found */
453
+ matches: PatternMatchResult[];
454
+ /** Outliers detected */
455
+ outliers: OutlierInfo[];
456
+ /** Matching duration in milliseconds */
457
+ duration: number;
458
+ /** Whether matching completed successfully */
459
+ success: boolean;
460
+ /** Errors encountered during matching */
461
+ errors: MatchingError[];
462
+ }
463
+ /**
464
+ * Error encountered during matching
465
+ */
466
+ export interface MatchingError {
467
+ /** Error message */
468
+ message: string;
469
+ /** Error code */
470
+ code?: string;
471
+ /** Pattern ID that caused the error */
472
+ patternId?: string;
473
+ /** Whether matching can continue */
474
+ recoverable: boolean;
475
+ }
476
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/matcher/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Matcher type definitions
3
+ *
4
+ * Provides types for pattern matching, confidence scoring, and outlier detection.
5
+ * These types support the pattern matching engine that identifies code patterns
6
+ * and calculates confidence scores based on frequency, consistency, age, and spread.
7
+ *
8
+ * @requirements 5.1 - Pattern confidence scoring with frequency, consistency, age, spread factors
9
+ * @requirements 5.2 - Confidence score SHALL be a decimal value between 0.0 and 1.0
10
+ * @requirements 5.3 - High confidence: score >= 0.85
11
+ * @requirements 5.4 - Medium confidence: score >= 0.70 and < 0.85
12
+ * @requirements 5.5 - Low confidence: score >= 0.50 and < 0.70
13
+ * @requirements 5.6 - Uncertain: score < 0.50
14
+ * @requirements 5.7 - Outlier detection for code that deviates from patterns
15
+ */
16
+ /**
17
+ * Confidence level thresholds
18
+ */
19
+ export const CONFIDENCE_THRESHOLDS = {
20
+ /** Threshold for high confidence (>= 0.85) */
21
+ HIGH: 0.85,
22
+ /** Threshold for medium confidence (>= 0.70) */
23
+ MEDIUM: 0.70,
24
+ /** Threshold for low confidence (>= 0.50) */
25
+ LOW: 0.50,
26
+ };
27
+ /**
28
+ * Default weights for confidence calculation
29
+ */
30
+ export const DEFAULT_CONFIDENCE_WEIGHTS = {
31
+ frequency: 0.4,
32
+ consistency: 0.3,
33
+ age: 0.15,
34
+ spread: 0.15,
35
+ };
36
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/matcher/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAqEH;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,8CAA8C;IAC9C,IAAI,EAAE,IAAI;IACV,gDAAgD;IAChD,MAAM,EAAE,IAAI;IACZ,6CAA6C;IAC7C,GAAG,EAAE,IAAI;CACD,CAAC;AAuEX;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAsB;IAC3D,SAAS,EAAE,GAAG;IACd,WAAW,EAAE,GAAG;IAChB,GAAG,EAAE,IAAI;IACT,MAAM,EAAE,IAAI;CACb,CAAC"}