codereview-aia 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (422) hide show
  1. package/dist/analysis/FindingsExtractor.d.ts +105 -0
  2. package/dist/analysis/FindingsExtractor.js +363 -0
  3. package/dist/analysis/FindingsExtractor.js.map +1 -0
  4. package/dist/analysis/ai-detection/analyzers/BaseAnalyzer.d.ts +111 -0
  5. package/dist/analysis/ai-detection/analyzers/BaseAnalyzer.js +215 -0
  6. package/dist/analysis/ai-detection/analyzers/BaseAnalyzer.js.map +1 -0
  7. package/dist/analysis/ai-detection/analyzers/DocumentationAnalyzer.d.ts +142 -0
  8. package/dist/analysis/ai-detection/analyzers/DocumentationAnalyzer.js +503 -0
  9. package/dist/analysis/ai-detection/analyzers/DocumentationAnalyzer.js.map +1 -0
  10. package/dist/analysis/ai-detection/analyzers/GitHistoryAnalyzer.d.ts +88 -0
  11. package/dist/analysis/ai-detection/analyzers/GitHistoryAnalyzer.js +343 -0
  12. package/dist/analysis/ai-detection/analyzers/GitHistoryAnalyzer.js.map +1 -0
  13. package/dist/analysis/ai-detection/core/AIDetectionEngine.d.ts +104 -0
  14. package/dist/analysis/ai-detection/core/AIDetectionEngine.js +369 -0
  15. package/dist/analysis/ai-detection/core/AIDetectionEngine.js.map +1 -0
  16. package/dist/analysis/ai-detection/types/DetectionTypes.d.ts +364 -0
  17. package/dist/analysis/ai-detection/types/DetectionTypes.js +32 -0
  18. package/dist/analysis/ai-detection/types/DetectionTypes.js.map +1 -0
  19. package/dist/analysis/ai-detection/utils/SubmissionConverter.d.ts +97 -0
  20. package/dist/analysis/ai-detection/utils/SubmissionConverter.js +339 -0
  21. package/dist/analysis/ai-detection/utils/SubmissionConverter.js.map +1 -0
  22. package/dist/analysis/context/ReviewContext.d.ts +184 -0
  23. package/dist/analysis/context/ReviewContext.js +294 -0
  24. package/dist/analysis/context/ReviewContext.js.map +1 -0
  25. package/dist/analysis/context/index.d.ts +6 -0
  26. package/dist/analysis/context/index.js +23 -0
  27. package/dist/analysis/context/index.js.map +1 -0
  28. package/dist/analysis/index.d.ts +7 -0
  29. package/dist/analysis/index.js +24 -0
  30. package/dist/analysis/index.js.map +1 -0
  31. package/dist/analysis/tokens/TokenAnalysisFormatter.d.ts +27 -0
  32. package/dist/analysis/tokens/TokenAnalysisFormatter.js +143 -0
  33. package/dist/analysis/tokens/TokenAnalysisFormatter.js.map +1 -0
  34. package/dist/analysis/tokens/TokenAnalyzer.d.ts +155 -0
  35. package/dist/analysis/tokens/TokenAnalyzer.js +502 -0
  36. package/dist/analysis/tokens/TokenAnalyzer.js.map +1 -0
  37. package/dist/analysis/tokens/index.d.ts +7 -0
  38. package/dist/analysis/tokens/index.js +24 -0
  39. package/dist/analysis/tokens/index.js.map +1 -0
  40. package/dist/clients/base/abstractClient.d.ts +99 -0
  41. package/dist/clients/base/abstractClient.js +98 -0
  42. package/dist/clients/base/abstractClient.js.map +1 -0
  43. package/dist/clients/base/httpClient.d.ts +24 -0
  44. package/dist/clients/base/httpClient.js +147 -0
  45. package/dist/clients/base/httpClient.js.map +1 -0
  46. package/dist/clients/base/index.d.ts +11 -0
  47. package/dist/clients/base/index.js +28 -0
  48. package/dist/clients/base/index.js.map +1 -0
  49. package/dist/clients/base/modelDetection.d.ts +41 -0
  50. package/dist/clients/base/modelDetection.js +88 -0
  51. package/dist/clients/base/modelDetection.js.map +1 -0
  52. package/dist/clients/base/responseProcessor.d.ts +45 -0
  53. package/dist/clients/base/responseProcessor.js +495 -0
  54. package/dist/clients/base/responseProcessor.js.map +1 -0
  55. package/dist/clients/factory/clientFactory.d.ts +23 -0
  56. package/dist/clients/factory/clientFactory.js +50 -0
  57. package/dist/clients/factory/clientFactory.js.map +1 -0
  58. package/dist/clients/factory/index.d.ts +7 -0
  59. package/dist/clients/factory/index.js +24 -0
  60. package/dist/clients/factory/index.js.map +1 -0
  61. package/dist/clients/implementations/index.d.ts +7 -0
  62. package/dist/clients/implementations/index.js +24 -0
  63. package/dist/clients/implementations/index.js.map +1 -0
  64. package/dist/clients/implementations/openRouterClient.d.ts +69 -0
  65. package/dist/clients/implementations/openRouterClient.js +294 -0
  66. package/dist/clients/implementations/openRouterClient.js.map +1 -0
  67. package/dist/clients/openRouterClient.d.ts +42 -0
  68. package/dist/clients/openRouterClient.js +738 -0
  69. package/dist/clients/openRouterClient.js.map +1 -0
  70. package/dist/clients/openRouterClientWrapper.d.ts +22 -0
  71. package/dist/clients/openRouterClientWrapper.js +64 -0
  72. package/dist/clients/openRouterClientWrapper.js.map +1 -0
  73. package/dist/clients/utils/directoryStructure.d.ts +14 -0
  74. package/dist/clients/utils/directoryStructure.js +48 -0
  75. package/dist/clients/utils/directoryStructure.js.map +1 -0
  76. package/dist/clients/utils/index.d.ts +10 -0
  77. package/dist/clients/utils/index.js +31 -0
  78. package/dist/clients/utils/index.js.map +1 -0
  79. package/dist/clients/utils/languageDetection.d.ts +13 -0
  80. package/dist/clients/utils/languageDetection.js +46 -0
  81. package/dist/clients/utils/languageDetection.js.map +1 -0
  82. package/dist/clients/utils/promptFormatter.d.ts +36 -0
  83. package/dist/clients/utils/promptFormatter.js +92 -0
  84. package/dist/clients/utils/promptFormatter.js.map +1 -0
  85. package/dist/clients/utils/promptLoader.d.ts +27 -0
  86. package/dist/clients/utils/promptLoader.js +49 -0
  87. package/dist/clients/utils/promptLoader.js.map +1 -0
  88. package/dist/clients/utils/tokenCounter.d.ts +81 -0
  89. package/dist/clients/utils/tokenCounter.js +209 -0
  90. package/dist/clients/utils/tokenCounter.js.map +1 -0
  91. package/dist/core/ApiClientSelector.d.ts +8 -0
  92. package/dist/core/ApiClientSelector.js +29 -0
  93. package/dist/core/ApiClientSelector.js.map +1 -0
  94. package/dist/core/ConfigurationService.d.ts +286 -0
  95. package/dist/core/ConfigurationService.js +477 -0
  96. package/dist/core/ConfigurationService.js.map +1 -0
  97. package/dist/core/ConsolidationService.d.ts +99 -0
  98. package/dist/core/ConsolidationService.js +341 -0
  99. package/dist/core/ConsolidationService.js.map +1 -0
  100. package/dist/core/InteractiveDisplayManager.d.ts +22 -0
  101. package/dist/core/InteractiveDisplayManager.js +70 -0
  102. package/dist/core/InteractiveDisplayManager.js.map +1 -0
  103. package/dist/core/OutputManager.d.ts +26 -0
  104. package/dist/core/OutputManager.js +217 -0
  105. package/dist/core/OutputManager.js.map +1 -0
  106. package/dist/core/ReviewGenerator.d.ts +13 -0
  107. package/dist/core/ReviewGenerator.js +102 -0
  108. package/dist/core/ReviewGenerator.js.map +1 -0
  109. package/dist/core/fileDiscovery.d.ts +35 -0
  110. package/dist/core/fileDiscovery.js +202 -0
  111. package/dist/core/fileDiscovery.js.map +1 -0
  112. package/dist/core/handlers/EstimationHandler.d.ts +18 -0
  113. package/dist/core/handlers/EstimationHandler.js +110 -0
  114. package/dist/core/handlers/EstimationHandler.js.map +1 -0
  115. package/dist/core/handlers/FileProcessingHandler.d.ts +31 -0
  116. package/dist/core/handlers/FileProcessingHandler.js +159 -0
  117. package/dist/core/handlers/FileProcessingHandler.js.map +1 -0
  118. package/dist/core/handlers/OutputHandler.d.ts +27 -0
  119. package/dist/core/handlers/OutputHandler.js +127 -0
  120. package/dist/core/handlers/OutputHandler.js.map +1 -0
  121. package/dist/core/handlers/ReviewExecutor.d.ts +32 -0
  122. package/dist/core/handlers/ReviewExecutor.js +111 -0
  123. package/dist/core/handlers/ReviewExecutor.js.map +1 -0
  124. package/dist/core/reviewOrchestrator.d.ts +24 -0
  125. package/dist/core/reviewOrchestrator.js +294 -0
  126. package/dist/core/reviewOrchestrator.js.map +1 -0
  127. package/dist/core/utils/ModelInfoUtils.d.ts +16 -0
  128. package/dist/core/utils/ModelInfoUtils.js +54 -0
  129. package/dist/core/utils/ModelInfoUtils.js.map +1 -0
  130. package/dist/formatters/outputFormatter.d.ts +31 -0
  131. package/dist/formatters/outputFormatter.js +65 -0
  132. package/dist/formatters/outputFormatter.js.map +1 -0
  133. package/dist/formatters/utils/IssueFormatters.d.ts +20 -0
  134. package/dist/formatters/utils/IssueFormatters.js +67 -0
  135. package/dist/formatters/utils/IssueFormatters.js.map +1 -0
  136. package/dist/formatters/utils/JsonFormatter.d.ts +13 -0
  137. package/dist/formatters/utils/JsonFormatter.js +57 -0
  138. package/dist/formatters/utils/JsonFormatter.js.map +1 -0
  139. package/dist/formatters/utils/MarkdownFormatters.d.ts +51 -0
  140. package/dist/formatters/utils/MarkdownFormatters.js +456 -0
  141. package/dist/formatters/utils/MarkdownFormatters.js.map +1 -0
  142. package/dist/formatters/utils/MetadataFormatter.d.ts +65 -0
  143. package/dist/formatters/utils/MetadataFormatter.js +219 -0
  144. package/dist/formatters/utils/MetadataFormatter.js.map +1 -0
  145. package/dist/formatters/utils/ModelInfoExtractor.d.ts +33 -0
  146. package/dist/formatters/utils/ModelInfoExtractor.js +111 -0
  147. package/dist/formatters/utils/ModelInfoExtractor.js.map +1 -0
  148. package/dist/index.d.ts +2 -0
  149. package/dist/index.js +1 -0
  150. package/dist/index.js.map +1 -0
  151. package/dist/plugins/PluginInterface.d.ts +44 -0
  152. package/dist/plugins/PluginInterface.js +9 -0
  153. package/dist/plugins/PluginInterface.js.map +1 -0
  154. package/dist/plugins/PluginManager.d.ts +51 -0
  155. package/dist/plugins/PluginManager.js +151 -0
  156. package/dist/plugins/PluginManager.js.map +1 -0
  157. package/dist/prompts/PromptManager.d.ts +30 -0
  158. package/dist/prompts/PromptManager.js +62 -0
  159. package/dist/prompts/PromptManager.js.map +1 -0
  160. package/dist/prompts/cache/PromptCache.d.ts +32 -0
  161. package/dist/prompts/cache/PromptCache.js +48 -0
  162. package/dist/prompts/cache/PromptCache.js.map +1 -0
  163. package/dist/runtime/auth/service.d.ts +2 -0
  164. package/dist/runtime/auth/service.js +41 -0
  165. package/dist/runtime/auth/service.js.map +1 -0
  166. package/dist/runtime/auth/session.d.ts +5 -0
  167. package/dist/runtime/auth/session.js +87 -0
  168. package/dist/runtime/auth/session.js.map +1 -0
  169. package/dist/runtime/auth/types.d.ts +9 -0
  170. package/dist/runtime/auth/types.js +3 -0
  171. package/dist/runtime/auth/types.js.map +1 -0
  172. package/dist/runtime/cliEntry.d.ts +1 -0
  173. package/dist/runtime/cliEntry.js +213 -0
  174. package/dist/runtime/cliEntry.js.map +1 -0
  175. package/dist/runtime/debug/logManager.d.ts +5 -0
  176. package/dist/runtime/debug/logManager.js +31 -0
  177. package/dist/runtime/debug/logManager.js.map +1 -0
  178. package/dist/runtime/errors.d.ts +5 -0
  179. package/dist/runtime/errors.js +15 -0
  180. package/dist/runtime/errors.js.map +1 -0
  181. package/dist/runtime/fileCollector.d.ts +5 -0
  182. package/dist/runtime/fileCollector.js +167 -0
  183. package/dist/runtime/fileCollector.js.map +1 -0
  184. package/dist/runtime/manifest.d.ts +1 -0
  185. package/dist/runtime/manifest.js +65 -0
  186. package/dist/runtime/manifest.js.map +1 -0
  187. package/dist/runtime/openrouterProxy.d.ts +4 -0
  188. package/dist/runtime/openrouterProxy.js +43 -0
  189. package/dist/runtime/openrouterProxy.js.map +1 -0
  190. package/dist/runtime/preprod/webCheck.d.ts +1 -0
  191. package/dist/runtime/preprod/webCheck.js +98 -0
  192. package/dist/runtime/preprod/webCheck.js.map +1 -0
  193. package/dist/runtime/proxyConfig.d.ts +6 -0
  194. package/dist/runtime/proxyConfig.js +86 -0
  195. package/dist/runtime/proxyConfig.js.map +1 -0
  196. package/dist/runtime/proxyEnvironment.d.ts +3 -0
  197. package/dist/runtime/proxyEnvironment.js +63 -0
  198. package/dist/runtime/proxyEnvironment.js.map +1 -0
  199. package/dist/runtime/reportMerge.d.ts +30 -0
  200. package/dist/runtime/reportMerge.js +70 -0
  201. package/dist/runtime/reportMerge.js.map +1 -0
  202. package/dist/runtime/reporting/markdownReportBuilder.d.ts +15 -0
  203. package/dist/runtime/reporting/markdownReportBuilder.js +97 -0
  204. package/dist/runtime/reporting/markdownReportBuilder.js.map +1 -0
  205. package/dist/runtime/reporting/reportDataCollector.d.ts +31 -0
  206. package/dist/runtime/reporting/reportDataCollector.js +170 -0
  207. package/dist/runtime/reporting/reportDataCollector.js.map +1 -0
  208. package/dist/runtime/reporting/summaryGenerator.d.ts +10 -0
  209. package/dist/runtime/reporting/summaryGenerator.js +67 -0
  210. package/dist/runtime/reporting/summaryGenerator.js.map +1 -0
  211. package/dist/runtime/reviewPipeline.d.ts +28 -0
  212. package/dist/runtime/reviewPipeline.js +122 -0
  213. package/dist/runtime/reviewPipeline.js.map +1 -0
  214. package/dist/runtime/runAiCodeReview.d.ts +10 -0
  215. package/dist/runtime/runAiCodeReview.js +138 -0
  216. package/dist/runtime/runAiCodeReview.js.map +1 -0
  217. package/dist/runtime/runtimeConfig.d.ts +4 -0
  218. package/dist/runtime/runtimeConfig.js +7 -0
  219. package/dist/runtime/runtimeConfig.js.map +1 -0
  220. package/dist/runtime/ui/Layout.d.ts +11 -0
  221. package/dist/runtime/ui/Layout.js +47 -0
  222. package/dist/runtime/ui/Layout.js.map +1 -0
  223. package/dist/runtime/ui/RuntimeApp.d.ts +6 -0
  224. package/dist/runtime/ui/RuntimeApp.js +161 -0
  225. package/dist/runtime/ui/RuntimeApp.js.map +1 -0
  226. package/dist/runtime/ui/inkModules.d.ts +10 -0
  227. package/dist/runtime/ui/inkModules.js +63 -0
  228. package/dist/runtime/ui/inkModules.js.map +1 -0
  229. package/dist/runtime/ui/screens/AuthScreen.d.ts +6 -0
  230. package/dist/runtime/ui/screens/AuthScreen.js +67 -0
  231. package/dist/runtime/ui/screens/AuthScreen.js.map +1 -0
  232. package/dist/runtime/ui/screens/ModeSelection.d.ts +10 -0
  233. package/dist/runtime/ui/screens/ModeSelection.js +100 -0
  234. package/dist/runtime/ui/screens/ModeSelection.js.map +1 -0
  235. package/dist/runtime/ui/screens/ProgressScreen.d.ts +7 -0
  236. package/dist/runtime/ui/screens/ProgressScreen.js +38 -0
  237. package/dist/runtime/ui/screens/ProgressScreen.js.map +1 -0
  238. package/dist/runtime/ui/screens/ResultsScreen.d.ts +7 -0
  239. package/dist/runtime/ui/screens/ResultsScreen.js +22 -0
  240. package/dist/runtime/ui/screens/ResultsScreen.js.map +1 -0
  241. package/dist/strategies/ArchitecturalReviewStrategy.d.ts +29 -0
  242. package/dist/strategies/ArchitecturalReviewStrategy.js +42 -0
  243. package/dist/strategies/ArchitecturalReviewStrategy.js.map +1 -0
  244. package/dist/strategies/CodingTestReviewStrategy.d.ts +194 -0
  245. package/dist/strategies/CodingTestReviewStrategy.js +681 -0
  246. package/dist/strategies/CodingTestReviewStrategy.js.map +1 -0
  247. package/dist/strategies/ConsolidatedReviewStrategy.d.ts +25 -0
  248. package/dist/strategies/ConsolidatedReviewStrategy.js +45 -0
  249. package/dist/strategies/ConsolidatedReviewStrategy.js.map +1 -0
  250. package/dist/strategies/ExtractPatternsReviewStrategy.d.ts +30 -0
  251. package/dist/strategies/ExtractPatternsReviewStrategy.js +51 -0
  252. package/dist/strategies/ExtractPatternsReviewStrategy.js.map +1 -0
  253. package/dist/strategies/MultiPassReviewStrategy.d.ts +86 -0
  254. package/dist/strategies/MultiPassReviewStrategy.js +590 -0
  255. package/dist/strategies/MultiPassReviewStrategy.js.map +1 -0
  256. package/dist/strategies/ReviewStrategy.d.ts +45 -0
  257. package/dist/strategies/ReviewStrategy.js +24 -0
  258. package/dist/strategies/ReviewStrategy.js.map +1 -0
  259. package/dist/strategies/StrategyFactory.d.ts +19 -0
  260. package/dist/strategies/StrategyFactory.js +72 -0
  261. package/dist/strategies/StrategyFactory.js.map +1 -0
  262. package/dist/strategies/index.d.ts +13 -0
  263. package/dist/strategies/index.js +30 -0
  264. package/dist/strategies/index.js.map +1 -0
  265. package/dist/tokenizers/baseTokenizer.d.ts +25 -0
  266. package/dist/tokenizers/baseTokenizer.js +48 -0
  267. package/dist/tokenizers/baseTokenizer.js.map +1 -0
  268. package/dist/tokenizers/gptTokenizer.d.ts +7 -0
  269. package/dist/tokenizers/gptTokenizer.js +28 -0
  270. package/dist/tokenizers/gptTokenizer.js.map +1 -0
  271. package/dist/tokenizers/index.d.ts +7 -0
  272. package/dist/tokenizers/index.js +24 -0
  273. package/dist/tokenizers/index.js.map +1 -0
  274. package/dist/types/apiResponses.d.ts +39 -0
  275. package/dist/types/apiResponses.js +9 -0
  276. package/dist/types/apiResponses.js.map +1 -0
  277. package/dist/types/cli.d.ts +22 -0
  278. package/dist/types/cli.js +3 -0
  279. package/dist/types/cli.js.map +1 -0
  280. package/dist/types/common.d.ts +22 -0
  281. package/dist/types/common.js +14 -0
  282. package/dist/types/common.js.map +1 -0
  283. package/dist/types/configuration.d.ts +682 -0
  284. package/dist/types/configuration.js +65 -0
  285. package/dist/types/configuration.js.map +1 -0
  286. package/dist/types/review.d.ts +258 -0
  287. package/dist/types/review.js +8 -0
  288. package/dist/types/review.js.map +1 -0
  289. package/dist/types/reviewSchema.d.ts +543 -0
  290. package/dist/types/reviewSchema.js +121 -0
  291. package/dist/types/reviewSchema.js.map +1 -0
  292. package/dist/types/structuredReview.d.ts +119 -0
  293. package/dist/types/structuredReview.js +6 -0
  294. package/dist/types/structuredReview.js.map +1 -0
  295. package/dist/types/tokenAnalysis.d.ts +44 -0
  296. package/dist/types/tokenAnalysis.js +4 -0
  297. package/dist/types/tokenAnalysis.js.map +1 -0
  298. package/dist/utils/FileReader.d.ts +33 -0
  299. package/dist/utils/FileReader.js +88 -0
  300. package/dist/utils/FileReader.js.map +1 -0
  301. package/dist/utils/FileWriter.d.ts +26 -0
  302. package/dist/utils/FileWriter.js +76 -0
  303. package/dist/utils/FileWriter.js.map +1 -0
  304. package/dist/utils/PathGenerator.d.ts +30 -0
  305. package/dist/utils/PathGenerator.js +82 -0
  306. package/dist/utils/PathGenerator.js.map +1 -0
  307. package/dist/utils/api/apiUtils.d.ts +3 -0
  308. package/dist/utils/api/apiUtils.js +20 -0
  309. package/dist/utils/api/apiUtils.js.map +1 -0
  310. package/dist/utils/api/index.d.ts +1 -0
  311. package/dist/utils/api/index.js +18 -0
  312. package/dist/utils/api/index.js.map +1 -0
  313. package/dist/utils/apiErrorHandler.d.ts +130 -0
  314. package/dist/utils/apiErrorHandler.js +256 -0
  315. package/dist/utils/apiErrorHandler.js.map +1 -0
  316. package/dist/utils/ciDataCollector.d.ts +51 -0
  317. package/dist/utils/ciDataCollector.js +197 -0
  318. package/dist/utils/ciDataCollector.js.map +1 -0
  319. package/dist/utils/codingTestConfigLoader.d.ts +66 -0
  320. package/dist/utils/codingTestConfigLoader.js +420 -0
  321. package/dist/utils/codingTestConfigLoader.js.map +1 -0
  322. package/dist/utils/dependencies/aiDependencyAnalyzer.d.ts +30 -0
  323. package/dist/utils/dependencies/aiDependencyAnalyzer.js +343 -0
  324. package/dist/utils/dependencies/aiDependencyAnalyzer.js.map +1 -0
  325. package/dist/utils/detection/frameworkDetector.d.ts +43 -0
  326. package/dist/utils/detection/frameworkDetector.js +795 -0
  327. package/dist/utils/detection/frameworkDetector.js.map +1 -0
  328. package/dist/utils/detection/index.d.ts +9 -0
  329. package/dist/utils/detection/index.js +28 -0
  330. package/dist/utils/detection/index.js.map +1 -0
  331. package/dist/utils/detection/projectTypeDetector.d.ts +27 -0
  332. package/dist/utils/detection/projectTypeDetector.js +469 -0
  333. package/dist/utils/detection/projectTypeDetector.js.map +1 -0
  334. package/dist/utils/diagramGenerator.d.ts +49 -0
  335. package/dist/utils/diagramGenerator.js +218 -0
  336. package/dist/utils/diagramGenerator.js.map +1 -0
  337. package/dist/utils/errorLogger.d.ts +24 -0
  338. package/dist/utils/errorLogger.js +59 -0
  339. package/dist/utils/errorLogger.js.map +1 -0
  340. package/dist/utils/estimationUtils.d.ts +139 -0
  341. package/dist/utils/estimationUtils.js +329 -0
  342. package/dist/utils/estimationUtils.js.map +1 -0
  343. package/dist/utils/fileFilters.d.ts +72 -0
  344. package/dist/utils/fileFilters.js +338 -0
  345. package/dist/utils/fileFilters.js.map +1 -0
  346. package/dist/utils/fileSystem.d.ts +22 -0
  347. package/dist/utils/fileSystem.js +45 -0
  348. package/dist/utils/fileSystem.js.map +1 -0
  349. package/dist/utils/index.d.ts +22 -0
  350. package/dist/utils/index.js +52 -0
  351. package/dist/utils/index.js.map +1 -0
  352. package/dist/utils/logger.d.ts +77 -0
  353. package/dist/utils/logger.js +271 -0
  354. package/dist/utils/logger.js.map +1 -0
  355. package/dist/utils/pathValidator.d.ts +40 -0
  356. package/dist/utils/pathValidator.js +98 -0
  357. package/dist/utils/pathValidator.js.map +1 -0
  358. package/dist/utils/priorityFilter.d.ts +34 -0
  359. package/dist/utils/priorityFilter.js +54 -0
  360. package/dist/utils/priorityFilter.js.map +1 -0
  361. package/dist/utils/projectDocs.d.ts +47 -0
  362. package/dist/utils/projectDocs.js +158 -0
  363. package/dist/utils/projectDocs.js.map +1 -0
  364. package/dist/utils/promptPaths.d.ts +6 -0
  365. package/dist/utils/promptPaths.js +33 -0
  366. package/dist/utils/promptPaths.js.map +1 -0
  367. package/dist/utils/promptTemplateManager.d.ts +34 -0
  368. package/dist/utils/promptTemplateManager.js +140 -0
  369. package/dist/utils/promptTemplateManager.js.map +1 -0
  370. package/dist/utils/review/consolidateReview.d.ts +15 -0
  371. package/dist/utils/review/consolidateReview.js +481 -0
  372. package/dist/utils/review/consolidateReview.js.map +1 -0
  373. package/dist/utils/review/fixDisplay.d.ts +20 -0
  374. package/dist/utils/review/fixDisplay.js +84 -0
  375. package/dist/utils/review/fixDisplay.js.map +1 -0
  376. package/dist/utils/review/fixImplementation.d.ts +28 -0
  377. package/dist/utils/review/fixImplementation.js +60 -0
  378. package/dist/utils/review/fixImplementation.js.map +1 -0
  379. package/dist/utils/review/index.d.ts +13 -0
  380. package/dist/utils/review/index.js +50 -0
  381. package/dist/utils/review/index.js.map +1 -0
  382. package/dist/utils/review/interactiveProcessing.d.ts +25 -0
  383. package/dist/utils/review/interactiveProcessing.js +251 -0
  384. package/dist/utils/review/interactiveProcessing.js.map +1 -0
  385. package/dist/utils/review/progressTracker.d.ts +106 -0
  386. package/dist/utils/review/progressTracker.js +227 -0
  387. package/dist/utils/review/progressTracker.js.map +1 -0
  388. package/dist/utils/review/reviewExtraction.d.ts +31 -0
  389. package/dist/utils/review/reviewExtraction.js +324 -0
  390. package/dist/utils/review/reviewExtraction.js.map +1 -0
  391. package/dist/utils/review/types.d.ts +45 -0
  392. package/dist/utils/review/types.js +18 -0
  393. package/dist/utils/review/types.js.map +1 -0
  394. package/dist/utils/reviewActionHandler.d.ts +16 -0
  395. package/dist/utils/reviewActionHandler.js +34 -0
  396. package/dist/utils/reviewActionHandler.js.map +1 -0
  397. package/dist/utils/reviewParser.d.ts +34 -0
  398. package/dist/utils/reviewParser.js +218 -0
  399. package/dist/utils/reviewParser.js.map +1 -0
  400. package/dist/utils/sanitizer.d.ts +82 -0
  401. package/dist/utils/sanitizer.js +239 -0
  402. package/dist/utils/sanitizer.js.map +1 -0
  403. package/dist/utils/smartFileSelector.d.ts +50 -0
  404. package/dist/utils/smartFileSelector.js +261 -0
  405. package/dist/utils/smartFileSelector.js.map +1 -0
  406. package/dist/utils/templateLoader.d.ts +44 -0
  407. package/dist/utils/templateLoader.js +431 -0
  408. package/dist/utils/templateLoader.js.map +1 -0
  409. package/dist/utils/treeGenerator.d.ts +12 -0
  410. package/dist/utils/treeGenerator.js +133 -0
  411. package/dist/utils/treeGenerator.js.map +1 -0
  412. package/package.json +11 -12
  413. package/src/index.ts +1 -0
  414. package/src/runtime/debug/logManager.ts +37 -0
  415. package/src/runtime/fileCollector.ts +58 -24
  416. package/src/runtime/preprod/webCheck.ts +104 -0
  417. package/src/runtime/reviewPipeline.ts +10 -4
  418. package/src/runtime/ui/RuntimeApp.tsx +96 -13
  419. package/src/runtime/ui/screens/ModeSelection.tsx +148 -15
  420. package/src/runtime/ui/screens/ProgressScreen.tsx +10 -3
  421. package/src/runtime/ui/screens/ResultsScreen.tsx +8 -1
  422. package/src/utils/logger.ts +64 -14
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ModeSelection = ModeSelection;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const inkModules_1 = require("../inkModules");
7
+ const Layout_1 = require("../Layout");
8
+ const OPTIONS = [
9
+ {
10
+ label: 'Review uncommitted changes',
11
+ value: 'uncommitted',
12
+ description: 'Scan staged and unstaged changes only',
13
+ },
14
+ {
15
+ label: 'Pre-production review',
16
+ value: 'preprod',
17
+ description: 'Scan the entire workspace and trigger website checks',
18
+ requiresUrl: true,
19
+ },
20
+ ];
21
+ function ModeSelection({ onSelect, debugEnabled, onToggleDebug }) {
22
+ const { Box, Text, useInput } = (0, inkModules_1.getInk)();
23
+ const SelectInput = (0, inkModules_1.getInkSelectInput)();
24
+ const TextInput = (0, inkModules_1.getInkTextInput)();
25
+ const { frameWidth } = (0, Layout_1.useLayout)();
26
+ const [phase, setPhase] = (0, react_1.useState)('list');
27
+ const [pendingMode, setPendingMode] = (0, react_1.useState)('preprod');
28
+ const [highlighted, setHighlighted] = (0, react_1.useState)('uncommitted');
29
+ const [urlValue, setUrlValue] = (0, react_1.useState)('');
30
+ const [urlError, setUrlError] = (0, react_1.useState)(null);
31
+ const resetUrlState = (0, react_1.useCallback)(() => {
32
+ setUrlValue('');
33
+ setUrlError(null);
34
+ }, []);
35
+ const handleModeSelect = (0, react_1.useCallback)((mode) => {
36
+ const option = OPTIONS.find((opt) => opt.value === mode);
37
+ if (!option) {
38
+ return;
39
+ }
40
+ if (option.requiresUrl) {
41
+ setPendingMode(option.value);
42
+ resetUrlState();
43
+ setPhase('preprodUrl');
44
+ return;
45
+ }
46
+ onSelect(option.value);
47
+ }, [onSelect, resetUrlState]);
48
+ const submitUrl = (0, react_1.useCallback)(() => {
49
+ if (phase !== 'preprodUrl') {
50
+ return;
51
+ }
52
+ const trimmed = urlValue.trim();
53
+ if (!trimmed) {
54
+ setUrlError('URL is required');
55
+ return;
56
+ }
57
+ try {
58
+ const parsed = new URL(trimmed);
59
+ if (!['http:', 'https:'].includes(parsed.protocol)) {
60
+ throw new Error('invalid');
61
+ }
62
+ setUrlError(null);
63
+ onSelect(pendingMode, { targetUrl: parsed.toString() });
64
+ }
65
+ catch {
66
+ setUrlError('Enter a valid URL starting with http:// or https://');
67
+ }
68
+ }, [onSelect, pendingMode, phase, urlValue]);
69
+ useInput((input, key) => {
70
+ const normalizedInput = input.toLowerCase();
71
+ if (normalizedInput === 'd' && !key.ctrl && !key.meta) {
72
+ onToggleDebug();
73
+ return;
74
+ }
75
+ if (phase !== 'preprodUrl') {
76
+ return;
77
+ }
78
+ if (key.escape) {
79
+ setPhase('list');
80
+ resetUrlState();
81
+ return;
82
+ }
83
+ if (key.return) {
84
+ submitUrl();
85
+ }
86
+ });
87
+ if (phase === 'preprodUrl') {
88
+ 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 full website URL. We will trigger ai.enki.si and scan every file here." }), (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) => {
89
+ setUrlValue(value);
90
+ if (urlError) {
91
+ setUrlError(null);
92
+ }
93
+ }, 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 start \u00B7 Esc to go back" }), (0, jsx_runtime_1.jsxs)(Text, { dimColor: true, children: ["Debug: ", debugEnabled ? 'On' : 'Off', " (press D)"] })] })] }));
94
+ }
95
+ 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) => ({
96
+ label: option.label,
97
+ value: option.value,
98
+ })), onHighlight: (item) => setHighlighted(item.value), onSelect: (item) => handleModeSelect(item.value) }), (0, jsx_runtime_1.jsx)(Box, { flexDirection: "column", marginTop: 1, children: (0, jsx_runtime_1.jsxs)(Text, { dimColor: true, children: ["\u00B7 ", OPTIONS.find((option) => option.value === highlighted)?.description] }) })] }));
99
+ }
100
+ //# sourceMappingURL=ModeSelection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModeSelection.js","sourceRoot":"","sources":["../../../../src/runtime/ui/screens/ModeSelection.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { ReviewStage } from '../../reviewPipeline';
2
+ interface ProgressScreenProps {
3
+ stage: ReviewStage;
4
+ filesFound?: number;
5
+ }
6
+ export declare function ProgressScreen({ stage, filesFound }: ProgressScreenProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProgressScreen = ProgressScreen;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const Layout_1 = require("../Layout");
7
+ const inkModules_1 = require("../inkModules");
8
+ const STAGE_TEXT = {
9
+ preparing: {
10
+ title: 'Preparing run',
11
+ detail: 'Triggering website checks and configuring the reviewer',
12
+ },
13
+ collecting: {
14
+ title: 'Collecting files',
15
+ detail: 'Inspecting your working tree',
16
+ },
17
+ reviewing: {
18
+ title: 'Running AI review',
19
+ detail: 'Streaming code to the reviewer',
20
+ },
21
+ merging: {
22
+ title: 'Merging reports',
23
+ detail: 'Normalizing findings and cost data',
24
+ },
25
+ };
26
+ function ProgressScreen({ stage, filesFound }) {
27
+ const { Box, Text } = (0, inkModules_1.getInk)();
28
+ const Spinner = (0, inkModules_1.getInkSpinner)();
29
+ const { frameWidth } = (0, Layout_1.useLayout)();
30
+ const meta = (0, react_1.useMemo)(() => STAGE_TEXT[stage], [stage]);
31
+ const fileStatus = stage === 'collecting' && typeof filesFound === 'number' && filesFound >= 0
32
+ ? `${filesFound} files queued`
33
+ : stage === 'collecting'
34
+ ? 'Preparing file list…'
35
+ : '';
36
+ 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 })] }));
37
+ }
38
+ //# sourceMappingURL=ProgressScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProgressScreen.js","sourceRoot":"","sources":["../../../../src/runtime/ui/screens/ProgressScreen.tsx"],"names":[],"mappings":";;AA6BA,wCAgCC;;AA7DD,iCAAuC;AACvC,sCAAsC;AAEtC,8CAAsD;AAOtD,MAAM,UAAU,GAA2D;IACzE,SAAS,EAAE;QACT,KAAK,EAAE,eAAe;QACtB,MAAM,EAAE,wDAAwD;KACjE;IACD,UAAU,EAAE;QACV,KAAK,EAAE,kBAAkB;QACzB,MAAM,EAAE,8BAA8B;KACvC;IACD,SAAS,EAAE;QACT,KAAK,EAAE,mBAAmB;QAC1B,MAAM,EAAE,gCAAgC;KACzC;IACD,OAAO,EAAE;QACP,KAAK,EAAE,iBAAiB;QACxB,MAAM,EAAE,oCAAoC;KAC7C;CACF,CAAC;AAEF,SAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,UAAU,EAAuB;IACvE,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,UAAU,GACd,KAAK,KAAK,YAAY,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,IAAI,CAAC;QACzE,CAAC,CAAC,GAAG,UAAU,eAAe;QAC9B,CAAC,CAAC,KAAK,KAAK,YAAY;YACtB,CAAC,CAAC,sBAAsB;YACxB,CAAC,CAAC,EAAE,CAAC;IAEX,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,IAC7C,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { ReviewResult } from '../../reviewPipeline';
2
+ interface ResultsScreenProps {
3
+ result: ReviewResult;
4
+ debugLogPath?: string | null;
5
+ }
6
+ export declare function ResultsScreen({ result, debugLogPath }: ResultsScreenProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ResultsScreen = ResultsScreen;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const Layout_1 = require("../Layout");
7
+ const inkModules_1 = require("../inkModules");
8
+ function ResultsScreen({ result, debugLogPath }) {
9
+ const { Box, Text } = (0, inkModules_1.getInk)();
10
+ const { frameWidth } = (0, Layout_1.useLayout)();
11
+ const severityRows = (0, react_1.useMemo)(() => {
12
+ const totals = result.totals || { critical: 0, high: 0, medium: 0, low: 0 };
13
+ return [
14
+ { label: 'Critical', value: totals.critical ?? 0 },
15
+ { label: 'High', value: totals.high ?? 0 },
16
+ { label: 'Medium', value: totals.medium ?? 0 },
17
+ { label: 'Low', value: totals.low ?? 0 },
18
+ ];
19
+ }, [result.totals]);
20
+ 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] }), (0, jsx_runtime_1.jsx)(Box, { flexDirection: "column", marginTop: 1, children: severityRows.map((row) => ((0, jsx_runtime_1.jsx)(Box, { children: (0, jsx_runtime_1.jsxs)(Text, { children: [row.label, ": ", row.value] }) }, row.label))) }), 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}-${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 && ((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." }) })] }));
21
+ }
22
+ //# sourceMappingURL=ResultsScreen.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResultsScreen.js","sourceRoot":"","sources":["../../../../src/runtime/ui/screens/ResultsScreen.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
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
+ import type { ApiClientConfig } from '../core/ApiClientSelector';
8
+ import type { FileInfo, ReviewOptions, ReviewResult } from '../types/review';
9
+ import type { ProjectDocs } from '../utils/projectDocs';
10
+ import { BaseReviewStrategy } from './ReviewStrategy';
11
+ /**
12
+ * Strategy for architectural reviews
13
+ */
14
+ export declare class ArchitecturalReviewStrategy extends BaseReviewStrategy {
15
+ /**
16
+ * Create a new architectural review strategy
17
+ */
18
+ constructor();
19
+ /**
20
+ * Execute the architectural review strategy
21
+ * @param files Files to review
22
+ * @param projectName Project name
23
+ * @param projectDocs Project documentation
24
+ * @param options Review options
25
+ * @param apiClientConfig API client configuration
26
+ * @returns Promise resolving to the review result
27
+ */
28
+ execute(files: FileInfo[], projectName: string, projectDocs: ProjectDocs | null, options: ReviewOptions, apiClientConfig: ApiClientConfig): Promise<ReviewResult>;
29
+ }
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ /**
3
+ * @fileoverview Architectural review strategy implementation.
4
+ *
5
+ * This module implements the architectural review strategy, which analyzes the entire
6
+ * codebase structure and design patterns to provide high-level feedback.
7
+ */
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ArchitecturalReviewStrategy = void 0;
13
+ const ReviewGenerator_1 = require("../core/ReviewGenerator");
14
+ const logger_1 = __importDefault(require("../utils/logger"));
15
+ const ReviewStrategy_1 = require("./ReviewStrategy");
16
+ /**
17
+ * Strategy for architectural reviews
18
+ */
19
+ class ArchitecturalReviewStrategy extends ReviewStrategy_1.BaseReviewStrategy {
20
+ /**
21
+ * Create a new architectural review strategy
22
+ */
23
+ constructor() {
24
+ super('architectural');
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(files, projectName, projectDocs, options, apiClientConfig) {
36
+ logger_1.default.info('Executing architectural review strategy...');
37
+ // Generate the review using the selected API client
38
+ return (0, ReviewGenerator_1.generateReview)(files, projectName, this.reviewType, projectDocs, options, apiClientConfig);
39
+ }
40
+ }
41
+ exports.ArchitecturalReviewStrategy = ArchitecturalReviewStrategy;
42
+ //# sourceMappingURL=ArchitecturalReviewStrategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArchitecturalReviewStrategy.js","sourceRoot":"","sources":["../../src/strategies/ArchitecturalReviewStrategy.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;AAGH,6DAAyD;AAEzD,6DAAqC;AAErC,qDAAsD;AAEtD;;GAEG;AACH,MAAa,2BAA4B,SAAQ,mCAAkB;IACjE;;OAEG;IACH;QACE,KAAK,CAAC,eAAe,CAAC,CAAC;IACzB,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,OAAO,CACX,KAAiB,EACjB,WAAmB,EACnB,WAA+B,EAC/B,OAAsB,EACtB,eAAgC;QAEhC,gBAAM,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QAE1D,oDAAoD;QACpD,OAAO,IAAA,gCAAc,EACnB,KAAK,EACL,WAAW,EACX,IAAI,CAAC,UAAU,EACf,WAAW,EACX,OAAO,EACP,eAAe,CAChB,CAAC;IACJ,CAAC;CACF;AApCD,kEAoCC"}
@@ -0,0 +1,194 @@
1
+ /**
2
+ * @fileoverview Coding test review strategy implementation.
3
+ *
4
+ * This module implements the coding test review strategy for evaluating candidate submissions
5
+ * against assignment requirements using configurable scoring criteria and evaluation frameworks.
6
+ */
7
+ import type { ApiClientConfig } from '../core/ApiClientSelector';
8
+ import type { FileInfo, ReviewOptions, ReviewResult } from '../types/review';
9
+ import type { ProjectDocs } from '../utils/projectDocs';
10
+ import { BaseReviewStrategy } from './ReviewStrategy';
11
+ /**
12
+ * Configuration interface for coding test evaluation
13
+ */
14
+ export interface CodingTestConfig {
15
+ /** Assignment specification */
16
+ assignment?: {
17
+ title?: string;
18
+ description?: string;
19
+ requirements?: string[];
20
+ difficulty?: 'junior' | 'mid' | 'senior' | 'lead' | 'architect';
21
+ timeLimit?: number;
22
+ type?: 'coding-challenge' | 'take-home' | 'live-coding' | 'code-review';
23
+ };
24
+ /** Evaluation criteria with weights */
25
+ criteria?: Record<string, number> & {
26
+ correctness?: number;
27
+ codeQuality?: number;
28
+ architecture?: number;
29
+ performance?: number;
30
+ testing?: number;
31
+ documentation?: number;
32
+ errorHandling?: number;
33
+ security?: number;
34
+ };
35
+ /** Scoring configuration */
36
+ scoring?: {
37
+ system?: 'numeric' | 'letter' | 'pass-fail' | 'custom';
38
+ maxScore?: number;
39
+ passingThreshold?: number;
40
+ breakdown?: boolean;
41
+ };
42
+ /** Feedback configuration */
43
+ feedback?: {
44
+ level?: 'basic' | 'detailed' | 'comprehensive';
45
+ includeExamples?: boolean;
46
+ includeSuggestions?: boolean;
47
+ includeResources?: boolean;
48
+ };
49
+ /** Technical constraints */
50
+ constraints?: {
51
+ allowedLibraries?: string[];
52
+ forbiddenPatterns?: string[];
53
+ targetLanguage?: string;
54
+ framework?: string;
55
+ nodeVersion?: string;
56
+ memoryLimit?: number;
57
+ executionTimeout?: number;
58
+ };
59
+ /** AI detection configuration */
60
+ aiDetection?: {
61
+ enabled?: boolean;
62
+ threshold?: number;
63
+ analyzers?: ('git' | 'documentation' | 'structural' | 'statistical' | 'linguistic')[];
64
+ includeInReport?: boolean;
65
+ failOnDetection?: boolean;
66
+ };
67
+ }
68
+ /**
69
+ * Strategy for coding test assessment and evaluation
70
+ */
71
+ export declare class CodingTestReviewStrategy extends BaseReviewStrategy {
72
+ private config;
73
+ private aiDetectionEngine?;
74
+ /**
75
+ * Create a new coding test review strategy
76
+ * @param config Coding test configuration or options for loading configuration
77
+ */
78
+ constructor(config?: CodingTestConfig | {
79
+ fromFile?: string;
80
+ fromUrl?: string;
81
+ });
82
+ /**
83
+ * Execute the coding test review strategy
84
+ * @param files Files to review
85
+ * @param projectName Project name
86
+ * @param projectDocs Project documentation
87
+ * @param options Review options
88
+ * @param apiClientConfig API client configuration
89
+ * @returns Promise resolving to the review result
90
+ */
91
+ execute(files: FileInfo[], projectName: string, projectDocs: ProjectDocs | null, options: ReviewOptions, apiClientConfig: ApiClientConfig): Promise<ReviewResult>;
92
+ /**
93
+ * Initialize configuration from various sources
94
+ * @param config Configuration or loading options
95
+ * @returns Initialized configuration
96
+ */
97
+ private initializeConfig;
98
+ /**
99
+ * Normalize and validate configuration
100
+ * @param config Input configuration
101
+ * @returns Normalized configuration
102
+ */
103
+ private normalizeConfig;
104
+ /**
105
+ * Validate that criteria weights sum to 100
106
+ * @param criteria Criteria configuration
107
+ */
108
+ private validateCriteriaWeights;
109
+ /**
110
+ * Merge CLI options with configuration
111
+ * @param options Review options
112
+ * @returns Merged configuration
113
+ */
114
+ private mergeOptionsWithConfig;
115
+ /**
116
+ * Determine if CI data should be collected
117
+ * @param files Files being reviewed
118
+ * @param options Review options
119
+ * @returns True if CI data should be collected
120
+ */
121
+ private shouldCollectCIData;
122
+ /**
123
+ * Enhance options with coding test context
124
+ * @param options Original options
125
+ * @param config Effective configuration
126
+ * @returns Enhanced options
127
+ */
128
+ private enhanceOptionsWithCodingTestContext;
129
+ /**
130
+ * Build assignment context prompt
131
+ * @param assignment Assignment configuration
132
+ * @returns Assignment context prompt
133
+ */
134
+ private buildAssignmentContextPrompt;
135
+ /**
136
+ * Build criteria context prompt
137
+ * @param criteria Criteria configuration
138
+ * @returns Criteria context prompt
139
+ */
140
+ private buildCriteriaContextPrompt;
141
+ /**
142
+ * Build scoring context prompt
143
+ * @param scoring Scoring configuration
144
+ * @returns Scoring context prompt
145
+ */
146
+ private buildScoringContextPrompt;
147
+ /**
148
+ * Build feedback instructions prompt
149
+ * @param feedback Feedback configuration
150
+ * @returns Feedback instructions prompt
151
+ */
152
+ private buildFeedbackInstructionsPrompt;
153
+ /**
154
+ * Build constraints context prompt
155
+ * @param constraints Constraints configuration
156
+ * @returns Constraints context prompt
157
+ */
158
+ private buildConstraintsContextPrompt;
159
+ /**
160
+ * Format criterion name for display
161
+ * @param criterion Criterion key
162
+ * @returns Formatted criterion name
163
+ */
164
+ private formatCriterionName;
165
+ /**
166
+ * Enhance result with coding test metadata
167
+ * @param result Original result
168
+ * @param config Configuration used
169
+ * @returns Enhanced result
170
+ */
171
+ private enhanceResultWithCodingTestMetadata;
172
+ /**
173
+ * Initialize AI detection engine with merged configuration
174
+ * @param config Effective configuration after merging options
175
+ */
176
+ private initializeAIDetectionWithConfig;
177
+ /**
178
+ * Initialize AI detection engine if enabled (legacy method - kept for compatibility)
179
+ */
180
+ private initializeAIDetection;
181
+ /**
182
+ * Build AI detection context prompt
183
+ * @param aiDetectionResult AI detection analysis result
184
+ * @param config AI detection configuration
185
+ * @returns AI detection context prompt
186
+ */
187
+ private buildAIDetectionContextPrompt;
188
+ /**
189
+ * Calculate risk level based on confidence score
190
+ * @param confidenceScore Confidence score from 0.0 to 1.0
191
+ * @returns Risk level
192
+ */
193
+ private calculateRiskLevel;
194
+ }