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,369 +0,0 @@
1
- "use strict";
2
- /**
3
- * @fileoverview Main AI detection engine that orchestrates analysis across multiple analyzers.
4
- *
5
- * This module provides the central detection engine that coordinates various analyzers
6
- * to determine if code was generated by AI, aggregating results and calculating confidence scores.
7
- */
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.AIDetectionEngine = void 0;
10
- const DocumentationAnalyzer_1 = require("../analyzers/DocumentationAnalyzer");
11
- const GitHistoryAnalyzer_1 = require("../analyzers/GitHistoryAnalyzer");
12
- const DetectionTypes_1 = require("../types/DetectionTypes");
13
- /**
14
- * Main AI detection engine that orchestrates analysis
15
- */
16
- class AIDetectionEngine {
17
- config;
18
- analyzers;
19
- cache;
20
- /**
21
- * Create a new AI detection engine
22
- * @param config Detection configuration
23
- */
24
- constructor(config = {}) {
25
- this.config = { ...DetectionTypes_1.DEFAULT_DETECTION_CONFIG, ...config };
26
- this.analyzers = new Map();
27
- this.cache = new Map();
28
- this.initializeAnalyzers();
29
- }
30
- /**
31
- * Analyze code submission for AI-generated patterns
32
- * @param submission Code submission to analyze
33
- * @returns Detection result with confidence score and patterns
34
- */
35
- async analyze(submission) {
36
- const startTime = Date.now();
37
- try {
38
- // Check cache if enabled
39
- if (this.config.enableCaching) {
40
- const cacheKey = this.generateCacheKey(submission);
41
- const cached = this.cache.get(cacheKey);
42
- if (cached) {
43
- return {
44
- ...cached,
45
- metadata: {
46
- ...cached.metadata,
47
- cacheInfo: { hit: true, key: cacheKey },
48
- },
49
- };
50
- }
51
- }
52
- // Run enabled analyzers in parallel
53
- const analysisPromises = this.getEnabledAnalyzers().map((analyzer) => this.runAnalyzerWithTimeout(analyzer, submission));
54
- const analysisResults = await Promise.allSettled(analysisPromises);
55
- // Process successful results
56
- const successfulResults = analysisResults
57
- .filter((result) => result.status === 'fulfilled')
58
- .map((result) => result.value);
59
- // Collect warnings from failed analyses
60
- const warnings = analysisResults
61
- .filter((result) => result.status === 'rejected')
62
- .map((result) => `Analyzer failed: ${result.reason.message}`);
63
- // Extract all detected patterns
64
- const allPatterns = successfulResults.flatMap((result) => result.patterns || []);
65
- // Calculate overall confidence score
66
- const confidenceScore = this.calculateConfidenceScore(allPatterns);
67
- // Determine if AI-generated based on threshold
68
- const isAIGenerated = confidenceScore >= this.config.detectionThreshold;
69
- // Create analysis breakdown
70
- const analysisBreakdown = this.createAnalysisBreakdown(successfulResults);
71
- // Generate recommendations
72
- const recommendations = this.generateRecommendations(allPatterns, isAIGenerated);
73
- // Create metadata
74
- const metadata = this.createMetadata(startTime, warnings);
75
- const result = {
76
- isAIGenerated,
77
- confidenceScore,
78
- detectedPatterns: allPatterns,
79
- analysisBreakdown,
80
- recommendations,
81
- metadata,
82
- };
83
- // Cache result if enabled
84
- if (this.config.enableCaching) {
85
- const cacheKey = this.generateCacheKey(submission);
86
- this.cache.set(cacheKey, result);
87
- // Limit cache size (simple LRU-like behavior)
88
- if (this.cache.size > 100) {
89
- const firstKey = this.cache.keys().next().value;
90
- if (firstKey) {
91
- this.cache.delete(firstKey);
92
- }
93
- }
94
- }
95
- return result;
96
- }
97
- catch (error) {
98
- const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
99
- console.error('❌ Error in AI detection analysis:', errorMessage);
100
- // Log additional context for debugging
101
- if (error instanceof Error && error.stack) {
102
- console.debug('AI Detection Error Stack:', error.stack);
103
- }
104
- return this.createErrorResult(startTime, error);
105
- }
106
- }
107
- /**
108
- * Get current configuration
109
- * @returns Current detection configuration
110
- */
111
- getConfig() {
112
- return { ...this.config };
113
- }
114
- /**
115
- * Update configuration
116
- * @param config Partial configuration to merge
117
- */
118
- setConfig(config) {
119
- try {
120
- // Validate configuration before applying
121
- this.validateConfig(config);
122
- this.config = { ...this.config, ...config };
123
- this.initializeAnalyzers(); // Reinitialize with new config
124
- }
125
- catch (error) {
126
- const errorMessage = error instanceof Error ? error.message : 'Unknown configuration error';
127
- console.error('❌ Failed to update AI detection configuration:', errorMessage);
128
- throw error;
129
- }
130
- }
131
- /**
132
- * Validate detection configuration
133
- * @param config Configuration to validate
134
- */
135
- validateConfig(config) {
136
- if (config.detectionThreshold !== undefined) {
137
- if (typeof config.detectionThreshold !== 'number' ||
138
- config.detectionThreshold < 0 ||
139
- config.detectionThreshold > 1) {
140
- throw new Error('Detection threshold must be a number between 0.0 and 1.0');
141
- }
142
- }
143
- if (config.maxAnalysisTime !== undefined) {
144
- if (typeof config.maxAnalysisTime !== 'number' || config.maxAnalysisTime <= 0) {
145
- throw new Error('Max analysis time must be a positive number');
146
- }
147
- }
148
- if (config.enabledAnalyzers !== undefined) {
149
- if (!Array.isArray(config.enabledAnalyzers)) {
150
- throw new Error('Enabled analyzers must be an array');
151
- }
152
- const validAnalyzers = ['git', 'documentation', 'structural', 'statistical', 'linguistic'];
153
- const invalidAnalyzers = config.enabledAnalyzers.filter((analyzer) => !validAnalyzers.includes(analyzer));
154
- if (invalidAnalyzers.length > 0) {
155
- throw new Error(`Invalid analyzers: ${invalidAnalyzers.join(', ')}. Valid options: ${validAnalyzers.join(', ')}`);
156
- }
157
- }
158
- }
159
- /**
160
- * Initialize all available analyzers
161
- */
162
- initializeAnalyzers() {
163
- this.analyzers.clear();
164
- this.analyzers.set('git', new GitHistoryAnalyzer_1.GitHistoryAnalyzer(this.config));
165
- this.analyzers.set('documentation', new DocumentationAnalyzer_1.DocumentationAnalyzer(this.config));
166
- // Additional analyzers would be added here as implemented
167
- // this.analyzers.set('structural', new StructuralAnalyzer(this.config));
168
- // this.analyzers.set('statistical', new StatisticalAnalyzer(this.config));
169
- // this.analyzers.set('linguistic', new LinguisticAnalyzer(this.config));
170
- }
171
- /**
172
- * Get enabled analyzers based on configuration
173
- * @returns Array of enabled analyzers
174
- */
175
- getEnabledAnalyzers() {
176
- return Array.from(this.analyzers.values()).filter((analyzer) => analyzer.isEnabled());
177
- }
178
- /**
179
- * Run analyzer with timeout protection
180
- * @param analyzer Analyzer to run
181
- * @param submission Code submission
182
- * @returns Analysis result or timeout error
183
- */
184
- async runAnalyzerWithTimeout(analyzer, submission) {
185
- const timeoutPromise = new Promise((_, reject) => {
186
- setTimeout(() => reject(new Error(`${analyzer.getAnalyzerName()} analyzer timed out`)), this.config.maxAnalysisTime);
187
- });
188
- return Promise.race([analyzer.analyze(submission), timeoutPromise]);
189
- }
190
- /**
191
- * Calculate overall confidence score from detected patterns
192
- * @param patterns Array of detected patterns
193
- * @returns Confidence score between 0.0 and 1.0
194
- */
195
- calculateConfidenceScore(patterns) {
196
- if (patterns.length === 0) {
197
- return 0.0;
198
- }
199
- let weightedSum = 0;
200
- let totalWeight = 0;
201
- patterns.forEach((pattern) => {
202
- let weight;
203
- switch (pattern.confidence) {
204
- case 'high':
205
- weight = this.config.patternWeights.highConfidence;
206
- break;
207
- case 'medium':
208
- weight = this.config.patternWeights.mediumConfidence;
209
- break;
210
- case 'low':
211
- weight = this.config.patternWeights.lowConfidence;
212
- break;
213
- default:
214
- weight = 0.5;
215
- }
216
- weightedSum += pattern.score * weight;
217
- totalWeight += weight;
218
- });
219
- const baseScore = totalWeight > 0 ? weightedSum / totalWeight : 0;
220
- // Apply pattern count bonus (more patterns = higher confidence)
221
- const patternCountBonus = Math.min(0.1, patterns.length * 0.02);
222
- // Apply high-confidence pattern bonus
223
- const highConfidencePatterns = patterns.filter((p) => p.confidence === 'high').length;
224
- const highConfidenceBonus = Math.min(0.15, highConfidencePatterns * 0.05);
225
- const finalScore = Math.min(1.0, baseScore + patternCountBonus + highConfidenceBonus);
226
- return Math.round(finalScore * 1000) / 1000; // Round to 3 decimal places
227
- }
228
- /**
229
- * Create analysis breakdown from results
230
- * @param results Array of analysis results
231
- * @returns Analysis breakdown object
232
- */
233
- createAnalysisBreakdown(results) {
234
- const breakdown = {
235
- gitHistoryAnalysis: null,
236
- documentationAnalysis: null,
237
- structuralAnalysis: null,
238
- statisticalAnalysis: null,
239
- linguisticAnalysis: null,
240
- };
241
- results.forEach((result) => {
242
- if (result.analyzer === 'git-history') {
243
- breakdown.gitHistoryAnalysis = result;
244
- }
245
- else if (result.analyzer === 'documentation') {
246
- breakdown.documentationAnalysis = result;
247
- }
248
- // Additional analyzer results would be mapped here
249
- });
250
- return breakdown;
251
- }
252
- /**
253
- * Generate actionable recommendations based on detected patterns
254
- * @param patterns Detected patterns
255
- * @param isAIGenerated Whether code is determined to be AI-generated
256
- * @returns Array of recommendation strings
257
- */
258
- generateRecommendations(patterns, isAIGenerated) {
259
- if (!this.config.generateRecommendations) {
260
- return [];
261
- }
262
- const recommendations = [];
263
- if (isAIGenerated) {
264
- recommendations.push('⚠️ This submission shows strong indicators of AI-generated code');
265
- const highConfidencePatterns = patterns.filter((p) => p.confidence === 'high');
266
- if (highConfidencePatterns.length > 0) {
267
- recommendations.push(`🔍 ${highConfidencePatterns.length} high-confidence AI patterns detected`);
268
- }
269
- // Pattern-specific recommendations
270
- patterns.forEach((pattern) => {
271
- switch (pattern.id) {
272
- case 'H1.1':
273
- recommendations.push('📁 Consider asking candidate about development process - large initial commit is unusual');
274
- break;
275
- case 'H1.2':
276
- recommendations.push('💬 Verify commit message authenticity - patterns suggest automated generation');
277
- break;
278
- case 'H2.1':
279
- recommendations.push('📚 README structure appears template-generated - verify candidate understanding');
280
- break;
281
- case 'H2.2':
282
- recommendations.push('💭 Comment density is suspiciously high and uniform across files');
283
- break;
284
- }
285
- });
286
- recommendations.push('🎯 Recommend conducting verbal technical interview to verify understanding');
287
- recommendations.push('🔬 Consider asking candidate to explain specific code sections or make live modifications');
288
- }
289
- else {
290
- recommendations.push('✅ Analysis suggests human-authored code');
291
- if (patterns.length > 0) {
292
- recommendations.push(`ℹ️ ${patterns.length} minor indicators detected, but below confidence threshold`);
293
- }
294
- }
295
- return recommendations;
296
- }
297
- /**
298
- * Create detection metadata
299
- * @param startTime Analysis start time
300
- * @param warnings Array of warning messages
301
- * @returns Detection metadata object
302
- */
303
- createMetadata(startTime, warnings) {
304
- return {
305
- timestamp: new Date(),
306
- engineVersion: '1.0.0',
307
- enabledAnalyzers: this.config.enabledAnalyzers,
308
- totalAnalysisTime: Date.now() - startTime,
309
- warnings,
310
- cacheInfo: { hit: false },
311
- };
312
- }
313
- /**
314
- * Generate cache key for a submission
315
- * @param submission Code submission
316
- * @returns Cache key string
317
- */
318
- generateCacheKey(submission) {
319
- // Simple hash based on submission content
320
- const hashInput = JSON.stringify({
321
- commitHashes: submission.repository.commits.map((c) => c.hash),
322
- fileCount: submission.codebase.files.length,
323
- hasReadme: !!submission.documentation.readme,
324
- configHash: JSON.stringify(this.config),
325
- });
326
- // Simple string hash (in production, use crypto.createHash)
327
- let hash = 0;
328
- for (let i = 0; i < hashInput.length; i++) {
329
- const char = hashInput.charCodeAt(i);
330
- hash = (hash << 5) - hash + char;
331
- hash = hash & hash; // Convert to 32-bit integer
332
- }
333
- return `ai-detection-${Math.abs(hash).toString(36)}`;
334
- }
335
- /**
336
- * Create error result for failed analyses
337
- * @param startTime Analysis start time
338
- * @param error Error that occurred
339
- * @returns Error detection result
340
- */
341
- createErrorResult(startTime, error) {
342
- return {
343
- isAIGenerated: false,
344
- confidenceScore: 0.0,
345
- detectedPatterns: [],
346
- analysisBreakdown: {
347
- gitHistoryAnalysis: null,
348
- documentationAnalysis: null,
349
- structuralAnalysis: null,
350
- statisticalAnalysis: null,
351
- linguisticAnalysis: null,
352
- },
353
- recommendations: [
354
- '❌ Analysis failed due to technical error',
355
- '🔄 Please retry analysis or contact system administrator',
356
- ],
357
- metadata: {
358
- timestamp: new Date(),
359
- engineVersion: '1.0.0',
360
- enabledAnalyzers: this.config.enabledAnalyzers,
361
- totalAnalysisTime: Date.now() - startTime,
362
- warnings: [`Analysis failed: ${error.message}`],
363
- cacheInfo: { hit: false },
364
- },
365
- };
366
- }
367
- }
368
- exports.AIDetectionEngine = AIDetectionEngine;
369
- //# sourceMappingURL=AIDetectionEngine.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AIDetectionEngine.js","sourceRoot":"","sources":["../../../../src/analysis/ai-detection/core/AIDetectionEngine.ts"],"names":[],"mappings":"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"}