From f47ec78e1ed7e0da378cb702507eff6e682e0868 Mon Sep 17 00:00:00 2001 From: reusu Date: Mon, 30 Mar 2026 17:58:17 +0800 Subject: [PATCH] fix: preallocate slice in tests and add ResponseHandled guard in toolloop Fix prealloc linter failure in load_image_test.go. Prevent double-resolving media by checking ResponseHandled in toolloop.go. --- pkg/tools/load_image_test.go | 2 +- pkg/tools/toolloop.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/tools/load_image_test.go b/pkg/tools/load_image_test.go index 9d7012357..91118f93e 100644 --- a/pkg/tools/load_image_test.go +++ b/pkg/tools/load_image_test.go @@ -124,7 +124,7 @@ func TestLoadImage_SuccessPath(t *testing.T) { 0xAE, 0x42, 0x60, 0x82, // CRC } - var pngData []byte + pngData := make([]byte, 0, len(pngSignature)+len(ihdr)+len(iend)) pngData = append(pngData, pngSignature...) pngData = append(pngData, ihdr...) pngData = append(pngData, iend...) diff --git a/pkg/tools/toolloop.go b/pkg/tools/toolloop.go index d6966867f..ac568f598 100644 --- a/pkg/tools/toolloop.go +++ b/pkg/tools/toolloop.go @@ -190,7 +190,7 @@ func RunToolLoop( Content: contentForLLM, ToolCallID: r.tc.ID, } - if len(r.result.Media) > 0 { + if len(r.result.Media) > 0 && !r.result.ResponseHandled { toolMsg.Media = append(toolMsg.Media, r.result.Media...) } messages = append(messages, toolMsg)