codereview-aia 0.1.3 → 0.2.0
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/{src/analysis/context/index.ts → dist/analysis/context/index.d.ts} +0 -1
- package/dist/analysis/context/index.js +23 -0
- package/dist/analysis/context/index.js.map +1 -0
- package/{src/analysis/index.ts → dist/analysis/index.d.ts} +0 -1
- package/dist/analysis/index.js +24 -0
- package/dist/analysis/index.js.map +1 -0
- package/dist/analysis/static/wpPhpcsRunner.d.ts +11 -0
- package/dist/analysis/static/wpPhpcsRunner.js +219 -0
- package/dist/analysis/static/wpPhpcsRunner.js.map +1 -0
- package/dist/analysis/tokens/TokenAnalysisFormatter.d.ts +27 -0
- package/{src/analysis/tokens/TokenAnalysisFormatter.ts → dist/analysis/tokens/TokenAnalysisFormatter.js} +64 -75
- 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/{src/analysis/tokens/index.ts → dist/analysis/tokens/index.d.ts} +0 -1
- 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/{src/clients/base/index.ts → dist/clients/base/index.d.ts} +0 -1
- 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/{src/clients/factory/index.ts → dist/clients/factory/index.d.ts} +0 -1
- package/dist/clients/factory/index.js +24 -0
- package/dist/clients/factory/index.js.map +1 -0
- package/{src/clients/implementations/index.ts → dist/clients/implementations/index.d.ts} +0 -1
- 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 +580 -0
- package/dist/clients/openRouterClient.js.map +1 -0
- package/{src/clients/openRouterClientWrapper.ts → dist/clients/openRouterClientWrapper.d.ts} +2 -24
- 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/{src/clients/utils/index.ts → dist/clients/utils/index.d.ts} +0 -1
- 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 +37 -0
- package/dist/clients/utils/promptFormatter.js +150 -0
- package/dist/clients/utils/promptFormatter.js.map +1 -0
- package/{src/clients/utils/promptLoader.ts → dist/clients/utils/promptLoader.d.ts} +1 -27
- 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 +184 -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 +307 -0
- package/dist/core/ConfigurationService.js +516 -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 +164 -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 +354 -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/{src/formatters/outputFormatter.ts → dist/formatters/outputFormatter.d.ts} +2 -33
- 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 +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 +276 -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 +14 -0
- package/dist/runtime/fileCollector.js +381 -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/batchStreamer.d.ts +54 -0
- package/dist/runtime/preprod/batchStreamer.js +159 -0
- package/dist/runtime/preprod/batchStreamer.js.map +1 -0
- package/dist/runtime/preprod/crEdgeServiceClient.d.ts +30 -0
- package/dist/runtime/preprod/crEdgeServiceClient.js +133 -0
- package/dist/runtime/preprod/crEdgeServiceClient.js.map +1 -0
- package/dist/runtime/preprod/progressTracker.d.ts +21 -0
- package/dist/runtime/preprod/progressTracker.js +80 -0
- package/dist/runtime/preprod/progressTracker.js.map +1 -0
- package/dist/runtime/preprod/webCheck.d.ts +1 -0
- package/dist/runtime/preprod/webCheck.js +102 -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 +17 -0
- package/dist/runtime/reporting/markdownReportBuilder.js +154 -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 +61 -0
- package/dist/runtime/reviewPipeline.js +231 -0
- package/dist/runtime/reviewPipeline.js.map +1 -0
- package/dist/runtime/runAiCodeReview.d.ts +36 -0
- package/dist/runtime/runAiCodeReview.js +409 -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 +275 -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 +11 -0
- package/dist/runtime/ui/screens/ModeSelection.js +169 -0
- package/dist/runtime/ui/screens/ModeSelection.js.map +1 -0
- package/dist/runtime/ui/screens/ProgressScreen.d.ts +21 -0
- package/dist/runtime/ui/screens/ProgressScreen.js +86 -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 +34 -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/{src/strategies/index.ts → dist/strategies/index.d.ts} +0 -1
- 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/{src/tokenizers/index.ts → dist/tokenizers/index.d.ts} +0 -1
- 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/{src/types/common.ts → dist/types/common.d.ts} +2 -19
- 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 +318 -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/{src/types/reviewSchema.ts → dist/types/reviewSchema.js} +44 -104
- 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.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 +850 -0
- package/dist/utils/detection/frameworkDetector.js.map +1 -0
- package/{src/utils/detection/index.ts → dist/utils/detection/index.d.ts} +0 -1
- 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/{src/utils/index.ts → dist/utils/index.d.ts} +0 -14
- 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/{src/utils/priorityFilter.ts → dist/utils/priorityFilter.d.ts} +1 -26
- 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 +141 -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/{src/utils/reviewActionHandler.ts → dist/utils/reviewActionHandler.d.ts} +0 -2
- 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 +5 -1
- package/.cr-aia.yml +0 -23
- package/.crignore +0 -0
- package/docs/opt-in-full-context.md +0 -27
- package/reports/cr-cr-aia-17-11-2025-20-13.md +0 -354
- package/src/analysis/FindingsExtractor.ts +0 -431
- package/src/analysis/ai-detection/analyzers/BaseAnalyzer.ts +0 -267
- package/src/analysis/ai-detection/analyzers/DocumentationAnalyzer.ts +0 -622
- package/src/analysis/ai-detection/analyzers/GitHistoryAnalyzer.ts +0 -430
- package/src/analysis/ai-detection/core/AIDetectionEngine.ts +0 -467
- package/src/analysis/ai-detection/types/DetectionTypes.ts +0 -406
- package/src/analysis/ai-detection/utils/SubmissionConverter.ts +0 -390
- package/src/analysis/context/ReviewContext.ts +0 -378
- package/src/analysis/tokens/TokenAnalyzer.ts +0 -747
- package/src/clients/base/abstractClient.ts +0 -190
- package/src/clients/base/httpClient.ts +0 -160
- package/src/clients/base/modelDetection.ts +0 -107
- package/src/clients/base/responseProcessor.ts +0 -586
- package/src/clients/factory/clientFactory.ts +0 -55
- package/src/clients/implementations/openRouterClient.ts +0 -413
- package/src/clients/openRouterClient.ts +0 -870
- package/src/clients/utils/directoryStructure.ts +0 -52
- package/src/clients/utils/languageDetection.ts +0 -44
- package/src/clients/utils/promptFormatter.ts +0 -182
- package/src/clients/utils/tokenCounter.ts +0 -297
- package/src/core/ApiClientSelector.ts +0 -37
- package/src/core/ConfigurationService.ts +0 -591
- package/src/core/ConsolidationService.ts +0 -423
- package/src/core/InteractiveDisplayManager.ts +0 -81
- package/src/core/OutputManager.ts +0 -275
- package/src/core/ReviewGenerator.ts +0 -140
- package/src/core/fileDiscovery.ts +0 -237
- package/src/core/handlers/EstimationHandler.ts +0 -104
- package/src/core/handlers/FileProcessingHandler.ts +0 -210
- package/src/core/handlers/OutputHandler.ts +0 -125
- package/src/core/handlers/ReviewExecutor.ts +0 -104
- package/src/core/reviewOrchestrator.ts +0 -333
- package/src/core/utils/ModelInfoUtils.ts +0 -56
- package/src/formatters/utils/IssueFormatters.ts +0 -83
- package/src/formatters/utils/JsonFormatter.ts +0 -77
- package/src/formatters/utils/MarkdownFormatters.ts +0 -609
- package/src/formatters/utils/MetadataFormatter.ts +0 -269
- package/src/formatters/utils/ModelInfoExtractor.ts +0 -115
- package/src/index.ts +0 -25
- package/src/plugins/PluginInterface.ts +0 -50
- package/src/plugins/PluginManager.ts +0 -126
- package/src/prompts/PromptManager.ts +0 -69
- package/src/prompts/cache/PromptCache.ts +0 -50
- package/src/prompts/promptText/common/variables/css-frameworks.json +0 -33
- package/src/prompts/promptText/common/variables/framework-versions.json +0 -45
- package/src/prompts/promptText/frameworks/react/comprehensive.hbs +0 -19
- package/src/prompts/promptText/languages/css/comprehensive.hbs +0 -18
- package/src/prompts/promptText/languages/generic/comprehensive.hbs +0 -20
- package/src/prompts/promptText/languages/html/comprehensive.hbs +0 -18
- package/src/prompts/promptText/languages/javascript/comprehensive.hbs +0 -18
- package/src/prompts/promptText/languages/python/comprehensive.hbs +0 -18
- package/src/prompts/promptText/languages/typescript/comprehensive.hbs +0 -18
- package/src/runtime/auth/service.ts +0 -58
- package/src/runtime/auth/session.ts +0 -103
- package/src/runtime/auth/types.ts +0 -11
- package/src/runtime/cliEntry.ts +0 -214
- package/src/runtime/debug/logManager.ts +0 -37
- package/src/runtime/errors.ts +0 -13
- package/src/runtime/fileCollector.ts +0 -495
- package/src/runtime/manifest.ts +0 -64
- package/src/runtime/openrouterProxy.ts +0 -45
- package/src/runtime/preprod/webCheck.ts +0 -104
- package/src/runtime/proxyConfig.ts +0 -94
- package/src/runtime/proxyEnvironment.ts +0 -71
- package/src/runtime/reportMerge.ts +0 -102
- package/src/runtime/reporting/markdownReportBuilder.ts +0 -138
- package/src/runtime/reporting/reportDataCollector.ts +0 -234
- package/src/runtime/reporting/summaryGenerator.ts +0 -86
- package/src/runtime/reviewPipeline.ts +0 -200
- package/src/runtime/runAiCodeReview.ts +0 -308
- package/src/runtime/runtimeConfig.ts +0 -5
- package/src/runtime/ui/Layout.tsx +0 -57
- package/src/runtime/ui/RuntimeApp.tsx +0 -262
- package/src/runtime/ui/inkModules.ts +0 -73
- package/src/runtime/ui/screens/AuthScreen.tsx +0 -128
- package/src/runtime/ui/screens/ModeSelection.tsx +0 -185
- package/src/runtime/ui/screens/ProgressScreen.tsx +0 -110
- package/src/runtime/ui/screens/ResultsScreen.tsx +0 -103
- package/src/strategies/ArchitecturalReviewStrategy.ts +0 -54
- package/src/strategies/CodingTestReviewStrategy.ts +0 -920
- package/src/strategies/ConsolidatedReviewStrategy.ts +0 -59
- package/src/strategies/ExtractPatternsReviewStrategy.ts +0 -64
- package/src/strategies/MultiPassReviewStrategy.ts +0 -785
- package/src/strategies/ReviewStrategy.ts +0 -64
- package/src/strategies/StrategyFactory.ts +0 -79
- package/src/tokenizers/baseTokenizer.ts +0 -61
- package/src/tokenizers/gptTokenizer.ts +0 -27
- package/src/types/apiResponses.ts +0 -40
- package/src/types/cli.ts +0 -24
- package/src/types/configuration.ts +0 -201
- package/src/types/handlebars.d.ts +0 -5
- package/src/types/patch.d.ts +0 -25
- package/src/types/review.ts +0 -312
- package/src/types/reviewContext.d.ts +0 -65
- package/src/types/structuredReview.ts +0 -167
- package/src/types/tokenAnalysis.ts +0 -56
- package/src/utils/FileReader.ts +0 -93
- package/src/utils/FileWriter.ts +0 -76
- package/src/utils/PathGenerator.ts +0 -97
- package/src/utils/api/apiUtils.ts +0 -14
- package/src/utils/apiErrorHandler.ts +0 -287
- package/src/utils/ciDataCollector.ts +0 -252
- package/src/utils/codingTestConfigLoader.ts +0 -466
- package/src/utils/dependencies/aiDependencyAnalyzer.ts +0 -454
- package/src/utils/detection/frameworkDetector.ts +0 -879
- package/src/utils/detection/projectTypeDetector.ts +0 -518
- package/src/utils/diagramGenerator.ts +0 -206
- package/src/utils/errorLogger.ts +0 -60
- package/src/utils/estimationUtils.ts +0 -407
- package/src/utils/fileFilters.ts +0 -373
- package/src/utils/fileSystem.ts +0 -57
- package/src/utils/logger.ts +0 -290
- package/src/utils/pathValidator.ts +0 -98
- package/src/utils/projectDocs.ts +0 -189
- package/src/utils/promptPaths.ts +0 -29
- package/src/utils/promptTemplateManager.ts +0 -157
- package/src/utils/review/consolidateReview.ts +0 -553
- package/src/utils/review/fixDisplay.ts +0 -100
- package/src/utils/review/fixImplementation.ts +0 -61
- package/src/utils/review/index.ts +0 -36
- package/src/utils/review/interactiveProcessing.ts +0 -294
- package/src/utils/review/progressTracker.ts +0 -296
- package/src/utils/review/reviewExtraction.ts +0 -382
- package/src/utils/review/types.ts +0 -46
- package/src/utils/reviewParser.ts +0 -253
- package/src/utils/sanitizer.ts +0 -238
- package/src/utils/smartFileSelector.ts +0 -255
- package/src/utils/templateLoader.ts +0 -514
- package/src/utils/treeGenerator.ts +0 -153
- package/tsconfig.build.json +0 -14
- package/tsconfig.json +0 -59
- /package/{src/utils/api/index.ts → dist/utils/api/index.d.ts} +0 -0
|
@@ -0,0 +1,431 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Template Loader Utility
|
|
4
|
+
*
|
|
5
|
+
* This utility loads and compiles Handlebars templates from the promptText directory.
|
|
6
|
+
* It supports variable substitution, partials, and conditional logic.
|
|
7
|
+
*/
|
|
8
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
+
if (k2 === undefined) k2 = k;
|
|
10
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
}) : (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
}));
|
|
19
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
20
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
21
|
+
}) : function(o, v) {
|
|
22
|
+
o["default"] = v;
|
|
23
|
+
});
|
|
24
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
+
var ownKeys = function(o) {
|
|
26
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
+
var ar = [];
|
|
28
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
return ownKeys(o);
|
|
32
|
+
};
|
|
33
|
+
return function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
})();
|
|
41
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
42
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
43
|
+
};
|
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
+
exports.renderTemplate = renderTemplate;
|
|
46
|
+
exports.loadPromptTemplate = loadPromptTemplate;
|
|
47
|
+
exports.listAvailableTemplates = listAvailableTemplates;
|
|
48
|
+
exports.clearTemplateCache = clearTemplateCache;
|
|
49
|
+
const fs = __importStar(require("node:fs"));
|
|
50
|
+
const path = __importStar(require("node:path"));
|
|
51
|
+
const Handlebars = __importStar(require("handlebars"));
|
|
52
|
+
const ConfigurationService_1 = require("../core/ConfigurationService");
|
|
53
|
+
const logger_1 = __importDefault(require("./logger"));
|
|
54
|
+
const promptPaths_1 = require("./promptPaths");
|
|
55
|
+
// Get the templates directory from configuration or use a fallback
|
|
56
|
+
const getTemplatesDir = () => {
|
|
57
|
+
try {
|
|
58
|
+
// Use the configured path from ConfigurationService
|
|
59
|
+
const configuredPath = ConfigurationService_1.configurationService.getPathsConfig().promptsDir;
|
|
60
|
+
if (configuredPath && fs.existsSync(configuredPath)) {
|
|
61
|
+
logger_1.default.debug(`Using configured templates directory: ${configuredPath}`);
|
|
62
|
+
return configuredPath;
|
|
63
|
+
}
|
|
64
|
+
// Fallback to default
|
|
65
|
+
const defaultPath = (0, promptPaths_1.resolvePromptTemplatesDir)();
|
|
66
|
+
logger_1.default.debug(`Using default templates directory: ${defaultPath}`);
|
|
67
|
+
return defaultPath;
|
|
68
|
+
}
|
|
69
|
+
catch (error) {
|
|
70
|
+
// If there's any error with the configuration, use default
|
|
71
|
+
logger_1.default.warn(`Error getting templates directory from config: ${error instanceof Error ? error.message : String(error)}`);
|
|
72
|
+
const fallbackPath = (0, promptPaths_1.resolvePromptTemplatesDir)();
|
|
73
|
+
logger_1.default.debug(`Using fallback templates directory: ${fallbackPath}`);
|
|
74
|
+
return fallbackPath;
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* Template cache to avoid re-reading and re-compiling templates
|
|
79
|
+
*/
|
|
80
|
+
const templateCache = {};
|
|
81
|
+
/**
|
|
82
|
+
* Register helpers and partials for Handlebars
|
|
83
|
+
*/
|
|
84
|
+
function initializeHandlebars() {
|
|
85
|
+
// Register comparison helper
|
|
86
|
+
Handlebars.registerHelper('eq', function (arg1, arg2, options) {
|
|
87
|
+
return arg1 === arg2 ? options.fn(this) : options.inverse(this);
|
|
88
|
+
});
|
|
89
|
+
// Register join helper for arrays
|
|
90
|
+
Handlebars.registerHelper('join', (array, separator) => {
|
|
91
|
+
if (Array.isArray(array)) {
|
|
92
|
+
return array.join(separator);
|
|
93
|
+
}
|
|
94
|
+
return '';
|
|
95
|
+
});
|
|
96
|
+
// Register partials by scanning the common directory
|
|
97
|
+
const partialsDir = path.join(getTemplatesDir(), 'common');
|
|
98
|
+
registerPartials(partialsDir, '');
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Recursively register partials from a directory
|
|
102
|
+
*
|
|
103
|
+
* @param dirPath Directory path to scan for partials
|
|
104
|
+
* @param prefix Prefix for partial names (based on directory hierarchy)
|
|
105
|
+
*/
|
|
106
|
+
function registerPartials(dirPath, prefix) {
|
|
107
|
+
try {
|
|
108
|
+
// Check if directory exists
|
|
109
|
+
if (!fs.existsSync(dirPath)) {
|
|
110
|
+
logger_1.default.warn(`Partials directory not found: ${dirPath}`);
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
// Read directory entries
|
|
114
|
+
const entries = fs.readdirSync(dirPath, { withFileTypes: true });
|
|
115
|
+
for (const entry of entries) {
|
|
116
|
+
const fullPath = path.join(dirPath, entry.name);
|
|
117
|
+
if (entry.isDirectory()) {
|
|
118
|
+
// Recurse into subdirectories
|
|
119
|
+
registerPartials(fullPath, `${prefix}${entry.name}/`);
|
|
120
|
+
}
|
|
121
|
+
else if (entry.name.endsWith('.hbs')) {
|
|
122
|
+
try {
|
|
123
|
+
// Register .hbs files as partials
|
|
124
|
+
const partialName = `${prefix}${entry.name.replace('.hbs', '')}`;
|
|
125
|
+
const partialContent = fs.readFileSync(fullPath, 'utf-8');
|
|
126
|
+
Handlebars.registerPartial(`common/${partialName}`, partialContent);
|
|
127
|
+
logger_1.default.debug(`Registered partial: common/${partialName}`);
|
|
128
|
+
}
|
|
129
|
+
catch (partialError) {
|
|
130
|
+
// Handle errors for individual partial files
|
|
131
|
+
logger_1.default.error(`Error registering partial ${fullPath}: ${partialError instanceof Error ? partialError.message : String(partialError)}`);
|
|
132
|
+
// Continue with other partials even if one fails
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
catch (error) {
|
|
138
|
+
// Handle directory reading errors
|
|
139
|
+
logger_1.default.error(`Error scanning partials directory ${dirPath}: ${error instanceof Error ? error.message : String(error)}`);
|
|
140
|
+
// Return so calling code knows registration may be incomplete
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Load template variables from JSON files
|
|
145
|
+
*
|
|
146
|
+
* @returns Combined variables object for template rendering
|
|
147
|
+
*/
|
|
148
|
+
function loadTemplateVariables() {
|
|
149
|
+
const variables = {};
|
|
150
|
+
try {
|
|
151
|
+
// Check if variables directory exists
|
|
152
|
+
const variablesDir = path.join(getTemplatesDir(), 'common', 'variables');
|
|
153
|
+
if (!fs.existsSync(variablesDir)) {
|
|
154
|
+
logger_1.default.warn(`Variables directory not found: ${variablesDir}`);
|
|
155
|
+
return variables;
|
|
156
|
+
}
|
|
157
|
+
// Load framework versions data
|
|
158
|
+
const frameworksPath = path.join(variablesDir, 'framework-versions.json');
|
|
159
|
+
if (fs.existsSync(frameworksPath)) {
|
|
160
|
+
try {
|
|
161
|
+
const fileContents = fs.readFileSync(frameworksPath, 'utf-8');
|
|
162
|
+
const frameworkData = JSON.parse(fileContents);
|
|
163
|
+
variables.frameworks = frameworkData.frameworks;
|
|
164
|
+
logger_1.default.debug('Successfully loaded framework versions data');
|
|
165
|
+
}
|
|
166
|
+
catch (readError) {
|
|
167
|
+
logger_1.default.error(`Error reading or parsing framework versions data: ${readError instanceof Error ? readError.message : String(readError)}`);
|
|
168
|
+
// Provide empty frameworks object instead of leaving it undefined
|
|
169
|
+
variables.frameworks = {};
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
logger_1.default.debug(`Framework versions file not found: ${frameworksPath}`);
|
|
174
|
+
variables.frameworks = {};
|
|
175
|
+
}
|
|
176
|
+
// Load CSS frameworks data
|
|
177
|
+
const cssFrameworksPath = path.join(variablesDir, 'css-frameworks.json');
|
|
178
|
+
if (fs.existsSync(cssFrameworksPath)) {
|
|
179
|
+
try {
|
|
180
|
+
const fileContents = fs.readFileSync(cssFrameworksPath, 'utf-8');
|
|
181
|
+
const cssFrameworkData = JSON.parse(fileContents);
|
|
182
|
+
variables.cssFrameworks = cssFrameworkData.cssFrameworks;
|
|
183
|
+
logger_1.default.debug('Successfully loaded CSS frameworks data');
|
|
184
|
+
}
|
|
185
|
+
catch (readError) {
|
|
186
|
+
logger_1.default.error(`Error reading or parsing CSS frameworks data: ${readError instanceof Error ? readError.message : String(readError)}`);
|
|
187
|
+
// Provide empty cssFrameworks object instead of leaving it undefined
|
|
188
|
+
variables.cssFrameworks = {};
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
logger_1.default.debug(`CSS frameworks file not found: ${cssFrameworksPath}`);
|
|
193
|
+
variables.cssFrameworks = {};
|
|
194
|
+
}
|
|
195
|
+
// Scan the variables directory for other JSON files and load them
|
|
196
|
+
try {
|
|
197
|
+
const entries = fs.readdirSync(variablesDir);
|
|
198
|
+
const otherJsonFiles = entries.filter((entry) => entry.endsWith('.json') &&
|
|
199
|
+
entry !== 'framework-versions.json' &&
|
|
200
|
+
entry !== 'css-frameworks.json');
|
|
201
|
+
for (const jsonFile of otherJsonFiles) {
|
|
202
|
+
try {
|
|
203
|
+
const filePath = path.join(variablesDir, jsonFile);
|
|
204
|
+
const fileContents = fs.readFileSync(filePath, 'utf-8');
|
|
205
|
+
const data = JSON.parse(fileContents);
|
|
206
|
+
// Use the filename without extension as the variable key
|
|
207
|
+
const key = jsonFile.replace('.json', '');
|
|
208
|
+
variables[key] = data;
|
|
209
|
+
logger_1.default.debug(`Loaded additional variable file: ${jsonFile}`);
|
|
210
|
+
}
|
|
211
|
+
catch (fileError) {
|
|
212
|
+
logger_1.default.error(`Error reading or parsing ${jsonFile}: ${fileError instanceof Error ? fileError.message : String(fileError)}`);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
catch (scanError) {
|
|
217
|
+
logger_1.default.error(`Error scanning variables directory for additional JSON files: ${scanError instanceof Error ? scanError.message : String(scanError)}`);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
catch (error) {
|
|
221
|
+
// Catch any unexpected errors
|
|
222
|
+
logger_1.default.error(`Unexpected error loading template variables: ${error instanceof Error ? error.message : String(error)}`);
|
|
223
|
+
}
|
|
224
|
+
return variables;
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Load and compile a template from the given path
|
|
228
|
+
*
|
|
229
|
+
* @param templatePath Path to the template file (relative to TEMPLATES_DIR)
|
|
230
|
+
* @returns Compiled Handlebars template function
|
|
231
|
+
*/
|
|
232
|
+
function loadTemplate(templatePath) {
|
|
233
|
+
// Check cache first
|
|
234
|
+
if (templateCache[templatePath]) {
|
|
235
|
+
return templateCache[templatePath];
|
|
236
|
+
}
|
|
237
|
+
const fullPath = path.join(getTemplatesDir(), templatePath);
|
|
238
|
+
// Check if template exists
|
|
239
|
+
if (!fs.existsSync(fullPath)) {
|
|
240
|
+
logger_1.default.error(`Template not found: ${fullPath}`);
|
|
241
|
+
return null;
|
|
242
|
+
}
|
|
243
|
+
try {
|
|
244
|
+
// Read and compile template
|
|
245
|
+
const templateContent = fs.readFileSync(fullPath, 'utf-8');
|
|
246
|
+
const template = Handlebars.compile(templateContent);
|
|
247
|
+
// Cache compiled template
|
|
248
|
+
templateCache[templatePath] = template;
|
|
249
|
+
return template;
|
|
250
|
+
}
|
|
251
|
+
catch (error) {
|
|
252
|
+
logger_1.default.error(`Error loading template ${fullPath}: ${error}`);
|
|
253
|
+
return null;
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
/**
|
|
257
|
+
* Render a template with provided variables
|
|
258
|
+
*
|
|
259
|
+
* @param templatePath Path to the template file (relative to TEMPLATES_DIR)
|
|
260
|
+
* @param customVars Optional custom variables to merge with default variables
|
|
261
|
+
* @returns Rendered template string or null if rendering fails
|
|
262
|
+
*/
|
|
263
|
+
function renderTemplate(templatePath, customVars = {}) {
|
|
264
|
+
// Initialize Handlebars if not already initialized
|
|
265
|
+
if (Object.keys(Handlebars.partials).length === 0) {
|
|
266
|
+
initializeHandlebars();
|
|
267
|
+
}
|
|
268
|
+
// Load template
|
|
269
|
+
const template = loadTemplate(templatePath);
|
|
270
|
+
if (!template) {
|
|
271
|
+
return null;
|
|
272
|
+
}
|
|
273
|
+
// Load variables and merge with custom vars
|
|
274
|
+
const defaultVars = loadTemplateVariables();
|
|
275
|
+
const variables = { ...defaultVars, ...customVars };
|
|
276
|
+
try {
|
|
277
|
+
// Render template with variables
|
|
278
|
+
return template(variables);
|
|
279
|
+
}
|
|
280
|
+
catch (error) {
|
|
281
|
+
logger_1.default.error(`Error rendering template ${templatePath}: ${error}`);
|
|
282
|
+
return null;
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Load a template for a specific framework or language
|
|
287
|
+
*
|
|
288
|
+
* @param reviewType Type of review (e.g., 'best-practices', 'security')
|
|
289
|
+
* @param language Language (e.g., 'typescript', 'python')
|
|
290
|
+
* @param framework Optional framework (e.g., 'react', 'angular')
|
|
291
|
+
* @returns Rendered template string or null if not found
|
|
292
|
+
*/
|
|
293
|
+
function loadPromptTemplate(reviewType, language, framework) {
|
|
294
|
+
// Try framework-specific template first
|
|
295
|
+
if (language && framework) {
|
|
296
|
+
const frameworkPath = `frameworks/${framework}/${reviewType}.hbs`;
|
|
297
|
+
const rendered = renderTemplate(frameworkPath);
|
|
298
|
+
if (rendered) {
|
|
299
|
+
logger_1.default.debug(`Loaded framework-specific template: ${frameworkPath}`);
|
|
300
|
+
return rendered;
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
// Try language-specific template
|
|
304
|
+
if (language) {
|
|
305
|
+
const languagePath = `languages/${language}/${reviewType}.hbs`;
|
|
306
|
+
const rendered = renderTemplate(languagePath);
|
|
307
|
+
if (rendered) {
|
|
308
|
+
logger_1.default.debug(`Loaded language-specific template: ${languagePath}`);
|
|
309
|
+
return rendered;
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
// Fall back to generic template
|
|
313
|
+
const genericPath = `languages/generic/${reviewType}.hbs`;
|
|
314
|
+
const rendered = renderTemplate(genericPath);
|
|
315
|
+
if (rendered) {
|
|
316
|
+
logger_1.default.debug(`Loaded generic template: ${genericPath}`);
|
|
317
|
+
return rendered;
|
|
318
|
+
}
|
|
319
|
+
logger_1.default.error(`No template found for reviewType=${reviewType}, language=${language ?? 'undefined'}, framework=${framework ?? 'undefined'}`);
|
|
320
|
+
return null;
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* List all available templates
|
|
324
|
+
*
|
|
325
|
+
* @returns Map of available templates by category
|
|
326
|
+
*/
|
|
327
|
+
function listAvailableTemplates() {
|
|
328
|
+
const result = {
|
|
329
|
+
frameworks: [],
|
|
330
|
+
languages: [],
|
|
331
|
+
reviewTypes: [],
|
|
332
|
+
};
|
|
333
|
+
try {
|
|
334
|
+
// Scan frameworks directory
|
|
335
|
+
const frameworksDir = path.join(getTemplatesDir(), 'frameworks');
|
|
336
|
+
if (fs.existsSync(frameworksDir)) {
|
|
337
|
+
try {
|
|
338
|
+
const entries = fs.readdirSync(frameworksDir, { withFileTypes: true });
|
|
339
|
+
result.frameworks = entries
|
|
340
|
+
.filter((entry) => entry.isDirectory())
|
|
341
|
+
.map((entry) => entry.name);
|
|
342
|
+
}
|
|
343
|
+
catch (error) {
|
|
344
|
+
logger_1.default.error(`Error reading frameworks directory ${frameworksDir}: ${error instanceof Error ? error.message : String(error)}`);
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
else {
|
|
348
|
+
logger_1.default.debug(`Frameworks directory not found: ${frameworksDir}`);
|
|
349
|
+
}
|
|
350
|
+
// Scan languages directory
|
|
351
|
+
const languagesDir = path.join(getTemplatesDir(), 'languages');
|
|
352
|
+
if (fs.existsSync(languagesDir)) {
|
|
353
|
+
try {
|
|
354
|
+
const entries = fs.readdirSync(languagesDir, { withFileTypes: true });
|
|
355
|
+
result.languages = entries
|
|
356
|
+
.filter((entry) => entry.isDirectory())
|
|
357
|
+
.map((entry) => entry.name);
|
|
358
|
+
}
|
|
359
|
+
catch (error) {
|
|
360
|
+
logger_1.default.error(`Error reading languages directory ${languagesDir}: ${error instanceof Error ? error.message : String(error)}`);
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
else {
|
|
364
|
+
logger_1.default.debug(`Languages directory not found: ${languagesDir}`);
|
|
365
|
+
}
|
|
366
|
+
// Get review types from any framework (assuming all frameworks have the same review types)
|
|
367
|
+
// or from the generic directory if no frameworks are available
|
|
368
|
+
if (Array.isArray(result.frameworks) && result.frameworks.length > 0) {
|
|
369
|
+
try {
|
|
370
|
+
const firstFramework = result.frameworks[0];
|
|
371
|
+
if (firstFramework) {
|
|
372
|
+
const firstFrameworkDir = path.join(frameworksDir, firstFramework);
|
|
373
|
+
if (fs.existsSync(firstFrameworkDir)) {
|
|
374
|
+
const entries = fs.readdirSync(firstFrameworkDir);
|
|
375
|
+
result.reviewTypes = entries
|
|
376
|
+
.filter((entry) => entry.endsWith('.hbs'))
|
|
377
|
+
.map((entry) => entry.replace('.hbs', ''));
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
catch (error) {
|
|
382
|
+
logger_1.default.error(`Error reading review types from framework directory: ${error instanceof Error ? error.message : String(error)}`);
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
// If we couldn't get review types from frameworks, try the generic directory
|
|
386
|
+
if (!Array.isArray(result.reviewTypes) || result.reviewTypes.length === 0) {
|
|
387
|
+
try {
|
|
388
|
+
const genericDir = path.join(languagesDir, 'generic');
|
|
389
|
+
if (fs.existsSync(genericDir)) {
|
|
390
|
+
const entries = fs.readdirSync(genericDir);
|
|
391
|
+
result.reviewTypes = entries
|
|
392
|
+
.filter((entry) => entry.endsWith('.hbs'))
|
|
393
|
+
.map((entry) => entry.replace('.hbs', ''));
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
catch (error) {
|
|
397
|
+
logger_1.default.error(`Error reading review types from generic directory: ${error instanceof Error ? error.message : String(error)}`);
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
catch (error) {
|
|
402
|
+
// Catch any other unexpected errors
|
|
403
|
+
logger_1.default.error(`Unexpected error listing available templates: ${error instanceof Error ? error.message : String(error)}`);
|
|
404
|
+
}
|
|
405
|
+
return result;
|
|
406
|
+
}
|
|
407
|
+
/**
|
|
408
|
+
* Clear the template cache to force reloading of templates
|
|
409
|
+
* This is useful when the configuration changes
|
|
410
|
+
*/
|
|
411
|
+
function clearTemplateCache() {
|
|
412
|
+
// Reset cache and Handlebars registrations
|
|
413
|
+
for (const key in templateCache) {
|
|
414
|
+
delete templateCache[key];
|
|
415
|
+
}
|
|
416
|
+
// Clear registered partials
|
|
417
|
+
for (const key in Handlebars.partials) {
|
|
418
|
+
Handlebars.unregisterPartial(key);
|
|
419
|
+
}
|
|
420
|
+
logger_1.default.debug('Template cache cleared');
|
|
421
|
+
}
|
|
422
|
+
/**
|
|
423
|
+
* Export loadPromptTemplate as default
|
|
424
|
+
*/
|
|
425
|
+
exports.default = {
|
|
426
|
+
renderTemplate,
|
|
427
|
+
loadPromptTemplate,
|
|
428
|
+
listAvailableTemplates,
|
|
429
|
+
clearTemplateCache,
|
|
430
|
+
};
|
|
431
|
+
//# sourceMappingURL=templateLoader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templateLoader.js","sourceRoot":"","sources":["../../src/utils/templateLoader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Utility to generate tree structure from file paths
|
|
3
|
+
*
|
|
4
|
+
* This module provides functions to convert a list of file paths into a
|
|
5
|
+
* hierarchical tree structure for display in a markdown file.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Generate a markdown tree representation of file paths
|
|
9
|
+
* @param filePaths Array of file paths
|
|
10
|
+
* @returns Markdown string representing the tree structure
|
|
11
|
+
*/
|
|
12
|
+
export declare function generateFileTree(filePaths: string[]): string;
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Utility to generate tree structure from file paths
|
|
4
|
+
*
|
|
5
|
+
* This module provides functions to convert a list of file paths into a
|
|
6
|
+
* hierarchical tree structure for display in a markdown file.
|
|
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.generateFileTree = generateFileTree;
|
|
13
|
+
// import path from 'path'; // Not used in this file
|
|
14
|
+
const logger_1 = __importDefault(require("./logger"));
|
|
15
|
+
/**
|
|
16
|
+
* Create a new tree node
|
|
17
|
+
* @param name Name of the node
|
|
18
|
+
* @param isFile Whether this node represents a file
|
|
19
|
+
* @param filePath Full path of the file (for files only)
|
|
20
|
+
* @returns A new tree node
|
|
21
|
+
*/
|
|
22
|
+
function createNode(name, isFile = false, filePath) {
|
|
23
|
+
return {
|
|
24
|
+
name,
|
|
25
|
+
children: new Map(),
|
|
26
|
+
isFile,
|
|
27
|
+
path: filePath,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Build a tree structure from a list of file paths
|
|
32
|
+
* @param filePaths Array of file paths (relative or absolute)
|
|
33
|
+
* @returns Root node of the tree
|
|
34
|
+
*/
|
|
35
|
+
function buildTree(filePaths) {
|
|
36
|
+
// Create the root node
|
|
37
|
+
const root = createNode('root');
|
|
38
|
+
// Add each file to the tree
|
|
39
|
+
for (const filePath of filePaths) {
|
|
40
|
+
// Split the path into components
|
|
41
|
+
const parts = filePath.split(/[\\/]/);
|
|
42
|
+
// Start at the root
|
|
43
|
+
let currentNode = root;
|
|
44
|
+
// Traverse the path components
|
|
45
|
+
for (let i = 0; i < parts.length; i++) {
|
|
46
|
+
const part = parts[i];
|
|
47
|
+
if (!part)
|
|
48
|
+
continue; // Skip empty parts
|
|
49
|
+
const isFile = i === parts.length - 1;
|
|
50
|
+
// If this node doesn't exist yet, create it
|
|
51
|
+
if (!currentNode.children.has(part)) {
|
|
52
|
+
currentNode.children.set(part, createNode(part, isFile, isFile ? filePath : undefined));
|
|
53
|
+
}
|
|
54
|
+
else if (isFile) {
|
|
55
|
+
// If it exists but is a directory and we're adding a file with the same name
|
|
56
|
+
const existingNode = currentNode.children.get(part);
|
|
57
|
+
if (!existingNode.isFile) {
|
|
58
|
+
// This is a special case where a directory has the same name as a file
|
|
59
|
+
// Create a special file node with a unique name
|
|
60
|
+
currentNode.children.set(`${part} (file)`, createNode(part, true, filePath));
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
// Move to the next node
|
|
65
|
+
currentNode = currentNode.children.get(part);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return root;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Generate a markdown representation of the tree
|
|
72
|
+
* @param node The current tree node
|
|
73
|
+
* @param indent Current indentation level
|
|
74
|
+
* @param isLast Whether this is the last child of its parent
|
|
75
|
+
* @param prefix Prefix for the current line
|
|
76
|
+
* @returns Markdown string representing the tree
|
|
77
|
+
*/
|
|
78
|
+
function generateMarkdownTree(node, indent = '', isLast = true, prefix = '') {
|
|
79
|
+
if (node.name === 'root') {
|
|
80
|
+
// Root node is special - process its children directly
|
|
81
|
+
let result = '';
|
|
82
|
+
const children = Array.from(node.children.entries());
|
|
83
|
+
for (let i = 0; i < children.length; i++) {
|
|
84
|
+
const [, childNode] = children[i];
|
|
85
|
+
const isLastChild = i === children.length - 1;
|
|
86
|
+
result += generateMarkdownTree(childNode, '', isLastChild, '');
|
|
87
|
+
}
|
|
88
|
+
return result;
|
|
89
|
+
}
|
|
90
|
+
// Current node indicator
|
|
91
|
+
const nodeIndicator = isLast ? '└── ' : '├── ';
|
|
92
|
+
// Generate this node's line
|
|
93
|
+
let result = `${indent}${prefix}${nodeIndicator}${node.name}\n`;
|
|
94
|
+
// Generate child node prefix
|
|
95
|
+
const childPrefix = isLast ? ' ' : '│ ';
|
|
96
|
+
// Process children
|
|
97
|
+
const children = Array.from(node.children.entries()).sort(([nameA], [nameB]) => {
|
|
98
|
+
// Directories first, then files
|
|
99
|
+
const nodeA = node.children.get(nameA);
|
|
100
|
+
const nodeB = node.children.get(nameB);
|
|
101
|
+
if (nodeA.isFile && !nodeB.isFile)
|
|
102
|
+
return 1;
|
|
103
|
+
if (!nodeA.isFile && nodeB.isFile)
|
|
104
|
+
return -1;
|
|
105
|
+
return nameA.localeCompare(nameB);
|
|
106
|
+
});
|
|
107
|
+
for (let i = 0; i < children.length; i++) {
|
|
108
|
+
const [, childNode] = children[i];
|
|
109
|
+
const isLastChild = i === children.length - 1;
|
|
110
|
+
result += generateMarkdownTree(childNode, `${indent}${prefix}${childPrefix}`, isLastChild, '');
|
|
111
|
+
}
|
|
112
|
+
return result;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Generate a markdown tree representation of file paths
|
|
116
|
+
* @param filePaths Array of file paths
|
|
117
|
+
* @returns Markdown string representing the tree structure
|
|
118
|
+
*/
|
|
119
|
+
function generateFileTree(filePaths) {
|
|
120
|
+
try {
|
|
121
|
+
// Sort file paths to ensure consistent output
|
|
122
|
+
const sortedPaths = [...filePaths].sort();
|
|
123
|
+
// Build the tree structure
|
|
124
|
+
const root = buildTree(sortedPaths);
|
|
125
|
+
// Generate the markdown
|
|
126
|
+
return `\`\`\`\n${generateMarkdownTree(root)}\`\`\``;
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
logger_1.default.error(`Error generating file tree: ${error}`);
|
|
130
|
+
return filePaths.map((file) => `- \`${file}\``).join('\n');
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=treeGenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"treeGenerator.js","sourceRoot":"","sources":["../../src/utils/treeGenerator.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codereview-aia",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "codereview-aia CLI",
|
|
5
5
|
"author": "rrretsuf",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"bin": "./dist/index.js",
|
|
8
|
+
"files": [
|
|
9
|
+
"dist"
|
|
10
|
+
],
|
|
8
11
|
"scripts": {
|
|
9
12
|
"clean": "rm -rf dist .tsbuildinfo",
|
|
10
13
|
"build": "pnpm run clean && tsc -p tsconfig.json",
|
|
@@ -36,6 +39,7 @@
|
|
|
36
39
|
"i18next": "^24.2.3",
|
|
37
40
|
"i18next-fs-backend": "^2.6.0",
|
|
38
41
|
"i18next-icu": "^2.3.0",
|
|
42
|
+
"ignore": "^5.3.2",
|
|
39
43
|
"ink": "^6.4.0",
|
|
40
44
|
"ink-select-input": "^6.2.0",
|
|
41
45
|
"ink-spinner": "^5.0.0",
|
package/.cr-aia.yml
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
proxy_base_url: https://cr.ai.enki.si
|
|
2
|
-
proxy_http_referer:
|
|
3
|
-
proxy_x_title: cr-aia
|
|
4
|
-
output:
|
|
5
|
-
format: markdown
|
|
6
|
-
dir: ./code-review-reports
|
|
7
|
-
review:
|
|
8
|
-
interactive: false
|
|
9
|
-
include_tests: false
|
|
10
|
-
include_project_docs: true
|
|
11
|
-
include_dependency_analysis: true
|
|
12
|
-
trace_code: false
|
|
13
|
-
use_ts_prune: false
|
|
14
|
-
use_eslint: false
|
|
15
|
-
auto_fix: false
|
|
16
|
-
prompt_all: false
|
|
17
|
-
confirm: true
|
|
18
|
-
api:
|
|
19
|
-
model: openrouter:fast-model
|
|
20
|
-
test_api: false
|
|
21
|
-
system:
|
|
22
|
-
debug: false
|
|
23
|
-
log_level: info
|
package/.crignore
DELETED
|
File without changes
|