codereview-aia 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (422) hide show
  1. package/dist/analysis/FindingsExtractor.d.ts +105 -0
  2. package/dist/analysis/FindingsExtractor.js +363 -0
  3. package/dist/analysis/FindingsExtractor.js.map +1 -0
  4. package/dist/analysis/ai-detection/analyzers/BaseAnalyzer.d.ts +111 -0
  5. package/dist/analysis/ai-detection/analyzers/BaseAnalyzer.js +215 -0
  6. package/dist/analysis/ai-detection/analyzers/BaseAnalyzer.js.map +1 -0
  7. package/dist/analysis/ai-detection/analyzers/DocumentationAnalyzer.d.ts +142 -0
  8. package/dist/analysis/ai-detection/analyzers/DocumentationAnalyzer.js +503 -0
  9. package/dist/analysis/ai-detection/analyzers/DocumentationAnalyzer.js.map +1 -0
  10. package/dist/analysis/ai-detection/analyzers/GitHistoryAnalyzer.d.ts +88 -0
  11. package/dist/analysis/ai-detection/analyzers/GitHistoryAnalyzer.js +343 -0
  12. package/dist/analysis/ai-detection/analyzers/GitHistoryAnalyzer.js.map +1 -0
  13. package/dist/analysis/ai-detection/core/AIDetectionEngine.d.ts +104 -0
  14. package/dist/analysis/ai-detection/core/AIDetectionEngine.js +369 -0
  15. package/dist/analysis/ai-detection/core/AIDetectionEngine.js.map +1 -0
  16. package/dist/analysis/ai-detection/types/DetectionTypes.d.ts +364 -0
  17. package/dist/analysis/ai-detection/types/DetectionTypes.js +32 -0
  18. package/dist/analysis/ai-detection/types/DetectionTypes.js.map +1 -0
  19. package/dist/analysis/ai-detection/utils/SubmissionConverter.d.ts +97 -0
  20. package/dist/analysis/ai-detection/utils/SubmissionConverter.js +339 -0
  21. package/dist/analysis/ai-detection/utils/SubmissionConverter.js.map +1 -0
  22. package/dist/analysis/context/ReviewContext.d.ts +184 -0
  23. package/dist/analysis/context/ReviewContext.js +294 -0
  24. package/dist/analysis/context/ReviewContext.js.map +1 -0
  25. package/dist/analysis/context/index.d.ts +6 -0
  26. package/dist/analysis/context/index.js +23 -0
  27. package/dist/analysis/context/index.js.map +1 -0
  28. package/dist/analysis/index.d.ts +7 -0
  29. package/dist/analysis/index.js +24 -0
  30. package/dist/analysis/index.js.map +1 -0
  31. package/dist/analysis/tokens/TokenAnalysisFormatter.d.ts +27 -0
  32. package/dist/analysis/tokens/TokenAnalysisFormatter.js +143 -0
  33. package/dist/analysis/tokens/TokenAnalysisFormatter.js.map +1 -0
  34. package/dist/analysis/tokens/TokenAnalyzer.d.ts +155 -0
  35. package/dist/analysis/tokens/TokenAnalyzer.js +502 -0
  36. package/dist/analysis/tokens/TokenAnalyzer.js.map +1 -0
  37. package/dist/analysis/tokens/index.d.ts +7 -0
  38. package/dist/analysis/tokens/index.js +24 -0
  39. package/dist/analysis/tokens/index.js.map +1 -0
  40. package/dist/clients/base/abstractClient.d.ts +99 -0
  41. package/dist/clients/base/abstractClient.js +98 -0
  42. package/dist/clients/base/abstractClient.js.map +1 -0
  43. package/dist/clients/base/httpClient.d.ts +24 -0
  44. package/dist/clients/base/httpClient.js +147 -0
  45. package/dist/clients/base/httpClient.js.map +1 -0
  46. package/dist/clients/base/index.d.ts +11 -0
  47. package/dist/clients/base/index.js +28 -0
  48. package/dist/clients/base/index.js.map +1 -0
  49. package/dist/clients/base/modelDetection.d.ts +41 -0
  50. package/dist/clients/base/modelDetection.js +88 -0
  51. package/dist/clients/base/modelDetection.js.map +1 -0
  52. package/dist/clients/base/responseProcessor.d.ts +45 -0
  53. package/dist/clients/base/responseProcessor.js +495 -0
  54. package/dist/clients/base/responseProcessor.js.map +1 -0
  55. package/dist/clients/factory/clientFactory.d.ts +23 -0
  56. package/dist/clients/factory/clientFactory.js +50 -0
  57. package/dist/clients/factory/clientFactory.js.map +1 -0
  58. package/dist/clients/factory/index.d.ts +7 -0
  59. package/dist/clients/factory/index.js +24 -0
  60. package/dist/clients/factory/index.js.map +1 -0
  61. package/dist/clients/implementations/index.d.ts +7 -0
  62. package/dist/clients/implementations/index.js +24 -0
  63. package/dist/clients/implementations/index.js.map +1 -0
  64. package/dist/clients/implementations/openRouterClient.d.ts +69 -0
  65. package/dist/clients/implementations/openRouterClient.js +294 -0
  66. package/dist/clients/implementations/openRouterClient.js.map +1 -0
  67. package/dist/clients/openRouterClient.d.ts +42 -0
  68. package/dist/clients/openRouterClient.js +738 -0
  69. package/dist/clients/openRouterClient.js.map +1 -0
  70. package/dist/clients/openRouterClientWrapper.d.ts +22 -0
  71. package/dist/clients/openRouterClientWrapper.js +64 -0
  72. package/dist/clients/openRouterClientWrapper.js.map +1 -0
  73. package/dist/clients/utils/directoryStructure.d.ts +14 -0
  74. package/dist/clients/utils/directoryStructure.js +48 -0
  75. package/dist/clients/utils/directoryStructure.js.map +1 -0
  76. package/dist/clients/utils/index.d.ts +10 -0
  77. package/dist/clients/utils/index.js +31 -0
  78. package/dist/clients/utils/index.js.map +1 -0
  79. package/dist/clients/utils/languageDetection.d.ts +13 -0
  80. package/dist/clients/utils/languageDetection.js +46 -0
  81. package/dist/clients/utils/languageDetection.js.map +1 -0
  82. package/dist/clients/utils/promptFormatter.d.ts +36 -0
  83. package/dist/clients/utils/promptFormatter.js +92 -0
  84. package/dist/clients/utils/promptFormatter.js.map +1 -0
  85. package/dist/clients/utils/promptLoader.d.ts +27 -0
  86. package/dist/clients/utils/promptLoader.js +49 -0
  87. package/dist/clients/utils/promptLoader.js.map +1 -0
  88. package/dist/clients/utils/tokenCounter.d.ts +81 -0
  89. package/dist/clients/utils/tokenCounter.js +209 -0
  90. package/dist/clients/utils/tokenCounter.js.map +1 -0
  91. package/dist/core/ApiClientSelector.d.ts +8 -0
  92. package/dist/core/ApiClientSelector.js +29 -0
  93. package/dist/core/ApiClientSelector.js.map +1 -0
  94. package/dist/core/ConfigurationService.d.ts +286 -0
  95. package/dist/core/ConfigurationService.js +477 -0
  96. package/dist/core/ConfigurationService.js.map +1 -0
  97. package/dist/core/ConsolidationService.d.ts +99 -0
  98. package/dist/core/ConsolidationService.js +341 -0
  99. package/dist/core/ConsolidationService.js.map +1 -0
  100. package/dist/core/InteractiveDisplayManager.d.ts +22 -0
  101. package/dist/core/InteractiveDisplayManager.js +70 -0
  102. package/dist/core/InteractiveDisplayManager.js.map +1 -0
  103. package/dist/core/OutputManager.d.ts +26 -0
  104. package/dist/core/OutputManager.js +217 -0
  105. package/dist/core/OutputManager.js.map +1 -0
  106. package/dist/core/ReviewGenerator.d.ts +13 -0
  107. package/dist/core/ReviewGenerator.js +102 -0
  108. package/dist/core/ReviewGenerator.js.map +1 -0
  109. package/dist/core/fileDiscovery.d.ts +35 -0
  110. package/dist/core/fileDiscovery.js +202 -0
  111. package/dist/core/fileDiscovery.js.map +1 -0
  112. package/dist/core/handlers/EstimationHandler.d.ts +18 -0
  113. package/dist/core/handlers/EstimationHandler.js +110 -0
  114. package/dist/core/handlers/EstimationHandler.js.map +1 -0
  115. package/dist/core/handlers/FileProcessingHandler.d.ts +31 -0
  116. package/dist/core/handlers/FileProcessingHandler.js +159 -0
  117. package/dist/core/handlers/FileProcessingHandler.js.map +1 -0
  118. package/dist/core/handlers/OutputHandler.d.ts +27 -0
  119. package/dist/core/handlers/OutputHandler.js +127 -0
  120. package/dist/core/handlers/OutputHandler.js.map +1 -0
  121. package/dist/core/handlers/ReviewExecutor.d.ts +32 -0
  122. package/dist/core/handlers/ReviewExecutor.js +111 -0
  123. package/dist/core/handlers/ReviewExecutor.js.map +1 -0
  124. package/dist/core/reviewOrchestrator.d.ts +24 -0
  125. package/dist/core/reviewOrchestrator.js +294 -0
  126. package/dist/core/reviewOrchestrator.js.map +1 -0
  127. package/dist/core/utils/ModelInfoUtils.d.ts +16 -0
  128. package/dist/core/utils/ModelInfoUtils.js +54 -0
  129. package/dist/core/utils/ModelInfoUtils.js.map +1 -0
  130. package/dist/formatters/outputFormatter.d.ts +31 -0
  131. package/dist/formatters/outputFormatter.js +65 -0
  132. package/dist/formatters/outputFormatter.js.map +1 -0
  133. package/dist/formatters/utils/IssueFormatters.d.ts +20 -0
  134. package/dist/formatters/utils/IssueFormatters.js +67 -0
  135. package/dist/formatters/utils/IssueFormatters.js.map +1 -0
  136. package/dist/formatters/utils/JsonFormatter.d.ts +13 -0
  137. package/dist/formatters/utils/JsonFormatter.js +57 -0
  138. package/dist/formatters/utils/JsonFormatter.js.map +1 -0
  139. package/dist/formatters/utils/MarkdownFormatters.d.ts +51 -0
  140. package/dist/formatters/utils/MarkdownFormatters.js +456 -0
  141. package/dist/formatters/utils/MarkdownFormatters.js.map +1 -0
  142. package/dist/formatters/utils/MetadataFormatter.d.ts +65 -0
  143. package/dist/formatters/utils/MetadataFormatter.js +219 -0
  144. package/dist/formatters/utils/MetadataFormatter.js.map +1 -0
  145. package/dist/formatters/utils/ModelInfoExtractor.d.ts +33 -0
  146. package/dist/formatters/utils/ModelInfoExtractor.js +111 -0
  147. package/dist/formatters/utils/ModelInfoExtractor.js.map +1 -0
  148. package/dist/index.d.ts +2 -0
  149. package/dist/index.js +1 -0
  150. package/dist/index.js.map +1 -0
  151. package/dist/plugins/PluginInterface.d.ts +44 -0
  152. package/dist/plugins/PluginInterface.js +9 -0
  153. package/dist/plugins/PluginInterface.js.map +1 -0
  154. package/dist/plugins/PluginManager.d.ts +51 -0
  155. package/dist/plugins/PluginManager.js +151 -0
  156. package/dist/plugins/PluginManager.js.map +1 -0
  157. package/dist/prompts/PromptManager.d.ts +30 -0
  158. package/dist/prompts/PromptManager.js +62 -0
  159. package/dist/prompts/PromptManager.js.map +1 -0
  160. package/dist/prompts/cache/PromptCache.d.ts +32 -0
  161. package/dist/prompts/cache/PromptCache.js +48 -0
  162. package/dist/prompts/cache/PromptCache.js.map +1 -0
  163. package/dist/runtime/auth/service.d.ts +2 -0
  164. package/dist/runtime/auth/service.js +41 -0
  165. package/dist/runtime/auth/service.js.map +1 -0
  166. package/dist/runtime/auth/session.d.ts +5 -0
  167. package/dist/runtime/auth/session.js +87 -0
  168. package/dist/runtime/auth/session.js.map +1 -0
  169. package/dist/runtime/auth/types.d.ts +9 -0
  170. package/dist/runtime/auth/types.js +3 -0
  171. package/dist/runtime/auth/types.js.map +1 -0
  172. package/dist/runtime/cliEntry.d.ts +1 -0
  173. package/dist/runtime/cliEntry.js +213 -0
  174. package/dist/runtime/cliEntry.js.map +1 -0
  175. package/dist/runtime/debug/logManager.d.ts +5 -0
  176. package/dist/runtime/debug/logManager.js +31 -0
  177. package/dist/runtime/debug/logManager.js.map +1 -0
  178. package/dist/runtime/errors.d.ts +5 -0
  179. package/dist/runtime/errors.js +15 -0
  180. package/dist/runtime/errors.js.map +1 -0
  181. package/dist/runtime/fileCollector.d.ts +5 -0
  182. package/dist/runtime/fileCollector.js +167 -0
  183. package/dist/runtime/fileCollector.js.map +1 -0
  184. package/dist/runtime/manifest.d.ts +1 -0
  185. package/dist/runtime/manifest.js +65 -0
  186. package/dist/runtime/manifest.js.map +1 -0
  187. package/dist/runtime/openrouterProxy.d.ts +4 -0
  188. package/dist/runtime/openrouterProxy.js +43 -0
  189. package/dist/runtime/openrouterProxy.js.map +1 -0
  190. package/dist/runtime/preprod/webCheck.d.ts +1 -0
  191. package/dist/runtime/preprod/webCheck.js +98 -0
  192. package/dist/runtime/preprod/webCheck.js.map +1 -0
  193. package/dist/runtime/proxyConfig.d.ts +6 -0
  194. package/dist/runtime/proxyConfig.js +86 -0
  195. package/dist/runtime/proxyConfig.js.map +1 -0
  196. package/dist/runtime/proxyEnvironment.d.ts +3 -0
  197. package/dist/runtime/proxyEnvironment.js +63 -0
  198. package/dist/runtime/proxyEnvironment.js.map +1 -0
  199. package/dist/runtime/reportMerge.d.ts +30 -0
  200. package/dist/runtime/reportMerge.js +70 -0
  201. package/dist/runtime/reportMerge.js.map +1 -0
  202. package/dist/runtime/reporting/markdownReportBuilder.d.ts +15 -0
  203. package/dist/runtime/reporting/markdownReportBuilder.js +97 -0
  204. package/dist/runtime/reporting/markdownReportBuilder.js.map +1 -0
  205. package/dist/runtime/reporting/reportDataCollector.d.ts +31 -0
  206. package/dist/runtime/reporting/reportDataCollector.js +170 -0
  207. package/dist/runtime/reporting/reportDataCollector.js.map +1 -0
  208. package/dist/runtime/reporting/summaryGenerator.d.ts +10 -0
  209. package/dist/runtime/reporting/summaryGenerator.js +67 -0
  210. package/dist/runtime/reporting/summaryGenerator.js.map +1 -0
  211. package/dist/runtime/reviewPipeline.d.ts +28 -0
  212. package/dist/runtime/reviewPipeline.js +122 -0
  213. package/dist/runtime/reviewPipeline.js.map +1 -0
  214. package/dist/runtime/runAiCodeReview.d.ts +10 -0
  215. package/dist/runtime/runAiCodeReview.js +138 -0
  216. package/dist/runtime/runAiCodeReview.js.map +1 -0
  217. package/dist/runtime/runtimeConfig.d.ts +4 -0
  218. package/dist/runtime/runtimeConfig.js +7 -0
  219. package/dist/runtime/runtimeConfig.js.map +1 -0
  220. package/dist/runtime/ui/Layout.d.ts +11 -0
  221. package/dist/runtime/ui/Layout.js +47 -0
  222. package/dist/runtime/ui/Layout.js.map +1 -0
  223. package/dist/runtime/ui/RuntimeApp.d.ts +6 -0
  224. package/dist/runtime/ui/RuntimeApp.js +161 -0
  225. package/dist/runtime/ui/RuntimeApp.js.map +1 -0
  226. package/dist/runtime/ui/inkModules.d.ts +10 -0
  227. package/dist/runtime/ui/inkModules.js +63 -0
  228. package/dist/runtime/ui/inkModules.js.map +1 -0
  229. package/dist/runtime/ui/screens/AuthScreen.d.ts +6 -0
  230. package/dist/runtime/ui/screens/AuthScreen.js +67 -0
  231. package/dist/runtime/ui/screens/AuthScreen.js.map +1 -0
  232. package/dist/runtime/ui/screens/ModeSelection.d.ts +10 -0
  233. package/dist/runtime/ui/screens/ModeSelection.js +100 -0
  234. package/dist/runtime/ui/screens/ModeSelection.js.map +1 -0
  235. package/dist/runtime/ui/screens/ProgressScreen.d.ts +7 -0
  236. package/dist/runtime/ui/screens/ProgressScreen.js +38 -0
  237. package/dist/runtime/ui/screens/ProgressScreen.js.map +1 -0
  238. package/dist/runtime/ui/screens/ResultsScreen.d.ts +7 -0
  239. package/dist/runtime/ui/screens/ResultsScreen.js +22 -0
  240. package/dist/runtime/ui/screens/ResultsScreen.js.map +1 -0
  241. package/dist/strategies/ArchitecturalReviewStrategy.d.ts +29 -0
  242. package/dist/strategies/ArchitecturalReviewStrategy.js +42 -0
  243. package/dist/strategies/ArchitecturalReviewStrategy.js.map +1 -0
  244. package/dist/strategies/CodingTestReviewStrategy.d.ts +194 -0
  245. package/dist/strategies/CodingTestReviewStrategy.js +681 -0
  246. package/dist/strategies/CodingTestReviewStrategy.js.map +1 -0
  247. package/dist/strategies/ConsolidatedReviewStrategy.d.ts +25 -0
  248. package/dist/strategies/ConsolidatedReviewStrategy.js +45 -0
  249. package/dist/strategies/ConsolidatedReviewStrategy.js.map +1 -0
  250. package/dist/strategies/ExtractPatternsReviewStrategy.d.ts +30 -0
  251. package/dist/strategies/ExtractPatternsReviewStrategy.js +51 -0
  252. package/dist/strategies/ExtractPatternsReviewStrategy.js.map +1 -0
  253. package/dist/strategies/MultiPassReviewStrategy.d.ts +86 -0
  254. package/dist/strategies/MultiPassReviewStrategy.js +590 -0
  255. package/dist/strategies/MultiPassReviewStrategy.js.map +1 -0
  256. package/dist/strategies/ReviewStrategy.d.ts +45 -0
  257. package/dist/strategies/ReviewStrategy.js +24 -0
  258. package/dist/strategies/ReviewStrategy.js.map +1 -0
  259. package/dist/strategies/StrategyFactory.d.ts +19 -0
  260. package/dist/strategies/StrategyFactory.js +72 -0
  261. package/dist/strategies/StrategyFactory.js.map +1 -0
  262. package/dist/strategies/index.d.ts +13 -0
  263. package/dist/strategies/index.js +30 -0
  264. package/dist/strategies/index.js.map +1 -0
  265. package/dist/tokenizers/baseTokenizer.d.ts +25 -0
  266. package/dist/tokenizers/baseTokenizer.js +48 -0
  267. package/dist/tokenizers/baseTokenizer.js.map +1 -0
  268. package/dist/tokenizers/gptTokenizer.d.ts +7 -0
  269. package/dist/tokenizers/gptTokenizer.js +28 -0
  270. package/dist/tokenizers/gptTokenizer.js.map +1 -0
  271. package/dist/tokenizers/index.d.ts +7 -0
  272. package/dist/tokenizers/index.js +24 -0
  273. package/dist/tokenizers/index.js.map +1 -0
  274. package/dist/types/apiResponses.d.ts +39 -0
  275. package/dist/types/apiResponses.js +9 -0
  276. package/dist/types/apiResponses.js.map +1 -0
  277. package/dist/types/cli.d.ts +22 -0
  278. package/dist/types/cli.js +3 -0
  279. package/dist/types/cli.js.map +1 -0
  280. package/dist/types/common.d.ts +22 -0
  281. package/dist/types/common.js +14 -0
  282. package/dist/types/common.js.map +1 -0
  283. package/dist/types/configuration.d.ts +682 -0
  284. package/dist/types/configuration.js +65 -0
  285. package/dist/types/configuration.js.map +1 -0
  286. package/dist/types/review.d.ts +258 -0
  287. package/dist/types/review.js +8 -0
  288. package/dist/types/review.js.map +1 -0
  289. package/dist/types/reviewSchema.d.ts +543 -0
  290. package/dist/types/reviewSchema.js +121 -0
  291. package/dist/types/reviewSchema.js.map +1 -0
  292. package/dist/types/structuredReview.d.ts +119 -0
  293. package/dist/types/structuredReview.js +6 -0
  294. package/dist/types/structuredReview.js.map +1 -0
  295. package/dist/types/tokenAnalysis.d.ts +44 -0
  296. package/dist/types/tokenAnalysis.js +4 -0
  297. package/dist/types/tokenAnalysis.js.map +1 -0
  298. package/dist/utils/FileReader.d.ts +33 -0
  299. package/dist/utils/FileReader.js +88 -0
  300. package/dist/utils/FileReader.js.map +1 -0
  301. package/dist/utils/FileWriter.d.ts +26 -0
  302. package/dist/utils/FileWriter.js +76 -0
  303. package/dist/utils/FileWriter.js.map +1 -0
  304. package/dist/utils/PathGenerator.d.ts +30 -0
  305. package/dist/utils/PathGenerator.js +82 -0
  306. package/dist/utils/PathGenerator.js.map +1 -0
  307. package/dist/utils/api/apiUtils.d.ts +3 -0
  308. package/dist/utils/api/apiUtils.js +20 -0
  309. package/dist/utils/api/apiUtils.js.map +1 -0
  310. package/dist/utils/api/index.d.ts +1 -0
  311. package/dist/utils/api/index.js +18 -0
  312. package/dist/utils/api/index.js.map +1 -0
  313. package/dist/utils/apiErrorHandler.d.ts +130 -0
  314. package/dist/utils/apiErrorHandler.js +256 -0
  315. package/dist/utils/apiErrorHandler.js.map +1 -0
  316. package/dist/utils/ciDataCollector.d.ts +51 -0
  317. package/dist/utils/ciDataCollector.js +197 -0
  318. package/dist/utils/ciDataCollector.js.map +1 -0
  319. package/dist/utils/codingTestConfigLoader.d.ts +66 -0
  320. package/dist/utils/codingTestConfigLoader.js +420 -0
  321. package/dist/utils/codingTestConfigLoader.js.map +1 -0
  322. package/dist/utils/dependencies/aiDependencyAnalyzer.d.ts +30 -0
  323. package/dist/utils/dependencies/aiDependencyAnalyzer.js +343 -0
  324. package/dist/utils/dependencies/aiDependencyAnalyzer.js.map +1 -0
  325. package/dist/utils/detection/frameworkDetector.d.ts +43 -0
  326. package/dist/utils/detection/frameworkDetector.js +795 -0
  327. package/dist/utils/detection/frameworkDetector.js.map +1 -0
  328. package/dist/utils/detection/index.d.ts +9 -0
  329. package/dist/utils/detection/index.js +28 -0
  330. package/dist/utils/detection/index.js.map +1 -0
  331. package/dist/utils/detection/projectTypeDetector.d.ts +27 -0
  332. package/dist/utils/detection/projectTypeDetector.js +469 -0
  333. package/dist/utils/detection/projectTypeDetector.js.map +1 -0
  334. package/dist/utils/diagramGenerator.d.ts +49 -0
  335. package/dist/utils/diagramGenerator.js +218 -0
  336. package/dist/utils/diagramGenerator.js.map +1 -0
  337. package/dist/utils/errorLogger.d.ts +24 -0
  338. package/dist/utils/errorLogger.js +59 -0
  339. package/dist/utils/errorLogger.js.map +1 -0
  340. package/dist/utils/estimationUtils.d.ts +139 -0
  341. package/dist/utils/estimationUtils.js +329 -0
  342. package/dist/utils/estimationUtils.js.map +1 -0
  343. package/dist/utils/fileFilters.d.ts +72 -0
  344. package/dist/utils/fileFilters.js +338 -0
  345. package/dist/utils/fileFilters.js.map +1 -0
  346. package/dist/utils/fileSystem.d.ts +22 -0
  347. package/dist/utils/fileSystem.js +45 -0
  348. package/dist/utils/fileSystem.js.map +1 -0
  349. package/dist/utils/index.d.ts +22 -0
  350. package/dist/utils/index.js +52 -0
  351. package/dist/utils/index.js.map +1 -0
  352. package/dist/utils/logger.d.ts +77 -0
  353. package/dist/utils/logger.js +271 -0
  354. package/dist/utils/logger.js.map +1 -0
  355. package/dist/utils/pathValidator.d.ts +40 -0
  356. package/dist/utils/pathValidator.js +98 -0
  357. package/dist/utils/pathValidator.js.map +1 -0
  358. package/dist/utils/priorityFilter.d.ts +34 -0
  359. package/dist/utils/priorityFilter.js +54 -0
  360. package/dist/utils/priorityFilter.js.map +1 -0
  361. package/dist/utils/projectDocs.d.ts +47 -0
  362. package/dist/utils/projectDocs.js +158 -0
  363. package/dist/utils/projectDocs.js.map +1 -0
  364. package/dist/utils/promptPaths.d.ts +6 -0
  365. package/dist/utils/promptPaths.js +33 -0
  366. package/dist/utils/promptPaths.js.map +1 -0
  367. package/dist/utils/promptTemplateManager.d.ts +34 -0
  368. package/dist/utils/promptTemplateManager.js +140 -0
  369. package/dist/utils/promptTemplateManager.js.map +1 -0
  370. package/dist/utils/review/consolidateReview.d.ts +15 -0
  371. package/dist/utils/review/consolidateReview.js +481 -0
  372. package/dist/utils/review/consolidateReview.js.map +1 -0
  373. package/dist/utils/review/fixDisplay.d.ts +20 -0
  374. package/dist/utils/review/fixDisplay.js +84 -0
  375. package/dist/utils/review/fixDisplay.js.map +1 -0
  376. package/dist/utils/review/fixImplementation.d.ts +28 -0
  377. package/dist/utils/review/fixImplementation.js +60 -0
  378. package/dist/utils/review/fixImplementation.js.map +1 -0
  379. package/dist/utils/review/index.d.ts +13 -0
  380. package/dist/utils/review/index.js +50 -0
  381. package/dist/utils/review/index.js.map +1 -0
  382. package/dist/utils/review/interactiveProcessing.d.ts +25 -0
  383. package/dist/utils/review/interactiveProcessing.js +251 -0
  384. package/dist/utils/review/interactiveProcessing.js.map +1 -0
  385. package/dist/utils/review/progressTracker.d.ts +106 -0
  386. package/dist/utils/review/progressTracker.js +227 -0
  387. package/dist/utils/review/progressTracker.js.map +1 -0
  388. package/dist/utils/review/reviewExtraction.d.ts +31 -0
  389. package/dist/utils/review/reviewExtraction.js +324 -0
  390. package/dist/utils/review/reviewExtraction.js.map +1 -0
  391. package/dist/utils/review/types.d.ts +45 -0
  392. package/dist/utils/review/types.js +18 -0
  393. package/dist/utils/review/types.js.map +1 -0
  394. package/dist/utils/reviewActionHandler.d.ts +16 -0
  395. package/dist/utils/reviewActionHandler.js +34 -0
  396. package/dist/utils/reviewActionHandler.js.map +1 -0
  397. package/dist/utils/reviewParser.d.ts +34 -0
  398. package/dist/utils/reviewParser.js +218 -0
  399. package/dist/utils/reviewParser.js.map +1 -0
  400. package/dist/utils/sanitizer.d.ts +82 -0
  401. package/dist/utils/sanitizer.js +239 -0
  402. package/dist/utils/sanitizer.js.map +1 -0
  403. package/dist/utils/smartFileSelector.d.ts +50 -0
  404. package/dist/utils/smartFileSelector.js +261 -0
  405. package/dist/utils/smartFileSelector.js.map +1 -0
  406. package/dist/utils/templateLoader.d.ts +44 -0
  407. package/dist/utils/templateLoader.js +431 -0
  408. package/dist/utils/templateLoader.js.map +1 -0
  409. package/dist/utils/treeGenerator.d.ts +12 -0
  410. package/dist/utils/treeGenerator.js +133 -0
  411. package/dist/utils/treeGenerator.js.map +1 -0
  412. package/package.json +11 -12
  413. package/src/index.ts +1 -0
  414. package/src/runtime/debug/logManager.ts +37 -0
  415. package/src/runtime/fileCollector.ts +58 -24
  416. package/src/runtime/preprod/webCheck.ts +104 -0
  417. package/src/runtime/reviewPipeline.ts +10 -4
  418. package/src/runtime/ui/RuntimeApp.tsx +96 -13
  419. package/src/runtime/ui/screens/ModeSelection.tsx +148 -15
  420. package/src/runtime/ui/screens/ProgressScreen.tsx +10 -3
  421. package/src/runtime/ui/screens/ResultsScreen.tsx +8 -1
  422. package/src/utils/logger.ts +64 -14
@@ -0,0 +1,341 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Consolidation Service for Multi-Pass Reviews
4
+ *
5
+ * This service handles the consolidation of multi-pass review results into
6
+ * a single cohesive report. It manages both AI-powered consolidation and
7
+ * fallback consolidation when AI services are unavailable.
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.ConsolidationService = void 0;
14
+ const logger_1 = __importDefault(require("../utils/logger"));
15
+ const consolidateReview_1 = require("../utils/review/consolidateReview");
16
+ /**
17
+ * Service for consolidating multi-pass review results
18
+ */
19
+ class ConsolidationService {
20
+ /**
21
+ * Generate a consolidated report from multi-pass review results
22
+ * @param multiPassResult Combined result from all passes
23
+ * @param apiClientConfig API client configuration
24
+ * @param options Consolidation options
25
+ * @returns Promise resolving to consolidated content
26
+ */
27
+ async generateConsolidatedReport(multiPassResult, apiClientConfig, options) {
28
+ const { projectName, modelName, totalPasses, passResults } = options;
29
+ try {
30
+ logger_1.default.info(`Generating consolidated report for ${projectName} using ${modelName}...`);
31
+ // Attempt AI-powered consolidation
32
+ const consolidatedContent = await this.attemptAiConsolidation(multiPassResult, apiClientConfig, options);
33
+ if (consolidatedContent) {
34
+ logger_1.default.info('Successfully generated AI-powered consolidated report');
35
+ return consolidatedContent;
36
+ }
37
+ // Fall back to manual consolidation
38
+ logger_1.default.warn('AI consolidation failed, falling back to enhanced manual consolidation');
39
+ return this.createEnhancedFallbackConsolidation(multiPassResult, modelName, options);
40
+ }
41
+ catch (error) {
42
+ logger_1.default.error('Error during consolidation:', error);
43
+ logger_1.default.info('Creating fallback consolidation due to error');
44
+ return this.createFallbackConsolidation(multiPassResult, modelName);
45
+ }
46
+ }
47
+ /**
48
+ * Attempt AI-powered consolidation
49
+ * @param multiPassResult Combined result from all passes
50
+ * @param apiClientConfig API client configuration
51
+ * @param options Consolidation options
52
+ * @returns Promise resolving to consolidated content or null if failed
53
+ */
54
+ async attemptAiConsolidation(multiPassResult, apiClientConfig, options) {
55
+ try {
56
+ // Set the project name in the result for consolidation
57
+ const reviewForConsolidation = {
58
+ ...multiPassResult,
59
+ projectName: options.projectName,
60
+ };
61
+ const consolidationResult = await (0, consolidateReview_1.consolidateReview)(reviewForConsolidation);
62
+ if (consolidationResult && consolidationResult.trim() !== '') {
63
+ return consolidationResult;
64
+ }
65
+ logger_1.default.warn('AI consolidation returned empty content');
66
+ return null;
67
+ }
68
+ catch (error) {
69
+ logger_1.default.error('AI consolidation failed:', error);
70
+ return null;
71
+ }
72
+ }
73
+ /**
74
+ * Creates an enhanced fallback consolidation with better error handling
75
+ * @param multiPassResult The combined result from all passes
76
+ * @param modelName The model name used for the review
77
+ * @param options Additional consolidation options
78
+ * @returns Enhanced fallback consolidation content
79
+ */
80
+ createEnhancedFallbackConsolidation(multiPassResult, modelName, options) {
81
+ logger_1.default.info('Creating enhanced fallback consolidation from multi-pass results...');
82
+ const { projectName, totalPasses, passResults } = options;
83
+ const timestamp = new Date().toISOString();
84
+ // Extract findings from all passes
85
+ const findings = this.extractFindingsFromPasses(passResults);
86
+ // Calculate grades and recommendations
87
+ const overallGrade = this.calculateOverallGrade(findings);
88
+ const recommendations = this.generateRecommendations(findings, false);
89
+ // Build the consolidated report
90
+ const sections = [
91
+ `# Code Review: ${projectName}`,
92
+ '',
93
+ `**Review Type:** Multi-Pass Analysis (${totalPasses} passes)`,
94
+ `**Model:** ${modelName}`,
95
+ `**Generated:** ${timestamp}`,
96
+ '',
97
+ '## Executive Summary',
98
+ '',
99
+ `This multi-pass review analyzed the ${projectName} codebase across ${totalPasses} passes, ` +
100
+ `identifying ${findings.high.size + findings.medium.size + findings.low.size} total issues.`,
101
+ '',
102
+ `**Overall Grade:** ${overallGrade}`,
103
+ '',
104
+ '## Key Findings',
105
+ '',
106
+ this.formatFindings(findings),
107
+ '',
108
+ '## Recommendations',
109
+ '',
110
+ ...recommendations.map((rec) => `- ${rec}`),
111
+ '',
112
+ '## Pass Summary',
113
+ '',
114
+ this.generatePassSummary(passResults),
115
+ '',
116
+ '---',
117
+ '',
118
+ '*This report was generated using enhanced fallback consolidation due to AI service limitations.*',
119
+ ];
120
+ return sections.join('\n');
121
+ }
122
+ /**
123
+ * Creates a basic fallback consolidation when AI consolidation fails
124
+ * @param multiPassResult The combined result from all passes
125
+ * @param modelName The model name used for the review
126
+ * @returns Basic fallback consolidation content
127
+ */
128
+ createFallbackConsolidation(multiPassResult, modelName) {
129
+ logger_1.default.info('Creating basic fallback consolidation from multi-pass results...');
130
+ const timestamp = new Date().toISOString();
131
+ const content = multiPassResult.content || 'No content available';
132
+ return [
133
+ `# Multi-Pass Code Review`,
134
+ '',
135
+ `**Model:** ${modelName}`,
136
+ `**Generated:** ${timestamp}`,
137
+ `**Note:** This is a fallback consolidation due to service limitations.`,
138
+ '',
139
+ '## Review Content',
140
+ '',
141
+ content,
142
+ '',
143
+ '---',
144
+ '',
145
+ '*This report was generated using basic fallback consolidation.*',
146
+ ].join('\n');
147
+ }
148
+ /**
149
+ * Extract findings from valid passes
150
+ * @param passResults Array of pass results
151
+ * @returns Categorized findings
152
+ */
153
+ extractFindingsFromPasses(passResults) {
154
+ const highPriorityFindings = new Set();
155
+ const mediumPriorityFindings = new Set();
156
+ const lowPriorityFindings = new Set();
157
+ for (const pass of passResults) {
158
+ if (!pass.content)
159
+ continue;
160
+ const content = pass.content.toLowerCase();
161
+ const issueTexts = this.extractIssueTexts(pass.content);
162
+ for (const issue of issueTexts) {
163
+ const lowerIssue = issue.toLowerCase();
164
+ // Categorize by priority keywords
165
+ if (this.isHighPriority(lowerIssue)) {
166
+ highPriorityFindings.add(issue);
167
+ }
168
+ else if (this.isMediumPriority(lowerIssue)) {
169
+ mediumPriorityFindings.add(issue);
170
+ }
171
+ else {
172
+ lowPriorityFindings.add(issue);
173
+ }
174
+ }
175
+ }
176
+ return {
177
+ high: highPriorityFindings,
178
+ medium: mediumPriorityFindings,
179
+ low: lowPriorityFindings,
180
+ };
181
+ }
182
+ /**
183
+ * Extract individual issue texts from content
184
+ * @param content Review content
185
+ * @returns Array of issue descriptions
186
+ */
187
+ extractIssueTexts(content) {
188
+ const issues = [];
189
+ // Extract bullet points and numbered items
190
+ const bulletRegex = /^[\s]*[-*•]\s+(.+)$/gm;
191
+ const numberedRegex = /^[\s]*\d+\.\s+(.+)$/gm;
192
+ let match;
193
+ while ((match = bulletRegex.exec(content)) !== null) {
194
+ issues.push(match[1].trim());
195
+ }
196
+ while ((match = numberedRegex.exec(content)) !== null) {
197
+ issues.push(match[1].trim());
198
+ }
199
+ return issues;
200
+ }
201
+ /**
202
+ * Check if an issue is high priority
203
+ * @param issue Issue text (lowercase)
204
+ * @returns True if high priority
205
+ */
206
+ isHighPriority(issue) {
207
+ const highPriorityKeywords = [
208
+ 'security',
209
+ 'vulnerability',
210
+ 'critical',
211
+ 'error',
212
+ 'bug',
213
+ 'crash',
214
+ 'memory leak',
215
+ 'performance',
216
+ 'sql injection',
217
+ 'xss',
218
+ ];
219
+ return highPriorityKeywords.some((keyword) => issue.includes(keyword));
220
+ }
221
+ /**
222
+ * Check if an issue is medium priority
223
+ * @param issue Issue text (lowercase)
224
+ * @returns True if medium priority
225
+ */
226
+ isMediumPriority(issue) {
227
+ const mediumPriorityKeywords = [
228
+ 'warning',
229
+ 'deprecated',
230
+ 'inefficient',
231
+ 'refactor',
232
+ 'improve',
233
+ 'optimization',
234
+ 'maintainability',
235
+ 'readability',
236
+ ];
237
+ return mediumPriorityKeywords.some((keyword) => issue.includes(keyword));
238
+ }
239
+ /**
240
+ * Calculate overall grade based on findings
241
+ * @param findings Categorized findings
242
+ * @returns Overall grade string
243
+ */
244
+ calculateOverallGrade(findings) {
245
+ const totalIssues = findings.high.size + findings.medium.size + findings.low.size;
246
+ if (findings.high.size > 5)
247
+ return 'D';
248
+ if (findings.high.size > 2)
249
+ return 'C';
250
+ if (findings.medium.size > 10)
251
+ return 'C+';
252
+ if (findings.medium.size > 5)
253
+ return 'B';
254
+ if (totalIssues > 10)
255
+ return 'B+';
256
+ if (totalIssues > 5)
257
+ return 'A-';
258
+ if (totalIssues > 0)
259
+ return 'A';
260
+ return 'A+';
261
+ }
262
+ /**
263
+ * Generate recommendations based on findings
264
+ * @param findings Categorized findings
265
+ * @param hasErrors Whether there are compilation errors
266
+ * @returns Array of recommendation strings
267
+ */
268
+ generateRecommendations(findings, hasErrors) {
269
+ const recommendations = [];
270
+ if (hasErrors) {
271
+ recommendations.push('Fix compilation errors before proceeding with other improvements');
272
+ }
273
+ if (findings.high.size > 0) {
274
+ recommendations.push(`Address ${findings.high.size} high-priority security and critical issues immediately`);
275
+ }
276
+ if (findings.medium.size > 5) {
277
+ recommendations.push(`Review and address ${findings.medium.size} medium-priority maintainability issues`);
278
+ }
279
+ if (findings.low.size > 10) {
280
+ recommendations.push(`Consider addressing ${findings.low.size} low-priority style and minor issues`);
281
+ }
282
+ if (recommendations.length === 0) {
283
+ recommendations.push('Code quality is good. Continue following current best practices.');
284
+ }
285
+ return recommendations;
286
+ }
287
+ /**
288
+ * Format findings for display
289
+ * @param findings Categorized findings
290
+ * @returns Formatted findings string
291
+ */
292
+ formatFindings(findings) {
293
+ const sections = [];
294
+ if (findings.high.size > 0) {
295
+ sections.push(`**High Priority (${findings.high.size}):**`);
296
+ sections.push(...Array.from(findings.high)
297
+ .slice(0, 5)
298
+ .map((f) => `- ${f}`));
299
+ if (findings.high.size > 5) {
300
+ sections.push(`- ... and ${findings.high.size - 5} more`);
301
+ }
302
+ sections.push('');
303
+ }
304
+ if (findings.medium.size > 0) {
305
+ sections.push(`**Medium Priority (${findings.medium.size}):**`);
306
+ sections.push(...Array.from(findings.medium)
307
+ .slice(0, 3)
308
+ .map((f) => `- ${f}`));
309
+ if (findings.medium.size > 3) {
310
+ sections.push(`- ... and ${findings.medium.size - 3} more`);
311
+ }
312
+ sections.push('');
313
+ }
314
+ if (findings.low.size > 0) {
315
+ sections.push(`**Low Priority (${findings.low.size}):**`);
316
+ sections.push(...Array.from(findings.low)
317
+ .slice(0, 2)
318
+ .map((f) => `- ${f}`));
319
+ if (findings.low.size > 2) {
320
+ sections.push(`- ... and ${findings.low.size - 2} more`);
321
+ }
322
+ }
323
+ return sections.join('\n');
324
+ }
325
+ /**
326
+ * Generate a summary of all passes
327
+ * @param passResults Array of pass results
328
+ * @returns Pass summary string
329
+ */
330
+ generatePassSummary(passResults) {
331
+ return passResults
332
+ .map((result, index) => {
333
+ const passNum = index + 1;
334
+ const wordCount = result.content ? result.content.split(/\s+/).length : 0;
335
+ return `**Pass ${passNum}:** ${wordCount} words of analysis`;
336
+ })
337
+ .join('\n');
338
+ }
339
+ }
340
+ exports.ConsolidationService = ConsolidationService;
341
+ //# sourceMappingURL=ConsolidationService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConsolidationService.js","sourceRoot":"","sources":["../../src/core/ConsolidationService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @fileoverview Interactive display manager module.
3
+ *
4
+ * This module is responsible for handling the interactive display of review results.
5
+ * It centralizes the logic for displaying review results and handling user interaction.
6
+ */
7
+ import type { ReviewOptions } from '../types/review';
8
+ import type { PriorityFilter } from '../types/common';
9
+ /**
10
+ * Display review results in interactive mode
11
+ * @param reviewPath Path to the review file
12
+ * @param projectPath Path to the project
13
+ * @param options Review options
14
+ * @returns Promise resolving when the display is complete
15
+ */
16
+ export declare function displayReviewInteractively(reviewPath: string, projectPath: string, options: ReviewOptions): Promise<void>;
17
+ /**
18
+ * Get the priority filter from review options
19
+ * @param options Review options that may contain the priority filter
20
+ * @returns The priority filter (h, m, l, or a) or undefined if not specified
21
+ */
22
+ export declare function getPriorityFilterFromOptions(options?: ReviewOptions): PriorityFilter | undefined;
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Interactive display manager module.
4
+ *
5
+ * This module is responsible for handling the interactive display of review results.
6
+ * It centralizes the logic for displaying review results and handling user interaction.
7
+ */
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.displayReviewInteractively = displayReviewInteractively;
13
+ exports.getPriorityFilterFromOptions = getPriorityFilterFromOptions;
14
+ const promises_1 = __importDefault(require("node:fs/promises"));
15
+ const logger_1 = __importDefault(require("../utils/logger"));
16
+ const reviewActionHandler_1 = require("../utils/reviewActionHandler");
17
+ /**
18
+ * Display review results in interactive mode
19
+ * @param reviewPath Path to the review file
20
+ * @param projectPath Path to the project
21
+ * @param options Review options
22
+ * @returns Promise resolving when the display is complete
23
+ */
24
+ async function displayReviewInteractively(reviewPath, projectPath, options) {
25
+ try {
26
+ logger_1.default.info('\nDisplaying review results in interactive mode...');
27
+ // Read the review content
28
+ const reviewContent = await promises_1.default.readFile(reviewPath, 'utf-8');
29
+ // Get the priority filter from the options
30
+ const priorityFilter = getPriorityFilterFromOptions(options);
31
+ // Display the review results
32
+ const results = await (0, reviewActionHandler_1.displayReviewResults)(reviewContent, projectPath, priorityFilter);
33
+ // Print summary
34
+ logger_1.default.info('\n--- Review Summary ---');
35
+ logger_1.default.info(`Total issues found: ${results.totalSuggestions}`);
36
+ logger_1.default.info(`High priority issues: ${results.highPrioritySuggestions.length}`);
37
+ logger_1.default.info(`Medium priority issues: ${results.mediumPrioritySuggestions.length}`);
38
+ logger_1.default.info(`Low priority issues: ${results.lowPrioritySuggestions.length}`);
39
+ logger_1.default.info('----------------------');
40
+ }
41
+ catch (error) {
42
+ logger_1.default.error(`Error displaying review results: ${error instanceof Error ? error.message : String(error)}`);
43
+ throw error;
44
+ }
45
+ }
46
+ /**
47
+ * Get the priority filter from review options
48
+ * @param options Review options that may contain the priority filter
49
+ * @returns The priority filter (h, m, l, or a) or undefined if not specified
50
+ */
51
+ function getPriorityFilterFromOptions(options) {
52
+ // First check if the interactive option is a string (priority filter)
53
+ if (options &&
54
+ typeof options.interactive === 'string' &&
55
+ ['h', 'm', 'l', 'a'].includes(options.interactive)) {
56
+ return options.interactive;
57
+ }
58
+ // Otherwise check if there's a priority filter argument after --interactive
59
+ const args = process.argv;
60
+ const interactiveIndex = args.findIndex((arg) => arg === '--interactive' || arg === '-i');
61
+ if (interactiveIndex !== -1 && interactiveIndex < args.length - 1) {
62
+ const nextArg = args[interactiveIndex + 1];
63
+ // Check if the next argument is a priority filter and not another option
64
+ if (['h', 'm', 'l', 'a'].includes(nextArg) && !nextArg.startsWith('-')) {
65
+ return nextArg;
66
+ }
67
+ }
68
+ return undefined;
69
+ }
70
+ //# sourceMappingURL=InteractiveDisplayManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InteractiveDisplayManager.js","sourceRoot":"","sources":["../../src/core/InteractiveDisplayManager.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;AAeH,gEA8BC;AAOD,oEAuBC;AAzED,gEAAkC;AAGlC,6DAAqC;AACrC,sEAAoE;AAEpE;;;;;;GAMG;AACI,KAAK,UAAU,0BAA0B,CAC9C,UAAkB,EAClB,WAAmB,EACnB,OAAsB;IAEtB,IAAI,CAAC;QACH,gBAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;QAElE,0BAA0B;QAC1B,MAAM,aAAa,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAE7D,2CAA2C;QAC3C,MAAM,cAAc,GAAG,4BAA4B,CAAC,OAAO,CAAC,CAAC;QAE7D,6BAA6B;QAC7B,MAAM,OAAO,GAAG,MAAM,IAAA,0CAAoB,EAAC,aAAa,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;QAEvF,gBAAgB;QAChB,gBAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACxC,gBAAM,CAAC,IAAI,CAAC,uBAAuB,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAC/D,gBAAM,CAAC,IAAI,CAAC,yBAAyB,OAAO,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/E,gBAAM,CAAC,IAAI,CAAC,2BAA2B,OAAO,CAAC,yBAAyB,CAAC,MAAM,EAAE,CAAC,CAAC;QACnF,gBAAM,CAAC,IAAI,CAAC,wBAAwB,OAAO,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7E,gBAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACxC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,gBAAM,CAAC,KAAK,CACV,oCAAoC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC7F,CAAC;QACF,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAgB,4BAA4B,CAAC,OAAuB;IAClE,sEAAsE;IACtE,IACE,OAAO;QACP,OAAO,OAAO,CAAC,WAAW,KAAK,QAAQ;QACvC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,EAClD,CAAC;QACD,OAAO,OAAO,CAAC,WAA6B,CAAC;IAC/C,CAAC;IAED,4EAA4E;IAC5E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1B,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,eAAe,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC;IAE1F,IAAI,gBAAgB,KAAK,CAAC,CAAC,IAAI,gBAAgB,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClE,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;QAC3C,yEAAyE;QACzE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACvE,OAAO,OAAyB,CAAC;QACnC,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @fileoverview Output manager module.
3
+ *
4
+ * This module is responsible for formatting and saving review outputs to files.
5
+ * It centralizes the logic for generating output paths and writing review results.
6
+ */
7
+ import type { FileInfo, ReviewOptions, ReviewResult } from '../types/review';
8
+ /**
9
+ * Add file tree visualization to a review
10
+ * @param formattedOutput Formatted review output (markdown or JSON)
11
+ * @param files Files included in the review
12
+ * @param outputFormat Output format (markdown or json)
13
+ * @returns Enhanced output with file tree
14
+ */
15
+ export declare function addFileTreeToReview(formattedOutput: string, files: FileInfo[], outputFormat: string): string;
16
+ /**
17
+ * Format and save a review result to a file
18
+ * @param review Review result to save
19
+ * @param options Review options
20
+ * @param outputBaseDir Base directory for output
21
+ * @param modelName Name of the model used for the review
22
+ * @param targetName Name of the target file or directory
23
+ * @param files Optional array of file information to include in the review
24
+ * @returns Promise resolving to the path of the saved file
25
+ */
26
+ export declare function saveReviewOutput(review: ReviewResult, options: ReviewOptions, outputBaseDir: string, modelName: string, targetName: string, files?: FileInfo[]): Promise<string>;