@bobmatnyc/ai-code-review
Version:
A TypeScript-based tool for automated code reviews using AI models from Google Gemini, Anthropic Claude, and OpenRouter
47 lines (46 loc) • 1.45 kB
TypeScript
/**
* Type definitions for token analysis.
*/
import { FileInfo } from './review';
export interface FileTokenAnalysis {
path: string;
relativePath: string | undefined;
tokenCount: number;
sizeInBytes: number;
tokensPerByte: number;
}
export interface TokenAnalysisResult {
files: FileTokenAnalysis[];
totalTokens: number;
totalSizeInBytes: number;
averageTokensPerByte: number;
fileCount: number;
promptOverheadTokens: number;
estimatedTotalTokens: number;
contextWindowSize: number;
exceedsContextWindow: boolean;
estimatedPassesNeeded: number;
chunkingRecommendation: ChunkingRecommendation;
}
export interface ChunkingRecommendation {
chunkingRecommended: boolean;
recommendedChunks: FileChunk[];
reason: string;
}
export interface FileChunk {
files: string[];
estimatedTokenCount: number;
priority: number;
}
export interface TokenAnalysisOptions {
reviewType: string;
modelName: string;
optimizeForSpeed?: boolean;
additionalPromptOverhead?: number;
contextMaintenanceFactor?: number;
}
export declare class TokenAnalyzer {
static analyzeFile(file: FileInfo, options: TokenAnalysisOptions): FileTokenAnalysis;
static analyzeFiles(files: FileInfo[], options: TokenAnalysisOptions): TokenAnalysisResult;
}
export declare function formatTokenAnalysis(analysis: TokenAnalysisResult, modelName: string, includeFiles?: boolean): string;