UNPKG

repomix

Version:

A tool to pack repository contents to single file for AI consumption

43 lines (42 loc) 2.46 kB
import type { RepomixConfigMerged } from '../../config/configSchema.js'; import type { RepomixProgressCallback } from '../../shared/types.js'; import type { ProcessedFile } from '../file/fileTypes.js'; import type { GitDiffResult } from '../git/gitDiffHandle.js'; import type { GitLogResult } from '../git/gitLogHandle.js'; import { type MetricsTaskRunner } from './metricsWorkerRunner.js'; import type { TokenEncoding } from './TokenCounter.js'; export interface CalculateMetricsResult { totalFiles: number; totalCharacters: number; totalTokens: number; fileCharCounts: Record<string, number>; fileTokenCounts: Record<string, number>; gitDiffTokenCount: number; gitLogTokenCount: number; } export interface MetricsTaskRunnerWithWarmup { taskRunner: MetricsTaskRunner; warmupPromise: Promise<unknown>; } export declare const createMetricsTaskRunner: (numOfTasks: number, encoding: TokenEncoding) => MetricsTaskRunnerWithWarmup; declare const defaultDeps: { calculateFileMetrics: (processedFiles: ProcessedFile[], targetFilePaths: string[], tokenCounterEncoding: TokenEncoding, progressCallback: RepomixProgressCallback, deps: { taskRunner: MetricsTaskRunner; }) => Promise<import("./workers/types.js").FileMetrics[]>; calculateOutputMetrics: (content: string, encoding: TokenEncoding, path: string | undefined, deps: { taskRunner: MetricsTaskRunner; }) => Promise<number>; calculateGitDiffMetrics: (config: RepomixConfigMerged, gitDiffResult: GitDiffResult | undefined, deps: { taskRunner: MetricsTaskRunner; }) => Promise<number>; calculateGitLogMetrics: (config: RepomixConfigMerged, gitLogResult: GitLogResult | undefined, deps: { taskRunner: MetricsTaskRunner; }) => Promise<{ gitLogTokenCount: number; }>; taskRunner: MetricsTaskRunner | undefined; }; export declare const extractOutputWrapper: (output: string, processedFilesInOutputOrder: ReadonlyArray<ProcessedFile>) => string | null; export declare const canUseFastOutputTokenPath: (config: RepomixConfigMerged) => boolean; export declare const calculateMetrics: (processedFiles: ProcessedFile[], outputPromise: Promise<string | string[]>, progressCallback: RepomixProgressCallback, config: RepomixConfigMerged, gitDiffResult: GitDiffResult | undefined, gitLogResult: GitLogResult | undefined, overrideDeps?: Partial<typeof defaultDeps>) => Promise<CalculateMetricsResult>; export {};