UNPKG

@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
/** * 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; }