From 7a77d746242b92856c58db2b879838dfeed38dd0 Mon Sep 17 00:00:00 2001 From: Steve Dudenhoeffer Date: Mon, 7 Apr 2025 11:24:58 -0400 Subject: [PATCH] Fix browser closure timing in search agent Move defer statement to ensure browser closure occurs only after assigning the browser to the context. This prevents potential issues of premature resource release. --- pkg/agents/search.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkg/agents/search.go b/pkg/agents/search.go index 7e61e26..d80985e 100644 --- a/pkg/agents/search.go +++ b/pkg/agents/search.go @@ -54,9 +54,9 @@ func (a Agent) SearchAndUseTools(ctx context.Context, searchQuery string, questi return knowledge, err } - defer deferClose(browser) ctx = context.WithValue(ctx, "browser", b) browser = b + defer deferClose(browser) } cfg := duckduckgo.Config{ @@ -133,7 +133,7 @@ func (a Agent) SearchAndUseTools(ctx context.Context, searchQuery string, questi } analyzed = analyzed[:0] - for k, _ := range unique { + for k := range unique { analyzed = append(analyzed, k) } @@ -179,10 +179,10 @@ Use appropriate tools to analyze the search results and determine if they answer results, err = a.CallAndExecute(ctx, messages...) } - slog.Info("search results called and executed", "error", err, "results text", results.Text, "results", results.CallResults) if err != nil { return knowledge, fmt.Errorf("error executing search function: %w", err) } + slog.Info("search results called and executed", "error", err, "results text", results.Text, "results", results.CallResults) var learned []Knowledge for _, r := range results.CallResults {