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