codereview-aia 0.1.3 → 0.1.4
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 +738 -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 +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 +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 +266 -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 +382 -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 +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 +47 -0
- package/dist/runtime/reviewPipeline.js +161 -0
- package/dist/runtime/reviewPipeline.js.map +1 -0
- package/dist/runtime/runAiCodeReview.d.ts +28 -0
- package/dist/runtime/runAiCodeReview.js +373 -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 +172 -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 +12 -0
- package/dist/runtime/ui/screens/ProgressScreen.js +64 -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 +29 -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 -2
- 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,339 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @fileoverview Utility to convert existing code review data to AI detection format.
|
|
4
|
+
*
|
|
5
|
+
* This module provides functions to transform the existing FileInfo and project structure
|
|
6
|
+
* into the CodeSubmission format required by the AI detection engine.
|
|
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.SubmissionConverter = void 0;
|
|
13
|
+
const node_child_process_1 = require("node:child_process");
|
|
14
|
+
const node_fs_1 = require("node:fs");
|
|
15
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
16
|
+
/**
|
|
17
|
+
* Convert review data to AI detection submission format
|
|
18
|
+
*/
|
|
19
|
+
class SubmissionConverter {
|
|
20
|
+
/**
|
|
21
|
+
* Convert FileInfo array and project data to CodeSubmission
|
|
22
|
+
* @param files Array of FileInfo objects
|
|
23
|
+
* @param projectName Project name
|
|
24
|
+
* @param projectDocs Project documentation
|
|
25
|
+
* @param projectPath Path to project root
|
|
26
|
+
* @returns CodeSubmission object for AI detection
|
|
27
|
+
*/
|
|
28
|
+
static async convert(files, _projectName, projectDocs, projectPath = process.cwd()) {
|
|
29
|
+
try {
|
|
30
|
+
const repository = await SubmissionConverter.extractGitRepository(projectPath);
|
|
31
|
+
const codebase = SubmissionConverter.createParsedCodebase(files);
|
|
32
|
+
const documentation = SubmissionConverter.createDocumentationSet(files, projectDocs);
|
|
33
|
+
return {
|
|
34
|
+
repository,
|
|
35
|
+
codebase,
|
|
36
|
+
documentation,
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
console.warn('Error converting submission:', error);
|
|
41
|
+
return SubmissionConverter.createFallbackSubmission(files, projectDocs);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Extract git repository information
|
|
46
|
+
* @param projectPath Path to project root
|
|
47
|
+
* @returns Git repository data
|
|
48
|
+
*/
|
|
49
|
+
static async extractGitRepository(projectPath) {
|
|
50
|
+
try {
|
|
51
|
+
// Check if git repository exists
|
|
52
|
+
(0, node_child_process_1.execSync)('git rev-parse --git-dir', {
|
|
53
|
+
cwd: projectPath,
|
|
54
|
+
stdio: 'pipe',
|
|
55
|
+
});
|
|
56
|
+
// Get commit history (last 50 commits)
|
|
57
|
+
const gitLogOutput = (0, node_child_process_1.execSync)('git log --pretty=format:"%H|%s|%ai|%an|%ae" -n 50 --name-only', {
|
|
58
|
+
cwd: projectPath,
|
|
59
|
+
encoding: 'utf8',
|
|
60
|
+
stdio: 'pipe',
|
|
61
|
+
});
|
|
62
|
+
const commits = SubmissionConverter.parseGitLog(gitLogOutput);
|
|
63
|
+
return {
|
|
64
|
+
commits,
|
|
65
|
+
rootPath: projectPath,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
console.warn('Failed to extract git repository info:', error);
|
|
70
|
+
return {
|
|
71
|
+
commits: [],
|
|
72
|
+
rootPath: projectPath,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Parse git log output into commit objects
|
|
78
|
+
* @param gitLogOutput Raw git log output
|
|
79
|
+
* @returns Array of parsed git commits
|
|
80
|
+
*/
|
|
81
|
+
static parseGitLog(gitLogOutput) {
|
|
82
|
+
const commits = [];
|
|
83
|
+
const lines = gitLogOutput.split('\n').filter((line) => line.trim());
|
|
84
|
+
let currentCommit = null;
|
|
85
|
+
let collectingFiles = false;
|
|
86
|
+
for (const line of lines) {
|
|
87
|
+
if (line.includes('|')) {
|
|
88
|
+
// Commit header line
|
|
89
|
+
if (currentCommit) {
|
|
90
|
+
commits.push(currentCommit);
|
|
91
|
+
}
|
|
92
|
+
const parts = line.split('|');
|
|
93
|
+
if (parts.length >= 5) {
|
|
94
|
+
currentCommit = {
|
|
95
|
+
hash: parts[0],
|
|
96
|
+
message: parts[1],
|
|
97
|
+
timestamp: new Date(parts[2]),
|
|
98
|
+
author: {
|
|
99
|
+
name: parts[3],
|
|
100
|
+
email: parts[4],
|
|
101
|
+
},
|
|
102
|
+
changedFiles: [],
|
|
103
|
+
};
|
|
104
|
+
collectingFiles = true;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
else if (collectingFiles && currentCommit && line.trim()) {
|
|
108
|
+
// File name line
|
|
109
|
+
currentCommit.changedFiles?.push(line.trim());
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
// Add the last commit
|
|
113
|
+
if (currentCommit) {
|
|
114
|
+
commits.push(currentCommit);
|
|
115
|
+
}
|
|
116
|
+
return commits.reverse(); // Oldest first
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Create parsed codebase from FileInfo array
|
|
120
|
+
* @param files Array of FileInfo objects
|
|
121
|
+
* @returns Parsed codebase structure
|
|
122
|
+
*/
|
|
123
|
+
static createParsedCodebase(files) {
|
|
124
|
+
const codeFiles = files.map((file) => ({
|
|
125
|
+
path: file.path,
|
|
126
|
+
content: file.content,
|
|
127
|
+
language: SubmissionConverter.detectLanguage(file.path),
|
|
128
|
+
size: Buffer.byteLength(file.content, 'utf8'),
|
|
129
|
+
lastModified: SubmissionConverter.getFileModifiedTime(file.path),
|
|
130
|
+
}));
|
|
131
|
+
const functions = SubmissionConverter.extractFunctions(codeFiles);
|
|
132
|
+
return {
|
|
133
|
+
files: codeFiles,
|
|
134
|
+
functions,
|
|
135
|
+
statistics: {
|
|
136
|
+
totalLines: codeFiles.reduce((sum, file) => sum + file.content.split('\n').length, 0),
|
|
137
|
+
totalFiles: codeFiles.length,
|
|
138
|
+
languages: Array.from(new Set(codeFiles.map((f) => f.language))),
|
|
139
|
+
},
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Create documentation set from files and project docs
|
|
144
|
+
* @param files Array of FileInfo objects
|
|
145
|
+
* @param projectDocs Project documentation
|
|
146
|
+
* @returns Documentation set
|
|
147
|
+
*/
|
|
148
|
+
static createDocumentationSet(files, projectDocs) {
|
|
149
|
+
// Find README file
|
|
150
|
+
const readmeFile = files.find((file) => /readme/i.test(node_path_1.default.basename(file.path)));
|
|
151
|
+
// Get code files for comment analysis
|
|
152
|
+
const codeFiles = files
|
|
153
|
+
.filter((file) => SubmissionConverter.isCodeFile(file.path))
|
|
154
|
+
.map((file) => ({
|
|
155
|
+
path: file.path,
|
|
156
|
+
content: file.content,
|
|
157
|
+
language: SubmissionConverter.detectLanguage(file.path),
|
|
158
|
+
size: Buffer.byteLength(file.content, 'utf8'),
|
|
159
|
+
}));
|
|
160
|
+
return {
|
|
161
|
+
readme: readmeFile?.content || projectDocs?.readme,
|
|
162
|
+
codeFiles,
|
|
163
|
+
otherDocs: SubmissionConverter.extractOtherDocs(files),
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Detect programming language from file path
|
|
168
|
+
* @param filePath File path
|
|
169
|
+
* @returns Programming language
|
|
170
|
+
*/
|
|
171
|
+
static detectLanguage(filePath) {
|
|
172
|
+
const ext = node_path_1.default.extname(filePath).toLowerCase();
|
|
173
|
+
const langMap = {
|
|
174
|
+
'.js': 'javascript',
|
|
175
|
+
'.jsx': 'javascript',
|
|
176
|
+
'.ts': 'typescript',
|
|
177
|
+
'.tsx': 'typescript',
|
|
178
|
+
'.py': 'python',
|
|
179
|
+
'.java': 'java',
|
|
180
|
+
'.go': 'go',
|
|
181
|
+
'.rb': 'ruby',
|
|
182
|
+
'.php': 'php',
|
|
183
|
+
'.cpp': 'cpp',
|
|
184
|
+
'.c': 'c',
|
|
185
|
+
'.cs': 'csharp',
|
|
186
|
+
'.swift': 'swift',
|
|
187
|
+
'.kt': 'kotlin',
|
|
188
|
+
'.rs': 'rust',
|
|
189
|
+
'.dart': 'dart',
|
|
190
|
+
};
|
|
191
|
+
return langMap[ext] || 'unknown';
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Get file modification time
|
|
195
|
+
* @param filePath File path
|
|
196
|
+
* @returns Last modified date or undefined
|
|
197
|
+
*/
|
|
198
|
+
static getFileModifiedTime(filePath) {
|
|
199
|
+
try {
|
|
200
|
+
const stats = (0, node_fs_1.statSync)(filePath);
|
|
201
|
+
return stats.mtime;
|
|
202
|
+
}
|
|
203
|
+
catch {
|
|
204
|
+
return undefined;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* Check if file is a code file
|
|
209
|
+
* @param filePath File path
|
|
210
|
+
* @returns True if it's a code file
|
|
211
|
+
*/
|
|
212
|
+
static isCodeFile(filePath) {
|
|
213
|
+
const codeExtensions = [
|
|
214
|
+
'.js',
|
|
215
|
+
'.jsx',
|
|
216
|
+
'.ts',
|
|
217
|
+
'.tsx',
|
|
218
|
+
'.py',
|
|
219
|
+
'.java',
|
|
220
|
+
'.go',
|
|
221
|
+
'.rb',
|
|
222
|
+
'.php',
|
|
223
|
+
'.cpp',
|
|
224
|
+
'.c',
|
|
225
|
+
'.cs',
|
|
226
|
+
'.swift',
|
|
227
|
+
'.kt',
|
|
228
|
+
'.rs',
|
|
229
|
+
'.scala',
|
|
230
|
+
'.clj',
|
|
231
|
+
'.dart',
|
|
232
|
+
];
|
|
233
|
+
const ext = node_path_1.default.extname(filePath).toLowerCase();
|
|
234
|
+
return codeExtensions.includes(ext);
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Extract function information from code files (simplified)
|
|
238
|
+
* @param codeFiles Array of code files
|
|
239
|
+
* @returns Array of parsed functions
|
|
240
|
+
*/
|
|
241
|
+
static extractFunctions(codeFiles) {
|
|
242
|
+
const functions = [];
|
|
243
|
+
codeFiles.forEach((file) => {
|
|
244
|
+
if (file.language === 'typescript' || file.language === 'javascript') {
|
|
245
|
+
const extractedFunctions = SubmissionConverter.extractJSFunctions(file);
|
|
246
|
+
functions.push(...extractedFunctions);
|
|
247
|
+
}
|
|
248
|
+
// Add other language parsers as needed
|
|
249
|
+
});
|
|
250
|
+
return functions;
|
|
251
|
+
}
|
|
252
|
+
/**
|
|
253
|
+
* Extract JavaScript/TypeScript functions (simplified regex-based)
|
|
254
|
+
* @param file Code file
|
|
255
|
+
* @returns Array of parsed functions
|
|
256
|
+
*/
|
|
257
|
+
static extractJSFunctions(file) {
|
|
258
|
+
const functions = [];
|
|
259
|
+
const lines = file.content.split('\n');
|
|
260
|
+
// Simple regex patterns for function detection
|
|
261
|
+
const functionPatterns = [
|
|
262
|
+
/function\s+(\w+)\s*\([^)]*\)/,
|
|
263
|
+
/const\s+(\w+)\s*=\s*\([^)]*\)\s*=>/,
|
|
264
|
+
/(\w+)\s*:\s*\([^)]*\)\s*=>/,
|
|
265
|
+
/async\s+function\s+(\w+)/,
|
|
266
|
+
];
|
|
267
|
+
lines.forEach((line, index) => {
|
|
268
|
+
for (const pattern of functionPatterns) {
|
|
269
|
+
const match = line.match(pattern);
|
|
270
|
+
if (match) {
|
|
271
|
+
functions.push({
|
|
272
|
+
name: match[1] || 'anonymous',
|
|
273
|
+
filePath: file.path,
|
|
274
|
+
startLine: index + 1,
|
|
275
|
+
endLine: index + 1, // Simplified - would need proper parsing
|
|
276
|
+
parameters: [], // Simplified
|
|
277
|
+
conditionals: [],
|
|
278
|
+
loops: [],
|
|
279
|
+
catches: [],
|
|
280
|
+
logicalOperators: [],
|
|
281
|
+
});
|
|
282
|
+
break;
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
});
|
|
286
|
+
return functions;
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Extract other documentation files
|
|
290
|
+
* @param files Array of FileInfo objects
|
|
291
|
+
* @returns Array of documentation files
|
|
292
|
+
*/
|
|
293
|
+
static extractOtherDocs(files) {
|
|
294
|
+
const docPatterns = [/\.md$/i, /changelog/i, /license/i, /contributing/i, /authors/i];
|
|
295
|
+
return files
|
|
296
|
+
.filter((file) => docPatterns.some((pattern) => pattern.test(file.path)) &&
|
|
297
|
+
!/readme/i.test(node_path_1.default.basename(file.path)))
|
|
298
|
+
.map((file) => ({
|
|
299
|
+
path: file.path,
|
|
300
|
+
content: file.content,
|
|
301
|
+
type: SubmissionConverter.categorizeDocFile(file.path),
|
|
302
|
+
}));
|
|
303
|
+
}
|
|
304
|
+
/**
|
|
305
|
+
* Categorize documentation file type
|
|
306
|
+
* @param filePath File path
|
|
307
|
+
* @returns Documentation type
|
|
308
|
+
*/
|
|
309
|
+
static categorizeDocFile(filePath) {
|
|
310
|
+
const fileName = node_path_1.default.basename(filePath).toLowerCase();
|
|
311
|
+
if (fileName.includes('changelog'))
|
|
312
|
+
return 'changelog';
|
|
313
|
+
if (fileName.includes('api'))
|
|
314
|
+
return 'api';
|
|
315
|
+
if (fileName.includes('guide') || fileName.includes('tutorial'))
|
|
316
|
+
return 'guide';
|
|
317
|
+
if (fileName.includes('readme'))
|
|
318
|
+
return 'readme';
|
|
319
|
+
return 'other';
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* Create fallback submission when git extraction fails
|
|
323
|
+
* @param files Array of FileInfo objects
|
|
324
|
+
* @param projectDocs Project documentation
|
|
325
|
+
* @returns Minimal CodeSubmission
|
|
326
|
+
*/
|
|
327
|
+
static createFallbackSubmission(files, projectDocs) {
|
|
328
|
+
return {
|
|
329
|
+
repository: {
|
|
330
|
+
commits: [],
|
|
331
|
+
rootPath: process.cwd(),
|
|
332
|
+
},
|
|
333
|
+
codebase: SubmissionConverter.createParsedCodebase(files),
|
|
334
|
+
documentation: SubmissionConverter.createDocumentationSet(files, projectDocs),
|
|
335
|
+
};
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
exports.SubmissionConverter = SubmissionConverter;
|
|
339
|
+
//# sourceMappingURL=SubmissionConverter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SubmissionConverter.js","sourceRoot":"","sources":["../../../../src/analysis/ai-detection/utils/SubmissionConverter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Review context for maintaining state between review passes.
|
|
3
|
+
*
|
|
4
|
+
* This module provides a class for maintaining context between multiple review passes.
|
|
5
|
+
* It stores information about the review, including file metadata, important code elements,
|
|
6
|
+
* and findings from previous passes.
|
|
7
|
+
*/
|
|
8
|
+
import type { FileInfo } from '../../types/review';
|
|
9
|
+
/**
|
|
10
|
+
* Type of code element tracked in the context
|
|
11
|
+
*/
|
|
12
|
+
export declare enum CodeElementType {
|
|
13
|
+
Function = "function",
|
|
14
|
+
Class = "class",
|
|
15
|
+
Interface = "interface",
|
|
16
|
+
Variable = "variable",
|
|
17
|
+
Import = "import",
|
|
18
|
+
ExportedItem = "exported",
|
|
19
|
+
Component = "component",
|
|
20
|
+
EntryPoint = "entryPoint"
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* A code element tracked in the context
|
|
24
|
+
*/
|
|
25
|
+
export interface CodeElement {
|
|
26
|
+
/** Type of code element */
|
|
27
|
+
type: CodeElementType;
|
|
28
|
+
/** Name of the code element */
|
|
29
|
+
name: string;
|
|
30
|
+
/** File where the element is defined */
|
|
31
|
+
file: string;
|
|
32
|
+
/** Short description or signature of the element */
|
|
33
|
+
signature?: string;
|
|
34
|
+
/** Importance score (higher = more important) */
|
|
35
|
+
importance: number;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* A review finding from a previous pass
|
|
39
|
+
*/
|
|
40
|
+
export interface ReviewFinding {
|
|
41
|
+
/** Type of finding (e.g., 'bug', 'security', 'performance') */
|
|
42
|
+
type: string;
|
|
43
|
+
/** Short description of the finding */
|
|
44
|
+
description: string;
|
|
45
|
+
/** File where the finding was located */
|
|
46
|
+
file?: string;
|
|
47
|
+
/** Severity of the finding (higher = more severe) */
|
|
48
|
+
severity: number;
|
|
49
|
+
/** Pass number where this finding was identified */
|
|
50
|
+
passNumber: number;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Summary of a file from previous review passes
|
|
54
|
+
*/
|
|
55
|
+
export interface FileSummary {
|
|
56
|
+
/** Path to the file */
|
|
57
|
+
path: string;
|
|
58
|
+
/** File type or extension */
|
|
59
|
+
type: string;
|
|
60
|
+
/** Short description of the file purpose */
|
|
61
|
+
description: string;
|
|
62
|
+
/** Key elements in this file (e.g., classes, functions) */
|
|
63
|
+
keyElements: string[];
|
|
64
|
+
/** Pass number when this summary was created */
|
|
65
|
+
passNumber: number;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Context for multi-pass reviews
|
|
69
|
+
*/
|
|
70
|
+
export declare class ReviewContext {
|
|
71
|
+
/** Project name */
|
|
72
|
+
private projectName;
|
|
73
|
+
/** Review type */
|
|
74
|
+
private reviewType;
|
|
75
|
+
/** All files involved in the review */
|
|
76
|
+
private allFiles;
|
|
77
|
+
/** Current pass number */
|
|
78
|
+
private currentPass;
|
|
79
|
+
/** Important code elements tracked across passes */
|
|
80
|
+
private codeElements;
|
|
81
|
+
/** Findings from previous passes */
|
|
82
|
+
private findings;
|
|
83
|
+
/** File summaries from previous passes */
|
|
84
|
+
private fileSummaries;
|
|
85
|
+
/** General notes about the codebase */
|
|
86
|
+
private generalNotes;
|
|
87
|
+
/** Timestamp when context was created */
|
|
88
|
+
private createdAt;
|
|
89
|
+
/** Timestamp of last update */
|
|
90
|
+
private updatedAt;
|
|
91
|
+
/**
|
|
92
|
+
* Create a new review context
|
|
93
|
+
* @param projectName Name of the project
|
|
94
|
+
* @param reviewType Type of review
|
|
95
|
+
* @param files Files involved in the review
|
|
96
|
+
*/
|
|
97
|
+
constructor(projectName: string, reviewType: string, files: FileInfo[]);
|
|
98
|
+
/**
|
|
99
|
+
* Start a new review pass
|
|
100
|
+
* @returns Updated pass number
|
|
101
|
+
*/
|
|
102
|
+
startPass(): number;
|
|
103
|
+
/**
|
|
104
|
+
* Get the current pass number
|
|
105
|
+
* @returns Current pass number
|
|
106
|
+
*/
|
|
107
|
+
getCurrentPass(): number;
|
|
108
|
+
/**
|
|
109
|
+
* Add a code element to the context
|
|
110
|
+
* @param element Code element to add
|
|
111
|
+
*/
|
|
112
|
+
addCodeElement(element: CodeElement): void;
|
|
113
|
+
/**
|
|
114
|
+
* Get all tracked code elements
|
|
115
|
+
* @returns Array of code elements
|
|
116
|
+
*/
|
|
117
|
+
getCodeElements(): CodeElement[];
|
|
118
|
+
/**
|
|
119
|
+
* Get code elements of a specific type
|
|
120
|
+
* @param type Type of code elements to get
|
|
121
|
+
* @returns Array of code elements of the specified type
|
|
122
|
+
*/
|
|
123
|
+
getCodeElementsByType(type: CodeElementType): CodeElement[];
|
|
124
|
+
/**
|
|
125
|
+
* Get code elements in a specific file
|
|
126
|
+
* @param filePath Path of the file
|
|
127
|
+
* @returns Array of code elements in the file
|
|
128
|
+
*/
|
|
129
|
+
getCodeElementsInFile(filePath: string): CodeElement[];
|
|
130
|
+
/**
|
|
131
|
+
* Add a review finding
|
|
132
|
+
* @param finding Review finding to add
|
|
133
|
+
*/
|
|
134
|
+
addFinding(finding: ReviewFinding): void;
|
|
135
|
+
/**
|
|
136
|
+
* Get all findings
|
|
137
|
+
* @returns Array of all findings
|
|
138
|
+
*/
|
|
139
|
+
getFindings(): ReviewFinding[];
|
|
140
|
+
/**
|
|
141
|
+
* Add or update a file summary
|
|
142
|
+
* @param summary File summary to add
|
|
143
|
+
*/
|
|
144
|
+
addFileSummary(summary: FileSummary): void;
|
|
145
|
+
/**
|
|
146
|
+
* Get summary for a specific file
|
|
147
|
+
* @param filePath Path of the file
|
|
148
|
+
* @returns File summary or undefined if not found
|
|
149
|
+
*/
|
|
150
|
+
getFileSummary(filePath: string): FileSummary | undefined;
|
|
151
|
+
/**
|
|
152
|
+
* Get summaries for all files
|
|
153
|
+
* @returns Array of file summaries
|
|
154
|
+
*/
|
|
155
|
+
getAllFileSummaries(): FileSummary[];
|
|
156
|
+
/**
|
|
157
|
+
* Add a general note about the codebase
|
|
158
|
+
* @param note Note to add
|
|
159
|
+
*/
|
|
160
|
+
addGeneralNote(note: string): void;
|
|
161
|
+
/**
|
|
162
|
+
* Get all general notes
|
|
163
|
+
* @returns Array of general notes
|
|
164
|
+
*/
|
|
165
|
+
getGeneralNotes(): string[];
|
|
166
|
+
/**
|
|
167
|
+
* Generate a contextual prompt for the next pass
|
|
168
|
+
* @param files Files to include in the next pass
|
|
169
|
+
* @param maxContextLength Maximum length of context in characters
|
|
170
|
+
* @returns Formatted context string for inclusion in the next prompt
|
|
171
|
+
*/
|
|
172
|
+
generateNextPassContext(files: string[], maxContextLength?: number): string;
|
|
173
|
+
/**
|
|
174
|
+
* Serialize the context to JSON
|
|
175
|
+
* @returns JSON representation of the context
|
|
176
|
+
*/
|
|
177
|
+
toJSON(): object;
|
|
178
|
+
/**
|
|
179
|
+
* Create a review context from JSON
|
|
180
|
+
* @param json JSON object
|
|
181
|
+
* @returns New ReviewContext instance
|
|
182
|
+
*/
|
|
183
|
+
static fromJSON(json: Record<string, unknown>): ReviewContext;
|
|
184
|
+
}
|