feat(diff-processor): Improve diff sampling and file prioritization: increase inclusion thresholds, expand sampled context, and boost priority for interface/type and entry-point files
This commit is contained in:
@@ -1,5 +1,13 @@
|
||||
# Changelog
|
||||
|
||||
## 2025-12-02 - 1.10.0 - feat(diff-processor)
|
||||
Improve diff sampling and file prioritization: increase inclusion thresholds, expand sampled context, and boost priority for interface/type and entry-point files
|
||||
|
||||
- Raise small/medium file thresholds used by DiffProcessor (smallFileLines 50 -> 300, mediumFileLines 200 -> 800) so more source files are included fully or summarized rather than treated as large metadata-only files
|
||||
- Increase sample window for medium files (sampleHeadLines/sampleTailLines 20 -> 75) to provide more context when summarizing diffs
|
||||
- Boost importance scoring for interfaces/type files and entry points (adds +20 for interfaces/.types and +15 for index/mod entry files) to prioritize critical API surface in diff processing
|
||||
- Keep other prioritization rules intact (source/test/config/docs/build heuristics), and align the aidoc commit DiffProcessor usage with the new defaults
|
||||
|
||||
## 2025-11-04 - 1.9.2 - fix(deps)
|
||||
Update dependencies and devDependencies to newer versions (bump multiple packages)
|
||||
|
||||
|
||||
@@ -3,6 +3,6 @@
|
||||
*/
|
||||
export const commitinfo = {
|
||||
name: '@git.zone/tsdoc',
|
||||
version: '1.9.2',
|
||||
version: '1.10.0',
|
||||
description: 'A comprehensive TypeScript documentation tool that leverages AI to generate and enhance project documentation, including dynamic README creation, API docs via TypeDoc, and smart commit message generation.'
|
||||
}
|
||||
|
||||
@@ -92,10 +92,10 @@ export class Commit {
|
||||
// Use DiffProcessor to intelligently handle large diffs
|
||||
const diffProcessor = new DiffProcessor({
|
||||
maxDiffTokens: 100000, // Reserve 100k tokens for diffs
|
||||
smallFileLines: 50, // Include files <= 50 lines fully
|
||||
mediumFileLines: 200, // Summarize files <= 200 lines
|
||||
sampleHeadLines: 20, // Show first 20 lines
|
||||
sampleTailLines: 20, // Show last 20 lines
|
||||
smallFileLines: 300, // Most source files are under 300 lines
|
||||
mediumFileLines: 800, // Only very large files get head/tail treatment
|
||||
sampleHeadLines: 75, // When sampling, show more context
|
||||
sampleTailLines: 75, // When sampling, show more context
|
||||
});
|
||||
|
||||
const processedDiff = diffProcessor.processDiffs(diffStringArray);
|
||||
|
||||
@@ -239,8 +239,20 @@ export class DiffProcessor {
|
||||
return 10;
|
||||
}
|
||||
|
||||
// Everything else - default priority
|
||||
return 50;
|
||||
// Start with default priority
|
||||
let score = 50;
|
||||
|
||||
// Boost interface/type files - they're usually small but critical
|
||||
if (filepath.includes('interfaces/') || filepath.includes('.types.')) {
|
||||
score += 20;
|
||||
}
|
||||
|
||||
// Boost entry points
|
||||
if (filepath.endsWith('index.ts') || filepath.endsWith('mod.ts')) {
|
||||
score += 15;
|
||||
}
|
||||
|
||||
return score;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user