codereview-aia 0.1.2 → 0.1.3

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 (427) hide show
  1. package/dist/index.js +0 -2
  2. package/docs/opt-in-full-context.md +27 -0
  3. package/package.json +11 -11
  4. package/reports/cr-cr-aia-17-11-2025-20-13.md +354 -0
  5. package/src/clients/implementations/openRouterClient.ts +2 -0
  6. package/src/clients/openRouterClient.ts +8 -1
  7. package/src/clients/utils/promptFormatter.ts +97 -20
  8. package/src/core/handlers/FileProcessingHandler.ts +6 -0
  9. package/src/index.ts +0 -3
  10. package/src/runtime/cliEntry.ts +21 -3
  11. package/src/runtime/fileCollector.ts +278 -5
  12. package/src/runtime/reviewPipeline.ts +46 -7
  13. package/src/runtime/runAiCodeReview.ts +161 -6
  14. package/src/runtime/ui/RuntimeApp.tsx +34 -5
  15. package/src/runtime/ui/screens/ProgressScreen.tsx +49 -1
  16. package/src/runtime/ui/screens/ResultsScreen.tsx +29 -9
  17. package/src/types/review.ts +18 -0
  18. package/dist/analysis/FindingsExtractor.d.ts +0 -105
  19. package/dist/analysis/FindingsExtractor.js +0 -363
  20. package/dist/analysis/FindingsExtractor.js.map +0 -1
  21. package/dist/analysis/ai-detection/analyzers/BaseAnalyzer.d.ts +0 -111
  22. package/dist/analysis/ai-detection/analyzers/BaseAnalyzer.js +0 -215
  23. package/dist/analysis/ai-detection/analyzers/BaseAnalyzer.js.map +0 -1
  24. package/dist/analysis/ai-detection/analyzers/DocumentationAnalyzer.d.ts +0 -142
  25. package/dist/analysis/ai-detection/analyzers/DocumentationAnalyzer.js +0 -503
  26. package/dist/analysis/ai-detection/analyzers/DocumentationAnalyzer.js.map +0 -1
  27. package/dist/analysis/ai-detection/analyzers/GitHistoryAnalyzer.d.ts +0 -88
  28. package/dist/analysis/ai-detection/analyzers/GitHistoryAnalyzer.js +0 -343
  29. package/dist/analysis/ai-detection/analyzers/GitHistoryAnalyzer.js.map +0 -1
  30. package/dist/analysis/ai-detection/core/AIDetectionEngine.d.ts +0 -104
  31. package/dist/analysis/ai-detection/core/AIDetectionEngine.js +0 -369
  32. package/dist/analysis/ai-detection/core/AIDetectionEngine.js.map +0 -1
  33. package/dist/analysis/ai-detection/types/DetectionTypes.d.ts +0 -364
  34. package/dist/analysis/ai-detection/types/DetectionTypes.js +0 -32
  35. package/dist/analysis/ai-detection/types/DetectionTypes.js.map +0 -1
  36. package/dist/analysis/ai-detection/utils/SubmissionConverter.d.ts +0 -97
  37. package/dist/analysis/ai-detection/utils/SubmissionConverter.js +0 -339
  38. package/dist/analysis/ai-detection/utils/SubmissionConverter.js.map +0 -1
  39. package/dist/analysis/context/ReviewContext.d.ts +0 -184
  40. package/dist/analysis/context/ReviewContext.js +0 -294
  41. package/dist/analysis/context/ReviewContext.js.map +0 -1
  42. package/dist/analysis/context/index.d.ts +0 -6
  43. package/dist/analysis/context/index.js +0 -23
  44. package/dist/analysis/context/index.js.map +0 -1
  45. package/dist/analysis/index.d.ts +0 -7
  46. package/dist/analysis/index.js +0 -24
  47. package/dist/analysis/index.js.map +0 -1
  48. package/dist/analysis/tokens/TokenAnalysisFormatter.d.ts +0 -27
  49. package/dist/analysis/tokens/TokenAnalysisFormatter.js +0 -143
  50. package/dist/analysis/tokens/TokenAnalysisFormatter.js.map +0 -1
  51. package/dist/analysis/tokens/TokenAnalyzer.d.ts +0 -155
  52. package/dist/analysis/tokens/TokenAnalyzer.js +0 -502
  53. package/dist/analysis/tokens/TokenAnalyzer.js.map +0 -1
  54. package/dist/analysis/tokens/index.d.ts +0 -7
  55. package/dist/analysis/tokens/index.js +0 -24
  56. package/dist/analysis/tokens/index.js.map +0 -1
  57. package/dist/clients/base/abstractClient.d.ts +0 -99
  58. package/dist/clients/base/abstractClient.js +0 -98
  59. package/dist/clients/base/abstractClient.js.map +0 -1
  60. package/dist/clients/base/httpClient.d.ts +0 -24
  61. package/dist/clients/base/httpClient.js +0 -147
  62. package/dist/clients/base/httpClient.js.map +0 -1
  63. package/dist/clients/base/index.d.ts +0 -11
  64. package/dist/clients/base/index.js +0 -28
  65. package/dist/clients/base/index.js.map +0 -1
  66. package/dist/clients/base/modelDetection.d.ts +0 -41
  67. package/dist/clients/base/modelDetection.js +0 -88
  68. package/dist/clients/base/modelDetection.js.map +0 -1
  69. package/dist/clients/base/responseProcessor.d.ts +0 -45
  70. package/dist/clients/base/responseProcessor.js +0 -495
  71. package/dist/clients/base/responseProcessor.js.map +0 -1
  72. package/dist/clients/factory/clientFactory.d.ts +0 -23
  73. package/dist/clients/factory/clientFactory.js +0 -50
  74. package/dist/clients/factory/clientFactory.js.map +0 -1
  75. package/dist/clients/factory/index.d.ts +0 -7
  76. package/dist/clients/factory/index.js +0 -24
  77. package/dist/clients/factory/index.js.map +0 -1
  78. package/dist/clients/implementations/index.d.ts +0 -7
  79. package/dist/clients/implementations/index.js +0 -24
  80. package/dist/clients/implementations/index.js.map +0 -1
  81. package/dist/clients/implementations/openRouterClient.d.ts +0 -69
  82. package/dist/clients/implementations/openRouterClient.js +0 -294
  83. package/dist/clients/implementations/openRouterClient.js.map +0 -1
  84. package/dist/clients/openRouterClient.d.ts +0 -42
  85. package/dist/clients/openRouterClient.js +0 -738
  86. package/dist/clients/openRouterClient.js.map +0 -1
  87. package/dist/clients/openRouterClientWrapper.d.ts +0 -22
  88. package/dist/clients/openRouterClientWrapper.js +0 -64
  89. package/dist/clients/openRouterClientWrapper.js.map +0 -1
  90. package/dist/clients/utils/directoryStructure.d.ts +0 -14
  91. package/dist/clients/utils/directoryStructure.js +0 -48
  92. package/dist/clients/utils/directoryStructure.js.map +0 -1
  93. package/dist/clients/utils/index.d.ts +0 -10
  94. package/dist/clients/utils/index.js +0 -31
  95. package/dist/clients/utils/index.js.map +0 -1
  96. package/dist/clients/utils/languageDetection.d.ts +0 -13
  97. package/dist/clients/utils/languageDetection.js +0 -46
  98. package/dist/clients/utils/languageDetection.js.map +0 -1
  99. package/dist/clients/utils/promptFormatter.d.ts +0 -36
  100. package/dist/clients/utils/promptFormatter.js +0 -92
  101. package/dist/clients/utils/promptFormatter.js.map +0 -1
  102. package/dist/clients/utils/promptLoader.d.ts +0 -27
  103. package/dist/clients/utils/promptLoader.js +0 -49
  104. package/dist/clients/utils/promptLoader.js.map +0 -1
  105. package/dist/clients/utils/tokenCounter.d.ts +0 -81
  106. package/dist/clients/utils/tokenCounter.js +0 -209
  107. package/dist/clients/utils/tokenCounter.js.map +0 -1
  108. package/dist/core/ApiClientSelector.d.ts +0 -8
  109. package/dist/core/ApiClientSelector.js +0 -29
  110. package/dist/core/ApiClientSelector.js.map +0 -1
  111. package/dist/core/ConfigurationService.d.ts +0 -286
  112. package/dist/core/ConfigurationService.js +0 -477
  113. package/dist/core/ConfigurationService.js.map +0 -1
  114. package/dist/core/ConsolidationService.d.ts +0 -99
  115. package/dist/core/ConsolidationService.js +0 -341
  116. package/dist/core/ConsolidationService.js.map +0 -1
  117. package/dist/core/InteractiveDisplayManager.d.ts +0 -22
  118. package/dist/core/InteractiveDisplayManager.js +0 -70
  119. package/dist/core/InteractiveDisplayManager.js.map +0 -1
  120. package/dist/core/OutputManager.d.ts +0 -26
  121. package/dist/core/OutputManager.js +0 -217
  122. package/dist/core/OutputManager.js.map +0 -1
  123. package/dist/core/ReviewGenerator.d.ts +0 -13
  124. package/dist/core/ReviewGenerator.js +0 -102
  125. package/dist/core/ReviewGenerator.js.map +0 -1
  126. package/dist/core/fileDiscovery.d.ts +0 -35
  127. package/dist/core/fileDiscovery.js +0 -202
  128. package/dist/core/fileDiscovery.js.map +0 -1
  129. package/dist/core/handlers/EstimationHandler.d.ts +0 -18
  130. package/dist/core/handlers/EstimationHandler.js +0 -110
  131. package/dist/core/handlers/EstimationHandler.js.map +0 -1
  132. package/dist/core/handlers/FileProcessingHandler.d.ts +0 -31
  133. package/dist/core/handlers/FileProcessingHandler.js +0 -159
  134. package/dist/core/handlers/FileProcessingHandler.js.map +0 -1
  135. package/dist/core/handlers/OutputHandler.d.ts +0 -27
  136. package/dist/core/handlers/OutputHandler.js +0 -127
  137. package/dist/core/handlers/OutputHandler.js.map +0 -1
  138. package/dist/core/handlers/ReviewExecutor.d.ts +0 -32
  139. package/dist/core/handlers/ReviewExecutor.js +0 -111
  140. package/dist/core/handlers/ReviewExecutor.js.map +0 -1
  141. package/dist/core/reviewOrchestrator.d.ts +0 -24
  142. package/dist/core/reviewOrchestrator.js +0 -294
  143. package/dist/core/reviewOrchestrator.js.map +0 -1
  144. package/dist/core/utils/ModelInfoUtils.d.ts +0 -16
  145. package/dist/core/utils/ModelInfoUtils.js +0 -54
  146. package/dist/core/utils/ModelInfoUtils.js.map +0 -1
  147. package/dist/formatters/outputFormatter.d.ts +0 -31
  148. package/dist/formatters/outputFormatter.js +0 -65
  149. package/dist/formatters/outputFormatter.js.map +0 -1
  150. package/dist/formatters/utils/IssueFormatters.d.ts +0 -20
  151. package/dist/formatters/utils/IssueFormatters.js +0 -67
  152. package/dist/formatters/utils/IssueFormatters.js.map +0 -1
  153. package/dist/formatters/utils/JsonFormatter.d.ts +0 -13
  154. package/dist/formatters/utils/JsonFormatter.js +0 -57
  155. package/dist/formatters/utils/JsonFormatter.js.map +0 -1
  156. package/dist/formatters/utils/MarkdownFormatters.d.ts +0 -51
  157. package/dist/formatters/utils/MarkdownFormatters.js +0 -456
  158. package/dist/formatters/utils/MarkdownFormatters.js.map +0 -1
  159. package/dist/formatters/utils/MetadataFormatter.d.ts +0 -65
  160. package/dist/formatters/utils/MetadataFormatter.js +0 -219
  161. package/dist/formatters/utils/MetadataFormatter.js.map +0 -1
  162. package/dist/formatters/utils/ModelInfoExtractor.d.ts +0 -33
  163. package/dist/formatters/utils/ModelInfoExtractor.js +0 -111
  164. package/dist/formatters/utils/ModelInfoExtractor.js.map +0 -1
  165. package/dist/index.d.ts +0 -2
  166. package/dist/index.js.map +0 -1
  167. package/dist/plugins/PluginInterface.d.ts +0 -44
  168. package/dist/plugins/PluginInterface.js +0 -9
  169. package/dist/plugins/PluginInterface.js.map +0 -1
  170. package/dist/plugins/PluginManager.d.ts +0 -51
  171. package/dist/plugins/PluginManager.js +0 -151
  172. package/dist/plugins/PluginManager.js.map +0 -1
  173. package/dist/prompts/PromptManager.d.ts +0 -30
  174. package/dist/prompts/PromptManager.js +0 -62
  175. package/dist/prompts/PromptManager.js.map +0 -1
  176. package/dist/prompts/cache/PromptCache.d.ts +0 -32
  177. package/dist/prompts/cache/PromptCache.js +0 -48
  178. package/dist/prompts/cache/PromptCache.js.map +0 -1
  179. package/dist/runtime/auth/service.d.ts +0 -2
  180. package/dist/runtime/auth/service.js +0 -41
  181. package/dist/runtime/auth/service.js.map +0 -1
  182. package/dist/runtime/auth/session.d.ts +0 -5
  183. package/dist/runtime/auth/session.js +0 -87
  184. package/dist/runtime/auth/session.js.map +0 -1
  185. package/dist/runtime/auth/types.d.ts +0 -9
  186. package/dist/runtime/auth/types.js +0 -3
  187. package/dist/runtime/auth/types.js.map +0 -1
  188. package/dist/runtime/cliEntry.d.ts +0 -1
  189. package/dist/runtime/cliEntry.js +0 -213
  190. package/dist/runtime/cliEntry.js.map +0 -1
  191. package/dist/runtime/debug/logManager.d.ts +0 -5
  192. package/dist/runtime/debug/logManager.js +0 -31
  193. package/dist/runtime/debug/logManager.js.map +0 -1
  194. package/dist/runtime/errors.d.ts +0 -5
  195. package/dist/runtime/errors.js +0 -15
  196. package/dist/runtime/errors.js.map +0 -1
  197. package/dist/runtime/fileCollector.d.ts +0 -5
  198. package/dist/runtime/fileCollector.js +0 -167
  199. package/dist/runtime/fileCollector.js.map +0 -1
  200. package/dist/runtime/manifest.d.ts +0 -1
  201. package/dist/runtime/manifest.js +0 -65
  202. package/dist/runtime/manifest.js.map +0 -1
  203. package/dist/runtime/openrouterProxy.d.ts +0 -4
  204. package/dist/runtime/openrouterProxy.js +0 -43
  205. package/dist/runtime/openrouterProxy.js.map +0 -1
  206. package/dist/runtime/preprod/webCheck.d.ts +0 -1
  207. package/dist/runtime/preprod/webCheck.js +0 -98
  208. package/dist/runtime/preprod/webCheck.js.map +0 -1
  209. package/dist/runtime/proxyConfig.d.ts +0 -6
  210. package/dist/runtime/proxyConfig.js +0 -86
  211. package/dist/runtime/proxyConfig.js.map +0 -1
  212. package/dist/runtime/proxyEnvironment.d.ts +0 -3
  213. package/dist/runtime/proxyEnvironment.js +0 -63
  214. package/dist/runtime/proxyEnvironment.js.map +0 -1
  215. package/dist/runtime/reportMerge.d.ts +0 -30
  216. package/dist/runtime/reportMerge.js +0 -70
  217. package/dist/runtime/reportMerge.js.map +0 -1
  218. package/dist/runtime/reporting/markdownReportBuilder.d.ts +0 -15
  219. package/dist/runtime/reporting/markdownReportBuilder.js +0 -97
  220. package/dist/runtime/reporting/markdownReportBuilder.js.map +0 -1
  221. package/dist/runtime/reporting/reportDataCollector.d.ts +0 -31
  222. package/dist/runtime/reporting/reportDataCollector.js +0 -170
  223. package/dist/runtime/reporting/reportDataCollector.js.map +0 -1
  224. package/dist/runtime/reporting/summaryGenerator.d.ts +0 -10
  225. package/dist/runtime/reporting/summaryGenerator.js +0 -67
  226. package/dist/runtime/reporting/summaryGenerator.js.map +0 -1
  227. package/dist/runtime/reviewPipeline.d.ts +0 -28
  228. package/dist/runtime/reviewPipeline.js +0 -122
  229. package/dist/runtime/reviewPipeline.js.map +0 -1
  230. package/dist/runtime/runAiCodeReview.d.ts +0 -10
  231. package/dist/runtime/runAiCodeReview.js +0 -138
  232. package/dist/runtime/runAiCodeReview.js.map +0 -1
  233. package/dist/runtime/runtimeConfig.d.ts +0 -4
  234. package/dist/runtime/runtimeConfig.js +0 -7
  235. package/dist/runtime/runtimeConfig.js.map +0 -1
  236. package/dist/runtime/ui/Layout.d.ts +0 -11
  237. package/dist/runtime/ui/Layout.js +0 -47
  238. package/dist/runtime/ui/Layout.js.map +0 -1
  239. package/dist/runtime/ui/RuntimeApp.d.ts +0 -6
  240. package/dist/runtime/ui/RuntimeApp.js +0 -161
  241. package/dist/runtime/ui/RuntimeApp.js.map +0 -1
  242. package/dist/runtime/ui/inkModules.d.ts +0 -10
  243. package/dist/runtime/ui/inkModules.js +0 -63
  244. package/dist/runtime/ui/inkModules.js.map +0 -1
  245. package/dist/runtime/ui/screens/AuthScreen.d.ts +0 -6
  246. package/dist/runtime/ui/screens/AuthScreen.js +0 -67
  247. package/dist/runtime/ui/screens/AuthScreen.js.map +0 -1
  248. package/dist/runtime/ui/screens/ModeSelection.d.ts +0 -10
  249. package/dist/runtime/ui/screens/ModeSelection.js +0 -100
  250. package/dist/runtime/ui/screens/ModeSelection.js.map +0 -1
  251. package/dist/runtime/ui/screens/ProgressScreen.d.ts +0 -7
  252. package/dist/runtime/ui/screens/ProgressScreen.js +0 -38
  253. package/dist/runtime/ui/screens/ProgressScreen.js.map +0 -1
  254. package/dist/runtime/ui/screens/ResultsScreen.d.ts +0 -7
  255. package/dist/runtime/ui/screens/ResultsScreen.js +0 -22
  256. package/dist/runtime/ui/screens/ResultsScreen.js.map +0 -1
  257. package/dist/strategies/ArchitecturalReviewStrategy.d.ts +0 -29
  258. package/dist/strategies/ArchitecturalReviewStrategy.js +0 -42
  259. package/dist/strategies/ArchitecturalReviewStrategy.js.map +0 -1
  260. package/dist/strategies/CodingTestReviewStrategy.d.ts +0 -194
  261. package/dist/strategies/CodingTestReviewStrategy.js +0 -681
  262. package/dist/strategies/CodingTestReviewStrategy.js.map +0 -1
  263. package/dist/strategies/ConsolidatedReviewStrategy.d.ts +0 -25
  264. package/dist/strategies/ConsolidatedReviewStrategy.js +0 -45
  265. package/dist/strategies/ConsolidatedReviewStrategy.js.map +0 -1
  266. package/dist/strategies/ExtractPatternsReviewStrategy.d.ts +0 -30
  267. package/dist/strategies/ExtractPatternsReviewStrategy.js +0 -51
  268. package/dist/strategies/ExtractPatternsReviewStrategy.js.map +0 -1
  269. package/dist/strategies/MultiPassReviewStrategy.d.ts +0 -86
  270. package/dist/strategies/MultiPassReviewStrategy.js +0 -590
  271. package/dist/strategies/MultiPassReviewStrategy.js.map +0 -1
  272. package/dist/strategies/ReviewStrategy.d.ts +0 -45
  273. package/dist/strategies/ReviewStrategy.js +0 -24
  274. package/dist/strategies/ReviewStrategy.js.map +0 -1
  275. package/dist/strategies/StrategyFactory.d.ts +0 -19
  276. package/dist/strategies/StrategyFactory.js +0 -72
  277. package/dist/strategies/StrategyFactory.js.map +0 -1
  278. package/dist/strategies/index.d.ts +0 -13
  279. package/dist/strategies/index.js +0 -30
  280. package/dist/strategies/index.js.map +0 -1
  281. package/dist/tokenizers/baseTokenizer.d.ts +0 -25
  282. package/dist/tokenizers/baseTokenizer.js +0 -48
  283. package/dist/tokenizers/baseTokenizer.js.map +0 -1
  284. package/dist/tokenizers/gptTokenizer.d.ts +0 -7
  285. package/dist/tokenizers/gptTokenizer.js +0 -28
  286. package/dist/tokenizers/gptTokenizer.js.map +0 -1
  287. package/dist/tokenizers/index.d.ts +0 -7
  288. package/dist/tokenizers/index.js +0 -24
  289. package/dist/tokenizers/index.js.map +0 -1
  290. package/dist/types/apiResponses.d.ts +0 -39
  291. package/dist/types/apiResponses.js +0 -9
  292. package/dist/types/apiResponses.js.map +0 -1
  293. package/dist/types/cli.d.ts +0 -22
  294. package/dist/types/cli.js +0 -3
  295. package/dist/types/cli.js.map +0 -1
  296. package/dist/types/common.d.ts +0 -22
  297. package/dist/types/common.js +0 -14
  298. package/dist/types/common.js.map +0 -1
  299. package/dist/types/configuration.d.ts +0 -682
  300. package/dist/types/configuration.js +0 -65
  301. package/dist/types/configuration.js.map +0 -1
  302. package/dist/types/review.d.ts +0 -258
  303. package/dist/types/review.js +0 -8
  304. package/dist/types/review.js.map +0 -1
  305. package/dist/types/reviewSchema.d.ts +0 -543
  306. package/dist/types/reviewSchema.js +0 -121
  307. package/dist/types/reviewSchema.js.map +0 -1
  308. package/dist/types/structuredReview.d.ts +0 -119
  309. package/dist/types/structuredReview.js +0 -6
  310. package/dist/types/structuredReview.js.map +0 -1
  311. package/dist/types/tokenAnalysis.d.ts +0 -44
  312. package/dist/types/tokenAnalysis.js +0 -4
  313. package/dist/types/tokenAnalysis.js.map +0 -1
  314. package/dist/utils/FileReader.d.ts +0 -33
  315. package/dist/utils/FileReader.js +0 -88
  316. package/dist/utils/FileReader.js.map +0 -1
  317. package/dist/utils/FileWriter.d.ts +0 -26
  318. package/dist/utils/FileWriter.js +0 -76
  319. package/dist/utils/FileWriter.js.map +0 -1
  320. package/dist/utils/PathGenerator.d.ts +0 -30
  321. package/dist/utils/PathGenerator.js +0 -82
  322. package/dist/utils/PathGenerator.js.map +0 -1
  323. package/dist/utils/api/apiUtils.d.ts +0 -3
  324. package/dist/utils/api/apiUtils.js +0 -20
  325. package/dist/utils/api/apiUtils.js.map +0 -1
  326. package/dist/utils/api/index.d.ts +0 -1
  327. package/dist/utils/api/index.js +0 -18
  328. package/dist/utils/api/index.js.map +0 -1
  329. package/dist/utils/apiErrorHandler.d.ts +0 -130
  330. package/dist/utils/apiErrorHandler.js +0 -256
  331. package/dist/utils/apiErrorHandler.js.map +0 -1
  332. package/dist/utils/ciDataCollector.d.ts +0 -51
  333. package/dist/utils/ciDataCollector.js +0 -197
  334. package/dist/utils/ciDataCollector.js.map +0 -1
  335. package/dist/utils/codingTestConfigLoader.d.ts +0 -66
  336. package/dist/utils/codingTestConfigLoader.js +0 -420
  337. package/dist/utils/codingTestConfigLoader.js.map +0 -1
  338. package/dist/utils/dependencies/aiDependencyAnalyzer.d.ts +0 -30
  339. package/dist/utils/dependencies/aiDependencyAnalyzer.js +0 -343
  340. package/dist/utils/dependencies/aiDependencyAnalyzer.js.map +0 -1
  341. package/dist/utils/detection/frameworkDetector.d.ts +0 -43
  342. package/dist/utils/detection/frameworkDetector.js +0 -795
  343. package/dist/utils/detection/frameworkDetector.js.map +0 -1
  344. package/dist/utils/detection/index.d.ts +0 -9
  345. package/dist/utils/detection/index.js +0 -28
  346. package/dist/utils/detection/index.js.map +0 -1
  347. package/dist/utils/detection/projectTypeDetector.d.ts +0 -27
  348. package/dist/utils/detection/projectTypeDetector.js +0 -469
  349. package/dist/utils/detection/projectTypeDetector.js.map +0 -1
  350. package/dist/utils/diagramGenerator.d.ts +0 -49
  351. package/dist/utils/diagramGenerator.js +0 -218
  352. package/dist/utils/diagramGenerator.js.map +0 -1
  353. package/dist/utils/errorLogger.d.ts +0 -24
  354. package/dist/utils/errorLogger.js +0 -59
  355. package/dist/utils/errorLogger.js.map +0 -1
  356. package/dist/utils/estimationUtils.d.ts +0 -139
  357. package/dist/utils/estimationUtils.js +0 -329
  358. package/dist/utils/estimationUtils.js.map +0 -1
  359. package/dist/utils/fileFilters.d.ts +0 -72
  360. package/dist/utils/fileFilters.js +0 -338
  361. package/dist/utils/fileFilters.js.map +0 -1
  362. package/dist/utils/fileSystem.d.ts +0 -22
  363. package/dist/utils/fileSystem.js +0 -45
  364. package/dist/utils/fileSystem.js.map +0 -1
  365. package/dist/utils/index.d.ts +0 -22
  366. package/dist/utils/index.js +0 -52
  367. package/dist/utils/index.js.map +0 -1
  368. package/dist/utils/logger.d.ts +0 -77
  369. package/dist/utils/logger.js +0 -271
  370. package/dist/utils/logger.js.map +0 -1
  371. package/dist/utils/pathValidator.d.ts +0 -40
  372. package/dist/utils/pathValidator.js +0 -98
  373. package/dist/utils/pathValidator.js.map +0 -1
  374. package/dist/utils/priorityFilter.d.ts +0 -34
  375. package/dist/utils/priorityFilter.js +0 -54
  376. package/dist/utils/priorityFilter.js.map +0 -1
  377. package/dist/utils/projectDocs.d.ts +0 -47
  378. package/dist/utils/projectDocs.js +0 -158
  379. package/dist/utils/projectDocs.js.map +0 -1
  380. package/dist/utils/promptPaths.d.ts +0 -6
  381. package/dist/utils/promptPaths.js +0 -33
  382. package/dist/utils/promptPaths.js.map +0 -1
  383. package/dist/utils/promptTemplateManager.d.ts +0 -34
  384. package/dist/utils/promptTemplateManager.js +0 -140
  385. package/dist/utils/promptTemplateManager.js.map +0 -1
  386. package/dist/utils/review/consolidateReview.d.ts +0 -15
  387. package/dist/utils/review/consolidateReview.js +0 -481
  388. package/dist/utils/review/consolidateReview.js.map +0 -1
  389. package/dist/utils/review/fixDisplay.d.ts +0 -20
  390. package/dist/utils/review/fixDisplay.js +0 -84
  391. package/dist/utils/review/fixDisplay.js.map +0 -1
  392. package/dist/utils/review/fixImplementation.d.ts +0 -28
  393. package/dist/utils/review/fixImplementation.js +0 -60
  394. package/dist/utils/review/fixImplementation.js.map +0 -1
  395. package/dist/utils/review/index.d.ts +0 -13
  396. package/dist/utils/review/index.js +0 -50
  397. package/dist/utils/review/index.js.map +0 -1
  398. package/dist/utils/review/interactiveProcessing.d.ts +0 -25
  399. package/dist/utils/review/interactiveProcessing.js +0 -251
  400. package/dist/utils/review/interactiveProcessing.js.map +0 -1
  401. package/dist/utils/review/progressTracker.d.ts +0 -106
  402. package/dist/utils/review/progressTracker.js +0 -227
  403. package/dist/utils/review/progressTracker.js.map +0 -1
  404. package/dist/utils/review/reviewExtraction.d.ts +0 -31
  405. package/dist/utils/review/reviewExtraction.js +0 -324
  406. package/dist/utils/review/reviewExtraction.js.map +0 -1
  407. package/dist/utils/review/types.d.ts +0 -45
  408. package/dist/utils/review/types.js +0 -18
  409. package/dist/utils/review/types.js.map +0 -1
  410. package/dist/utils/reviewActionHandler.d.ts +0 -16
  411. package/dist/utils/reviewActionHandler.js +0 -34
  412. package/dist/utils/reviewActionHandler.js.map +0 -1
  413. package/dist/utils/reviewParser.d.ts +0 -34
  414. package/dist/utils/reviewParser.js +0 -218
  415. package/dist/utils/reviewParser.js.map +0 -1
  416. package/dist/utils/sanitizer.d.ts +0 -82
  417. package/dist/utils/sanitizer.js +0 -239
  418. package/dist/utils/sanitizer.js.map +0 -1
  419. package/dist/utils/smartFileSelector.d.ts +0 -50
  420. package/dist/utils/smartFileSelector.js +0 -261
  421. package/dist/utils/smartFileSelector.js.map +0 -1
  422. package/dist/utils/templateLoader.d.ts +0 -44
  423. package/dist/utils/templateLoader.js +0 -431
  424. package/dist/utils/templateLoader.js.map +0 -1
  425. package/dist/utils/treeGenerator.d.ts +0 -12
  426. package/dist/utils/treeGenerator.js +0 -133
  427. package/dist/utils/treeGenerator.js.map +0 -1
@@ -1,343 +0,0 @@
1
- "use strict";
2
- /**
3
- * @fileoverview Git history analyzer for detecting AI-generated code patterns.
4
- *
5
- * This analyzer examines git commit history, patterns, and metadata to identify
6
- * characteristics commonly associated with AI-generated code submissions.
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.GitHistoryAnalyzer = void 0;
10
- const BaseAnalyzer_1 = require("./BaseAnalyzer");
11
- /**
12
- * Analyzer for git history patterns that may indicate AI generation
13
- */
14
- class GitHistoryAnalyzer extends BaseAnalyzer_1.BaseAnalyzer {
15
- /**
16
- * Get analyzer name
17
- */
18
- getAnalyzerName() {
19
- return 'git';
20
- }
21
- /**
22
- * Analyze git history for AI-generated patterns
23
- * @param submission Code submission to analyze
24
- * @returns Git analysis result
25
- */
26
- async analyze(submission) {
27
- this.startTimer();
28
- const patterns = [];
29
- try {
30
- const commits = submission.repository.commits;
31
- if (commits.length === 0) {
32
- return this.createEmptyResult();
33
- }
34
- // Pattern H1.1: Simultaneous File Creation
35
- const bulkCreationResult = this.detectBulkFileCreation(commits);
36
- if (bulkCreationResult.detected) {
37
- patterns.push(this.createDetectedPattern('H1.1', 'Simultaneous File Creation', 'high', bulkCreationResult.score, 'Initial commit contains unusually large number of files, suggesting bulk generation', bulkCreationResult.evidence || {}));
38
- }
39
- // Pattern H1.2: AI-Generated Commit Messages
40
- const aiCommitResult = this.detectAICommitMessages(commits);
41
- if (aiCommitResult.detected) {
42
- patterns.push(this.createDetectedPattern('H1.2', 'AI-Generated Commit Messages', 'high', aiCommitResult.score, 'Commit messages follow AI-generated patterns and templates', aiCommitResult.evidence || {}));
43
- }
44
- // Pattern H1.3: Absence of Debugging Commits
45
- const debuggingAbsenceResult = this.detectDebuggingAbsence(commits);
46
- if (debuggingAbsenceResult.detected) {
47
- patterns.push(this.createDetectedPattern('H1.3', 'Missing Developer Workflow', 'high', debuggingAbsenceResult.score, 'Lacks typical developer debugging and iteration patterns', debuggingAbsenceResult.evidence || {}));
48
- }
49
- // Pattern H1.4: Perfect Initial Commit
50
- const perfectInitialResult = this.detectPerfectInitialCommit(commits);
51
- if (perfectInitialResult.detected) {
52
- patterns.push(this.createDetectedPattern('H1.4', 'Perfect Initial Commit', 'high', perfectInitialResult.score, 'Initial commit contains complete, working project without typical development artifacts', perfectInitialResult.evidence || {}));
53
- }
54
- return {
55
- analyzer: 'git-history',
56
- patterns,
57
- metadata: {
58
- totalCommits: commits.length,
59
- analysisTime: this.getElapsedTime(),
60
- sufficientHistory: commits.length >= 3,
61
- },
62
- };
63
- }
64
- catch (error) {
65
- console.error('Error in GitHistoryAnalyzer:', error);
66
- return this.createEmptyResult();
67
- }
68
- }
69
- /**
70
- * Detect bulk file creation in initial commit
71
- * @param commits Array of git commits
72
- * @returns Pattern detection result
73
- */
74
- detectBulkFileCreation(commits) {
75
- if (commits.length === 0) {
76
- return this.createPatternResult(false, 0);
77
- }
78
- const initialCommit = commits[0];
79
- const fileCount = initialCommit.changedFiles.length;
80
- // Threshold: >15 files in initial commit is suspicious
81
- // More files = higher suspicion
82
- if (fileCount > 15) {
83
- const score = Math.min(0.95, 0.6 + (fileCount - 15) * 0.02);
84
- return this.createPatternResult(true, score, {
85
- fileCount,
86
- commitHash: initialCommit.hash,
87
- message: initialCommit.message,
88
- files: initialCommit.changedFiles.slice(0, 10), // First 10 files for evidence
89
- timestamp: initialCommit.timestamp,
90
- threshold: 15,
91
- });
92
- }
93
- return this.createPatternResult(false, 0);
94
- }
95
- /**
96
- * Detect AI-generated commit message patterns
97
- * @param commits Array of git commits
98
- * @returns Pattern detection result
99
- */
100
- detectAICommitMessages(commits) {
101
- const aiPatterns = [
102
- // Conventional commit patterns (overly consistent usage)
103
- /^(feat|fix|docs|style|refactor|test|chore)(\(.+\))?: .{20,}/,
104
- // Template-like descriptive messages
105
- /^(Add|Update|Fix|Implement|Create) .+ (feature|functionality|component|module)$/i,
106
- // Overly formal initial commit messages
107
- /^Initial (commit|implementation) with (complete|full) .+ structure$/i,
108
- // Perfect grammar and structure
109
- /^(Implement|Add|Create) comprehensive .+ with .+ support$/i,
110
- // Emoji usage patterns common in AI
111
- /^(✨|🚀|🎉|🔧|📝|🐛|💡) /,
112
- ];
113
- let matches = 0;
114
- const evidence = [];
115
- const totalCommits = commits.length;
116
- commits.forEach((commit, index) => {
117
- const isAIPattern = aiPatterns.some((pattern) => pattern.test(commit.message));
118
- if (isAIPattern) {
119
- matches++;
120
- evidence.push({
121
- hash: commit.hash,
122
- message: commit.message,
123
- timestamp: commit.timestamp,
124
- position: index === 0 ? 'initial' : index === totalCommits - 1 ? 'latest' : 'middle',
125
- });
126
- }
127
- });
128
- const ratio = matches / totalCommits;
129
- // >70% of commits match AI patterns is highly suspicious
130
- if (ratio > 0.7 && totalCommits >= 3) {
131
- const score = Math.min(0.95, 0.6 + ratio * 0.3);
132
- return this.createPatternResult(true, score, {
133
- matchingCommits: matches,
134
- totalCommits,
135
- ratio,
136
- examples: evidence.slice(0, 5), // Top 5 examples
137
- patterns: aiPatterns.map((p) => p.source),
138
- });
139
- }
140
- return this.createPatternResult(false, ratio * 0.4); // Partial score for moderate usage
141
- }
142
- /**
143
- * Detect absence of typical debugging/development commits
144
- * @param commits Array of git commits
145
- * @returns Pattern detection result
146
- */
147
- detectDebuggingAbsence(commits) {
148
- if (commits.length < 3) {
149
- return this.createPatternResult(false, 0); // Need sufficient history
150
- }
151
- const developmentPatterns = [
152
- // Work in progress indicators
153
- /\bwip\b/i,
154
- /work.?in.?progress/i,
155
- // Quick fixes and debugging
156
- /\bfix\b(?!:)/i, // "fix" but not "fix:" (conventional commits)
157
- /\bbug\b/i,
158
- /\bdebug\b/i,
159
- /oops/i,
160
- /typo/i,
161
- // Experimental work
162
- /test/i,
163
- /experiment/i,
164
- /try/i,
165
- /attempt/i,
166
- // Informal language
167
- /\btodo\b/i,
168
- /\bfixme\b/i,
169
- /wtf/i,
170
- /hack/i,
171
- ];
172
- let humanLikeCommits = 0;
173
- const totalCommits = commits.length;
174
- commits.forEach((commit) => {
175
- const isHumanLike = developmentPatterns.some((pattern) => pattern.test(commit.message));
176
- if (isHumanLike) {
177
- humanLikeCommits++;
178
- }
179
- });
180
- const humanRatio = humanLikeCommits / totalCommits;
181
- // Very low ratio of human-like commits suggests AI generation
182
- if (humanRatio < 0.1 && totalCommits >= 5) {
183
- const score = Math.min(0.88, 0.5 + (0.1 - humanRatio) * 3);
184
- return this.createPatternResult(true, score, {
185
- humanLikeCommits,
186
- totalCommits,
187
- humanRatio,
188
- missingPatterns: developmentPatterns.map((p) => p.source),
189
- threshold: 0.1,
190
- });
191
- }
192
- return this.createPatternResult(false, 0);
193
- }
194
- /**
195
- * Detect perfect initial commit without development artifacts
196
- * @param commits Array of git commits
197
- * @returns Pattern detection result
198
- */
199
- detectPerfectInitialCommit(commits) {
200
- if (commits.length === 0) {
201
- return this.createPatternResult(false, 0);
202
- }
203
- const initialCommit = commits[0];
204
- const fileCount = initialCommit.changedFiles.length;
205
- // Indicators of "perfect" initial commit
206
- const indicators = {
207
- largeFileCount: fileCount > 20,
208
- hasCompleteStructure: this.hasCompleteProjectStructure(initialCommit.changedFiles),
209
- hasConfigFiles: this.hasConfigurationFiles(initialCommit.changedFiles),
210
- hasDocumentation: this.hasDocumentationFiles(initialCommit.changedFiles),
211
- hasTests: this.hasTestFiles(initialCommit.changedFiles),
212
- perfectMessage: this.isPerfectInitialMessage(initialCommit.message),
213
- };
214
- const indicatorCount = Object.values(indicators).filter(Boolean).length;
215
- const totalIndicators = Object.keys(indicators).length;
216
- // If most indicators are present, it suggests AI generation
217
- if (indicatorCount >= 4) {
218
- const score = Math.min(0.92, 0.5 + (indicatorCount / totalIndicators) * 0.4);
219
- return this.createPatternResult(true, score, {
220
- indicators,
221
- indicatorCount,
222
- totalIndicators,
223
- fileCount,
224
- commitMessage: initialCommit.message,
225
- fileTypes: this.categorizeFiles(initialCommit.changedFiles),
226
- });
227
- }
228
- return this.createPatternResult(false, (indicatorCount / totalIndicators) * 0.3);
229
- }
230
- /**
231
- * Check if commit has complete project structure
232
- * @param files Array of file paths
233
- * @returns True if has complete structure
234
- */
235
- hasCompleteProjectStructure(files) {
236
- const structureFiles = [
237
- 'package.json',
238
- 'tsconfig.json',
239
- 'webpack.config.js',
240
- 'vite.config.js',
241
- 'babel.config.js',
242
- '.eslintrc',
243
- '.prettierrc',
244
- 'jest.config.js',
245
- ];
246
- const foundStructureFiles = files.filter((file) => structureFiles.some((sf) => file.endsWith(sf))).length;
247
- return foundStructureFiles >= 3;
248
- }
249
- /**
250
- * Check if commit has configuration files
251
- * @param files Array of file paths
252
- * @returns True if has config files
253
- */
254
- hasConfigurationFiles(files) {
255
- const configPatterns = [/\.config\.(js|ts|json)$/, /^\.env/, /^\.git/, /^\.vscode/, /^\.idea/];
256
- return files.some((file) => configPatterns.some((pattern) => pattern.test(file)));
257
- }
258
- /**
259
- * Check if commit has documentation files
260
- * @param files Array of file paths
261
- * @returns True if has documentation
262
- */
263
- hasDocumentationFiles(files) {
264
- const docPatterns = [/README/i, /CHANGELOG/i, /LICENSE/i, /CONTRIBUTING/i, /\.md$/];
265
- return files.some((file) => docPatterns.some((pattern) => pattern.test(file)));
266
- }
267
- /**
268
- * Check if commit has test files
269
- * @param files Array of file paths
270
- * @returns True if has tests
271
- */
272
- hasTestFiles(files) {
273
- const testPatterns = [/\.(test|spec)\.(js|ts|jsx|tsx)$/, /^test\//, /^tests\//, /__tests__/];
274
- return files.some((file) => testPatterns.some((pattern) => pattern.test(file)));
275
- }
276
- /**
277
- * Check if initial commit message is "perfect" (suggests AI)
278
- * @param message Commit message
279
- * @returns True if message seems AI-generated
280
- */
281
- isPerfectInitialMessage(message) {
282
- const perfectPatterns = [
283
- /^Initial commit with complete .+ implementation$/i,
284
- /^feat: initial .+ setup with .+ integration$/i,
285
- /^🎉 Initial release with comprehensive .+ support$/i,
286
- /^Add complete .+ project structure$/i,
287
- ];
288
- return perfectPatterns.some((pattern) => pattern.test(message));
289
- }
290
- /**
291
- * Categorize files by type
292
- * @param files Array of file paths
293
- * @returns Object with file type counts
294
- */
295
- categorizeFiles(files) {
296
- const categories = {
297
- source: 0,
298
- config: 0,
299
- test: 0,
300
- documentation: 0,
301
- assets: 0,
302
- other: 0,
303
- };
304
- files.forEach((file) => {
305
- if (/\.(js|ts|jsx|tsx|py|java|go|rb|php)$/.test(file)) {
306
- categories.source++;
307
- }
308
- else if (/\.(json|yaml|yml|toml|ini|env)$/.test(file) || file.includes('config')) {
309
- categories.config++;
310
- }
311
- else if (/\.(test|spec)\./.test(file) || file.includes('test')) {
312
- categories.test++;
313
- }
314
- else if (/\.(md|txt|rst)$/.test(file) || /README|LICENSE|CHANGELOG/i.test(file)) {
315
- categories.documentation++;
316
- }
317
- else if (/\.(png|jpg|jpeg|gif|svg|ico|woff|ttf)$/.test(file)) {
318
- categories.assets++;
319
- }
320
- else {
321
- categories.other++;
322
- }
323
- });
324
- return categories;
325
- }
326
- /**
327
- * Create empty result for error cases
328
- * @returns Empty git analysis result
329
- */
330
- createEmptyResult() {
331
- return {
332
- analyzer: 'git-history',
333
- patterns: [],
334
- metadata: {
335
- totalCommits: 0,
336
- analysisTime: this.getElapsedTime(),
337
- sufficientHistory: false,
338
- },
339
- };
340
- }
341
- }
342
- exports.GitHistoryAnalyzer = GitHistoryAnalyzer;
343
- //# sourceMappingURL=GitHistoryAnalyzer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"GitHistoryAnalyzer.js","sourceRoot":"","sources":["../../../../src/analysis/ai-detection/analyzers/GitHistoryAnalyzer.ts"],"names":[],"mappings":"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"}
@@ -1,104 +0,0 @@
1
- /**
2
- * @fileoverview Main AI detection engine that orchestrates analysis across multiple analyzers.
3
- *
4
- * This module provides the central detection engine that coordinates various analyzers
5
- * to determine if code was generated by AI, aggregating results and calculating confidence scores.
6
- */
7
- import type { CodeSubmission, DetectionConfig, DetectionResult } from '../types/DetectionTypes';
8
- /**
9
- * Core AI detection engine interface
10
- */
11
- export interface IAIDetectionEngine {
12
- analyze(submission: CodeSubmission): Promise<DetectionResult>;
13
- getConfig(): DetectionConfig;
14
- setConfig(config: Partial<DetectionConfig>): void;
15
- }
16
- /**
17
- * Main AI detection engine that orchestrates analysis
18
- */
19
- export declare class AIDetectionEngine implements IAIDetectionEngine {
20
- private config;
21
- private analyzers;
22
- private cache;
23
- /**
24
- * Create a new AI detection engine
25
- * @param config Detection configuration
26
- */
27
- constructor(config?: Partial<DetectionConfig>);
28
- /**
29
- * Analyze code submission for AI-generated patterns
30
- * @param submission Code submission to analyze
31
- * @returns Detection result with confidence score and patterns
32
- */
33
- analyze(submission: CodeSubmission): Promise<DetectionResult>;
34
- /**
35
- * Get current configuration
36
- * @returns Current detection configuration
37
- */
38
- getConfig(): DetectionConfig;
39
- /**
40
- * Update configuration
41
- * @param config Partial configuration to merge
42
- */
43
- setConfig(config: Partial<DetectionConfig>): void;
44
- /**
45
- * Validate detection configuration
46
- * @param config Configuration to validate
47
- */
48
- private validateConfig;
49
- /**
50
- * Initialize all available analyzers
51
- */
52
- private initializeAnalyzers;
53
- /**
54
- * Get enabled analyzers based on configuration
55
- * @returns Array of enabled analyzers
56
- */
57
- private getEnabledAnalyzers;
58
- /**
59
- * Run analyzer with timeout protection
60
- * @param analyzer Analyzer to run
61
- * @param submission Code submission
62
- * @returns Analysis result or timeout error
63
- */
64
- private runAnalyzerWithTimeout;
65
- /**
66
- * Calculate overall confidence score from detected patterns
67
- * @param patterns Array of detected patterns
68
- * @returns Confidence score between 0.0 and 1.0
69
- */
70
- private calculateConfidenceScore;
71
- /**
72
- * Create analysis breakdown from results
73
- * @param results Array of analysis results
74
- * @returns Analysis breakdown object
75
- */
76
- private createAnalysisBreakdown;
77
- /**
78
- * Generate actionable recommendations based on detected patterns
79
- * @param patterns Detected patterns
80
- * @param isAIGenerated Whether code is determined to be AI-generated
81
- * @returns Array of recommendation strings
82
- */
83
- private generateRecommendations;
84
- /**
85
- * Create detection metadata
86
- * @param startTime Analysis start time
87
- * @param warnings Array of warning messages
88
- * @returns Detection metadata object
89
- */
90
- private createMetadata;
91
- /**
92
- * Generate cache key for a submission
93
- * @param submission Code submission
94
- * @returns Cache key string
95
- */
96
- private generateCacheKey;
97
- /**
98
- * Create error result for failed analyses
99
- * @param startTime Analysis start time
100
- * @param error Error that occurred
101
- * @returns Error detection result
102
- */
103
- private createErrorResult;
104
- }