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,516 @@
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
+ // WordPress integration
158
+ wordpressAutoDetect: zod_1.z.boolean().default(true),
159
+ wordpressForceEnable: zod_1.z.boolean().default(false),
160
+ wordpressForceDisable: zod_1.z.boolean().default(false),
161
+ wordpressPhpcsEnabled: zod_1.z.boolean().default(true),
162
+ wordpressPhpcsPath: zod_1.z.string().optional(),
163
+ wordpressPhpcsStandard: zod_1.z.string().optional(),
164
+ wordpressPhpcsTestVersion: zod_1.z.string().optional(),
165
+ });
166
+ /**
167
+ * Unified Configuration Service
168
+ *
169
+ * This class provides a single source of truth for all configuration management.
170
+ * It handles loading from CLI arguments, environment variables, and config files
171
+ * with a clear precedence order.
172
+ */
173
+ class ConfigurationService {
174
+ static instance = null;
175
+ config = null;
176
+ constructor() { }
177
+ /**
178
+ * Get the singleton instance of the configuration service
179
+ */
180
+ static getInstance() {
181
+ if (!ConfigurationService.instance) {
182
+ ConfigurationService.instance = new ConfigurationService();
183
+ }
184
+ return ConfigurationService.instance;
185
+ }
186
+ /**
187
+ * Get the current configuration
188
+ * @param cliOptions Optional CLI options to override configuration
189
+ * @returns The validated configuration object
190
+ */
191
+ getConfig(cliOptions) {
192
+ if (!this.config || cliOptions) {
193
+ this.config = this.buildConfiguration(cliOptions);
194
+ }
195
+ return this.config;
196
+ }
197
+ /**
198
+ * Reset the configuration (useful for testing)
199
+ */
200
+ resetConfig() {
201
+ this.config = null;
202
+ }
203
+ /**
204
+ * Check if any API key is available
205
+ */
206
+ hasAnyApiKey(config) {
207
+ const cfg = config || this.getConfig();
208
+ return !!cfg.openRouterApiKey;
209
+ }
210
+ /**
211
+ * Get paths configuration
212
+ */
213
+ getPathsConfig() {
214
+ const config = this.getConfig();
215
+ const promptsDir = (0, promptPaths_1.resolvePromptTemplatesDir)();
216
+ return {
217
+ outputDir: config.outputDir || 'cr-aia-docs',
218
+ promptsDir,
219
+ templatesDir: promptsDir,
220
+ contextPaths: config.contextPaths,
221
+ };
222
+ }
223
+ /**
224
+ * Get application config (for backward compatibility)
225
+ */
226
+ getApplicationConfig() {
227
+ const config = this.getConfig();
228
+ return {
229
+ selectedModel: {
230
+ value: config.model,
231
+ source: 'configuration_service',
232
+ },
233
+ openRouterApiKey: config.openRouterApiKey
234
+ ? {
235
+ value: config.openRouterApiKey,
236
+ source: 'environment',
237
+ }
238
+ : undefined,
239
+ debug: {
240
+ value: config.debug,
241
+ source: 'configuration_service',
242
+ },
243
+ logLevel: {
244
+ value: config.logLevel,
245
+ source: 'configuration_service',
246
+ },
247
+ outputDir: {
248
+ value: config.outputDir,
249
+ source: 'configuration_service',
250
+ },
251
+ };
252
+ }
253
+ /**
254
+ * Build the configuration from all sources with proper precedence
255
+ */
256
+ buildConfiguration(cliOptions) {
257
+ // 1. Load environment variables from .env.local
258
+ this.loadEnvironmentVariables();
259
+ // 2. Load configuration file
260
+ const configFile = this.loadConfigFile(cliOptions?.config);
261
+ // 3. Build configuration with precedence: CLI > Environment > Config File > Defaults
262
+ const rawConfig = this.mergeConfigurationSources(cliOptions, configFile);
263
+ // 4. Validate and return the configuration
264
+ try {
265
+ return ConfigSchema.parse(rawConfig);
266
+ }
267
+ catch (error) {
268
+ logger_1.default.error('Configuration validation failed:', error);
269
+ throw new Error(`Invalid configuration: ${error}`);
270
+ }
271
+ }
272
+ /**
273
+ * Load environment variables from .env.local file
274
+ */
275
+ loadEnvironmentVariables() {
276
+ const envLocalPath = node_path_1.default.join(process.cwd(), '.env.local');
277
+ if (node_fs_1.default.existsSync(envLocalPath)) {
278
+ try {
279
+ dotenv.config({ path: envLocalPath, override: true });
280
+ logger_1.default.debug(`Loaded environment variables from ${envLocalPath}`);
281
+ }
282
+ catch (error) {
283
+ logger_1.default.warn(`Failed to load environment variables from ${envLocalPath}:`, error);
284
+ }
285
+ }
286
+ }
287
+ /**
288
+ * Load configuration file (YAML or JSON)
289
+ */
290
+ loadConfigFile(configPath) {
291
+ const defaultConfigFiles = [
292
+ '.cr-aia.yml',
293
+ ];
294
+ const filesToTry = configPath ? [configPath] : defaultConfigFiles;
295
+ for (const filePath of filesToTry) {
296
+ const fullPath = node_path_1.default.resolve(filePath);
297
+ if (node_fs_1.default.existsSync(fullPath)) {
298
+ try {
299
+ const content = node_fs_1.default.readFileSync(fullPath, 'utf8');
300
+ const extension = node_path_1.default.extname(fullPath).toLowerCase();
301
+ let config;
302
+ if (extension === '.json') {
303
+ config = JSON.parse(content);
304
+ }
305
+ else if (extension === '.yaml' || extension === '.yml') {
306
+ // Use dynamic import for js-yaml
307
+ const yaml = require('js-yaml');
308
+ config = yaml.load(content);
309
+ }
310
+ else {
311
+ logger_1.default.warn(`Unsupported config file format: ${extension}`);
312
+ continue;
313
+ }
314
+ logger_1.default.debug(`Loaded configuration from ${fullPath}`);
315
+ return config;
316
+ }
317
+ catch (error) {
318
+ logger_1.default.error(`Failed to load config file ${fullPath}:`, error);
319
+ if (configPath) {
320
+ throw error; // If explicitly specified, throw the error
321
+ }
322
+ }
323
+ }
324
+ }
325
+ return null;
326
+ }
327
+ /**
328
+ * Merge configuration from all sources with proper precedence
329
+ */
330
+ mergeConfigurationSources(cliOptions, configFile) {
331
+ return {
332
+ // API Keys (OpenRouter only, environment only, not exposed via CLI for security)
333
+ openRouterApiKey: this.getApiKey('openrouter'),
334
+ // Model configuration
335
+ model: cliOptions?.model ||
336
+ process.env.AI_CODE_REVIEW_MODEL ||
337
+ configFile?.model?.default ||
338
+ configFile?.api?.model ||
339
+ 'openrouter:anthropic/claude-3-opus-20240229',
340
+ writerModel: cliOptions?.writerModel ||
341
+ process.env.AI_CODE_REVIEW_WRITER_MODEL ||
342
+ configFile?.model?.writer ||
343
+ configFile?.api?.writer_model,
344
+ // Output configuration
345
+ outputDir: cliOptions?.outputDir ||
346
+ process.env.AI_CODE_REVIEW_OUTPUT_DIR ||
347
+ configFile?.output?.directory ||
348
+ configFile?.output?.dir ||
349
+ 'cr-aia-docs',
350
+ outputFormat: cliOptions?.output ||
351
+ process.env.AI_CODE_REVIEW_OUTPUT_FORMAT ||
352
+ configFile?.output?.format ||
353
+ 'markdown',
354
+ // Behavior configuration
355
+ debug: cliOptions?.debug ??
356
+ (process.env.AI_CODE_REVIEW_DEBUG === 'true' ? true : undefined) ??
357
+ configFile?.behavior?.debug ??
358
+ configFile?.system?.debug ??
359
+ false,
360
+ logLevel: cliOptions?.logLevel ||
361
+ process.env.AI_CODE_REVIEW_LOG_LEVEL ||
362
+ configFile?.behavior?.log_level ||
363
+ configFile?.system?.log_level ||
364
+ 'info',
365
+ interactive: cliOptions?.interactive ??
366
+ (process.env.AI_CODE_REVIEW_INTERACTIVE === 'true' ? true : undefined) ??
367
+ configFile?.behavior?.interactive ??
368
+ configFile?.review?.interactive ??
369
+ false,
370
+ // Review features
371
+ includeTests: cliOptions?.includeTests ??
372
+ (process.env.AI_CODE_REVIEW_INCLUDE_TESTS === 'true' ? true : undefined) ??
373
+ configFile?.features?.include_tests ??
374
+ configFile?.review?.include_tests ??
375
+ false,
376
+ includeProjectDocs: cliOptions?.includeProjectDocs ??
377
+ (process.env.AI_CODE_REVIEW_INCLUDE_PROJECT_DOCS === 'true' ? true : undefined) ??
378
+ configFile?.features?.include_project_docs ??
379
+ configFile?.review?.include_project_docs ??
380
+ true,
381
+ includeDependencyAnalysis: cliOptions?.includeDependencyAnalysis ??
382
+ (process.env.AI_CODE_REVIEW_INCLUDE_DEPENDENCY_ANALYSIS === 'true' ? true : undefined) ??
383
+ configFile?.features?.include_dependency_analysis ??
384
+ configFile?.review?.include_dependency_analysis ??
385
+ true,
386
+ // Multi-pass configuration
387
+ multiPass: cliOptions?.multiPass ??
388
+ (process.env.AI_CODE_REVIEW_MULTI_PASS === 'true' ? true : undefined) ??
389
+ configFile?.features?.multi_pass ??
390
+ false,
391
+ forceSinglePass: cliOptions?.forceSinglePass ??
392
+ (process.env.AI_CODE_REVIEW_FORCE_SINGLE_PASS === 'true' ? true : undefined) ??
393
+ configFile?.features?.force_single_pass ??
394
+ false,
395
+ contextMaintenanceFactor: cliOptions?.contextMaintenanceFactor ??
396
+ toOptionalNumber(process.env.AI_CODE_REVIEW_CONTEXT_MAINTENANCE_FACTOR) ??
397
+ 0.15,
398
+ // Advanced features
399
+ testApi: cliOptions?.testApi ??
400
+ (process.env.AI_CODE_REVIEW_TEST_API === 'true' ? true : undefined) ??
401
+ configFile?.api?.test_api ??
402
+ false,
403
+ estimate: cliOptions?.estimate ??
404
+ (process.env.AI_CODE_REVIEW_ESTIMATE === 'true' ? true : undefined) ??
405
+ false,
406
+ noConfirm: cliOptions?.noConfirm ??
407
+ (process.env.AI_CODE_REVIEW_NO_CONFIRM === 'true' ? true : undefined) ??
408
+ !(configFile?.review?.confirm ?? true),
409
+ // Paths
410
+ contextPaths: undefined, // contextPaths is not available in CliOptions
411
+ configPath: cliOptions?.config,
412
+ // Coding test specific (from CLI options)
413
+ assignmentFile: cliOptions?.assignmentFile,
414
+ assignmentUrl: cliOptions?.assignmentUrl,
415
+ assignmentText: cliOptions?.assignmentText,
416
+ evaluationTemplate: cliOptions?.evaluationTemplate,
417
+ templateUrl: cliOptions?.templateUrl,
418
+ rubricFile: cliOptions?.rubricFile,
419
+ assessmentType: cliOptions?.assessmentType || 'coding-challenge',
420
+ difficultyLevel: cliOptions?.difficultyLevel || 'mid',
421
+ // Evaluation weights
422
+ weightCorrectness: cliOptions?.weightCorrectness ?? 30,
423
+ weightCodeQuality: cliOptions?.weightCodeQuality ?? 25,
424
+ weightArchitecture: cliOptions?.weightArchitecture ?? 20,
425
+ weightPerformance: cliOptions?.weightPerformance ?? 15,
426
+ weightTesting: cliOptions?.weightTesting ?? 10,
427
+ // Evaluation options
428
+ evaluateDocumentation: cliOptions?.evaluateDocumentation ?? false,
429
+ evaluateGitHistory: cliOptions?.evaluateGitHistory ?? false,
430
+ evaluateEdgeCases: cliOptions?.evaluateEdgeCases ?? false,
431
+ evaluateErrorHandling: cliOptions?.evaluateErrorHandling ?? false,
432
+ // Scoring system
433
+ scoringSystem: cliOptions?.scoringSystem || 'numeric',
434
+ maxScore: cliOptions?.maxScore ?? 100,
435
+ passingThreshold: cliOptions?.passingThreshold ?? 70,
436
+ scoreBreakdown: cliOptions?.scoreBreakdown ?? true,
437
+ // Feedback configuration
438
+ feedbackLevel: cliOptions?.feedbackLevel || 'detailed',
439
+ includeExamples: cliOptions?.includeExamples ?? true,
440
+ includeSuggestions: cliOptions?.includeSuggestions ?? true,
441
+ includeResources: cliOptions?.includeResources ?? false,
442
+ // AI detection
443
+ enableAiDetection: cliOptions?.enableAiDetection ?? false,
444
+ aiDetectionThreshold: cliOptions?.aiDetectionThreshold ?? 0.7,
445
+ aiDetectionAnalyzers: cliOptions?.aiDetectionAnalyzers || 'git,documentation',
446
+ aiDetectionIncludeInReport: cliOptions?.aiDetectionIncludeInReport ?? true,
447
+ aiDetectionFailOnDetection: cliOptions?.aiDetectionFailOnDetection ?? false,
448
+ // Constraints
449
+ allowedLibraries: cliOptions?.allowedLibraries,
450
+ forbiddenPatterns: cliOptions?.forbiddenPatterns,
451
+ nodeVersion: cliOptions?.nodeVersion,
452
+ typescriptVersion: cliOptions?.typescriptVersion,
453
+ memoryLimit: cliOptions?.memoryLimit,
454
+ executionTimeout: cliOptions?.executionTimeout,
455
+ timeLimit: cliOptions?.timeLimit,
456
+ // Diagram generation
457
+ diagram: cliOptions?.diagram ?? false,
458
+ // Batch processing
459
+ batchTokenLimit: cliOptions?.batchTokenLimit,
460
+ // WordPress integration
461
+ wordpressAutoDetect: (process.env.AI_CODE_REVIEW_WORDPRESS_AUTO_DETECT === 'false'
462
+ ? false
463
+ : process.env.AI_CODE_REVIEW_WORDPRESS_AUTO_DETECT === 'true'
464
+ ? true
465
+ : undefined) ?? configFile?.wordpress?.auto_detect ?? true,
466
+ wordpressForceEnable: cliOptions?.forceWordPress ??
467
+ (process.env.AI_CODE_REVIEW_FORCE_WORDPRESS === 'true' ? true : undefined) ??
468
+ configFile?.wordpress?.force_enable ??
469
+ false,
470
+ wordpressForceDisable: cliOptions?.disableWordPress ??
471
+ (process.env.AI_CODE_REVIEW_DISABLE_WORDPRESS === 'true' ? true : undefined) ??
472
+ configFile?.wordpress?.force_disable ??
473
+ false,
474
+ wordpressPhpcsEnabled: cliOptions?.wordpressPhpcsEnabled ??
475
+ (process.env.AI_CODE_REVIEW_WORDPRESS_PHPCS === 'false'
476
+ ? false
477
+ : process.env.AI_CODE_REVIEW_WORDPRESS_PHPCS === 'true'
478
+ ? true
479
+ : undefined) ??
480
+ configFile?.wordpress?.phpcs_enabled ??
481
+ true,
482
+ wordpressPhpcsPath: cliOptions?.wordpressPhpcsPath ||
483
+ process.env.AI_CODE_REVIEW_WORDPRESS_PHPCS_PATH ||
484
+ configFile?.wordpress?.phpcs_path,
485
+ wordpressPhpcsStandard: cliOptions?.wordpressPhpcsStandard ||
486
+ process.env.AI_CODE_REVIEW_WORDPRESS_PHPCS_STANDARD ||
487
+ configFile?.wordpress?.ruleset,
488
+ wordpressPhpcsTestVersion: cliOptions?.wordpressPhpcsTestVersion ||
489
+ process.env.AI_CODE_REVIEW_WORDPRESS_TEST_VERSION ||
490
+ configFile?.wordpress?.test_version,
491
+ };
492
+ }
493
+ /**
494
+ * Get API key from environment variables (OpenRouter only)
495
+ */
496
+ getApiKey(provider) {
497
+ if (provider === 'openrouter') {
498
+ return process.env.AI_CODE_REVIEW_OPENROUTER_API_KEY || process.env.OPENROUTER_API_KEY;
499
+ }
500
+ return undefined;
501
+ }
502
+ }
503
+ exports.ConfigurationService = ConfigurationService;
504
+ // Export singleton instance for easy access
505
+ exports.configurationService = ConfigurationService.getInstance();
506
+ // Export convenience functions for backward compatibility
507
+ function getConfig(cliOptions) {
508
+ return exports.configurationService.getConfig(cliOptions);
509
+ }
510
+ function resetConfig() {
511
+ exports.configurationService.resetConfig();
512
+ }
513
+ function hasAnyApiKey(config) {
514
+ return exports.configurationService.hasAnyApiKey(config);
515
+ }
516
+ //# 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
+ }