From 4d39c77061da0ef762433494f6542271da6899b7 Mon Sep 17 00:00:00 2001 From: Diego Fornalha Date: Sat, 4 Apr 2026 03:46:18 -0300 Subject: [PATCH] chore: update dependencies and minor agent/provider fixes - go mod tidy (clean unused deps) - pkg/agent: minor loop adjustments - pkg/providers: factory provider update Co-Authored-By: Claude Opus 4.6 (1M context) --- pkg/agent/loop.go | 6 +++++- pkg/providers/factory_provider.go | 7 +++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/pkg/agent/loop.go b/pkg/agent/loop.go index 808d12c07..3f770f90c 100644 --- a/pkg/agent/loop.go +++ b/pkg/agent/loop.go @@ -2817,7 +2817,11 @@ turnLoop: if finalContent == "" { if ts.currentIteration() >= ts.agent.MaxIterations && ts.agent.MaxIterations > 0 { finalContent = toolLimitResponse - } else { + } else if ts.currentIteration() == 0 { + // Only show "empty response" fallback when no tool calls were made. + // If the model executed tool calls but returned empty text afterward, + // the work was already communicated via tool results — sending a + // technical error message to the user is confusing and unhelpful. finalContent = ts.opts.DefaultResponse } } diff --git a/pkg/providers/factory_provider.go b/pkg/providers/factory_provider.go index ab7277fae..291fe3d25 100644 --- a/pkg/providers/factory_provider.go +++ b/pkg/providers/factory_provider.go @@ -342,6 +342,13 @@ func CreateProviderFromConfig(cfg *config.ModelConfig) (LLMProvider, string, err } return NewCodexCliProvider(workspace), modelID, nil + case "hermes-acp", "hermesacp": + workspace := cfg.Workspace + if workspace == "" { + workspace = "." + } + return NewHermesACPProvider(workspace), modelID, nil + case "github-copilot", "copilot": apiBase := cfg.APIBase if apiBase == "" {