codereview-aia 0.1.3 → 0.1.4

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 (549) hide show
  1. package/dist/analysis/FindingsExtractor.d.ts +105 -0
  2. package/dist/analysis/FindingsExtractor.js +363 -0
  3. package/dist/analysis/FindingsExtractor.js.map +1 -0
  4. package/dist/analysis/ai-detection/analyzers/BaseAnalyzer.d.ts +111 -0
  5. package/dist/analysis/ai-detection/analyzers/BaseAnalyzer.js +215 -0
  6. package/dist/analysis/ai-detection/analyzers/BaseAnalyzer.js.map +1 -0
  7. package/dist/analysis/ai-detection/analyzers/DocumentationAnalyzer.d.ts +142 -0
  8. package/dist/analysis/ai-detection/analyzers/DocumentationAnalyzer.js +503 -0
  9. package/dist/analysis/ai-detection/analyzers/DocumentationAnalyzer.js.map +1 -0
  10. package/dist/analysis/ai-detection/analyzers/GitHistoryAnalyzer.d.ts +88 -0
  11. package/dist/analysis/ai-detection/analyzers/GitHistoryAnalyzer.js +343 -0
  12. package/dist/analysis/ai-detection/analyzers/GitHistoryAnalyzer.js.map +1 -0
  13. package/dist/analysis/ai-detection/core/AIDetectionEngine.d.ts +104 -0
  14. package/dist/analysis/ai-detection/core/AIDetectionEngine.js +369 -0
  15. package/dist/analysis/ai-detection/core/AIDetectionEngine.js.map +1 -0
  16. package/dist/analysis/ai-detection/types/DetectionTypes.d.ts +364 -0
  17. package/dist/analysis/ai-detection/types/DetectionTypes.js +32 -0
  18. package/dist/analysis/ai-detection/types/DetectionTypes.js.map +1 -0
  19. package/dist/analysis/ai-detection/utils/SubmissionConverter.d.ts +97 -0
  20. package/dist/analysis/ai-detection/utils/SubmissionConverter.js +339 -0
  21. package/dist/analysis/ai-detection/utils/SubmissionConverter.js.map +1 -0
  22. package/dist/analysis/context/ReviewContext.d.ts +184 -0
  23. package/dist/analysis/context/ReviewContext.js +294 -0
  24. package/dist/analysis/context/ReviewContext.js.map +1 -0
  25. package/{src/analysis/context/index.ts → dist/analysis/context/index.d.ts} +0 -1
  26. package/dist/analysis/context/index.js +23 -0
  27. package/dist/analysis/context/index.js.map +1 -0
  28. package/{src/analysis/index.ts → dist/analysis/index.d.ts} +0 -1
  29. package/dist/analysis/index.js +24 -0
  30. package/dist/analysis/index.js.map +1 -0
  31. package/dist/analysis/static/wpPhpcsRunner.d.ts +11 -0
  32. package/dist/analysis/static/wpPhpcsRunner.js +219 -0
  33. package/dist/analysis/static/wpPhpcsRunner.js.map +1 -0
  34. package/dist/analysis/tokens/TokenAnalysisFormatter.d.ts +27 -0
  35. package/{src/analysis/tokens/TokenAnalysisFormatter.ts → dist/analysis/tokens/TokenAnalysisFormatter.js} +64 -75
  36. package/dist/analysis/tokens/TokenAnalysisFormatter.js.map +1 -0
  37. package/dist/analysis/tokens/TokenAnalyzer.d.ts +155 -0
  38. package/dist/analysis/tokens/TokenAnalyzer.js +502 -0
  39. package/dist/analysis/tokens/TokenAnalyzer.js.map +1 -0
  40. package/{src/analysis/tokens/index.ts → dist/analysis/tokens/index.d.ts} +0 -1
  41. package/dist/analysis/tokens/index.js +24 -0
  42. package/dist/analysis/tokens/index.js.map +1 -0
  43. package/dist/clients/base/abstractClient.d.ts +99 -0
  44. package/dist/clients/base/abstractClient.js +98 -0
  45. package/dist/clients/base/abstractClient.js.map +1 -0
  46. package/dist/clients/base/httpClient.d.ts +24 -0
  47. package/dist/clients/base/httpClient.js +147 -0
  48. package/dist/clients/base/httpClient.js.map +1 -0
  49. package/{src/clients/base/index.ts → dist/clients/base/index.d.ts} +0 -1
  50. package/dist/clients/base/index.js +28 -0
  51. package/dist/clients/base/index.js.map +1 -0
  52. package/dist/clients/base/modelDetection.d.ts +41 -0
  53. package/dist/clients/base/modelDetection.js +88 -0
  54. package/dist/clients/base/modelDetection.js.map +1 -0
  55. package/dist/clients/base/responseProcessor.d.ts +45 -0
  56. package/dist/clients/base/responseProcessor.js +495 -0
  57. package/dist/clients/base/responseProcessor.js.map +1 -0
  58. package/dist/clients/factory/clientFactory.d.ts +23 -0
  59. package/dist/clients/factory/clientFactory.js +50 -0
  60. package/dist/clients/factory/clientFactory.js.map +1 -0
  61. package/{src/clients/factory/index.ts → dist/clients/factory/index.d.ts} +0 -1
  62. package/dist/clients/factory/index.js +24 -0
  63. package/dist/clients/factory/index.js.map +1 -0
  64. package/{src/clients/implementations/index.ts → dist/clients/implementations/index.d.ts} +0 -1
  65. package/dist/clients/implementations/index.js +24 -0
  66. package/dist/clients/implementations/index.js.map +1 -0
  67. package/dist/clients/implementations/openRouterClient.d.ts +69 -0
  68. package/dist/clients/implementations/openRouterClient.js +294 -0
  69. package/dist/clients/implementations/openRouterClient.js.map +1 -0
  70. package/dist/clients/openRouterClient.d.ts +42 -0
  71. package/dist/clients/openRouterClient.js +738 -0
  72. package/dist/clients/openRouterClient.js.map +1 -0
  73. package/{src/clients/openRouterClientWrapper.ts → dist/clients/openRouterClientWrapper.d.ts} +2 -24
  74. package/dist/clients/openRouterClientWrapper.js +64 -0
  75. package/dist/clients/openRouterClientWrapper.js.map +1 -0
  76. package/dist/clients/utils/directoryStructure.d.ts +14 -0
  77. package/dist/clients/utils/directoryStructure.js +48 -0
  78. package/dist/clients/utils/directoryStructure.js.map +1 -0
  79. package/{src/clients/utils/index.ts → dist/clients/utils/index.d.ts} +0 -1
  80. package/dist/clients/utils/index.js +31 -0
  81. package/dist/clients/utils/index.js.map +1 -0
  82. package/dist/clients/utils/languageDetection.d.ts +13 -0
  83. package/dist/clients/utils/languageDetection.js +46 -0
  84. package/dist/clients/utils/languageDetection.js.map +1 -0
  85. package/dist/clients/utils/promptFormatter.d.ts +37 -0
  86. package/dist/clients/utils/promptFormatter.js +150 -0
  87. package/dist/clients/utils/promptFormatter.js.map +1 -0
  88. package/{src/clients/utils/promptLoader.ts → dist/clients/utils/promptLoader.d.ts} +1 -27
  89. package/dist/clients/utils/promptLoader.js +49 -0
  90. package/dist/clients/utils/promptLoader.js.map +1 -0
  91. package/dist/clients/utils/tokenCounter.d.ts +81 -0
  92. package/dist/clients/utils/tokenCounter.js +209 -0
  93. package/dist/clients/utils/tokenCounter.js.map +1 -0
  94. package/dist/core/ApiClientSelector.d.ts +8 -0
  95. package/dist/core/ApiClientSelector.js +29 -0
  96. package/dist/core/ApiClientSelector.js.map +1 -0
  97. package/dist/core/ConfigurationService.d.ts +307 -0
  98. package/dist/core/ConfigurationService.js +516 -0
  99. package/dist/core/ConfigurationService.js.map +1 -0
  100. package/dist/core/ConsolidationService.d.ts +99 -0
  101. package/dist/core/ConsolidationService.js +341 -0
  102. package/dist/core/ConsolidationService.js.map +1 -0
  103. package/dist/core/InteractiveDisplayManager.d.ts +22 -0
  104. package/dist/core/InteractiveDisplayManager.js +70 -0
  105. package/dist/core/InteractiveDisplayManager.js.map +1 -0
  106. package/dist/core/OutputManager.d.ts +26 -0
  107. package/dist/core/OutputManager.js +217 -0
  108. package/dist/core/OutputManager.js.map +1 -0
  109. package/dist/core/ReviewGenerator.d.ts +13 -0
  110. package/dist/core/ReviewGenerator.js +102 -0
  111. package/dist/core/ReviewGenerator.js.map +1 -0
  112. package/dist/core/fileDiscovery.d.ts +35 -0
  113. package/dist/core/fileDiscovery.js +202 -0
  114. package/dist/core/fileDiscovery.js.map +1 -0
  115. package/dist/core/handlers/EstimationHandler.d.ts +18 -0
  116. package/dist/core/handlers/EstimationHandler.js +110 -0
  117. package/dist/core/handlers/EstimationHandler.js.map +1 -0
  118. package/dist/core/handlers/FileProcessingHandler.d.ts +31 -0
  119. package/dist/core/handlers/FileProcessingHandler.js +164 -0
  120. package/dist/core/handlers/FileProcessingHandler.js.map +1 -0
  121. package/dist/core/handlers/OutputHandler.d.ts +27 -0
  122. package/dist/core/handlers/OutputHandler.js +127 -0
  123. package/dist/core/handlers/OutputHandler.js.map +1 -0
  124. package/dist/core/handlers/ReviewExecutor.d.ts +32 -0
  125. package/dist/core/handlers/ReviewExecutor.js +111 -0
  126. package/dist/core/handlers/ReviewExecutor.js.map +1 -0
  127. package/dist/core/reviewOrchestrator.d.ts +24 -0
  128. package/dist/core/reviewOrchestrator.js +354 -0
  129. package/dist/core/reviewOrchestrator.js.map +1 -0
  130. package/dist/core/utils/ModelInfoUtils.d.ts +16 -0
  131. package/dist/core/utils/ModelInfoUtils.js +54 -0
  132. package/dist/core/utils/ModelInfoUtils.js.map +1 -0
  133. package/{src/formatters/outputFormatter.ts → dist/formatters/outputFormatter.d.ts} +2 -33
  134. package/dist/formatters/outputFormatter.js +65 -0
  135. package/dist/formatters/outputFormatter.js.map +1 -0
  136. package/dist/formatters/utils/IssueFormatters.d.ts +20 -0
  137. package/dist/formatters/utils/IssueFormatters.js +67 -0
  138. package/dist/formatters/utils/IssueFormatters.js.map +1 -0
  139. package/dist/formatters/utils/JsonFormatter.d.ts +13 -0
  140. package/dist/formatters/utils/JsonFormatter.js +57 -0
  141. package/dist/formatters/utils/JsonFormatter.js.map +1 -0
  142. package/dist/formatters/utils/MarkdownFormatters.d.ts +51 -0
  143. package/dist/formatters/utils/MarkdownFormatters.js +456 -0
  144. package/dist/formatters/utils/MarkdownFormatters.js.map +1 -0
  145. package/dist/formatters/utils/MetadataFormatter.d.ts +65 -0
  146. package/dist/formatters/utils/MetadataFormatter.js +219 -0
  147. package/dist/formatters/utils/MetadataFormatter.js.map +1 -0
  148. package/dist/formatters/utils/ModelInfoExtractor.d.ts +33 -0
  149. package/dist/formatters/utils/ModelInfoExtractor.js +111 -0
  150. package/dist/formatters/utils/ModelInfoExtractor.js.map +1 -0
  151. package/dist/index.d.ts +1 -0
  152. package/dist/index.js.map +1 -0
  153. package/dist/plugins/PluginInterface.d.ts +44 -0
  154. package/dist/plugins/PluginInterface.js +9 -0
  155. package/dist/plugins/PluginInterface.js.map +1 -0
  156. package/dist/plugins/PluginManager.d.ts +51 -0
  157. package/dist/plugins/PluginManager.js +151 -0
  158. package/dist/plugins/PluginManager.js.map +1 -0
  159. package/dist/prompts/PromptManager.d.ts +30 -0
  160. package/dist/prompts/PromptManager.js +62 -0
  161. package/dist/prompts/PromptManager.js.map +1 -0
  162. package/dist/prompts/cache/PromptCache.d.ts +32 -0
  163. package/dist/prompts/cache/PromptCache.js +48 -0
  164. package/dist/prompts/cache/PromptCache.js.map +1 -0
  165. package/dist/runtime/auth/service.d.ts +2 -0
  166. package/dist/runtime/auth/service.js +41 -0
  167. package/dist/runtime/auth/service.js.map +1 -0
  168. package/dist/runtime/auth/session.d.ts +5 -0
  169. package/dist/runtime/auth/session.js +87 -0
  170. package/dist/runtime/auth/session.js.map +1 -0
  171. package/dist/runtime/auth/types.d.ts +9 -0
  172. package/dist/runtime/auth/types.js +3 -0
  173. package/dist/runtime/auth/types.js.map +1 -0
  174. package/dist/runtime/cliEntry.d.ts +1 -0
  175. package/dist/runtime/cliEntry.js +266 -0
  176. package/dist/runtime/cliEntry.js.map +1 -0
  177. package/dist/runtime/debug/logManager.d.ts +5 -0
  178. package/dist/runtime/debug/logManager.js +31 -0
  179. package/dist/runtime/debug/logManager.js.map +1 -0
  180. package/dist/runtime/errors.d.ts +5 -0
  181. package/dist/runtime/errors.js +15 -0
  182. package/dist/runtime/errors.js.map +1 -0
  183. package/dist/runtime/fileCollector.d.ts +14 -0
  184. package/dist/runtime/fileCollector.js +382 -0
  185. package/dist/runtime/fileCollector.js.map +1 -0
  186. package/dist/runtime/manifest.d.ts +1 -0
  187. package/dist/runtime/manifest.js +65 -0
  188. package/dist/runtime/manifest.js.map +1 -0
  189. package/dist/runtime/openrouterProxy.d.ts +4 -0
  190. package/dist/runtime/openrouterProxy.js +43 -0
  191. package/dist/runtime/openrouterProxy.js.map +1 -0
  192. package/dist/runtime/preprod/webCheck.d.ts +1 -0
  193. package/dist/runtime/preprod/webCheck.js +98 -0
  194. package/dist/runtime/preprod/webCheck.js.map +1 -0
  195. package/dist/runtime/proxyConfig.d.ts +6 -0
  196. package/dist/runtime/proxyConfig.js +86 -0
  197. package/dist/runtime/proxyConfig.js.map +1 -0
  198. package/dist/runtime/proxyEnvironment.d.ts +3 -0
  199. package/dist/runtime/proxyEnvironment.js +63 -0
  200. package/dist/runtime/proxyEnvironment.js.map +1 -0
  201. package/dist/runtime/reportMerge.d.ts +30 -0
  202. package/dist/runtime/reportMerge.js +70 -0
  203. package/dist/runtime/reportMerge.js.map +1 -0
  204. package/dist/runtime/reporting/markdownReportBuilder.d.ts +17 -0
  205. package/dist/runtime/reporting/markdownReportBuilder.js +154 -0
  206. package/dist/runtime/reporting/markdownReportBuilder.js.map +1 -0
  207. package/dist/runtime/reporting/reportDataCollector.d.ts +31 -0
  208. package/dist/runtime/reporting/reportDataCollector.js +170 -0
  209. package/dist/runtime/reporting/reportDataCollector.js.map +1 -0
  210. package/dist/runtime/reporting/summaryGenerator.d.ts +10 -0
  211. package/dist/runtime/reporting/summaryGenerator.js +67 -0
  212. package/dist/runtime/reporting/summaryGenerator.js.map +1 -0
  213. package/dist/runtime/reviewPipeline.d.ts +47 -0
  214. package/dist/runtime/reviewPipeline.js +161 -0
  215. package/dist/runtime/reviewPipeline.js.map +1 -0
  216. package/dist/runtime/runAiCodeReview.d.ts +28 -0
  217. package/dist/runtime/runAiCodeReview.js +373 -0
  218. package/dist/runtime/runAiCodeReview.js.map +1 -0
  219. package/dist/runtime/runtimeConfig.d.ts +4 -0
  220. package/dist/runtime/runtimeConfig.js +7 -0
  221. package/dist/runtime/runtimeConfig.js.map +1 -0
  222. package/dist/runtime/ui/Layout.d.ts +11 -0
  223. package/dist/runtime/ui/Layout.js +47 -0
  224. package/dist/runtime/ui/Layout.js.map +1 -0
  225. package/dist/runtime/ui/RuntimeApp.d.ts +6 -0
  226. package/dist/runtime/ui/RuntimeApp.js +172 -0
  227. package/dist/runtime/ui/RuntimeApp.js.map +1 -0
  228. package/dist/runtime/ui/inkModules.d.ts +10 -0
  229. package/dist/runtime/ui/inkModules.js +63 -0
  230. package/dist/runtime/ui/inkModules.js.map +1 -0
  231. package/dist/runtime/ui/screens/AuthScreen.d.ts +6 -0
  232. package/dist/runtime/ui/screens/AuthScreen.js +67 -0
  233. package/dist/runtime/ui/screens/AuthScreen.js.map +1 -0
  234. package/dist/runtime/ui/screens/ModeSelection.d.ts +10 -0
  235. package/dist/runtime/ui/screens/ModeSelection.js +100 -0
  236. package/dist/runtime/ui/screens/ModeSelection.js.map +1 -0
  237. package/dist/runtime/ui/screens/ProgressScreen.d.ts +12 -0
  238. package/dist/runtime/ui/screens/ProgressScreen.js +64 -0
  239. package/dist/runtime/ui/screens/ProgressScreen.js.map +1 -0
  240. package/dist/runtime/ui/screens/ResultsScreen.d.ts +7 -0
  241. package/dist/runtime/ui/screens/ResultsScreen.js +29 -0
  242. package/dist/runtime/ui/screens/ResultsScreen.js.map +1 -0
  243. package/dist/strategies/ArchitecturalReviewStrategy.d.ts +29 -0
  244. package/dist/strategies/ArchitecturalReviewStrategy.js +42 -0
  245. package/dist/strategies/ArchitecturalReviewStrategy.js.map +1 -0
  246. package/dist/strategies/CodingTestReviewStrategy.d.ts +194 -0
  247. package/dist/strategies/CodingTestReviewStrategy.js +681 -0
  248. package/dist/strategies/CodingTestReviewStrategy.js.map +1 -0
  249. package/dist/strategies/ConsolidatedReviewStrategy.d.ts +25 -0
  250. package/dist/strategies/ConsolidatedReviewStrategy.js +45 -0
  251. package/dist/strategies/ConsolidatedReviewStrategy.js.map +1 -0
  252. package/dist/strategies/ExtractPatternsReviewStrategy.d.ts +30 -0
  253. package/dist/strategies/ExtractPatternsReviewStrategy.js +51 -0
  254. package/dist/strategies/ExtractPatternsReviewStrategy.js.map +1 -0
  255. package/dist/strategies/MultiPassReviewStrategy.d.ts +86 -0
  256. package/dist/strategies/MultiPassReviewStrategy.js +590 -0
  257. package/dist/strategies/MultiPassReviewStrategy.js.map +1 -0
  258. package/dist/strategies/ReviewStrategy.d.ts +45 -0
  259. package/dist/strategies/ReviewStrategy.js +24 -0
  260. package/dist/strategies/ReviewStrategy.js.map +1 -0
  261. package/dist/strategies/StrategyFactory.d.ts +19 -0
  262. package/dist/strategies/StrategyFactory.js +72 -0
  263. package/dist/strategies/StrategyFactory.js.map +1 -0
  264. package/{src/strategies/index.ts → dist/strategies/index.d.ts} +0 -1
  265. package/dist/strategies/index.js +30 -0
  266. package/dist/strategies/index.js.map +1 -0
  267. package/dist/tokenizers/baseTokenizer.d.ts +25 -0
  268. package/dist/tokenizers/baseTokenizer.js +48 -0
  269. package/dist/tokenizers/baseTokenizer.js.map +1 -0
  270. package/dist/tokenizers/gptTokenizer.d.ts +7 -0
  271. package/dist/tokenizers/gptTokenizer.js +28 -0
  272. package/dist/tokenizers/gptTokenizer.js.map +1 -0
  273. package/{src/tokenizers/index.ts → dist/tokenizers/index.d.ts} +0 -1
  274. package/dist/tokenizers/index.js +24 -0
  275. package/dist/tokenizers/index.js.map +1 -0
  276. package/dist/types/apiResponses.d.ts +39 -0
  277. package/dist/types/apiResponses.js +9 -0
  278. package/dist/types/apiResponses.js.map +1 -0
  279. package/dist/types/cli.d.ts +22 -0
  280. package/dist/types/cli.js +3 -0
  281. package/dist/types/cli.js.map +1 -0
  282. package/{src/types/common.ts → dist/types/common.d.ts} +2 -19
  283. package/dist/types/common.js +14 -0
  284. package/dist/types/common.js.map +1 -0
  285. package/dist/types/configuration.d.ts +682 -0
  286. package/dist/types/configuration.js +65 -0
  287. package/dist/types/configuration.js.map +1 -0
  288. package/dist/types/review.d.ts +318 -0
  289. package/dist/types/review.js +8 -0
  290. package/dist/types/review.js.map +1 -0
  291. package/dist/types/reviewSchema.d.ts +543 -0
  292. package/{src/types/reviewSchema.ts → dist/types/reviewSchema.js} +44 -104
  293. package/dist/types/reviewSchema.js.map +1 -0
  294. package/dist/types/structuredReview.d.ts +119 -0
  295. package/dist/types/structuredReview.js +6 -0
  296. package/dist/types/structuredReview.js.map +1 -0
  297. package/dist/types/tokenAnalysis.d.ts +44 -0
  298. package/dist/types/tokenAnalysis.js +4 -0
  299. package/dist/types/tokenAnalysis.js.map +1 -0
  300. package/dist/utils/FileReader.d.ts +33 -0
  301. package/dist/utils/FileReader.js +88 -0
  302. package/dist/utils/FileReader.js.map +1 -0
  303. package/dist/utils/FileWriter.d.ts +26 -0
  304. package/dist/utils/FileWriter.js +76 -0
  305. package/dist/utils/FileWriter.js.map +1 -0
  306. package/dist/utils/PathGenerator.d.ts +30 -0
  307. package/dist/utils/PathGenerator.js +82 -0
  308. package/dist/utils/PathGenerator.js.map +1 -0
  309. package/dist/utils/api/apiUtils.d.ts +3 -0
  310. package/dist/utils/api/apiUtils.js +20 -0
  311. package/dist/utils/api/apiUtils.js.map +1 -0
  312. package/dist/utils/api/index.js +18 -0
  313. package/dist/utils/api/index.js.map +1 -0
  314. package/dist/utils/apiErrorHandler.d.ts +130 -0
  315. package/dist/utils/apiErrorHandler.js +256 -0
  316. package/dist/utils/apiErrorHandler.js.map +1 -0
  317. package/dist/utils/ciDataCollector.d.ts +51 -0
  318. package/dist/utils/ciDataCollector.js +197 -0
  319. package/dist/utils/ciDataCollector.js.map +1 -0
  320. package/dist/utils/codingTestConfigLoader.d.ts +66 -0
  321. package/dist/utils/codingTestConfigLoader.js +420 -0
  322. package/dist/utils/codingTestConfigLoader.js.map +1 -0
  323. package/dist/utils/dependencies/aiDependencyAnalyzer.d.ts +30 -0
  324. package/dist/utils/dependencies/aiDependencyAnalyzer.js +343 -0
  325. package/dist/utils/dependencies/aiDependencyAnalyzer.js.map +1 -0
  326. package/dist/utils/detection/frameworkDetector.d.ts +43 -0
  327. package/dist/utils/detection/frameworkDetector.js +850 -0
  328. package/dist/utils/detection/frameworkDetector.js.map +1 -0
  329. package/{src/utils/detection/index.ts → dist/utils/detection/index.d.ts} +0 -1
  330. package/dist/utils/detection/index.js +28 -0
  331. package/dist/utils/detection/index.js.map +1 -0
  332. package/dist/utils/detection/projectTypeDetector.d.ts +27 -0
  333. package/dist/utils/detection/projectTypeDetector.js +469 -0
  334. package/dist/utils/detection/projectTypeDetector.js.map +1 -0
  335. package/dist/utils/diagramGenerator.d.ts +49 -0
  336. package/dist/utils/diagramGenerator.js +218 -0
  337. package/dist/utils/diagramGenerator.js.map +1 -0
  338. package/dist/utils/errorLogger.d.ts +24 -0
  339. package/dist/utils/errorLogger.js +59 -0
  340. package/dist/utils/errorLogger.js.map +1 -0
  341. package/dist/utils/estimationUtils.d.ts +139 -0
  342. package/dist/utils/estimationUtils.js +329 -0
  343. package/dist/utils/estimationUtils.js.map +1 -0
  344. package/dist/utils/fileFilters.d.ts +72 -0
  345. package/dist/utils/fileFilters.js +338 -0
  346. package/dist/utils/fileFilters.js.map +1 -0
  347. package/dist/utils/fileSystem.d.ts +22 -0
  348. package/dist/utils/fileSystem.js +45 -0
  349. package/dist/utils/fileSystem.js.map +1 -0
  350. package/{src/utils/index.ts → dist/utils/index.d.ts} +0 -14
  351. package/dist/utils/index.js +52 -0
  352. package/dist/utils/index.js.map +1 -0
  353. package/dist/utils/logger.d.ts +77 -0
  354. package/dist/utils/logger.js +271 -0
  355. package/dist/utils/logger.js.map +1 -0
  356. package/dist/utils/pathValidator.d.ts +40 -0
  357. package/dist/utils/pathValidator.js +98 -0
  358. package/dist/utils/pathValidator.js.map +1 -0
  359. package/{src/utils/priorityFilter.ts → dist/utils/priorityFilter.d.ts} +1 -26
  360. package/dist/utils/priorityFilter.js +54 -0
  361. package/dist/utils/priorityFilter.js.map +1 -0
  362. package/dist/utils/projectDocs.d.ts +47 -0
  363. package/dist/utils/projectDocs.js +158 -0
  364. package/dist/utils/projectDocs.js.map +1 -0
  365. package/dist/utils/promptPaths.d.ts +6 -0
  366. package/dist/utils/promptPaths.js +33 -0
  367. package/dist/utils/promptPaths.js.map +1 -0
  368. package/dist/utils/promptTemplateManager.d.ts +34 -0
  369. package/dist/utils/promptTemplateManager.js +141 -0
  370. package/dist/utils/promptTemplateManager.js.map +1 -0
  371. package/dist/utils/review/consolidateReview.d.ts +15 -0
  372. package/dist/utils/review/consolidateReview.js +481 -0
  373. package/dist/utils/review/consolidateReview.js.map +1 -0
  374. package/dist/utils/review/fixDisplay.d.ts +20 -0
  375. package/dist/utils/review/fixDisplay.js +84 -0
  376. package/dist/utils/review/fixDisplay.js.map +1 -0
  377. package/dist/utils/review/fixImplementation.d.ts +28 -0
  378. package/dist/utils/review/fixImplementation.js +60 -0
  379. package/dist/utils/review/fixImplementation.js.map +1 -0
  380. package/dist/utils/review/index.d.ts +13 -0
  381. package/dist/utils/review/index.js +50 -0
  382. package/dist/utils/review/index.js.map +1 -0
  383. package/dist/utils/review/interactiveProcessing.d.ts +25 -0
  384. package/dist/utils/review/interactiveProcessing.js +251 -0
  385. package/dist/utils/review/interactiveProcessing.js.map +1 -0
  386. package/dist/utils/review/progressTracker.d.ts +106 -0
  387. package/dist/utils/review/progressTracker.js +227 -0
  388. package/dist/utils/review/progressTracker.js.map +1 -0
  389. package/dist/utils/review/reviewExtraction.d.ts +31 -0
  390. package/dist/utils/review/reviewExtraction.js +324 -0
  391. package/dist/utils/review/reviewExtraction.js.map +1 -0
  392. package/dist/utils/review/types.d.ts +45 -0
  393. package/dist/utils/review/types.js +18 -0
  394. package/dist/utils/review/types.js.map +1 -0
  395. package/{src/utils/reviewActionHandler.ts → dist/utils/reviewActionHandler.d.ts} +0 -2
  396. package/dist/utils/reviewActionHandler.js +34 -0
  397. package/dist/utils/reviewActionHandler.js.map +1 -0
  398. package/dist/utils/reviewParser.d.ts +34 -0
  399. package/dist/utils/reviewParser.js +218 -0
  400. package/dist/utils/reviewParser.js.map +1 -0
  401. package/dist/utils/sanitizer.d.ts +82 -0
  402. package/dist/utils/sanitizer.js +239 -0
  403. package/dist/utils/sanitizer.js.map +1 -0
  404. package/dist/utils/smartFileSelector.d.ts +50 -0
  405. package/dist/utils/smartFileSelector.js +261 -0
  406. package/dist/utils/smartFileSelector.js.map +1 -0
  407. package/dist/utils/templateLoader.d.ts +44 -0
  408. package/dist/utils/templateLoader.js +431 -0
  409. package/dist/utils/templateLoader.js.map +1 -0
  410. package/dist/utils/treeGenerator.d.ts +12 -0
  411. package/dist/utils/treeGenerator.js +133 -0
  412. package/dist/utils/treeGenerator.js.map +1 -0
  413. package/package.json +5 -2
  414. package/.cr-aia.yml +0 -23
  415. package/.crignore +0 -0
  416. package/docs/opt-in-full-context.md +0 -27
  417. package/reports/cr-cr-aia-17-11-2025-20-13.md +0 -354
  418. package/src/analysis/FindingsExtractor.ts +0 -431
  419. package/src/analysis/ai-detection/analyzers/BaseAnalyzer.ts +0 -267
  420. package/src/analysis/ai-detection/analyzers/DocumentationAnalyzer.ts +0 -622
  421. package/src/analysis/ai-detection/analyzers/GitHistoryAnalyzer.ts +0 -430
  422. package/src/analysis/ai-detection/core/AIDetectionEngine.ts +0 -467
  423. package/src/analysis/ai-detection/types/DetectionTypes.ts +0 -406
  424. package/src/analysis/ai-detection/utils/SubmissionConverter.ts +0 -390
  425. package/src/analysis/context/ReviewContext.ts +0 -378
  426. package/src/analysis/tokens/TokenAnalyzer.ts +0 -747
  427. package/src/clients/base/abstractClient.ts +0 -190
  428. package/src/clients/base/httpClient.ts +0 -160
  429. package/src/clients/base/modelDetection.ts +0 -107
  430. package/src/clients/base/responseProcessor.ts +0 -586
  431. package/src/clients/factory/clientFactory.ts +0 -55
  432. package/src/clients/implementations/openRouterClient.ts +0 -413
  433. package/src/clients/openRouterClient.ts +0 -870
  434. package/src/clients/utils/directoryStructure.ts +0 -52
  435. package/src/clients/utils/languageDetection.ts +0 -44
  436. package/src/clients/utils/promptFormatter.ts +0 -182
  437. package/src/clients/utils/tokenCounter.ts +0 -297
  438. package/src/core/ApiClientSelector.ts +0 -37
  439. package/src/core/ConfigurationService.ts +0 -591
  440. package/src/core/ConsolidationService.ts +0 -423
  441. package/src/core/InteractiveDisplayManager.ts +0 -81
  442. package/src/core/OutputManager.ts +0 -275
  443. package/src/core/ReviewGenerator.ts +0 -140
  444. package/src/core/fileDiscovery.ts +0 -237
  445. package/src/core/handlers/EstimationHandler.ts +0 -104
  446. package/src/core/handlers/FileProcessingHandler.ts +0 -210
  447. package/src/core/handlers/OutputHandler.ts +0 -125
  448. package/src/core/handlers/ReviewExecutor.ts +0 -104
  449. package/src/core/reviewOrchestrator.ts +0 -333
  450. package/src/core/utils/ModelInfoUtils.ts +0 -56
  451. package/src/formatters/utils/IssueFormatters.ts +0 -83
  452. package/src/formatters/utils/JsonFormatter.ts +0 -77
  453. package/src/formatters/utils/MarkdownFormatters.ts +0 -609
  454. package/src/formatters/utils/MetadataFormatter.ts +0 -269
  455. package/src/formatters/utils/ModelInfoExtractor.ts +0 -115
  456. package/src/index.ts +0 -25
  457. package/src/plugins/PluginInterface.ts +0 -50
  458. package/src/plugins/PluginManager.ts +0 -126
  459. package/src/prompts/PromptManager.ts +0 -69
  460. package/src/prompts/cache/PromptCache.ts +0 -50
  461. package/src/prompts/promptText/common/variables/css-frameworks.json +0 -33
  462. package/src/prompts/promptText/common/variables/framework-versions.json +0 -45
  463. package/src/prompts/promptText/frameworks/react/comprehensive.hbs +0 -19
  464. package/src/prompts/promptText/languages/css/comprehensive.hbs +0 -18
  465. package/src/prompts/promptText/languages/generic/comprehensive.hbs +0 -20
  466. package/src/prompts/promptText/languages/html/comprehensive.hbs +0 -18
  467. package/src/prompts/promptText/languages/javascript/comprehensive.hbs +0 -18
  468. package/src/prompts/promptText/languages/python/comprehensive.hbs +0 -18
  469. package/src/prompts/promptText/languages/typescript/comprehensive.hbs +0 -18
  470. package/src/runtime/auth/service.ts +0 -58
  471. package/src/runtime/auth/session.ts +0 -103
  472. package/src/runtime/auth/types.ts +0 -11
  473. package/src/runtime/cliEntry.ts +0 -214
  474. package/src/runtime/debug/logManager.ts +0 -37
  475. package/src/runtime/errors.ts +0 -13
  476. package/src/runtime/fileCollector.ts +0 -495
  477. package/src/runtime/manifest.ts +0 -64
  478. package/src/runtime/openrouterProxy.ts +0 -45
  479. package/src/runtime/preprod/webCheck.ts +0 -104
  480. package/src/runtime/proxyConfig.ts +0 -94
  481. package/src/runtime/proxyEnvironment.ts +0 -71
  482. package/src/runtime/reportMerge.ts +0 -102
  483. package/src/runtime/reporting/markdownReportBuilder.ts +0 -138
  484. package/src/runtime/reporting/reportDataCollector.ts +0 -234
  485. package/src/runtime/reporting/summaryGenerator.ts +0 -86
  486. package/src/runtime/reviewPipeline.ts +0 -200
  487. package/src/runtime/runAiCodeReview.ts +0 -308
  488. package/src/runtime/runtimeConfig.ts +0 -5
  489. package/src/runtime/ui/Layout.tsx +0 -57
  490. package/src/runtime/ui/RuntimeApp.tsx +0 -262
  491. package/src/runtime/ui/inkModules.ts +0 -73
  492. package/src/runtime/ui/screens/AuthScreen.tsx +0 -128
  493. package/src/runtime/ui/screens/ModeSelection.tsx +0 -185
  494. package/src/runtime/ui/screens/ProgressScreen.tsx +0 -110
  495. package/src/runtime/ui/screens/ResultsScreen.tsx +0 -103
  496. package/src/strategies/ArchitecturalReviewStrategy.ts +0 -54
  497. package/src/strategies/CodingTestReviewStrategy.ts +0 -920
  498. package/src/strategies/ConsolidatedReviewStrategy.ts +0 -59
  499. package/src/strategies/ExtractPatternsReviewStrategy.ts +0 -64
  500. package/src/strategies/MultiPassReviewStrategy.ts +0 -785
  501. package/src/strategies/ReviewStrategy.ts +0 -64
  502. package/src/strategies/StrategyFactory.ts +0 -79
  503. package/src/tokenizers/baseTokenizer.ts +0 -61
  504. package/src/tokenizers/gptTokenizer.ts +0 -27
  505. package/src/types/apiResponses.ts +0 -40
  506. package/src/types/cli.ts +0 -24
  507. package/src/types/configuration.ts +0 -201
  508. package/src/types/handlebars.d.ts +0 -5
  509. package/src/types/patch.d.ts +0 -25
  510. package/src/types/review.ts +0 -312
  511. package/src/types/reviewContext.d.ts +0 -65
  512. package/src/types/structuredReview.ts +0 -167
  513. package/src/types/tokenAnalysis.ts +0 -56
  514. package/src/utils/FileReader.ts +0 -93
  515. package/src/utils/FileWriter.ts +0 -76
  516. package/src/utils/PathGenerator.ts +0 -97
  517. package/src/utils/api/apiUtils.ts +0 -14
  518. package/src/utils/apiErrorHandler.ts +0 -287
  519. package/src/utils/ciDataCollector.ts +0 -252
  520. package/src/utils/codingTestConfigLoader.ts +0 -466
  521. package/src/utils/dependencies/aiDependencyAnalyzer.ts +0 -454
  522. package/src/utils/detection/frameworkDetector.ts +0 -879
  523. package/src/utils/detection/projectTypeDetector.ts +0 -518
  524. package/src/utils/diagramGenerator.ts +0 -206
  525. package/src/utils/errorLogger.ts +0 -60
  526. package/src/utils/estimationUtils.ts +0 -407
  527. package/src/utils/fileFilters.ts +0 -373
  528. package/src/utils/fileSystem.ts +0 -57
  529. package/src/utils/logger.ts +0 -290
  530. package/src/utils/pathValidator.ts +0 -98
  531. package/src/utils/projectDocs.ts +0 -189
  532. package/src/utils/promptPaths.ts +0 -29
  533. package/src/utils/promptTemplateManager.ts +0 -157
  534. package/src/utils/review/consolidateReview.ts +0 -553
  535. package/src/utils/review/fixDisplay.ts +0 -100
  536. package/src/utils/review/fixImplementation.ts +0 -61
  537. package/src/utils/review/index.ts +0 -36
  538. package/src/utils/review/interactiveProcessing.ts +0 -294
  539. package/src/utils/review/progressTracker.ts +0 -296
  540. package/src/utils/review/reviewExtraction.ts +0 -382
  541. package/src/utils/review/types.ts +0 -46
  542. package/src/utils/reviewParser.ts +0 -253
  543. package/src/utils/sanitizer.ts +0 -238
  544. package/src/utils/smartFileSelector.ts +0 -255
  545. package/src/utils/templateLoader.ts +0 -514
  546. package/src/utils/treeGenerator.ts +0 -153
  547. package/tsconfig.build.json +0 -14
  548. package/tsconfig.json +0 -59
  549. /package/{src/utils/api/index.ts → dist/utils/api/index.d.ts} +0 -0
@@ -0,0 +1,369 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AIDetectionEngine.js","sourceRoot":"","sources":["../../../../src/analysis/ai-detection/core/AIDetectionEngine.ts"],"names":[],"mappings":"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"}