import type { CommitMessage } from '../../domain/entity/commit-message.entity'; import type { LLMConfiguration } from '../../domain/entity/llm-configuration.entity'; /** * Context for generating commit messages */ export interface ILlmPromptContext { body?: { description?: string; }; diff?: string; files?: string; rules?: Record; scopeDescription?: string; subject: { description?: string; maxLength?: number; minLength?: number; }; typeDescription?: string; typeDescriptions?: Record; typeEnum?: Array; } /** * Interface for LLM services */ export interface ILlmService { /** * Generate a commit message using the LLM * @param context - The context for generating the commit message * @param configuration - The LLM configuration * @returns Promise resolving to the generated commit message */ generateCommitMessage(context: ILlmPromptContext, configuration: LLMConfiguration): Promise; }