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,24 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Client implementations for various AI providers.
4
+ *
5
+ * This module serves as the main entry point for client implementations,
6
+ * exporting all client classes.
7
+ */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
20
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
21
+ };
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ __exportStar(require("./openRouterClient"), exports);
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/clients/implementations/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;AAEH,qDAAmC"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * @fileoverview OpenRouter client implementation using the abstract client interface.
3
+ *
4
+ * This module implements the OpenRouter client using the abstract client base class.
5
+ * It provides functionality for interacting with OpenRouter's API, which gives access
6
+ * to a variety of AI models from different providers.
7
+ */
8
+ import type { FileInfo, ReviewOptions, ReviewResult, ReviewType } from '../../types/review';
9
+ import type { ProjectDocs } from '../../utils/projectDocs';
10
+ import { AbstractClient } from '../base';
11
+ /**
12
+ * OpenRouter client implementation
13
+ */
14
+ export declare class OpenRouterClient extends AbstractClient {
15
+ protected apiKey: string | undefined;
16
+ /**
17
+ * Initialize with default values
18
+ */
19
+ constructor();
20
+ /**
21
+ * Check if the provided model name is supported by this client
22
+ * @param modelName The full model name (potentially with provider prefix)
23
+ * @returns Object indicating if this is the correct client for the model
24
+ */
25
+ isModelSupported(modelName: string): {
26
+ isCorrect: boolean;
27
+ adapter: string;
28
+ modelName: string;
29
+ };
30
+ /**
31
+ * Get the provider name for this client
32
+ * @returns The provider name
33
+ */
34
+ protected getProviderName(): string;
35
+ /**
36
+ * Initialize the OpenRouter client
37
+ * @returns Promise resolving to a boolean indicating success
38
+ */
39
+ initialize(): Promise<boolean>;
40
+ /**
41
+ * Generate a review for a single file
42
+ * @param fileContent Content of the file to review
43
+ * @param filePath Path to the file
44
+ * @param reviewType Type of review to perform
45
+ * @param projectDocs Optional project documentation
46
+ * @param options Review options
47
+ * @returns Promise resolving to the review result
48
+ */
49
+ generateReview(fileContent: string, filePath: string, reviewType: ReviewType, projectDocs?: ProjectDocs | null, options?: ReviewOptions): Promise<ReviewResult>;
50
+ /**
51
+ * Generate a consolidated review for multiple files
52
+ * @param files Array of file information objects
53
+ * @param projectName Name of the project
54
+ * @param reviewType Type of review to perform
55
+ * @param projectDocs Optional project documentation
56
+ * @param options Review options
57
+ * @returns Promise resolving to the review result
58
+ */
59
+ generateConsolidatedReview(files: FileInfo[], projectName: string, reviewType: ReviewType, projectDocs?: ProjectDocs | null, options?: ReviewOptions): Promise<ReviewResult>;
60
+ /**
61
+ * Generate an architectural review for a project
62
+ * @param files Array of file information objects
63
+ * @param projectName Name of the project
64
+ * @param projectDocs Optional project documentation
65
+ * @param options Review options
66
+ * @returns Promise resolving to the review result
67
+ */
68
+ generateArchitecturalReview(files: FileInfo[], projectName: string, projectDocs?: ProjectDocs | null, options?: ReviewOptions): Promise<ReviewResult>;
69
+ }
@@ -0,0 +1,294 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview OpenRouter client implementation using the abstract client interface.
4
+ *
5
+ * This module implements the OpenRouter client using the abstract client base class.
6
+ * It provides functionality for interacting with OpenRouter's API, which gives access
7
+ * to a variety of AI models from different providers.
8
+ */
9
+ var __importDefault = (this && this.__importDefault) || function (mod) {
10
+ return (mod && mod.__esModule) ? mod : { "default": mod };
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.OpenRouterClient = void 0;
14
+ const logger_1 = __importDefault(require("../../utils/logger"));
15
+ const base_1 = require("../base");
16
+ const promptFormatter_1 = require("../utils/promptFormatter");
17
+ const promptLoader_1 = require("../utils/promptLoader");
18
+ // import { getLanguageFromExtension } from '../utils/languageDetection'; // Not used in this implementation
19
+ const MAX_TOKENS_PER_REQUEST = 4000;
20
+ /**
21
+ * OpenRouter client implementation
22
+ */
23
+ class OpenRouterClient extends base_1.AbstractClient {
24
+ apiKey;
25
+ /**
26
+ * Initialize with default values
27
+ */
28
+ constructor() {
29
+ super();
30
+ this.modelName = '';
31
+ this.isInitialized = false;
32
+ this.apiKey = process.env.AI_CODE_REVIEW_OPENROUTER_API_KEY;
33
+ }
34
+ /**
35
+ * Check if the provided model name is supported by this client
36
+ * @param modelName The full model name (potentially with provider prefix)
37
+ * @returns Object indicating if this is the correct client for the model
38
+ */
39
+ isModelSupported(modelName) {
40
+ return (0, base_1.detectModelProvider)('openrouter', modelName);
41
+ }
42
+ /**
43
+ * Get the provider name for this client
44
+ * @returns The provider name
45
+ */
46
+ getProviderName() {
47
+ return 'openrouter';
48
+ }
49
+ /**
50
+ * Initialize the OpenRouter client
51
+ * @returns Promise resolving to a boolean indicating success
52
+ */
53
+ async initialize() {
54
+ // If already initialized, return true
55
+ if (this.isInitialized) {
56
+ return true;
57
+ }
58
+ // Get model information - clean the model name to handle malformed input
59
+ const rawModel = process.env.AI_CODE_REVIEW_MODEL || '';
60
+ const cleanedModel = rawModel.replace(/['"``]/g, '').trim();
61
+ const { isCorrect, modelName } = this.isModelSupported(cleanedModel);
62
+ // If this is not an OpenRouter model, just return true without initializing
63
+ if (!isCorrect) {
64
+ return true;
65
+ }
66
+ // Set the model name
67
+ this.modelName = modelName;
68
+ // Validate the API key
69
+ if (!(0, base_1.validateApiKey)('openrouter', 'AI_CODE_REVIEW_OPENROUTER_API_KEY')) {
70
+ process.exit(1);
71
+ }
72
+ try {
73
+ logger_1.default.info(`Initializing OpenRouter model: ${this.modelName}...`);
74
+ // Mark as initialized
75
+ this.isInitialized = true;
76
+ logger_1.default.info(`Successfully initialized OpenRouter model: ${this.modelName}`);
77
+ return true;
78
+ }
79
+ catch (error) {
80
+ logger_1.default.error(`Error initializing OpenRouter model ${this.modelName}: ${error instanceof Error ? error.message : String(error)}`);
81
+ return false;
82
+ }
83
+ }
84
+ /**
85
+ * Generate a review for a single file
86
+ * @param fileContent Content of the file to review
87
+ * @param filePath Path to the file
88
+ * @param reviewType Type of review to perform
89
+ * @param projectDocs Optional project documentation
90
+ * @param options Review options
91
+ * @returns Promise resolving to the review result
92
+ */
93
+ async generateReview(fileContent, filePath, reviewType, projectDocs, options) {
94
+ // During consolidation, the model may have been overridden.
95
+ // If we're already initialized with a valid model, trust that initialization was correct.
96
+ // Only check the environment if we're not initialized.
97
+ if (!this.isInitialized) {
98
+ // If not initialized, check against the current environment variable
99
+ const rawModel = process.env.AI_CODE_REVIEW_MODEL || '';
100
+ // Clean the model name to handle malformed input (quotes, backticks, whitespace)
101
+ const currentModel = rawModel.replace(/['"``]/g, '').trim();
102
+ const { isCorrect } = this.isModelSupported(currentModel);
103
+ // Make sure this is the correct client
104
+ if (!isCorrect) {
105
+ logger_1.default.error(`[OpenRouter] Invalid model for OpenRouter client: ${currentModel} (original: ${rawModel})`);
106
+ throw new Error(`OpenRouter client was called with an invalid model: ${currentModel}. This is likely a bug in the client selection logic.`);
107
+ }
108
+ // Initialize if this is the correct client
109
+ await this.initialize();
110
+ }
111
+ // At this point we should be initialized with a valid model
112
+ if (!this.modelName) {
113
+ logger_1.default.error(`[OpenRouter] Client is initialized but has no model name`);
114
+ throw new Error(`OpenRouter client is in an invalid state: initialized but no model name`);
115
+ }
116
+ try {
117
+ // Get the language from file extension
118
+ // const language = getLanguageFromExtension(filePath); // Currently unused
119
+ // Load the appropriate prompt template
120
+ const promptTemplate = await (0, promptLoader_1.loadPromptTemplate)(reviewType, options);
121
+ // Format the prompt
122
+ const prompt = (0, promptFormatter_1.formatSingleFileReviewPrompt)(promptTemplate, fileContent, filePath, projectDocs, options?.runContext);
123
+ try {
124
+ logger_1.default.info(`Generating review with OpenRouter ${this.modelName}...`);
125
+ // Make the API request
126
+ const response = await (0, base_1.fetchWithRetry)('https://openrouter.ai/api/v1/chat/completions', {
127
+ method: 'POST',
128
+ headers: {
129
+ 'Content-Type': 'application/json',
130
+ Authorization: `Bearer ${this.apiKey}`,
131
+ 'HTTP-Referer': 'https://cr-aia.app', // Required by OpenRouter
132
+ 'X-Title': 'cr-aia', // Optional for OpenRouter stats
133
+ },
134
+ body: JSON.stringify({
135
+ model: this.modelName,
136
+ messages: [
137
+ {
138
+ role: 'user',
139
+ content: prompt,
140
+ },
141
+ ],
142
+ temperature: 0.2,
143
+ // For consolidation, don't limit tokens to avoid truncation
144
+ ...(options?.isConsolidation ? {} : { max_tokens: MAX_TOKENS_PER_REQUEST }),
145
+ }),
146
+ });
147
+ const data = await response.json();
148
+ if (!Array.isArray(data.choices) || !data.choices[0]?.message?.content) {
149
+ throw new Error(`Invalid response format from OpenRouter ${this.modelName}`);
150
+ }
151
+ const content = data.choices[0].message.content;
152
+ // Check for truncated response
153
+ const usage = data.usage;
154
+ if (usage && usage.completion_tokens < 50) {
155
+ logger_1.default.warn(`Response appears truncated - only ${usage.completion_tokens} output tokens generated. ` +
156
+ `This may indicate an API issue with model ${this.modelName}.`);
157
+ // If response is truncated and appears to be incomplete JSON
158
+ if (content.trim().startsWith('{') && !content.includes('}')) {
159
+ const errorMessage = `The AI model response was truncated and incomplete. ` +
160
+ `Only ${usage.completion_tokens} tokens were generated instead of the expected response. ` +
161
+ `This is likely an issue with the OpenRouter API or the ${this.modelName} model. ` +
162
+ `Please try again or use a different model.`;
163
+ logger_1.default.error(`Truncated response detected: ${content.substring(0, 100)}...`);
164
+ throw new Error(errorMessage);
165
+ }
166
+ }
167
+ // Log response details for debugging
168
+ if (usage) {
169
+ logger_1.default.debug(`OpenRouter response stats - Input tokens: ${usage.prompt_tokens}, ` +
170
+ `Output tokens: ${usage.completion_tokens}, Total: ${usage.total_tokens}`);
171
+ }
172
+ logger_1.default.info(`Successfully generated review with OpenRouter ${this.modelName}`);
173
+ // Create and return the review result
174
+ return (0, base_1.createStandardReviewResult)(content, prompt, this.getFullModelName(), filePath, reviewType, options);
175
+ }
176
+ catch (error) {
177
+ throw (0, base_1.handleApiError)(error, 'generate review', this.getFullModelName());
178
+ }
179
+ }
180
+ catch (error) {
181
+ this.handleApiError(error, 'generating review', filePath);
182
+ }
183
+ }
184
+ /**
185
+ * Generate a consolidated review for multiple files
186
+ * @param files Array of file information objects
187
+ * @param projectName Name of the project
188
+ * @param reviewType Type of review to perform
189
+ * @param projectDocs Optional project documentation
190
+ * @param options Review options
191
+ * @returns Promise resolving to the review result
192
+ */
193
+ async generateConsolidatedReview(files, projectName, reviewType, projectDocs, options) {
194
+ // During consolidation, the model may have been overridden. We should check if we're already initialized
195
+ // with a valid model rather than checking the current environment variable.
196
+ if (!this.isInitialized || !this.modelName) {
197
+ // If not initialized, check against the current environment variable
198
+ const { isCorrect } = this.isModelSupported(process.env.AI_CODE_REVIEW_MODEL || '');
199
+ // Make sure this is the correct client
200
+ if (!isCorrect) {
201
+ throw new Error(`OpenRouter client was called with an invalid model. This is likely a bug in the client selection logic.`);
202
+ }
203
+ }
204
+ // If we're already initialized with a model, trust that initialization was correct
205
+ try {
206
+ // Initialize if needed
207
+ if (!this.isInitialized) {
208
+ await this.initialize();
209
+ }
210
+ // Load the appropriate prompt template
211
+ const promptTemplate = await (0, promptLoader_1.loadPromptTemplate)(reviewType, options);
212
+ // Format the prompt
213
+ const prompt = (0, promptFormatter_1.formatConsolidatedReviewPrompt)(promptTemplate, projectName, files.map((file) => ({
214
+ relativePath: file.relativePath || '',
215
+ content: file.content,
216
+ sizeInBytes: file.content.length,
217
+ })), projectDocs, options?.runContext);
218
+ try {
219
+ logger_1.default.info(`Generating consolidated review with OpenRouter ${this.modelName}...`);
220
+ // Make the API request
221
+ const response = await (0, base_1.fetchWithRetry)('https://openrouter.ai/api/v1/chat/completions', {
222
+ method: 'POST',
223
+ headers: {
224
+ 'Content-Type': 'application/json',
225
+ Authorization: `Bearer ${this.apiKey}`,
226
+ 'HTTP-Referer': 'https://cr-aia.app', // Required by OpenRouter
227
+ 'X-Title': 'cr-aia', // Optional for OpenRouter stats
228
+ },
229
+ body: JSON.stringify({
230
+ model: this.modelName,
231
+ messages: [
232
+ {
233
+ role: 'user',
234
+ content: prompt,
235
+ },
236
+ ],
237
+ temperature: 0.2,
238
+ // For consolidated reviews, don't limit tokens to avoid truncation
239
+ // max_tokens is omitted to allow unlimited output
240
+ }),
241
+ });
242
+ const data = await response.json();
243
+ if (!Array.isArray(data.choices) || !data.choices[0]?.message?.content) {
244
+ throw new Error(`Invalid response format from OpenRouter ${this.modelName}`);
245
+ }
246
+ const content = data.choices[0].message.content;
247
+ // Check for truncated response
248
+ const usage = data.usage;
249
+ if (usage && usage.completion_tokens < 50) {
250
+ logger_1.default.warn(`Response appears truncated - only ${usage.completion_tokens} output tokens generated. ` +
251
+ `This may indicate an API issue with model ${this.modelName}.`);
252
+ // If response is truncated and appears to be incomplete JSON
253
+ if (content.trim().startsWith('{') && !content.includes('}')) {
254
+ const errorMessage = `The AI model response was truncated and incomplete. ` +
255
+ `Only ${usage.completion_tokens} tokens were generated instead of the expected response. ` +
256
+ `This is likely an issue with the OpenRouter API or the ${this.modelName} model. ` +
257
+ `Please try again or use a different model.`;
258
+ logger_1.default.error(`Truncated response detected: ${content.substring(0, 100)}...`);
259
+ throw new Error(errorMessage);
260
+ }
261
+ }
262
+ // Log response details for debugging
263
+ if (usage) {
264
+ logger_1.default.debug(`OpenRouter response stats - Input tokens: ${usage.prompt_tokens}, ` +
265
+ `Output tokens: ${usage.completion_tokens}, Total: ${usage.total_tokens}`);
266
+ }
267
+ logger_1.default.info(`Successfully generated consolidated review with OpenRouter ${this.modelName}`);
268
+ // Create and return the review result
269
+ return (0, base_1.createStandardReviewResult)(content, prompt, this.getFullModelName(), 'consolidated', reviewType, options);
270
+ }
271
+ catch (error) {
272
+ throw (0, base_1.handleApiError)(error, 'generate consolidated review', this.getFullModelName());
273
+ }
274
+ }
275
+ catch (error) {
276
+ this.handleApiError(error, 'generating consolidated review', projectName);
277
+ }
278
+ }
279
+ /**
280
+ * Generate an architectural review for a project
281
+ * @param files Array of file information objects
282
+ * @param projectName Name of the project
283
+ * @param projectDocs Optional project documentation
284
+ * @param options Review options
285
+ * @returns Promise resolving to the review result
286
+ */
287
+ async generateArchitecturalReview(files, projectName, projectDocs, options) {
288
+ // For OpenRouter, architectural reviews are handled by the consolidated review function
289
+ // with the review type set to 'architectural'
290
+ return this.generateConsolidatedReview(files, projectName, 'architectural', projectDocs, options);
291
+ }
292
+ }
293
+ exports.OpenRouterClient = OpenRouterClient;
294
+ //# sourceMappingURL=openRouterClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openRouterClient.js","sourceRoot":"","sources":["../../../src/clients/implementations/openRouterClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * @fileoverview Client for interacting with the OpenRouter API.
3
+ *
4
+ * This module provides a client for interacting with OpenRouter's API, which gives
5
+ * access to a variety of AI models from different providers. It handles API key
6
+ * management, request formatting, response processing, rate limiting, error handling,
7
+ * and cost estimation for code reviews.
8
+ *
9
+ * Key features:
10
+ * - Support for various models through OpenRouter (Claude, GPT-4, etc.)
11
+ * - Streaming and non-streaming responses
12
+ * - Robust error handling and rate limit management
13
+ * - Cost estimation for API usage
14
+ * - Support for different review types
15
+ */
16
+ import type { FileInfo, ReviewOptions, ReviewResult, ReviewType } from '../types/review';
17
+ import type { ProjectDocs } from '../utils/projectDocs';
18
+ /**
19
+ * Initialize the OpenRouter client
20
+ * @returns Promise resolving to a boolean indicating if initialization was successful
21
+ */
22
+ export declare function initializeAnyOpenRouterModel(): Promise<boolean>;
23
+ /**
24
+ * Generate a code review using the OpenRouter API
25
+ * @param fileContent Content of the file to review
26
+ * @param filePath Path to the file
27
+ * @param reviewType Type of review to perform
28
+ * @param projectDocs Optional project documentation
29
+ * @param options Review options
30
+ * @returns Promise resolving to the review result
31
+ */
32
+ export declare function generateOpenRouterReview(fileContent: string, filePath: string, reviewType: ReviewType, projectDocs?: ProjectDocs | null, options?: ReviewOptions): Promise<ReviewResult>;
33
+ /**
34
+ * Generate a consolidated review for multiple files
35
+ * @param files Array of file information objects
36
+ * @param projectName Name of the project
37
+ * @param reviewType Type of review to perform
38
+ * @param projectDocs Optional project documentation
39
+ * @param options Review options
40
+ * @returns Promise resolving to the review result
41
+ */
42
+ export declare function generateOpenRouterConsolidatedReview(files: FileInfo[], projectName: string, reviewType: ReviewType, projectDocs?: ProjectDocs | null, options?: ReviewOptions): Promise<ReviewResult>;