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
@@ -1,381 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.collectFiles = collectFiles;
7
- const node_fs_1 = require("node:fs");
8
- const node_path_1 = require("node:path");
9
- const execa_1 = require("execa");
10
- const errors_1 = require("./errors");
11
- const ignore_1 = __importDefault(require("ignore"));
12
- async function collectFiles(options = {}) {
13
- try {
14
- const { stdout: rootOut } = await (0, execa_1.execa)('git', ['rev-parse', '--show-toplevel']);
15
- const repoRoot = (0, node_path_1.resolve)(rootOut.trim());
16
- const workspaceRoot = (0, node_path_1.resolve)(process.cwd());
17
- const workspaceRelative = (0, node_path_1.relative)(repoRoot, workspaceRoot) || '.';
18
- if (workspaceRelative.startsWith('..')) {
19
- throw new Error('Workspace is outside of the current git repository.');
20
- }
21
- const crIgnorePath = (0, node_path_1.join)(workspaceRoot, '.crignore');
22
- if (!(0, node_fs_1.existsSync)(crIgnorePath)) {
23
- throw new errors_1.MissingCrIgnoreError(workspaceRoot, crIgnorePath);
24
- }
25
- const isWithinWorkspace = (absolutePath) => {
26
- if (workspaceRoot === repoRoot) {
27
- return true;
28
- }
29
- const rel = (0, node_path_1.relative)(workspaceRoot, absolutePath);
30
- if (rel === '') {
31
- return true;
32
- }
33
- return !rel.startsWith('..') && !(0, node_path_1.isAbsolute)(rel);
34
- };
35
- const normalize = (filePath) => {
36
- if (!filePath) {
37
- return null;
38
- }
39
- if (filePath.startsWith('.git/') || filePath.includes('node_modules')) {
40
- return null;
41
- }
42
- const absolutePath = (0, node_path_1.resolve)(repoRoot, filePath);
43
- if (!isWithinWorkspace(absolutePath)) {
44
- return null;
45
- }
46
- if (!(0, node_fs_1.existsSync)(absolutePath)) {
47
- return null;
48
- }
49
- const stats = (0, node_fs_1.statSync)(absolutePath);
50
- if (!stats.isFile()) {
51
- return null;
52
- }
53
- return absolutePath;
54
- };
55
- const mode = options.mode ?? 'uncommitted';
56
- const collectUncommittedFiles = async () => {
57
- const gitWorkspaceOptions = { cwd: workspaceRoot };
58
- const gitPathSpec = ['--', '.'];
59
- const { stdout: statusOut } = await (0, execa_1.execa)('git', ['status', '--porcelain=1', '-z', ...gitPathSpec], gitWorkspaceOptions);
60
- const { stdout: diffOut } = await (0, execa_1.execa)('git', ['diff', '--name-only', '-z', ...gitPathSpec], gitWorkspaceOptions);
61
- const statusEntries = statusOut.split('\0').filter(Boolean);
62
- const statusFiles = [];
63
- for (let i = 0; i < statusEntries.length; i += 1) {
64
- const entry = statusEntries[i];
65
- const statusPrefix = entry.slice(0, 3);
66
- const pathPart = entry.slice(3).trim();
67
- if (!pathPart) {
68
- continue;
69
- }
70
- if (statusPrefix.trim().startsWith('R')) {
71
- const renamedTarget = statusEntries[i + 1];
72
- if (renamedTarget) {
73
- statusFiles.push(renamedTarget);
74
- i += 1;
75
- continue;
76
- }
77
- }
78
- statusFiles.push(pathPart);
79
- }
80
- const diffFiles = diffOut.split('\0').filter(Boolean);
81
- const unique = new Set([...statusFiles, ...diffFiles]);
82
- return Array.from(unique);
83
- };
84
- const collectWorkspaceFiles = async () => {
85
- const pathSpec = workspaceRelative === '' ? '.' : workspaceRelative;
86
- const tracked = await listTrackedFiles(repoRoot, pathSpec || '.');
87
- const untracked = await listUntrackedFiles(repoRoot, pathSpec || '.');
88
- return Array.from(new Set([...tracked, ...untracked]));
89
- };
90
- const pendingFiles = mode === 'preprod' ? await collectWorkspaceFiles() : await collectUncommittedFiles();
91
- const resolved = pendingFiles
92
- .map((file) => normalize(file))
93
- .filter((file) => Boolean(file));
94
- const baseSet = new Set(resolved);
95
- const { combinedFiles, extras } = await augmentWithContext(resolved, workspaceRoot);
96
- const extraSet = new Set(extras);
97
- const gitFiltered = await excludeIgnored(repoRoot, combinedFiles);
98
- const finalFiles = await excludeCrIgnored(workspaceRoot, crIgnorePath, gitFiltered);
99
- const targets = finalFiles.filter((file) => baseSet.has(file));
100
- const contextFiles = finalFiles.filter((file) => extraSet.has(file) && !baseSet.has(file));
101
- const stats = {
102
- uncommitted: targets.length,
103
- context: contextFiles.length,
104
- };
105
- return { targets, context: contextFiles, stats };
106
- }
107
- catch (error) {
108
- if (error.message?.includes('not a git repository')) {
109
- throw new Error('Not a git repository. Please run this command from a git repository root.');
110
- }
111
- throw error;
112
- }
113
- }
114
- const CONTEXT_FILENAMES = [
115
- 'README.md',
116
- 'readme.md',
117
- 'README',
118
- 'README.mdx',
119
- 'CHANGELOG.md',
120
- 'changelog.md',
121
- 'HISTORY.md',
122
- 'history.md',
123
- 'package.json',
124
- '.env.example',
125
- '.env.sample',
126
- '.env.template',
127
- '.env.local.example',
128
- '.env.production.example',
129
- ];
130
- const DEPENDENCY_EXTENSIONS = ['.ts', '.tsx', '.js', '.jsx', '.mjs', '.cjs', '.mts', '.cts'];
131
- const MAX_CONTEXT_FILE_BYTES = 200 * 1024; // 200KB guardrail
132
- async function augmentWithContext(files, workspaceRoot) {
133
- if (files.length === 0) {
134
- return { combinedFiles: files, extras: [] };
135
- }
136
- const baseSet = new Set(files);
137
- const contextFiles = collectContextFiles(files, workspaceRoot);
138
- const dependencyFiles = collectDependencyFiles(files, workspaceRoot);
139
- const localMarkdownFiles = collectLocalMarkdownFiles(files);
140
- const globalNamedFiles = await collectGlobalNamedContext(workspaceRoot);
141
- const extras = Array.from(new Set([...contextFiles, ...dependencyFiles, ...localMarkdownFiles, ...globalNamedFiles].filter((file) => !baseSet.has(file))));
142
- const combinedFiles = Array.from(new Set([...files, ...extras]));
143
- return { combinedFiles, extras };
144
- }
145
- function collectContextFiles(files, workspaceRoot) {
146
- const extras = new Set();
147
- const candidateDirs = new Set();
148
- files.forEach((file) => candidateDirs.add((0, node_path_1.dirname)(file)));
149
- candidateDirs.add(workspaceRoot);
150
- for (const dir of candidateDirs) {
151
- for (const filename of CONTEXT_FILENAMES) {
152
- const candidate = (0, node_path_1.join)(dir, filename);
153
- if (!candidate.startsWith(workspaceRoot)) {
154
- continue;
155
- }
156
- try {
157
- const stats = (0, node_fs_1.statSync)(candidate);
158
- if (stats.isFile() && stats.size <= MAX_CONTEXT_FILE_BYTES && isTextFile(candidate)) {
159
- extras.add(candidate);
160
- }
161
- }
162
- catch {
163
- // ignored
164
- }
165
- }
166
- }
167
- return Array.from(extras);
168
- }
169
- function collectDependencyFiles(files, workspaceRoot) {
170
- const extras = new Set();
171
- for (const file of files) {
172
- if (!isDependencyCandidate(file)) {
173
- continue;
174
- }
175
- let content;
176
- try {
177
- content = (0, node_fs_1.readFileSync)(file, 'utf-8');
178
- }
179
- catch {
180
- continue;
181
- }
182
- const specifiers = extractImportSpecifiers(content);
183
- if (specifiers.length === 0) {
184
- continue;
185
- }
186
- const baseDir = (0, node_path_1.dirname)(file);
187
- for (const specifier of specifiers) {
188
- const resolved = resolveImportSpecifier(specifier, baseDir, workspaceRoot);
189
- if (resolved) {
190
- extras.add(resolved);
191
- }
192
- }
193
- }
194
- return Array.from(extras);
195
- }
196
- function isDependencyCandidate(filePath) {
197
- const lower = filePath.toLowerCase();
198
- return DEPENDENCY_EXTENSIONS.some((ext) => lower.endsWith(ext));
199
- }
200
- function extractImportSpecifiers(content) {
201
- const specifiers = new Set();
202
- const patterns = [
203
- /import\s+[^;]*?from\s+['"]([^'"\n]+)['"]/g,
204
- /import\s+['"]([^'"\n]+)['"]/g,
205
- /export\s+[^;]*?from\s+['"]([^'"\n]+)['"]/g,
206
- /require\(\s*['"]([^'"\n]+)['"]\s*\)/g,
207
- /import\(\s*['"]([^'"\n]+)['"]\s*\)/g,
208
- ];
209
- for (const pattern of patterns) {
210
- let match;
211
- while ((match = pattern.exec(content)) !== null) {
212
- const spec = match[1];
213
- if (spec && spec.startsWith('.')) {
214
- specifiers.add(spec);
215
- }
216
- }
217
- }
218
- return Array.from(specifiers);
219
- }
220
- function resolveImportSpecifier(specifier, baseDir, workspaceRoot) {
221
- const cleaned = specifier.replace(/[#?].*$/, '');
222
- const resolvedBase = (0, node_path_1.resolve)(baseDir, cleaned);
223
- const candidates = new Set([resolvedBase]);
224
- const hasExtension = DEPENDENCY_EXTENSIONS.some((ext) => resolvedBase.endsWith(ext));
225
- if (!hasExtension) {
226
- for (const ext of DEPENDENCY_EXTENSIONS) {
227
- candidates.add(`${resolvedBase}${ext}`);
228
- candidates.add((0, node_path_1.join)(resolvedBase, `index${ext}`));
229
- }
230
- }
231
- for (const candidate of candidates) {
232
- if (!candidate.startsWith(workspaceRoot)) {
233
- continue;
234
- }
235
- try {
236
- const stats = (0, node_fs_1.statSync)(candidate);
237
- if (stats.isFile()) {
238
- return candidate;
239
- }
240
- }
241
- catch {
242
- continue;
243
- }
244
- }
245
- return null;
246
- }
247
- function collectLocalMarkdownFiles(files) {
248
- const extras = new Set();
249
- const dirs = new Set();
250
- files.forEach((file) => dirs.add((0, node_path_1.dirname)(file)));
251
- for (const dir of dirs) {
252
- let entries;
253
- try {
254
- entries = (0, node_fs_1.readdirSync)(dir, { withFileTypes: true });
255
- }
256
- catch {
257
- continue;
258
- }
259
- for (const entry of entries) {
260
- if (!entry.isFile()) {
261
- continue;
262
- }
263
- const lower = entry.name.toLowerCase();
264
- if (!lower.endsWith('.md') && !lower.endsWith('.mdx')) {
265
- continue;
266
- }
267
- const fullPath = (0, node_path_1.join)(dir, entry.name);
268
- try {
269
- const stats = (0, node_fs_1.statSync)(fullPath);
270
- if (stats.isFile() && stats.size <= MAX_CONTEXT_FILE_BYTES && isTextFile(fullPath)) {
271
- extras.add(fullPath);
272
- }
273
- }
274
- catch {
275
- continue;
276
- }
277
- }
278
- }
279
- return Array.from(extras);
280
- }
281
- async function collectGlobalNamedContext(workspaceRoot) {
282
- try {
283
- const pathspecs = CONTEXT_FILENAMES.map((name) => `:(glob)**/${name}`);
284
- const { stdout } = await (0, execa_1.execa)('git', ['ls-files', '-z', '--', ...pathspecs], {
285
- cwd: workspaceRoot,
286
- reject: false,
287
- });
288
- if (!stdout) {
289
- return [];
290
- }
291
- return stdout
292
- .split('\0')
293
- .filter(Boolean)
294
- .map((rel) => (0, node_path_1.resolve)(workspaceRoot, rel))
295
- .filter((abs) => {
296
- try {
297
- const stats = (0, node_fs_1.statSync)(abs);
298
- return stats.isFile() && stats.size <= MAX_CONTEXT_FILE_BYTES && isTextFile(abs);
299
- }
300
- catch {
301
- return false;
302
- }
303
- });
304
- }
305
- catch {
306
- return [];
307
- }
308
- }
309
- function isTextFile(filePath) {
310
- try {
311
- const buffer = (0, node_fs_1.readFileSync)(filePath);
312
- const sample = buffer.subarray(0, 4096);
313
- return !sample.includes(0);
314
- }
315
- catch {
316
- return false;
317
- }
318
- }
319
- async function listTrackedFiles(repoRoot, pathSpec) {
320
- const { stdout } = await (0, execa_1.execa)('git', ['ls-files', '-z', '--', pathSpec], {
321
- cwd: repoRoot,
322
- });
323
- return stdout.split('\0').filter(Boolean);
324
- }
325
- async function listUntrackedFiles(repoRoot, pathSpec) {
326
- const { stdout } = await (0, execa_1.execa)('git', ['ls-files', '-z', '--others', '--exclude-standard', '--', pathSpec], {
327
- cwd: repoRoot,
328
- });
329
- return stdout.split('\0').filter(Boolean);
330
- }
331
- async function excludeIgnored(repoRoot, files) {
332
- if (files.length === 0) {
333
- return [];
334
- }
335
- const relPaths = files.map((file) => {
336
- const rel = (0, node_path_1.relative)(repoRoot, file);
337
- return rel.replace(/\\/g, '/');
338
- });
339
- const { stdout, exitCode } = await (0, execa_1.execa)('git', ['check-ignore', '--stdin'], {
340
- cwd: repoRoot,
341
- input: relPaths.join('\n'),
342
- reject: false,
343
- });
344
- if (exitCode !== 0 && exitCode !== 1) {
345
- throw new Error(`git check-ignore failed with code ${exitCode}`);
346
- }
347
- if (!stdout) {
348
- return files;
349
- }
350
- const ignored = new Set(stdout
351
- .split('\n')
352
- .map((line) => line.trim())
353
- .filter(Boolean));
354
- return files.filter((_, index) => !ignored.has(relPaths[index]));
355
- }
356
- async function excludeCrIgnored(workspaceRoot, ignoreFile, files) {
357
- if (files.length === 0) {
358
- return [];
359
- }
360
- let ignoreRules = '';
361
- try {
362
- ignoreRules = (0, node_fs_1.readFileSync)(ignoreFile, 'utf-8');
363
- }
364
- catch {
365
- // If .crignore cannot be read, fall back to no filtering so we don't silently hide files.
366
- return files;
367
- }
368
- const ig = (0, ignore_1.default)();
369
- ig.add(ignoreRules);
370
- const entries = files
371
- .map((file) => {
372
- const rel = (0, node_path_1.relative)(workspaceRoot, file).replace(/\\/g, '/');
373
- return { file, rel };
374
- })
375
- .filter((entry) => entry.rel && entry.rel !== '.crignore');
376
- if (entries.length === 0) {
377
- return [];
378
- }
379
- return entries.filter((entry) => !ig.ignores(entry.rel)).map((entry) => entry.file);
380
- }
381
- //# sourceMappingURL=fileCollector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fileCollector.js","sourceRoot":"","sources":["../../src/runtime/fileCollector.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export declare function loadManifest(repoRoot: string): Record<string, unknown>;
@@ -1,65 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.loadManifest = loadManifest;
7
- const node_fs_1 = require("node:fs");
8
- const node_path_1 = require("node:path");
9
- const js_yaml_1 = __importDefault(require("js-yaml"));
10
- const DEFAULT_MANIFEST = {
11
- rules: {
12
- universal: {
13
- secret_leaks: 'high',
14
- todos_left: 'medium',
15
- dead_code: 'medium',
16
- license_headers: 'low',
17
- },
18
- ts: {
19
- no_any: 'high',
20
- prefer_readonly: 'medium',
21
- exhaustiveness_in_switch: 'high',
22
- },
23
- py: {
24
- type_hints_required: 'medium',
25
- no_bare_except: 'high',
26
- },
27
- go: {
28
- errcheck_required: 'high',
29
- context_passthrough: 'medium',
30
- },
31
- },
32
- policies: {
33
- fail_on: 'critical',
34
- },
35
- outputs: {
36
- report: 'json',
37
- },
38
- };
39
- function loadManifest(repoRoot) {
40
- const defaultManifest = clone(DEFAULT_MANIFEST);
41
- const overridePaths = [(0, node_path_1.join)(repoRoot, 'cr-manifest.yml'), (0, node_path_1.join)(repoRoot, '.cr-aia.yml')];
42
- for (const overridePath of overridePaths) {
43
- if ((0, node_fs_1.existsSync)(overridePath)) {
44
- const override = js_yaml_1.default.load((0, node_fs_1.readFileSync)(overridePath, 'utf-8'));
45
- return deepMerge(defaultManifest, override);
46
- }
47
- }
48
- return defaultManifest;
49
- }
50
- function deepMerge(defaultObj, overrideObj) {
51
- const result = { ...defaultObj };
52
- for (const key of Object.keys(overrideObj)) {
53
- if (typeof overrideObj[key] === 'object' && overrideObj[key] !== null && !Array.isArray(overrideObj[key])) {
54
- result[key] = deepMerge(result[key] || {}, overrideObj[key]);
55
- }
56
- else {
57
- result[key] = overrideObj[key];
58
- }
59
- }
60
- return result;
61
- }
62
- function clone(value) {
63
- return JSON.parse(JSON.stringify(value));
64
- }
65
- //# sourceMappingURL=manifest.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/runtime/manifest.ts"],"names":[],"mappings":";;;;;AAkCA,oCAaC;AA/CD,qCAAmD;AACnD,yCAAiC;AACjC,sDAA2B;AAE3B,MAAM,gBAAgB,GAA4B;IAChD,KAAK,EAAE;QACL,SAAS,EAAE;YACT,YAAY,EAAE,MAAM;YACpB,UAAU,EAAE,QAAQ;YACpB,SAAS,EAAE,QAAQ;YACnB,eAAe,EAAE,KAAK;SACvB;QACD,EAAE,EAAE;YACF,MAAM,EAAE,MAAM;YACd,eAAe,EAAE,QAAQ;YACzB,wBAAwB,EAAE,MAAM;SACjC;QACD,EAAE,EAAE;YACF,mBAAmB,EAAE,QAAQ;YAC7B,cAAc,EAAE,MAAM;SACvB;QACD,EAAE,EAAE;YACF,iBAAiB,EAAE,MAAM;YACzB,mBAAmB,EAAE,QAAQ;SAC9B;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,UAAU;KACpB;IACD,OAAO,EAAE;QACP,MAAM,EAAE,MAAM;KACf;CACF,CAAC;AAEF,SAAgB,YAAY,CAAC,QAAgB;IAC3C,MAAM,eAAe,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAEhD,MAAM,aAAa,GAAG,CAAC,IAAA,gBAAI,EAAC,QAAQ,EAAE,iBAAiB,CAAC,EAAE,IAAA,gBAAI,EAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IAEzF,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;QACzC,IAAI,IAAA,oBAAU,EAAC,YAAY,CAAC,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,iBAAI,CAAC,IAAI,CAAC,IAAA,sBAAY,EAAC,YAAY,EAAE,OAAO,CAAC,CAA4B,CAAC;YAC3F,OAAO,SAAS,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,SAAS,SAAS,CAAC,UAA+B,EAAE,WAAgC;IAClF,MAAM,MAAM,GAAwB,EAAE,GAAG,UAAU,EAAE,CAAC;IACtD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3C,IAAI,OAAO,WAAW,CAAC,GAAG,CAAC,KAAK,QAAQ,IAAI,WAAW,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC1G,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAE,MAAM,CAAC,GAAG,CAAyB,IAAI,EAAE,EAAE,WAAW,CAAC,GAAG,CAAwB,CAAC,CAAC;QAC/G,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,KAAK,CAAI,KAAQ;IACxB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3C,CAAC"}
@@ -1,4 +0,0 @@
1
- export declare function getProxyBaseUrl(): string;
2
- export declare function resolveOpenRouterProxyUrl(): string;
3
- export declare function buildOpenRouterProxyHeaders(): Record<string, string>;
4
- export declare function withProxyMetadata(payload: Record<string, unknown>): Record<string, unknown>;
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getProxyBaseUrl = getProxyBaseUrl;
4
- exports.resolveOpenRouterProxyUrl = resolveOpenRouterProxyUrl;
5
- exports.buildOpenRouterProxyHeaders = buildOpenRouterProxyHeaders;
6
- exports.withProxyMetadata = withProxyMetadata;
7
- const DEFAULT_PROXY_BASE_URL = 'https://cr.ai.enki.si';
8
- function getProxyBaseUrl() {
9
- return process.env.CR_AIA_PROXY_BASE_URL || DEFAULT_PROXY_BASE_URL;
10
- }
11
- function resolveOpenRouterProxyUrl() {
12
- const base = getProxyBaseUrl().replace(/\/$/, '');
13
- if (base.endsWith('/openrouter-proxy')) {
14
- return base;
15
- }
16
- if (base.endsWith('/proxy')) {
17
- return `${base.replace(/\/proxy$/, '')}/openrouter-proxy`;
18
- }
19
- return `${base}/openrouter-proxy`;
20
- }
21
- function buildOpenRouterProxyHeaders() {
22
- const headers = {
23
- 'Content-Type': 'application/json',
24
- };
25
- const sessionToken = process.env.CR_AIA_PROXY_SESSION_TOKEN;
26
- if (!sessionToken) {
27
- throw new Error('Missing session token. Run `node dist/index.js`, sign in, or set CR_AIA_PROXY_SESSION_TOKEN before running reviews.');
28
- }
29
- headers.Authorization = `Bearer ${sessionToken}`;
30
- headers['x-session-token'] = sessionToken;
31
- return headers;
32
- }
33
- function withProxyMetadata(payload) {
34
- const enriched = { ...payload };
35
- if (process.env.CR_AIA_PROXY_HTTP_REFERER && enriched['http_referer'] === undefined) {
36
- enriched['http_referer'] = process.env.CR_AIA_PROXY_HTTP_REFERER;
37
- }
38
- if (enriched['x_title'] === undefined) {
39
- enriched['x_title'] = process.env.CR_AIA_PROXY_X_TITLE || 'cr-aia';
40
- }
41
- return enriched;
42
- }
43
- //# sourceMappingURL=openrouterProxy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"openrouterProxy.js","sourceRoot":"","sources":["../../src/runtime/openrouterProxy.ts"],"names":[],"mappings":";;AAEA,0CAEC;AAED,8DASC;AAED,kEAgBC;AAED,8CASC;AA5CD,MAAM,sBAAsB,GAAG,uBAAuB,CAAC;AAEvD,SAAgB,eAAe;IAC7B,OAAO,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,sBAAsB,CAAC;AACrE,CAAC;AAED,SAAgB,yBAAyB;IACvC,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAClD,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,mBAAmB,CAAC;IAC5D,CAAC;IACD,OAAO,GAAG,IAAI,mBAAmB,CAAC;AACpC,CAAC;AAED,SAAgB,2BAA2B;IACzC,MAAM,OAAO,GAA2B;QACtC,cAAc,EAAE,kBAAkB;KACnC,CAAC;IAEF,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC;IAC5D,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACb,qHAAqH,CACtH,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,aAAa,GAAG,UAAU,YAAY,EAAE,CAAC;IACjD,OAAO,CAAC,iBAAiB,CAAC,GAAG,YAAY,CAAC;IAE1C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAgB,iBAAiB,CAAC,OAAgC;IAChE,MAAM,QAAQ,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC;IAChC,IAAI,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,QAAQ,CAAC,cAAc,CAAC,KAAK,SAAS,EAAE,CAAC;QACpF,QAAQ,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;IACnE,CAAC;IACD,IAAI,QAAQ,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE,CAAC;QACtC,QAAQ,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,QAAQ,CAAC;IACrE,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1,54 +0,0 @@
1
- export type BatchPhase = 'idle' | 'buffering' | 'sending' | 'success' | 'error' | 'creating-run';
2
- export interface BatchStatusUpdate {
3
- phase: BatchPhase;
4
- batchOrdinal?: number;
5
- batchesCompleted?: number;
6
- totalBatches?: number;
7
- bufferedFiles?: number;
8
- error?: string;
9
- attempt?: number;
10
- }
11
- export interface FileFindingsPayload {
12
- path: string;
13
- findings: unknown[];
14
- }
15
- interface BatchStreamerOptions {
16
- initialRunId?: string;
17
- repo: string;
18
- branch?: string;
19
- commitSha?: string;
20
- targetUrl?: string;
21
- recipientEmail?: string;
22
- totalFiles: number;
23
- batchSize?: number;
24
- onStatus?: (update: BatchStatusUpdate) => void;
25
- }
26
- /**
27
- * Handles buffering CR findings and streaming them to cr-edge-service.
28
- *
29
- * Manual smoke test:
30
- * 1. cd cr/cr-aia && pnpm install && pnpm build
31
- * 2. PREPROD_TARGET_URL="https://example.com" CR_EDGE_BASE_URL="https://cr.ai.enki.si" node dist/index.js
32
- * 3. Select the Preprod mode and review a repo with >5 files so multiple batches stream.
33
- * 4. Tail the CLI logs for "Submitted CR batch" during the run and query `preprod_cr_batches`
34
- * for the reported run_id in Supabase to verify rows appear before the CLI completes.
35
- */
36
- export declare class BatchStreamer {
37
- private readonly options;
38
- private readonly batchSize;
39
- private readonly totalBatchEstimate;
40
- private buffer;
41
- private batchIndex;
42
- private runId?;
43
- private hasMarkedFinal;
44
- constructor(options: BatchStreamerOptions);
45
- getRunId(): string | undefined;
46
- primeRun(): Promise<string>;
47
- addFiles(files: FileFindingsPayload[]): Promise<void>;
48
- finish(): Promise<void>;
49
- private ensureRunId;
50
- private sendChunk;
51
- private emitStatus;
52
- private withRetries;
53
- }
54
- export {};