codereview-aia 0.2.0 → 0.2.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 (435) hide show
  1. package/dist/index.js +0 -7
  2. package/dist/index.js.map +1 -1
  3. package/dist/runtime/api/batcher.d.ts +20 -0
  4. package/dist/runtime/api/batcher.js +52 -0
  5. package/dist/runtime/api/batcher.js.map +1 -0
  6. package/dist/runtime/api/edgeClient.d.ts +102 -0
  7. package/dist/runtime/api/edgeClient.js +162 -0
  8. package/dist/runtime/api/edgeClient.js.map +1 -0
  9. package/dist/runtime/api/index.d.ts +2 -0
  10. package/dist/runtime/api/index.js +9 -0
  11. package/dist/runtime/api/index.js.map +1 -0
  12. package/dist/runtime/cliEntry.js +24 -76
  13. package/dist/runtime/cliEntry.js.map +1 -1
  14. package/dist/runtime/errors.d.ts +13 -3
  15. package/dist/runtime/errors.js +31 -8
  16. package/dist/runtime/errors.js.map +1 -1
  17. package/dist/runtime/llm/index.d.ts +1 -0
  18. package/dist/runtime/llm/index.js +6 -0
  19. package/dist/runtime/llm/index.js.map +1 -0
  20. package/dist/runtime/llm/openRouterClient.d.ts +13 -0
  21. package/dist/runtime/llm/openRouterClient.js +187 -0
  22. package/dist/runtime/llm/openRouterClient.js.map +1 -0
  23. package/dist/runtime/phpFileResolver.d.ts +14 -0
  24. package/dist/runtime/phpFileResolver.js +231 -0
  25. package/dist/runtime/phpFileResolver.js.map +1 -0
  26. package/dist/runtime/phpcsParser.d.ts +10 -0
  27. package/dist/runtime/phpcsParser.js +35 -0
  28. package/dist/runtime/phpcsParser.js.map +1 -0
  29. package/dist/runtime/phpcsRunner.d.ts +32 -0
  30. package/dist/runtime/phpcsRunner.js +62 -0
  31. package/dist/runtime/phpcsRunner.js.map +1 -0
  32. package/dist/runtime/reportWriter.d.ts +17 -0
  33. package/dist/runtime/reportWriter.js +80 -0
  34. package/dist/runtime/reportWriter.js.map +1 -0
  35. package/dist/runtime/reviewPipeline.d.ts +14 -36
  36. package/dist/runtime/reviewPipeline.js +146 -199
  37. package/dist/runtime/reviewPipeline.js.map +1 -1
  38. package/dist/runtime/ui/RuntimeApp.js +23 -154
  39. package/dist/runtime/ui/RuntimeApp.js.map +1 -1
  40. package/dist/runtime/ui/screens/AuthScreen.d.ts +2 -3
  41. package/dist/runtime/ui/screens/AuthScreen.js +7 -53
  42. package/dist/runtime/ui/screens/AuthScreen.js.map +1 -1
  43. package/dist/runtime/ui/screens/ModeSelection.d.ts +1 -2
  44. package/dist/runtime/ui/screens/ModeSelection.js +14 -139
  45. package/dist/runtime/ui/screens/ModeSelection.js.map +1 -1
  46. package/dist/runtime/ui/screens/ProgressScreen.d.ts +5 -13
  47. package/dist/runtime/ui/screens/ProgressScreen.js +24 -61
  48. package/dist/runtime/ui/screens/ProgressScreen.js.map +1 -1
  49. package/dist/runtime/ui/screens/ResultsScreen.js +7 -17
  50. package/dist/runtime/ui/screens/ResultsScreen.js.map +1 -1
  51. package/package.json +4 -44
  52. package/dist/analysis/FindingsExtractor.d.ts +0 -105
  53. package/dist/analysis/FindingsExtractor.js +0 -363
  54. package/dist/analysis/FindingsExtractor.js.map +0 -1
  55. package/dist/analysis/ai-detection/analyzers/BaseAnalyzer.d.ts +0 -111
  56. package/dist/analysis/ai-detection/analyzers/BaseAnalyzer.js +0 -215
  57. package/dist/analysis/ai-detection/analyzers/BaseAnalyzer.js.map +0 -1
  58. package/dist/analysis/ai-detection/analyzers/DocumentationAnalyzer.d.ts +0 -142
  59. package/dist/analysis/ai-detection/analyzers/DocumentationAnalyzer.js +0 -503
  60. package/dist/analysis/ai-detection/analyzers/DocumentationAnalyzer.js.map +0 -1
  61. package/dist/analysis/ai-detection/analyzers/GitHistoryAnalyzer.d.ts +0 -88
  62. package/dist/analysis/ai-detection/analyzers/GitHistoryAnalyzer.js +0 -343
  63. package/dist/analysis/ai-detection/analyzers/GitHistoryAnalyzer.js.map +0 -1
  64. package/dist/analysis/ai-detection/core/AIDetectionEngine.d.ts +0 -104
  65. package/dist/analysis/ai-detection/core/AIDetectionEngine.js +0 -369
  66. package/dist/analysis/ai-detection/core/AIDetectionEngine.js.map +0 -1
  67. package/dist/analysis/ai-detection/types/DetectionTypes.d.ts +0 -364
  68. package/dist/analysis/ai-detection/types/DetectionTypes.js +0 -32
  69. package/dist/analysis/ai-detection/types/DetectionTypes.js.map +0 -1
  70. package/dist/analysis/ai-detection/utils/SubmissionConverter.d.ts +0 -97
  71. package/dist/analysis/ai-detection/utils/SubmissionConverter.js +0 -339
  72. package/dist/analysis/ai-detection/utils/SubmissionConverter.js.map +0 -1
  73. package/dist/analysis/context/ReviewContext.d.ts +0 -184
  74. package/dist/analysis/context/ReviewContext.js +0 -294
  75. package/dist/analysis/context/ReviewContext.js.map +0 -1
  76. package/dist/analysis/context/index.d.ts +0 -6
  77. package/dist/analysis/context/index.js +0 -23
  78. package/dist/analysis/context/index.js.map +0 -1
  79. package/dist/analysis/index.d.ts +0 -7
  80. package/dist/analysis/index.js +0 -24
  81. package/dist/analysis/index.js.map +0 -1
  82. package/dist/analysis/static/wpPhpcsRunner.d.ts +0 -11
  83. package/dist/analysis/static/wpPhpcsRunner.js +0 -219
  84. package/dist/analysis/static/wpPhpcsRunner.js.map +0 -1
  85. package/dist/analysis/tokens/TokenAnalysisFormatter.d.ts +0 -27
  86. package/dist/analysis/tokens/TokenAnalysisFormatter.js +0 -143
  87. package/dist/analysis/tokens/TokenAnalysisFormatter.js.map +0 -1
  88. package/dist/analysis/tokens/TokenAnalyzer.d.ts +0 -155
  89. package/dist/analysis/tokens/TokenAnalyzer.js +0 -502
  90. package/dist/analysis/tokens/TokenAnalyzer.js.map +0 -1
  91. package/dist/analysis/tokens/index.d.ts +0 -7
  92. package/dist/analysis/tokens/index.js +0 -24
  93. package/dist/analysis/tokens/index.js.map +0 -1
  94. package/dist/clients/base/abstractClient.d.ts +0 -99
  95. package/dist/clients/base/abstractClient.js +0 -98
  96. package/dist/clients/base/abstractClient.js.map +0 -1
  97. package/dist/clients/base/httpClient.d.ts +0 -24
  98. package/dist/clients/base/httpClient.js +0 -147
  99. package/dist/clients/base/httpClient.js.map +0 -1
  100. package/dist/clients/base/index.d.ts +0 -11
  101. package/dist/clients/base/index.js +0 -28
  102. package/dist/clients/base/index.js.map +0 -1
  103. package/dist/clients/base/modelDetection.d.ts +0 -41
  104. package/dist/clients/base/modelDetection.js +0 -88
  105. package/dist/clients/base/modelDetection.js.map +0 -1
  106. package/dist/clients/base/responseProcessor.d.ts +0 -45
  107. package/dist/clients/base/responseProcessor.js +0 -495
  108. package/dist/clients/base/responseProcessor.js.map +0 -1
  109. package/dist/clients/factory/clientFactory.d.ts +0 -23
  110. package/dist/clients/factory/clientFactory.js +0 -50
  111. package/dist/clients/factory/clientFactory.js.map +0 -1
  112. package/dist/clients/factory/index.d.ts +0 -7
  113. package/dist/clients/factory/index.js +0 -24
  114. package/dist/clients/factory/index.js.map +0 -1
  115. package/dist/clients/implementations/index.d.ts +0 -7
  116. package/dist/clients/implementations/index.js +0 -24
  117. package/dist/clients/implementations/index.js.map +0 -1
  118. package/dist/clients/implementations/openRouterClient.d.ts +0 -69
  119. package/dist/clients/implementations/openRouterClient.js +0 -294
  120. package/dist/clients/implementations/openRouterClient.js.map +0 -1
  121. package/dist/clients/openRouterClient.d.ts +0 -42
  122. package/dist/clients/openRouterClient.js +0 -580
  123. package/dist/clients/openRouterClient.js.map +0 -1
  124. package/dist/clients/openRouterClientWrapper.d.ts +0 -22
  125. package/dist/clients/openRouterClientWrapper.js +0 -64
  126. package/dist/clients/openRouterClientWrapper.js.map +0 -1
  127. package/dist/clients/utils/directoryStructure.d.ts +0 -14
  128. package/dist/clients/utils/directoryStructure.js +0 -48
  129. package/dist/clients/utils/directoryStructure.js.map +0 -1
  130. package/dist/clients/utils/index.d.ts +0 -10
  131. package/dist/clients/utils/index.js +0 -31
  132. package/dist/clients/utils/index.js.map +0 -1
  133. package/dist/clients/utils/languageDetection.d.ts +0 -13
  134. package/dist/clients/utils/languageDetection.js +0 -46
  135. package/dist/clients/utils/languageDetection.js.map +0 -1
  136. package/dist/clients/utils/promptFormatter.d.ts +0 -37
  137. package/dist/clients/utils/promptFormatter.js +0 -150
  138. package/dist/clients/utils/promptFormatter.js.map +0 -1
  139. package/dist/clients/utils/promptLoader.d.ts +0 -27
  140. package/dist/clients/utils/promptLoader.js +0 -49
  141. package/dist/clients/utils/promptLoader.js.map +0 -1
  142. package/dist/clients/utils/tokenCounter.d.ts +0 -81
  143. package/dist/clients/utils/tokenCounter.js +0 -184
  144. package/dist/clients/utils/tokenCounter.js.map +0 -1
  145. package/dist/core/ApiClientSelector.d.ts +0 -8
  146. package/dist/core/ApiClientSelector.js +0 -29
  147. package/dist/core/ApiClientSelector.js.map +0 -1
  148. package/dist/core/ConfigurationService.d.ts +0 -307
  149. package/dist/core/ConfigurationService.js +0 -516
  150. package/dist/core/ConfigurationService.js.map +0 -1
  151. package/dist/core/ConsolidationService.d.ts +0 -99
  152. package/dist/core/ConsolidationService.js +0 -341
  153. package/dist/core/ConsolidationService.js.map +0 -1
  154. package/dist/core/InteractiveDisplayManager.d.ts +0 -22
  155. package/dist/core/InteractiveDisplayManager.js +0 -70
  156. package/dist/core/InteractiveDisplayManager.js.map +0 -1
  157. package/dist/core/OutputManager.d.ts +0 -26
  158. package/dist/core/OutputManager.js +0 -217
  159. package/dist/core/OutputManager.js.map +0 -1
  160. package/dist/core/ReviewGenerator.d.ts +0 -13
  161. package/dist/core/ReviewGenerator.js +0 -102
  162. package/dist/core/ReviewGenerator.js.map +0 -1
  163. package/dist/core/fileDiscovery.d.ts +0 -35
  164. package/dist/core/fileDiscovery.js +0 -202
  165. package/dist/core/fileDiscovery.js.map +0 -1
  166. package/dist/core/handlers/EstimationHandler.d.ts +0 -18
  167. package/dist/core/handlers/EstimationHandler.js +0 -110
  168. package/dist/core/handlers/EstimationHandler.js.map +0 -1
  169. package/dist/core/handlers/FileProcessingHandler.d.ts +0 -31
  170. package/dist/core/handlers/FileProcessingHandler.js +0 -164
  171. package/dist/core/handlers/FileProcessingHandler.js.map +0 -1
  172. package/dist/core/handlers/OutputHandler.d.ts +0 -27
  173. package/dist/core/handlers/OutputHandler.js +0 -127
  174. package/dist/core/handlers/OutputHandler.js.map +0 -1
  175. package/dist/core/handlers/ReviewExecutor.d.ts +0 -32
  176. package/dist/core/handlers/ReviewExecutor.js +0 -111
  177. package/dist/core/handlers/ReviewExecutor.js.map +0 -1
  178. package/dist/core/reviewOrchestrator.d.ts +0 -24
  179. package/dist/core/reviewOrchestrator.js +0 -354
  180. package/dist/core/reviewOrchestrator.js.map +0 -1
  181. package/dist/core/utils/ModelInfoUtils.d.ts +0 -16
  182. package/dist/core/utils/ModelInfoUtils.js +0 -54
  183. package/dist/core/utils/ModelInfoUtils.js.map +0 -1
  184. package/dist/formatters/outputFormatter.d.ts +0 -31
  185. package/dist/formatters/outputFormatter.js +0 -65
  186. package/dist/formatters/outputFormatter.js.map +0 -1
  187. package/dist/formatters/utils/IssueFormatters.d.ts +0 -20
  188. package/dist/formatters/utils/IssueFormatters.js +0 -67
  189. package/dist/formatters/utils/IssueFormatters.js.map +0 -1
  190. package/dist/formatters/utils/JsonFormatter.d.ts +0 -13
  191. package/dist/formatters/utils/JsonFormatter.js +0 -57
  192. package/dist/formatters/utils/JsonFormatter.js.map +0 -1
  193. package/dist/formatters/utils/MarkdownFormatters.d.ts +0 -51
  194. package/dist/formatters/utils/MarkdownFormatters.js +0 -456
  195. package/dist/formatters/utils/MarkdownFormatters.js.map +0 -1
  196. package/dist/formatters/utils/MetadataFormatter.d.ts +0 -65
  197. package/dist/formatters/utils/MetadataFormatter.js +0 -219
  198. package/dist/formatters/utils/MetadataFormatter.js.map +0 -1
  199. package/dist/formatters/utils/ModelInfoExtractor.d.ts +0 -33
  200. package/dist/formatters/utils/ModelInfoExtractor.js +0 -111
  201. package/dist/formatters/utils/ModelInfoExtractor.js.map +0 -1
  202. package/dist/plugins/PluginInterface.d.ts +0 -44
  203. package/dist/plugins/PluginInterface.js +0 -9
  204. package/dist/plugins/PluginInterface.js.map +0 -1
  205. package/dist/plugins/PluginManager.d.ts +0 -51
  206. package/dist/plugins/PluginManager.js +0 -151
  207. package/dist/plugins/PluginManager.js.map +0 -1
  208. package/dist/prompts/PromptManager.d.ts +0 -30
  209. package/dist/prompts/PromptManager.js +0 -62
  210. package/dist/prompts/PromptManager.js.map +0 -1
  211. package/dist/prompts/cache/PromptCache.d.ts +0 -32
  212. package/dist/prompts/cache/PromptCache.js +0 -48
  213. package/dist/prompts/cache/PromptCache.js.map +0 -1
  214. package/dist/runtime/auth/service.d.ts +0 -2
  215. package/dist/runtime/auth/service.js +0 -41
  216. package/dist/runtime/auth/service.js.map +0 -1
  217. package/dist/runtime/auth/session.d.ts +0 -5
  218. package/dist/runtime/auth/session.js +0 -87
  219. package/dist/runtime/auth/session.js.map +0 -1
  220. package/dist/runtime/auth/types.d.ts +0 -9
  221. package/dist/runtime/auth/types.js +0 -3
  222. package/dist/runtime/auth/types.js.map +0 -1
  223. package/dist/runtime/fileCollector.d.ts +0 -14
  224. package/dist/runtime/fileCollector.js +0 -381
  225. package/dist/runtime/fileCollector.js.map +0 -1
  226. package/dist/runtime/manifest.d.ts +0 -1
  227. package/dist/runtime/manifest.js +0 -65
  228. package/dist/runtime/manifest.js.map +0 -1
  229. package/dist/runtime/openrouterProxy.d.ts +0 -4
  230. package/dist/runtime/openrouterProxy.js +0 -43
  231. package/dist/runtime/openrouterProxy.js.map +0 -1
  232. package/dist/runtime/preprod/batchStreamer.d.ts +0 -54
  233. package/dist/runtime/preprod/batchStreamer.js +0 -159
  234. package/dist/runtime/preprod/batchStreamer.js.map +0 -1
  235. package/dist/runtime/preprod/crEdgeServiceClient.d.ts +0 -30
  236. package/dist/runtime/preprod/crEdgeServiceClient.js +0 -133
  237. package/dist/runtime/preprod/crEdgeServiceClient.js.map +0 -1
  238. package/dist/runtime/preprod/progressTracker.d.ts +0 -21
  239. package/dist/runtime/preprod/progressTracker.js +0 -80
  240. package/dist/runtime/preprod/progressTracker.js.map +0 -1
  241. package/dist/runtime/preprod/webCheck.d.ts +0 -1
  242. package/dist/runtime/preprod/webCheck.js +0 -102
  243. package/dist/runtime/preprod/webCheck.js.map +0 -1
  244. package/dist/runtime/proxyConfig.d.ts +0 -6
  245. package/dist/runtime/proxyConfig.js +0 -86
  246. package/dist/runtime/proxyConfig.js.map +0 -1
  247. package/dist/runtime/proxyEnvironment.d.ts +0 -3
  248. package/dist/runtime/proxyEnvironment.js +0 -63
  249. package/dist/runtime/proxyEnvironment.js.map +0 -1
  250. package/dist/runtime/reportMerge.d.ts +0 -30
  251. package/dist/runtime/reportMerge.js +0 -70
  252. package/dist/runtime/reportMerge.js.map +0 -1
  253. package/dist/runtime/reporting/markdownReportBuilder.d.ts +0 -17
  254. package/dist/runtime/reporting/markdownReportBuilder.js +0 -154
  255. package/dist/runtime/reporting/markdownReportBuilder.js.map +0 -1
  256. package/dist/runtime/reporting/reportDataCollector.d.ts +0 -31
  257. package/dist/runtime/reporting/reportDataCollector.js +0 -170
  258. package/dist/runtime/reporting/reportDataCollector.js.map +0 -1
  259. package/dist/runtime/reporting/summaryGenerator.d.ts +0 -10
  260. package/dist/runtime/reporting/summaryGenerator.js +0 -67
  261. package/dist/runtime/reporting/summaryGenerator.js.map +0 -1
  262. package/dist/runtime/runAiCodeReview.d.ts +0 -36
  263. package/dist/runtime/runAiCodeReview.js +0 -409
  264. package/dist/runtime/runAiCodeReview.js.map +0 -1
  265. package/dist/runtime/runtimeConfig.d.ts +0 -4
  266. package/dist/runtime/runtimeConfig.js +0 -7
  267. package/dist/runtime/runtimeConfig.js.map +0 -1
  268. package/dist/strategies/ArchitecturalReviewStrategy.d.ts +0 -29
  269. package/dist/strategies/ArchitecturalReviewStrategy.js +0 -42
  270. package/dist/strategies/ArchitecturalReviewStrategy.js.map +0 -1
  271. package/dist/strategies/CodingTestReviewStrategy.d.ts +0 -194
  272. package/dist/strategies/CodingTestReviewStrategy.js +0 -681
  273. package/dist/strategies/CodingTestReviewStrategy.js.map +0 -1
  274. package/dist/strategies/ConsolidatedReviewStrategy.d.ts +0 -25
  275. package/dist/strategies/ConsolidatedReviewStrategy.js +0 -45
  276. package/dist/strategies/ConsolidatedReviewStrategy.js.map +0 -1
  277. package/dist/strategies/ExtractPatternsReviewStrategy.d.ts +0 -30
  278. package/dist/strategies/ExtractPatternsReviewStrategy.js +0 -51
  279. package/dist/strategies/ExtractPatternsReviewStrategy.js.map +0 -1
  280. package/dist/strategies/MultiPassReviewStrategy.d.ts +0 -86
  281. package/dist/strategies/MultiPassReviewStrategy.js +0 -590
  282. package/dist/strategies/MultiPassReviewStrategy.js.map +0 -1
  283. package/dist/strategies/ReviewStrategy.d.ts +0 -45
  284. package/dist/strategies/ReviewStrategy.js +0 -24
  285. package/dist/strategies/ReviewStrategy.js.map +0 -1
  286. package/dist/strategies/StrategyFactory.d.ts +0 -19
  287. package/dist/strategies/StrategyFactory.js +0 -72
  288. package/dist/strategies/StrategyFactory.js.map +0 -1
  289. package/dist/strategies/index.d.ts +0 -13
  290. package/dist/strategies/index.js +0 -30
  291. package/dist/strategies/index.js.map +0 -1
  292. package/dist/tokenizers/baseTokenizer.d.ts +0 -25
  293. package/dist/tokenizers/baseTokenizer.js +0 -48
  294. package/dist/tokenizers/baseTokenizer.js.map +0 -1
  295. package/dist/tokenizers/gptTokenizer.d.ts +0 -7
  296. package/dist/tokenizers/gptTokenizer.js +0 -28
  297. package/dist/tokenizers/gptTokenizer.js.map +0 -1
  298. package/dist/tokenizers/index.d.ts +0 -7
  299. package/dist/tokenizers/index.js +0 -24
  300. package/dist/tokenizers/index.js.map +0 -1
  301. package/dist/types/apiResponses.d.ts +0 -39
  302. package/dist/types/apiResponses.js +0 -9
  303. package/dist/types/apiResponses.js.map +0 -1
  304. package/dist/types/cli.d.ts +0 -22
  305. package/dist/types/cli.js +0 -3
  306. package/dist/types/cli.js.map +0 -1
  307. package/dist/types/common.d.ts +0 -22
  308. package/dist/types/common.js +0 -14
  309. package/dist/types/common.js.map +0 -1
  310. package/dist/types/configuration.d.ts +0 -682
  311. package/dist/types/configuration.js +0 -65
  312. package/dist/types/configuration.js.map +0 -1
  313. package/dist/types/review.d.ts +0 -318
  314. package/dist/types/review.js +0 -8
  315. package/dist/types/review.js.map +0 -1
  316. package/dist/types/reviewSchema.d.ts +0 -543
  317. package/dist/types/reviewSchema.js +0 -121
  318. package/dist/types/reviewSchema.js.map +0 -1
  319. package/dist/types/structuredReview.d.ts +0 -119
  320. package/dist/types/structuredReview.js +0 -6
  321. package/dist/types/structuredReview.js.map +0 -1
  322. package/dist/types/tokenAnalysis.d.ts +0 -44
  323. package/dist/types/tokenAnalysis.js +0 -4
  324. package/dist/types/tokenAnalysis.js.map +0 -1
  325. package/dist/utils/FileReader.d.ts +0 -33
  326. package/dist/utils/FileReader.js +0 -88
  327. package/dist/utils/FileReader.js.map +0 -1
  328. package/dist/utils/FileWriter.d.ts +0 -26
  329. package/dist/utils/FileWriter.js +0 -76
  330. package/dist/utils/FileWriter.js.map +0 -1
  331. package/dist/utils/PathGenerator.d.ts +0 -30
  332. package/dist/utils/PathGenerator.js +0 -82
  333. package/dist/utils/PathGenerator.js.map +0 -1
  334. package/dist/utils/api/apiUtils.d.ts +0 -3
  335. package/dist/utils/api/apiUtils.js +0 -20
  336. package/dist/utils/api/apiUtils.js.map +0 -1
  337. package/dist/utils/api/index.d.ts +0 -1
  338. package/dist/utils/api/index.js +0 -18
  339. package/dist/utils/api/index.js.map +0 -1
  340. package/dist/utils/apiErrorHandler.d.ts +0 -130
  341. package/dist/utils/apiErrorHandler.js +0 -256
  342. package/dist/utils/apiErrorHandler.js.map +0 -1
  343. package/dist/utils/ciDataCollector.d.ts +0 -51
  344. package/dist/utils/ciDataCollector.js +0 -197
  345. package/dist/utils/ciDataCollector.js.map +0 -1
  346. package/dist/utils/codingTestConfigLoader.d.ts +0 -66
  347. package/dist/utils/codingTestConfigLoader.js +0 -420
  348. package/dist/utils/codingTestConfigLoader.js.map +0 -1
  349. package/dist/utils/dependencies/aiDependencyAnalyzer.d.ts +0 -30
  350. package/dist/utils/dependencies/aiDependencyAnalyzer.js +0 -343
  351. package/dist/utils/dependencies/aiDependencyAnalyzer.js.map +0 -1
  352. package/dist/utils/detection/frameworkDetector.d.ts +0 -43
  353. package/dist/utils/detection/frameworkDetector.js +0 -850
  354. package/dist/utils/detection/frameworkDetector.js.map +0 -1
  355. package/dist/utils/detection/index.d.ts +0 -9
  356. package/dist/utils/detection/index.js +0 -28
  357. package/dist/utils/detection/index.js.map +0 -1
  358. package/dist/utils/detection/projectTypeDetector.d.ts +0 -27
  359. package/dist/utils/detection/projectTypeDetector.js +0 -469
  360. package/dist/utils/detection/projectTypeDetector.js.map +0 -1
  361. package/dist/utils/diagramGenerator.d.ts +0 -49
  362. package/dist/utils/diagramGenerator.js +0 -218
  363. package/dist/utils/diagramGenerator.js.map +0 -1
  364. package/dist/utils/errorLogger.d.ts +0 -24
  365. package/dist/utils/errorLogger.js +0 -59
  366. package/dist/utils/errorLogger.js.map +0 -1
  367. package/dist/utils/estimationUtils.d.ts +0 -139
  368. package/dist/utils/estimationUtils.js +0 -329
  369. package/dist/utils/estimationUtils.js.map +0 -1
  370. package/dist/utils/fileFilters.d.ts +0 -72
  371. package/dist/utils/fileFilters.js +0 -338
  372. package/dist/utils/fileFilters.js.map +0 -1
  373. package/dist/utils/fileSystem.d.ts +0 -22
  374. package/dist/utils/fileSystem.js +0 -45
  375. package/dist/utils/fileSystem.js.map +0 -1
  376. package/dist/utils/index.d.ts +0 -22
  377. package/dist/utils/index.js +0 -52
  378. package/dist/utils/index.js.map +0 -1
  379. package/dist/utils/pathValidator.d.ts +0 -40
  380. package/dist/utils/pathValidator.js +0 -98
  381. package/dist/utils/pathValidator.js.map +0 -1
  382. package/dist/utils/priorityFilter.d.ts +0 -34
  383. package/dist/utils/priorityFilter.js +0 -54
  384. package/dist/utils/priorityFilter.js.map +0 -1
  385. package/dist/utils/projectDocs.d.ts +0 -47
  386. package/dist/utils/projectDocs.js +0 -158
  387. package/dist/utils/projectDocs.js.map +0 -1
  388. package/dist/utils/promptPaths.d.ts +0 -6
  389. package/dist/utils/promptPaths.js +0 -33
  390. package/dist/utils/promptPaths.js.map +0 -1
  391. package/dist/utils/promptTemplateManager.d.ts +0 -34
  392. package/dist/utils/promptTemplateManager.js +0 -141
  393. package/dist/utils/promptTemplateManager.js.map +0 -1
  394. package/dist/utils/review/consolidateReview.d.ts +0 -15
  395. package/dist/utils/review/consolidateReview.js +0 -481
  396. package/dist/utils/review/consolidateReview.js.map +0 -1
  397. package/dist/utils/review/fixDisplay.d.ts +0 -20
  398. package/dist/utils/review/fixDisplay.js +0 -84
  399. package/dist/utils/review/fixDisplay.js.map +0 -1
  400. package/dist/utils/review/fixImplementation.d.ts +0 -28
  401. package/dist/utils/review/fixImplementation.js +0 -60
  402. package/dist/utils/review/fixImplementation.js.map +0 -1
  403. package/dist/utils/review/index.d.ts +0 -13
  404. package/dist/utils/review/index.js +0 -50
  405. package/dist/utils/review/index.js.map +0 -1
  406. package/dist/utils/review/interactiveProcessing.d.ts +0 -25
  407. package/dist/utils/review/interactiveProcessing.js +0 -251
  408. package/dist/utils/review/interactiveProcessing.js.map +0 -1
  409. package/dist/utils/review/progressTracker.d.ts +0 -106
  410. package/dist/utils/review/progressTracker.js +0 -227
  411. package/dist/utils/review/progressTracker.js.map +0 -1
  412. package/dist/utils/review/reviewExtraction.d.ts +0 -31
  413. package/dist/utils/review/reviewExtraction.js +0 -324
  414. package/dist/utils/review/reviewExtraction.js.map +0 -1
  415. package/dist/utils/review/types.d.ts +0 -45
  416. package/dist/utils/review/types.js +0 -18
  417. package/dist/utils/review/types.js.map +0 -1
  418. package/dist/utils/reviewActionHandler.d.ts +0 -16
  419. package/dist/utils/reviewActionHandler.js +0 -34
  420. package/dist/utils/reviewActionHandler.js.map +0 -1
  421. package/dist/utils/reviewParser.d.ts +0 -34
  422. package/dist/utils/reviewParser.js +0 -218
  423. package/dist/utils/reviewParser.js.map +0 -1
  424. package/dist/utils/sanitizer.d.ts +0 -82
  425. package/dist/utils/sanitizer.js +0 -239
  426. package/dist/utils/sanitizer.js.map +0 -1
  427. package/dist/utils/smartFileSelector.d.ts +0 -50
  428. package/dist/utils/smartFileSelector.js +0 -261
  429. package/dist/utils/smartFileSelector.js.map +0 -1
  430. package/dist/utils/templateLoader.d.ts +0 -44
  431. package/dist/utils/templateLoader.js +0 -431
  432. package/dist/utils/templateLoader.js.map +0 -1
  433. package/dist/utils/treeGenerator.d.ts +0 -12
  434. package/dist/utils/treeGenerator.js +0 -133
  435. package/dist/utils/treeGenerator.js.map +0 -1
@@ -7,163 +7,38 @@ const inkModules_1 = require("../inkModules");
7
7
  const Layout_1 = require("../Layout");
8
8
  const OPTIONS = [
9
9
  {
10
- label: 'Review uncommitted changes',
10
+ label: 'Review uncommitted PHP files',
11
11
  value: 'uncommitted',
12
- description: 'Focus on staged + unstaged diffs only',
12
+ description: 'Run PHPCS + AI analysis on staged/unstaged files',
13
13
  },
14
14
  {
15
- label: 'Pre-production review',
16
- value: 'preprod',
17
- description: 'Full pipeline: Supabase run + streaming batches',
18
- requiresUrl: true,
19
- details: [
20
- 'Creates a Supabase run for traceability',
21
- 'Triggers ai.enki.si webchecks & streams CR batches',
22
- ],
15
+ label: 'Prod review (all PHP files)',
16
+ value: 'prod',
17
+ description: 'Full repo analysis uploaded to review service',
23
18
  },
24
19
  ];
25
- const DEFAULT_RECIPIENT_EMAIL = process.env.PREPROD_RECIPIENT_EMAIL || '';
26
20
  function ModeSelection({ onSelect, debugEnabled, onToggleDebug }) {
27
21
  const { Box, Text, useInput } = (0, inkModules_1.getInk)();
28
22
  const SelectInput = (0, inkModules_1.getInkSelectInput)();
29
- const TextInput = (0, inkModules_1.getInkTextInput)();
30
23
  const { frameWidth } = (0, Layout_1.useLayout)();
31
- const [phase, setPhase] = (0, react_1.useState)('list');
32
- const [pendingMode, setPendingMode] = (0, react_1.useState)('preprod');
33
24
  const [highlighted, setHighlighted] = (0, react_1.useState)('uncommitted');
34
- const [urlValue, setUrlValue] = (0, react_1.useState)('');
35
- const [urlError, setUrlError] = (0, react_1.useState)(null);
36
- const [pendingTargetUrl, setPendingTargetUrl] = (0, react_1.useState)('');
37
- const [emailValue, setEmailValue] = (0, react_1.useState)(DEFAULT_RECIPIENT_EMAIL);
38
- const [emailError, setEmailError] = (0, react_1.useState)(null);
39
- const resetPreprodState = (0, react_1.useCallback)(() => {
40
- setUrlValue('');
41
- setUrlError(null);
42
- setPendingTargetUrl('');
43
- setEmailValue(DEFAULT_RECIPIENT_EMAIL);
44
- setEmailError(null);
45
- }, []);
25
+ const [includeRelated, setIncludeRelated] = (0, react_1.useState)(false);
46
26
  const handleModeSelect = (0, react_1.useCallback)((mode) => {
47
- const option = OPTIONS.find((opt) => opt.value === mode);
48
- if (!option) {
49
- return;
50
- }
51
- if (option.requiresUrl) {
52
- setPendingMode(option.value);
53
- resetPreprodState();
54
- setPhase('preprodUrl');
55
- return;
56
- }
57
- onSelect(option.value);
58
- }, [onSelect, resetPreprodState]);
59
- const validateUrl = (0, react_1.useCallback)((rawValue) => {
60
- const trimmed = rawValue.trim();
61
- if (!trimmed) {
62
- return 'URL is required';
63
- }
64
- let parsed;
65
- try {
66
- parsed = new URL(trimmed);
67
- }
68
- catch {
69
- return 'Enter a valid URL starting with https://';
70
- }
71
- if (parsed.protocol !== 'https:') {
72
- return 'Use an https:// URL for production parity';
73
- }
74
- const hostname = parsed.hostname.toLowerCase();
75
- if (!hostname.includes('.') || hostname.endsWith('.local')) {
76
- return 'Enter a public hostname (e.g. example.com)';
77
- }
78
- if (hostname === 'localhost' || hostname.startsWith('127.') || hostname.endsWith('.lan')) {
79
- return 'Localhost targets are not supported in preprod mode';
80
- }
81
- return null;
82
- }, []);
83
- const submitUrl = (0, react_1.useCallback)(() => {
84
- if (phase !== 'preprodUrl') {
85
- return;
86
- }
87
- const validationError = validateUrl(urlValue);
88
- if (validationError) {
89
- setUrlError(validationError);
90
- return;
91
- }
92
- const trimmed = urlValue.trim();
93
- const normalized = new URL(trimmed).toString();
94
- setUrlError(null);
95
- setPendingTargetUrl(normalized);
96
- setUrlValue(normalized);
97
- setPhase('preprodEmail');
98
- }, [phase, urlValue, validateUrl]);
99
- const submitEmail = (0, react_1.useCallback)(() => {
100
- if (phase !== 'preprodEmail') {
101
- return;
102
- }
103
- if (!pendingTargetUrl) {
104
- setPhase('preprodUrl');
105
- return;
106
- }
107
- const trimmed = emailValue.trim();
108
- if (!trimmed) {
109
- setEmailError('Recipient email is required');
110
- return;
111
- }
112
- const emailPattern = /^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/i;
113
- if (!emailPattern.test(trimmed)) {
114
- setEmailError('Enter a valid email (example@company.com)');
115
- return;
116
- }
117
- setEmailError(null);
118
- onSelect(pendingMode, { targetUrl: pendingTargetUrl, recipientEmail: trimmed });
119
- }, [emailValue, onSelect, pendingMode, pendingTargetUrl, phase]);
27
+ onSelect(mode, { includeRelated: mode === 'uncommitted' ? includeRelated : false });
28
+ }, [includeRelated, onSelect]);
120
29
  useInput((input, key) => {
121
30
  const normalizedInput = input.toLowerCase();
122
31
  if (normalizedInput === 'd' && !key.ctrl && !key.meta) {
123
32
  onToggleDebug();
124
33
  return;
125
34
  }
126
- if (phase === 'preprodUrl') {
127
- if (key.escape) {
128
- setPhase('list');
129
- resetPreprodState();
130
- return;
131
- }
132
- if (key.return) {
133
- submitUrl();
134
- }
135
- return;
136
- }
137
- if (phase === 'preprodEmail') {
138
- if (key.escape) {
139
- setPhase('preprodUrl');
140
- setEmailError(null);
141
- return;
142
- }
143
- if (key.return) {
144
- submitEmail();
145
- }
35
+ if (normalizedInput === 'r' && !key.ctrl && !key.meta) {
36
+ setIncludeRelated((prev) => !prev);
146
37
  }
147
38
  });
148
- if (phase === 'preprodUrl') {
149
- return ((0, jsx_runtime_1.jsxs)(Box, { width: frameWidth, flexDirection: "column", borderStyle: "round", borderColor: "cyan", paddingX: 2, paddingY: 1, gap: 1, children: [(0, jsx_runtime_1.jsx)(Text, { color: "cyan", bold: true, children: "Pre-production review" }), (0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: "Enter the live website URL that mirrors the deployment target. We will create a Supabase run, trigger ai.enki.si checks, and stream CR batches for this host." }), (0, jsx_runtime_1.jsxs)(Box, { flexDirection: "column", children: [(0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: "Target URL" }), (0, jsx_runtime_1.jsx)(TextInput, { value: urlValue, onChange: (value) => {
150
- setUrlValue(value);
151
- if (urlError) {
152
- setUrlError(null);
153
- }
154
- }, placeholder: "https://example.com", focus: true })] }), urlError && ((0, jsx_runtime_1.jsx)(Text, { color: "red", children: urlError })), (0, jsx_runtime_1.jsxs)(Box, { justifyContent: "space-between", children: [(0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: "Press Enter to confirm URL \u00B7 Esc to go back" }), (0, jsx_runtime_1.jsxs)(Text, { dimColor: true, children: ["Debug: ", debugEnabled ? 'On' : 'Off', " (press D)"] })] })] }));
155
- }
156
- if (phase === 'preprodEmail') {
157
- return ((0, jsx_runtime_1.jsxs)(Box, { width: frameWidth, flexDirection: "column", borderStyle: "round", borderColor: "cyan", paddingX: 2, paddingY: 1, gap: 1, children: [(0, jsx_runtime_1.jsx)(Text, { color: "cyan", bold: true, children: "Pre-production review" }), (0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: "Provide the email that should receive the consolidated HTML report. We will reuse it for Supabase tracking and the final SMTP send." }), (0, jsx_runtime_1.jsxs)(Box, { flexDirection: "column", gap: 1, children: [(0, jsx_runtime_1.jsxs)(Box, { flexDirection: "column", children: [(0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: "Target URL" }), (0, jsx_runtime_1.jsx)(Text, { children: pendingTargetUrl })] }), (0, jsx_runtime_1.jsxs)(Box, { flexDirection: "column", children: [(0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: "Recipient email" }), (0, jsx_runtime_1.jsx)(TextInput, { value: emailValue, onChange: (value) => {
158
- setEmailValue(value);
159
- if (emailError) {
160
- setEmailError(null);
161
- }
162
- }, placeholder: "owner@example.com", focus: true })] })] }), emailError && (0, jsx_runtime_1.jsx)(Text, { color: "red", children: emailError }), (0, jsx_runtime_1.jsxs)(Box, { justifyContent: "space-between", children: [(0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: "Press Enter to start \u00B7 Esc to edit URL" }), (0, jsx_runtime_1.jsxs)(Text, { dimColor: true, children: ["Debug: ", debugEnabled ? 'On' : 'Off', " (press D)"] })] })] }));
163
- }
164
- return ((0, jsx_runtime_1.jsxs)(Box, { width: frameWidth, flexDirection: "column", borderStyle: "round", borderColor: "green", paddingX: 2, paddingY: 1, gap: 1, children: [(0, jsx_runtime_1.jsxs)(Box, { justifyContent: "space-between", alignItems: "center", children: [(0, jsx_runtime_1.jsx)(Text, { color: "green", bold: true, children: "Choose review mode" }), (0, jsx_runtime_1.jsxs)(Text, { dimColor: true, children: ["Debug: ", debugEnabled ? 'On' : 'Off', " (press D)"] })] }), (0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: "Use arrow keys, press Enter to start." }), (0, jsx_runtime_1.jsx)(SelectInput, { items: OPTIONS.map((option) => ({
165
- label: option.label,
166
- value: option.value,
167
- })), onHighlight: (item) => setHighlighted(item.value), onSelect: (item) => handleModeSelect(item.value) }), (0, jsx_runtime_1.jsxs)(Box, { flexDirection: "column", marginTop: 1, gap: 0, children: [(0, jsx_runtime_1.jsxs)(Text, { dimColor: true, children: ["\u00B7 ", OPTIONS.find((option) => option.value === highlighted)?.description] }), OPTIONS.find((option) => option.value === highlighted)?.details?.map((detail) => ((0, jsx_runtime_1.jsxs)(Text, { dimColor: true, children: [' ', "\u2022 ", detail] }, detail)))] })] }));
39
+ return ((0, jsx_runtime_1.jsxs)(Box, { width: frameWidth, flexDirection: "column", borderStyle: "round", borderColor: "cyan", paddingX: 2, paddingY: 1, gap: 1, children: [(0, jsx_runtime_1.jsx)(Text, { color: "cyan", bold: true, children: "Select review mode" }), (0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: "Press Enter to confirm. Press D to toggle debug logs." }), (0, jsx_runtime_1.jsx)(SelectInput, { items: OPTIONS, onSelect: (item) => handleModeSelect(item.value), onHighlight: (item) => setHighlighted(item.value), itemComponent: ({ label, isSelected, ...rest }) => {
40
+ const description = rest.description;
41
+ return ((0, jsx_runtime_1.jsxs)(Box, { flexDirection: "column", children: [(0, jsx_runtime_1.jsx)(Text, { color: isSelected ? 'green' : undefined, children: label }), description && (0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: description })] }));
42
+ } }), highlighted === 'uncommitted' && ((0, jsx_runtime_1.jsx)(Box, { flexDirection: "column", marginTop: 1, children: (0, jsx_runtime_1.jsxs)(Text, { dimColor: true, children: ["Include related PHP files in the same directories: ", includeRelated ? 'On' : 'Off', " (press R)"] }) })), (0, jsx_runtime_1.jsx)(Box, { marginTop: 1, children: (0, jsx_runtime_1.jsxs)(Text, { dimColor: true, children: ["Debug logging: ", debugEnabled ? 'On' : 'Off'] }) })] }));
168
43
  }
169
44
  //# sourceMappingURL=ModeSelection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModeSelection.js","sourceRoot":"","sources":["../../../../src/runtime/ui/screens/ModeSelection.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ModeSelection.js","sourceRoot":"","sources":["../../../../src/runtime/ui/screens/ModeSelection.tsx"],"names":[],"mappings":";;AA8BA,sCAqEC;;AAnGD,iCAAqD;AACrD,8CAA0D;AAC1D,sCAAsC;AAetC,MAAM,OAAO,GAAiB;IAC5B;QACE,KAAK,EAAE,8BAA8B;QACrC,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,kDAAkD;KAChE;IACD;QACE,KAAK,EAAE,6BAA6B;QACpC,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,iDAAiD;KAC/D;CACF,CAAC;AAEF,SAAgB,aAAa,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,aAAa,EAAsB;IACzF,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAA,mBAAM,GAAE,CAAC;IACzC,MAAM,WAAW,GAAG,IAAA,8BAAiB,GAAE,CAAC;IACxC,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,kBAAS,GAAE,CAAC;IACnC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAa,aAAa,CAAC,CAAC;IAC1E,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAE5D,MAAM,gBAAgB,GAAG,IAAA,mBAAW,EAClC,CAAC,IAAgB,EAAE,EAAE;QACnB,QAAQ,CAAC,IAAI,EAAE,EAAE,cAAc,EAAE,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;IACtF,CAAC,EACD,CAAC,cAAc,EAAE,QAAQ,CAAC,CAC3B,CAAC;IAEF,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAC5C,IAAI,eAAe,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACtD,aAAa,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,IAAI,eAAe,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACtD,iBAAiB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACrC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,wBAAC,GAAG,IACF,KAAK,EAAE,UAAU,EACjB,aAAa,EAAC,QAAQ,EACtB,WAAW,EAAC,OAAO,EACnB,WAAW,EAAC,MAAM,EAClB,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,CAAC,EACX,GAAG,EAAE,CAAC,aAEN,uBAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,IAAI,yCAEhB,EACP,uBAAC,IAAI,IAAC,QAAQ,4EAA6D,EAE3E,uBAAC,WAAW,IACV,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAChD,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EACjD,aAAa,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,EAAO,EAAE,EAAE;oBACrD,MAAM,WAAW,GAAI,IAAY,CAAC,WAAW,CAAC;oBAC9C,OAAO,CACL,wBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,uBAAC,IAAI,IAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,YAAG,KAAK,GAAQ,EAC5D,WAAW,IAAI,uBAAC,IAAI,IAAC,QAAQ,kBAAE,WAAW,GAAQ,IAC/C,CACP,CAAC;gBACJ,CAAC,GACD,EAED,WAAW,KAAK,aAAa,IAAI,CAChC,uBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,YACtC,wBAAC,IAAI,IAAC,QAAQ,0EACwC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,kBAC5E,GACH,CACP,EAED,uBAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,wBAAC,IAAI,IAAC,QAAQ,sCAAiB,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,IAAQ,GAC9D,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -1,21 +1,13 @@
1
- import type { ReviewMode, ReviewStage, StreamingPhase } from '../../reviewPipeline';
1
+ import type { ReviewMode, ReviewStage } from '../../reviewPipeline';
2
2
  interface ProgressScreenProps {
3
3
  stage: ReviewStage;
4
4
  filesFound?: number;
5
- currentFile?: string;
6
- currentIndex?: number;
7
5
  totalFiles?: number;
8
- filesReviewed?: number;
9
6
  uncommittedFiles?: number;
10
- contextFiles?: number;
11
- streamingPhase?: StreamingPhase;
12
- streamingBatchOrdinal?: number;
13
- streamingBatchTotal?: number;
14
- streamingBatchesCompleted?: number;
15
- streamingBufferedFiles?: number;
16
- streamingLastError?: string;
17
- streamingRetryAttempt?: number;
7
+ relatedFiles?: number;
8
+ batchIndex?: number;
9
+ batchTotal?: number;
18
10
  mode?: ReviewMode;
19
11
  }
20
- export declare function ProgressScreen({ stage, filesFound, currentFile, currentIndex, totalFiles, uncommittedFiles, contextFiles, streamingPhase, streamingBatchOrdinal, streamingBatchTotal, streamingBatchesCompleted, streamingBufferedFiles, streamingLastError, streamingRetryAttempt, mode, }: ProgressScreenProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare function ProgressScreen({ stage, filesFound, totalFiles, uncommittedFiles, relatedFiles, batchIndex, batchTotal, mode, }: ProgressScreenProps): import("react/jsx-runtime").JSX.Element;
21
13
  export {};
@@ -6,81 +6,44 @@ const react_1 = require("react");
6
6
  const Layout_1 = require("../Layout");
7
7
  const inkModules_1 = require("../inkModules");
8
8
  const STAGE_TEXT = {
9
- preparing: {
10
- title: 'Preparing pipeline',
11
- detail: 'Linking Supabase, webchecks, and CR streaming',
12
- },
13
9
  collecting: {
14
10
  title: 'Collecting files',
15
- detail: 'Inspecting the working tree',
11
+ detail: 'Scanning for PHP files to review',
16
12
  },
17
13
  reviewing: {
18
- title: 'Running AI review',
19
- detail: 'Reviewing files and buffering CR batches',
14
+ title: 'Running PHPCS',
15
+ detail: 'Checking PHP files against PSR-12',
16
+ },
17
+ analyzing: {
18
+ title: 'Analyzing with AI',
19
+ detail: 'Generating intelligent code review report',
20
+ },
21
+ uploading: {
22
+ title: 'Uploading to service',
23
+ detail: 'Sending batches to review backend',
20
24
  },
21
- merging: {
22
- title: 'Merging reports',
23
- detail: 'Normalizing findings and cost data',
25
+ done: {
26
+ title: 'Complete',
27
+ detail: 'Report ready',
24
28
  },
25
29
  };
26
- function ProgressScreen({ stage, filesFound, currentFile, currentIndex, totalFiles, uncommittedFiles, contextFiles, streamingPhase, streamingBatchOrdinal, streamingBatchTotal, streamingBatchesCompleted, streamingBufferedFiles, streamingLastError, streamingRetryAttempt, mode, }) {
30
+ function ProgressScreen({ stage, filesFound, totalFiles, uncommittedFiles, relatedFiles, batchIndex, batchTotal, mode, }) {
27
31
  const { Box, Text } = (0, inkModules_1.getInk)();
28
32
  const Spinner = (0, inkModules_1.getInkSpinner)();
29
33
  const { frameWidth } = (0, Layout_1.useLayout)();
30
34
  const meta = (0, react_1.useMemo)(() => STAGE_TEXT[stage], [stage]);
31
- const isPreprod = mode === 'preprod';
32
- const base = typeof uncommittedFiles === 'number' ? uncommittedFiles : undefined;
33
- const context = typeof contextFiles === 'number' ? contextFiles : undefined;
34
- const totalBreakdown = base !== undefined || context !== undefined
35
- ? `Queued: ${base ?? '?'} uncommitted${context ? ` + ${context} context` : ''}`
36
- : '';
37
- const fileStatus = stage === 'collecting' && typeof filesFound === 'number' && filesFound >= 0
35
+ const breakdown = mode === 'uncommitted' && typeof uncommittedFiles === 'number'
36
+ ? `Scope: ${uncommittedFiles} uncommitted${relatedFiles ? ` + ${relatedFiles} related` : ''}`
37
+ : undefined;
38
+ const fileStatus = stage === 'collecting' && typeof filesFound === 'number'
38
39
  ? `${filesFound} files queued`
39
40
  : stage === 'collecting'
40
41
  ? 'Preparing file list…'
41
- : '';
42
- const showReviewingProgress = stage === 'reviewing' &&
43
- typeof currentIndex === 'number' &&
44
- typeof totalFiles === 'number' &&
45
- totalFiles > 0 &&
46
- Boolean(currentFile);
47
- const truncatedPath = (0, react_1.useMemo)(() => {
48
- if (!currentFile)
49
- return '';
50
- const availableWidth = Math.max(10, frameWidth - 10);
51
- return truncateMiddle(currentFile, availableWidth);
52
- }, [currentFile, frameWidth]);
53
- const batchLine = isPreprod && typeof streamingBatchesCompleted === 'number'
54
- ? `Batches sent: ${streamingBatchesCompleted}`
42
+ : undefined;
43
+ const batchLine = stage === 'reviewing' && typeof batchIndex === 'number' && typeof batchTotal === 'number'
44
+ ? `Batch ${batchIndex}/${batchTotal}`
55
45
  : undefined;
56
- const streamingPhaseLine = (() => {
57
- if (!isPreprod)
58
- return undefined;
59
- switch (streamingPhase) {
60
- case 'creating-run':
61
- return 'Preparing preprod run…';
62
- case 'triggering-webcheck':
63
- return 'Triggering webcheck…';
64
- case 'buffering':
65
- return 'Streaming: buffering batch payloads';
66
- case 'sending':
67
- return `Streaming: sending batch ${streamingBatchOrdinal ?? '?'} of ${streamingBatchTotal ?? '?'}`;
68
- case 'error':
69
- return `Streaming error${streamingRetryAttempt ? ` (retry ${streamingRetryAttempt}/3)` : ''}: ${streamingLastError ?? 'unknown issue'}`;
70
- default:
71
- return undefined;
72
- }
73
- })();
74
- return ((0, jsx_runtime_1.jsxs)(Box, { width: frameWidth, flexDirection: "column", borderStyle: "round", borderColor: "cyan", paddingX: 2, paddingY: 1, gap: 1, children: [(0, jsx_runtime_1.jsx)(Box, { gap: 1, children: (0, jsx_runtime_1.jsxs)(Text, { children: [(0, jsx_runtime_1.jsx)(Spinner, { type: "line" }), " ", meta.title] }) }), (0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: meta.detail }), fileStatus && (0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: fileStatus }), totalBreakdown && !isPreprod && (0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: totalBreakdown }), showReviewingProgress && ((0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: `Reviewing (${currentIndex}/${totalFiles}): ${truncatedPath}` })), batchLine && (0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: batchLine }), streamingPhaseLine && ((0, jsx_runtime_1.jsx)(Text, { color: streamingPhase === 'error' ? 'red' : undefined, dimColor: streamingPhase !== 'error', children: streamingPhaseLine }))] }));
75
- }
76
- function truncateMiddle(value, maxLength) {
77
- if (value.length <= maxLength) {
78
- return value;
79
- }
80
- const ellipsis = '…';
81
- const keep = Math.max(1, Math.floor((maxLength - ellipsis.length) / 2));
82
- const start = value.slice(0, keep);
83
- const end = value.slice(value.length - keep);
84
- return `${start}${ellipsis}${end}`;
46
+ const totalLine = stage === 'reviewing' && typeof totalFiles === 'number' ? `Total files: ${totalFiles}` : undefined;
47
+ return ((0, jsx_runtime_1.jsxs)(Box, { width: frameWidth, flexDirection: "column", borderStyle: "round", borderColor: "cyan", paddingX: 2, paddingY: 1, gap: 1, children: [(0, jsx_runtime_1.jsx)(Box, { gap: 1, children: (0, jsx_runtime_1.jsxs)(Text, { children: [(0, jsx_runtime_1.jsx)(Spinner, { type: "line" }), " ", meta.title] }) }), (0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: meta.detail }), fileStatus && (0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: fileStatus }), breakdown && (0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: breakdown }), totalLine && (0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: totalLine }), batchLine && (0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: batchLine })] }));
85
48
  }
86
49
  //# sourceMappingURL=ProgressScreen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressScreen.js","sourceRoot":"","sources":["../../../../src/runtime/ui/screens/ProgressScreen.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProgressScreen.js","sourceRoot":"","sources":["../../../../src/runtime/ui/screens/ProgressScreen.tsx"],"names":[],"mappings":";;AAuCA,wCAyDC;;AAhGD,iCAAuC;AACvC,sCAAsC;AAEtC,8CAAsD;AAatD,MAAM,UAAU,GAA2D;IACzE,UAAU,EAAE;QACV,KAAK,EAAE,kBAAkB;QACzB,MAAM,EAAE,kCAAkC;KAC3C;IACD,SAAS,EAAE;QACT,KAAK,EAAE,eAAe;QACtB,MAAM,EAAE,mCAAmC;KAC5C;IACD,SAAS,EAAE;QACT,KAAK,EAAE,mBAAmB;QAC1B,MAAM,EAAE,2CAA2C;KACpD;IACD,SAAS,EAAE;QACT,KAAK,EAAE,sBAAsB;QAC7B,MAAM,EAAE,mCAAmC;KAC5C;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,cAAc;KACvB;CACF,CAAC;AAEF,SAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,UAAU,EACV,IAAI,GACgB;IACpB,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAA,mBAAM,GAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,IAAA,0BAAa,GAAE,CAAC;IAChC,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,kBAAS,GAAE,CAAC;IAEnC,MAAM,IAAI,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IACvD,MAAM,SAAS,GACb,IAAI,KAAK,aAAa,IAAI,OAAO,gBAAgB,KAAK,QAAQ;QAC5D,CAAC,CAAC,UAAU,gBAAgB,eAAe,YAAY,CAAC,CAAC,CAAC,MAAM,YAAY,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE;QAC7F,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,UAAU,GACd,KAAK,KAAK,YAAY,IAAI,OAAO,UAAU,KAAK,QAAQ;QACtD,CAAC,CAAC,GAAG,UAAU,eAAe;QAC9B,CAAC,CAAC,KAAK,KAAK,YAAY;YACtB,CAAC,CAAC,sBAAsB;YACxB,CAAC,CAAC,SAAS,CAAC;IAElB,MAAM,SAAS,GACb,KAAK,KAAK,WAAW,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,OAAO,UAAU,KAAK,QAAQ;QACvF,CAAC,CAAC,SAAS,UAAU,IAAI,UAAU,EAAE;QACrC,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,SAAS,GACb,KAAK,KAAK,WAAW,IAAI,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,UAAU,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAErG,OAAO,CACL,wBAAC,GAAG,IACF,KAAK,EAAE,UAAU,EACjB,aAAa,EAAC,QAAQ,EACtB,WAAW,EAAC,OAAO,EACnB,WAAW,EAAC,MAAM,EAClB,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,CAAC,EACX,GAAG,EAAE,CAAC,aAEN,uBAAC,GAAG,IAAC,GAAG,EAAE,CAAC,YACT,wBAAC,IAAI,eACH,uBAAC,OAAO,IAAC,IAAI,EAAC,MAAM,GAAG,OAAE,IAAI,CAAC,KAAK,IAC9B,GACH,EACN,uBAAC,IAAI,IAAC,QAAQ,kBAAE,IAAI,CAAC,MAAM,GAAQ,EAClC,UAAU,IAAI,uBAAC,IAAI,IAAC,QAAQ,kBAAE,UAAU,GAAQ,EAChD,SAAS,IAAI,uBAAC,IAAI,IAAC,QAAQ,kBAAE,SAAS,GAAQ,EAC9C,SAAS,IAAI,uBAAC,IAAI,IAAC,QAAQ,kBAAE,SAAS,GAAQ,EAC9C,SAAS,IAAI,uBAAC,IAAI,IAAC,QAAQ,kBAAE,SAAS,GAAQ,IAC3C,CACP,CAAC;AACJ,CAAC"}
@@ -8,27 +8,17 @@ const inkModules_1 = require("../inkModules");
8
8
  function ResultsScreen({ result, debugLogPath }) {
9
9
  const { Box, Text } = (0, inkModules_1.getInk)();
10
10
  const { frameWidth } = (0, Layout_1.useLayout)();
11
- const finalizedByEdgeService = result.finalizationByEdgeService === true;
12
- const severityRows = (0, react_1.useMemo)(() => {
13
- const totals = result.totals || { critical: 0, high: 0, medium: 0, low: 0 };
14
- return [
15
- { label: 'Critical', value: totals.critical ?? 0 },
16
- { label: 'High', value: totals.high ?? 0 },
17
- { label: 'Medium', value: totals.medium ?? 0 },
18
- { label: 'Low', value: totals.low ?? 0 },
19
- ];
20
- }, [result.totals]);
11
+ const totals = (0, react_1.useMemo)(() => ({
12
+ errors: result.totals?.errors ?? 0,
13
+ warnings: result.totals?.warnings ?? 0,
14
+ fixable: result.totals?.fixable ?? 0,
15
+ }), [result.totals]);
21
16
  const scopeLine = (0, react_1.useMemo)(() => {
22
17
  const breakdown = result.fileBreakdown;
23
18
  if (!breakdown)
24
19
  return null;
25
- return `Scope: ${breakdown.uncommitted} uncommitted + ${breakdown.context} context files`;
20
+ return `Scope: ${breakdown.uncommitted} uncommitted + ${breakdown.related} related files`;
26
21
  }, [result.fileBreakdown]);
27
- const summaryText = result.reportSummary?.trim() || 'Summary unavailable. Open the saved report for details.';
28
- const estimatedCostLine = typeof result.estimatedCostUSD === 'number'
29
- ? `Estimated cost: $${result.estimatedCostUSD.toFixed(2)}`
30
- : null;
31
- return ((0, jsx_runtime_1.jsxs)(Box, { width: frameWidth, flexDirection: "column", borderStyle: "round", borderColor: "green", paddingX: 2, paddingY: 1, gap: 1, children: [(0, jsx_runtime_1.jsxs)(Text, { color: "green", bold: true, children: ["Review complete for ", result.repo] }), (0, jsx_runtime_1.jsxs)(Text, { dimColor: true, children: ["Duration: ", result.duration, "s \u2014 Files reviewed: ", result.filesReviewed] }), scopeLine && (0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: scopeLine }), finalizedByEdgeService ? ((0, jsx_runtime_1.jsxs)(Box, { flexDirection: "column", borderStyle: "round", borderColor: "cyan", paddingX: 1, paddingY: 0, children: [(0, jsx_runtime_1.jsx)(Text, { color: "cyan", bold: true, children: "Preprod run finished" }), (0, jsx_runtime_1.jsx)(Text, { children: "Edge service will finalize the merged report and email the results. Severity totals below reflect the streamed findings so far." }), estimatedCostLine && (0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: estimatedCostLine })] })) : ((0, jsx_runtime_1.jsxs)(Box, { flexDirection: "column", borderStyle: "round", borderColor: "cyan", paddingX: 1, paddingY: 0, children: [(0, jsx_runtime_1.jsx)(Text, { color: "cyan", bold: true, children: "LLM summary" }), (0, jsx_runtime_1.jsx)(Text, { children: summaryText }), estimatedCostLine && (0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: estimatedCostLine })] })), (0, jsx_runtime_1.jsxs)(Box, { flexDirection: "column", marginTop: 1, children: [(0, jsx_runtime_1.jsx)(Text, { bold: true, children: "Severity totals" }), (0, jsx_runtime_1.jsx)(Box, { flexDirection: "row", flexWrap: "wrap", children: severityRows.map((row) => ((0, jsx_runtime_1.jsx)(Box, { width: 24, children: (0, jsx_runtime_1.jsxs)(Text, { children: [row.label, ": ", row.value] }) }, row.label))) })] }), !finalizedByEdgeService &&
32
- (result.findings.length === 0 ? ((0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: "No findings reported." })) : ((0, jsx_runtime_1.jsxs)(Box, { flexDirection: "column", marginTop: 1, children: [(0, jsx_runtime_1.jsx)(Text, { bold: true, children: "Sample findings" }), result.findings.slice(0, 5).map((finding, index) => ((0, jsx_runtime_1.jsxs)(Text, { dimColor: true, children: ["\u00B7 ", finding.filePath ?? finding.file ?? 'unknown', ' ', finding.priority ? `(${finding.priority})` : ''] }, `${finding.filePath ?? finding.file ?? 'unknown'}-${index}`))), result.findings.length > 5 && ((0, jsx_runtime_1.jsxs)(Text, { dimColor: true, children: ["\u2026and ", result.findings.length - 5, " more in the saved report."] }))] }))), result.reportPath && !finalizedByEdgeService && ((0, jsx_runtime_1.jsx)(Box, { marginTop: 1, children: (0, jsx_runtime_1.jsxs)(Text, { dimColor: true, children: ["Report saved to: ", result.reportPath] }) })), debugLogPath && ((0, jsx_runtime_1.jsx)(Box, { marginTop: 1, children: (0, jsx_runtime_1.jsxs)(Text, { dimColor: true, children: ["Debug logs saved to: ", debugLogPath] }) })), (0, jsx_runtime_1.jsx)(Box, { marginTop: 1, children: (0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: "Press Enter to return to mode selection." }) })] }));
22
+ return ((0, jsx_runtime_1.jsxs)(Box, { width: frameWidth, flexDirection: "column", borderStyle: "round", borderColor: "green", paddingX: 2, paddingY: 1, gap: 1, children: [(0, jsx_runtime_1.jsxs)(Text, { color: "green", bold: true, children: ["PHPCS complete for ", result.repo] }), (0, jsx_runtime_1.jsxs)(Text, { dimColor: true, children: ["Duration: ", result.duration, "s \u2014 Files reviewed: ", result.filesReviewed] }), scopeLine && (0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: scopeLine }), (0, jsx_runtime_1.jsxs)(Box, { flexDirection: "column", borderStyle: "round", borderColor: "cyan", paddingX: 1, paddingY: 0, children: [(0, jsx_runtime_1.jsx)(Text, { color: "cyan", bold: true, children: "Totals" }), (0, jsx_runtime_1.jsxs)(Text, { children: ["Errors: ", totals.errors] }), (0, jsx_runtime_1.jsxs)(Text, { children: ["Warnings: ", totals.warnings] }), (0, jsx_runtime_1.jsxs)(Text, { children: ["Fixable: ", totals.fixable] })] }), result.reportPath && ((0, jsx_runtime_1.jsxs)(Box, { marginTop: 1, flexDirection: "column", children: [(0, jsx_runtime_1.jsxs)(Text, { dimColor: true, children: ["Report saved to: ", result.reportPath] }), result.llmAnalysisUsed && ((0, jsx_runtime_1.jsx)(Text, { color: "green", children: "\u2713 AI-enhanced report generated" })), result.llmError && ((0, jsx_runtime_1.jsxs)(Text, { color: "yellow", children: ["\u26A0 AI analysis unavailable: ", result.llmError] }))] })), debugLogPath && ((0, jsx_runtime_1.jsx)(Box, { marginTop: 1, children: (0, jsx_runtime_1.jsxs)(Text, { dimColor: true, children: ["Debug logs saved to: ", debugLogPath] }) })), result.prodRunId && ((0, jsx_runtime_1.jsxs)(Box, { flexDirection: "column", marginTop: 1, children: [(0, jsx_runtime_1.jsx)(Text, { color: "cyan", bold: true, children: "Production Review" }), (0, jsx_runtime_1.jsxs)(Text, { dimColor: true, children: ["Run ID: ", result.prodRunId] }), (0, jsx_runtime_1.jsxs)(Text, { dimColor: true, children: ["Status: ", result.prodStatus] }), (0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: "Full report will be delivered via email when processing completes." })] })), (0, jsx_runtime_1.jsx)(Box, { marginTop: 1, children: (0, jsx_runtime_1.jsx)(Text, { dimColor: true, children: "Press Enter to return to mode selection." }) })] }));
33
23
  }
34
24
  //# sourceMappingURL=ResultsScreen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ResultsScreen.js","sourceRoot":"","sources":["../../../../src/runtime/ui/screens/ResultsScreen.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ResultsScreen.js","sourceRoot":"","sources":["../../../../src/runtime/ui/screens/ResultsScreen.tsx"],"names":[],"mappings":";;AAUA,sCA8EC;;AAxFD,iCAAuC;AAEvC,sCAAsC;AACtC,8CAAuC;AAOvC,SAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,YAAY,EAAsB;IACxE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,IAAA,mBAAM,GAAE,CAAC;IAC/B,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,kBAAS,GAAE,CAAC;IAEnC,MAAM,MAAM,GAAG,IAAA,eAAO,EACpB,GAAG,EAAE,CAAC,CAAC;QACL,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;QAClC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,IAAI,CAAC;QACtC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,IAAI,CAAC;KACrC,CAAC,EACF,CAAC,MAAM,CAAC,MAAM,CAAC,CAChB,CAAC;IAEF,MAAM,SAAS,GAAG,IAAA,eAAO,EAAC,GAAG,EAAE;QAC7B,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC;QACvC,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC;QAC5B,OAAO,UAAU,SAAS,CAAC,WAAW,kBAAkB,SAAS,CAAC,OAAO,gBAAgB,CAAC;IAC5F,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;IAE3B,OAAO,CACL,wBAAC,GAAG,IACF,KAAK,EAAE,UAAU,EACjB,aAAa,EAAC,QAAQ,EACtB,WAAW,EAAC,OAAO,EACnB,WAAW,EAAC,OAAO,EACnB,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,CAAC,EACX,GAAG,EAAE,CAAC,aAEN,wBAAC,IAAI,IAAC,KAAK,EAAC,OAAO,EAAC,IAAI,0CACF,MAAM,CAAC,IAAI,IAC1B,EACP,wBAAC,IAAI,IAAC,QAAQ,iCAAY,MAAM,CAAC,QAAQ,+BAAsB,MAAM,CAAC,aAAa,IAAQ,EAC1F,SAAS,IAAI,uBAAC,IAAI,IAAC,QAAQ,kBAAE,SAAS,GAAQ,EAE/C,wBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAC,MAAM,EAAC,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,aACzF,uBAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,IAAI,6BAEhB,EACP,wBAAC,IAAI,2BAAU,MAAM,CAAC,MAAM,IAAQ,EACpC,wBAAC,IAAI,6BAAY,MAAM,CAAC,QAAQ,IAAQ,EACxC,wBAAC,IAAI,4BAAW,MAAM,CAAC,OAAO,IAAQ,IAClC,EAEL,MAAM,CAAC,UAAU,IAAI,CACpB,wBAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ,aACvC,wBAAC,IAAI,IAAC,QAAQ,wCAAmB,MAAM,CAAC,UAAU,IAAQ,EACzD,MAAM,CAAC,eAAe,IAAI,CACzB,uBAAC,IAAI,IAAC,KAAK,EAAC,OAAO,oDAAsC,CAC1D,EACA,MAAM,CAAC,QAAQ,IAAI,CAClB,wBAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,iDAA6B,MAAM,CAAC,QAAQ,IAAQ,CACzE,IACG,CACP,EAEA,YAAY,IAAI,CACf,uBAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,wBAAC,IAAI,IAAC,QAAQ,4CAAuB,YAAY,IAAQ,GACrD,CACP,EAEA,MAAM,CAAC,SAAS,IAAI,CACnB,wBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,aACtC,uBAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,IAAI,wCAAyB,EAChD,wBAAC,IAAI,IAAC,QAAQ,+BAAU,MAAM,CAAC,SAAS,IAAQ,EAChD,wBAAC,IAAI,IAAC,QAAQ,+BAAU,MAAM,CAAC,UAAU,IAAQ,EACjD,uBAAC,IAAI,IAAC,QAAQ,yFAEP,IACH,CACP,EAED,uBAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,uBAAC,IAAI,IAAC,QAAQ,+DAAgD,GAC1D,IACF,CACP,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codereview-aia",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "description": "codereview-aia CLI",
5
5
  "author": "rrretsuf",
6
6
  "main": "dist/index.js",
@@ -27,62 +27,22 @@
27
27
  "access": "public"
28
28
  },
29
29
  "dependencies": {
30
- "@langchain/core": "^0.3.44",
31
- "@supabase/supabase-js": "^2.39.0",
32
- "chalk": "^4.1.2",
33
- "dompurify": "^3.2.5",
34
- "dotenv": "^16.3.1",
35
30
  "execa": "^8.0.1",
36
- "glob": "^10.3.10",
37
- "gpt-tokenizer": "^2.9.0",
38
- "handlebars": "^4.7.8",
39
- "i18next": "^24.2.3",
40
- "i18next-fs-backend": "^2.6.0",
41
- "i18next-icu": "^2.3.0",
42
31
  "ignore": "^5.3.2",
43
32
  "ink": "^6.4.0",
44
33
  "ink-select-input": "^6.2.0",
45
34
  "ink-spinner": "^5.0.0",
46
35
  "ink-text-input": "^6.0.0",
47
- "intl-messageformat": "^10.7.16",
48
- "jsdom": "^26.0.0",
49
- "langchain": "^0.3.21",
50
- "mem0ai": "^2.1.34",
51
36
  "picocolors": "^1.0.0",
52
- "react": "^19.2.0",
53
- "sqlite3": "^5.1.7",
54
- "yaml": "^2.8.0",
55
- "yargs": "^17.7.2",
56
- "zod": "^3.24.2"
37
+ "react": "^19.2.0"
57
38
  },
58
39
  "peerDependencies": {
59
40
  "react": "*"
60
41
  },
61
42
  "devDependencies": {
62
- "@biomejs/biome": "^2.0.6",
63
- "@types/dompurify": "^3.0.5",
64
- "@types/handlebars": "^4.1.0",
65
- "@types/js-yaml": "^4.0.9",
66
- "@types/jsdom": "^21.1.7",
67
43
  "@types/node": "^20.17.32",
68
44
  "@types/react": "^19.2.3",
69
- "@types/yargs": "^17.0.33",
70
- "@typescript-eslint/eslint-plugin": "^6.15.0",
71
- "@typescript-eslint/parser": "^6.15.0",
72
- "@vitest/ui": "^3.2.1",
73
- "esbuild": "^0.25.3",
74
- "eslint": "^8.56.0",
75
- "js-yaml": "^4.1.0",
76
45
  "ts-node": "^10.9.2",
77
- "tsconfig-paths": "^4.2.0",
78
- "typescript": "^5.8.3",
79
- "vitest": "^3.2.1"
80
- },
81
- "overrides": {
82
- "esbuild": "^0.25.3"
83
- },
84
- "resolutions": {
85
- "esbuild": "^0.25.3",
86
- "jsdom": "^26.0.0"
46
+ "typescript": "^5.8.3"
87
47
  }
88
- }
48
+ }
@@ -1,105 +0,0 @@
1
- /**
2
- * @fileoverview Findings Extractor for Code Reviews
3
- *
4
- * This service extracts, categorizes, and analyzes findings from code review
5
- * results. It provides utilities for grading, recommendation generation,
6
- * and finding prioritization.
7
- */
8
- /**
9
- * Categorized findings from code review
10
- */
11
- export interface CategorizedFindings {
12
- high: Set<string>;
13
- medium: Set<string>;
14
- low: Set<string>;
15
- }
16
- /**
17
- * Grade information with justification
18
- */
19
- export interface GradeInfo {
20
- grade: string;
21
- justification: string;
22
- }
23
- /**
24
- * Service for extracting and analyzing findings from code reviews
25
- */
26
- export declare class FindingsExtractor {
27
- /**
28
- * Extract findings from review passes
29
- * @param passes Array of review results with content
30
- * @returns Categorized findings
31
- */
32
- extractFindingsFromPasses(passes: Array<{
33
- content: string;
34
- }>): CategorizedFindings;
35
- /**
36
- * Extract individual issue texts from content
37
- * @param content Review content
38
- * @returns Array of issue descriptions
39
- */
40
- extractIssueTexts(content: string): string[];
41
- /**
42
- * Check if an issue is high priority
43
- * @param issue Issue text (lowercase)
44
- * @returns True if high priority
45
- */
46
- private isHighPriority;
47
- /**
48
- * Check if an issue is medium priority
49
- * @param issue Issue text (lowercase)
50
- * @returns True if medium priority
51
- */
52
- private isMediumPriority;
53
- /**
54
- * Calculate grade based on findings for a specific category
55
- * @param findings Categorized findings
56
- * @param category Category name (for logging)
57
- * @returns Grade information
58
- */
59
- calculateGrade(findings: CategorizedFindings, category: string): GradeInfo;
60
- /**
61
- * Calculate overall grade based on findings
62
- * @param findings Categorized findings
63
- * @returns Overall grade string
64
- */
65
- calculateOverallGrade(findings: CategorizedFindings): string;
66
- /**
67
- * Get justification for grade
68
- * @param findings Categorized findings
69
- * @param category Category name
70
- * @returns Grade justification string
71
- */
72
- getGradeJustification(findings: CategorizedFindings, category: string): string;
73
- /**
74
- * Generate recommendations based on findings
75
- * @param findings Categorized findings
76
- * @param hasErrors Whether there are compilation errors
77
- * @returns Array of recommendation strings
78
- */
79
- generateRecommendations(findings: CategorizedFindings, hasErrors: boolean): string[];
80
- /**
81
- * Check if findings contain security-related issues
82
- * @param findings Categorized findings
83
- * @returns True if security issues are present
84
- */
85
- private hasSecurityIssues;
86
- /**
87
- * Check if findings contain performance-related issues
88
- * @param findings Categorized findings
89
- * @returns True if performance issues are present
90
- */
91
- private hasPerformanceIssues;
92
- /**
93
- * Check if findings contain testing-related issues
94
- * @param findings Categorized findings
95
- * @returns True if testing issues are present
96
- */
97
- private hasTestingIssues;
98
- /**
99
- * Format findings for display in reports
100
- * @param findings Categorized findings
101
- * @param maxPerCategory Maximum items to show per category
102
- * @returns Formatted findings string
103
- */
104
- formatFindings(findings: CategorizedFindings, maxPerCategory?: number): string;
105
- }