codereview-aia 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (422) 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/dist/analysis/context/index.d.ts +6 -0
  26. package/dist/analysis/context/index.js +23 -0
  27. package/dist/analysis/context/index.js.map +1 -0
  28. package/dist/analysis/index.d.ts +7 -0
  29. package/dist/analysis/index.js +24 -0
  30. package/dist/analysis/index.js.map +1 -0
  31. package/dist/analysis/tokens/TokenAnalysisFormatter.d.ts +27 -0
  32. package/dist/analysis/tokens/TokenAnalysisFormatter.js +143 -0
  33. package/dist/analysis/tokens/TokenAnalysisFormatter.js.map +1 -0
  34. package/dist/analysis/tokens/TokenAnalyzer.d.ts +155 -0
  35. package/dist/analysis/tokens/TokenAnalyzer.js +502 -0
  36. package/dist/analysis/tokens/TokenAnalyzer.js.map +1 -0
  37. package/dist/analysis/tokens/index.d.ts +7 -0
  38. package/dist/analysis/tokens/index.js +24 -0
  39. package/dist/analysis/tokens/index.js.map +1 -0
  40. package/dist/clients/base/abstractClient.d.ts +99 -0
  41. package/dist/clients/base/abstractClient.js +98 -0
  42. package/dist/clients/base/abstractClient.js.map +1 -0
  43. package/dist/clients/base/httpClient.d.ts +24 -0
  44. package/dist/clients/base/httpClient.js +147 -0
  45. package/dist/clients/base/httpClient.js.map +1 -0
  46. package/dist/clients/base/index.d.ts +11 -0
  47. package/dist/clients/base/index.js +28 -0
  48. package/dist/clients/base/index.js.map +1 -0
  49. package/dist/clients/base/modelDetection.d.ts +41 -0
  50. package/dist/clients/base/modelDetection.js +88 -0
  51. package/dist/clients/base/modelDetection.js.map +1 -0
  52. package/dist/clients/base/responseProcessor.d.ts +45 -0
  53. package/dist/clients/base/responseProcessor.js +495 -0
  54. package/dist/clients/base/responseProcessor.js.map +1 -0
  55. package/dist/clients/factory/clientFactory.d.ts +23 -0
  56. package/dist/clients/factory/clientFactory.js +50 -0
  57. package/dist/clients/factory/clientFactory.js.map +1 -0
  58. package/dist/clients/factory/index.d.ts +7 -0
  59. package/dist/clients/factory/index.js +24 -0
  60. package/dist/clients/factory/index.js.map +1 -0
  61. package/dist/clients/implementations/index.d.ts +7 -0
  62. package/dist/clients/implementations/index.js +24 -0
  63. package/dist/clients/implementations/index.js.map +1 -0
  64. package/dist/clients/implementations/openRouterClient.d.ts +69 -0
  65. package/dist/clients/implementations/openRouterClient.js +294 -0
  66. package/dist/clients/implementations/openRouterClient.js.map +1 -0
  67. package/dist/clients/openRouterClient.d.ts +42 -0
  68. package/dist/clients/openRouterClient.js +738 -0
  69. package/dist/clients/openRouterClient.js.map +1 -0
  70. package/dist/clients/openRouterClientWrapper.d.ts +22 -0
  71. package/dist/clients/openRouterClientWrapper.js +64 -0
  72. package/dist/clients/openRouterClientWrapper.js.map +1 -0
  73. package/dist/clients/utils/directoryStructure.d.ts +14 -0
  74. package/dist/clients/utils/directoryStructure.js +48 -0
  75. package/dist/clients/utils/directoryStructure.js.map +1 -0
  76. package/dist/clients/utils/index.d.ts +10 -0
  77. package/dist/clients/utils/index.js +31 -0
  78. package/dist/clients/utils/index.js.map +1 -0
  79. package/dist/clients/utils/languageDetection.d.ts +13 -0
  80. package/dist/clients/utils/languageDetection.js +46 -0
  81. package/dist/clients/utils/languageDetection.js.map +1 -0
  82. package/dist/clients/utils/promptFormatter.d.ts +36 -0
  83. package/dist/clients/utils/promptFormatter.js +92 -0
  84. package/dist/clients/utils/promptFormatter.js.map +1 -0
  85. package/dist/clients/utils/promptLoader.d.ts +27 -0
  86. package/dist/clients/utils/promptLoader.js +49 -0
  87. package/dist/clients/utils/promptLoader.js.map +1 -0
  88. package/dist/clients/utils/tokenCounter.d.ts +81 -0
  89. package/dist/clients/utils/tokenCounter.js +209 -0
  90. package/dist/clients/utils/tokenCounter.js.map +1 -0
  91. package/dist/core/ApiClientSelector.d.ts +8 -0
  92. package/dist/core/ApiClientSelector.js +29 -0
  93. package/dist/core/ApiClientSelector.js.map +1 -0
  94. package/dist/core/ConfigurationService.d.ts +286 -0
  95. package/dist/core/ConfigurationService.js +477 -0
  96. package/dist/core/ConfigurationService.js.map +1 -0
  97. package/dist/core/ConsolidationService.d.ts +99 -0
  98. package/dist/core/ConsolidationService.js +341 -0
  99. package/dist/core/ConsolidationService.js.map +1 -0
  100. package/dist/core/InteractiveDisplayManager.d.ts +22 -0
  101. package/dist/core/InteractiveDisplayManager.js +70 -0
  102. package/dist/core/InteractiveDisplayManager.js.map +1 -0
  103. package/dist/core/OutputManager.d.ts +26 -0
  104. package/dist/core/OutputManager.js +217 -0
  105. package/dist/core/OutputManager.js.map +1 -0
  106. package/dist/core/ReviewGenerator.d.ts +13 -0
  107. package/dist/core/ReviewGenerator.js +102 -0
  108. package/dist/core/ReviewGenerator.js.map +1 -0
  109. package/dist/core/fileDiscovery.d.ts +35 -0
  110. package/dist/core/fileDiscovery.js +202 -0
  111. package/dist/core/fileDiscovery.js.map +1 -0
  112. package/dist/core/handlers/EstimationHandler.d.ts +18 -0
  113. package/dist/core/handlers/EstimationHandler.js +110 -0
  114. package/dist/core/handlers/EstimationHandler.js.map +1 -0
  115. package/dist/core/handlers/FileProcessingHandler.d.ts +31 -0
  116. package/dist/core/handlers/FileProcessingHandler.js +159 -0
  117. package/dist/core/handlers/FileProcessingHandler.js.map +1 -0
  118. package/dist/core/handlers/OutputHandler.d.ts +27 -0
  119. package/dist/core/handlers/OutputHandler.js +127 -0
  120. package/dist/core/handlers/OutputHandler.js.map +1 -0
  121. package/dist/core/handlers/ReviewExecutor.d.ts +32 -0
  122. package/dist/core/handlers/ReviewExecutor.js +111 -0
  123. package/dist/core/handlers/ReviewExecutor.js.map +1 -0
  124. package/dist/core/reviewOrchestrator.d.ts +24 -0
  125. package/dist/core/reviewOrchestrator.js +294 -0
  126. package/dist/core/reviewOrchestrator.js.map +1 -0
  127. package/dist/core/utils/ModelInfoUtils.d.ts +16 -0
  128. package/dist/core/utils/ModelInfoUtils.js +54 -0
  129. package/dist/core/utils/ModelInfoUtils.js.map +1 -0
  130. package/dist/formatters/outputFormatter.d.ts +31 -0
  131. package/dist/formatters/outputFormatter.js +65 -0
  132. package/dist/formatters/outputFormatter.js.map +1 -0
  133. package/dist/formatters/utils/IssueFormatters.d.ts +20 -0
  134. package/dist/formatters/utils/IssueFormatters.js +67 -0
  135. package/dist/formatters/utils/IssueFormatters.js.map +1 -0
  136. package/dist/formatters/utils/JsonFormatter.d.ts +13 -0
  137. package/dist/formatters/utils/JsonFormatter.js +57 -0
  138. package/dist/formatters/utils/JsonFormatter.js.map +1 -0
  139. package/dist/formatters/utils/MarkdownFormatters.d.ts +51 -0
  140. package/dist/formatters/utils/MarkdownFormatters.js +456 -0
  141. package/dist/formatters/utils/MarkdownFormatters.js.map +1 -0
  142. package/dist/formatters/utils/MetadataFormatter.d.ts +65 -0
  143. package/dist/formatters/utils/MetadataFormatter.js +219 -0
  144. package/dist/formatters/utils/MetadataFormatter.js.map +1 -0
  145. package/dist/formatters/utils/ModelInfoExtractor.d.ts +33 -0
  146. package/dist/formatters/utils/ModelInfoExtractor.js +111 -0
  147. package/dist/formatters/utils/ModelInfoExtractor.js.map +1 -0
  148. package/dist/index.d.ts +2 -0
  149. package/dist/index.js +1 -0
  150. package/dist/index.js.map +1 -0
  151. package/dist/plugins/PluginInterface.d.ts +44 -0
  152. package/dist/plugins/PluginInterface.js +9 -0
  153. package/dist/plugins/PluginInterface.js.map +1 -0
  154. package/dist/plugins/PluginManager.d.ts +51 -0
  155. package/dist/plugins/PluginManager.js +151 -0
  156. package/dist/plugins/PluginManager.js.map +1 -0
  157. package/dist/prompts/PromptManager.d.ts +30 -0
  158. package/dist/prompts/PromptManager.js +62 -0
  159. package/dist/prompts/PromptManager.js.map +1 -0
  160. package/dist/prompts/cache/PromptCache.d.ts +32 -0
  161. package/dist/prompts/cache/PromptCache.js +48 -0
  162. package/dist/prompts/cache/PromptCache.js.map +1 -0
  163. package/dist/runtime/auth/service.d.ts +2 -0
  164. package/dist/runtime/auth/service.js +41 -0
  165. package/dist/runtime/auth/service.js.map +1 -0
  166. package/dist/runtime/auth/session.d.ts +5 -0
  167. package/dist/runtime/auth/session.js +87 -0
  168. package/dist/runtime/auth/session.js.map +1 -0
  169. package/dist/runtime/auth/types.d.ts +9 -0
  170. package/dist/runtime/auth/types.js +3 -0
  171. package/dist/runtime/auth/types.js.map +1 -0
  172. package/dist/runtime/cliEntry.d.ts +1 -0
  173. package/dist/runtime/cliEntry.js +213 -0
  174. package/dist/runtime/cliEntry.js.map +1 -0
  175. package/dist/runtime/debug/logManager.d.ts +5 -0
  176. package/dist/runtime/debug/logManager.js +31 -0
  177. package/dist/runtime/debug/logManager.js.map +1 -0
  178. package/dist/runtime/errors.d.ts +5 -0
  179. package/dist/runtime/errors.js +15 -0
  180. package/dist/runtime/errors.js.map +1 -0
  181. package/dist/runtime/fileCollector.d.ts +5 -0
  182. package/dist/runtime/fileCollector.js +167 -0
  183. package/dist/runtime/fileCollector.js.map +1 -0
  184. package/dist/runtime/manifest.d.ts +1 -0
  185. package/dist/runtime/manifest.js +65 -0
  186. package/dist/runtime/manifest.js.map +1 -0
  187. package/dist/runtime/openrouterProxy.d.ts +4 -0
  188. package/dist/runtime/openrouterProxy.js +43 -0
  189. package/dist/runtime/openrouterProxy.js.map +1 -0
  190. package/dist/runtime/preprod/webCheck.d.ts +1 -0
  191. package/dist/runtime/preprod/webCheck.js +98 -0
  192. package/dist/runtime/preprod/webCheck.js.map +1 -0
  193. package/dist/runtime/proxyConfig.d.ts +6 -0
  194. package/dist/runtime/proxyConfig.js +86 -0
  195. package/dist/runtime/proxyConfig.js.map +1 -0
  196. package/dist/runtime/proxyEnvironment.d.ts +3 -0
  197. package/dist/runtime/proxyEnvironment.js +63 -0
  198. package/dist/runtime/proxyEnvironment.js.map +1 -0
  199. package/dist/runtime/reportMerge.d.ts +30 -0
  200. package/dist/runtime/reportMerge.js +70 -0
  201. package/dist/runtime/reportMerge.js.map +1 -0
  202. package/dist/runtime/reporting/markdownReportBuilder.d.ts +15 -0
  203. package/dist/runtime/reporting/markdownReportBuilder.js +97 -0
  204. package/dist/runtime/reporting/markdownReportBuilder.js.map +1 -0
  205. package/dist/runtime/reporting/reportDataCollector.d.ts +31 -0
  206. package/dist/runtime/reporting/reportDataCollector.js +170 -0
  207. package/dist/runtime/reporting/reportDataCollector.js.map +1 -0
  208. package/dist/runtime/reporting/summaryGenerator.d.ts +10 -0
  209. package/dist/runtime/reporting/summaryGenerator.js +67 -0
  210. package/dist/runtime/reporting/summaryGenerator.js.map +1 -0
  211. package/dist/runtime/reviewPipeline.d.ts +28 -0
  212. package/dist/runtime/reviewPipeline.js +122 -0
  213. package/dist/runtime/reviewPipeline.js.map +1 -0
  214. package/dist/runtime/runAiCodeReview.d.ts +10 -0
  215. package/dist/runtime/runAiCodeReview.js +138 -0
  216. package/dist/runtime/runAiCodeReview.js.map +1 -0
  217. package/dist/runtime/runtimeConfig.d.ts +4 -0
  218. package/dist/runtime/runtimeConfig.js +7 -0
  219. package/dist/runtime/runtimeConfig.js.map +1 -0
  220. package/dist/runtime/ui/Layout.d.ts +11 -0
  221. package/dist/runtime/ui/Layout.js +47 -0
  222. package/dist/runtime/ui/Layout.js.map +1 -0
  223. package/dist/runtime/ui/RuntimeApp.d.ts +6 -0
  224. package/dist/runtime/ui/RuntimeApp.js +161 -0
  225. package/dist/runtime/ui/RuntimeApp.js.map +1 -0
  226. package/dist/runtime/ui/inkModules.d.ts +10 -0
  227. package/dist/runtime/ui/inkModules.js +63 -0
  228. package/dist/runtime/ui/inkModules.js.map +1 -0
  229. package/dist/runtime/ui/screens/AuthScreen.d.ts +6 -0
  230. package/dist/runtime/ui/screens/AuthScreen.js +67 -0
  231. package/dist/runtime/ui/screens/AuthScreen.js.map +1 -0
  232. package/dist/runtime/ui/screens/ModeSelection.d.ts +10 -0
  233. package/dist/runtime/ui/screens/ModeSelection.js +100 -0
  234. package/dist/runtime/ui/screens/ModeSelection.js.map +1 -0
  235. package/dist/runtime/ui/screens/ProgressScreen.d.ts +7 -0
  236. package/dist/runtime/ui/screens/ProgressScreen.js +38 -0
  237. package/dist/runtime/ui/screens/ProgressScreen.js.map +1 -0
  238. package/dist/runtime/ui/screens/ResultsScreen.d.ts +7 -0
  239. package/dist/runtime/ui/screens/ResultsScreen.js +22 -0
  240. package/dist/runtime/ui/screens/ResultsScreen.js.map +1 -0
  241. package/dist/strategies/ArchitecturalReviewStrategy.d.ts +29 -0
  242. package/dist/strategies/ArchitecturalReviewStrategy.js +42 -0
  243. package/dist/strategies/ArchitecturalReviewStrategy.js.map +1 -0
  244. package/dist/strategies/CodingTestReviewStrategy.d.ts +194 -0
  245. package/dist/strategies/CodingTestReviewStrategy.js +681 -0
  246. package/dist/strategies/CodingTestReviewStrategy.js.map +1 -0
  247. package/dist/strategies/ConsolidatedReviewStrategy.d.ts +25 -0
  248. package/dist/strategies/ConsolidatedReviewStrategy.js +45 -0
  249. package/dist/strategies/ConsolidatedReviewStrategy.js.map +1 -0
  250. package/dist/strategies/ExtractPatternsReviewStrategy.d.ts +30 -0
  251. package/dist/strategies/ExtractPatternsReviewStrategy.js +51 -0
  252. package/dist/strategies/ExtractPatternsReviewStrategy.js.map +1 -0
  253. package/dist/strategies/MultiPassReviewStrategy.d.ts +86 -0
  254. package/dist/strategies/MultiPassReviewStrategy.js +590 -0
  255. package/dist/strategies/MultiPassReviewStrategy.js.map +1 -0
  256. package/dist/strategies/ReviewStrategy.d.ts +45 -0
  257. package/dist/strategies/ReviewStrategy.js +24 -0
  258. package/dist/strategies/ReviewStrategy.js.map +1 -0
  259. package/dist/strategies/StrategyFactory.d.ts +19 -0
  260. package/dist/strategies/StrategyFactory.js +72 -0
  261. package/dist/strategies/StrategyFactory.js.map +1 -0
  262. package/dist/strategies/index.d.ts +13 -0
  263. package/dist/strategies/index.js +30 -0
  264. package/dist/strategies/index.js.map +1 -0
  265. package/dist/tokenizers/baseTokenizer.d.ts +25 -0
  266. package/dist/tokenizers/baseTokenizer.js +48 -0
  267. package/dist/tokenizers/baseTokenizer.js.map +1 -0
  268. package/dist/tokenizers/gptTokenizer.d.ts +7 -0
  269. package/dist/tokenizers/gptTokenizer.js +28 -0
  270. package/dist/tokenizers/gptTokenizer.js.map +1 -0
  271. package/dist/tokenizers/index.d.ts +7 -0
  272. package/dist/tokenizers/index.js +24 -0
  273. package/dist/tokenizers/index.js.map +1 -0
  274. package/dist/types/apiResponses.d.ts +39 -0
  275. package/dist/types/apiResponses.js +9 -0
  276. package/dist/types/apiResponses.js.map +1 -0
  277. package/dist/types/cli.d.ts +22 -0
  278. package/dist/types/cli.js +3 -0
  279. package/dist/types/cli.js.map +1 -0
  280. package/dist/types/common.d.ts +22 -0
  281. package/dist/types/common.js +14 -0
  282. package/dist/types/common.js.map +1 -0
  283. package/dist/types/configuration.d.ts +682 -0
  284. package/dist/types/configuration.js +65 -0
  285. package/dist/types/configuration.js.map +1 -0
  286. package/dist/types/review.d.ts +258 -0
  287. package/dist/types/review.js +8 -0
  288. package/dist/types/review.js.map +1 -0
  289. package/dist/types/reviewSchema.d.ts +543 -0
  290. package/dist/types/reviewSchema.js +121 -0
  291. package/dist/types/reviewSchema.js.map +1 -0
  292. package/dist/types/structuredReview.d.ts +119 -0
  293. package/dist/types/structuredReview.js +6 -0
  294. package/dist/types/structuredReview.js.map +1 -0
  295. package/dist/types/tokenAnalysis.d.ts +44 -0
  296. package/dist/types/tokenAnalysis.js +4 -0
  297. package/dist/types/tokenAnalysis.js.map +1 -0
  298. package/dist/utils/FileReader.d.ts +33 -0
  299. package/dist/utils/FileReader.js +88 -0
  300. package/dist/utils/FileReader.js.map +1 -0
  301. package/dist/utils/FileWriter.d.ts +26 -0
  302. package/dist/utils/FileWriter.js +76 -0
  303. package/dist/utils/FileWriter.js.map +1 -0
  304. package/dist/utils/PathGenerator.d.ts +30 -0
  305. package/dist/utils/PathGenerator.js +82 -0
  306. package/dist/utils/PathGenerator.js.map +1 -0
  307. package/dist/utils/api/apiUtils.d.ts +3 -0
  308. package/dist/utils/api/apiUtils.js +20 -0
  309. package/dist/utils/api/apiUtils.js.map +1 -0
  310. package/dist/utils/api/index.d.ts +1 -0
  311. package/dist/utils/api/index.js +18 -0
  312. package/dist/utils/api/index.js.map +1 -0
  313. package/dist/utils/apiErrorHandler.d.ts +130 -0
  314. package/dist/utils/apiErrorHandler.js +256 -0
  315. package/dist/utils/apiErrorHandler.js.map +1 -0
  316. package/dist/utils/ciDataCollector.d.ts +51 -0
  317. package/dist/utils/ciDataCollector.js +197 -0
  318. package/dist/utils/ciDataCollector.js.map +1 -0
  319. package/dist/utils/codingTestConfigLoader.d.ts +66 -0
  320. package/dist/utils/codingTestConfigLoader.js +420 -0
  321. package/dist/utils/codingTestConfigLoader.js.map +1 -0
  322. package/dist/utils/dependencies/aiDependencyAnalyzer.d.ts +30 -0
  323. package/dist/utils/dependencies/aiDependencyAnalyzer.js +343 -0
  324. package/dist/utils/dependencies/aiDependencyAnalyzer.js.map +1 -0
  325. package/dist/utils/detection/frameworkDetector.d.ts +43 -0
  326. package/dist/utils/detection/frameworkDetector.js +795 -0
  327. package/dist/utils/detection/frameworkDetector.js.map +1 -0
  328. package/dist/utils/detection/index.d.ts +9 -0
  329. package/dist/utils/detection/index.js +28 -0
  330. package/dist/utils/detection/index.js.map +1 -0
  331. package/dist/utils/detection/projectTypeDetector.d.ts +27 -0
  332. package/dist/utils/detection/projectTypeDetector.js +469 -0
  333. package/dist/utils/detection/projectTypeDetector.js.map +1 -0
  334. package/dist/utils/diagramGenerator.d.ts +49 -0
  335. package/dist/utils/diagramGenerator.js +218 -0
  336. package/dist/utils/diagramGenerator.js.map +1 -0
  337. package/dist/utils/errorLogger.d.ts +24 -0
  338. package/dist/utils/errorLogger.js +59 -0
  339. package/dist/utils/errorLogger.js.map +1 -0
  340. package/dist/utils/estimationUtils.d.ts +139 -0
  341. package/dist/utils/estimationUtils.js +329 -0
  342. package/dist/utils/estimationUtils.js.map +1 -0
  343. package/dist/utils/fileFilters.d.ts +72 -0
  344. package/dist/utils/fileFilters.js +338 -0
  345. package/dist/utils/fileFilters.js.map +1 -0
  346. package/dist/utils/fileSystem.d.ts +22 -0
  347. package/dist/utils/fileSystem.js +45 -0
  348. package/dist/utils/fileSystem.js.map +1 -0
  349. package/dist/utils/index.d.ts +22 -0
  350. package/dist/utils/index.js +52 -0
  351. package/dist/utils/index.js.map +1 -0
  352. package/dist/utils/logger.d.ts +77 -0
  353. package/dist/utils/logger.js +271 -0
  354. package/dist/utils/logger.js.map +1 -0
  355. package/dist/utils/pathValidator.d.ts +40 -0
  356. package/dist/utils/pathValidator.js +98 -0
  357. package/dist/utils/pathValidator.js.map +1 -0
  358. package/dist/utils/priorityFilter.d.ts +34 -0
  359. package/dist/utils/priorityFilter.js +54 -0
  360. package/dist/utils/priorityFilter.js.map +1 -0
  361. package/dist/utils/projectDocs.d.ts +47 -0
  362. package/dist/utils/projectDocs.js +158 -0
  363. package/dist/utils/projectDocs.js.map +1 -0
  364. package/dist/utils/promptPaths.d.ts +6 -0
  365. package/dist/utils/promptPaths.js +33 -0
  366. package/dist/utils/promptPaths.js.map +1 -0
  367. package/dist/utils/promptTemplateManager.d.ts +34 -0
  368. package/dist/utils/promptTemplateManager.js +140 -0
  369. package/dist/utils/promptTemplateManager.js.map +1 -0
  370. package/dist/utils/review/consolidateReview.d.ts +15 -0
  371. package/dist/utils/review/consolidateReview.js +481 -0
  372. package/dist/utils/review/consolidateReview.js.map +1 -0
  373. package/dist/utils/review/fixDisplay.d.ts +20 -0
  374. package/dist/utils/review/fixDisplay.js +84 -0
  375. package/dist/utils/review/fixDisplay.js.map +1 -0
  376. package/dist/utils/review/fixImplementation.d.ts +28 -0
  377. package/dist/utils/review/fixImplementation.js +60 -0
  378. package/dist/utils/review/fixImplementation.js.map +1 -0
  379. package/dist/utils/review/index.d.ts +13 -0
  380. package/dist/utils/review/index.js +50 -0
  381. package/dist/utils/review/index.js.map +1 -0
  382. package/dist/utils/review/interactiveProcessing.d.ts +25 -0
  383. package/dist/utils/review/interactiveProcessing.js +251 -0
  384. package/dist/utils/review/interactiveProcessing.js.map +1 -0
  385. package/dist/utils/review/progressTracker.d.ts +106 -0
  386. package/dist/utils/review/progressTracker.js +227 -0
  387. package/dist/utils/review/progressTracker.js.map +1 -0
  388. package/dist/utils/review/reviewExtraction.d.ts +31 -0
  389. package/dist/utils/review/reviewExtraction.js +324 -0
  390. package/dist/utils/review/reviewExtraction.js.map +1 -0
  391. package/dist/utils/review/types.d.ts +45 -0
  392. package/dist/utils/review/types.js +18 -0
  393. package/dist/utils/review/types.js.map +1 -0
  394. package/dist/utils/reviewActionHandler.d.ts +16 -0
  395. package/dist/utils/reviewActionHandler.js +34 -0
  396. package/dist/utils/reviewActionHandler.js.map +1 -0
  397. package/dist/utils/reviewParser.d.ts +34 -0
  398. package/dist/utils/reviewParser.js +218 -0
  399. package/dist/utils/reviewParser.js.map +1 -0
  400. package/dist/utils/sanitizer.d.ts +82 -0
  401. package/dist/utils/sanitizer.js +239 -0
  402. package/dist/utils/sanitizer.js.map +1 -0
  403. package/dist/utils/smartFileSelector.d.ts +50 -0
  404. package/dist/utils/smartFileSelector.js +261 -0
  405. package/dist/utils/smartFileSelector.js.map +1 -0
  406. package/dist/utils/templateLoader.d.ts +44 -0
  407. package/dist/utils/templateLoader.js +431 -0
  408. package/dist/utils/templateLoader.js.map +1 -0
  409. package/dist/utils/treeGenerator.d.ts +12 -0
  410. package/dist/utils/treeGenerator.js +133 -0
  411. package/dist/utils/treeGenerator.js.map +1 -0
  412. package/package.json +11 -12
  413. package/src/index.ts +1 -0
  414. package/src/runtime/debug/logManager.ts +37 -0
  415. package/src/runtime/fileCollector.ts +58 -24
  416. package/src/runtime/preprod/webCheck.ts +104 -0
  417. package/src/runtime/reviewPipeline.ts +10 -4
  418. package/src/runtime/ui/RuntimeApp.tsx +96 -13
  419. package/src/runtime/ui/screens/ModeSelection.tsx +148 -15
  420. package/src/runtime/ui/screens/ProgressScreen.tsx +10 -3
  421. package/src/runtime/ui/screens/ResultsScreen.tsx +8 -1
  422. package/src/utils/logger.ts +64 -14
@@ -0,0 +1,477 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Unified Configuration Service
4
+ *
5
+ * This service consolidates all configuration management into a single, cohesive module.
6
+ * It replaces the fragmented configuration files (config.ts, configFileManager.ts,
7
+ * configManager.ts, unifiedConfig.ts, codingTestConfigLoader.ts, envLoader.ts) with
8
+ * a single source of truth for configuration.
9
+ *
10
+ * Key features:
11
+ * - Single source of truth for all configuration
12
+ * - Clear precedence order: CLI > Environment > Config File > Defaults
13
+ * - Type-safe configuration with Zod validation
14
+ * - Support for YAML and JSON config files
15
+ * - Environment variable loading with .env.local support
16
+ * - Comprehensive error handling and validation
17
+ */
18
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
19
+ if (k2 === undefined) k2 = k;
20
+ var desc = Object.getOwnPropertyDescriptor(m, k);
21
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
22
+ desc = { enumerable: true, get: function() { return m[k]; } };
23
+ }
24
+ Object.defineProperty(o, k2, desc);
25
+ }) : (function(o, m, k, k2) {
26
+ if (k2 === undefined) k2 = k;
27
+ o[k2] = m[k];
28
+ }));
29
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
30
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
31
+ }) : function(o, v) {
32
+ o["default"] = v;
33
+ });
34
+ var __importStar = (this && this.__importStar) || (function () {
35
+ var ownKeys = function(o) {
36
+ ownKeys = Object.getOwnPropertyNames || function (o) {
37
+ var ar = [];
38
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
39
+ return ar;
40
+ };
41
+ return ownKeys(o);
42
+ };
43
+ return function (mod) {
44
+ if (mod && mod.__esModule) return mod;
45
+ var result = {};
46
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
47
+ __setModuleDefault(result, mod);
48
+ return result;
49
+ };
50
+ })();
51
+ var __importDefault = (this && this.__importDefault) || function (mod) {
52
+ return (mod && mod.__esModule) ? mod : { "default": mod };
53
+ };
54
+ Object.defineProperty(exports, "__esModule", { value: true });
55
+ exports.configurationService = exports.ConfigurationService = void 0;
56
+ exports.getConfig = getConfig;
57
+ exports.resetConfig = resetConfig;
58
+ exports.hasAnyApiKey = hasAnyApiKey;
59
+ const node_fs_1 = __importDefault(require("node:fs"));
60
+ const node_path_1 = __importDefault(require("node:path"));
61
+ // Use dynamic import for js-yaml to avoid type issues
62
+ // import * as yaml from 'js-yaml';
63
+ const dotenv = __importStar(require("dotenv"));
64
+ const zod_1 = require("zod");
65
+ const logger_1 = __importDefault(require("../utils/logger"));
66
+ const promptPaths_1 = require("../utils/promptPaths");
67
+ /**
68
+ * Safely converts optional string inputs (like env vars) to numbers.
69
+ * Returns undefined when the input is absent or not a valid finite number.
70
+ */
71
+ const toOptionalNumber = (value) => {
72
+ if (value === undefined || value === null || value === '') {
73
+ return undefined;
74
+ }
75
+ const parsed = Number(value);
76
+ return Number.isFinite(parsed) ? parsed : undefined;
77
+ };
78
+ // Configuration schema with validation
79
+ const ConfigSchema = zod_1.z.object({
80
+ // API Keys (OpenRouter only)
81
+ openRouterApiKey: zod_1.z.string().optional(),
82
+ // Model configuration
83
+ model: zod_1.z.string().default('openrouter:anthropic/claude-3-opus-20240229'),
84
+ writerModel: zod_1.z.string().optional(),
85
+ // Output configuration
86
+ outputDir: zod_1.z.string().default('cr-aia-docs'),
87
+ outputFormat: zod_1.z.enum(['markdown', 'json']).default('markdown'),
88
+ // Behavior configuration
89
+ debug: zod_1.z.boolean().default(false),
90
+ logLevel: zod_1.z.enum(['debug', 'info', 'warn', 'error', 'none']).default('info'),
91
+ interactive: zod_1.z.boolean().default(false),
92
+ // Review features
93
+ includeTests: zod_1.z.boolean().default(false),
94
+ includeProjectDocs: zod_1.z.boolean().default(true),
95
+ includeDependencyAnalysis: zod_1.z.boolean().default(true),
96
+ // Multi-pass configuration
97
+ multiPass: zod_1.z.boolean().default(false),
98
+ forceSinglePass: zod_1.z.boolean().default(false),
99
+ contextMaintenanceFactor: zod_1.z.number().min(0).max(1).default(0.15),
100
+ // Advanced features
101
+ testApi: zod_1.z.boolean().default(false),
102
+ estimate: zod_1.z.boolean().default(false),
103
+ noConfirm: zod_1.z.boolean().default(false),
104
+ // Paths
105
+ contextPaths: zod_1.z.array(zod_1.z.string()).optional(),
106
+ configPath: zod_1.z.string().optional(),
107
+ // Coding test specific
108
+ assignmentFile: zod_1.z.string().optional(),
109
+ assignmentUrl: zod_1.z.string().optional(),
110
+ assignmentText: zod_1.z.string().optional(),
111
+ evaluationTemplate: zod_1.z.string().optional(),
112
+ templateUrl: zod_1.z.string().optional(),
113
+ rubricFile: zod_1.z.string().optional(),
114
+ assessmentType: zod_1.z
115
+ .enum(['coding-challenge', 'take-home', 'live-coding', 'code-review'])
116
+ .default('coding-challenge'),
117
+ difficultyLevel: zod_1.z.enum(['junior', 'mid', 'senior', 'lead', 'architect']).default('mid'),
118
+ // Evaluation weights
119
+ weightCorrectness: zod_1.z.number().min(0).max(100).default(30),
120
+ weightCodeQuality: zod_1.z.number().min(0).max(100).default(25),
121
+ weightArchitecture: zod_1.z.number().min(0).max(100).default(20),
122
+ weightPerformance: zod_1.z.number().min(0).max(100).default(15),
123
+ weightTesting: zod_1.z.number().min(0).max(100).default(10),
124
+ // Evaluation options
125
+ evaluateDocumentation: zod_1.z.boolean().default(false),
126
+ evaluateGitHistory: zod_1.z.boolean().default(false),
127
+ evaluateEdgeCases: zod_1.z.boolean().default(false),
128
+ evaluateErrorHandling: zod_1.z.boolean().default(false),
129
+ // Scoring system
130
+ scoringSystem: zod_1.z.enum(['numeric', 'letter', 'pass-fail', 'custom']).default('numeric'),
131
+ maxScore: zod_1.z.number().default(100),
132
+ passingThreshold: zod_1.z.number().default(70),
133
+ scoreBreakdown: zod_1.z.boolean().default(true),
134
+ // Feedback configuration
135
+ feedbackLevel: zod_1.z.enum(['basic', 'detailed', 'comprehensive']).default('detailed'),
136
+ includeExamples: zod_1.z.boolean().default(true),
137
+ includeSuggestions: zod_1.z.boolean().default(true),
138
+ includeResources: zod_1.z.boolean().default(false),
139
+ // AI detection
140
+ enableAiDetection: zod_1.z.boolean().default(false),
141
+ aiDetectionThreshold: zod_1.z.number().min(0).max(1).default(0.7),
142
+ aiDetectionAnalyzers: zod_1.z.string().default('git,documentation'),
143
+ aiDetectionIncludeInReport: zod_1.z.boolean().default(true),
144
+ aiDetectionFailOnDetection: zod_1.z.boolean().default(false),
145
+ // Constraints
146
+ allowedLibraries: zod_1.z.array(zod_1.z.string()).optional(),
147
+ forbiddenPatterns: zod_1.z.array(zod_1.z.string()).optional(),
148
+ nodeVersion: zod_1.z.string().optional(),
149
+ typescriptVersion: zod_1.z.string().optional(),
150
+ memoryLimit: zod_1.z.number().optional(),
151
+ executionTimeout: zod_1.z.number().optional(),
152
+ timeLimit: zod_1.z.number().optional(),
153
+ // Diagram generation
154
+ diagram: zod_1.z.boolean().default(false),
155
+ // Batch processing
156
+ batchTokenLimit: zod_1.z.number().optional(),
157
+ });
158
+ /**
159
+ * Unified Configuration Service
160
+ *
161
+ * This class provides a single source of truth for all configuration management.
162
+ * It handles loading from CLI arguments, environment variables, and config files
163
+ * with a clear precedence order.
164
+ */
165
+ class ConfigurationService {
166
+ static instance = null;
167
+ config = null;
168
+ constructor() { }
169
+ /**
170
+ * Get the singleton instance of the configuration service
171
+ */
172
+ static getInstance() {
173
+ if (!ConfigurationService.instance) {
174
+ ConfigurationService.instance = new ConfigurationService();
175
+ }
176
+ return ConfigurationService.instance;
177
+ }
178
+ /**
179
+ * Get the current configuration
180
+ * @param cliOptions Optional CLI options to override configuration
181
+ * @returns The validated configuration object
182
+ */
183
+ getConfig(cliOptions) {
184
+ if (!this.config || cliOptions) {
185
+ this.config = this.buildConfiguration(cliOptions);
186
+ }
187
+ return this.config;
188
+ }
189
+ /**
190
+ * Reset the configuration (useful for testing)
191
+ */
192
+ resetConfig() {
193
+ this.config = null;
194
+ }
195
+ /**
196
+ * Check if any API key is available
197
+ */
198
+ hasAnyApiKey(config) {
199
+ const cfg = config || this.getConfig();
200
+ return !!cfg.openRouterApiKey;
201
+ }
202
+ /**
203
+ * Get paths configuration
204
+ */
205
+ getPathsConfig() {
206
+ const config = this.getConfig();
207
+ const promptsDir = (0, promptPaths_1.resolvePromptTemplatesDir)();
208
+ return {
209
+ outputDir: config.outputDir || 'cr-aia-docs',
210
+ promptsDir,
211
+ templatesDir: promptsDir,
212
+ contextPaths: config.contextPaths,
213
+ };
214
+ }
215
+ /**
216
+ * Get application config (for backward compatibility)
217
+ */
218
+ getApplicationConfig() {
219
+ const config = this.getConfig();
220
+ return {
221
+ selectedModel: {
222
+ value: config.model,
223
+ source: 'configuration_service',
224
+ },
225
+ openRouterApiKey: config.openRouterApiKey
226
+ ? {
227
+ value: config.openRouterApiKey,
228
+ source: 'environment',
229
+ }
230
+ : undefined,
231
+ debug: {
232
+ value: config.debug,
233
+ source: 'configuration_service',
234
+ },
235
+ logLevel: {
236
+ value: config.logLevel,
237
+ source: 'configuration_service',
238
+ },
239
+ outputDir: {
240
+ value: config.outputDir,
241
+ source: 'configuration_service',
242
+ },
243
+ };
244
+ }
245
+ /**
246
+ * Build the configuration from all sources with proper precedence
247
+ */
248
+ buildConfiguration(cliOptions) {
249
+ // 1. Load environment variables from .env.local
250
+ this.loadEnvironmentVariables();
251
+ // 2. Load configuration file
252
+ const configFile = this.loadConfigFile(cliOptions?.config);
253
+ // 3. Build configuration with precedence: CLI > Environment > Config File > Defaults
254
+ const rawConfig = this.mergeConfigurationSources(cliOptions, configFile);
255
+ // 4. Validate and return the configuration
256
+ try {
257
+ return ConfigSchema.parse(rawConfig);
258
+ }
259
+ catch (error) {
260
+ logger_1.default.error('Configuration validation failed:', error);
261
+ throw new Error(`Invalid configuration: ${error}`);
262
+ }
263
+ }
264
+ /**
265
+ * Load environment variables from .env.local file
266
+ */
267
+ loadEnvironmentVariables() {
268
+ const envLocalPath = node_path_1.default.join(process.cwd(), '.env.local');
269
+ if (node_fs_1.default.existsSync(envLocalPath)) {
270
+ try {
271
+ dotenv.config({ path: envLocalPath, override: true });
272
+ logger_1.default.debug(`Loaded environment variables from ${envLocalPath}`);
273
+ }
274
+ catch (error) {
275
+ logger_1.default.warn(`Failed to load environment variables from ${envLocalPath}:`, error);
276
+ }
277
+ }
278
+ }
279
+ /**
280
+ * Load configuration file (YAML or JSON)
281
+ */
282
+ loadConfigFile(configPath) {
283
+ const defaultConfigFiles = [
284
+ '.cr-aia.yml',
285
+ ];
286
+ const filesToTry = configPath ? [configPath] : defaultConfigFiles;
287
+ for (const filePath of filesToTry) {
288
+ const fullPath = node_path_1.default.resolve(filePath);
289
+ if (node_fs_1.default.existsSync(fullPath)) {
290
+ try {
291
+ const content = node_fs_1.default.readFileSync(fullPath, 'utf8');
292
+ const extension = node_path_1.default.extname(fullPath).toLowerCase();
293
+ let config;
294
+ if (extension === '.json') {
295
+ config = JSON.parse(content);
296
+ }
297
+ else if (extension === '.yaml' || extension === '.yml') {
298
+ // Use dynamic import for js-yaml
299
+ const yaml = require('js-yaml');
300
+ config = yaml.load(content);
301
+ }
302
+ else {
303
+ logger_1.default.warn(`Unsupported config file format: ${extension}`);
304
+ continue;
305
+ }
306
+ logger_1.default.debug(`Loaded configuration from ${fullPath}`);
307
+ return config;
308
+ }
309
+ catch (error) {
310
+ logger_1.default.error(`Failed to load config file ${fullPath}:`, error);
311
+ if (configPath) {
312
+ throw error; // If explicitly specified, throw the error
313
+ }
314
+ }
315
+ }
316
+ }
317
+ return null;
318
+ }
319
+ /**
320
+ * Merge configuration from all sources with proper precedence
321
+ */
322
+ mergeConfigurationSources(cliOptions, configFile) {
323
+ return {
324
+ // API Keys (OpenRouter only, environment only, not exposed via CLI for security)
325
+ openRouterApiKey: this.getApiKey('openrouter'),
326
+ // Model configuration
327
+ model: cliOptions?.model ||
328
+ process.env.AI_CODE_REVIEW_MODEL ||
329
+ configFile?.model?.default ||
330
+ configFile?.api?.model ||
331
+ 'openrouter:anthropic/claude-3-opus-20240229',
332
+ writerModel: cliOptions?.writerModel ||
333
+ process.env.AI_CODE_REVIEW_WRITER_MODEL ||
334
+ configFile?.model?.writer ||
335
+ configFile?.api?.writer_model,
336
+ // Output configuration
337
+ outputDir: cliOptions?.outputDir ||
338
+ process.env.AI_CODE_REVIEW_OUTPUT_DIR ||
339
+ configFile?.output?.directory ||
340
+ configFile?.output?.dir ||
341
+ 'cr-aia-docs',
342
+ outputFormat: cliOptions?.output ||
343
+ process.env.AI_CODE_REVIEW_OUTPUT_FORMAT ||
344
+ configFile?.output?.format ||
345
+ 'markdown',
346
+ // Behavior configuration
347
+ debug: cliOptions?.debug ??
348
+ (process.env.AI_CODE_REVIEW_DEBUG === 'true' ? true : undefined) ??
349
+ configFile?.behavior?.debug ??
350
+ configFile?.system?.debug ??
351
+ false,
352
+ logLevel: cliOptions?.logLevel ||
353
+ process.env.AI_CODE_REVIEW_LOG_LEVEL ||
354
+ configFile?.behavior?.log_level ||
355
+ configFile?.system?.log_level ||
356
+ 'info',
357
+ interactive: cliOptions?.interactive ??
358
+ (process.env.AI_CODE_REVIEW_INTERACTIVE === 'true' ? true : undefined) ??
359
+ configFile?.behavior?.interactive ??
360
+ configFile?.review?.interactive ??
361
+ false,
362
+ // Review features
363
+ includeTests: cliOptions?.includeTests ??
364
+ (process.env.AI_CODE_REVIEW_INCLUDE_TESTS === 'true' ? true : undefined) ??
365
+ configFile?.features?.include_tests ??
366
+ configFile?.review?.include_tests ??
367
+ false,
368
+ includeProjectDocs: cliOptions?.includeProjectDocs ??
369
+ (process.env.AI_CODE_REVIEW_INCLUDE_PROJECT_DOCS === 'true' ? true : undefined) ??
370
+ configFile?.features?.include_project_docs ??
371
+ configFile?.review?.include_project_docs ??
372
+ true,
373
+ includeDependencyAnalysis: cliOptions?.includeDependencyAnalysis ??
374
+ (process.env.AI_CODE_REVIEW_INCLUDE_DEPENDENCY_ANALYSIS === 'true' ? true : undefined) ??
375
+ configFile?.features?.include_dependency_analysis ??
376
+ configFile?.review?.include_dependency_analysis ??
377
+ true,
378
+ // Multi-pass configuration
379
+ multiPass: cliOptions?.multiPass ??
380
+ (process.env.AI_CODE_REVIEW_MULTI_PASS === 'true' ? true : undefined) ??
381
+ configFile?.features?.multi_pass ??
382
+ false,
383
+ forceSinglePass: cliOptions?.forceSinglePass ??
384
+ (process.env.AI_CODE_REVIEW_FORCE_SINGLE_PASS === 'true' ? true : undefined) ??
385
+ configFile?.features?.force_single_pass ??
386
+ false,
387
+ contextMaintenanceFactor: cliOptions?.contextMaintenanceFactor ??
388
+ toOptionalNumber(process.env.AI_CODE_REVIEW_CONTEXT_MAINTENANCE_FACTOR) ??
389
+ 0.15,
390
+ // Advanced features
391
+ testApi: cliOptions?.testApi ??
392
+ (process.env.AI_CODE_REVIEW_TEST_API === 'true' ? true : undefined) ??
393
+ configFile?.api?.test_api ??
394
+ false,
395
+ estimate: cliOptions?.estimate ??
396
+ (process.env.AI_CODE_REVIEW_ESTIMATE === 'true' ? true : undefined) ??
397
+ false,
398
+ noConfirm: cliOptions?.noConfirm ??
399
+ (process.env.AI_CODE_REVIEW_NO_CONFIRM === 'true' ? true : undefined) ??
400
+ !(configFile?.review?.confirm ?? true),
401
+ // Paths
402
+ contextPaths: undefined, // contextPaths is not available in CliOptions
403
+ configPath: cliOptions?.config,
404
+ // Coding test specific (from CLI options)
405
+ assignmentFile: cliOptions?.assignmentFile,
406
+ assignmentUrl: cliOptions?.assignmentUrl,
407
+ assignmentText: cliOptions?.assignmentText,
408
+ evaluationTemplate: cliOptions?.evaluationTemplate,
409
+ templateUrl: cliOptions?.templateUrl,
410
+ rubricFile: cliOptions?.rubricFile,
411
+ assessmentType: cliOptions?.assessmentType || 'coding-challenge',
412
+ difficultyLevel: cliOptions?.difficultyLevel || 'mid',
413
+ // Evaluation weights
414
+ weightCorrectness: cliOptions?.weightCorrectness ?? 30,
415
+ weightCodeQuality: cliOptions?.weightCodeQuality ?? 25,
416
+ weightArchitecture: cliOptions?.weightArchitecture ?? 20,
417
+ weightPerformance: cliOptions?.weightPerformance ?? 15,
418
+ weightTesting: cliOptions?.weightTesting ?? 10,
419
+ // Evaluation options
420
+ evaluateDocumentation: cliOptions?.evaluateDocumentation ?? false,
421
+ evaluateGitHistory: cliOptions?.evaluateGitHistory ?? false,
422
+ evaluateEdgeCases: cliOptions?.evaluateEdgeCases ?? false,
423
+ evaluateErrorHandling: cliOptions?.evaluateErrorHandling ?? false,
424
+ // Scoring system
425
+ scoringSystem: cliOptions?.scoringSystem || 'numeric',
426
+ maxScore: cliOptions?.maxScore ?? 100,
427
+ passingThreshold: cliOptions?.passingThreshold ?? 70,
428
+ scoreBreakdown: cliOptions?.scoreBreakdown ?? true,
429
+ // Feedback configuration
430
+ feedbackLevel: cliOptions?.feedbackLevel || 'detailed',
431
+ includeExamples: cliOptions?.includeExamples ?? true,
432
+ includeSuggestions: cliOptions?.includeSuggestions ?? true,
433
+ includeResources: cliOptions?.includeResources ?? false,
434
+ // AI detection
435
+ enableAiDetection: cliOptions?.enableAiDetection ?? false,
436
+ aiDetectionThreshold: cliOptions?.aiDetectionThreshold ?? 0.7,
437
+ aiDetectionAnalyzers: cliOptions?.aiDetectionAnalyzers || 'git,documentation',
438
+ aiDetectionIncludeInReport: cliOptions?.aiDetectionIncludeInReport ?? true,
439
+ aiDetectionFailOnDetection: cliOptions?.aiDetectionFailOnDetection ?? false,
440
+ // Constraints
441
+ allowedLibraries: cliOptions?.allowedLibraries,
442
+ forbiddenPatterns: cliOptions?.forbiddenPatterns,
443
+ nodeVersion: cliOptions?.nodeVersion,
444
+ typescriptVersion: cliOptions?.typescriptVersion,
445
+ memoryLimit: cliOptions?.memoryLimit,
446
+ executionTimeout: cliOptions?.executionTimeout,
447
+ timeLimit: cliOptions?.timeLimit,
448
+ // Diagram generation
449
+ diagram: cliOptions?.diagram ?? false,
450
+ // Batch processing
451
+ batchTokenLimit: cliOptions?.batchTokenLimit,
452
+ };
453
+ }
454
+ /**
455
+ * Get API key from environment variables (OpenRouter only)
456
+ */
457
+ getApiKey(provider) {
458
+ if (provider === 'openrouter') {
459
+ return process.env.AI_CODE_REVIEW_OPENROUTER_API_KEY || process.env.OPENROUTER_API_KEY;
460
+ }
461
+ return undefined;
462
+ }
463
+ }
464
+ exports.ConfigurationService = ConfigurationService;
465
+ // Export singleton instance for easy access
466
+ exports.configurationService = ConfigurationService.getInstance();
467
+ // Export convenience functions for backward compatibility
468
+ function getConfig(cliOptions) {
469
+ return exports.configurationService.getConfig(cliOptions);
470
+ }
471
+ function resetConfig() {
472
+ exports.configurationService.resetConfig();
473
+ }
474
+ function hasAnyApiKey(config) {
475
+ return exports.configurationService.hasAnyApiKey(config);
476
+ }
477
+ //# sourceMappingURL=ConfigurationService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigurationService.js","sourceRoot":"","sources":["../../src/core/ConfigurationService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * @fileoverview Consolidation Service for Multi-Pass Reviews
3
+ *
4
+ * This service handles the consolidation of multi-pass review results into
5
+ * a single cohesive report. It manages both AI-powered consolidation and
6
+ * fallback consolidation when AI services are unavailable.
7
+ */
8
+ import type { ReviewResult } from '../types/review';
9
+ import type { ApiClientConfig } from './ApiClientSelector';
10
+ /**
11
+ * Service for consolidating multi-pass review results
12
+ */
13
+ export declare class ConsolidationService {
14
+ /**
15
+ * Generate a consolidated report from multi-pass review results
16
+ * @param multiPassResult Combined result from all passes
17
+ * @param apiClientConfig API client configuration
18
+ * @param options Consolidation options
19
+ * @returns Promise resolving to consolidated content
20
+ */
21
+ generateConsolidatedReport(multiPassResult: ReviewResult, apiClientConfig: ApiClientConfig, options: {
22
+ projectName: string;
23
+ modelName: string;
24
+ totalPasses: number;
25
+ passResults: ReviewResult[];
26
+ }): Promise<string>;
27
+ /**
28
+ * Attempt AI-powered consolidation
29
+ * @param multiPassResult Combined result from all passes
30
+ * @param apiClientConfig API client configuration
31
+ * @param options Consolidation options
32
+ * @returns Promise resolving to consolidated content or null if failed
33
+ */
34
+ private attemptAiConsolidation;
35
+ /**
36
+ * Creates an enhanced fallback consolidation with better error handling
37
+ * @param multiPassResult The combined result from all passes
38
+ * @param modelName The model name used for the review
39
+ * @param options Additional consolidation options
40
+ * @returns Enhanced fallback consolidation content
41
+ */
42
+ private createEnhancedFallbackConsolidation;
43
+ /**
44
+ * Creates a basic fallback consolidation when AI consolidation fails
45
+ * @param multiPassResult The combined result from all passes
46
+ * @param modelName The model name used for the review
47
+ * @returns Basic fallback consolidation content
48
+ */
49
+ private createFallbackConsolidation;
50
+ /**
51
+ * Extract findings from valid passes
52
+ * @param passResults Array of pass results
53
+ * @returns Categorized findings
54
+ */
55
+ private extractFindingsFromPasses;
56
+ /**
57
+ * Extract individual issue texts from content
58
+ * @param content Review content
59
+ * @returns Array of issue descriptions
60
+ */
61
+ private extractIssueTexts;
62
+ /**
63
+ * Check if an issue is high priority
64
+ * @param issue Issue text (lowercase)
65
+ * @returns True if high priority
66
+ */
67
+ private isHighPriority;
68
+ /**
69
+ * Check if an issue is medium priority
70
+ * @param issue Issue text (lowercase)
71
+ * @returns True if medium priority
72
+ */
73
+ private isMediumPriority;
74
+ /**
75
+ * Calculate overall grade based on findings
76
+ * @param findings Categorized findings
77
+ * @returns Overall grade string
78
+ */
79
+ private calculateOverallGrade;
80
+ /**
81
+ * Generate recommendations based on findings
82
+ * @param findings Categorized findings
83
+ * @param hasErrors Whether there are compilation errors
84
+ * @returns Array of recommendation strings
85
+ */
86
+ private generateRecommendations;
87
+ /**
88
+ * Format findings for display
89
+ * @param findings Categorized findings
90
+ * @returns Formatted findings string
91
+ */
92
+ private formatFindings;
93
+ /**
94
+ * Generate a summary of all passes
95
+ * @param passResults Array of pass results
96
+ * @returns Pass summary string
97
+ */
98
+ private generatePassSummary;
99
+ }