repomix
Version:
A tool to pack repository contents to single file for AI consumption
35 lines (34 loc) • 1.15 kB
JavaScript
import { logger } from '../../shared/logger.js';
import { runTokenCount } from './metricsWorkerRunner.js';
export const calculateGitLogMetrics = async (config, gitLogResult, deps) => {
if (!config.output.git?.includeLogs || !gitLogResult) {
return {
gitLogTokenCount: 0,
};
}
if (!gitLogResult.logContent) {
return {
gitLogTokenCount: 0,
};
}
try {
const startTime = process.hrtime.bigint();
logger.trace('Starting git log token calculation using worker');
const result = await runTokenCount(deps.taskRunner, {
content: gitLogResult.logContent,
encoding: config.tokenCount.encoding,
});
const endTime = process.hrtime.bigint();
const duration = Number(endTime - startTime) / 1e6;
logger.trace(`Git log token calculation completed in ${duration.toFixed(2)}ms`);
return {
gitLogTokenCount: result,
};
}
catch (error) {
logger.error('Failed to calculate git log metrics:', error);
return {
gitLogTokenCount: 0,
};
}
};