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
|
@@ -1,36 +1,36 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* @fileoverview Formatter for token analysis results.
|
|
3
4
|
*
|
|
4
5
|
* This module provides utilities for formatting token analysis results into
|
|
5
6
|
* human-readable strings and other formats for display or logging.
|
|
6
7
|
*/
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.formatTokenAnalysis = formatTokenAnalysis;
|
|
10
|
+
exports.formatTokenAnalysisAsJson = formatTokenAnalysisAsJson;
|
|
11
|
+
exports.formatFileTokenAnalysis = formatFileTokenAnalysis;
|
|
10
12
|
/**
|
|
11
13
|
* Format a number with commas as thousands separators
|
|
12
14
|
* @param num Number to format
|
|
13
15
|
* @returns Formatted number string
|
|
14
16
|
*/
|
|
15
|
-
function formatNumber(num
|
|
16
|
-
|
|
17
|
+
function formatNumber(num) {
|
|
18
|
+
return num.toLocaleString();
|
|
17
19
|
}
|
|
18
|
-
|
|
19
20
|
/**
|
|
20
21
|
* Format a file size in bytes to a human-readable string
|
|
21
22
|
* @param bytes Size in bytes
|
|
22
23
|
* @returns Formatted size string (e.g., "1.23 KB")
|
|
23
24
|
*/
|
|
24
|
-
function formatFileSize(bytes
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
25
|
+
function formatFileSize(bytes) {
|
|
26
|
+
if (bytes < 1024) {
|
|
27
|
+
return `${bytes} B`;
|
|
28
|
+
}
|
|
29
|
+
if (bytes < 1024 * 1024) {
|
|
30
|
+
return `${(bytes / 1024).toFixed(2)} KB`;
|
|
31
|
+
}
|
|
32
|
+
return `${(bytes / (1024 * 1024)).toFixed(2)} MB`;
|
|
32
33
|
}
|
|
33
|
-
|
|
34
34
|
/**
|
|
35
35
|
* Format token analysis result as a human-readable string
|
|
36
36
|
* @param analysis Token analysis result
|
|
@@ -38,34 +38,29 @@ function formatFileSize(bytes: number): string {
|
|
|
38
38
|
* @param includedFiles Whether to include detailed file listing
|
|
39
39
|
* @returns Formatted string representation of the analysis
|
|
40
40
|
*/
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
const displayProvider = provider
|
|
65
|
-
? `${provider.charAt(0).toUpperCase() + provider.slice(1)}`
|
|
66
|
-
: 'Unknown';
|
|
67
|
-
|
|
68
|
-
let output = `
|
|
41
|
+
function formatTokenAnalysis(analysis, modelName, includeFiles = false) {
|
|
42
|
+
// Extract provider and model from both colon and slash formats
|
|
43
|
+
// Handle formats: "provider:model", "provider/model", or just "model"
|
|
44
|
+
let provider;
|
|
45
|
+
let model;
|
|
46
|
+
if (modelName.includes(':')) {
|
|
47
|
+
// Traditional format: "provider:model"
|
|
48
|
+
[provider, model] = modelName.split(':', 2);
|
|
49
|
+
}
|
|
50
|
+
else if (modelName.includes('/')) {
|
|
51
|
+
// OpenRouter format: "provider/model"
|
|
52
|
+
[provider, model] = modelName.split('/', 2);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
// Just model name
|
|
56
|
+
provider = undefined;
|
|
57
|
+
model = modelName;
|
|
58
|
+
}
|
|
59
|
+
const displayModel = model || modelName;
|
|
60
|
+
const displayProvider = provider
|
|
61
|
+
? `${provider.charAt(0).toUpperCase() + provider.slice(1)}`
|
|
62
|
+
: 'Unknown';
|
|
63
|
+
let output = `
|
|
69
64
|
=== Token Analysis Report ===
|
|
70
65
|
|
|
71
66
|
Provider: ${displayProvider}
|
|
@@ -82,73 +77,67 @@ Context Utilization:
|
|
|
82
77
|
${((analysis.estimatedTotalTokens / analysis.contextWindowSize) * 100).toFixed(2)}% of context window used
|
|
83
78
|
|
|
84
79
|
`;
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
output += `
|
|
80
|
+
// Add chunking information if recommended
|
|
81
|
+
if (analysis.chunkingRecommendation.chunkingRecommended) {
|
|
82
|
+
output += `
|
|
89
83
|
Multi-Pass Analysis:
|
|
90
84
|
Chunking Required: Yes
|
|
91
85
|
Reason: ${analysis.chunkingRecommendation.reason}
|
|
92
86
|
Estimated Passes: ${formatNumber(analysis.estimatedPassesNeeded)}
|
|
93
87
|
`;
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
output += `
|
|
88
|
+
// Add chunk details
|
|
89
|
+
analysis.chunkingRecommendation.recommendedChunks.forEach((chunk, index) => {
|
|
90
|
+
output += `
|
|
98
91
|
Chunk ${index + 1}:
|
|
99
92
|
Files: ${formatNumber(chunk.files.length)}
|
|
100
93
|
Estimated Tokens: ${formatNumber(chunk.estimatedTokenCount)}
|
|
101
94
|
Priority: ${chunk.priority}
|
|
102
95
|
`;
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
output += `
|
|
106
100
|
Multi-Pass Analysis:
|
|
107
101
|
Chunking Required: No
|
|
108
102
|
Reason: ${analysis.chunkingRecommendation.reason}
|
|
109
103
|
`;
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
output += `
|
|
104
|
+
}
|
|
105
|
+
// Add file details if requested
|
|
106
|
+
if (includeFiles) {
|
|
107
|
+
output += `
|
|
115
108
|
File Details:
|
|
116
109
|
`;
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
sortedFiles.forEach((file) => {
|
|
122
|
-
output += ` ${file.relativePath}:
|
|
110
|
+
// Sort files by token count (largest first)
|
|
111
|
+
const sortedFiles = [...analysis.files].sort((a, b) => b.tokenCount - a.tokenCount);
|
|
112
|
+
sortedFiles.forEach((file) => {
|
|
113
|
+
output += ` ${file.relativePath}:
|
|
123
114
|
Tokens: ${formatNumber(file.tokenCount)}
|
|
124
115
|
Size: ${formatFileSize(file.sizeInBytes)}
|
|
125
116
|
Tokens/Byte: ${file.tokensPerByte.toFixed(2)}
|
|
126
117
|
`;
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
return output;
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
return output;
|
|
131
121
|
}
|
|
132
|
-
|
|
133
122
|
/**
|
|
134
123
|
* Format token analysis result as JSON
|
|
135
124
|
* @param analysis Token analysis result
|
|
136
125
|
* @returns JSON string representation of the analysis
|
|
137
126
|
*/
|
|
138
|
-
|
|
139
|
-
|
|
127
|
+
function formatTokenAnalysisAsJson(analysis) {
|
|
128
|
+
return JSON.stringify(analysis, null, 2);
|
|
140
129
|
}
|
|
141
|
-
|
|
142
130
|
/**
|
|
143
131
|
* Format a single file token analysis as a string
|
|
144
132
|
* @param fileAnalysis File token analysis
|
|
145
133
|
* @returns Formatted string representation of the file analysis
|
|
146
134
|
*/
|
|
147
|
-
|
|
148
|
-
|
|
135
|
+
function formatFileTokenAnalysis(fileAnalysis) {
|
|
136
|
+
return `
|
|
149
137
|
File: ${fileAnalysis.relativePath}
|
|
150
138
|
Tokens: ${formatNumber(fileAnalysis.tokenCount)}
|
|
151
139
|
Size: ${formatFileSize(fileAnalysis.sizeInBytes)}
|
|
152
140
|
Tokens/Byte: ${fileAnalysis.tokensPerByte.toFixed(2)}
|
|
153
141
|
`;
|
|
154
142
|
}
|
|
143
|
+
//# sourceMappingURL=TokenAnalysisFormatter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TokenAnalysisFormatter.js","sourceRoot":"","sources":["../../../src/analysis/tokens/TokenAnalysisFormatter.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAmCH,kDA0FC;AAOD,8DAEC;AAOD,0DAOC;AAhJD;;;;GAIG;AACH,SAAS,YAAY,CAAC,GAAW;IAC/B,OAAO,GAAG,CAAC,cAAc,EAAE,CAAC;AAC9B,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,KAAa;IACnC,IAAI,KAAK,GAAG,IAAI,EAAE,CAAC;QACjB,OAAO,GAAG,KAAK,IAAI,CAAC;IACtB,CAAC;IACD,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;QACxB,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IAC3C,CAAC;IACD,OAAO,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AACpD,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,mBAAmB,CACjC,QAA6B,EAC7B,SAAiB,EACjB,YAAY,GAAG,KAAK;IAEpB,+DAA+D;IAC/D,sEAAsE;IACtE,IAAI,QAA4B,CAAC;IACjC,IAAI,KAAa,CAAC;IAElB,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,uCAAuC;QACvC,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC9C,CAAC;SAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,sCAAsC;QACtC,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAC9C,CAAC;SAAM,CAAC;QACN,kBAAkB;QAClB,QAAQ,GAAG,SAAS,CAAC;QACrB,KAAK,GAAG,SAAS,CAAC;IACpB,CAAC;IAED,MAAM,YAAY,GAAG,KAAK,IAAI,SAAS,CAAC;IACxC,MAAM,eAAe,GAAG,QAAQ;QAC9B,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QAC3D,CAAC,CAAC,SAAS,CAAC;IAEd,IAAI,MAAM,GAAG;;;YAGH,eAAe;SAClB,YAAY;SACZ,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,cAAc,CAAC,QAAQ,CAAC,gBAAgB,CAAC;;;oBAGnE,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC;qBACjC,YAAY,CAAC,QAAQ,CAAC,oBAAoB,CAAC;4BACpC,YAAY,CAAC,QAAQ,CAAC,oBAAoB,CAAC;yBAC9C,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC;;;IAG7D,CAAC,CAAC,QAAQ,CAAC,oBAAoB,GAAG,QAAQ,CAAC,iBAAiB,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;;CAElF,CAAC;IAEA,0CAA0C;IAC1C,IAAI,QAAQ,CAAC,sBAAsB,CAAC,mBAAmB,EAAE,CAAC;QACxD,MAAM,IAAI;;;YAGF,QAAQ,CAAC,sBAAsB,CAAC,MAAM;sBAC5B,YAAY,CAAC,QAAQ,CAAC,qBAAqB,CAAC;CACjE,CAAC;QAEE,oBAAoB;QACpB,QAAQ,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACzE,MAAM,IAAI;UACN,KAAK,GAAG,CAAC;aACN,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;wBACrB,YAAY,CAAC,KAAK,CAAC,mBAAmB,CAAC;gBAC/C,KAAK,CAAC,QAAQ;CAC7B,CAAC;QACE,CAAC,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,IAAI;;;YAGF,QAAQ,CAAC,sBAAsB,CAAC,MAAM;CACjD,CAAC;IACA,CAAC;IAED,gCAAgC;IAChC,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,IAAI;;CAEb,CAAC;QAEE,4CAA4C;QAC5C,MAAM,WAAW,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;QAEpF,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3B,MAAM,IAAI,KAAK,IAAI,CAAC,YAAY;cACxB,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC;YAC/B,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC;mBACzB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;CAC/C,CAAC;QACE,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,SAAgB,yBAAyB,CAAC,QAA6B;IACrE,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,SAAgB,uBAAuB,CAAC,YAA+B;IACrE,OAAO;QACD,YAAY,CAAC,YAAY;UACvB,YAAY,CAAC,YAAY,CAAC,UAAU,CAAC;QACvC,cAAc,CAAC,YAAY,CAAC,WAAW,CAAC;eACjC,YAAY,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;CACnD,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Token analysis service for pre-review token counting and estimation.
|
|
3
|
+
*
|
|
4
|
+
* This module provides fast, provider-agnostic token counting and analysis functionality
|
|
5
|
+
* to estimate token usage and costs before performing actual reviews.
|
|
6
|
+
*/
|
|
7
|
+
import type { FileInfo } from '../../types/review';
|
|
8
|
+
/**
|
|
9
|
+
* Result of token analysis for a single file
|
|
10
|
+
*/
|
|
11
|
+
export interface FileTokenAnalysis {
|
|
12
|
+
/** Path to the file */
|
|
13
|
+
path: string;
|
|
14
|
+
/** Relative path to the file */
|
|
15
|
+
relativePath: string | undefined;
|
|
16
|
+
/** Number of tokens in the file */
|
|
17
|
+
tokenCount: number;
|
|
18
|
+
/** Size of file in bytes */
|
|
19
|
+
sizeInBytes: number;
|
|
20
|
+
/** Tokens per byte ratio (used for optimization analysis) */
|
|
21
|
+
tokensPerByte: number;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Result of token analysis for a set of files
|
|
25
|
+
*/
|
|
26
|
+
export interface TokenAnalysisResult {
|
|
27
|
+
/** Analysis of individual files */
|
|
28
|
+
files: FileTokenAnalysis[];
|
|
29
|
+
/** Total number of tokens across all files */
|
|
30
|
+
totalTokens: number;
|
|
31
|
+
/** Total size of all files in bytes */
|
|
32
|
+
totalSizeInBytes: number;
|
|
33
|
+
/** Average tokens per byte across all files */
|
|
34
|
+
averageTokensPerByte: number;
|
|
35
|
+
/** Total number of files analyzed */
|
|
36
|
+
fileCount: number;
|
|
37
|
+
/** Token overhead for prompts, instructions, etc. */
|
|
38
|
+
promptOverheadTokens: number;
|
|
39
|
+
/** Estimated total token count including overhead */
|
|
40
|
+
estimatedTotalTokens: number;
|
|
41
|
+
/** Maximum context window size for the model */
|
|
42
|
+
contextWindowSize: number;
|
|
43
|
+
/** Whether the content exceeds the context window */
|
|
44
|
+
exceedsContextWindow: boolean;
|
|
45
|
+
/** Number of passes needed for multi-pass review */
|
|
46
|
+
estimatedPassesNeeded: number;
|
|
47
|
+
/** Chunking strategy recommendation */
|
|
48
|
+
chunkingRecommendation: ChunkingRecommendation;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Recommendation for chunking strategy
|
|
52
|
+
*/
|
|
53
|
+
export interface ChunkingRecommendation {
|
|
54
|
+
/** Whether chunking is recommended */
|
|
55
|
+
chunkingRecommended: boolean;
|
|
56
|
+
/** Approximate file chunks for multi-pass processing */
|
|
57
|
+
recommendedChunks: FileChunk[];
|
|
58
|
+
/** Reason for chunking recommendation */
|
|
59
|
+
reason: string;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* A chunk of files for multi-pass processing
|
|
63
|
+
*/
|
|
64
|
+
export interface FileChunk {
|
|
65
|
+
/** Files in this chunk */
|
|
66
|
+
files: string[];
|
|
67
|
+
/** Estimated token count for this chunk */
|
|
68
|
+
estimatedTokenCount: number;
|
|
69
|
+
/** Priority of this chunk (higher = more important) */
|
|
70
|
+
priority: number;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Options for token analysis
|
|
74
|
+
*/
|
|
75
|
+
export interface TokenAnalysisOptions {
|
|
76
|
+
/** Type of review being performed */
|
|
77
|
+
reviewType: string;
|
|
78
|
+
/** Name of the model being used */
|
|
79
|
+
modelName: string;
|
|
80
|
+
/** Whether to optimize for speed (less accurate) or precision */
|
|
81
|
+
optimizeForSpeed?: boolean;
|
|
82
|
+
/** Additional prompt overhead to consider */
|
|
83
|
+
additionalPromptOverhead?: number;
|
|
84
|
+
/** Context maintenance factor for multi-pass reviews (0-1) */
|
|
85
|
+
contextMaintenanceFactor?: number;
|
|
86
|
+
/** Safety margin factor for context window (0-1) */
|
|
87
|
+
safetyMarginFactor?: number;
|
|
88
|
+
/** Force single pass mode regardless of token count */
|
|
89
|
+
forceSinglePass?: boolean;
|
|
90
|
+
/** Force maximum tokens per batch (for testing consolidation) */
|
|
91
|
+
batchTokenLimit?: number;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Service for analyzing token usage in files
|
|
95
|
+
*/
|
|
96
|
+
export declare class TokenAnalyzer {
|
|
97
|
+
private static DEFAULT_PROMPT_OVERHEAD;
|
|
98
|
+
private static DEFAULT_CONTEXT_MAINTENANCE_FACTOR;
|
|
99
|
+
private static DEFAULT_SAFETY_MARGIN_FACTOR;
|
|
100
|
+
private static DEFAULT_CONTEXT_WINDOW;
|
|
101
|
+
/**
|
|
102
|
+
* Context window mapping for supported models.
|
|
103
|
+
* Leave values as null if the exact window is unknown so they can be filled in later.
|
|
104
|
+
*/
|
|
105
|
+
private static MODEL_CONTEXT_WINDOWS;
|
|
106
|
+
/**
|
|
107
|
+
* Get the context window size for a model
|
|
108
|
+
* @param modelName Name of the model
|
|
109
|
+
* @returns Context window size in tokens
|
|
110
|
+
*/
|
|
111
|
+
private static getContextWindowSize;
|
|
112
|
+
private static lookupConfiguredContextWindow;
|
|
113
|
+
/**
|
|
114
|
+
* Analyze token usage for a set of files
|
|
115
|
+
* @param files Files to analyze
|
|
116
|
+
* @param options Analysis options
|
|
117
|
+
* @returns Token analysis result
|
|
118
|
+
*/
|
|
119
|
+
static analyzeFiles(files: FileInfo[], options: TokenAnalysisOptions): TokenAnalysisResult;
|
|
120
|
+
/**
|
|
121
|
+
* Generate a chunking recommendation for files that exceed context window
|
|
122
|
+
* @param fileAnalyses Array of file token analyses
|
|
123
|
+
* @param estimatedTotalTokens Total tokens including overhead
|
|
124
|
+
* @param contextWindowSize Maximum context window size
|
|
125
|
+
* @param contextMaintenanceFactor Context maintenance overhead factor
|
|
126
|
+
* @param forceSinglePass Force single pass mode regardless of token count
|
|
127
|
+
* @param batchTokenLimit Force maximum tokens per batch (for testing)
|
|
128
|
+
* @returns Chunking recommendation
|
|
129
|
+
*/
|
|
130
|
+
private static generateChunkingRecommendation;
|
|
131
|
+
/**
|
|
132
|
+
* Optimized bin-packing algorithm to minimize the number of chunks
|
|
133
|
+
* Uses an advanced first-fit decreasing with multi-level optimization
|
|
134
|
+
* @param fileAnalyses Array of file token analyses
|
|
135
|
+
* @param maxChunkSize Maximum size for each chunk in tokens
|
|
136
|
+
* @param contextWindowSize Original context window for logging
|
|
137
|
+
* @returns Array of optimized file chunks
|
|
138
|
+
*/
|
|
139
|
+
private static optimizedBinPacking;
|
|
140
|
+
/**
|
|
141
|
+
* Aggressive balancing to minimize chunk count and maximize efficiency
|
|
142
|
+
* @param chunks Initial chunks from bin-packing
|
|
143
|
+
* @param fileAnalyses Original file analyses for lookup
|
|
144
|
+
* @param maxChunkSize Maximum size for each chunk
|
|
145
|
+
* @returns Balanced chunks with minimized count
|
|
146
|
+
*/
|
|
147
|
+
private static aggressiveBalance;
|
|
148
|
+
/**
|
|
149
|
+
* Analyze a single file for token usage
|
|
150
|
+
* @param file File to analyze
|
|
151
|
+
* @param options Analysis options
|
|
152
|
+
* @returns Token analysis for the file
|
|
153
|
+
*/
|
|
154
|
+
static analyzeFile(file: FileInfo, options: TokenAnalysisOptions): FileTokenAnalysis;
|
|
155
|
+
}
|