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,128 +0,0 @@
1
- import React, { useCallback, useEffect, useState } from 'react';
2
- import type { SessionUser } from '../../auth/types';
3
- import { authenticate } from '../../auth/service';
4
- import { saveSession } from '../../auth/session';
5
- import { useLayout } from '../Layout';
6
- import { getInk, getInkSpinner, getInkTextInput } from '../inkModules';
7
-
8
- interface AuthScreenProps {
9
- onAuth: (user: SessionUser) => void;
10
- }
11
-
12
- export function AuthScreen({ onAuth }: AuthScreenProps) {
13
- const { frameWidth } = useLayout();
14
- const { Box, Text, useInput } = getInk();
15
- const Spinner = getInkSpinner();
16
- const TextInput = getInkTextInput();
17
- const [username, setUsername] = useState('');
18
- const [password, setPassword] = useState('');
19
- const [error, setError] = useState<string | null>(null);
20
- const [submitting, setSubmitting] = useState(false);
21
- const [step, setStep] = useState<'username' | 'password'>('username');
22
-
23
- const handleSubmit = useCallback(async () => {
24
- if (submitting) return;
25
-
26
- if (!username.trim() || !password.trim()) {
27
- setError('Username and password are required');
28
- return;
29
- }
30
-
31
- try {
32
- setSubmitting(true);
33
- setError(null);
34
- const result = await authenticate(username.trim(), password.trim());
35
- saveSession(result.token);
36
- process.env.CR_AIA_PROXY_SESSION_TOKEN = result.token;
37
- onAuth(result.user);
38
- } catch (authError) {
39
- const message = authError instanceof Error ? authError.message : 'Authentication failed';
40
- setError(message);
41
- setSubmitting(false);
42
- }
43
- }, [username, password, submitting, onAuth]);
44
-
45
- const handleAdvance = useCallback(() => {
46
- if (step === 'password') {
47
- return;
48
- }
49
- if (!username.trim()) {
50
- setError('Username is required');
51
- return;
52
- }
53
- setError(null);
54
- setStep('password');
55
- }, [step, username]);
56
-
57
- useInput((input, key) => {
58
- if (key.return) {
59
- if (step === 'username') {
60
- handleAdvance();
61
- } else {
62
- handleSubmit();
63
- }
64
- }
65
- });
66
-
67
- useEffect(() => {
68
- setError(null);
69
- }, [username, password]);
70
-
71
- return (
72
- <Box
73
- width={frameWidth}
74
- flexDirection="column"
75
- borderStyle="round"
76
- borderColor="cyan"
77
- paddingX={2}
78
- paddingY={1}
79
- gap={1}
80
- >
81
- <Text color="cyan" bold>
82
- Sign in
83
- </Text>
84
- <Text dimColor>
85
- {step === 'username' ? 'Type your username, press Enter.' : 'Type your password, press Enter to submit.'}
86
- </Text>
87
-
88
- <Box flexDirection="column" gap={1}>
89
- <Box flexDirection="column">
90
- <Text dimColor>Username</Text>
91
- <TextInput
92
- value={username}
93
- onChange={setUsername}
94
- placeholder="username"
95
- focus={step === 'username' && !submitting}
96
- />
97
- </Box>
98
-
99
- <Box flexDirection="column">
100
- <Text dimColor>Password</Text>
101
- <TextInput
102
- value={password}
103
- onChange={setPassword}
104
- mask="*"
105
- placeholder={step === 'password' ? 'password' : 'Press Enter after username'}
106
- focus={step === 'password' && !submitting}
107
- showCursor={step === 'password'}
108
- />
109
- </Box>
110
- </Box>
111
-
112
- {submitting && (
113
- <Box>
114
- <Text>
115
- <Spinner type="dots" /> Authenticating…
116
- </Text>
117
- </Box>
118
- )}
119
-
120
- {error && (
121
- <Box>
122
- <Text color="red">{error}</Text>
123
- </Box>
124
- )}
125
- </Box>
126
- );
127
- }
128
-
@@ -1,185 +0,0 @@
1
- import React, { useCallback, useState } from 'react';
2
- import { getInk, getInkSelectInput, getInkTextInput } from '../inkModules';
3
- import { useLayout } from '../Layout';
4
- import type { ReviewMode } from '../../reviewPipeline';
5
-
6
- interface ModeSelectionProps {
7
- onSelect: (mode: ReviewMode, extras?: { targetUrl?: string }) => void;
8
- debugEnabled: boolean;
9
- onToggleDebug: () => void;
10
- }
11
-
12
- interface ModeOption {
13
- label: string;
14
- value: ReviewMode;
15
- description: string;
16
- requiresUrl?: boolean;
17
- }
18
-
19
- const OPTIONS: ModeOption[] = [
20
- {
21
- label: 'Review uncommitted changes',
22
- value: 'uncommitted',
23
- description: 'Scan staged and unstaged changes only',
24
- },
25
- {
26
- label: 'Pre-production review',
27
- value: 'preprod',
28
- description: 'Scan the entire workspace and trigger website checks',
29
- requiresUrl: true,
30
- },
31
- ];
32
-
33
- export function ModeSelection({ onSelect, debugEnabled, onToggleDebug }: ModeSelectionProps) {
34
- const { Box, Text, useInput } = getInk();
35
- const SelectInput = getInkSelectInput();
36
- const TextInput = getInkTextInput();
37
- const { frameWidth } = useLayout();
38
- const [phase, setPhase] = useState<'list' | 'preprodUrl'>('list');
39
- const [pendingMode, setPendingMode] = useState<ReviewMode>('preprod');
40
- const [highlighted, setHighlighted] = useState<ReviewMode>('uncommitted');
41
- const [urlValue, setUrlValue] = useState('');
42
- const [urlError, setUrlError] = useState<string | null>(null);
43
-
44
- const resetUrlState = useCallback(() => {
45
- setUrlValue('');
46
- setUrlError(null);
47
- }, []);
48
-
49
- const handleModeSelect = useCallback(
50
- (mode: ReviewMode) => {
51
- const option = OPTIONS.find((opt) => opt.value === mode);
52
- if (!option) {
53
- return;
54
- }
55
-
56
- if (option.requiresUrl) {
57
- setPendingMode(option.value);
58
- resetUrlState();
59
- setPhase('preprodUrl');
60
- return;
61
- }
62
-
63
- onSelect(option.value);
64
- },
65
- [onSelect, resetUrlState],
66
- );
67
-
68
- const submitUrl = useCallback(() => {
69
- if (phase !== 'preprodUrl') {
70
- return;
71
- }
72
-
73
- const trimmed = urlValue.trim();
74
- if (!trimmed) {
75
- setUrlError('URL is required');
76
- return;
77
- }
78
-
79
- try {
80
- const parsed = new URL(trimmed);
81
- if (!['http:', 'https:'].includes(parsed.protocol)) {
82
- throw new Error('invalid');
83
- }
84
- setUrlError(null);
85
- onSelect(pendingMode, { targetUrl: parsed.toString() });
86
- } catch {
87
- setUrlError('Enter a valid URL starting with http:// or https://');
88
- }
89
- }, [onSelect, pendingMode, phase, urlValue]);
90
-
91
- useInput((input, key) => {
92
- const normalizedInput = input.toLowerCase();
93
- if (normalizedInput === 'd' && !key.ctrl && !key.meta) {
94
- onToggleDebug();
95
- return;
96
- }
97
-
98
- if (phase !== 'preprodUrl') {
99
- return;
100
- }
101
-
102
- if (key.escape) {
103
- setPhase('list');
104
- resetUrlState();
105
- return;
106
- }
107
-
108
- if (key.return) {
109
- submitUrl();
110
- }
111
- });
112
-
113
- if (phase === 'preprodUrl') {
114
- return (
115
- <Box
116
- width={frameWidth}
117
- flexDirection="column"
118
- borderStyle="round"
119
- borderColor="cyan"
120
- paddingX={2}
121
- paddingY={1}
122
- gap={1}
123
- >
124
- <Text color="cyan" bold>
125
- Pre-production review
126
- </Text>
127
- <Text dimColor>Enter the full website URL. We will trigger ai.enki.si and scan every file here.</Text>
128
- <Box flexDirection="column">
129
- <Text dimColor>Target URL</Text>
130
- <TextInput
131
- value={urlValue}
132
- onChange={(value) => {
133
- setUrlValue(value);
134
- if (urlError) {
135
- setUrlError(null);
136
- }
137
- }}
138
- placeholder="https://example.com"
139
- focus
140
- />
141
- </Box>
142
- {urlError && (
143
- <Text color="red">{urlError}</Text>
144
- )}
145
- <Box justifyContent="space-between">
146
- <Text dimColor>Press Enter to start · Esc to go back</Text>
147
- <Text dimColor>Debug: {debugEnabled ? 'On' : 'Off'} (press D)</Text>
148
- </Box>
149
- </Box>
150
- );
151
- }
152
-
153
- return (
154
- <Box
155
- width={frameWidth}
156
- flexDirection="column"
157
- borderStyle="round"
158
- borderColor="green"
159
- paddingX={2}
160
- paddingY={1}
161
- gap={1}
162
- >
163
- <Box justifyContent="space-between" alignItems="center">
164
- <Text color="green" bold>
165
- Choose review mode
166
- </Text>
167
- <Text dimColor>Debug: {debugEnabled ? 'On' : 'Off'} (press D)</Text>
168
- </Box>
169
- <Text dimColor>Use arrow keys, press Enter to start.</Text>
170
- <SelectInput
171
- items={OPTIONS.map((option) => ({
172
- label: option.label,
173
- value: option.value,
174
- }))}
175
- onHighlight={(item) => setHighlighted(item.value as ReviewMode)}
176
- onSelect={(item) => handleModeSelect(item.value as ReviewMode)}
177
- />
178
- <Box flexDirection="column" marginTop={1}>
179
- <Text dimColor>
180
- · {OPTIONS.find((option) => option.value === highlighted)?.description}
181
- </Text>
182
- </Box>
183
- </Box>
184
- );
185
- }
@@ -1,110 +0,0 @@
1
- import React, { useMemo } from 'react';
2
- import { useLayout } from '../Layout';
3
- import type { ReviewStage } from '../../reviewPipeline';
4
- import { getInk, getInkSpinner } from '../inkModules';
5
-
6
- interface ProgressScreenProps {
7
- stage: ReviewStage;
8
- filesFound?: number;
9
- currentFile?: string;
10
- currentIndex?: number;
11
- totalFiles?: number;
12
- uncommittedFiles?: number;
13
- contextFiles?: number;
14
- }
15
-
16
- const STAGE_TEXT: Record<ReviewStage, { title: string; detail: string }> = {
17
- preparing: {
18
- title: 'Preparing run',
19
- detail: 'Triggering website checks and configuring the reviewer',
20
- },
21
- collecting: {
22
- title: 'Collecting files',
23
- detail: 'Inspecting your working tree',
24
- },
25
- reviewing: {
26
- title: 'Running AI review',
27
- detail: 'Streaming code to the reviewer',
28
- },
29
- merging: {
30
- title: 'Merging reports',
31
- detail: 'Normalizing findings and cost data',
32
- },
33
- };
34
-
35
- export function ProgressScreen({
36
- stage,
37
- filesFound,
38
- currentFile,
39
- currentIndex,
40
- totalFiles,
41
- uncommittedFiles,
42
- contextFiles,
43
- }: ProgressScreenProps) {
44
- const { Box, Text } = getInk();
45
- const Spinner = getInkSpinner();
46
- const { frameWidth } = useLayout();
47
-
48
- const meta = useMemo(() => STAGE_TEXT[stage], [stage]);
49
- const base = typeof uncommittedFiles === 'number' ? uncommittedFiles : undefined;
50
- const context = typeof contextFiles === 'number' ? contextFiles : undefined;
51
- const totalBreakdown =
52
- base !== undefined || context !== undefined
53
- ? `Queued: ${base ?? '?'} uncommitted${context ? ` + ${context} context` : ''}`
54
- : '';
55
- const fileStatus =
56
- stage === 'collecting' && typeof filesFound === 'number' && filesFound >= 0
57
- ? `${filesFound} files queued`
58
- : stage === 'collecting'
59
- ? 'Preparing file list…'
60
- : '';
61
-
62
- const showReviewingProgress =
63
- stage === 'reviewing' &&
64
- typeof currentIndex === 'number' &&
65
- typeof totalFiles === 'number' &&
66
- totalFiles > 0 &&
67
- Boolean(currentFile);
68
-
69
- const truncatedPath = useMemo(() => {
70
- if (!currentFile) return '';
71
- const availableWidth = Math.max(10, frameWidth - 10);
72
- return truncateMiddle(currentFile, availableWidth);
73
- }, [currentFile, frameWidth]);
74
-
75
- return (
76
- <Box
77
- width={frameWidth}
78
- flexDirection="column"
79
- borderStyle="round"
80
- borderColor="cyan"
81
- paddingX={2}
82
- paddingY={1}
83
- gap={1}
84
- >
85
- <Box gap={1}>
86
- <Text>
87
- <Spinner type="line" /> {meta.title}
88
- </Text>
89
- </Box>
90
- <Text dimColor>{meta.detail}</Text>
91
- {fileStatus && <Text dimColor>{fileStatus}</Text>}
92
- {totalBreakdown && <Text dimColor>{totalBreakdown}</Text>}
93
- {showReviewingProgress && (
94
- <Text dimColor>{`Reviewing (${currentIndex}/${totalFiles}): ${truncatedPath}`}</Text>
95
- )}
96
- </Box>
97
- );
98
- }
99
-
100
- function truncateMiddle(value: string, maxLength: number): string {
101
- if (value.length <= maxLength) {
102
- return value;
103
- }
104
-
105
- const ellipsis = '…';
106
- const keep = Math.max(1, Math.floor((maxLength - ellipsis.length) / 2));
107
- const start = value.slice(0, keep);
108
- const end = value.slice(value.length - keep);
109
- return `${start}${ellipsis}${end}`;
110
- }
@@ -1,103 +0,0 @@
1
- import React, { useMemo } from 'react';
2
- import type { ReviewResult } from '../../reviewPipeline';
3
- import { useLayout } from '../Layout';
4
- import { getInk } from '../inkModules';
5
-
6
- interface ResultsScreenProps {
7
- result: ReviewResult;
8
- debugLogPath?: string | null;
9
- }
10
-
11
- export function ResultsScreen({ result, debugLogPath }: ResultsScreenProps) {
12
- const { Box, Text } = getInk();
13
- const { frameWidth } = useLayout();
14
-
15
- const severityRows = useMemo(() => {
16
- const totals = result.totals || { critical: 0, high: 0, medium: 0, low: 0 };
17
- return [
18
- { label: 'Critical', value: totals.critical ?? 0 },
19
- { label: 'High', value: totals.high ?? 0 },
20
- { label: 'Medium', value: totals.medium ?? 0 },
21
- { label: 'Low', value: totals.low ?? 0 },
22
- ];
23
- }, [result.totals]);
24
-
25
- const scopeLine = useMemo(() => {
26
- const breakdown = result.fileBreakdown;
27
- if (!breakdown) return null;
28
- return `Scope: ${breakdown.uncommitted} uncommitted + ${breakdown.context} context files`;
29
- }, [result.fileBreakdown]);
30
-
31
- const summaryText = result.reportSummary?.trim() || 'Summary unavailable. Open the saved report for details.';
32
-
33
- return (
34
- <Box
35
- width={frameWidth}
36
- flexDirection="column"
37
- borderStyle="round"
38
- borderColor="green"
39
- paddingX={2}
40
- paddingY={1}
41
- gap={1}
42
- >
43
- <Text color="green" bold>
44
- Review complete for {result.repo}
45
- </Text>
46
- <Text dimColor>Duration: {result.duration}s — Files reviewed: {result.filesReviewed}</Text>
47
- {scopeLine && <Text dimColor>{scopeLine}</Text>}
48
-
49
- <Box flexDirection="column" borderStyle="round" borderColor="cyan" paddingX={1} paddingY={0}>
50
- <Text color="cyan" bold>
51
- LLM summary
52
- </Text>
53
- <Text>{summaryText}</Text>
54
- </Box>
55
-
56
- <Box flexDirection="column" marginTop={1}>
57
- <Text bold>Severity totals</Text>
58
- <Box flexDirection="row" flexWrap="wrap">
59
- {severityRows.map((row) => (
60
- <Box key={row.label} width={24}>
61
- <Text>
62
- {row.label}: {row.value}
63
- </Text>
64
- </Box>
65
- ))}
66
- </Box>
67
- </Box>
68
-
69
- {result.findings.length === 0 ? (
70
- <Text dimColor>No findings reported.</Text>
71
- ) : (
72
- <Box flexDirection="column" marginTop={1}>
73
- <Text bold>Sample findings</Text>
74
- {result.findings.slice(0, 5).map((finding, index) => (
75
- <Text key={`${finding.filePath ?? finding.file ?? 'unknown'}-${index}`} dimColor>
76
- · {finding.filePath ?? finding.file ?? 'unknown'}{' '}
77
- {finding.priority ? `(${finding.priority})` : ''}
78
- </Text>
79
- ))}
80
- {result.findings.length > 5 && (
81
- <Text dimColor>…and {result.findings.length - 5} more in the saved report.</Text>
82
- )}
83
- </Box>
84
- )}
85
-
86
- {result.reportPath && (
87
- <Box marginTop={1}>
88
- <Text dimColor>Report saved to: {result.reportPath}</Text>
89
- </Box>
90
- )}
91
-
92
- {debugLogPath && (
93
- <Box marginTop={1}>
94
- <Text dimColor>Debug logs saved to: {debugLogPath}</Text>
95
- </Box>
96
- )}
97
-
98
- <Box marginTop={1}>
99
- <Text dimColor>Press Enter to return to mode selection.</Text>
100
- </Box>
101
- </Box>
102
- );
103
- }
@@ -1,54 +0,0 @@
1
- /**
2
- * @fileoverview Architectural review strategy implementation.
3
- *
4
- * This module implements the architectural review strategy, which analyzes the entire
5
- * codebase structure and design patterns to provide high-level feedback.
6
- */
7
-
8
- import type { ApiClientConfig } from '../core/ApiClientSelector';
9
- import { generateReview } from '../core/ReviewGenerator';
10
- import type { FileInfo, ReviewOptions, ReviewResult /* , ReviewType */ } from '../types/review'; // ReviewType not used
11
- import logger from '../utils/logger';
12
- import type { ProjectDocs } from '../utils/projectDocs';
13
- import { BaseReviewStrategy } from './ReviewStrategy';
14
-
15
- /**
16
- * Strategy for architectural reviews
17
- */
18
- export class ArchitecturalReviewStrategy extends BaseReviewStrategy {
19
- /**
20
- * Create a new architectural review strategy
21
- */
22
- constructor() {
23
- super('architectural');
24
- }
25
-
26
- /**
27
- * Execute the architectural review strategy
28
- * @param files Files to review
29
- * @param projectName Project name
30
- * @param projectDocs Project documentation
31
- * @param options Review options
32
- * @param apiClientConfig API client configuration
33
- * @returns Promise resolving to the review result
34
- */
35
- async execute(
36
- files: FileInfo[],
37
- projectName: string,
38
- projectDocs: ProjectDocs | null,
39
- options: ReviewOptions,
40
- apiClientConfig: ApiClientConfig,
41
- ): Promise<ReviewResult> {
42
- logger.info('Executing architectural review strategy...');
43
-
44
- // Generate the review using the selected API client
45
- return generateReview(
46
- files,
47
- projectName,
48
- this.reviewType,
49
- projectDocs,
50
- options,
51
- apiClientConfig,
52
- );
53
- }
54
- }