repomix
Version:
A tool to pack repository contents to single file for AI consumption
39 lines (38 loc) • 1.74 kB
TypeScript
import type { RepomixConfigMerged } from '../../config/configSchema.js';
import type { RepomixProgressCallback } from '../../shared/types.js';
import type { FilesByRoot } from '../file/fileTreeGenerate.js';
import type { ProcessedFile } from '../file/fileTypes.js';
import type { GitDiffResult } from '../git/gitDiffHandle.js';
import type { GitLogResult } from '../git/gitLogHandle.js';
import type { generateOutput } from './outputGenerate.js';
export interface OutputSplitGroup {
rootEntry: string;
processedFiles: ProcessedFile[];
allFilePaths: string[];
}
export interface OutputSplitPart {
index: number;
filePath: string;
content: string;
byteLength: number;
groups: OutputSplitGroup[];
}
export type GenerateOutputFn = typeof generateOutput;
export declare const getRootEntry: (relativeFilePath: string) => string;
export declare const buildOutputSplitGroups: (processedFiles: ProcessedFile[], allFilePaths: string[]) => OutputSplitGroup[];
export declare const buildSplitOutputFilePath: (baseFilePath: string, partIndex: number) => string;
export declare const generateSplitOutputParts: ({ rootDirs, baseConfig, processedFiles, allFilePaths, maxBytesPerPart, gitDiffResult, gitLogResult, progressCallback, filePathsByRoot, emptyDirPaths, deps, }: {
rootDirs: string[];
baseConfig: RepomixConfigMerged;
processedFiles: ProcessedFile[];
allFilePaths: string[];
maxBytesPerPart: number;
gitDiffResult: GitDiffResult | undefined;
gitLogResult: GitLogResult | undefined;
progressCallback: RepomixProgressCallback;
filePathsByRoot?: FilesByRoot[];
emptyDirPaths?: string[];
deps: {
generateOutput: GenerateOutputFn;
};
}) => Promise<OutputSplitPart[]>;