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
@@ -1,269 +0,0 @@
1
- /**
2
- * @fileoverview Utilities for formatting metadata sections in review outputs.
3
- *
4
- * This module provides functions to format metadata sections for review outputs,
5
- * including cost information, model details, and other metadata.
6
- */
7
-
8
- import type { PassCost, ReviewType } from '../../types/review';
9
- import { extractModelInfoFromString } from './ModelInfoExtractor';
10
-
11
- /**
12
- * Format a metadata section for a review
13
- * @param reviewType Type of review
14
- * @param timestamp Timestamp of the review
15
- * @param modelInfo Model information string
16
- * @param cost Cost information object
17
- * @param toolVersion Tool version
18
- * @param commandOptions Command options used
19
- * @param detectedLanguage Detected language
20
- * @param detectedFramework Detected framework
21
- * @param frameworkVersion Framework version
22
- * @param cssFrameworks CSS frameworks detected
23
- * @returns Formatted metadata section as markdown
24
- */
25
- export function formatMetadataSection(
26
- reviewType: string,
27
- timestamp: string,
28
- modelInfo: string,
29
- cost?: any,
30
- toolVersion?: string,
31
- commandOptions?: string,
32
- detectedLanguage?: string,
33
- detectedFramework?: string,
34
- frameworkVersion?: string,
35
- cssFrameworks?: Array<{ name: string; version?: string }>,
36
- ): string {
37
- // Extract model vendor and name from modelInfo
38
- const { modelVendor, modelName } = extractModelInfoFromString(modelInfo);
39
-
40
- // Format the date
41
- const formattedDate = new Date(timestamp).toLocaleString(undefined, {
42
- year: 'numeric',
43
- month: 'long',
44
- day: 'numeric',
45
- hour: '2-digit',
46
- minute: '2-digit',
47
- second: '2-digit',
48
- timeZoneName: 'short',
49
- });
50
-
51
- // Create metadata section
52
- let metadataSection = `## Metadata\n| Property | Value |\n|----------|-------|\n| Review Type | ${reviewType} |\n| Generated At | ${formattedDate} |\n| Model Provider | ${modelVendor} |\n| Model Name | ${modelName} |`;
53
-
54
- // Add framework detection information if available
55
- if (detectedLanguage) {
56
- metadataSection += `\n| Detected Language | ${detectedLanguage} |`;
57
-
58
- if (detectedFramework && detectedFramework !== 'none') {
59
- metadataSection += `\n| Detected Framework | ${detectedFramework}${frameworkVersion ? ` v${frameworkVersion}` : ''} |`;
60
- }
61
-
62
- if (cssFrameworks && cssFrameworks.length > 0) {
63
- const cssFrameworksStr = cssFrameworks
64
- .map((cf) => (cf.version ? `${cf.name} v${cf.version.replace(/[^\d.]/g, '')}` : cf.name))
65
- .join(', ');
66
-
67
- metadataSection += `\n| CSS Frameworks | ${cssFrameworksStr} |`;
68
- }
69
- }
70
-
71
- // Add cost information if available
72
- if (cost) {
73
- metadataSection += `\n| Input Tokens | ${cost.inputTokens.toLocaleString()} |\n| Output Tokens | ${cost.outputTokens.toLocaleString()} |\n| Total Tokens | ${cost.totalTokens.toLocaleString()} |\n| Estimated Cost | ${cost.formattedCost} |`;
74
-
75
- // Add multi-pass information if available
76
- if (cost.passCount && cost.passCount > 1) {
77
- metadataSection += `\n| Multi-pass Review | ${cost.passCount} passes |`;
78
- }
79
- }
80
-
81
- // Add tool version if available
82
- if (toolVersion) {
83
- metadataSection += `\n| Tool Version | ${toolVersion} |`;
84
- }
85
-
86
- // Add command options if available
87
- if (commandOptions) {
88
- metadataSection += `\n| Command Options | \`${commandOptions}\` |`;
89
- }
90
-
91
- // Close the metadata table
92
- metadataSection += `\n`;
93
-
94
- return metadataSection;
95
- }
96
-
97
- /**
98
- * Parse metadata from a review object
99
- * @param metadata Metadata object or string
100
- * @returns Parsed metadata object
101
- */
102
- export function parseMetadata(metadata: any): any {
103
- if (!metadata) {
104
- return {};
105
- }
106
-
107
- try {
108
- return typeof metadata === 'string' ? JSON.parse(metadata) : metadata;
109
- } catch (_error) {
110
- // Silently continue if metadata parsing fails
111
- return {};
112
- }
113
- }
114
-
115
- /**
116
- * Create enhanced metadata object with detection info
117
- * @param modelVendor Model vendor
118
- * @param modelName Model name
119
- * @param modelInfo Full model info string
120
- * @param reviewType Review type
121
- * @param displayPath Display path
122
- * @param timestamp Timestamp
123
- * @param cost Cost information
124
- * @param toolVersion Tool version
125
- * @param commandOptions Command options
126
- * @param additionalMetadata Additional metadata
127
- * @param detectedLanguage Detected language
128
- * @param detectedFramework Detected framework
129
- * @param frameworkVersion Framework version
130
- * @param cssFrameworks CSS frameworks
131
- * @returns Enhanced metadata object
132
- */
133
- export function createEnhancedMetadata(
134
- modelVendor: string,
135
- modelName: string,
136
- modelInfo: string,
137
- reviewType: ReviewType,
138
- displayPath: string,
139
- timestamp: string,
140
- cost: any,
141
- toolVersion?: string,
142
- commandOptions?: string,
143
- additionalMetadata: any = {},
144
- detectedLanguage?: string,
145
- detectedFramework?: string,
146
- frameworkVersion?: string,
147
- cssFrameworks?: Array<{ name: string; version?: string }>,
148
- ): any {
149
- // Format the date
150
- const formattedDate = new Date(timestamp).toLocaleString(undefined, {
151
- year: 'numeric',
152
- month: 'long',
153
- day: 'numeric',
154
- hour: '2-digit',
155
- minute: '2-digit',
156
- second: '2-digit',
157
- timeZoneName: 'short',
158
- });
159
-
160
- // Create enhanced metadata object
161
- const enhancedMetadata: any = {
162
- model: {
163
- provider: modelVendor,
164
- name: modelName,
165
- fullName: modelInfo,
166
- },
167
- review: {
168
- type: reviewType,
169
- path: displayPath,
170
- generatedAt: new Date(timestamp).toISOString(),
171
- formattedDate: formattedDate,
172
- multiPass:
173
- cost?.passCount && cost.passCount > 1
174
- ? {
175
- enabled: true,
176
- passCount: cost.passCount || 1,
177
- perPassCosts: cost.perPassCosts || null,
178
- }
179
- : null,
180
- },
181
- cost: cost || null,
182
- tool: {
183
- version: toolVersion || process.env.npm_package_version || '2.1.1',
184
- commandOptions: commandOptions || null,
185
- ...additionalMetadata,
186
- },
187
- };
188
-
189
- // Add framework detection information if available
190
- if (detectedLanguage) {
191
- enhancedMetadata.detection = {
192
- language: detectedLanguage,
193
- };
194
-
195
- if (detectedFramework && detectedFramework !== 'none') {
196
- enhancedMetadata.detection.framework = detectedFramework;
197
- if (frameworkVersion) {
198
- enhancedMetadata.detection.frameworkVersion = frameworkVersion;
199
- }
200
- }
201
-
202
- if (cssFrameworks && cssFrameworks.length > 0) {
203
- enhancedMetadata.detection.cssFrameworks = cssFrameworks;
204
- }
205
- }
206
-
207
- return enhancedMetadata;
208
- }
209
-
210
- /**
211
- * Parse cost information from a cost info string
212
- * @param costInfo Cost information string
213
- * @returns Parsed cost object or null
214
- */
215
- export function parseCostInfo(costInfo: string): any {
216
- if (!costInfo) {
217
- return null;
218
- }
219
-
220
- // Try to extract cost information from the costInfo string
221
- const inputTokensMatch = costInfo.match(/Input tokens: ([\d,]+)/);
222
- const outputTokensMatch = costInfo.match(/Output tokens: ([\d,]+)/);
223
- const totalTokensMatch = costInfo.match(/Total tokens: ([\d,]+)/);
224
- const estimatedCostMatch = costInfo.match(/Estimated cost: (.*?)$/m);
225
- const passCountMatch = costInfo.match(/Multi-pass review: (\d+) passes/);
226
-
227
- if (inputTokensMatch || outputTokensMatch || totalTokensMatch || estimatedCostMatch) {
228
- return {
229
- inputTokens: inputTokensMatch ? parseInt(inputTokensMatch[1].replace(/,/g, '')) : 0,
230
- outputTokens: outputTokensMatch ? parseInt(outputTokensMatch[1].replace(/,/g, '')) : 0,
231
- totalTokens: totalTokensMatch ? parseInt(totalTokensMatch[1].replace(/,/g, '')) : 0,
232
- estimatedCost: estimatedCostMatch
233
- ? parseFloat(estimatedCostMatch[1].replace('$', '').replace(' USD', ''))
234
- : 0,
235
- formattedCost: estimatedCostMatch ? estimatedCostMatch[1] : '$0.00 USD',
236
- passCount: passCountMatch ? parseInt(passCountMatch[1]) : 1,
237
- };
238
- }
239
-
240
- return null;
241
- }
242
-
243
- /**
244
- * Format cost information as a markdown string
245
- * @param cost Cost information object
246
- * @returns Formatted cost information string
247
- */
248
- export function formatCostInfo(cost: any): string {
249
- if (!cost) {
250
- return '';
251
- }
252
-
253
- let costInfo = `\n\n## Token Usage and Cost\n- Input tokens: ${cost.inputTokens.toLocaleString()}\n- Output tokens: ${cost.outputTokens.toLocaleString()}\n- Total tokens: ${cost.totalTokens.toLocaleString()}\n- Estimated cost: ${cost.formattedCost}`;
254
-
255
- // Add multi-pass information if available
256
- if (cost.passCount && cost.passCount > 1) {
257
- costInfo += `\n- Multi-pass review: ${cost.passCount} passes`;
258
-
259
- // Add per-pass breakdown if available
260
- if (cost.perPassCosts && Array.isArray(cost.perPassCosts)) {
261
- costInfo += `\n\n### Pass Breakdown`;
262
- cost.perPassCosts.forEach((passCost: PassCost) => {
263
- costInfo += `\nPass ${passCost.passNumber}:\n- Input tokens: ${passCost.inputTokens.toLocaleString()}\n- Output tokens: ${passCost.outputTokens.toLocaleString()}\n- Total tokens: ${passCost.totalTokens.toLocaleString()}\n- Cost: ${typeof passCost.estimatedCost === 'number' ? `$${passCost.estimatedCost.toFixed(4)} USD` : 'N/A'}`;
264
- });
265
- }
266
- }
267
-
268
- return costInfo;
269
- }
@@ -1,115 +0,0 @@
1
- /**
2
- * @fileoverview Utility for extracting model information from model strings.
3
- *
4
- * This module provides functions to extract and parse model information from
5
- * model strings in various formats. It handles different provider prefixes
6
- * and standardizes the output format.
7
- */
8
-
9
- import logger from '../../utils/logger';
10
-
11
- /**
12
- * Model information extracted from a model string
13
- */
14
- export interface ModelInfo {
15
- /** The provider of the model (e.g., 'Google', 'Anthropic', 'OpenAI') */
16
- modelVendor: string;
17
- /** The name of the model without the provider prefix */
18
- modelName: string;
19
- /** A formatted string combining the provider and model name */
20
- modelInfo: string;
21
- }
22
-
23
- /**
24
- * Extract model information from a model string
25
- * @param modelString The model string to extract information from (e.g., 'gemini:gemini-1.5-pro')
26
- * @returns Object containing modelVendor, modelName, and modelInfo
27
- */
28
- export function extractModelInfo(modelString?: string): ModelInfo {
29
- // Default values
30
- let modelVendor = 'Unknown';
31
- let modelName = 'AI';
32
- let modelInfo = 'AI';
33
-
34
- if (!modelString) {
35
- logger.warn('No model string provided. Using default values.');
36
- return { modelVendor, modelName, modelInfo };
37
- }
38
-
39
- // Extract model information based on provider prefix
40
- if (modelString.startsWith('openrouter:')) {
41
- modelVendor = 'OpenRouter';
42
- modelName = modelString.substring('openrouter:'.length);
43
- modelInfo = `OpenRouter (${modelName})`;
44
- } else if (modelString.startsWith('anthropic:')) {
45
- modelVendor = 'Anthropic';
46
- modelName = modelString.substring('anthropic:'.length);
47
- modelInfo = `Anthropic (${modelName})`;
48
- } else if (modelString.startsWith('openai:')) {
49
- modelVendor = 'OpenAI';
50
- modelName = modelString.substring('openai:'.length);
51
- modelInfo = `OpenAI (${modelName})`;
52
- } else if (modelString.startsWith('gemini:')) {
53
- modelVendor = 'Google';
54
- modelName = modelString.substring('gemini:'.length);
55
- modelInfo = `Google Gemini AI (${modelName})`;
56
- } else if (modelString.startsWith('Google:')) {
57
- // Handle miscapitalized provider names
58
- modelVendor = 'Google';
59
- modelName = modelString.substring('Google:'.length);
60
- modelInfo = `Google Gemini AI (${modelName})`;
61
- } else if (modelString.startsWith('Anthropic:')) {
62
- modelVendor = 'Anthropic';
63
- modelName = modelString.substring('Anthropic:'.length);
64
- modelInfo = `Anthropic (${modelName})`;
65
- } else if (modelString.startsWith('OpenAI:')) {
66
- modelVendor = 'OpenAI';
67
- modelName = modelString.substring('OpenAI:'.length);
68
- modelInfo = `OpenAI (${modelName})`;
69
- } else if (modelString.startsWith('OpenRouter:')) {
70
- modelVendor = 'OpenRouter';
71
- modelName = modelString.substring('OpenRouter:'.length);
72
- modelInfo = `OpenRouter (${modelName})`;
73
- } else {
74
- modelVendor = 'Unknown';
75
- modelName = modelString;
76
- modelInfo = `AI (${modelName})`;
77
- }
78
-
79
- return { modelVendor, modelName, modelInfo };
80
- }
81
-
82
- /**
83
- * Extract model information from a formatted model info string
84
- * @param modelInfo Formatted model info string (e.g., "Google Gemini AI (gemini-1.5-pro)")
85
- * @returns Object containing modelVendor and modelName
86
- */
87
- export function extractModelInfoFromString(modelInfo: string): {
88
- modelVendor: string;
89
- modelName: string;
90
- } {
91
- let modelVendor = 'Unknown';
92
- let modelName = 'AI';
93
-
94
- if (modelInfo) {
95
- if (modelInfo.includes('Google Gemini AI')) {
96
- modelVendor = 'Google';
97
- const match = modelInfo.match(/\((.*?)\)/);
98
- modelName = match ? match[1] : 'Gemini';
99
- } else if (modelInfo.includes('Anthropic')) {
100
- modelVendor = 'Anthropic';
101
- const match = modelInfo.match(/\((.*?)\)/);
102
- modelName = match ? match[1] : 'Claude';
103
- } else if (modelInfo.includes('OpenAI')) {
104
- modelVendor = 'OpenAI';
105
- const match = modelInfo.match(/\((.*?)\)/);
106
- modelName = match ? match[1] : 'GPT';
107
- } else if (modelInfo.includes('OpenRouter')) {
108
- modelVendor = 'OpenRouter';
109
- const match = modelInfo.match(/\((.*?)\)/);
110
- modelName = match ? match[1] : 'AI';
111
- }
112
- }
113
-
114
- return { modelVendor, modelName };
115
- }
package/src/index.ts DELETED
@@ -1,25 +0,0 @@
1
- import logger from './utils/logger';
2
- import { ensureProxyEnvironmentInitialized } from './runtime/proxyEnvironment';
3
- import { handleRuntimeCliEntry } from './runtime/cliEntry';
4
-
5
- async function bootstrap(): Promise<void> {
6
- try {
7
- ensureProxyEnvironmentInitialized(process.cwd());
8
- } catch (error) {
9
- logger.warn(
10
- `Failed to load proxy configuration: ${error instanceof Error ? error.message : String(error)}`,
11
- );
12
- }
13
-
14
- const handled = await handleRuntimeCliEntry();
15
-
16
- if (!handled) {
17
- logger.error('Unknown command. Run `cr-aia --help` for usage.');
18
- process.exit(1);
19
- }
20
- }
21
-
22
- bootstrap().catch((error) => {
23
- logger.error(`Fatal runtime error: ${error instanceof Error ? error.message : String(error)}`);
24
- process.exit(1);
25
- });
@@ -1,50 +0,0 @@
1
- /**
2
- * @fileoverview Plugin interface for custom review strategies.
3
- *
4
- * This module defines the interface for plugins that can be registered with the
5
- * plugin manager to provide custom review strategies.
6
- */
7
-
8
- import type { IReviewStrategy } from '../strategies/ReviewStrategy';
9
-
10
- /**
11
- * Interface for plugin registration
12
- */
13
- export interface PluginRegistration {
14
- /**
15
- * Name of the plugin
16
- */
17
- name: string;
18
-
19
- /**
20
- * Description of the plugin
21
- */
22
- description: string;
23
-
24
- /**
25
- * Strategy implementation
26
- */
27
- strategy: IReviewStrategy;
28
- }
29
-
30
- /**
31
- * Interface for plugin modules
32
- */
33
- export interface Plugin {
34
- /**
35
- * Register the plugin with the plugin manager
36
- * @param pluginManager The plugin manager instance
37
- */
38
- register: (pluginManager: any) => void;
39
-
40
- /**
41
- * Get information about the plugin
42
- * @returns Plugin information
43
- */
44
- getInfo: () => {
45
- name: string;
46
- description: string;
47
- version: string;
48
- author: string;
49
- };
50
- }
@@ -1,126 +0,0 @@
1
- /**
2
- * @fileoverview Plugin manager for custom review strategies.
3
- *
4
- * This module provides a singleton manager for loading and registering plugins
5
- * that provide custom review strategies.
6
- */
7
-
8
- import fs from 'node:fs/promises';
9
- import path from 'node:path';
10
- import type { IReviewStrategy } from '../strategies/ReviewStrategy';
11
- import logger from '../utils/logger';
12
- import type { PluginRegistration } from './PluginInterface';
13
-
14
- /**
15
- * Singleton manager for plugins
16
- */
17
- export class PluginManager {
18
- private static instance: PluginManager;
19
- private plugins: Map<string, PluginRegistration> = new Map();
20
-
21
- /**
22
- * Private constructor to enforce singleton pattern
23
- */
24
- private constructor() {}
25
-
26
- /**
27
- * Get the singleton instance
28
- * @returns The plugin manager instance
29
- */
30
- static getInstance(): PluginManager {
31
- if (!PluginManager.instance) {
32
- PluginManager.instance = new PluginManager();
33
- }
34
- return PluginManager.instance;
35
- }
36
-
37
- /**
38
- * Register a plugin strategy
39
- * @param registration Plugin registration information
40
- */
41
- registerPlugin(registration: PluginRegistration): void {
42
- if (this.plugins.has(registration.name)) {
43
- logger.warn(`Plugin with name "${registration.name}" is already registered. Overwriting...`);
44
- }
45
-
46
- this.plugins.set(registration.name, registration);
47
- logger.info(`Registered plugin strategy: ${registration.name}`);
48
- }
49
-
50
- /**
51
- * Get a plugin strategy by name
52
- * @param name Plugin name
53
- * @returns The strategy or undefined if not found
54
- */
55
- getPlugin(name: string): IReviewStrategy | undefined {
56
- const registration = this.plugins.get(name);
57
- return registration?.strategy;
58
- }
59
-
60
- /**
61
- * Get plugin information by name
62
- * @param name Plugin name
63
- * @returns Plugin information or undefined if not found
64
- */
65
- getPluginInfo(name: string): PluginRegistration | undefined {
66
- return this.plugins.get(name);
67
- }
68
-
69
- /**
70
- * List all registered plugins
71
- * @returns Array of plugin registrations
72
- */
73
- listPlugins(): PluginRegistration[] {
74
- return Array.from(this.plugins.values());
75
- }
76
-
77
- /**
78
- * Load plugins from a directory
79
- * @param pluginsDir Directory containing plugins
80
- */
81
- async loadPlugins(pluginsDir: string): Promise<void> {
82
- try {
83
- // Check if the directory exists
84
- try {
85
- await fs.access(pluginsDir);
86
- } catch (_error) {
87
- // Silently ignore missing plugins directory - this is expected in most cases
88
- logger.debug(`Plugins directory not found: ${pluginsDir}`);
89
- return;
90
- }
91
-
92
- // Read the directory
93
- const files = await fs.readdir(pluginsDir);
94
-
95
- // Load each plugin
96
- for (const file of files) {
97
- if (file.endsWith('.js')) {
98
- try {
99
- const pluginPath = path.join(pluginsDir, file);
100
- // Dynamic import to load the plugin
101
- const plugin = await import(pluginPath);
102
-
103
- // Check if the plugin has a register function
104
- if (plugin.default && typeof plugin.default.register === 'function') {
105
- // Register the plugin
106
- plugin.default.register(this);
107
- logger.info(`Loaded plugin from ${file}`);
108
- } else {
109
- logger.warn(`File ${file} is not a valid plugin (missing register function)`);
110
- }
111
- } catch (error) {
112
- logger.error(
113
- `Error loading plugin ${file}: ${error instanceof Error ? error.message : String(error)}`,
114
- );
115
- }
116
- }
117
- }
118
-
119
- logger.info(`Loaded ${this.plugins.size} plugins from ${pluginsDir}`);
120
- } catch (error) {
121
- logger.error(
122
- `Error loading plugins: ${error instanceof Error ? error.message : String(error)}`,
123
- );
124
- }
125
- }
126
- }
@@ -1,69 +0,0 @@
1
- /**
2
- * @fileoverview Lightweight prompt manager.
3
- *
4
- * The upstream project exposes a fairly sophisticated prompt management system.
5
- * For this fork we keep the API surface that strategies rely on while providing
6
- * a much smaller implementation that pulls templates from the bundled prompt
7
- * utilities when available and falls back to opinionated defaults otherwise.
8
- */
9
-
10
- import type { ReviewOptions, ReviewType } from '../types/review';
11
- import logger from '../utils/logger';
12
- import { getPromptTemplate as fetchTemplate } from '../utils/promptTemplateManager';
13
- import PromptCache from './cache/PromptCache';
14
-
15
- /**
16
- * Singleton prompt manager responsible for serving prompt templates.
17
- */
18
- export class PromptManager {
19
- private static instance: PromptManager | null = null;
20
- private cache = PromptCache.getInstance();
21
-
22
- private constructor() {}
23
-
24
- /**
25
- * Get the shared prompt manager instance.
26
- */
27
- public static getInstance(): PromptManager {
28
- if (!PromptManager.instance) {
29
- PromptManager.instance = new PromptManager();
30
- }
31
- return PromptManager.instance;
32
- }
33
-
34
- /**
35
- * Retrieve a prompt template for a given review type and options.
36
- */
37
- public getPromptTemplate(reviewType: ReviewType, options?: ReviewOptions): string {
38
- const keyParts = [reviewType, options?.language ?? 'default', options?.framework ?? 'any'];
39
- const cacheKey = keyParts.join('::');
40
-
41
- const cached = this.cache.get(cacheKey);
42
- if (cached) {
43
- return cached;
44
- }
45
-
46
- const template =
47
- fetchTemplate(reviewType, options?.language, options?.framework) ??
48
- this.buildFallbackTemplate(reviewType);
49
-
50
- this.cache.set(cacheKey, template);
51
- return template;
52
- }
53
-
54
- /**
55
- * Build a minimal fallback template when no custom template exists.
56
- */
57
- private buildFallbackTemplate(reviewType: ReviewType): string {
58
- logger.warn(
59
- `Prompt template for review type "${reviewType}" not found. Using fallback instructions.`,
60
- );
61
-
62
- return [
63
- `You are an experienced reviewer performing a ${reviewType} assessment.`,
64
- 'Focus on the provided files, identify actionable issues, and respond with concise findings.',
65
- ].join('\n\n');
66
- }
67
- }
68
-
69
- export default PromptManager;