rxcc
Version:
A tool to pack repository contents to single file for AI consumption
60 lines • 4.89 kB
TypeScript
import type { RepomixConfigMerged } from "../config/configSchema.js";
import type { RepomixProgressCallback } from "../shared/types.js";
import { FileSearchResult } from "./file/fileSearch.js";
import type { RawFile } from "./file/fileTypes.js";
import type { SuspiciousFileResult } from "./security/securityCheck.js";
export interface PackResult {
totalFiles: number;
totalCharacters: number;
totalTokens: number;
fileCharCounts: Record<string, number>;
fileTokenCounts: Record<string, number>;
fileLineCounts: Record<string, number>;
totalLines: number;
suspiciousFilesResults: SuspiciousFileResult[];
}
export declare const pack: (rootDirs: string[], config: RepomixConfigMerged, progressCallback?: RepomixProgressCallback, deps?: {
searchFiles: (rootDir: string, config: RepomixConfigMerged) => Promise<FileSearchResult>;
collectFiles: (filePaths: string[], rootDir: string, progressCallback?: RepomixProgressCallback, deps?: {
initTaskRunner: (numOfTasks: number) => (task: import("./file/workers/fileCollectWorker.js").FileCollectTask) => Promise<any>;
}) => Promise<RawFile[]>;
processFiles: (rawFiles: RawFile[], config: RepomixConfigMerged, progressCallback: RepomixProgressCallback, deps?: {
initTaskRunner: (numOfTasks: number) => (task: import("./file/workers/fileProcessWorker.js").FileProcessTask) => Promise<any>;
getFileManipulator: (filePath: string) => import("./file/fileManipulate.js").FileManipulator | null;
}) => Promise<import("./file/fileTypes.js").ProcessedFile[]>;
generateOutput: (rootDirs: string[], config: RepomixConfigMerged, processedFiles: import("./file/fileTypes.js").ProcessedFile[], allFilePaths: string[], deps?: {
buildOutputGeneratorContext: (rootDirs: string[], config: RepomixConfigMerged, allFilePaths: string[], processedFiles: import("./file/fileTypes.js").ProcessedFile[]) => Promise<import("./output/outputGeneratorTypes.js").OutputGeneratorContext>;
generateHandlebarOutput: (config: RepomixConfigMerged, renderContext: import("./output/outputGeneratorTypes.js").RenderContext) => Promise<string>;
generateParsableXmlOutput: (renderContext: import("./output/outputGeneratorTypes.js").RenderContext) => Promise<string>;
sortOutputFiles: (files: import("./file/fileTypes.js").ProcessedFile[], config: RepomixConfigMerged, deps?: {
getFileChangeCount: (directory: string, maxCommits?: number, deps?: {
execFileAsync: typeof import("child_process").execFile.__promisify__;
}) => Promise<Record<string, number>>;
isGitInstalled: (deps?: {
execFileAsync: typeof import("child_process").execFile.__promisify__;
}) => Promise<boolean>;
}) => Promise<import("./file/fileTypes.js").ProcessedFile[]>;
}) => Promise<string>;
validateFileSafety: (rawFiles: RawFile[], progressCallback: RepomixProgressCallback, config: RepomixConfigMerged, deps?: {
runSecurityCheck: (rawFiles: RawFile[], progressCallback?: RepomixProgressCallback, deps?: {
initTaskRunner: (numOfTasks: number) => (task: import("./security/workers/securityCheckWorker.js").SecurityCheckTask) => Promise<any>;
}) => Promise<SuspiciousFileResult[]>;
filterOutUntrustedFiles: (rawFiles: RawFile[], suspiciousFilesResults: SuspiciousFileResult[]) => RawFile[];
}) => Promise<{
safeRawFiles: RawFile[];
safeFilePaths: string[];
suspiciousFilesResults: SuspiciousFileResult[];
}>;
writeOutputToDisk: (output: string, config: RepomixConfigMerged) => Promise<undefined>;
copyToClipboardIfEnabled: (output: string, progressCallback: RepomixProgressCallback, config: RepomixConfigMerged) => Promise<undefined>;
calculateMetrics: (processedFiles: import("./file/fileTypes.js").ProcessedFile[], output: string, progressCallback: RepomixProgressCallback, config: RepomixConfigMerged, deps?: {
calculateAllFileMetrics: (processedFiles: import("./file/fileTypes.js").ProcessedFile[], tokenCounterEncoding: import("tiktoken").TiktokenEncoding, progressCallback: RepomixProgressCallback, deps?: {
initTaskRunner: (numOfTasks: number) => (task: import("./metrics/workers/fileMetricsWorker.js").FileMetricsTask) => Promise<any>;
}) => Promise<import("./metrics/workers/types.js").FileMetrics[]>;
calculateOutputMetrics: (content: string, encoding: import("tiktoken").TiktokenEncoding, path?: string, deps?: {
initTaskRunner: (numOfTasks: number) => (task: import("./metrics/workers/outputMetricsWorker.js").OutputMetricsTask) => Promise<any>;
}) => Promise<number>;
}) => Promise<import("./metrics/calculateMetrics.js").CalculateMetricsResult>;
sortPaths: (filePaths: string[]) => string[];
}) => Promise<PackResult>;
//# sourceMappingURL=packager.d.ts.map