diff --git a/internal/domain/ports/ai_service.go b/internal/domain/ports/ai_service.go index 5e9658f..4e5b21f 100644 --- a/internal/domain/ports/ai_service.go +++ b/internal/domain/ports/ai_service.go @@ -5,7 +5,9 @@ import ( "github.com/Tomas-vilte/MateCommit/internal/domain/models" ) -type AIProvider interface { +// CommitSummarizer es una interfaz que define el servicio para generar sugerencias de commits. +type CommitSummarizer interface { + //GenerateSuggestions genera una lista de sugerencias de mensajes de commit. GenerateSuggestions(ctx context.Context, info models.CommitInfo, count int) ([]models.CommitSuggestion, error) } diff --git a/internal/i18n/locales/active.en.toml b/internal/i18n/locales/active.en.toml index 9b61a39..e591439 100644 --- a/internal/i18n/locales/active.en.toml +++ b/internal/i18n/locales/active.en.toml @@ -170,6 +170,7 @@ pr_changes_section = "Key Changes" error_gemini_client = "Error creating Gemini client: {{.Error}}" response_empty = "Empty AI response" title_not_found = "The title was not found in the answer" +error_empty_prompt = "The prompt cannot be empty" [suggestion_header] other = "=========[ Suggestion {{.Number}} ]=========" diff --git a/internal/i18n/locales/active.es.toml b/internal/i18n/locales/active.es.toml index ccb9499..5fd711f 100644 --- a/internal/i18n/locales/active.es.toml +++ b/internal/i18n/locales/active.es.toml @@ -38,7 +38,7 @@ other = "❌ Error al iniciar Gemini: {{.Error}}" other = "🔍 Analizando cambios..." [error_missing_api_key] -other = "La variable de entorno, GEMINI_API_KEY no esta configurada" +other = "La GEMINI_API_KEY no está configurada" [error_generating_content] other = "Error generando el contenido: {{.Error}}" @@ -178,6 +178,7 @@ pr_changes_section = "Cambios Clave" error_gemini_client = "Error al crear el cliente de Gemini: {{.Error}}" response_empty = "Respuesta de la IA vacia" title_not_found = "No se encontro el titulo en la respuesta" +error_empty_prompt = "El prompt no puede estar vacio" [suggestion_header] other = "=========[ Sugerencias {{.Number}} ]=========" diff --git a/internal/infrastructure/ai/gemini/gemini_pr_summarizer_service.go b/internal/infrastructure/ai/gemini/gemini_pr_summarizer_service.go index d6633d4..b561f62 100644 --- a/internal/infrastructure/ai/gemini/gemini_pr_summarizer_service.go +++ b/internal/infrastructure/ai/gemini/gemini_pr_summarizer_service.go @@ -47,7 +47,7 @@ func NewGeminiPRSummarizer(ctx context.Context, cfg *config.Config, trans *i18n. func (gps *GeminiPRSummarizer) GeneratePRSummary(ctx context.Context, prompt string) (models.PRSummary, error) { if prompt == "" { - msg := gps.trans.GetMessage("error_empty_prompt", 0, nil) + msg := gps.trans.GetMessage("gemini_service.error_empty_prompt", 0, nil) return models.PRSummary{}, fmt.Errorf("%s", msg) } diff --git a/internal/services/commit_service.go b/internal/services/commit_service.go index 3c9553b..f9f173a 100644 --- a/internal/services/commit_service.go +++ b/internal/services/commit_service.go @@ -12,13 +12,13 @@ import ( type CommitService struct { git ports.GitService - ai ports.AIProvider + ai ports.CommitSummarizer ticketManager ports.TickerManager config *config.Config trans *i18n.Translations } -func NewCommitService(git ports.GitService, ai ports.AIProvider, ticketManager ports.TickerManager, cfg *config.Config, trans *i18n.Translations) *CommitService { +func NewCommitService(git ports.GitService, ai ports.CommitSummarizer, ticketManager ports.TickerManager, cfg *config.Config, trans *i18n.Translations) *CommitService { return &CommitService{ git: git, ai: ai,