@entro314labs/ai-changelog-generator
Version:
AI-powered changelog generator with MCP server support - works with most providers, online and local models
99 lines (98 loc) • 3.57 kB
TypeScript
/**
* Interactive Workflow Service
*
* Interactive workflow management and commit message utilities
* Provides user interaction features including:
* - Interactive mode for guided changelog generation
* - Commit message validation and suggestions
* - Commit selection interfaces
* - Change analysis for commit message generation
*/
export declare class InteractiveWorkflowService {
[key: string]: any;
constructor(gitService: any, aiAnalysisService: any, changelogService: any);
runInteractiveMode(): Promise<{
action: string | symbol;
timestamp: string;
}>;
validateCommitMessage(message: any): Promise<{
valid: boolean;
issues: string[];
suggestions: string[];
score?: undefined;
} | {
valid: boolean;
issues: any[];
suggestions: any[];
score: number;
}>;
generateCommitSuggestion(message?: any): Promise<{
success: boolean;
original: any;
suggestions: any[];
context: string;
error?: undefined;
fallback?: undefined;
} | {
original?: undefined;
suggestions?: undefined;
context?: undefined;
success: boolean;
error: any;
fallback: {
success: boolean;
suggestions: any[];
source: string;
};
} | {
success: boolean;
suggestions: any[];
source: string;
}>;
analyzeChangesForCommitMessage(changes: any, includeScope?: boolean): string;
generateChangelogForCommitHashes(commitHashes: any): Promise<{
changelog: any;
insights: any;
analyzedCommits: any;
requestedCommits: any;
processedCommits: any;
} | null>;
selectSpecificCommits(): Promise<string[]>;
generateChangelogForRecentCommits(count?: number): Promise<any>;
/**
* Resolve user-supplied commit references into full commit SHAs.
*
* Accepts (C-6):
* - full or short hashes (e.g. `a1b2c3d`)
* - symbolic refs (e.g. `HEAD~2`, `main`, tags like `v1.2.0`)
* - ranges (e.g. `v1.0.0..v2.0.0`, `HEAD~5..HEAD`), expanded to every commit in range
*
* Each non-range ref is verified with `git rev-parse --verify <ref>^{commit}` so
* that short hashes and tags resolve to a full SHA the analysis pipeline accepts
* (its hash validator only admits 6-40 char hex, which would otherwise reject
* tags/symbolic refs). Invalid refs are warned about and skipped. Order is
* preserved and duplicates removed.
*/
resolveCommitRefs(refs: any): string[];
generateChangelogForCommits(commitHashes: any, options?: Record<string, any>): Promise<{
changelog: any;
insights: any;
analyzedCommits: any;
requestedCommits: any;
processedCommits: any;
} | null>;
categorizeChanges(changes: any): {
[k: string]: any;
};
getFileCategory(filePath: any): "configuration" | "documentation" | "other" | "source" | "styles" | "tests";
extractScopes(changes: any): any[];
parseCommitSuggestions(content: any): any[];
generateRuleBasedCommitSuggestion(message: any, context: any): {
success: boolean;
suggestions: any[];
source: string;
};
improveCommitMessage(message: any): any;
generateFromContext(context: any): "chore: update configuration" | "docs: update documentation" | "feat: implement changes" | "fix: resolve issue" | "test: add test coverage";
displayInteractiveResults(results: any): void;
}