codeslick-cli 1.2.0 → 1.2.2

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 (103) hide show
  1. package/README.md +18 -19
  2. package/dist/packages/cli/src/reporters/cli-reporter.js +7 -7
  3. package/dist/packages/cli/src/reporters/cli-reporter.js.map +1 -1
  4. package/dist/src/lib/analyzers/go/security-checks/ai-generated-code.d.ts +5 -2
  5. package/dist/src/lib/analyzers/go/security-checks/ai-generated-code.d.ts.map +1 -1
  6. package/dist/src/lib/analyzers/go/security-checks/ai-generated-code.js +61 -5
  7. package/dist/src/lib/analyzers/go/security-checks/ai-generated-code.js.map +1 -1
  8. package/dist/src/lib/analyzers/go/security-checks/credentials-crypto.d.ts +6 -4
  9. package/dist/src/lib/analyzers/go/security-checks/credentials-crypto.d.ts.map +1 -1
  10. package/dist/src/lib/analyzers/go/security-checks/credentials-crypto.js +97 -4
  11. package/dist/src/lib/analyzers/go/security-checks/credentials-crypto.js.map +1 -1
  12. package/dist/src/lib/analyzers/go/security-checks/enhanced-supply-chain.d.ts +21 -0
  13. package/dist/src/lib/analyzers/go/security-checks/enhanced-supply-chain.d.ts.map +1 -0
  14. package/dist/src/lib/analyzers/go/security-checks/enhanced-supply-chain.js +114 -0
  15. package/dist/src/lib/analyzers/go/security-checks/enhanced-supply-chain.js.map +1 -0
  16. package/dist/src/lib/analyzers/go/security-checks/injection-attacks.d.ts +1 -0
  17. package/dist/src/lib/analyzers/go/security-checks/injection-attacks.d.ts.map +1 -1
  18. package/dist/src/lib/analyzers/go/security-checks/injection-attacks.js +48 -0
  19. package/dist/src/lib/analyzers/go/security-checks/injection-attacks.js.map +1 -1
  20. package/dist/src/lib/analyzers/go-analyzer.d.ts.map +1 -1
  21. package/dist/src/lib/analyzers/go-analyzer.js +3 -0
  22. package/dist/src/lib/analyzers/go-analyzer.js.map +1 -1
  23. package/dist/src/lib/analyzers/helpers/ai-code-detection-utils.d.ts +226 -2
  24. package/dist/src/lib/analyzers/helpers/ai-code-detection-utils.d.ts.map +1 -1
  25. package/dist/src/lib/analyzers/helpers/ai-code-detection-utils.js +1108 -23
  26. package/dist/src/lib/analyzers/helpers/ai-code-detection-utils.js.map +1 -1
  27. package/dist/src/lib/analyzers/helpers/variable-tracker.d.ts.map +1 -1
  28. package/dist/src/lib/analyzers/helpers/variable-tracker.js +6 -4
  29. package/dist/src/lib/analyzers/helpers/variable-tracker.js.map +1 -1
  30. package/dist/src/lib/analyzers/java/security-checks/ai-generated-code.d.ts +2 -0
  31. package/dist/src/lib/analyzers/java/security-checks/ai-generated-code.d.ts.map +1 -1
  32. package/dist/src/lib/analyzers/java/security-checks/ai-generated-code.js +76 -12
  33. package/dist/src/lib/analyzers/java/security-checks/ai-generated-code.js.map +1 -1
  34. package/dist/src/lib/analyzers/java/security-checks/enhanced-supply-chain.d.ts +2 -0
  35. package/dist/src/lib/analyzers/java/security-checks/enhanced-supply-chain.d.ts.map +1 -1
  36. package/dist/src/lib/analyzers/java/security-checks/enhanced-supply-chain.js +99 -6
  37. package/dist/src/lib/analyzers/java/security-checks/enhanced-supply-chain.js.map +1 -1
  38. package/dist/src/lib/analyzers/java/security-checks/injection-attacks.d.ts +1 -0
  39. package/dist/src/lib/analyzers/java/security-checks/injection-attacks.d.ts.map +1 -1
  40. package/dist/src/lib/analyzers/java/security-checks/injection-attacks.js +41 -3
  41. package/dist/src/lib/analyzers/java/security-checks/injection-attacks.js.map +1 -1
  42. package/dist/src/lib/analyzers/javascript/security-checks/ai-generated-code.d.ts +3 -2
  43. package/dist/src/lib/analyzers/javascript/security-checks/ai-generated-code.d.ts.map +1 -1
  44. package/dist/src/lib/analyzers/javascript/security-checks/ai-generated-code.js +82 -11
  45. package/dist/src/lib/analyzers/javascript/security-checks/ai-generated-code.js.map +1 -1
  46. package/dist/src/lib/analyzers/javascript/security-checks/enhanced-supply-chain.d.ts +3 -0
  47. package/dist/src/lib/analyzers/javascript/security-checks/enhanced-supply-chain.d.ts.map +1 -1
  48. package/dist/src/lib/analyzers/javascript/security-checks/enhanced-supply-chain.js +75 -0
  49. package/dist/src/lib/analyzers/javascript/security-checks/enhanced-supply-chain.js.map +1 -1
  50. package/dist/src/lib/analyzers/javascript-analyzer.d.ts.map +1 -1
  51. package/dist/src/lib/analyzers/javascript-analyzer.js +9 -2
  52. package/dist/src/lib/analyzers/javascript-analyzer.js.map +1 -1
  53. package/dist/src/lib/analyzers/python/security-checks/ai-generated-code.d.ts +3 -2
  54. package/dist/src/lib/analyzers/python/security-checks/ai-generated-code.d.ts.map +1 -1
  55. package/dist/src/lib/analyzers/python/security-checks/ai-generated-code.js +113 -10
  56. package/dist/src/lib/analyzers/python/security-checks/ai-generated-code.js.map +1 -1
  57. package/dist/src/lib/analyzers/python/security-checks/credentials-crypto.d.ts +2 -0
  58. package/dist/src/lib/analyzers/python/security-checks/credentials-crypto.d.ts.map +1 -1
  59. package/dist/src/lib/analyzers/python/security-checks/credentials-crypto.js +48 -0
  60. package/dist/src/lib/analyzers/python/security-checks/credentials-crypto.js.map +1 -1
  61. package/dist/src/lib/analyzers/python/security-checks/enhanced-supply-chain.d.ts +3 -0
  62. package/dist/src/lib/analyzers/python/security-checks/enhanced-supply-chain.d.ts.map +1 -1
  63. package/dist/src/lib/analyzers/python/security-checks/enhanced-supply-chain.js +84 -0
  64. package/dist/src/lib/analyzers/python/security-checks/enhanced-supply-chain.js.map +1 -1
  65. package/dist/src/lib/analyzers/python/security-checks/injection-attacks.d.ts +4 -2
  66. package/dist/src/lib/analyzers/python/security-checks/injection-attacks.d.ts.map +1 -1
  67. package/dist/src/lib/analyzers/python/security-checks/injection-attacks.js +43 -3
  68. package/dist/src/lib/analyzers/python/security-checks/injection-attacks.js.map +1 -1
  69. package/dist/src/lib/analyzers/python-analyzer.d.ts.map +1 -1
  70. package/dist/src/lib/analyzers/python-analyzer.js +19 -3
  71. package/dist/src/lib/analyzers/python-analyzer.js.map +1 -1
  72. package/dist/src/lib/analyzers/secrets/patterns/api-keys/aws.js +1 -1
  73. package/dist/src/lib/analyzers/secrets/patterns/api-keys/aws.js.map +1 -1
  74. package/dist/src/lib/analyzers/secrets/patterns/api-keys/communication.js +2 -2
  75. package/dist/src/lib/analyzers/secrets/patterns/api-keys/communication.js.map +1 -1
  76. package/dist/src/lib/analyzers/secrets/patterns/api-keys/github.js +3 -3
  77. package/dist/src/lib/analyzers/secrets/patterns/api-keys/github.js.map +1 -1
  78. package/dist/src/lib/analyzers/typescript/security-checks/ai-generated-code.d.ts.map +1 -1
  79. package/dist/src/lib/analyzers/typescript/security-checks/ai-generated-code.js +8 -1
  80. package/dist/src/lib/analyzers/typescript/security-checks/ai-generated-code.js.map +1 -1
  81. package/dist/src/lib/analyzers/typescript/security-checks/enhanced-supply-chain.d.ts +2 -0
  82. package/dist/src/lib/analyzers/typescript/security-checks/enhanced-supply-chain.d.ts.map +1 -1
  83. package/dist/src/lib/analyzers/typescript/security-checks/enhanced-supply-chain.js +49 -0
  84. package/dist/src/lib/analyzers/typescript/security-checks/enhanced-supply-chain.js.map +1 -1
  85. package/dist/src/lib/analyzers/typescript/security-checks/injection-attacks.d.ts +13 -11
  86. package/dist/src/lib/analyzers/typescript/security-checks/injection-attacks.d.ts.map +1 -1
  87. package/dist/src/lib/analyzers/typescript/security-checks/injection-attacks.js +79 -22
  88. package/dist/src/lib/analyzers/typescript/security-checks/injection-attacks.js.map +1 -1
  89. package/dist/src/lib/analyzers/typescript/security-checks/type-safety.d.ts +24 -0
  90. package/dist/src/lib/analyzers/typescript/security-checks/type-safety.d.ts.map +1 -0
  91. package/dist/src/lib/analyzers/typescript/security-checks/type-safety.js +181 -0
  92. package/dist/src/lib/analyzers/typescript/security-checks/type-safety.js.map +1 -0
  93. package/dist/src/lib/analyzers/typescript-analyzer.d.ts.map +1 -1
  94. package/dist/src/lib/analyzers/typescript-analyzer.js +3 -0
  95. package/dist/src/lib/analyzers/typescript-analyzer.js.map +1 -1
  96. package/dist/src/lib/security/compliance-mapping.d.ts.map +1 -1
  97. package/dist/src/lib/security/compliance-mapping.js +19 -0
  98. package/dist/src/lib/security/compliance-mapping.js.map +1 -1
  99. package/dist/src/lib/security/severity-scoring.d.ts.map +1 -1
  100. package/dist/src/lib/security/severity-scoring.js +7 -0
  101. package/dist/src/lib/security/severity-scoring.js.map +1 -1
  102. package/package.json +1 -1
  103. package/src/reporters/cli-reporter.ts +7 -7
@@ -32,6 +32,45 @@ export interface HeuristicScores {
32
32
  unnecessaryAsync: number;
33
33
  genericVariables: number;
34
34
  inconsistentStrings: number;
35
+ zeroEdgeCases: number;
36
+ uniformIndentation: number;
37
+ textbookVariableNames: number;
38
+ noCommentsWithPerfectStructure: number;
39
+ excessiveParameterValidation: number;
40
+ }
41
+ /**
42
+ * LLM fingerprint scores (weighted 0.0-1.0)
43
+ * Week 2: GPT-4, GitHub Copilot, Claude Code, Cursor behavioral patterns
44
+ */
45
+ export interface LLMFingerprintScores {
46
+ verboseDocstrings: number;
47
+ defensiveNullChecks: number;
48
+ excessiveTryCatch: number;
49
+ helperFunctionProliferation: number;
50
+ overlyDescriptiveNames: number;
51
+ prematureOptimizationComments: number;
52
+ detailedTodoMarkers: number;
53
+ typeAnnotationOveruse: number;
54
+ boilerplateComments: number;
55
+ placeholderTodos: number;
56
+ genericFunctionNames: number;
57
+ placeholderConstants: number;
58
+ unusualImportOrdering: number;
59
+ copilotMarkers: number;
60
+ excessiveTypeAssertions: number;
61
+ detailedExplanatoryComments: number;
62
+ customErrorClasses: number;
63
+ extensiveInputValidation: number;
64
+ descriptiveHelperFunctions: number;
65
+ structuredReturnObjects: number;
66
+ aiCommandMarkers: number;
67
+ diffStyleComments: number;
68
+ tabCompletionArtifacts: number;
69
+ contextWindowLeakage: number;
70
+ overGenericExports: number;
71
+ unusedImportCleanup: number;
72
+ placeholderErrorMessages: number;
73
+ inlineDocumentationOverload: number;
35
74
  }
36
75
  /**
37
76
  * 1. Detect over-engineered error handling
@@ -74,9 +113,194 @@ export declare function detectGenericVariableOveruse(lines: string[]): number;
74
113
  */
75
114
  export declare function detectInconsistentStringConcatenation(lines: string[]): number;
76
115
  /**
77
- * Calculate confidence score from hallucination count and heuristic scores
116
+ * ====================
117
+ * LLM FINGERPRINT DETECTORS (Week 2)
118
+ * ====================
119
+ */
120
+ /**
121
+ * GPT-4 Fingerprint #1: Verbose docstrings
122
+ * Pattern: JSDoc/docstring with >5 lines and @param/@returns for trivial functions
123
+ */
124
+ export declare function detectVerboseDocstrings(lines: string[]): number;
125
+ /**
126
+ * GPT-4 Fingerprint #2: Defensive null checks
127
+ * Pattern: 3+ consecutive null checks on different variables
128
+ */
129
+ export declare function detectDefensiveNullChecks(lines: string[]): number;
130
+ /**
131
+ * GPT-4 Fingerprint #3: Excessive try-catch
132
+ * Pattern: >50% of functions wrapped in try-catch, even for simple operations
133
+ */
134
+ export declare function detectExcessiveTryCatch(lines: string[]): number;
135
+ /**
136
+ * GPT-4 Fingerprint #4: Helper function proliferation
137
+ * Pattern: >30% of functions are single-line helpers used only once
138
+ */
139
+ export declare function detectHelperFunctionProliferation(lines: string[]): number;
140
+ /**
141
+ * GPT-4 Fingerprint #5: Overly descriptive variable names
142
+ * Pattern: >3 variables with names >25 characters
143
+ */
144
+ export declare function detectOverlyDescriptiveNames(lines: string[]): number;
145
+ /**
146
+ * GPT-4 Fingerprint #6: Premature optimization comments
147
+ * Pattern: Comments mentioning "performance", "optimization", "O(n)" before implementation
148
+ */
149
+ export declare function detectPrematureOptimizationComments(lines: string[]): number;
150
+ /**
151
+ * GPT-4 Fingerprint #7: Detailed TODO markers
152
+ * Pattern: TODO comments with >10 words (GPT-4 over-explains)
153
+ */
154
+ export declare function detectDetailedTodoMarkers(lines: string[]): number;
155
+ /**
156
+ * GPT-4 Fingerprint #8: Type annotation overuse
157
+ * Pattern: Type hints on >70% of variables in Python/TypeScript (unnecessary)
158
+ */
159
+ export declare function detectTypeAnnotationOveruse(lines: string[]): number;
160
+ /**
161
+ * ====================
162
+ * GITHUB COPILOT FINGERPRINT DETECTORS (Week 2)
163
+ * ====================
164
+ */
165
+ /**
166
+ * GitHub Copilot Fingerprint #1: Boilerplate comments
167
+ * Pattern: Comments like "// your code here", "// TODO: implement this"
168
+ */
169
+ export declare function detectBoilerplateComments(lines: string[]): number;
170
+ /**
171
+ * GitHub Copilot Fingerprint #2: Placeholder TODOs
172
+ * Pattern: Generic TODOs like "TODO: implement", "TODO: add error handling"
173
+ */
174
+ export declare function detectPlaceholderTodos(lines: string[]): number;
175
+ /**
176
+ * GitHub Copilot Fingerprint #3: Generic function names
177
+ * Pattern: handleClick, doSomething, processData, etc.
178
+ */
179
+ export declare function detectGenericFunctionNames(lines: string[]): number;
180
+ /**
181
+ * GitHub Copilot Fingerprint #4: Placeholder constants
182
+ * Pattern: PLACEHOLDER, YOUR_API_KEY, CHANGE_ME, etc.
183
+ */
184
+ export declare function detectPlaceholderConstants(lines: string[]): number;
185
+ /**
186
+ * GitHub Copilot Fingerprint #5: Unusual import ordering
187
+ * Pattern: Copilot often puts imports in alphabetical order, which is uncommon
188
+ */
189
+ export declare function detectUnusualImportOrdering(lines: string[]): number;
190
+ /**
191
+ * GitHub Copilot Fingerprint #6: Copilot suggestion markers
192
+ * Pattern: Comments mentioning "Copilot", "AI-generated", "auto-generated"
193
+ */
194
+ export declare function detectCopilotMarkers(lines: string[]): number;
195
+ /**
196
+ * GitHub Copilot Fingerprint #7: Excessive type assertions
197
+ * Pattern: Overuse of `as any`, `!` (non-null assertion) in TypeScript
198
+ */
199
+ export declare function detectExcessiveTypeAssertions(lines: string[]): number;
200
+ /**
201
+ * ====================
202
+ * CLAUDE CODE FINGERPRINT DETECTORS (Week 2)
203
+ * ====================
204
+ */
205
+ /**
206
+ * Claude Code Fingerprint #1: Detailed explanatory comments
207
+ * Pattern: Multi-line comments explaining "why" not just "what" (Claude's style)
208
+ */
209
+ export declare function detectDetailedExplanatoryComments(lines: string[]): number;
210
+ /**
211
+ * Claude Code Fingerprint #2: Custom error classes
212
+ * Pattern: Creating custom error classes instead of using built-in errors
213
+ */
214
+ export declare function detectCustomErrorClasses(lines: string[]): number;
215
+ /**
216
+ * Claude Code Fingerprint #3: Extensive input validation
217
+ * Pattern: Multiple validation checks at function entry (Claude is thorough)
218
+ */
219
+ export declare function detectExtensiveInputValidation(lines: string[]): number;
220
+ /**
221
+ * Claude Code Fingerprint #4: Descriptive helper functions
222
+ * Pattern: Helper functions with very clear, descriptive names (Claude's clarity)
223
+ */
224
+ export declare function detectDescriptiveHelperFunctions(lines: string[]): number;
225
+ /**
226
+ * Claude Code Fingerprint #5: Structured return objects
227
+ * Pattern: Returning objects with { success, data, error } structure
228
+ */
229
+ export declare function detectStructuredReturnObjects(lines: string[]): number;
230
+ /**
231
+ * Cursor Fingerprint #1: AI command markers
232
+ * Pattern: Comments with AI/Cursor directives
233
+ */
234
+ export declare function detectAICommandMarkers(lines: string[]): number;
235
+ /**
236
+ * Cursor Fingerprint #2: Diff-style comments
237
+ * Pattern: Comments indicating code generation/addition
238
+ */
239
+ export declare function detectDiffStyleComments(lines: string[]): number;
240
+ /**
241
+ * Cursor Fingerprint #3: Tab completion artifacts
242
+ * Pattern: Incomplete suggestions, placeholder text left in code
243
+ */
244
+ export declare function detectTabCompletionArtifacts(lines: string[]): number;
245
+ /**
246
+ * Cursor Fingerprint #4: Context window leakage
247
+ * Pattern: Comments referencing files/context not in codebase
248
+ */
249
+ export declare function detectContextWindowLeakage(lines: string[]): number;
250
+ /**
251
+ * Cursor Fingerprint #5: Over-generic exports
252
+ * Pattern: Export statements with placeholder/generic patterns
253
+ */
254
+ export declare function detectOverGenericExports(lines: string[]): number;
255
+ /**
256
+ * Cursor Fingerprint #6: Unused import cleanup
257
+ * Pattern: Perfect alphabetical imports with no actual usage
258
+ */
259
+ export declare function detectUnusedImportCleanup(lines: string[]): number;
260
+ /**
261
+ * Cursor Fingerprint #7: Placeholder error messages
262
+ * Pattern: Generic error messages from AI suggestions
263
+ */
264
+ export declare function detectPlaceholderErrorMessages(lines: string[]): number;
265
+ /**
266
+ * Cursor Fingerprint #8: Inline documentation overload
267
+ * Pattern: JSDoc/docstrings on every single line (Cursor over-generates docs)
268
+ */
269
+ export declare function detectInlineDocumentationOverload(lines: string[]): number;
270
+ /**
271
+ * Perfect Code #1: Zero edge cases
272
+ * Pattern: Functions with no error handling or boundary checks (AI assumes happy path)
273
+ */
274
+ export declare function detectZeroEdgeCases(lines: string[]): number;
275
+ /**
276
+ * Perfect Code #2: Uniform indentation
277
+ * Pattern: Perfectly aligned code (humans are messy, AI is perfect)
278
+ */
279
+ export declare function detectUniformIndentation(lines: string[]): number;
280
+ /**
281
+ * Perfect Code #3: Textbook variable names
282
+ * Pattern: Generic tutorial-style names (firstName, lastName, emailAddress)
283
+ */
284
+ export declare function detectTextbookVariableNames(lines: string[]): number;
285
+ /**
286
+ * Perfect Code #4: No comments + perfect structure
287
+ * Pattern: Production code is messy; AI generates clean, structured code with zero comments
288
+ */
289
+ export declare function detectNoCommentsWithPerfectStructure(lines: string[]): number;
290
+ /**
291
+ * Perfect Code #5: Excessive parameter validation
292
+ * Pattern: AI validates every parameter, even in private functions
293
+ */
294
+ export declare function detectExcessiveParameterValidation(lines: string[]): number;
295
+ /**
296
+ * Calculate confidence score from hallucination count, heuristics, and LLM fingerprints
297
+ *
298
+ * Scoring weights:
299
+ * - Hallucination patterns: 60% (strongest signal - causes runtime errors)
300
+ * - Code smell heuristics: 25% (structural patterns)
301
+ * - LLM fingerprints: 15% (behavioral patterns)
78
302
  */
79
- export declare function calculateAICodeConfidence(hallucinationCount: number, heuristicScores: HeuristicScores): DetectionResult | null;
303
+ export declare function calculateAICodeConfidence(hallucinationCount: number, heuristicScores: HeuristicScores, llmFingerprintScores?: Partial<LLMFingerprintScores>): DetectionResult | null;
80
304
  /**
81
305
  * Check if filename indicates a test file
82
306
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ai-code-detection-utils.d.ts","sourceRoot":"","sources":["../../../../../../../src/lib/analyzers/helpers/ai-code-detection-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;IACtC,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAgBD;;;GAGG;AACH,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAwCzE;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAsCjE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAsC7D;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAqBpE;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAwBjE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAgC9D;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAuCpE;AAED;;;GAGG;AACH,wBAAgB,qCAAqC,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAyC7E;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,kBAAkB,EAAE,MAAM,EAC1B,eAAe,EAAE,eAAe,GAC/B,eAAe,GAAG,IAAI,CA4CxB;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAUrD;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAmB/E"}
1
+ {"version":3,"file":"ai-code-detection-utils.d.ts","sourceRoot":"","sources":["../../../../../../../src/lib/analyzers/helpers/ai-code-detection-utils.ts"],"names":[],"mappings":"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"}