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,343 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview AI-powered dependency analysis for architectural reviews
|
|
4
|
+
*
|
|
5
|
+
* This module provides a dependency analysis approach that uses the AI model
|
|
6
|
+
* itself to analyze the project structure and dependencies, eliminating the
|
|
7
|
+
* need for external tools like dependency-cruiser that can cause installation issues.
|
|
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.createAIDependencyAnalysis = createAIDependencyAnalysis;
|
|
14
|
+
const node_child_process_1 = require("node:child_process");
|
|
15
|
+
const promises_1 = __importDefault(require("node:fs/promises"));
|
|
16
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
17
|
+
const node_util_1 = require("node:util");
|
|
18
|
+
// import { getConfig } from '../../utils/config';
|
|
19
|
+
// import { AbstractClient } from '../../clients/base/abstractClient';
|
|
20
|
+
const clientFactory_1 = require("../../clients/factory/clientFactory");
|
|
21
|
+
const logger_1 = __importDefault(require("../logger"));
|
|
22
|
+
// import { formatProjectDocs } from '../projectDocs';
|
|
23
|
+
const execAsync = (0, node_util_1.promisify)(node_child_process_1.exec);
|
|
24
|
+
/**
|
|
25
|
+
* Create a dependency analysis section for architectural reviews using AI
|
|
26
|
+
* @param projectPath The path to the project
|
|
27
|
+
* @returns Dependency analysis formatted for inclusion in reviews
|
|
28
|
+
*/
|
|
29
|
+
async function createAIDependencyAnalysis(projectPath) {
|
|
30
|
+
logger_1.default.info('=========== STARTING AI-POWERED DEPENDENCY ANALYSIS ===========');
|
|
31
|
+
logger_1.default.info(`Project path: ${projectPath}`);
|
|
32
|
+
try {
|
|
33
|
+
// Get project file sample for AI analysis
|
|
34
|
+
const projectSample = await getProjectFileSample(projectPath);
|
|
35
|
+
// Return empty analysis if no files were found
|
|
36
|
+
if (projectSample.packageFiles.length === 0 && projectSample.sourceFiles.length === 0) {
|
|
37
|
+
logger_1.default.warn('No suitable files found for AI dependency analysis');
|
|
38
|
+
return '## Dependency Analysis\n\nNo suitable files were found for dependency analysis.';
|
|
39
|
+
}
|
|
40
|
+
logger_1.default.info(`Collected ${projectSample.packageFiles.length} package files and ${projectSample.sourceFiles.length} source files for analysis`);
|
|
41
|
+
// Generate the dependency analysis using AI
|
|
42
|
+
const analysisResult = await analyzeWithAI(projectSample);
|
|
43
|
+
// Format the results as markdown
|
|
44
|
+
return formatDependencyAnalysis(analysisResult);
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
logger_1.default.error(`Error in AI dependency analysis: ${error instanceof Error ? error.message : String(error)}`);
|
|
48
|
+
return '## Dependency Analysis\n\n⚠️ Unable to perform AI-powered dependency analysis due to an error.\n\nThe rest of the review is still valid.';
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Use AI to analyze project dependencies
|
|
53
|
+
* @param projectSample Sample of project files for analysis
|
|
54
|
+
* @returns AI-generated dependency analysis
|
|
55
|
+
*/
|
|
56
|
+
async function analyzeWithAI(projectSample) {
|
|
57
|
+
try {
|
|
58
|
+
// Initialize an API client based on the selected model
|
|
59
|
+
const client = clientFactory_1.ClientFactory.createClient();
|
|
60
|
+
await client.initialize();
|
|
61
|
+
// Prepare a detailed prompt for the AI
|
|
62
|
+
const prompt = createDependencyAnalysisPrompt(projectSample);
|
|
63
|
+
// Generate the analysis using the AI client
|
|
64
|
+
const analysisResponse = await client.generateReview(prompt, 'dependency-analysis.md', 'architectural', {
|
|
65
|
+
readme: '',
|
|
66
|
+
custom: {
|
|
67
|
+
'DEPENDENCY_ANALYSIS_INSTRUCTIONS.md': getDependencyAnalysisInstructions(),
|
|
68
|
+
},
|
|
69
|
+
}, {
|
|
70
|
+
type: 'architectural',
|
|
71
|
+
includeTests: false,
|
|
72
|
+
output: 'markdown',
|
|
73
|
+
// @ts-expect-error - temporary property for AI dependency analysis
|
|
74
|
+
isAIDependencyAnalysis: true,
|
|
75
|
+
});
|
|
76
|
+
// Parse the AI response into structured sections
|
|
77
|
+
return parseDependencyAnalysisResponse(analysisResponse.content);
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
logger_1.default.error(`Error generating AI dependency analysis: ${error instanceof Error ? error.message : String(error)}`);
|
|
81
|
+
throw error;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Create a prompt for dependency analysis
|
|
86
|
+
* @param projectSample Sample of project files
|
|
87
|
+
* @returns Formatted prompt for the AI
|
|
88
|
+
*/
|
|
89
|
+
function createDependencyAnalysisPrompt(projectSample) {
|
|
90
|
+
// Format package files
|
|
91
|
+
const packageFilesSection = projectSample.packageFiles
|
|
92
|
+
.map((pkg) => {
|
|
93
|
+
return `## ${pkg.path}
|
|
94
|
+
\`\`\`json
|
|
95
|
+
"dependencies": ${JSON.stringify(pkg.dependencies || {}, null, 2)},
|
|
96
|
+
"devDependencies": ${JSON.stringify(pkg.devDependencies || {}, null, 2)}
|
|
97
|
+
\`\`\`
|
|
98
|
+
`;
|
|
99
|
+
})
|
|
100
|
+
.join('\n\n');
|
|
101
|
+
// Format source files with imports
|
|
102
|
+
const sourceFilesSection = projectSample.sourceFiles
|
|
103
|
+
.map((file) => {
|
|
104
|
+
return `## ${file.path} (${file.type})
|
|
105
|
+
${file.imports && file.imports.length > 0
|
|
106
|
+
? `**Imports:**
|
|
107
|
+
${file.imports.map((imp) => `- ${imp}`).join('\n')}`
|
|
108
|
+
: 'No imports found.'}
|
|
109
|
+
|
|
110
|
+
${file.exports && file.exports.length > 0
|
|
111
|
+
? `**Exports:**
|
|
112
|
+
${file.exports.map((exp) => `- ${exp}`).join('\n')}`
|
|
113
|
+
: 'No exports found.'}
|
|
114
|
+
`;
|
|
115
|
+
})
|
|
116
|
+
.join('\n\n');
|
|
117
|
+
// Create the full prompt
|
|
118
|
+
return `# Project Dependency Analysis Request
|
|
119
|
+
|
|
120
|
+
## Project Overview
|
|
121
|
+
Total Files: ${projectSample.totalFileCount}
|
|
122
|
+
Sample Files Analyzed: ${projectSample.packageFiles.length + projectSample.sourceFiles.length}
|
|
123
|
+
|
|
124
|
+
## Directory Structure
|
|
125
|
+
\`\`\`
|
|
126
|
+
${projectSample.directoryStructure}
|
|
127
|
+
\`\`\`
|
|
128
|
+
|
|
129
|
+
## Package Files
|
|
130
|
+
${packageFilesSection}
|
|
131
|
+
|
|
132
|
+
## Source File Sample
|
|
133
|
+
${sourceFilesSection}
|
|
134
|
+
|
|
135
|
+
Please analyze the project dependencies and structure based on the provided information.`;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Get detailed instructions for the AI dependency analysis
|
|
139
|
+
* @returns Formatted instructions
|
|
140
|
+
*/
|
|
141
|
+
function getDependencyAnalysisInstructions() {
|
|
142
|
+
return `# Dependency Analysis Instructions
|
|
143
|
+
|
|
144
|
+
You are tasked with analyzing the project dependencies and structure based on the provided sample of files.
|
|
145
|
+
Focus on identifying potential dependency issues, architectural patterns, and providing recommendations.
|
|
146
|
+
|
|
147
|
+
## Analysis Requirements
|
|
148
|
+
|
|
149
|
+
1. **Package Dependencies**:
|
|
150
|
+
- Analyze all package.json files
|
|
151
|
+
- Identify key dependencies and their purposes
|
|
152
|
+
- Detect potential outdated or problematic dependencies
|
|
153
|
+
- Note any unusual dependency patterns
|
|
154
|
+
|
|
155
|
+
2. **Code Structure**:
|
|
156
|
+
- Analyze import/export patterns in the sample files
|
|
157
|
+
- Identify potential circular dependencies
|
|
158
|
+
- Note any heavily imported modules (potential core components)
|
|
159
|
+
- Analyze coupling between components
|
|
160
|
+
|
|
161
|
+
3. **Architectural Issues**:
|
|
162
|
+
- Identify potential architectural anti-patterns
|
|
163
|
+
- Note any separation of concerns issues
|
|
164
|
+
- Detect potential dependency management issues
|
|
165
|
+
- Analyze project structure for architectural consistency
|
|
166
|
+
|
|
167
|
+
4. **Recommendations**:
|
|
168
|
+
- Suggest improvements to dependency management
|
|
169
|
+
- Recommend architectural improvements based on modern practices
|
|
170
|
+
- Provide specific, actionable advice for dependency-related issues
|
|
171
|
+
|
|
172
|
+
## Response Format
|
|
173
|
+
|
|
174
|
+
Organize your analysis into the following sections:
|
|
175
|
+
|
|
176
|
+
1. **Dependency Summary**: Overview of the project's dependencies and overall structure.
|
|
177
|
+
2. **Architectural Issues**: Potential problems in the dependency architecture.
|
|
178
|
+
3. **Package Analysis**: Detailed analysis of package.json dependencies.
|
|
179
|
+
4. **Code Structure Analysis**: Analysis of import/export patterns and module relationships.
|
|
180
|
+
5. **Recommendations**: Specific suggestions for improving dependency management and architecture.
|
|
181
|
+
|
|
182
|
+
Be thorough but concise. Focus on providing actionable insights rather than just descriptions.`;
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Parse the AI response into structured sections
|
|
186
|
+
* @param responseContent AI response content
|
|
187
|
+
* @returns Structured dependency analysis
|
|
188
|
+
*/
|
|
189
|
+
function parseDependencyAnalysisResponse(responseContent) {
|
|
190
|
+
// Helper function to extract a section from the response
|
|
191
|
+
const extractSection = (title) => {
|
|
192
|
+
const regex = new RegExp(`## ${title}\\s*([\\s\\S]*?)(?=## |$)`, 'i');
|
|
193
|
+
const match = responseContent.match(regex);
|
|
194
|
+
return match ? match[1].trim() : '';
|
|
195
|
+
};
|
|
196
|
+
return {
|
|
197
|
+
dependencySummary: extractSection('Dependency Summary'),
|
|
198
|
+
architecturalIssues: extractSection('Architectural Issues'),
|
|
199
|
+
packageAnalysis: extractSection('Package Analysis'),
|
|
200
|
+
codeStructureAnalysis: extractSection('Code Structure Analysis'),
|
|
201
|
+
recommendations: extractSection('Recommendations'),
|
|
202
|
+
rawResponse: responseContent,
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Format the dependency analysis as markdown
|
|
207
|
+
* @param analysis Dependency analysis result
|
|
208
|
+
* @returns Formatted markdown
|
|
209
|
+
*/
|
|
210
|
+
function formatDependencyAnalysis(analysis) {
|
|
211
|
+
return `## AI-Powered Dependency Analysis
|
|
212
|
+
|
|
213
|
+
${analysis.dependencySummary}
|
|
214
|
+
|
|
215
|
+
### Architectural Issues
|
|
216
|
+
|
|
217
|
+
${analysis.architecturalIssues}
|
|
218
|
+
|
|
219
|
+
### Package Analysis
|
|
220
|
+
|
|
221
|
+
${analysis.packageAnalysis}
|
|
222
|
+
|
|
223
|
+
### Code Structure Analysis
|
|
224
|
+
|
|
225
|
+
${analysis.codeStructureAnalysis}
|
|
226
|
+
|
|
227
|
+
### Recommendations
|
|
228
|
+
|
|
229
|
+
${analysis.recommendations}
|
|
230
|
+
|
|
231
|
+
---
|
|
232
|
+
|
|
233
|
+
*Note: This dependency analysis was performed by AI based on a representative sample of the codebase, without requiring additional dependencies.*`;
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Get a representative sample of project files for analysis
|
|
237
|
+
* @param projectPath Path to the project
|
|
238
|
+
* @returns Sample of project files
|
|
239
|
+
*/
|
|
240
|
+
async function getProjectFileSample(projectPath) {
|
|
241
|
+
logger_1.default.info(`Collecting project file sample from ${projectPath}`);
|
|
242
|
+
// Initialize the result
|
|
243
|
+
const result = {
|
|
244
|
+
packageFiles: [],
|
|
245
|
+
sourceFiles: [],
|
|
246
|
+
totalFileCount: 0,
|
|
247
|
+
directoryStructure: '',
|
|
248
|
+
};
|
|
249
|
+
try {
|
|
250
|
+
// Get directory structure using ls
|
|
251
|
+
try {
|
|
252
|
+
const { stdout: dirOutput } = await execAsync(`ls -la ${projectPath}`);
|
|
253
|
+
result.directoryStructure = dirOutput;
|
|
254
|
+
}
|
|
255
|
+
catch (error) {
|
|
256
|
+
logger_1.default.warn(`Error getting directory structure: ${error instanceof Error ? error.message : String(error)}`);
|
|
257
|
+
result.directoryStructure = 'Unable to retrieve directory structure';
|
|
258
|
+
}
|
|
259
|
+
// Find package.json files
|
|
260
|
+
let packageFilePaths = [];
|
|
261
|
+
try {
|
|
262
|
+
const { stdout: packageFilesOutput } = await execAsync(`find ${projectPath} -name "package.json" -not -path "*/node_modules/*" -not -path "*/\\.*/*" | head -5`);
|
|
263
|
+
packageFilePaths = packageFilesOutput.trim().split('\n').filter(Boolean);
|
|
264
|
+
}
|
|
265
|
+
catch (error) {
|
|
266
|
+
logger_1.default.warn(`Error finding package.json files: ${error instanceof Error ? error.message : String(error)}`);
|
|
267
|
+
}
|
|
268
|
+
// Process each package.json file
|
|
269
|
+
for (const filePath of packageFilePaths) {
|
|
270
|
+
try {
|
|
271
|
+
const content = await promises_1.default.readFile(filePath, 'utf-8');
|
|
272
|
+
const packageJson = JSON.parse(content);
|
|
273
|
+
result.packageFiles.push({
|
|
274
|
+
path: node_path_1.default.relative(projectPath, filePath),
|
|
275
|
+
type: 'package.json',
|
|
276
|
+
dependencies: packageJson.dependencies || {},
|
|
277
|
+
devDependencies: packageJson.devDependencies || {},
|
|
278
|
+
});
|
|
279
|
+
}
|
|
280
|
+
catch (error) {
|
|
281
|
+
logger_1.default.warn(`Error processing package.json file ${filePath}: ${error instanceof Error ? error.message : String(error)}`);
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
// Get total file count (excluding node_modules and hidden directories)
|
|
285
|
+
try {
|
|
286
|
+
const { stdout: totalFilesOutput } = await execAsync(`find ${projectPath} -type f -not -path "*/node_modules/*" -not -path "*/\\.*/*" | wc -l`);
|
|
287
|
+
result.totalFileCount = parseInt(totalFilesOutput.trim(), 10);
|
|
288
|
+
}
|
|
289
|
+
catch (error) {
|
|
290
|
+
logger_1.default.warn(`Error counting files: ${error instanceof Error ? error.message : String(error)}`);
|
|
291
|
+
result.totalFileCount = 0;
|
|
292
|
+
}
|
|
293
|
+
// Find source files (JS, TS, etc.)
|
|
294
|
+
let sourceFilePaths = [];
|
|
295
|
+
try {
|
|
296
|
+
const { stdout: sourceFilesOutput } = await execAsync(`find ${projectPath} -type f \\( -name "*.js" -o -name "*.jsx" -o -name "*.ts" -o -name "*.tsx" \\) -not -path "*/node_modules/*" -not -path "*/\\.*/*" | sort -R | head -20`);
|
|
297
|
+
sourceFilePaths = sourceFilesOutput.trim().split('\n').filter(Boolean);
|
|
298
|
+
}
|
|
299
|
+
catch (error) {
|
|
300
|
+
logger_1.default.warn(`Error finding source files: ${error instanceof Error ? error.message : String(error)}`);
|
|
301
|
+
}
|
|
302
|
+
// Process each source file to extract imports
|
|
303
|
+
for (const filePath of sourceFilePaths) {
|
|
304
|
+
try {
|
|
305
|
+
const content = await promises_1.default.readFile(filePath, 'utf-8');
|
|
306
|
+
// Extract file type from extension
|
|
307
|
+
const fileType = node_path_1.default.extname(filePath).slice(1);
|
|
308
|
+
// Extract imports using regex
|
|
309
|
+
const importRegex = /import\s+(?:(?:{[^}]*})|(?:[^{}]*?))\s+from\s+['"]([^'"]+)['"]/g;
|
|
310
|
+
const imports = [];
|
|
311
|
+
let match;
|
|
312
|
+
while ((match = importRegex.exec(content)) !== null) {
|
|
313
|
+
imports.push(match[1]);
|
|
314
|
+
}
|
|
315
|
+
// Extract exports using regex
|
|
316
|
+
const exportRegex = /export\s+(?:(?:default\s+)?(?:class|function|const|let|var|interface|type|enum)\s+(\w+))/g;
|
|
317
|
+
const exports = [];
|
|
318
|
+
let exportMatch;
|
|
319
|
+
while ((exportMatch = exportRegex.exec(content)) !== null) {
|
|
320
|
+
if (exportMatch[1]) {
|
|
321
|
+
exports.push(exportMatch[1]);
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
result.sourceFiles.push({
|
|
325
|
+
path: node_path_1.default.relative(projectPath, filePath),
|
|
326
|
+
type: fileType,
|
|
327
|
+
imports,
|
|
328
|
+
exports,
|
|
329
|
+
});
|
|
330
|
+
}
|
|
331
|
+
catch (error) {
|
|
332
|
+
logger_1.default.warn(`Error processing source file ${filePath}: ${error instanceof Error ? error.message : String(error)}`);
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
logger_1.default.info(`Collected ${result.packageFiles.length} package files and ${result.sourceFiles.length} source files`);
|
|
336
|
+
return result;
|
|
337
|
+
}
|
|
338
|
+
catch (error) {
|
|
339
|
+
logger_1.default.error(`Error getting project file sample: ${error instanceof Error ? error.message : String(error)}`);
|
|
340
|
+
return result;
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
//# sourceMappingURL=aiDependencyAnalyzer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aiDependencyAnalyzer.js","sourceRoot":"","sources":["../../../src/utils/dependencies/aiDependencyAnalyzer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Framework detection utility for cr-aia
|
|
3
|
+
*
|
|
4
|
+
* This module analyzes project files to determine which framework is being used,
|
|
5
|
+
* allowing for more specific prompts and improved review quality.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Framework detection result
|
|
9
|
+
*/
|
|
10
|
+
export interface FrameworkDetectionResult {
|
|
11
|
+
/** Primary programming language detected */
|
|
12
|
+
language: string;
|
|
13
|
+
/** Framework detected */
|
|
14
|
+
framework: string;
|
|
15
|
+
/** Confidence level (0-1) */
|
|
16
|
+
confidence: number;
|
|
17
|
+
/** Detection method used */
|
|
18
|
+
detectionMethod: string;
|
|
19
|
+
/** Any additional frameworks detected */
|
|
20
|
+
additionalFrameworks?: string[];
|
|
21
|
+
/** CSS frameworks detected */
|
|
22
|
+
cssFrameworks?: {
|
|
23
|
+
name: string;
|
|
24
|
+
version?: string;
|
|
25
|
+
confidence: number;
|
|
26
|
+
}[];
|
|
27
|
+
/** Detected framework version */
|
|
28
|
+
frameworkVersion?: string;
|
|
29
|
+
/** Framework type (ui, css, backend, etc.) */
|
|
30
|
+
frameworkType?: string;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Detect frameworks used in a project
|
|
34
|
+
* @param projectPath Path to project root directory
|
|
35
|
+
* @returns Promise resolving to framework detection result
|
|
36
|
+
*/
|
|
37
|
+
export declare function detectFramework(projectPath: string): Promise<FrameworkDetectionResult | null>;
|
|
38
|
+
/**
|
|
39
|
+
* Detect the primary programming language used in a project
|
|
40
|
+
* @param projectPath Path to project root directory
|
|
41
|
+
* @returns Promise resolving to language name
|
|
42
|
+
*/
|
|
43
|
+
export declare function detectPrimaryLanguage(projectPath: string): Promise<string | null>;
|